/* Evergreen / ink / warm paper. Standalone tokens; no framework or font CDN. */
body.fx-active{--bg:#f4f3ee;--paper:#fffefa;--ink:#172b32;--muted:#64746f;--line:#dce3dc;--green:#175d4c;--soft:#eaf2ec;--gold:#b29455;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
body.fx-active .shell{max-width:800px;padding:14px 22px 44px}
#focus-app{--pm-shadow:0 2px 5px #15382d04,0 12px 32px #15382d06;--pm-small-shadow:0 1px 2px #15382d0a;--pm-ease:cubic-bezier(.2,.75,.25,1);--pm-gold:#a1864f;--pm-gold-soft:#f5efdf;--pm-header:#143a34}
#focus-app .fx-root{--fx-ink:var(--ink);--fx-muted:var(--muted);--fx-paper:var(--paper);--fx-bg:var(--bg);--fx-line:var(--line);--fx-green:var(--green);--fx-soft:var(--soft);max-width:700px;font-family:system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;letter-spacing:-.022em;line-height:1.55}
#focus-app .fx-header{padding:10px 2px 18px;min-height:72px;gap:12px}
#focus-app .fx-brand{gap:10px;min-width:0}
#focus-app .fx-brand-mark{width:39px;height:39px;border-radius:13px;background:var(--pm-header);color:#e3eddd;box-shadow:0 3px 9px #0f36211a;display:grid;place-items:center;border:1px solid #ffffff1f}
#focus-app .fx-brand>div>span{font-size:9px;color:var(--fx-muted);font-weight:650;letter-spacing:.05em}
#focus-app .fx-brand strong{font-size:17px;color:var(--fx-ink);font-weight:780;letter-spacing:-.04em}
#focus-app .fx-header-tools{gap:5px}
#focus-app .fx-icon-button{width:38px;height:38px;min-width:38px;border:1px solid var(--fx-line);border-radius:12px;background:var(--fx-paper)}
#focus-app .fx-clock-button{font-size:11px;color:var(--fx-muted);gap:4px;min-height:38px;padding:5px 7px;border-radius:10px}
#focus-app .fx-navigation{background:var(--fx-paper);border:1px solid var(--fx-line);padding:5px;gap:4px;border-radius:16px;box-shadow:var(--pm-small-shadow);margin:0 0 14px!important;top:6px;z-index:8}
#focus-app .fx-navigation button{border-radius:11px;min-height:43px!important;font-size:12px!important;color:var(--fx-muted);transition:background 160ms,color 160ms,box-shadow 160ms;gap:6px}
#focus-app .fx-navigation button.is-active{color:#fffefa;background:var(--fx-green);box-shadow:0 3px 7px #173c2918;font-weight:750}
#focus-app .fx-navigation button svg{width:17px;height:17px;stroke-width:1.8}
#focus-app .course-bar{padding:2px 2px 9px;font-size:11px;gap:10px}
#focus-app .course-bar button{border-radius:9px;font-size:10px;min-height:31px;padding:5px 9px}
#focus-app :is(.fx-card,.dq-panel,.fx-panel,.rv-panel,.fx-settings-group,.course-finish){border-color:var(--fx-line);background:var(--fx-paper);box-shadow:var(--pm-shadow);border-radius:19px}
#focus-app .fx-study .fx-card,#focus-app .fx-explore .fx-card{border:1px solid var(--fx-line);border-top:2px solid var(--fx-green);padding:21px!important;box-shadow:var(--pm-shadow);border-radius:20px}
#focus-app .fx-card-face-label{color:var(--fx-green);font-weight:700;font-size:10px!important;letter-spacing:.015em;margin-bottom:15px!important}
#focus-app .subject-map-heading{margin-bottom:18px!important}
#focus-app .subject-map-heading h4{font-size:12px!important;font-weight:650;color:var(--fx-muted);margin-bottom:5px!important}
#focus-app .subject-map.names-only h4{font-size:21px!important;font-weight:780;color:var(--fx-ink)}
#focus-app .question-area{font-size:24px;line-height:1.4;font-weight:780;letter-spacing:-.045em;margin-bottom:7px}
#focus-app .subject-map-heading .question-instruction{font-size:11px!important;line-height:1.65!important;color:var(--fx-muted)}
#focus-app .subject-map .cs-table{border:1px solid var(--fx-line);border-radius:12px;overflow:hidden;border-collapse:separate;border-spacing:0;font-size:15px!important;line-height:1.7!important}
#focus-app .subject-map .cs-table th,#focus-app .subject-map .cs-table td{padding:10px 11px!important;border-right:0;border-bottom:1px solid var(--fx-line);line-height:1.7!important}
#focus-app .subject-map .cs-table tr:last-child>*{border-bottom:0}
#focus-app .subject-map .cs-table th{background:var(--fx-bg);font-size:11px;font-weight:650;color:var(--fx-muted)}
#focus-app .subject-map .cs-table .semantic-current-cell>td,#focus-app .subject-map .cs-table .subject-map-current>td{background:var(--fx-soft);font-weight:650;color:var(--fx-ink)}
#focus-app .subject-map .cs-table .context-row>td{color:var(--fx-muted)}
#focus-app .subject-map .cs-blank{border:1px solid var(--fx-green);border-bottom:2px solid var(--fx-green);border-radius:7px;min-width:70px;background:var(--fx-paper);box-shadow:0 1px 2px #1248310c;color:var(--fx-green);padding:2px 8px!important;line-height:1.45;white-space:normal;max-width:100%;overflow-wrap:anywhere}
#focus-app .subject-map .cs-blank b{opacity:.7;font-weight:650}
#focus-app .cs-table mark{background:var(--fx-soft);color:var(--fx-green);border-radius:4px;padding:2px 4px}
#focus-app .subject-map details>summary{color:var(--fx-muted);font-size:11px;min-height:36px}
#focus-app .science-check{background:var(--fx-paper)!important;border:1px solid var(--fx-line)!important;border-radius:16px!important;padding:15px!important;box-shadow:var(--pm-small-shadow)}
#focus-app .science-check label[for=science-answer]{font-size:12px;font-weight:700;color:var(--fx-ink)}
#focus-app input#science-answer,#focus-app .dq-form input{background:var(--fx-bg);border:1px solid var(--fx-line);border-radius:11px;padding:11px 13px;min-height:48px;font-size:16px!important;color:var(--fx-ink);transition:border-color 160ms,box-shadow 160ms}
#focus-app input#science-answer::placeholder,#focus-app .dq-form input::placeholder{color:var(--fx-muted);opacity:.85}
#focus-app input#science-answer:focus,#focus-app .dq-form input:focus{outline:0;border-color:var(--fx-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--fx-green) 13%,transparent)}
#focus-app :is(.fx-primary,.fx-secondary,.fx-rate,.dp-focus-primary){border-radius:11px;transition:transform 130ms var(--pm-ease),box-shadow 160ms,background 160ms;font-weight:700}
#focus-app .fx-primary{background:var(--fx-green);color:#fffefa;border:1px solid var(--fx-green);box-shadow:0 2px 5px #16473210}
#focus-app .fx-secondary{background:var(--fx-paper);color:var(--fx-ink);border:1px solid var(--fx-line);box-shadow:var(--pm-small-shadow)}
#focus-app .fx-rate{border-radius:13px!important;border:1px solid var(--fx-line);background:var(--fx-paper)}
#focus-app .fx-rate[data-fx-rate=known],#focus-app .fx-rate[data-fx-input-rate=known]{background:var(--fx-green);border-color:var(--fx-green);color:#fffefa}
#focus-app button:focus-visible,#focus-app summary:focus-visible{outline:3px solid var(--pm-gold);outline-offset:3px}
#focus-app :is(button,summary){-webkit-tap-highlight-color:transparent}
#focus-app button:not(:disabled):active{transform:translateY(1px)}
#focus-app button:disabled{box-shadow:none;opacity:.45}
#focus-app .daily-progress{border:1px solid var(--fx-line);border-radius:17px;background:var(--fx-paper);box-shadow:var(--pm-small-shadow);color:var(--fx-ink)}
#focus-app .daily-progress:not(.is-history){padding:13px 14px 8px;margin-bottom:13px}
#focus-app .dp-top{gap:13px!important}
#focus-app .dp-ring b{font-weight:780;letter-spacing:-.055em}
#focus-app .dp-ring small{font-size:9px;color:var(--fx-muted)}
#focus-app .dp-fill{stroke:var(--fx-green);stroke-width:5;transition:stroke-dashoffset 600ms var(--pm-ease)}
#focus-app .dp-track{stroke:var(--fx-soft)}
#focus-app .dp-title{font-size:12px;font-weight:750}
#focus-app .dp-title>span{border-radius:20px;font-size:9px;padding:3px 7px;background:var(--fx-soft);color:var(--fx-green);font-weight:600}
#focus-app .dp-summary p b{font-size:13px;font-weight:750}
#focus-app .dp-summary p{font-size:10px;color:var(--fx-muted)}
#focus-app .dp-blocks{height:5px;gap:3px;margin-top:6px}
#focus-app .dp-blocks>i{border-radius:2px;background:var(--fx-soft)}
#focus-app .dp-time-totals{margin-top:10px!important;padding-top:8px!important;font-size:10px;border-color:var(--fx-line);gap:6px}
#focus-app .dp-time-totals b{font-size:11px!important;font-weight:750}
#focus-app .dp-focus{background:var(--fx-bg);border:1px solid var(--fx-line);border-radius:11px;padding:9px 10px!important;margin-top:9px!important}
#focus-app .dp-focus-clock{font-size:23px!important;font-weight:720;letter-spacing:-.04em;color:var(--fx-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
#focus-app .dp-focus-main>div>span{font-size:9px!important;line-height:1.5;max-width:105px!important}
#focus-app .dp-focus button.dp-focus-primary{background:var(--fx-green);color:#fffefa;border:1px solid var(--fx-green);border-radius:8px;min-height:35px;font-size:10px;padding:7px 10px}
#focus-app .dp-focus-track{height:3px;border-radius:2px;background:var(--fx-line);margin-top:7px}
#focus-app .dp-focus-track i{background:var(--fx-green)}
#focus-app .dp-focus-settings>summary{font-size:9px;min-height:29px;padding:7px 0 3px}
#focus-app .dp-focus-choices button{border-radius:8px;min-height:36px}
#focus-app .dp-focus-choices button[aria-pressed=true]{background:var(--fx-soft);border-color:var(--fx-green)}
#focus-app .dp-details>summary{font-size:10px;padding:9px 0 3px!important;color:var(--fx-muted);min-height:30px}
#focus-app .dp-coach{font-size:10px!important;padding:4px 2px 0;line-height:1.6}
#focus-app .dp-route li{border-radius:9px;background:var(--fx-paper);font-size:10px}
#focus-app .dp-route .is-current{border-color:var(--fx-green);background:var(--fx-soft)}
#focus-app .dp-ten-blocks>i{border-radius:4px;background:var(--fx-bg);border-color:var(--fx-line)}
#focus-app .dp-ten-blocks>i>span{background:var(--fx-green)}
#focus-app .dp-day-detail,#focus-app .dp-rules{border-radius:12px}
#focus-app .dp-week button[aria-pressed=true]{background:var(--fx-soft);border-color:var(--fx-line)}
#focus-app .dp-day-column i{background:var(--fx-green);border-radius:5px 5px 2px 2px}
#focus-app .is-history .dp-focus-main>div{flex-direction:row;align-items:center;gap:12px}
#focus-app .fx-settings-group h3,#focus-app .fx-panel h3,#focus-app .rv-panel h3{font-size:16px;font-weight:750;letter-spacing:-.035em}
#focus-app .fx-choice{border-radius:12px;border:1px solid var(--fx-line);background:var(--fx-paper)}
#focus-app .fx-choice.is-selected{border-color:var(--fx-green);background:var(--fx-soft);box-shadow:0 0 0 1px var(--fx-green)}
#focus-app .fx-step-dots i.is-active{background:var(--fx-green)}
#focus-app .dq-heading h2,#focus-app .course-finish h2{font-size:26px;letter-spacing:-.055em;font-weight:780}
#focus-app .dq-feedback{border-radius:12px;background:var(--fx-soft);border:1px solid var(--fx-line)}
#focus-app .dq-feedback.is-miss{background:var(--pm-gold-soft);color:var(--fx-ink);border-color:color-mix(in srgb,var(--pm-gold) 30%,var(--fx-line))}
/* A finished reading/practice batch is not an independent-memory milestone. */
#focus-app .fv-spark{display:none!important}
#focus-app .pm-phase{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;border:1px solid var(--fx-line);border-radius:12px;background:var(--fx-paper);padding:10px 12px;margin:0 0 11px;color:var(--fx-ink);min-height:53px;overflow:hidden}
#focus-app .pm-phase-icon{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:var(--fx-soft);color:var(--fx-green);display:grid;place-items:center}
#focus-app .pm-phase-icon svg{width:17px;height:17px;stroke-width:1.7}
#focus-app .pm-phase-copy{min-width:0;flex:1}
#focus-app .pm-phase-copy strong{font-size:12px;font-weight:750;display:block;line-height:1.4}
#focus-app .pm-phase-copy small{display:block;color:var(--fx-muted);font-size:10px;line-height:1.55;margin-top:1px}
#focus-app .pm-phase-pips{display:flex;gap:4px;flex:0 0 auto;align-items:center}
#focus-app .pm-phase-pips i{width:5px;height:5px;background:var(--fx-line);border-radius:50%}
#focus-app .pm-phase-pips i.is-current{background:var(--fx-green);width:15px;border-radius:4px}
#focus-app .pm-phase[data-phase=repair] .pm-phase-icon{background:var(--pm-gold-soft);color:var(--pm-gold)}
#focus-app .pm-phase[data-phase=done]{border-color:var(--fx-green);background:var(--fx-soft)}
#focus-app .pm-evidence-badge{font-size:10px;color:var(--fx-green);display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:var(--fx-soft);margin:7px 0 0;font-weight:650;line-height:1.5}
#focus-app .pm-evidence-badge svg{width:13px;height:13px}
#focus-app .pm-focus-complete{isolation:isolate;position:relative;overflow:hidden;border-top:1px solid var(--fx-line);margin-top:9px;padding-top:10px;font-size:11px;color:var(--fx-ink);line-height:1.6}
#focus-app .pm-focus-complete strong{display:block;font-size:12px;color:var(--fx-green);font-weight:750}
#focus-app .pm-focus-complete p{font-size:10px!important;line-height:1.6!important;color:var(--fx-muted);margin:3px 0 0!important}
#focus-app .dp-focus:has(.pm-focus-complete) [data-dp=focus-notice]{display:none!important}
#focus-app .pm-celebration{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.8}
.pm-live-region{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html[data-theme=dark] body.fx-active{--bg:#101d20;--paper:#17282b;--ink:#edf1e9;--muted:#a5b6ad;--line:#314447;--green:#a9d5bf;--soft:#213d35;--gold:#d2b77b}
html[data-theme=dark] #focus-app{--pm-shadow:0 7px 24px #0000001c;--pm-small-shadow:0 1px 3px #00000020;--pm-gold:#d2b77b;--pm-gold-soft:#3d3726;--pm-header:#244b40}
html[data-theme=dark] #focus-app :is(.fx-primary,.dp-focus button.dp-focus-primary,.fx-navigation button.is-active,.fx-rate[data-fx-rate=known],.fx-rate[data-fx-input-rate=known]){color:#102b23}
html[data-theme=dark] #focus-app .fx-brand-mark{color:#d7ecdc}
@media(hover:hover){#focus-app .fx-navigation button:not(.is-active):hover{background:var(--fx-soft);color:var(--fx-green)}#focus-app :is(.fx-primary,.dp-focus-primary):not(:disabled):hover{filter:brightness(1.06);box-shadow:0 4px 12px #16473220}#focus-app .fx-secondary:not(:disabled):hover{background:var(--fx-soft)}}
@media(max-width:600px){body.fx-active .shell{padding:8px 14px 28px}#focus-app .fx-header{padding:8px 1px 14px;min-height:64px}#focus-app .fx-brand strong{font-size:16px}#focus-app .fx-navigation button{font-size:11px!important;gap:4px}#focus-app .fx-study .fx-card,#focus-app .fx-explore .fx-card{padding:17px!important}#focus-app .question-area{font-size:22px}#focus-app .subject-map .cs-table td{font-size:14px}#focus-app .pm-phase{padding:9px 11px;margin-bottom:10px}#focus-app .pm-phase-copy strong{font-size:11px}#focus-app .pm-phase-copy small{font-size:9px}}
@media(max-width:360px){body.fx-active .shell{padding:7px 10px 24px}#focus-app .fx-brand strong{font-size:14px}#focus-app .fx-brand-mark{width:34px;height:34px;border-radius:11px}#focus-app .fx-clock-button span{font-size:10px}#focus-app .fx-header-tools{gap:1px}#focus-app .fx-navigation button{font-size:10px!important;gap:4px}#focus-app .fx-navigation button svg{width:15px;height:15px}#focus-app .daily-progress:not(.is-history){padding:11px 11px 7px}#focus-app .dp-focus-main>div>span{max-width:76px!important;font-size:8px!important}#focus-app .dp-focus-clock{font-size:21px!important}#focus-app .dp-focus button.dp-focus-primary{font-size:9px;padding:6px 8px}#focus-app .dp-time-totals{font-size:9px}#focus-app .dp-time-totals b{font-size:10px!important}#focus-app .question-area{font-size:20px}#focus-app .subject-map .cs-table th,#focus-app .subject-map .cs-table td{padding:9px 8px!important}#focus-app .pm-phase-pips{display:none}}
@media(prefers-reduced-motion:reduce){#focus-app *,#focus-app *::before,#focus-app *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#focus-app button:not(:disabled):active{transform:none}#focus-app .pm-celebration{display:none!important}}
#focus-app[data-premium-motion=off] *,#focus-app[data-premium-motion=off] *::before,#focus-app[data-premium-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
#focus-app[data-premium-motion=off] button:not(:disabled):active{transform:none}
@media print{#focus-app .pm-phase,#focus-app .pm-focus-complete,#focus-app .pm-celebration{display:none}#focus-app .fx-card{box-shadow:none!important}}
