:root{color-scheme:dark;--bg:#10202a;--panel:#182d38;--line:#405761;--text:#eff6f3;--muted:#b5c9cf;--accent:#a0e5c7;--ink:#112d23;font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}a{color:var(--accent);text-underline-offset:4px}button,.button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #58717c;border-radius:8px;background:#1c3441;color:var(--text);padding:9px 15px;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#2a4651;border-color:#9bb5bd}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:650}.primary:hover{background:#b8f3d8;border-color:#b8f3d8}.full{width:100%}input:not([type=checkbox]),select,textarea{width:100%;background:#10242e;border:1px solid #69828d;border-radius:7px;padding:11px;color:var(--text);min-height:46px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}label{display:block}label>small{display:block;font-size:.875rem;color:var(--muted);margin-top:5px}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(1.9rem,3vw,2.65rem)/1.2 Georgia,serif;margin-bottom:9px}h2{font-size:1.25rem;line-height:1.4;margin-bottom:12px}h3{font-size:1.05rem;margin-bottom:10px}p{margin-bottom:16px}.muted{color:var(--muted)}.small,small{font-size:.875rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.8125rem;font-weight:650;margin:0 0 7px}.text-button{padding:0;min-height:36px;border:0;background:none;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:none}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{display:block;padding:10px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f2d59b;outline-offset:3px}header{padding:20px 32px;border-bottom:1px solid var(--line);display:flex;gap:30px;align-items:center;background:#10232d}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;white-space:nowrap}.brand>b{font:30px Georgia;color:var(--accent);border-right:1px solid var(--line);padding-right:12px}.brand span{font-weight:600;font-size:.9375rem}.brand small{display:block;font-size:.8125rem;color:var(--muted);font-weight:400}header nav{display:flex;gap:5px;flex-wrap:wrap}header nav button{background:none;border-color:transparent;padding:8px 11px}header nav button[aria-current=page]{background:#2e4b50;border-color:#628b7a;color:#bdffdf}header nav a{align-self:center;padding:8px 11px;font-size:.9375rem}.public-label{font-size:.8125rem;color:var(--accent);margin-left:auto;white-space:nowrap}main{max-width:1600px;margin:auto;padding:30px 32px 50px;min-height:75vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 26px}.page-heading p:last-child{color:var(--muted);margin:0}.top-actions{display:flex;gap:10px}.workspace-grid{display:grid;grid-template-columns:minmax(275px,350px) minmax(0,1fr);gap:24px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:24px}.sidebar{align-self:start;padding:22px 18px;position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading h2{font-size:1.05rem}.section-heading>span{font-size:.8125rem;color:var(--muted)}.tree-actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:9px 0}.tree-actions button{font-size:.8125rem}.deck-tree details{margin:5px 0}.deck-tree summary{cursor:pointer;padding:5px 0;list-style-position:outside;margin-left:16px}.deck-tree summary::marker{color:#a2bec8}.deck-tree .deck-node{display:flex;align-items:flex-start;gap:8px;min-height:40px;margin:5px 0}.deck-tree .node-text{display:block;overflow-wrap:anywhere;line-height:1.45;font-size:.875rem}.deck-tree .node-count{display:block;font-size:.75rem;color:#a9c4ca;margin-top:3px}.deck-tree .children{padding-left:15px;border-left:1px solid #3c5962;margin-left:8px}.deck-tree summary .deck-node{display:inline-flex;width:calc(100% - 5px);vertical-align:middle}.deck-node input{margin-top:3px}.sidebar>p{border-top:1px solid var(--line);padding-top:15px;margin:16px 0 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.metrics>div{border:1px solid var(--line);background:#18313b;padding:16px 20px;border-radius:10px}.metrics span{display:block;font-size:.875rem;color:var(--muted)}.metrics strong{font-size:1.8rem;font-weight:550;font-variant-numeric:tabular-nums}.session-builder h2{font:1.8rem Georgia}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.mode-picker button{display:block;text-align:left;padding:15px;background:#10262f}.mode-picker span{display:block;font-size:.875rem;color:var(--muted);margin-top:5px}.mode-picker [aria-pressed=true]{border:2px solid var(--accent);background:#25483f;padding:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label,form>label{font-size:.9375rem}.form-grid input,.form-grid select,form label>input,form label>select{margin-top:6px}.check{display:flex;align-items:center;gap:10px;margin:22px 0;font-size:.9375rem}.scope-note{font-size:.9375rem;margin:22px 0 12px}.session-builder>.small{margin:14px 0 0}.quick-help{margin-top:22px}.quick-help ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;list-style:none}.quick-help li>span{display:block;color:var(--muted);font-size:.9375rem;margin-top:5px}.quick-help p{margin-bottom:0}kbd{font:.8125rem system-ui;border:1px solid #6a8189;border-radius:4px;padding:1px 5px;white-space:nowrap}.primary kbd{border-color:#648d78}.notice{border:1px solid #cca674;background:#483a29;padding:15px 18px;margin-bottom:20px;border-radius:8px;color:#fff0d8}.notice button{margin-left:10px}.loading{padding:70px 0;text-align:center}.compact{font-size:.875rem}.compact select{min-height:40px;padding:6px}#browse-view>input{margin:14px 0 0}.card-row{border-bottom:1px solid var(--line);padding:17px 0}.card-row h3{font-size:1rem;font-weight:550;margin:0 0 6px;line-height:1.55}.card-row p{margin:0 0 10px;color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row-actions button{min-height:36px;padding:5px 10px;font-size:.875rem}.row-actions>span{font-size:.8125rem;color:var(--accent);margin-right:auto}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px}.backup-panel{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.backup-panel>.button{margin-right:10px}.backup-panel>p:last-child{margin-top:15px;margin-bottom:0}.history-chart{display:flex;align-items:flex-end;gap:7px;height:190px;border-bottom:1px solid #526d77;padding-bottom:25px;margin:20px 0 35px}.history-chart>div{flex:1;position:relative;background:#90d4b7;min-height:2px;max-height:150px;border-radius:4px 4px 0 0}.history-chart span{position:absolute;bottom:-25px;left:0;font-size:.7rem;white-space:nowrap;color:var(--muted)}.history-chart b{position:absolute;top:-24px;left:0;font-size:.75rem;font-weight:400;color:var(--text)}.breakdown-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:10px 0}.breakdown-row span{font-size:.875rem}.review-view{max-width:1050px;margin:auto}.review-top,.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.review-top>div{text-align:center}.review-top span{display:block}.review-top>div>span:last-child{font-size:.875rem;color:var(--muted)}progress{appearance:none;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:#304b55;margin:22px 0 8px}progress::-webkit-progress-bar{background:#304b55}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.review-breadcrumb{color:var(--muted);font-size:.875rem;overflow-wrap:anywhere;margin:10px 0 16px}.review-toolbar{margin-bottom:12px;align-items:flex-start}.review-toolbar>span{font-size:.875rem;padding-top:7px}.review-toolbar>div{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.review-toolbar button{min-height:36px;font-size:.875rem;padding:6px 10px}.review-toolbar [aria-pressed=true]{background:#5a4930;border-color:#e9c789}.card-area{background:#fff;color:#222;border-radius:12px;overflow:hidden;border:1px solid #d7e1de;min-height:230px}#card-frame{width:100%;min-height:240px;height:280px;display:block;border:0;background:white}.recall-box{background:#1b3540;border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:16px}.recall-box textarea{margin-top:8px}.recall-box small{display:block;margin-top:7px;color:var(--muted)}#reveal-controls{margin-top:18px}#show-answer{min-height:54px}.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.ratings button{display:block;padding:12px 8px;text-align:center;min-height:90px}.ratings b,.ratings span,.ratings small{display:block}.ratings b{font-size:1rem}.ratings span{font-size:.8125rem;color:var(--muted);margin:4px 0}.ratings small{font-weight:600}.ratings .again{border-color:#c6837f;background:#492e32}.ratings .hard{border-color:#c5a16b;background:#473c2b}.ratings .good{border-color:#8fcab0;background:#24473d}.ratings .easy{border-color:#9eafd9;background:#303e5e}#save-status{min-height:22px;margin:14px 0;text-align:center}.card-info{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.card-info summary{cursor:pointer}.card-info p{overflow-wrap:anywhere;margin-top:12px}.session-end{max-width:800px;margin:50px auto;text-align:center;padding:42px}.session-end h1{font-size:2.1rem}.session-end>.metrics{text-align:left;margin-top:24px}.end-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}dialog{color:var(--text);background:#18313d;border:1px solid #7c9ca7;border-radius:14px;padding:26px;width:min(670px,calc(100vw - 28px));max-height:90vh;overflow:auto}dialog::backdrop{background:#07131dc9;backdrop-filter:blur(3px)}.dialog-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{margin:0}.dialog-heading>div{display:flex;gap:8px}#settings-form>label{margin-bottom:20px}.help-ratings{display:grid;grid-template-columns:70px 1fr;gap:12px}.help-ratings dt{font-weight:700}.help-ratings dd{margin:0;color:#d0dee1}.image-dialog{width:min(1500px,calc(100vw - 24px))}.image-dialog>img{display:block;max-width:100%;height:auto;margin:auto;background:white}.image-dialog>p{margin:15px 0 0;overflow-wrap:anywhere}footer{max-width:1600px;margin:auto;padding:24px 32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:15px 24px;color:var(--muted);font-size:.875rem;align-items:center}footer>span{margin-right:auto}footer .text-button{font-size:.875rem}body.reviewing .page-heading,body.reviewing .workspace-grid{display:none}body.reviewing header nav button[aria-current=page]{background:none}body.busy button:not([data-close]){cursor:wait}.save-error{color:#ffd0b8!important}@media(max-width:1120px){header{gap:18px;flex-wrap:wrap}.public-label{display:none}.workspace-grid{grid-template-columns:290px minmax(0,1fr)}.metrics>div{padding:14px 12px}.mode-picker{grid-template-columns:1fr}.quick-help ol{grid-template-columns:1fr;gap:14px}.page-heading{align-items:flex-start}.top-actions{flex-direction:column}}@media(max-width:800px){header{padding:17px 16px;gap:14px}header nav{gap:0;width:100%}header nav button,header nav a{font-size:.875rem;padding:7px 10px}main{padding:24px 14px 40px}.workspace-grid{grid-template-columns:1fr}.sidebar{position:static;max-height:430px}.page-heading{display:block}.top-actions{flex-direction:row;margin-top:18px}.panel{padding:21px 18px}.metrics{gap:8px}.metrics strong{font-size:1.6rem}.metrics span{font-size:.75rem}.form-grid{gap:15px}.review-toolbar{flex-wrap:wrap}.review-toolbar>div{justify-content:flex-start}.ratings{gap:7px}.ratings b{font-size:.9375rem}.ratings kbd{display:none}.ratings span{font-size:.75rem}.review-top>button{padding:8px 10px;font-size:.875rem}.session-end{padding:28px 18px;margin:25px auto}.session-end .metrics{grid-template-columns:1fr 1fr}footer{padding:24px 16px}.history-chart{gap:5px}.history-chart span{font-size:.65rem}.history-chart>div:nth-child(even) span{display:none}}@media(max-width:440px){.form-grid{grid-template-columns:1fr}.metrics>div{padding:12px 8px}.metrics strong{font-size:1.4rem}.review-top{flex-wrap:wrap}.review-top>div{order:3;width:100%}.ratings span{display:none}.ratings button{min-height:72px}.image-dialog .dialog-heading{flex-wrap:wrap}}
.collection-label{font-size:.875rem;margin-bottom:16px}.collection-label select{margin-top:6px}.settings-dialog{width:min(860px,calc(100vw - 24px))}.preset-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.preset-toolbar label{flex:1;min-width:170px}.option-group{border-top:1px solid var(--line);margin:20px 0;padding-top:16px}.option-group summary{font-weight:600;cursor:pointer;margin-bottom:16px}.option-group .form-grid{gap:18px 24px}.option-group label{font-size:.9rem}.option-group .check{margin:4px 0;align-items:start}.option-group .check input{margin-top:4px}.option-group textarea,.option-group input,.option-group select{margin-top:6px}.option-group .check small{flex-basis:100%}.option-group>button{margin:10px 8px 10px 0}#settings-error{color:#ffd09e}#optimizer-status{margin-top:14px}#simulation-result{margin-top:20px}#stats-view>.form-grid{margin-bottom:22px}.stacked-bar{display:flex;height:14px;overflow:hidden;border-radius:10px;margin:20px 0}.stage-0{background:#577487}.stage-1{background:#dfb174}.stage-2{background:#77a8d2}.stage-3{background:#94deba}#progress-details h3,#review-history h3{margin-top:30px}.table-scroll{overflow:auto;max-height:550px}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{padding:12px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{color:var(--muted);position:sticky;top:0;background:var(--panel)}td small{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}td progress{height:5px;margin:8px 0;min-width:85px}.history-chart{gap:3px}#answer-timer{font-variant-numeric:tabular-nums}body.hide-review-bars.reviewing header,body.hide-review-bars.reviewing footer{display:none}.compact-ui .panel{padding:16px}.compact-ui .card-row{padding:9px 0}.reduce-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}:root[data-theme=light]{color-scheme:light;--bg:#edf3f1;--panel:#fff;--line:#b7ccc5;--text:#143129;--muted:#49605b;--accent:#226b51;--ink:#fff}:root[data-theme=light] header,:root[data-theme=light] dialog{background:#f7faf9}:root[data-theme=light] button,:root[data-theme=light] .button,:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea,:root[data-theme=light] .metrics>div,:root[data-theme=light] .mode-picker button{background:#f2f7f4;color:var(--text)}:root[data-theme=light] .primary{background:#226b51;color:white}:root[data-theme=light] .mode-picker [aria-pressed=true]{background:#dcefe3}:root[data-theme=light] .ratings .again{background:#fce4df}:root[data-theme=light] .ratings .hard{background:#f7ebd2}:root[data-theme=light] .ratings .good{background:#d8f0e4}:root[data-theme=light] .ratings .easy{background:#e2eafa}:root[data-theme=light] header nav button[aria-current=page]{background:#dcefe3;color:#143129}:root[data-theme=light] .recall-box{background:#f0f5f3}:root[data-theme=light] .help-ratings dd{color:var(--muted)}:root[data-theme=light] .deck-tree .node-count{color:var(--muted)}:root[data-theme=light] #settings-error{color:#a42d10}@media(max-width:650px){.preset-toolbar{display:grid;grid-template-columns:1fr 1fr}.preset-toolbar label{grid-column:span 2}.option-group .form-grid{grid-template-columns:1fr}.review-toolbar{justify-content:flex-start}#stats-metrics{grid-template-columns:1fr 1fr}}

/* A steady study surface with answer controls that stay within reach. */
.card-area{position:relative}#card-frame{height:clamp(320px,58dvh,680px);min-height:320px;transition:opacity .12s ease}
.card-loading #card-frame{opacity:.35;pointer-events:none}.card-loading-status{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#24453c;background:#ffffffb8;font-size:1rem}
#review-actions{position:sticky;bottom:0;z-index:4;background:var(--bg);padding:12px 0 max(8px,env(safe-area-inset-bottom));min-height:144px;border-top:1px solid var(--line);margin-top:14px}
#review-actions #reveal-controls,#review-actions .ratings{margin-top:0}#review-actions #save-status{margin:8px 0 0;min-height:22px}.card-scroll-hint{margin:6px 0 16px;text-align:center}
.review-view:focus{outline:none}@media(max-width:650px){#card-frame{height:clamp(300px,53dvh,540px);min-height:300px}#review-actions{min-height:130px;padding-top:10px}.card-scroll-hint{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){#card-frame{transition:none}}

/* Review occupies the viewport; complete cards scale to the remaining space. */
body.reviewing{overflow:hidden}body.reviewing>header,body.reviewing>footer{display:none}
body.reviewing main{position:fixed;inset:0;max-width:none;padding:12px 24px;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
body.reviewing #notice{flex:none;margin:0 0 6px;padding:8px 12px}
body.reviewing .review-view{flex:1;min-height:0;max-width:1500px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:6px}
body.reviewing .review-top{flex:none;margin:0;min-height:36px}.review-top button{padding:7px 12px}
body.reviewing #session-progress{flex:none;margin:0;height:4px}
body.reviewing .review-breadcrumb{flex:none;margin:0;font-size:.8125rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.reviewing .review-toolbar{flex:none;margin:0;gap:6px;align-items:center}
body.reviewing .review-toolbar button{padding:5px 9px;font-size:.875rem}
body.reviewing .card-area{flex:1;min-height:0;overflow:hidden;display:flex;margin:0}
body.reviewing #card-frame{height:100%;width:100%;min-height:0;flex:1}
body.reviewing #review-actions{position:static;flex:none;min-height:118px;margin:0;padding:7px 0 max(3px,env(safe-area-inset-bottom));border:0}
body.reviewing .ratings{gap:9px}body.reviewing .ratings button{min-height:76px;padding:7px}
body.reviewing #reveal-controls{padding-top:12px}body.reviewing .card-info{display:none}
body.reviewing .card-scroll-hint{flex:none;margin:0;font-size:.8125rem}
body.reviewing .recall-box{flex:none;margin:0;padding:6px 12px;font-size:.875rem}
body.reviewing .recall-box textarea{min-height:36px;height:36px;padding:6px;margin:3px 0}body.reviewing .recall-box small{display:none}
body.reviewing .session-end{overflow:auto}
@media(max-width:700px){body.reviewing main{padding:8px 10px}body.reviewing .review-top{flex-wrap:nowrap;gap:7px}body.reviewing .review-top>div{order:0;width:auto;min-width:0;font-size:.8125rem}body.reviewing .review-mode{display:none}body.reviewing .review-toolbar{flex-wrap:wrap}body.reviewing .review-toolbar>div{gap:5px}body.reviewing #review-actions{min-height:102px}body.reviewing .ratings button{min-height:64px}body.reviewing .ratings span{display:none}body.reviewing .card-scroll-hint{font-size:.75rem}}
@media(max-height:600px){body.reviewing .review-breadcrumb,body.reviewing .card-scroll-hint,body.reviewing #review-card-type{display:none}body.reviewing .review-view{gap:3px}body.reviewing #review-actions{min-height:88px}body.reviewing .ratings button{min-height:52px}body.reviewing .ratings span{display:none}body.reviewing #save-status{font-size:.75rem}}

/* Live queue counts share the existing review header. */
.review-session-summary{min-width:0;flex:1}.review-session-heading{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px}.review-session-heading #review-mode{margin:0;font-size:.875rem}.session-counts{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:0}.session-counts>div{display:flex;align-items:baseline;gap:7px;white-space:nowrap;padding:2px 9px;border:1px solid var(--line);border-radius:6px}.session-counts dt{font-size:.875rem;font-weight:500}.session-counts dd{margin:0;font-size:1.0625rem;font-weight:700;font-variant-numeric:tabular-nums}.session-count-new{color:#a8d8ff}.session-count-learn{color:#ffc2a8}.session-count-due{color:#a0e5c7}#end-counts{margin:20px 0}.review-session-summary #review-position{font-size:.875rem;color:var(--muted)}
:root[data-theme=light] .session-count-new{color:#245c8b}:root[data-theme=light] .session-count-learn{color:#993d20}:root[data-theme=light] .session-count-due{color:#226b51}
@media(max-width:850px){body.reviewing .review-top{flex-wrap:wrap}body.reviewing .review-top>.review-session-summary{order:2;width:100%;flex:1 1 100%}body.reviewing .review-top>.review-top-actions{margin-left:auto}body.reviewing .review-session-summary #review-position{display:none}.review-session-heading{gap:5px 10px}}
