
:root{--bg:#f7f4ee;--paper:#fffdf9;--ink:#1f2328;--muted:#6b6257;--line:#e5dccd;--green:#0b7a63;--blue:#235b9f;--red:#b84d4d;--gold:#a87b00;--soft:#faf6ef;--shadow:0 12px 32px rgba(54,38,18,.08);--radius:18px}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f7f4ee,#fbfaf7 65%,#eee6d8);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans SC","PingFang SC",Arial,sans-serif;color:var(--ink);line-height:1.65}header{position:sticky;top:0;background:rgba(247,244,238,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:20}.nav{max-width:1320px;margin:auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{font-weight:950}.brand span{color:var(--green)}.mini,.small{color:var(--muted);font-size:13px}main{max-width:1320px;margin:auto;padding:20px 18px 80px}.panel{background:rgba(255,253,249,.98);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin:18px 0}.compactHero h1{margin:0 0 8px;font-size:32px;letter-spacing:.2px}.lead{color:var(--muted);margin:0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.cleanToolbar{align-items:center}.btn,select,input{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;font:inherit}.btn{cursor:pointer;font-weight:800;text-decoration:none;color:var(--ink)}.btn.active{background:var(--green);color:#fff;border-color:var(--green)}.linkBtn{display:inline-flex;align-items:center}.search{min-width:280px;flex:1}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.stats.slim .stat{padding:12px}.stat{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:14px}.stat .num{font-size:24px;font-weight:950;color:var(--green)}h2{margin:0 0 8px}.sectionHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.principles div{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:14px}.principles b{display:block;color:var(--green);margin-bottom:4px}.principles span{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cleanCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(42,31,18,.05)}.cardHead{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.meta{font-size:12px;color:var(--muted)}.pill{display:inline-block;border-radius:999px;background:#efe7d8;padding:4px 9px;font-size:12px;font-weight:800;margin:2px}.pill.ready{background:#e8f5f0;color:#096853}.pill.source{background:#eef5ff;color:#235b9f}.question{font-weight:720;margin:8px 0 12px;font-size:16px;white-space:pre-wrap}.blockTitle{font-size:12px;letter-spacing:.08em;color:var(--muted);font-weight:900;text-transform:uppercase;margin:14px 0 6px}.options{background:#faf7f1;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0}.option{padding:4px 0;border-bottom:1px dashed rgba(0,0,0,.08)}.option:last-child{border-bottom:0}.sourceBox{border-left:4px solid var(--green);background:#f3fbf7;border-radius:12px;padding:12px 14px;margin:8px 0;white-space:pre-wrap}.answerBox{background:#fbf3e2;border:1px solid #ecd7b3;border-radius:12px;padding:12px 14px;margin:8px 0}.answer{font-size:18px;font-weight:950;color:var(--green)}.pairs{margin-top:8px}.archivePanel{background:#fffefb}.archiveList{display:grid;grid-template-columns:1fr;gap:10px}.archiveItem{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.archiveItem.todo{border-left:5px solid var(--red)}.archiveItem.review{border-left:5px solid var(--gold)}.archiveItem.ready{border-left:5px solid var(--green)}details summary{cursor:pointer;font-weight:850;color:var(--blue)}.rawText{white-space:pre-wrap;background:#fafafa;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px;max-height:260px;overflow:auto;color:#3b3b3b}.sourceText{white-space:pre-wrap;background:#f3fbf7;border:1px solid #d9eee7;border-radius:12px;padding:10px;margin-top:8px;max-height:260px;overflow:auto}.empty{border:1px dashed var(--line);border-radius:14px;padding:20px;color:var(--muted);background:#fff}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:980px){.cards,.principles,.stats{grid-template-columns:1fr}.compactHero h1{font-size:26px}.search{min-width:100%}}

/* v66.4 GitHub practice refinements */
.compactHero h1{margin-bottom:8px}.routePanel .principles div{min-height:96px}.cleanToolbar select,.cleanToolbar input{min-height:40px}.strategy{border:1px solid #dbeafe;border-radius:14px;padding:12px 14px;margin:12px 0;background:#eff6ff;color:#1e3a8a;display:flex;gap:10px;align-items:flex-start}.strategy.reading{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.strategy b{min-width:72px}.strategy span{line-height:1.55}.groupBox{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;line-height:1.55}.practiceHint{font-size:13px;color:#64748b;margin:10px 0 2px}.answerDetails{border:1px solid #e5e7eb;border-radius:14px;margin-top:12px;background:#fff}.answerDetails>summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#0f172a}.answerDetails[open]>summary{border-bottom:1px solid #e5e7eb}.answerDetails .blockTitle,.answerDetails .answerLine,.answerDetails .sourceBox,.answerDetails .answerBox{margin-left:16px;margin-right:16px}.answerLine{padding:8px 0}.answer{font-size:18px;font-weight:800;color:#b91c1c}.pageShots{border:1px dashed #cbd5e1;border-radius:14px;padding:0;margin:12px 0;background:#fcfcfd}.pageShots>summary{cursor:pointer;padding:12px 14px;font-weight:700;color:#334155}.shotGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:12px;border-top:1px dashed #cbd5e1}.shotGrid img{width:100%;height:auto;border:1px solid #e2e8f0;border-radius:10px;background:white;box-shadow:0 2px 10px rgba(15,23,42,.08)}.sourceBox{white-space:pre-wrap}.cards.cleanCards{gap:18px}.cleanCard{border:1px solid #e5e7eb}.question{font-size:17px;line-height:1.6}.options{line-height:1.55}.pill.source{white-space:normal}.toolbar .btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:720px){.shotGrid{grid-template-columns:1fr}.strategy{display:block}.strategy b{display:block;margin-bottom:4px}}

/* v66.5: answer input + compact evidence + OCR after analysis */
.principles.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.practiceBox{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:12px 14px;margin:14px 0}
.practiceBox label{display:block;font-weight:850;color:#1e3a8a;margin-bottom:6px}
.practiceRow{display:flex;gap:8px;align-items:center}
.answerInput{flex:1;min-width:0;background:#fff}
.feedback{display:none;margin-top:8px;border-radius:10px;padding:8px 10px;background:#fff;border:1px dashed #cbd5e1;color:#334155}
.okText{color:#047857;font-weight:900}.badText{color:#b91c1c;font-weight:900}
.answerDetails .pageShots{margin:14px 16px 16px}.answerDetails .pageShots>summary{color:#64748b}.answerDetails .shotGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(max-width:980px){.principles.three{grid-template-columns:1fr}.practiceRow{flex-direction:column;align-items:stretch}.practiceRow .btn{width:100%}}

/* v66.6: show evidence sentence before answer; one-card-one-question listening practice */
.sourceForPractice{border-left-color:#0b7a63;background:#eefaf5;font-size:15px}
.audioBox{border:1px solid #e0e7ff;background:#f8faff;border-radius:14px;padding:12px 14px;margin:12px 0;color:#334155}
.audioBox b{color:#1e3a8a}.audioBox span{font-size:13px;color:#64748b}.audioBox audio{width:100%;margin-top:8px;display:block}
.cleanCard .pill.ready{background:#e8f5f0;color:#096853}
.practiceHint{font-size:13px;color:#475569;margin:10px 0 2px}

/* v66.9 evidence flow */
.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.mutedStat .num{color:#9a6b00}.pill.review{background:#fff7ed;color:#9a3412}.pill.todo{background:#fee2e2;color:#991b1b}.cleanCard.review{border-left:5px solid #f59e0b}.flowBox{border:1px solid #dbeafe;background:#f8fbff;border-radius:14px;padding:12px 14px;margin:12px 0}.flowBox b{display:block;margin-bottom:6px;color:#1e3a8a}.flowBox ol{margin:0;padding-left:20px}.flowBox li{margin:3px 0}.readFlow{border-color:#bbf7d0;background:#f0fdf4}.readFlow b{color:#166534}.listenFlow{border-color:#c7d2fe;background:#eef2ff}.answerDetails.hidden{display:none}.answerDetails{border:1px solid #e5e7eb;border-radius:14px;margin-top:12px;background:#fff;padding:0 0 14px}.answerHeader{font-weight:900;padding:14px 16px;border-bottom:1px solid #e5e7eb;background:#f8fafc;border-radius:14px 14px 0 0}.answerDetails .blockTitle,.answerDetails .answerLine,.answerDetails .answerBox{margin-left:16px;margin-right:16px}.sourceForPractice{font-size:15.5px;line-height:1.7}.practiceHint{color:#475569}.pageShots{margin:14px 16px 0}@media(max-width:980px){.stats{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}

.examFlowGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}.examFlowBox{border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:16px;background:rgba(255,255,255,.72)}.examFlowBox h3{margin:0 0 8px}.examFlowBox ol{margin:0;padding-left:22px}.examFlowBox li{margin:6px 0;line-height:1.55}@media(max-width:800px){.examFlowGrid{grid-template-columns:1fr}}

.auditWarn{margin:10px 0;padding:8px 10px;border:1px solid #f4c7c7;background:#fff7f7;border-radius:10px;color:#7a1f1f;font-size:13px;}

.caution{margin:6px 0;color:#7a5b00;background:#fff8e1;border:1px solid #f3d37a;border-radius:8px;padding:6px 8px;}

/* v66.15 smart evidence */
.evidencePolicyPanel .examFlowBox p{margin:0;color:#475569}.evidencePolicyPanel b{color:#0f766e}.sourceForPractice{max-height:none}.sourceBox{font-size:15px}.cleanCard .sourceBox{line-height:1.75}
