*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#c9c6d4;--color-surface:#d6d3e2;--color-border:#b2afc2;--color-muted:#7c7a8e;--color-subtle:#4a4860;--color-body:#26243a;--color-heading:#0c0a1c;--color-brand:#3b5bdb;--color-accent:#0ea5e9;--shadow-dropdown:0 8px 24px #0000002e;--shadow-card:0 4px 16px #0000001f}[data-theme=dark]{--color-bg:#0d0c14;--color-surface:#1d1b2c;--color-border:#38344e;--color-muted:#9490b0;--color-subtle:#c0bcd4;--color-body:#e0dde8;--color-heading:#f4f0ff;--color-brand:#7da4fa;--color-accent:#4ade80;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--shadow-dropdown:0 8px 24px #00000080;--shadow-card:0 4px 16px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0d0c14;--color-surface:#1d1b2c;--color-border:#38344e;--color-muted:#9490b0;--color-subtle:#c0bcd4;--color-body:#e0dde8;--color-heading:#f4f0ff;--color-brand:#7da4fa;--color-accent:#4ade80;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--shadow-dropdown:0 8px 24px #00000080;--shadow-card:0 4px 16px #0006}}:root{--font-base:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--fw-normal:400;--fw-medium:500;--fw-bold:700;--fw-black:800;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--bar-h:60px}body{font-family:var(--font-base);font-size:var(--text-base);background:var(--color-bg);color:var(--color-body);min-height:100svh;line-height:1.6}[data-size=small]{--text-xs:.65rem;--text-sm:.75rem;--text-base:.8125rem;--text-lg:.9375rem;--text-xl:1.125rem;--text-2xl:1.375rem}[data-size=large]{--text-xs:.875rem;--text-sm:1rem;--text-base:1.125rem;--text-lg:1.375rem;--text-xl:1.625rem;--text-2xl:2.125rem}[data-size=xl]{--text-xs:1.25rem;--text-sm:1.5rem;--text-base:1.75rem;--text-lg:2.125rem;--text-xl:2.75rem;--text-2xl:3.5rem}[data-font=chalk],[data-font=chalk] body{--font-base:"Kalam", "Chalkboard SE", "Bradley Hand", "Segoe Print", cursive;--text-xs:.9rem;--text-sm:1.05rem;--text-base:1.2rem;--text-lg:1.4rem;--text-xl:1.65rem;--text-2xl:2.1rem;font-family:Kalam,Chalkboard SE,Bradley Hand,Segoe Print,cursive}.stack{gap:var(--stack-gap,var(--space-4));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-4));flex-wrap:wrap;display:flex}.center{max-width:var(--center-max,48rem);padding-inline:var(--space-6);margin-inline:auto}.u-text-xs{font-size:var(--text-xs)}.u-text-sm{font-size:var(--text-sm)}.u-text-lg{font-size:var(--text-lg)}.u-text-2xl{font-size:var(--text-2xl)}.u-fw-bold{font-weight:var(--fw-bold)}.u-fw-black{font-weight:var(--fw-black)}.u-tracking-wide{letter-spacing:.08em}.u-color-heading{color:var(--color-heading)}.u-color-subtle{color:var(--color-subtle)}.u-color-muted{color:var(--color-muted)}.u-color-accent{color:var(--color-accent)}.u-ta-center{text-align:center}.question-library-loader{min-block-size:100svh;padding:var(--space-8);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.question-library-loader__card{gap:var(--space-6);flex-direction:column;width:100%;max-width:560px;display:flex}.question-library-loader__title{font-size:var(--text-2xl);font-weight:var(--fw-black);color:var(--color-heading);letter-spacing:-.02em}.question-library-loader__subtitle{font-size:var(--text-sm);color:var(--color-subtle);margin-top:var(--space-2)}.question-library-loader__tabs{border-bottom:1px solid var(--color-border);gap:0;display:flex}.question-library-loader__tab{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.question-library-loader__tab:hover{color:var(--color-body)}.question-library-loader__tab--active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.question-library-loader__drop-label{font-size:var(--text-sm);color:var(--color-subtle)}.question-library-loader__editor-panel{gap:var(--space-4);flex-direction:column;display:flex}.question-library-loader__json-editor{width:100%;background:var(--color-surface);border:1px solid var(--color-border);min-block-size:240px;padding:var(--space-4);color:var(--color-body);resize:vertical;border-radius:10px;outline:none;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.75rem;line-height:1.7;transition:border-color .15s}.question-library-loader__json-editor:focus{border-color:var(--color-brand)}.question-library-loader__load-button{padding:var(--space-2) var(--space-6);background:var(--color-brand);color:#fff;font-size:var(--text-sm);font-weight:var(--fw-bold);cursor:pointer;border:none;border-radius:8px;align-self:flex-end;transition:background .15s}.question-library-loader__load-button:hover{background:#1d4ed8}.question-library-loader__error{font-size:var(--text-sm);color:#f87171;padding:var(--space-3) var(--space-4);background:#ef44441a;border:1px solid #ef444440;border-radius:8px}.question-library-loader__divider{align-items:center;gap:var(--space-4);color:var(--color-muted);font-size:var(--text-xs);display:flex}.question-library-loader__divider:before,.question-library-loader__divider:after{content:"";background:var(--color-border);flex:1;height:1px}.question-library-loader__drop-zone{border:1px dashed var(--color-border);padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-4);color:var(--color-subtle);border-radius:10px;transition:border-color .15s,background .15s;display:flex}.question-library-loader__drop-zone--active{border-color:var(--color-brand);color:var(--color-body);background:#2563eb0f}.question-library-loader__browse-button{padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-body);cursor:pointer;border-radius:8px;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.question-library-loader__browse-button:hover{border-color:var(--color-brand);background:var(--color-border)}.question-library-loader__file-input{display:none}.question-library-loader__format-section{gap:var(--space-4);flex-direction:column;display:flex}.question-library-loader__format-title{font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}.question-library-loader__format-rules{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.question-library-loader__format-rules li{font-size:var(--text-sm);color:var(--color-subtle);padding-inline-start:var(--space-4);position:relative}.question-library-loader__format-rules li:before{content:"–";color:var(--color-muted);position:absolute;inset-inline-start:0}.question-library-loader__format-rules code{color:var(--color-accent);background:#34d39914;border-radius:3px;padding:1px 5px;font-size:.85em}.app-menu{z-index:300;position:fixed;inset-block-start:var(--space-4);inset-inline-end:var(--space-4)}.app-menu__trigger{block-size:32px;inline-size:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.app-menu__trigger:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-body)}.app-menu__backdrop{z-index:299;position:fixed;inset:0}.app-menu__dropdown{z-index:301;background:var(--color-surface);border:1px solid var(--color-border);min-inline-size:168px;box-shadow:var(--shadow-dropdown);border-radius:10px;animation:.12s app-menu-enter;position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0;overflow:hidden}@keyframes app-menu-enter{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.app-menu__size-row{padding:var(--space-2) var(--space-4);justify-content:space-between;align-items:center;display:flex}.app-menu__size-label{font-size:var(--text-sm);color:var(--color-body)}.app-menu__size-buttons{gap:var(--space-1);display:flex}.app-menu__size-btn{border:1px solid var(--color-border);block-size:28px;inline-size:28px;color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--fw-black);cursor:pointer;background:0 0;border-radius:6px;transition:background .12s,color .12s,border-color .12s}.app-menu__size-btn:hover{background:var(--color-border);color:var(--color-body)}.app-menu__size-btn--active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.app-menu__divider{background:var(--color-border);height:1px;margin-block:var(--space-1)}.app-menu__item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm);color:var(--color-body);cursor:pointer;background:0 0;border:none;transition:background .12s;display:flex}.app-menu__item:hover{background:var(--color-border)}.app-menu__item--destructive{color:#e05252}.app-menu__item--destructive:hover{background:#dc26261f}.app-menu__confirm{padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.app-menu__confirm-label{font-size:var(--text-sm);color:var(--color-body);font-weight:var(--fw-medium)}.app-menu__confirm-actions{gap:var(--space-2);display:flex}.app-menu__confirm-yes{padding:var(--space-2) var(--space-3);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-bold);cursor:pointer;background:#dc2626;border:none;border-radius:6px;flex:1;transition:background .12s}.app-menu__confirm-yes:hover{background:#b91c1c}.app-menu__confirm-cancel{padding:var(--space-2) var(--space-3);background:var(--color-border);color:var(--color-body);font-size:var(--text-xs);cursor:pointer;border:none;border-radius:6px;flex:1;transition:background .12s}.app-menu__confirm-cancel:hover{background:var(--color-muted);color:var(--color-heading)}.question-ticker-bar{block-size:var(--bar-h);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;align-items:center;display:flex;position:fixed;inset-block-end:0;inset-inline:0;overflow:hidden}.question-ticker-bar__category-label{block-size:100%;padding-inline:var(--space-4);background:var(--color-brand);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-black);letter-spacing:.14em;text-transform:uppercase;flex-shrink:0;align-items:center;display:flex}.question-ticker-bar__scroll-viewport{flex:1;min-inline-size:0;overflow:hidden}.question-ticker-bar__scroll-track{white-space:nowrap;width:max-content;animation:question-ticker-scroll calc(var(--ticker-item-count,50) * 8s) linear infinite;list-style:none;display:flex}.question-ticker-bar:hover .question-ticker-bar__scroll-track{animation-play-state:paused}@keyframes question-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.question-ticker-bar__entry{align-items:center;gap:var(--space-2);padding-inline:var(--space-6);display:inline-flex}.question-ticker-bar__pin-to-note-button{align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-1) var(--space-2);background:0 0;border:none;border-radius:4px;transition:background .15s;display:inline-flex}.question-ticker-bar__pin-to-note-button:hover{background:var(--color-border)}.question-ticker-bar__pin-to-note-button:active{background:#ca8a0440}.question-ticker-bar__question-text{font-size:var(--text-sm);color:var(--color-body)}.question-ticker-bar__answer-separator{color:var(--color-muted);font-size:var(--text-sm);flex-shrink:0}.question-ticker-bar__answer-text{font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--color-accent)}.question-ticker-bar__entry-divider{font-size:var(--text-xs);color:var(--color-muted);padding-inline-start:var(--space-4)}.question-ticker-bar__reshuffle-button{block-size:100%;padding-inline:var(--space-4);border:none;border-left:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.question-ticker-bar__reshuffle-button:hover{color:var(--color-body);background:var(--color-border)}.sticky-note-card{z-index:200;resize:both;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--note-accent,var(--color-border));min-block-size:110px;inline-size:280px;min-inline-size:200px;box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;animation:.18s sticky-note-card-enter;display:flex;position:fixed;inset-block-end:calc(var(--bar-h) + var(--space-3) + 36px + var(--space-2));inset-inline-end:var(--space-4);overflow:hidden;container-type:inline-size}@keyframes sticky-note-card-enter{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.sticky-note-card[data-difficulty=easy]{--note-accent:#10b981}.sticky-note-card[data-difficulty=medium]{--note-accent:#f59e0b}.sticky-note-card[data-difficulty=hard]{--note-accent:#ef4444}.sticky-note-card__header{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--color-brand) 10%, var(--color-surface));border-bottom:1px solid color-mix(in srgb, var(--color-brand) 20%, var(--color-border));flex-direction:column;flex-shrink:0;display:flex}.sticky-note-card__question{font-size:clamp(.7rem,3.8cqi,1rem);font-weight:var(--fw-bold);color:var(--color-heading);line-height:1.4}.sticky-note-card__answer{align-items:baseline;gap:var(--space-2);font-size:clamp(.65rem,3.4cqi,.9rem);font-weight:var(--fw-bold);color:var(--color-accent);line-height:1.4;display:flex}.sticky-note-card__answer-label{font-size:clamp(.55rem,2.8cqi,.72rem);font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:.1em;color:var(--color-brand);flex-shrink:0}.sticky-note-card__keywords{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid color-mix(in srgb, var(--color-brand) 20%, var(--color-border));display:flex}.sticky-note-card__keywords-label{font-size:clamp(.5rem,2.5cqi,.65rem);font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:.12em;color:#10b981;flex-shrink:0;margin-top:1px}.sticky-note-card__keywords-list{flex-direction:column;gap:2px;list-style:none;display:flex}.sticky-note-card__keyword{align-items:baseline;gap:clamp(2px, 1cqi, var(--space-2));font-size:clamp(.6rem,3.2cqi,.85rem);line-height:1.4;display:flex}.sticky-note-card__keyword-original{color:var(--color-subtle);font-weight:var(--fw-medium)}.sticky-note-card__keyword-arrow{color:var(--color-muted);flex-shrink:0;font-size:.8em}.sticky-note-card__keyword-pt{color:#10b981;font-weight:var(--fw-bold)}.sticky-note-card__text-area{field-sizing:content;resize:none;padding:var(--space-4) var(--space-4) var(--space-2);font-family:var(--font-base);color:var(--color-body);-webkit-user-select:text;user-select:text;cursor:text;min-block-size:3lh;font-size:clamp(.75rem,5cqi,2.25rem);line-height:1.65;font-weight:var(--fw-bold);background:0 0;background-image:repeating-linear-gradient(transparent, transparent calc(1.65em - 1px), color-mix(in srgb, var(--color-border) 40%, transparent) 1.65em);background-attachment:local;border:none;outline:none;flex:1;overflow-y:auto}.sticky-note-card__text-area::placeholder{color:var(--color-muted);opacity:.7}.sticky-note-card__footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);cursor:grab;flex-shrink:0;min-block-size:26px;display:flex}.sticky-note-card__footer:active{cursor:grabbing}.sticky-note-card__difficulty-buttons{flex-shrink:0;gap:2px;display:flex}.sticky-note-card__difficulty-btn{border:1px solid var(--color-border);block-size:14px;inline-size:14px;font-size:8px;font-weight:var(--fw-black);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:3px;padding:0;line-height:1;transition:background .12s,color .12s,border-color .12s}.sticky-note-card__difficulty-btn--easy:hover,.sticky-note-card__difficulty-btn--easy.sticky-note-card__difficulty-btn--active{color:#fff;background:#10b981;border-color:#10b981}.sticky-note-card__difficulty-btn--medium:hover,.sticky-note-card__difficulty-btn--medium.sticky-note-card__difficulty-btn--active{color:#fff;background:#f59e0b;border-color:#f59e0b}.sticky-note-card__difficulty-btn--hard:hover,.sticky-note-card__difficulty-btn--hard.sticky-note-card__difficulty-btn--active{color:#fff;background:#ef4444;border-color:#ef4444}.sticky-note-card__title-label{font-size:9px;font-weight:var(--fw-bold);color:var(--color-muted);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;flex-shrink:0}.sticky-note-card__footer-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.sticky-note-card__close-button{cursor:pointer;color:var(--color-muted);background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:.75rem;line-height:1;transition:color .1s,background .1s}.sticky-note-card__close-button:hover{color:var(--color-heading);background:var(--color-border)}.sticky-note-card__note-icon{color:var(--color-muted);pointer-events:none;flex-shrink:0}.sticky-note-board__new-note-button{z-index:101;border:1px solid var(--color-border);background:var(--color-surface);block-size:36px;inline-size:36px;color:var(--color-subtle);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex;position:fixed;inset-block-end:calc(var(--bar-h) + var(--space-3));inset-inline-end:var(--space-4)}.sticky-note-board__new-note-button:hover{color:#fff;background:#ca8a04;border-color:#a16207}.page{min-block-size:100svh}.page__main{padding-block:var(--space-8);flex:1;justify-content:center;padding-block-end:calc(var(--bar-h) + var(--space-8))}.page__actions{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page__review-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-6);background:var(--color-brand);color:#fff;font-size:var(--text-sm);font-weight:var(--fw-bold);cursor:pointer;border:none;border-radius:99px;transition:background .15s,transform .1s;display:inline-flex}.page__review-button:hover{background:color-mix(in srgb, var(--color-brand) 85%, #000)}.page__review-button:active{transform:scale(.97)}.page__review-button--secondary{border:1px solid var(--color-border);color:var(--color-body);background:0 0}.page__review-button--secondary:hover{background:var(--color-border)}.page__clear-button{color:var(--color-muted);font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .15s}.page__clear-button:hover{color:var(--color-body)}.page__first-use-hint{z-index:150;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);white-space:nowrap;font-size:var(--text-sm);color:var(--color-body);opacity:0;border-radius:10px;animation:.4s cubic-bezier(.16,1,.3,1) 2s forwards hint-enter;display:flex;position:fixed;inset-block-end:calc(var(--bar-h) + var(--space-3));inset-inline-start:50%;transform:translate(-50%)translateY(10px)}@keyframes hint-enter{to{opacity:1;transform:translate(-50%)translateY(0)}}.page__first-use-hint-icon{color:var(--color-brand);flex-shrink:0}.page__first-use-hint-dismiss{background:var(--color-brand);padding:var(--space-1) var(--space-3);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-bold);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;transition:background .15s}.page__first-use-hint-dismiss:hover{background:#1d4ed8}.review-page{background:var(--color-bg);flex-direction:column;align-items:center;min-height:100svh;display:flex}.review-page__inner{flex-direction:column;width:100%;max-width:480px;display:flex}.review-page__header{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);display:flex}.review-page__back{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;transition:color .15s,background .15s;display:flex}.review-page__back:hover{color:var(--color-body);background:var(--color-border)}.review-page__title{font-size:var(--text-base);font-weight:var(--fw-black);color:var(--color-heading);line-height:1.2}.review-page__subtitle{font-size:var(--text-xs);color:var(--color-muted);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.review-page__progress-track{background:var(--color-border);height:3px;margin-inline:var(--space-4);border-radius:99px;overflow:hidden}.review-page__progress-fill{background:var(--color-brand);border-radius:99px;height:100%;transition:width .35s cubic-bezier(.16,1,.3,1)}.review-page__setup-options{gap:var(--space-2);padding:var(--space-4) var(--space-4);flex-direction:column;display:flex}.review-page__setup-option{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--setup-color,var(--color-brand));background:color-mix(in srgb, var(--setup-color,var(--color-brand)) 5%, var(--color-surface));cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;transition:background .15s;display:flex}.review-page__setup-option:hover{background:color-mix(in srgb, var(--setup-color,var(--color-brand)) 12%, var(--color-surface))}.review-page__setup-option--disabled{opacity:.4;cursor:not-allowed}.review-page__setup-label{font-size:var(--text-sm);font-weight:var(--fw-black);color:var(--setup-color,var(--color-brand))}.review-page__setup-count{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--color-muted)}.review-page__body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.review-page__card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-5);align-items:center;gap:var(--space-4);text-align:center;border-radius:12px;flex-direction:column;min-block-size:140px;transition:border-color .2s;display:flex}.review-page__card--revealed{border-color:color-mix(in srgb, var(--color-brand) 35%, var(--color-border))}.review-page__question{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--color-heading);line-height:1.5}.review-page__options{text-align:left;width:100%}.review-page__options-summary{font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;-webkit-user-select:none;user-select:none;list-style:none;display:flex}.review-page__options-summary::-webkit-details-marker{display:none}.review-page__options-summary:before{content:"▸";font-size:.65em;transition:transform .15s}.review-page__options[open] .review-page__options-summary:before{transform:rotate(90deg)}.review-page__options-list{padding:var(--space-1) 0 var(--space-2);flex-direction:column;gap:3px;list-style:none;display:flex}.review-page__option{align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-body);padding:4px var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:6px;line-height:1.5;transition:background .1s,border-color .1s;display:flex}.review-page__option--interactive:hover{background:color-mix(in srgb, var(--color-brand) 6%, var(--color-bg));border-color:color-mix(in srgb, var(--color-brand) 30%, var(--color-border))}.review-page__option--correct{border-color:color-mix(in srgb, #10b981 40%, var(--color-border));background:color-mix(in srgb, #10b981 8%, var(--color-bg))}.review-page__option-label{font-size:var(--text-xs);font-weight:var(--fw-black);color:var(--color-muted);flex-shrink:0;min-width:1.2em}.review-page__option--correct .review-page__option-label{color:#10b981}.review-page__reveal-btn{padding:var(--space-2) var(--space-6);border:1px dashed var(--color-border);font-size:var(--text-sm);font-weight:var(--fw-bold);color:var(--color-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border-radius:99px;transition:border-color .15s,color .15s,background .15s}.review-page__reveal-btn:hover{border-color:var(--color-brand);color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 6%, transparent)}.review-page__answer{align-items:center;gap:var(--space-3);animation:.2s review-answer-enter;display:flex}@keyframes review-answer-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.review-page__answer-badge{background:var(--color-brand);color:#fff;block-size:26px;inline-size:26px;font-size:var(--text-xs);font-weight:var(--fw-black);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.review-page__answer-text{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--color-accent)}.review-page__kbd{font-family:var(--font-base);font-size:10px;font-weight:var(--fw-bold);opacity:.5;margin-left:var(--space-2);background:#00000012;border-radius:3px;padding:1px 5px}.review-page__actions{gap:var(--space-2);display:flex}.review-page__action{padding:var(--space-3) var(--space-2);border:1px solid var(--color-border);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;transition:background .15s,transform .1s;display:flex}.review-page__action:active{transform:scale(.97)}.review-page__action-label{font-size:var(--text-sm);font-weight:var(--fw-black);line-height:1}.review-page__action-sub{font-size:var(--text-xs);opacity:.8;line-height:1}.review-page__action-kbd{font-family:var(--font-base);font-size:10px;font-weight:var(--fw-black);opacity:.5;background:#00000014;border-radius:3px;margin-top:3px;padding:1px 4px}.review-page__action--easy{background:color-mix(in srgb, #10b981 8%, var(--color-surface));color:#10b981;border-left:3px solid #10b981}.review-page__action--easy:hover{background:color-mix(in srgb, #10b981 16%, var(--color-surface))}.review-page__action--medium{background:color-mix(in srgb, #f59e0b 8%, var(--color-surface));color:#f59e0b;border-left:3px solid #f59e0b}.review-page__action--medium:hover{background:color-mix(in srgb, #f59e0b 16%, var(--color-surface))}.review-page__action--hard{background:color-mix(in srgb, #ef4444 8%, var(--color-surface));color:#ef4444;border-left:3px solid #ef4444}.review-page__action--hard:hover{background:color-mix(in srgb, #ef4444 16%, var(--color-surface))}.review-page__action--again{background:var(--color-border);color:var(--color-body)}.review-page__action--again:hover{background:color-mix(in srgb, var(--color-border) 140%, transparent)}.review-page__action--done{background:var(--color-brand);color:#fff}.review-page__action--done:hover{background:color-mix(in srgb, var(--color-brand) 85%, #000)}.review-page__body--complete{padding-block:var(--space-8);align-items:center}.review-page__score{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.review-page__score-pct{font-size:3rem;font-weight:var(--fw-black);color:var(--color-heading);letter-spacing:-.03em;line-height:1}.review-page__score-label{font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:var(--fw-bold)}.review-page__score-breakdown{gap:var(--space-6);display:flex}.review-page__score-stat{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.review-page__score-stat-value{font-size:var(--text-xl);font-weight:var(--fw-black)}.review-page__score-stat--easy .review-page__score-stat-value{color:#10b981}.review-page__score-stat--medium .review-page__score-stat-value{color:#f59e0b}.review-page__score-stat--hard .review-page__score-stat-value{color:#ef4444}.review-page__score-stat-label{font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-bold)}.review-page__complete-actions{gap:var(--space-3);width:100%;max-width:340px;display:flex}.progress-page{background:var(--color-bg);flex-direction:column;min-height:100svh;display:flex}.progress-page__header{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;display:flex;position:sticky;top:0}.progress-page__back{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;transition:color .15s,background .15s;display:flex}.progress-page__back:hover{color:var(--color-body);background:var(--color-border)}.progress-page__title{font-size:var(--text-lg);font-weight:var(--fw-black);color:var(--color-heading);line-height:1.2}.progress-page__subtitle{font-size:var(--text-xs);color:var(--color-muted);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.progress-page__tabs{padding:0 var(--space-6);border-bottom:2px solid var(--color-border);background:var(--color-surface);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.progress-page__tabs::-webkit-scrollbar{display:none}.progress-page__tab{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);font-size:var(--text-xs);font-weight:var(--fw-black);color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;transition:color .12s;display:flex}.progress-page__tab:hover{color:var(--color-body)}.progress-page__tab--active{color:var(--color-heading);border-bottom-color:var(--color-heading)}.progress-page__tab--easy.progress-page__tab--active{color:#10b981;border-bottom-color:#10b981}.progress-page__tab--medium.progress-page__tab--active{color:#f59e0b;border-bottom-color:#f59e0b}.progress-page__tab--hard.progress-page__tab--active{color:#ef4444;border-bottom-color:#ef4444}.progress-page__tab-count{opacity:.65;background:color-mix(in srgb, currentColor 10%, transparent);border-radius:4px;padding:1px 5px;font-size:.75em}.progress-page__search-row{padding:var(--space-4) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.progress-page__search{width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-body);font-family:var(--font-base);font-size:var(--text-sm);border-radius:8px;outline:none;transition:border-color .15s}.progress-page__search:focus{border-color:var(--color-brand)}.progress-page__body{flex:1;overflow-y:auto}.progress-page__empty{padding:var(--space-8);text-align:center;color:var(--color-muted);font-size:var(--text-sm)}.progress-page__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.progress-page__th{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-5);text-align:left;font-size:var(--text-xs);font-weight:var(--fw-black);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;z-index:1;position:sticky;top:0}.progress-page__th--num{width:3rem}.progress-page__th--answer{width:28%}.progress-page__th--rating{text-align:center;width:5.5rem}.progress-page__row{border-bottom:1px solid color-mix(in srgb, var(--color-border) 60%, transparent);transition:background .1s}.progress-page__row:hover{background:color-mix(in srgb, var(--color-brand) 4%, transparent)}.progress-page__td{padding:var(--space-3) var(--space-5);color:var(--color-body);vertical-align:top;line-height:1.5}.progress-page__td--num{color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);white-space:nowrap}.progress-page__td--question{color:var(--color-heading);font-weight:var(--fw-medium)}.progress-page__td--answer{color:var(--color-subtle);font-size:var(--text-xs)}.progress-page__td--rating{text-align:center}.progress-page__answer-badge{background:var(--color-brand);color:#fff;block-size:18px;inline-size:18px;font-size:.65rem;font-weight:var(--fw-black);margin-right:var(--space-2);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.progress-page__rating{font-size:var(--text-xs);font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:.06em;border-radius:99px;padding:2px 8px;display:inline-block}.progress-page__rating--easy{color:#10b981;background:#10b9811f}.progress-page__rating--medium{color:#f59e0b;background:#f59e0b1f}.progress-page__rating--hard{color:#ef4444;background:#ef44441f}.progress-page__rating--new{background:color-mix(in srgb, var(--color-border) 80%, transparent);color:var(--color-muted)}
