*{box-sizing:border-box}:root{--font-family-base:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display:Georgia, "Times New Roman", serif;--font-weight-regular:400;--font-weight-strong:650;--font-size-meta:.75rem;--font-size-small:.875rem;--font-size-body:1rem;--font-size-emphasis:1.125rem;--font-size-mode-label:1.1875rem;--font-size-brand:2.25rem;--font-size-mode-count:1.875rem;--line-height-meta:1.35;--line-height-body:1.5;--line-height-brand:1;--letter-spacing-heading:.015em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-control:12px;--radius-row:10px;--radius-panel:16px;--border-hairline:1px solid var(--color-border);--touch-target-min:44px;--shadow-sm:0 4px 12px color-mix(in srgb, var(--color-brand) 9%, transparent), 0 1px 2px color-mix(in srgb, var(--color-brand) 8%, transparent);--shadow-card:0 14px 32px color-mix(in srgb, var(--color-brand) 13%, transparent), 0 3px 8px color-mix(in srgb, var(--color-brand) 8%, transparent);--shadow-card-hover:0 18px 38px color-mix(in srgb, var(--color-brand) 17%, transparent), 0 5px 12px color-mix(in srgb, var(--color-brand) 10%, transparent);--shadow-floating:0 22px 48px color-mix(in srgb, var(--color-brand) 19%, transparent), 0 5px 12px color-mix(in srgb, var(--color-brand) 9%, transparent);--color-canvas:#fbf6e9;--color-surface:#fffdf7;--color-surface-strong:#fff4cf;--color-brand:#4a0638;--color-brand-soft:#6b3159;--color-text:#35142d;--color-text-muted:#806a78;--color-border:#e7ddcf;--color-amber:#f5b82e;--color-danger:#9c4b5b;--color-topic:#839a83;--color-topic-strong:#49684e;--color-topic-surface:#eff4ea;--color-question:#7f93ad;--color-question-strong:#49617d;--color-question-surface:#eef2f7;--color-ink:var(--color-text);--color-paper:var(--color-canvas);--color-mist:#f5ecd9;--color-ash:var(--color-border);--color-smoke:#eadfcd;--color-slate:var(--color-text-muted);--color-graphite:var(--color-brand-soft);font-family:var(--font-family-base);font-weight:var(--font-weight-regular);color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.future-review-notice{padding:var(--space-2) var(--space-3);color:var(--color-brand-soft);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-brand-soft) 24%, var(--color-border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-brand-soft) 6%, var(--color-surface));font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0}body{background:radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--color-amber) 10%, transparent), transparent 22rem), var(--color-canvas);min-width:320px;min-height:100svh;margin:0}a{color:inherit}button{font:inherit;-webkit-tap-highlight-color:transparent}button:not(:disabled):active{transform:translateY(1px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#root{min-height:100svh}:root{--yanki-ad-bottom-inset:0px;--yanki-bottom-reserve:max(var(--space-8), calc(env(safe-area-inset-bottom) + var(--yanki-ad-bottom-inset)))}.app-shell{min-height:100svh;padding:max(var(--space-6), env(safe-area-inset-top)) var(--space-5) var(--yanki-bottom-reserve);background:radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--color-amber) 10%, transparent), transparent 21rem), var(--color-canvas)}.topic-capture-action,.question-capture-action{min-height:var(--touch-target-min);padding:0 var(--space-4);color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;place-items:center;font-weight:700;display:inline-grid}.topic-capture-action--primary,.question-capture-action--primary{color:var(--color-surface);border-color:var(--color-topic-strong);background:var(--color-topic-strong)}.question-capture-action--primary{border-color:var(--color-question-strong);background:var(--color-question-strong)}.topic-capture-actions,.question-capture-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.capture-editor{z-index:2;gap:var(--space-3);padding:var(--space-5);border:1.5px solid var(--color-brand-soft);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-floating);display:grid;position:relative}.topic-camera-dialog,.question-camera-dialog{z-index:2;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border:1.5px solid var(--color-brand-soft);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-floating);display:grid;position:relative}.capture-camera__header,.capture-camera__actions{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.capture-camera__header h2{margin:0}.capture-camera__status,.capture-camera__hint{color:var(--color-text-muted);font-size:var(--font-size-small)}.capture-camera__status{padding:var(--space-1) var(--space-2);background:var(--color-canvas);border-radius:999px}.capture-camera__preview{aspect-ratio:16/9;object-fit:contain;border-radius:var(--radius-row);background:#211b22;width:100%;height:auto;min-height:240px;max-height:min(62svh,560px);display:block}.capture-camera__hint{margin:0}.capture-camera__readiness{color:var(--color-text-muted);font-size:var(--font-size-small);margin:0}.capture-camera__requesting{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-small)}.capture-camera__actions button{min-height:var(--touch-target-min);padding:0 var(--space-3);border:var(--border-hairline);border-radius:var(--radius-control);color:var(--color-brand);background:var(--color-surface);cursor:pointer}.capture-camera__actions .button-primary{color:var(--color-surface);border-color:var(--color-brand);background:var(--color-brand)}.capture-camera__actions button:disabled{cursor:not-allowed;opacity:.55}.capture-editor__header,.capture-editor__toolbar,.capture-editor__crop-actions{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.capture-editor__header h2,.capture-editor__eyebrow{margin:0}.capture-editor__eyebrow{color:var(--color-amber);font-size:var(--font-size-meta);font-weight:700}.capture-editor__stage{border-radius:var(--radius-row);touch-action:none;background:#211b22;place-items:center;min-height:280px;max-height:min(62svh,560px);display:grid;position:relative;overflow:hidden}.capture-editor__stage img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;max-height:min(62svh,560px);display:block}.capture-editor__markup,.capture-editor__crop-box{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.capture-editor__crop-box{border:2px solid var(--color-amber);inset:auto;box-shadow:0 0 0 999px #0000007a}.capture-editor__toolbar button,.capture-editor__crop-actions button,.capture-editor__header button,.topic-thumb-card__actions button,.question-image-actions button{min-height:var(--touch-target-min);padding:0 var(--space-3);border:var(--border-hairline);border-radius:var(--radius-control);color:var(--color-brand);background:var(--color-surface);cursor:pointer;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s}.capture-editor__toolbar button:hover:not(:disabled),.capture-editor__crop-actions button:hover,.capture-editor__header button:hover{border-color:var(--color-brand-soft);background:var(--color-surface-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.capture-editor__toolbar button[aria-pressed=true]{color:var(--color-brand);border-color:var(--color-amber);background:var(--color-surface-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 58%, transparent), var(--shadow-sm)}.capture-editor__toolbar button:disabled{cursor:not-allowed;opacity:.45}.capture-editor__confirm{width:100%;min-height:var(--touch-target-min)}.capture-ocr-status{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-small)}.capture-ocr-field{gap:var(--space-1);margin-top:var(--space-2);color:var(--color-brand-soft);font-size:var(--font-size-small);font-weight:700;display:grid}.capture-ocr-field textarea{width:100%;min-height:80px;padding:var(--space-2);resize:vertical;border:var(--border-hairline);border-radius:var(--radius-row);color:var(--color-text);background:var(--color-surface);font:inherit}@media (width<=380px){.capture-editor{padding:var(--space-3)}.capture-editor__stage{min-height:220px}}.root-screen{width:min(100%,450px);min-height:calc(100svh - max(var(--space-6), env(safe-area-inset-top)) - var(--yanki-bottom-reserve));flex-direction:column;margin:0 auto;display:flex}.mode-entry,.library-entry,.flow-panel{box-shadow:var(--shadow-card)}.root-screen__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-3) 0 var(--space-8);border-bottom:1px solid color-mix(in srgb, var(--color-brand) 14%, transparent);display:flex}.root-screen__brand-line{align-items:center;gap:var(--space-2);display:flex}.root-screen__brand-mark{background:var(--color-amber);border-radius:3px;width:8px;height:6px;margin-top:1px}.profile-button{width:var(--touch-target-min);min-width:var(--touch-target-min);height:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-brand);border:var(--border-hairline);background:color-mix(in srgb, var(--color-surface) 86%, var(--color-amber));box-shadow:var(--shadow-sm);cursor:pointer;border-radius:14px;place-items:center;padding:0;transition:background-color .14s,border-color .14s,color .14s,box-shadow .16s,transform .16s;display:grid}.profile-button__icon{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.root-screen__brand h1{font-family:var(--font-family-display);font-size:clamp(2.25rem,11vw,3rem);line-height:var(--line-height-brand);letter-spacing:.08em;color:var(--color-brand);margin:0;font-weight:700}.root-screen__brand p{margin:var(--space-4) 0 0;color:var(--color-brand-soft);font-size:var(--font-size-emphasis);line-height:var(--line-height-body)}.root-screen__actions{gap:var(--space-5);padding-top:var(--space-6);display:grid}.mode-entry,.library-entry{width:100%;color:var(--color-text);text-align:left;border:1.5px solid var(--color-border);border-radius:var(--radius-panel);cursor:pointer;align-items:center;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s;display:grid}.mode-entry{gap:var(--space-4);background:var(--color-surface);min-height:168px;box-shadow:var(--shadow-card);grid-template-columns:1fr auto;padding:30px 26px 26px;position:relative}.mode-entry:before{border-radius:var(--radius-panel) var(--radius-panel) 0 0;content:"";height:7px;position:absolute;inset:0 0 auto}.mode-entry>*{z-index:1;position:relative}.mode-entry--topic{background:linear-gradient(135deg, var(--color-topic-surface), var(--color-surface));border-color:color-mix(in srgb, var(--color-topic) 24%, var(--color-border))}.mode-entry--topic:before{background:var(--color-topic-strong)}.mode-entry--question{background:linear-gradient(135deg, var(--color-question-surface), var(--color-surface));border-color:color-mix(in srgb, var(--color-question) 24%, var(--color-border))}.mode-entry--question:before{background:var(--color-question-strong)}.mode-entry__icon,.library-entry__icon{border-radius:15px;place-items:center;width:52px;height:52px;display:grid;box-shadow:inset 0 0 0 1px #ffffff6b}.mode-entry__icon svg,.library-entry__icon svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.mode-entry__icon--topic{color:var(--color-topic-strong);background:color-mix(in srgb, var(--color-topic) 28%, var(--color-surface))}.mode-entry__icon--question{color:var(--color-question-strong);background:color-mix(in srgb, var(--color-question) 28%, var(--color-surface))}.mode-entry__content{align-items:center;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);display:grid}.mode-entry__copy{gap:var(--space-1);display:grid}.mode-entry__label{color:var(--color-text);font-family:var(--font-family-display);letter-spacing:.035em;font-size:1.4rem;font-weight:700;line-height:1.25}.mode-entry__meta{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta);gap:2px;display:grid}.mode-entry__count{color:var(--color-brand);font-size:var(--font-size-mode-count);letter-spacing:var(--letter-spacing-heading);font-weight:700;line-height:1.08}.mode-entry__today{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.mode-entry__arrow-tile,.library-entry__arrow-tile{width:44px;height:44px;color:var(--color-brand-soft);background:color-mix(in srgb, var(--color-surface) 68%, transparent);border-radius:14px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffffff61}.mode-entry__arrow-tile svg,.library-entry__arrow-tile svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.mode-entry--topic .mode-entry__arrow-tile{color:var(--color-topic-strong);background:color-mix(in srgb, var(--color-topic) 14%, var(--color-surface))}.mode-entry--question .mode-entry__arrow-tile{color:var(--color-question-strong);background:color-mix(in srgb, var(--color-question) 14%, var(--color-surface))}.library-entry{min-height:82px;padding:var(--space-4) var(--space-5);border-inline-start:5px solid var(--color-amber);background:color-mix(in srgb, var(--color-surface) 82%, var(--color-canvas));box-shadow:var(--shadow-sm);grid-template-columns:1fr auto}.library-entry__content{align-items:center;gap:var(--space-3);display:flex}.library-entry__content>span:last-child{color:var(--color-brand);font-size:var(--font-size-emphasis);font-weight:700;line-height:1.25}.library-entry__icon{width:44px;height:44px;color:var(--color-brand);background:var(--color-surface-strong)}.library-entry__icon svg{width:20px;height:20px}.profile-button:hover,.profile-button:active,.library-entry:hover,.library-entry:active{background:var(--color-surface-strong);border-color:color-mix(in srgb, var(--color-amber) 36%, var(--color-border));box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.mode-entry--topic:hover,.mode-entry--topic:active{background:color-mix(in srgb, var(--color-topic) 16%, var(--color-topic-surface));border-color:color-mix(in srgb, var(--color-topic) 36%, var(--color-border));box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.mode-entry--topic:active,.mode-entry--question:active,.profile-button:active,.library-entry:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.mode-entry--question:hover,.mode-entry--question:active{background:color-mix(in srgb, var(--color-question) 16%, var(--color-question-surface));border-color:color-mix(in srgb, var(--color-question) 36%, var(--color-border));box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.profile-button:focus-visible,.mode-entry:focus-visible,.library-entry:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media (width>=520px){.app-shell{padding-inline:var(--space-6)}}@media (width>=760px){.root-screen{width:min(100%,560px)}.flow-screen,.topic-screen,.question-screen,.library-screen,.profile-screen{width:min(100%,520px)}}.flow-shell{place-items:start center;display:grid}.flow-screen{gap:var(--space-5);width:min(100%,460px);display:grid}.flow-header{padding-top:var(--space-2)}.flow-brand{gap:var(--space-2);display:grid}.flow-brand__line{align-items:center;gap:var(--space-2);display:flex}.flow-brand h1{color:var(--color-brand);font-family:var(--font-family-display);font-size:clamp(2rem,9vw,2.5rem);line-height:var(--line-height-brand);letter-spacing:var(--letter-spacing-heading);margin:0;font-weight:700}.flow-brand p{color:var(--color-brand-soft);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.flow-brand__mark{background:var(--color-amber);border-radius:3px;width:8px;height:6px;margin-top:1px}.auth-intro,.flow-panel__header{gap:var(--space-2);display:grid}.auth-intro h2,.flow-panel__header h2{color:var(--color-brand);font-family:var(--font-family-display);letter-spacing:var(--letter-spacing-heading);margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.auth-intro p,.flow-copy,.flow-panel__header p{color:var(--color-text-muted);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.flow-panel{gap:var(--space-5);padding:var(--space-6);border:1.5px solid var(--color-border);border-radius:var(--radius-panel);background:linear-gradient(145deg, var(--color-surface), #fffaf0);box-shadow:var(--shadow-card);display:grid}.flow-progress{min-height:32px;padding:0 var(--space-3);color:var(--color-brand);font-size:var(--font-size-small);white-space:nowrap;background:var(--color-surface-strong);border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.auth-panel,.onboarding-panel{background:color-mix(in srgb, var(--color-surface) 88%, var(--color-canvas))}.auth-mode-switch{padding:var(--space-1);border:var(--border-hairline);border-radius:calc(var(--radius-panel) + 2px);background:var(--color-canvas);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.auth-mode-switch__button{min-height:var(--touch-target-min);padding:0 var(--space-3);color:var(--color-text-muted);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0;transition:background-color .14s,color .14s}.auth-mode-switch__button[aria-pressed=true]{color:var(--color-brand);background:var(--color-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 34%, var(--color-border))}.button-primary,.button-secondary,.button-link{font:inherit}.button-primary,.button-secondary{min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-control);transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s}.auth-form,.flow-form{gap:var(--space-4);display:grid}.auth-error{color:var(--color-danger,#8b3030);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:0}.field,.choice-fieldset{gap:var(--space-2);display:grid}.choice-fieldset{border:0;min-inline-size:0;margin:0;padding:0}.choice-fieldset legend{color:var(--color-brand-soft);font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0;font-weight:700}.field__label{color:var(--color-brand-soft);font-size:var(--font-size-small);line-height:var(--line-height-meta);letter-spacing:.035em;text-transform:uppercase;font-weight:700}.field__input{width:100%;min-height:var(--touch-target-min);padding:0 var(--space-4);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-canvas));font:inherit;line-height:1.2;transition:border-color .16s,background-color .16s,box-shadow .16s;box-shadow:inset 0 1px #ffffffb3}.field__input::placeholder{color:var(--color-text-muted)}.field__input:focus{outline:none}.field__input:focus-visible{border-color:var(--color-brand);outline:2px solid color-mix(in srgb, var(--color-amber) 42%, transparent);outline-offset:1px;background:var(--color-surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-amber) 16%, transparent), inset 0 1px 0 #ffffffb3}.field__input[aria-invalid=true]{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--color-surface))}.field-error{color:var(--color-danger);font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0}.inline-status{padding:var(--space-3) var(--space-4);color:var(--color-brand);font-size:var(--font-size-small);line-height:var(--line-height-meta);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-amber) 34%, var(--color-border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-amber) 16%, var(--color-surface));margin:0}.choice-grid,.subject-grid{gap:var(--space-3);display:grid}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(126px,1fr))}.choice-grid--tight{grid-template-columns:repeat(auto-fit,minmax(94px,1fr))}.choice-card,.subject-chip{min-height:62px;padding:var(--space-3) var(--space-4);color:var(--color-text);text-align:center;border:1.5px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;justify-content:center;align-items:center;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s;display:flex;position:relative}.subject-chip{min-height:48px}.choice-card input,.subject-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice-card span,.subject-chip span{z-index:1;font-weight:700;position:relative}:is(.choice-card:has(input:checked),.subject-chip:has(input:checked)){border-color:color-mix(in srgb, var(--color-amber) 34%, var(--color-border));background:color-mix(in srgb, var(--color-surface-strong) 72%, var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 18%, transparent), var(--shadow-sm)}.choice-card:hover,.subject-chip:hover{border-color:color-mix(in srgb, var(--color-brand) 34%, var(--color-border));transform:translateY(-2px)}.choice-card input:checked+span,.subject-chip input:checked+span{color:var(--color-brand)}.choice-card input:focus-visible+span,.subject-chip input:focus-visible+span{outline:2px solid color-mix(in srgb, var(--color-amber) 42%, transparent);outline-offset:3px;border-radius:4px}.button-primary,.button-secondary{border:var(--border-hairline);cursor:pointer;justify-content:center;align-items:center;width:100%;display:inline-flex}.button-primary{color:var(--color-surface);border-color:var(--color-brand);background:var(--color-brand);box-shadow:var(--shadow-sm);font-weight:700}.button-secondary{color:var(--color-brand);border-color:color-mix(in srgb, var(--color-brand) 20%, var(--color-border));background:var(--color-surface);font-weight:700}.topic-options__button,.question-options__button,.library-detail-actions .button-secondary{letter-spacing:.01em;font-size:.9rem;font-weight:700}.button-primary:hover:not(:disabled),.button-secondary:hover:not(:disabled){box-shadow:var(--shadow-card);transform:translateY(-2px)}.button-link{color:var(--color-brand-soft);cursor:pointer;background:0 0;border:0;align-self:start;padding:0}.flow-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.flow-actions--split .button-primary,.flow-actions--split .button-secondary{flex:160px;width:auto}.inline-field{align-items:flex-start;gap:var(--space-3);display:flex}.inline-field__button{flex:none;width:auto}.subject-list{gap:var(--space-3);display:grid}.subject-list__item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:0 2px 8px color-mix(in srgb, var(--color-brand) 5%, transparent);display:flex}@media (width<=380px){.root-screen__brand h1{font-size:2.15rem}.mode-entry{min-height:148px;padding:25px 20px 21px}.mode-entry__icon{width:46px;height:46px}.mode-entry__label{font-size:1.25rem}.mode-entry__count{font-size:1.65rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:not(:disabled):active,.mode-entry:hover,.library-entry:hover,.profile-button:hover,.topic-day-card:hover,.question-day-card:hover,.topic-metadata-card:hover,.question-metadata-card:hover,.topic-fab:hover,.question-fab:hover,.choice-card:hover,.subject-chip:hover,.button-primary:hover,.button-secondary:hover{transform:none}}.subject-list__item span{color:var(--color-text);font-size:var(--font-size-body);line-height:var(--line-height-body)}.subject-list__remove{min-height:32px;color:var(--color-brand-soft);cursor:pointer;background:0 0;border:0;flex:none;padding:0}.subject-list__empty{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0}.summary-panel{padding:var(--space-4);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface-strong)}.summary-list{gap:var(--space-3);margin:0;display:grid}.summary-list__row{justify-content:space-between;gap:var(--space-4);display:flex}.summary-list__row dt,.summary-list__row dd{margin:0}.summary-list__row dt{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.summary-list__row dd{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);text-align:right;font-weight:700}.summary-list__row--stacked{display:grid}.summary-list__row--stacked dd{text-align:left;font-weight:400}@media (width>=520px){.flow-screen{gap:var(--space-6)}}.ad-slot{width:100%;min-height:58px;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);border:1px solid color-mix(in srgb, var(--color-brand) 13%, var(--color-border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-amber) 8%, var(--color-surface));font-size:var(--font-size-meta);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;place-items:center;font-weight:700;display:grid}.ad-slot--root{min-height:72px;margin-top:var(--space-2)}.ad-slot--library{margin:var(--space-2) 0}.ad-slot--calendar{flex:auto;width:auto;max-width:240px;min-height:56px;margin:0}.transient-notice{position:relative;overflow:hidden}.transient-notice__progress{transform-origin:0;opacity:.32;pointer-events:none;background:currentColor;height:3px;animation:5s linear forwards transient-notice-countdown;position:absolute;bottom:0;left:0;right:0}@keyframes transient-notice-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.transient-notice__progress{opacity:.22;animation:none}}.library-shell{place-items:start center;display:grid}.library-screen{gap:var(--space-3);width:min(100%,460px);display:grid}.library-header{align-items:center;gap:var(--space-4);padding-top:var(--space-2);grid-template-columns:auto 1fr;display:grid}.library-header h1{color:var(--color-brand);font-family:var(--font-family-display);letter-spacing:0;margin:0;font-size:1.75rem;font-weight:750;line-height:1.12}.library-kicker{color:var(--color-brand-soft);font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-weight:750}.library-kicker--topic{color:var(--color-topic-strong)}.library-kicker--question{color:var(--color-question-strong)}.library-back-button,.library-filter-button,.library-filter-close,.library-filter-reset,.library-filter-apply,.library-favorite-action,.library-danger-button{min-height:var(--touch-target-min);border-radius:var(--radius-control);cursor:pointer}.library-back-button,.library-filter-button,.library-filter-close,.library-filter-reset,.library-favorite-action{padding:0 var(--space-4);color:var(--color-brand);border:var(--border-hairline);background:var(--color-surface)}.library-back-button{padding-inline:var(--space-3);color:var(--color-brand);letter-spacing:.015em;align-self:center;font-size:.9rem;font-weight:700}.library-controls{gap:var(--space-2);grid-template-columns:1fr auto;align-items:center;display:grid}.library-type-switch{padding:var(--space-1);border:var(--border-hairline);border-radius:calc(var(--radius-panel) + 2px);background:color-mix(in srgb, var(--color-surface) 76%, var(--color-canvas));box-shadow:var(--shadow-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.library-type-switch button{min-height:var(--touch-target-min);padding:0 var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-control);cursor:pointer;font-size:var(--font-size-small);background:0 0;border:0;font-weight:700}.library-type-switch button[aria-pressed=true]{color:var(--color-brand);background:var(--color-surface-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-amber) 34%, var(--color-border)), var(--shadow-sm)}.library-snackbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);color:var(--color-brand);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-amber) 44%, var(--color-border));border-radius:var(--radius-row);background:var(--color-surface-strong);font-size:var(--font-size-small);display:flex}.library-snackbar button{min-height:36px;color:var(--color-brand);cursor:pointer;background:0 0;border:0;font-weight:700}.library-filter-button{font-size:var(--font-size-small);font-weight:750}.library-filter-button--open{z-index:35;position:relative}.library-filter-overlay{z-index:30;position:fixed;inset:0}.library-filter-backdrop{background:color-mix(in srgb, var(--color-brand) 20%, transparent);cursor:pointer;touch-action:none;border:0;width:100%;min-height:100%;padding:0;position:absolute;inset:0}.library-filter-sheet{border:var(--border-hairline);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-canvas));width:min(100%,500px);max-height:min(82dvh,680px);box-shadow:0 -18px 44px color-mix(in srgb, var(--color-brand) 18%, transparent);border-bottom:0;border-radius:18px 18px 0 0;grid-template-rows:auto 1fr auto;display:grid;position:absolute;bottom:0;right:50%;overflow:hidden;transform:translate(50%)}.library-filter-sheet__header,.library-filter-sheet__actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.library-filter-sheet__header{padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:var(--border-hairline)}.library-filter-sheet__body{gap:var(--space-3);overscroll-behavior:contain;min-height:0;padding:var(--space-3) var(--space-4);display:grid;overflow:auto}.library-filter-sheet__actions{padding:var(--space-3) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));border-top:var(--border-hairline);background:color-mix(in srgb, var(--color-surface) 96%, var(--color-canvas));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.library-filter-sheet h2{color:var(--color-brand);font-size:var(--font-size-emphasis);letter-spacing:0;margin:0;font-weight:750;line-height:1.15}.library-filter-sheet .field{gap:6px;display:grid}.library-filter-sheet .field__label,.library-filter-group legend{color:var(--color-brand-soft);font-size:var(--font-size-small);line-height:var(--line-height-meta);font-weight:750}.library-filter-sheet .field__input{background:var(--color-surface)}.library-filter-group{gap:var(--space-2);border:0;min-inline-size:0;margin:0;padding:0;display:grid}.library-filter-pair{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.library-filter-error{margin:calc(-1 * var(--space-1)) 0 0}.library-filter-apply{padding:0 var(--space-4);color:var(--color-surface);border:1px solid var(--color-brand);background:var(--color-brand)}.library-filter-reset,.library-filter-apply{width:100%;font-weight:750}.library-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.library-row{grid-template-columns:1fr var(--touch-target-min);border:1.5px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:stretch;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.library-row:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.library-row--topic{border-color:color-mix(in srgb, var(--color-topic) 26%, var(--color-border))}.library-row--question{border-color:color-mix(in srgb, var(--color-question) 26%, var(--color-border))}.library-row__open{min-height:88px;padding:var(--space-4);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;gap:5px;display:grid}.library-row__open strong{overflow-wrap:anywhere;color:var(--color-brand);font-family:var(--font-family-display);font-size:1.15rem;font-weight:760;line-height:1.25}.library-row__topline,.library-row__meta{color:var(--color-text-muted);font-size:.8125rem;line-height:1.32}.library-row__topline{align-items:center;gap:6px;font-weight:650;display:flex}.library-row__type{color:var(--color-brand);font-size:var(--font-size-meta);font-weight:800}.library-row--topic .library-row__type{color:var(--color-topic-strong)}.library-row--question .library-row__type{color:var(--color-question-strong)}.library-row__status{min-height:26px;color:var(--color-brand-soft);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-brand-soft) 22%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 72%, var(--color-canvas));font-size:var(--font-size-meta);border-radius:999px;justify-self:start;padding:4px 8px;font-weight:750;line-height:1.2}.library-row__favorite{min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-brand-soft);border:0;border-left:var(--border-hairline);background:color-mix(in srgb, var(--color-surface) 72%, var(--color-canvas));cursor:pointer;place-items:center;padding:0;font-size:1.45rem;display:grid}.library-row__favorite[aria-pressed=true]{color:var(--color-brand);background:color-mix(in srgb, var(--color-amber) 24%, var(--color-surface))}.library-empty{gap:var(--space-3);min-height:160px;padding:var(--space-5);text-align:center;border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);place-items:center;display:grid}.library-empty p{color:var(--color-text-muted);line-height:var(--line-height-body);margin:0}.library-detail-screen{padding-bottom:var(--space-6)}.library-detail-meta{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.library-detail-meta p{min-height:58px;padding:var(--space-3);border:var(--border-hairline);border-radius:var(--radius-row);background:var(--color-surface);gap:2px;margin:0;display:grid}.library-detail-meta strong{color:var(--color-brand-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.6875rem;font-weight:800;line-height:1.2}.library-detail-meta span{color:var(--color-brand);letter-spacing:.005em;overflow-wrap:anywhere;font-size:.96875rem;font-weight:650;line-height:1.25}.library-detail-actions{gap:var(--space-2);display:grid}.library-favorite-action{justify-content:center;align-items:center;gap:var(--space-2);letter-spacing:.01em;width:100%;font-size:.9rem;font-weight:700;display:flex}.library-detail-media{gap:var(--space-3);display:grid}.library-media-frame{width:100%;min-height:220px;padding:var(--space-3);color:var(--color-text);border:var(--border-hairline);border-radius:var(--radius-row);background:var(--color-surface);cursor:pointer;place-items:center;display:grid}.library-media-frame img{object-fit:contain;border-radius:var(--radius-row);max-width:100%;max-height:320px;display:block}.library-mock-page{align-content:start;gap:var(--space-3);width:min(100%,260px);min-height:220px;padding:var(--space-4);color:var(--color-text);border:var(--border-hairline);border-radius:var(--radius-row);background:var(--color-canvas);line-height:var(--line-height-body);display:grid}.library-mock-page strong{color:var(--color-brand)}.library-page-nav{grid-template-columns:var(--touch-target-min) 1fr var(--touch-target-min);align-items:center;gap:var(--space-2);display:grid}.library-page-nav button{min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;font-size:1.25rem}.library-page-nav button:disabled{cursor:not-allowed;opacity:.45}.library-page-nav span{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-small)}.library-danger-zone{justify-items:start;gap:var(--space-2);padding-top:var(--space-4);border-top:var(--border-hairline);display:grid}.library-danger-zone h2{color:var(--color-danger);font-size:var(--font-size-small);margin:0}.library-danger-button{padding:0 var(--space-4);color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 36%, var(--color-border));background:var(--color-surface)}.library-confirm{z-index:20;padding:var(--space-5);background:color-mix(in srgb, var(--color-brand) 18%, transparent);place-items:center;display:grid;position:fixed;inset:0}.library-confirm__panel{gap:var(--space-4);width:min(100%,360px);padding:var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);display:grid}.library-confirm h2,.library-confirm p{margin:0}.library-confirm h2{color:var(--color-brand);font-size:var(--font-size-emphasis);line-height:1.25}.library-confirm p{color:var(--color-text-muted);line-height:var(--line-height-body)}.library-confirm__actions{justify-content:flex-end;gap:var(--space-2);display:flex}.library-back-button:hover,.library-filter-button:hover,.library-row__open:hover,.library-row__favorite:hover,.library-favorite-action:hover,.library-media-frame:hover{border-color:color-mix(in srgb, var(--color-amber) 36%, var(--color-border));background:var(--color-surface-strong)}.library-back-button:focus-visible,.library-filter-button:focus-visible,.library-filter-close:focus-visible,.library-filter-reset:focus-visible,.library-filter-apply:focus-visible,.library-filter-backdrop:focus-visible,.library-type-switch button:focus-visible,.library-row__open:focus-visible,.library-row__favorite:focus-visible,.library-favorite-action:focus-visible,.library-media-frame:focus-visible,.library-page-nav button:focus-visible,.library-danger-button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media (width<=360px){.library-controls,.library-filter-pair,.library-detail-meta{grid-template-columns:1fr}}.profile-shell{place-items:start center;display:grid}.profile-screen{gap:var(--space-5);width:min(100%,460px);display:grid}.profile-header{min-height:var(--touch-target-min);padding-top:var(--space-2);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.profile-header__brand{align-items:center;gap:var(--space-2);color:var(--color-brand);font-size:var(--font-size-small);letter-spacing:.08em;font-weight:800;display:inline-flex}.profile-header__brand i{background:var(--color-amber);border-radius:3px;width:7px;height:5px}.profile-header__spacer{min-width:var(--touch-target-min)}.profile-back-button,.profile-text-button,.profile-logout-button,.profile-remove-button{min-height:var(--touch-target-min);color:var(--color-brand);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.profile-back-button{padding:0 var(--space-2);justify-self:start}.profile-text-button{padding:0 var(--space-2);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-amber) 65%, transparent);text-decoration-color:color-mix(in srgb, var(--color-amber) 65%, transparent);text-underline-offset:4px}.profile-summary{gap:var(--space-2);padding:var(--space-4) var(--space-1) var(--space-5);border-bottom:1px solid color-mix(in srgb, var(--color-brand) 14%, transparent);display:grid}.profile-summary h1,.profile-panel h1{color:var(--color-brand);font-family:var(--font-family-display);margin:0;font-size:clamp(1.65rem,7vw,2rem);font-weight:750;line-height:1.1}.profile-kicker{color:var(--color-brand-soft);font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:800}.profile-summary__education{margin:var(--space-1) 0 0;color:var(--color-text);font-size:1.2rem;font-weight:700}.profile-summary__track,.profile-summary__count{color:var(--color-text-muted);font-size:var(--font-size-small);margin:0}.profile-summary__count{margin-top:var(--space-2);color:var(--color-brand);font-weight:700}.profile-section,.profile-panel{gap:var(--space-4);padding:var(--space-6);border:1.5px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-canvas));box-shadow:var(--shadow-card);display:grid}.profile-section__heading{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.profile-section h2,.profile-dialog h2,.profile-dialog h3{margin:var(--space-1) 0 0;color:var(--color-brand);font-family:var(--font-family-display);font-size:1.35rem;line-height:1.25}.profile-section__count{padding-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-small);white-space:nowrap}.profile-section h2 .profile-section__count{margin-left:var(--space-1);padding-top:0;font-size:.85em;font-weight:650}.profile-details{gap:0;margin:0;display:grid}.profile-details>div{gap:var(--space-4);padding:var(--space-4) 0;border-top:var(--border-hairline);grid-template-columns:minmax(96px,.8fr) minmax(0,1.2fr);display:grid}.profile-details>div:first-child{border-top:0}.profile-details dt,.profile-details dd{overflow-wrap:anywhere;margin:0}.profile-details dt{color:var(--color-text-muted);font-size:var(--font-size-small)}.profile-details dd{color:var(--color-text);font-size:var(--font-size-small);text-align:right;font-weight:700}.profile-subject-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.profile-subject-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) 0;border-top:var(--border-hairline);display:flex}.profile-subject-row__copy{gap:2px;min-width:0;display:grid}.profile-subject-row__copy strong,.profile-subject-row__state,.profile-subject-row__reason{overflow-wrap:anywhere}.profile-subject-row__copy strong{color:var(--color-text)}.profile-subject-row__state,.profile-subject-row__reason,.profile-muted{color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-meta)}.profile-subject-row__state{color:var(--color-topic-strong);font-weight:700}.profile-subject-row__reason{color:var(--color-danger)}.profile-remove-button{min-width:68px;padding:0 var(--space-2);color:var(--color-danger);font-size:var(--font-size-small);flex:none}.profile-subject-menu-trigger{width:var(--touch-target-min);height:var(--touch-target-min);color:var(--color-brand);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.35rem;line-height:1;display:grid}.profile-subject-menu-trigger:hover,.profile-subject-menu-trigger:focus-visible{background:color-mix(in srgb, var(--color-brand) 8%, transparent)}.profile-archive-link{padding:var(--space-1) 0;color:var(--color-brand-soft);font:inherit;font-size:var(--font-size-small);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;font-weight:700;text-decoration:underline}.profile-action-list{gap:var(--space-2);display:grid}.profile-action-list__button{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border:var(--border-hairline);border-radius:var(--radius-control);color:var(--color-brand);background:var(--color-canvas);font:inherit;text-align:left;cursor:pointer;font-weight:700}.profile-action-list__button--danger,.profile-danger-text-button{color:var(--color-danger)}.profile-action-list__button:disabled,.profile-archived-actions button:disabled{cursor:not-allowed;opacity:.5}.profile-archived-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-account-actions{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding-top:var(--space-2);border-top:var(--border-hairline);flex-wrap:wrap;display:flex}.profile-legal-section{gap:var(--space-3)}.profile-legal-links{gap:0;display:grid}.profile-legal-links a{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--touch-target-min);padding:var(--space-3) 0;border-top:var(--border-hairline);color:var(--color-text);text-decoration:none;display:flex}.profile-legal-links a>span:first-child{gap:var(--space-1);min-width:0;display:grid}.profile-legal-links strong,.profile-legal-links small{overflow-wrap:anywhere}.profile-legal-links strong{color:var(--color-brand)}.profile-legal-links small{color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:var(--line-height-meta)}.profile-legal-links__arrow{color:var(--color-amber);flex:none;font-size:1.15rem;transition:transform .16s}.profile-legal-links a:hover .profile-legal-links__arrow,.profile-legal-links a:focus-visible .profile-legal-links__arrow{transform:translate(2px,-2px)}.profile-add-area{gap:var(--space-3);padding-top:var(--space-2);display:grid}.profile-add-trigger{justify-self:start;width:auto}.profile-form{gap:var(--space-4);display:grid}.profile-panel__heading{gap:var(--space-2);display:grid}.profile-panel__heading>p:last-child,.profile-dialog>p:not(.profile-kicker){color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:0}.profile-readonly-field{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-canvas);display:grid}.profile-readonly-field strong{color:var(--color-text)}.profile-actions{gap:var(--space-3);display:flex}.profile-actions .button-primary,.profile-actions .button-secondary{flex:1 1 0;width:auto}.profile-session-section{margin-bottom:var(--space-8)}.profile-logout-button{min-width:var(--touch-target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-brand-soft);font-size:var(--font-size-small);text-align:left;background:0 0;font-weight:750}.profile-delete-account-button{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--color-danger) 42%, var(--color-border));border-radius:var(--radius-control);color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 6%, var(--color-surface));font:inherit;font-size:var(--font-size-small);text-align:right;cursor:pointer;font-weight:700}.profile-logout-button:hover,.profile-logout-button:focus-visible{color:var(--color-brand);background:color-mix(in srgb, var(--color-brand) 7%, transparent)}.profile-delete-account-button:hover,.profile-delete-account-button:focus-visible{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 11%, var(--color-surface))}.profile-delete-account-button:active{background:color-mix(in srgb, var(--color-danger) 16%, var(--color-surface))}.profile-delete-confirm-button{border-radius:var(--radius-control);width:auto;padding:var(--space-3) var(--space-4);color:var(--color-surface);background:var(--color-danger);font:inherit;border:0;flex:1 1 0;font-weight:700}.profile-delete-confirm-button:disabled,.profile-delete-account-button:disabled{cursor:not-allowed;opacity:.55}.profile-dialog-overlay{z-index:10;padding:var(--space-5);background:color-mix(in srgb, var(--color-brand) 20%, transparent);place-items:end center;display:grid;position:fixed;inset:0}.profile-dialog-backdrop{cursor:default;background:0 0;border:0;width:100%;position:absolute;inset:0}.profile-dialog{gap:var(--space-3);width:min(100%,420px);padding:var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:0 -8px 24px color-mix(in srgb, var(--color-brand) 12%, transparent);display:grid;position:relative}.profile-dialog .profile-actions{margin-top:var(--space-2)}.profile-add-sheet-overlay{z-index:30;position:fixed;inset:0}.profile-add-sheet-backdrop{background:color-mix(in srgb, var(--color-brand) 20%, transparent);cursor:pointer;touch-action:none;border:0;width:100%;min-height:100%;padding:0;position:absolute;inset:0}.profile-add-sheet{border:var(--border-hairline);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-canvas));width:min(100%,460px);max-height:min(82dvh,600px);box-shadow:0 -18px 44px color-mix(in srgb, var(--color-brand) 18%, transparent);border-bottom:0;border-radius:18px 18px 0 0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;bottom:0;right:50%;overflow:hidden;transform:translate(50%)}.profile-add-sheet__header{gap:var(--space-1);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:var(--border-hairline);display:grid}.profile-add-sheet__header h2{color:var(--color-brand);font-size:var(--font-size-emphasis);margin:0;font-weight:750;line-height:1.15}.profile-add-sheet__body{align-content:start;gap:var(--space-3);overscroll-behavior:contain;min-height:0;padding:var(--space-4);display:grid;overflow:auto}.profile-add-sheet__body .field{gap:var(--space-2);display:grid}.profile-add-sheet .field__label,.profile-option-group legend{color:var(--color-brand-soft);font-size:var(--font-size-small);line-height:var(--line-height-meta);font-weight:750}.profile-option-group{gap:var(--space-2);border:0;min-inline-size:0;margin:0;padding:0;display:grid}.profile-option-list{border-top:var(--border-hairline);gap:0;display:grid}.profile-option{align-items:center;gap:var(--space-3);min-height:var(--touch-target-min);padding:var(--space-2) 0;border-bottom:var(--border-hairline);color:var(--color-text);cursor:pointer;display:flex}.profile-option input{width:18px;height:18px;accent-color:var(--color-brand);flex:none}.profile-option span{overflow-wrap:anywhere;min-width:0}.profile-add-sheet__footer{gap:var(--space-3);padding:var(--space-3) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));border-top:var(--border-hairline);background:color-mix(in srgb, var(--color-surface) 96%, var(--color-canvas));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-add-sheet__footer .button-primary,.profile-add-sheet__footer .button-secondary{width:auto}.profile-back-button:focus-visible,.profile-text-button:focus-visible,.profile-logout-button:focus-visible,.profile-delete-account-button:focus-visible,.profile-remove-button:focus-visible,.profile-add-trigger:focus-visible,.profile-dialog-backdrop:focus-visible,.profile-add-sheet-backdrop:focus-visible,.profile-add-sheet input:focus-visible,.profile-add-sheet button:focus-visible,.profile-subject-menu-trigger:focus-visible,.profile-archive-link:focus-visible,.profile-action-list__button:focus-visible,.profile-archived-actions button:focus-visible,.profile-legal-links a:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media (width<=359px){.profile-section,.profile-panel{padding:var(--space-4)}.profile-details>div{gap:var(--space-1);grid-template-columns:1fr}.profile-details dd{text-align:left}.profile-account-actions{gap:var(--space-2)}.profile-account-actions>button{flex:auto}}.question-shell{padding-bottom:max(6rem, calc(var(--space-8) + env(safe-area-inset-bottom)));place-items:start center;display:grid}.question-calendar-shell{height:100svh;overflow:hidden}.question-screen{width:min(100%,460px);max-width:100%;min-height:calc(100svh - max(var(--space-6), env(safe-area-inset-top)) - max(6rem, calc(var(--space-8) + env(safe-area-inset-bottom))));gap:var(--space-4);flex-direction:column;min-width:0;display:flex;position:relative;overflow-x:hidden}.question-calendar-shell .question-screen{height:calc(100svh - max(var(--space-6), env(safe-area-inset-top)) - max(6rem, calc(var(--space-8) + env(safe-area-inset-bottom))));min-height:0}.question-header{align-items:start;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-1) var(--space-4);border-bottom:1px solid color-mix(in srgb, var(--color-question) 24%, transparent);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.question-header h1,.question-panel h2,.question-stage-group h3{color:var(--color-brand);letter-spacing:var(--letter-spacing-heading);margin:0}.question-header h1{font-family:var(--font-family-display);font-size:1.4rem;line-height:1.2}.question-kicker{margin:0 0 var(--space-1);color:var(--color-question-strong);font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.question-compact-meta{margin:var(--space-1) 0 0;color:var(--color-text-muted);letter-spacing:.01em;font-size:.8125rem;font-weight:600;line-height:1.35}.question-back-button,.question-today-button,.question-options__button{min-height:var(--touch-target-min);border:var(--border-hairline);border-radius:var(--radius-control);cursor:pointer}.question-back-button{min-width:var(--touch-target-min);padding:0 var(--space-3);color:var(--color-brand);background:var(--color-surface);letter-spacing:.015em;font-size:.9rem;font-weight:700}.question-today-button{padding:0 var(--space-3);color:var(--color-question-strong);border-color:color-mix(in srgb, var(--color-question) 38%, var(--color-border));background:var(--color-question-surface);font-weight:700}.question-filter-bar{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-width:0;max-width:100%;display:grid}.question-filter-button{min-height:40px;padding:0 var(--space-3);color:var(--color-question-strong);border:var(--border-hairline);border-radius:var(--radius-control);border-color:color-mix(in srgb, var(--color-question) 46%, var(--color-border));background:color-mix(in srgb, var(--color-question-surface) 72%, var(--color-surface));cursor:pointer;white-space:nowrap;font-weight:700}.question-filter-summary{overflow-wrap:anywhere;min-width:0;color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.question-filter-sheet{gap:var(--space-4);width:100%;min-width:0;max-width:100%;padding:var(--space-4);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-question) 38%, var(--color-border));border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 95%, var(--color-question-surface));box-shadow:0 14px 32px color-mix(in srgb, var(--color-brand) 10%, transparent);display:grid}.question-filter-sheet__header,.question-filter-sheet__actions{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.question-filter-sheet h2{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.question-filter-sheet fieldset{gap:var(--space-2);border:0;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.question-filter-sheet legend{margin-bottom:var(--space-1);color:var(--color-brand-soft);font-size:var(--font-size-small);grid-column:1/-1;font-weight:700}.question-filter-sheet label{align-items:center;gap:var(--space-2);min-width:0;min-height:38px;padding:var(--space-2) var(--space-3);color:var(--color-text);border:var(--border-hairline);border-radius:var(--radius-row);background:var(--color-surface);cursor:pointer;display:flex}.question-filter-sheet label:has(input:checked){border-color:var(--color-question-strong);background:var(--color-question-surface)}.question-filter-sheet input{accent-color:var(--color-question-strong);flex:none}.question-filter-sheet label span{overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-small);line-height:var(--line-height-meta)}.question-filter-close,.question-filter-reset,.question-filter-apply{min-height:38px;padding:0 var(--space-3);border:var(--border-hairline);border-radius:var(--radius-control);cursor:pointer}.question-filter-close,.question-filter-reset{color:var(--color-brand-soft);background:var(--color-surface)}.question-filter-apply{color:var(--color-surface);border-color:var(--color-question-strong);background:var(--color-question-strong);font-weight:700}.question-outside-entry{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 var(--space-4);color:var(--color-brand);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-question) 28%, var(--color-border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-question-surface) 52%, transparent);font-size:var(--font-size-small);cursor:pointer;font-weight:700;display:flex}.question-outside-entry span[aria-hidden=true]{color:var(--color-question-strong);font-size:1.25rem;line-height:1}.question-day-list{gap:var(--space-4);width:100%;max-width:100%;height:auto;min-height:0;padding:var(--space-1) var(--space-1) 6.25rem;scroll-behavior:auto;flex-direction:column;flex:auto;display:flex;overflow:hidden auto}.question-day-card{border:1.5px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-canvas));width:100%;min-width:0;max-width:100%;min-height:156px;box-shadow:var(--shadow-card);flex:none;transition:border-color .14s,background-color .14s,opacity .14s,box-shadow .18s,transform .18s;position:relative}.question-day-card:not(.question-day-card--empty):before{top:var(--space-4);bottom:var(--space-4);background:color-mix(in srgb, var(--color-question-strong) 72%, var(--color-question));content:"";border-radius:0 4px 4px 0;width:4px;position:absolute;left:0}.question-day-card--today{background:color-mix(in srgb, var(--color-question-surface) 58%, var(--color-surface));border-color:var(--color-question-strong);box-shadow:var(--shadow-card), inset 0 0 0 1px color-mix(in srgb, var(--color-question-strong) 38%, transparent)}.question-day-card--expanded{background:color-mix(in srgb, var(--color-question-surface) 34%, var(--color-surface));border-color:var(--color-question-strong);box-shadow:var(--shadow-card)}.question-day-card--empty{background:color-mix(in srgb, var(--color-surface) 60%, var(--color-canvas));border-color:color-mix(in srgb, var(--color-border) 70%, transparent);box-shadow:none}.question-day-card--today.question-day-card--empty{background:color-mix(in srgb, var(--color-question-surface) 48%, var(--color-surface));border-color:var(--color-question-strong)}.question-day-card--expanded.question-day-card--empty{background:color-mix(in srgb, var(--color-question-surface) 34%, var(--color-surface));border-color:var(--color-question-strong)}.question-day-card:not(.question-day-card--empty):hover{border-color:var(--color-question-strong);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.question-day-card__button{width:100%;min-width:0;max-width:100%;min-height:146px;padding:var(--space-5);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;display:grid}.question-day-card__topline,.question-day-card__subjects{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.question-day-card__eyebrow{color:var(--color-brand-soft);font-size:var(--font-size-meta);line-height:var(--line-height-meta);text-transform:uppercase;font-weight:700}.question-day-card--today .question-day-card__eyebrow{color:var(--color-question-strong)}.question-day-card__topline strong{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:800}.question-day-card--empty .question-day-card__topline strong,.question-day-card--empty .question-day-card__eyebrow{color:var(--color-text-muted);font-weight:650}.question-day-card__date{margin-top:var(--space-5);color:var(--color-brand);font-family:var(--font-family-display);font-size:1.25rem;font-weight:800;line-height:1.25}.question-day-card__subjects{margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.question-day-card__expanded{gap:var(--space-4);min-width:0;margin:0 var(--space-5) var(--space-5);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-question) 24%, transparent);border-radius:var(--radius-row);background:color-mix(in srgb, var(--color-question-surface) 46%, var(--color-surface));display:grid}.question-stage-group{gap:var(--space-2);min-width:0;display:grid}.question-stage-group h3{color:var(--color-question-strong);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.question-card-list{gap:var(--space-2);min-width:0;display:grid}.question-metadata-card{gap:var(--space-1) var(--space-3);width:100%;min-width:0;max-width:100%;min-height:var(--touch-target-min);padding:var(--space-3);color:var(--color-text);text-align:left;border:1.5px solid var(--color-border);border-radius:var(--radius-row);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.question-metadata-card:hover{border-color:var(--color-question-strong);box-shadow:var(--shadow-card);transform:translateY(-1px)}.question-metadata-card:after{content:"›";color:var(--color-question-strong);grid-area:1/2/span 3;align-self:center;font-size:1.5rem;line-height:1}.question-metadata-card__subject,.question-metadata-card__title,.question-metadata-card__meta{grid-column:1;min-width:0}.question-metadata-card__subject{color:var(--color-question-strong);font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:700}.question-metadata-card__title{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:700}.question-metadata-card__meta,.question-empty-copy,.question-capture-panel p{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0}.question-fab{width:64px;height:64px;color:var(--color-surface);background:var(--color-question-strong);box-shadow:var(--shadow-floating);cursor:pointer;border:0;border-radius:50%;flex:0 0 64px;place-items:center;transition:transform .18s,box-shadow .18s;display:grid}.calendar-bottom-action-row .question-fab{margin-left:auto}.question-fab:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)scale(1.03)}.question-fab span[aria-hidden=true]{font-size:2rem;line-height:1}.question-snackbar{right:max(var(--space-5), env(safe-area-inset-right));bottom:max(5.75rem, calc(var(--space-5) + env(safe-area-inset-bottom) + var(--yanki-ad-bottom-inset)));z-index:30;align-items:center;gap:var(--space-3);max-width:min(390px,100vw - 2.5rem);padding:var(--space-3) var(--space-4);color:var(--color-brand);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-question) 36%, var(--color-border));border-radius:var(--radius-control);background:var(--color-surface);display:flex;position:fixed}.question-snackbar button{min-height:34px;padding:0 var(--space-2);color:var(--color-question-strong);cursor:pointer;background:0 0;border:0;font-weight:700}.question-calendar-shell .question-snackbar{bottom:max(5.75rem, calc(var(--space-5) + env(safe-area-inset-bottom) + var(--yanki-ad-bottom-inset) + 5rem))}.question-panel{gap:var(--space-4);padding:var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-canvas));box-shadow:var(--shadow-card);display:grid}.question-outside-panel{padding:var(--space-4)}.question-outside-list{margin:0;padding:0;list-style:none}.question-viewer-screen{gap:var(--space-4)}.question-viewer-header{grid-template-columns:auto minmax(0,1fr) auto}.question-options{position:relative}.question-options__button{padding:0 var(--space-3);color:var(--color-brand);background:var(--color-surface)}.question-options__panel{right:0;top:calc(100% + var(--space-2));z-index:40;min-width:min(240px,100vw - 2rem);padding:var(--space-2);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);position:absolute}.question-options__panel p{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0}.question-options__panel button,.question-options__panel span{width:100%;min-height:var(--touch-target-min);padding:0 var(--space-3);color:var(--color-brand);text-align:left;background:0 0;border:0;display:block}.question-viewer{gap:var(--space-3);min-height:0;display:grid}.question-viewer__frame{border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);place-items:center;min-height:360px;display:grid;overflow:hidden}.question-viewer__open{width:100%;color:inherit;cursor:zoom-in;padding:0}.question-viewer__image{object-fit:contain;width:100%;max-height:520px;display:block}.question-viewer__mock-page{align-content:start;gap:var(--space-4);width:min(100%,320px);min-height:300px;padding:var(--space-6);background:var(--color-surface);display:grid}.question-viewer__mock-page strong,.question-viewer__mock-page span{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:block}.question-viewer__mock-page strong{color:var(--color-brand);font-size:var(--font-size-emphasis)}.question-viewer__mock-page span{color:var(--color-text);font-size:var(--font-size-body)}.question-meta-panel{gap:var(--space-2);padding:var(--space-3);border:var(--border-hairline);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-question-surface) 38%, var(--color-surface));display:grid}.question-meta-panel:empty{display:none}.question-meta-panel p{justify-content:space-between;gap:var(--space-4);color:var(--color-text-muted);margin:0;font-size:.96875rem;line-height:1.25;display:flex}.question-meta-panel strong{color:var(--color-brand-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.6875rem;font-weight:800;line-height:1.2}.question-meta-panel span{min-width:0;color:var(--color-brand);letter-spacing:.005em;overflow-wrap:anywhere;text-align:right;font-weight:650}.question-review-bar{bottom:max(var(--space-3), env(safe-area-inset-bottom));gap:var(--space-3);padding:var(--space-3);border:var(--border-hairline);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 96%, var(--color-canvas));display:grid;position:sticky}.question-feedback{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.question-feedback__heading{color:var(--color-brand);font-size:var(--font-size-emphasis);margin:0;font-weight:700}.question-feedback__options{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.question-feedback-button{min-height:var(--touch-target-min);padding:var(--space-2);color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;transition:background-color .14s,border-color .14s,box-shadow .14s}.question-feedback-button--hard{background:#f8e8eb;border-color:#d9b6bf}.question-feedback-button--partial{background:#fbf1d9;border-color:#e4c98e}.question-feedback-button--easy{background:#eaf3e8;border-color:#b8d0b8}.question-feedback-button[aria-pressed=true]{border-color:var(--color-brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-brand) 18%, transparent);font-weight:700}.question-snackbar--viewer{bottom:max(6.5rem, calc(var(--space-5) + env(safe-area-inset-bottom)))}.question-create-form{gap:var(--space-5);min-width:0;padding-bottom:var(--space-6);align-content:start;display:grid}.question-capture-panel,.question-selected-image{gap:var(--space-3);min-width:0;display:grid}.question-capture-panel h2,.question-selected-image h2{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.question-capture-actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.question-capture-action{min-height:72px;padding:var(--space-3);color:var(--color-question-strong);text-align:center;border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);cursor:pointer;place-items:center;font-weight:700;display:grid}.question-capture-action--primary{color:var(--color-surface);border-color:var(--color-question-strong);background:var(--color-question-strong)}.question-capture-action input,.question-image-actions input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.question-image-preview{border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);place-items:center;min-width:0;max-width:100%;min-height:220px;max-height:320px;display:grid;overflow:hidden}.question-image-preview img{object-fit:contain;width:100%;max-height:320px;display:block}.question-image-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.question-image-actions button,.question-image-actions label{min-height:var(--touch-target-min);color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;place-items:center;font-weight:700;display:inline-grid}.question-textarea{min-height:88px;padding-top:var(--space-3);resize:vertical}.question-create-actions{gap:var(--space-2);display:grid}.question-create-actions .button-secondary{background:0 0;border-color:#0000}.question-shell .topic-kicker{color:var(--color-question-strong)}.question-shell .topic-study-controls button[aria-pressed=true]{border-color:var(--color-question-strong);background:var(--color-question-surface)}.question-back-button:focus-visible,.question-today-button:focus-visible,.question-filter-button:focus-visible,.question-filter-close:focus-visible,.question-filter-reset:focus-visible,.question-filter-apply:focus-visible,.question-filter-sheet input:focus-visible,.question-outside-entry:focus-visible,.question-day-card__button:focus-visible,.question-metadata-card:focus-visible,.question-fab:focus-visible,.question-options__button:focus-visible,.question-options__panel button:focus-visible,.question-viewer__open:focus-visible,.question-feedback-button:focus-visible,.question-capture-action:focus-within,.question-image-actions button:focus-visible,.question-image-actions label:focus-within,.question-shell .topic-study-toolbar button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media (width<=360px){.question-header,.question-viewer-header{grid-template-columns:auto minmax(0,1fr)}.question-today-button,.question-options{grid-column:2;justify-self:start}.question-feedback__options,.question-capture-actions,.question-filter-sheet fieldset{grid-template-columns:1fr}}.topic-shell{padding-bottom:max(6rem, calc(var(--space-8) + env(safe-area-inset-bottom)));place-items:start center;display:grid}.topic-calendar-shell{height:100svh;overflow:hidden}.topic-screen{width:min(100%,460px);max-width:100%;min-height:calc(100svh - max(var(--space-6), env(safe-area-inset-top)) - max(6rem, calc(var(--space-8) + env(safe-area-inset-bottom))));gap:var(--space-4);flex-direction:column;min-width:0;display:flex;position:relative;overflow-x:hidden}.topic-calendar-shell .topic-screen{height:calc(100svh - max(var(--space-6), env(safe-area-inset-top)) - max(6rem, calc(var(--space-8) + env(safe-area-inset-bottom))));min-height:0}.topic-header{align-items:start;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-1) var(--space-4);border-bottom:1px solid color-mix(in srgb, var(--color-topic) 24%, transparent);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.topic-header h1,.topic-panel h2,.topic-stage-group h3{color:var(--color-brand);letter-spacing:var(--letter-spacing-heading);margin:0}.topic-header h1{font-family:var(--font-family-display);font-size:1.4rem;line-height:1.2}.topic-kicker{margin:0 0 var(--space-1);color:var(--color-topic-strong);font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.topic-compact-meta{margin:var(--space-1) 0 0;color:var(--color-text-muted);letter-spacing:.01em;font-size:.8125rem;font-weight:600;line-height:1.35}.topic-back-button,.topic-today-button,.topic-options__button{min-height:var(--touch-target-min);border:var(--border-hairline);border-radius:var(--radius-control);cursor:pointer}.topic-back-button{min-width:var(--touch-target-min);padding:0 var(--space-3);color:var(--color-brand);background:var(--color-surface);letter-spacing:.015em;font-size:.9rem;font-weight:700}.topic-today-button{padding:0 var(--space-3);color:var(--color-topic-strong);border-color:color-mix(in srgb, var(--color-topic) 38%, var(--color-border));background:var(--color-topic-surface);font-weight:700}.topic-filter-bar{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-width:0;max-width:100%;display:grid}.topic-filter-button{min-height:40px;padding:0 var(--space-3);color:var(--color-topic-strong);border:var(--border-hairline);border-radius:var(--radius-control);border-color:color-mix(in srgb, var(--color-topic) 46%, var(--color-border));background:color-mix(in srgb, var(--color-topic-surface) 72%, var(--color-surface));cursor:pointer;white-space:nowrap;font-weight:700}.topic-filter-summary{overflow-wrap:anywhere;min-width:0;color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.topic-filter-sheet{gap:var(--space-4);width:100%;min-width:0;max-width:100%;padding:var(--space-4);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-topic) 38%, var(--color-border));border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 95%, var(--color-topic-surface));box-shadow:0 14px 32px color-mix(in srgb, var(--color-brand) 10%, transparent);display:grid}.topic-filter-sheet__header,.topic-filter-sheet__actions{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.topic-filter-sheet h2{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.topic-filter-sheet fieldset{gap:var(--space-2);border:0;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.topic-filter-sheet legend{margin-bottom:var(--space-1);color:var(--color-brand-soft);font-size:var(--font-size-small);grid-column:1/-1;font-weight:700}.topic-filter-sheet label{align-items:center;gap:var(--space-2);min-width:0;min-height:38px;padding:var(--space-2) var(--space-3);color:var(--color-text);border:var(--border-hairline);border-radius:var(--radius-row);background:var(--color-surface);cursor:pointer;display:flex}.topic-filter-sheet label:has(input:checked){border-color:var(--color-topic-strong);background:var(--color-topic-surface)}.topic-filter-sheet input{accent-color:var(--color-topic-strong);flex:none}.topic-filter-sheet label span{overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-small);line-height:var(--line-height-meta)}.topic-filter-close,.topic-filter-reset,.topic-filter-apply{min-height:38px;padding:0 var(--space-3);border:var(--border-hairline);border-radius:var(--radius-control);cursor:pointer}.topic-filter-close,.topic-filter-reset{color:var(--color-brand-soft);background:var(--color-surface)}.topic-filter-apply{color:var(--color-surface);border-color:var(--color-topic-strong);background:var(--color-topic-strong);font-weight:700}.topic-outside-entry{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 var(--space-4);color:var(--color-brand);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-topic) 28%, var(--color-border));border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-topic-surface) 45%, transparent);font-size:var(--font-size-small);cursor:pointer;font-weight:700;display:flex}.topic-outside-entry span[aria-hidden=true]{color:var(--color-topic-strong);font-size:1.25rem;line-height:1}.topic-day-list{gap:var(--space-4);width:100%;max-width:100%;height:auto;min-height:0;padding:var(--space-1) var(--space-1) 6.25rem;scroll-behavior:auto;flex-direction:column;flex:auto;display:flex;overflow:hidden auto}.topic-day-card{border:1.5px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 92%, var(--color-canvas));width:100%;min-width:0;max-width:100%;min-height:164px;box-shadow:var(--shadow-card);flex:none;transition:border-color .14s,background-color .14s,box-shadow .18s,transform .18s;position:relative}.topic-day-card:not(.topic-day-card--empty):before{top:var(--space-4);bottom:var(--space-4);background:color-mix(in srgb, var(--color-topic-strong) 72%, var(--color-topic));content:"";border-radius:0 4px 4px 0;width:4px;position:absolute;left:0}.topic-day-card--today{background:color-mix(in srgb, var(--color-topic-surface) 58%, var(--color-surface));border-color:var(--color-topic-strong);box-shadow:var(--shadow-card), inset 0 0 0 1px color-mix(in srgb, var(--color-topic-strong) 38%, transparent)}.topic-day-card--expanded{background:color-mix(in srgb, var(--color-topic-surface) 34%, var(--color-surface));border-color:var(--color-topic-strong);box-shadow:var(--shadow-card)}.topic-day-card--empty{background:color-mix(in srgb, var(--color-surface) 60%, var(--color-canvas));border-color:color-mix(in srgb, var(--color-border) 70%, transparent);box-shadow:none}.topic-day-card--today.topic-day-card--empty{background:color-mix(in srgb, var(--color-topic-surface) 48%, var(--color-surface));border-color:var(--color-topic-strong)}.topic-day-card--expanded.topic-day-card--empty{background:color-mix(in srgb, var(--color-topic-surface) 34%, var(--color-surface));border-color:var(--color-topic-strong)}.topic-day-card:not(.topic-day-card--empty):hover{border-color:var(--color-topic-strong);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.topic-day-card__button{width:100%;min-width:0;max-width:100%;min-height:154px;padding:var(--space-5);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;display:grid}.topic-day-card__topline,.topic-day-card__subjects{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.topic-day-card__eyebrow{color:var(--color-brand-soft);font-size:var(--font-size-meta);line-height:var(--line-height-meta);text-transform:uppercase;font-weight:700}.topic-day-card--today .topic-day-card__eyebrow{color:var(--color-topic-strong)}.topic-day-card__topline strong{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:800}.topic-day-card--empty .topic-day-card__topline strong,.topic-day-card--empty .topic-day-card__eyebrow{color:var(--color-text-muted);font-weight:650}.topic-day-card__date{margin-top:var(--space-5);color:var(--color-brand);font-family:var(--font-family-display);font-size:1.25rem;font-weight:800;line-height:1.25}.topic-day-card__subjects{margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.topic-day-card__expanded{gap:var(--space-4);min-width:0;margin:0 var(--space-5) var(--space-5);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-topic) 24%, transparent);border-radius:var(--radius-row);background:color-mix(in srgb, var(--color-topic-surface) 46%, var(--color-surface));display:grid}.topic-stage-group{gap:var(--space-2);min-width:0;display:grid}.topic-stage-group h3{color:var(--color-topic-strong);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.topic-card-list{gap:var(--space-2);min-width:0;display:grid}.topic-metadata-card{gap:var(--space-1) var(--space-3);width:100%;min-width:0;max-width:100%;min-height:var(--touch-target-min);padding:var(--space-3);color:var(--color-text);text-align:left;border:1.5px solid var(--color-border);border-radius:var(--radius-row);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.topic-metadata-card:hover{border-color:var(--color-topic-strong);box-shadow:var(--shadow-card);transform:translateY(-1px)}.topic-metadata-card:after{content:"›";color:var(--color-topic-strong);grid-area:1/2/span 3;align-self:center;font-size:1.5rem;line-height:1}.topic-metadata-card__subject,.topic-metadata-card__title,.topic-metadata-card__meta{grid-column:1;min-width:0}.topic-metadata-card__subject{color:var(--color-topic-strong);font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:700}.topic-metadata-card__title{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:700}.topic-metadata-card__meta,.topic-empty-copy{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta)}.topic-sequential-entry{width:100%}.topic-fab{width:64px;height:64px;color:var(--color-surface);background:var(--color-topic-strong);box-shadow:var(--shadow-floating);cursor:pointer;border:0;border-radius:50%;flex:0 0 64px;place-items:center;transition:transform .18s,box-shadow .18s;display:grid}.calendar-bottom-action-row{left:50%;bottom:max(var(--space-2), calc(env(safe-area-inset-bottom) + var(--yanki-ad-bottom-inset)));z-index:15;justify-content:space-between;align-items:center;gap:var(--space-3);width:min(calc(100vw - (2 * var(--space-5))), 460px);min-width:0;padding:var(--space-2) 0;background:var(--color-canvas);display:flex;position:fixed;transform:translate(-50%)}.calendar-bottom-action-row .topic-fab{margin-left:auto}.topic-fab:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)scale(1.03)}.topic-fab span[aria-hidden=true]{font-size:2rem;line-height:1}.topic-snackbar{right:max(var(--space-5), env(safe-area-inset-right));bottom:max(5.75rem, calc(var(--space-5) + env(safe-area-inset-bottom) + var(--yanki-ad-bottom-inset)));z-index:30;align-items:center;gap:var(--space-3);max-width:min(390px,100vw - 2.5rem);padding:var(--space-3) var(--space-4);color:var(--color-brand);border:var(--border-hairline);border-color:color-mix(in srgb, var(--color-topic) 36%, var(--color-border));border-radius:var(--radius-control);background:var(--color-surface);display:flex;position:fixed}.topic-snackbar button{min-height:34px;padding:0 var(--space-2);color:var(--color-topic-strong);cursor:pointer;background:0 0;border:0;font-weight:700}.topic-calendar-shell .topic-snackbar{bottom:max(5.75rem, calc(var(--space-5) + env(safe-area-inset-bottom) + var(--yanki-ad-bottom-inset) + 5rem))}.topic-panel{gap:var(--space-4);padding:var(--space-5);border:var(--border-hairline);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-canvas));box-shadow:var(--shadow-card);display:grid}.topic-viewer-screen{gap:var(--space-4)}.topic-viewer-header{grid-template-columns:auto minmax(0,1fr) auto}.topic-options{position:relative}.topic-options__button{padding:0 var(--space-3);color:var(--color-brand);background:var(--color-surface)}.topic-options__panel{right:0;top:calc(100% + var(--space-2));z-index:40;min-width:min(240px,100vw - 2rem);padding:var(--space-2);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);position:absolute}.topic-options__panel p{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-meta);margin:0}.topic-options__panel button,.topic-options__panel span{width:100%;min-height:var(--touch-target-min);padding:0 var(--space-3);color:var(--color-brand);text-align:left;background:0 0;border:0;display:block}.topic-viewer{gap:var(--space-3);min-height:0;display:grid}.topic-viewer__frame{border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);place-items:center;min-height:360px;display:grid;overflow:hidden}.topic-viewer__open{width:100%;color:inherit;cursor:zoom-in;padding:0}.topic-viewer__image{object-fit:contain;width:100%;max-height:520px;display:block}.topic-viewer__mock-page{align-content:start;gap:var(--space-4);width:min(100%,320px);min-height:300px;padding:var(--space-6);background:var(--color-surface);display:grid}.topic-viewer__mock-page strong,.topic-viewer__mock-page span{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:block}.topic-viewer__mock-page strong{color:var(--color-brand);font-size:var(--font-size-emphasis)}.topic-viewer__mock-page span{color:var(--color-text);font-size:var(--font-size-body)}.topic-page-nav{grid-template-columns:var(--touch-target-min) 1fr var(--touch-target-min);align-items:center;gap:var(--space-3);display:grid}.topic-page-nav button{min-height:var(--touch-target-min);color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer}.topic-page-nav button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.48}.topic-page-nav span{color:var(--color-brand);text-align:center;font-weight:700}.topic-review-bar{bottom:max(var(--space-3), env(safe-area-inset-bottom));gap:var(--space-3);padding:var(--space-3);border:var(--border-hairline);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--color-surface) 96%, var(--color-canvas));display:grid;position:sticky}.topic-feedback{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.topic-feedback__heading{color:var(--color-brand);font-size:var(--font-size-emphasis);margin:0;font-weight:700}.topic-feedback__options{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.topic-feedback-button{min-height:var(--touch-target-min);padding:var(--space-2);color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;transition:background-color .14s,border-color .14s,box-shadow .14s}.topic-feedback-button--hard{background:#f8e8eb;border-color:#d9b6bf}.topic-feedback-button--partial{background:#fbf1d9;border-color:#e4c98e}.topic-feedback-button--known{background:#eaf3e8;border-color:#b8d0b8}.topic-feedback-button[aria-pressed=true]{border-color:var(--color-brand);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-brand) 18%, transparent);font-weight:700}.topic-snackbar--viewer{bottom:max(6.5rem, calc(var(--space-5) + env(safe-area-inset-bottom)))}.topic-create-form{gap:var(--space-5);min-width:0;padding-bottom:var(--space-6);align-content:start;display:grid}.topic-capture-panel{gap:var(--space-3);min-width:0;display:grid}.topic-capture-panel h2,.topic-selected-pages h2{color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.topic-capture-actions{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.topic-capture-action{min-height:72px;padding:var(--space-3);color:var(--color-topic-strong);text-align:center;border:var(--border-hairline);border-radius:var(--radius-panel);background:var(--color-surface);cursor:pointer;place-items:center;font-weight:700;display:grid}.topic-capture-action--primary{color:var(--color-surface);border-color:var(--color-topic-strong);background:var(--color-topic-strong)}.topic-capture-action input,.topic-thumb-card input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.topic-selected-pages{gap:var(--space-3);min-width:0;max-width:100%;display:grid;overflow-x:hidden}.topic-thumb-strip{gap:var(--space-3);min-width:0;max-width:100%;padding:0 var(--space-5) var(--space-2) 0;overscroll-behavior-x:contain;margin:0;list-style:none;display:flex;overflow:auto hidden}.topic-thumb-card{align-content:start;gap:var(--space-2);padding:var(--space-2);border:var(--border-hairline);border-radius:var(--radius-control);background:var(--color-surface);flex:0 0 128px;display:grid}.topic-thumb-card__preview,.topic-thumb-card--add label{min-height:118px;color:var(--color-brand);border-radius:calc(var(--radius-control) - 2px);background:var(--color-canvas);cursor:pointer;border:0;align-content:start;display:grid;overflow:hidden}.topic-thumb-card__preview[aria-pressed=true]{outline:2px solid var(--color-topic-strong);outline-offset:2px}.topic-thumb-card__preview img{object-fit:cover;width:100%;height:86px}.topic-thumb-card__preview span,.topic-thumb-card--add strong{padding:var(--space-2);font-size:var(--font-size-meta);font-weight:700}.topic-thumb-card__actions{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.topic-thumb-card__actions button,.topic-thumb-card__actions label{min-width:36px;min-height:34px;color:var(--color-brand);border:var(--border-hairline);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface) 90%, var(--color-canvas));font-size:var(--font-size-meta);cursor:pointer;place-items:center;font-weight:700;display:inline-grid}.topic-thumb-card__actions label{flex:1}.topic-thumb-card--add label{border:1px dashed color-mix(in srgb, var(--color-topic) 45%, var(--color-border));place-items:center;min-height:166px}.topic-thumb-card--add span[aria-hidden=true]{color:var(--color-topic-strong);font-size:1.75rem;line-height:1}.topic-create-actions{gap:var(--space-2);display:grid}.topic-create-actions .button-secondary{background:0 0;border-color:#0000}.topic-summary-panel{gap:var(--space-5)}.topic-outside-panel{padding:var(--space-4)}.topic-outside-list{margin:0;padding:0;list-style:none}.topic-summary-panel h2{font-size:var(--font-size-emphasis);line-height:1.25}.topic-back-button:focus-visible,.topic-today-button:focus-visible,.topic-filter-button:focus-visible,.topic-filter-close:focus-visible,.topic-filter-reset:focus-visible,.topic-filter-apply:focus-visible,.topic-filter-sheet input:focus-visible,.topic-outside-entry:focus-visible,.topic-day-card__button:focus-visible,.topic-metadata-card:focus-visible,.topic-fab:focus-visible,.topic-options__button:focus-visible,.topic-options__panel button:focus-visible,.topic-page-nav button:focus-visible,.topic-feedback-button:focus-visible,.topic-capture-action:focus-within,.topic-thumb-card__preview:focus-visible,.topic-thumb-card--add label:focus-within,.topic-thumb-card__actions button:focus-visible,.topic-thumb-card__actions label:focus-within,.topic-study-toolbar button:focus-visible,.topic-study-tool-drawer button:focus-visible,.topic-study-controls button:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.topic-study-viewer{z-index:60;padding:max(var(--space-2), env(safe-area-inset-top)) max(var(--space-3), env(safe-area-inset-right)) max(var(--space-2), env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left));color:#f9f5f2;background:#211a23;grid-template-rows:auto minmax(0,1fr) auto;gap:0;display:grid;position:fixed;inset:0;overflow:hidden}.topic-study-toolbar{gap:var(--space-3);padding:var(--space-2) 0;align-items:center;display:grid}.topic-study-toolbar--top{border-bottom:1px solid #ffffff29;grid-template-columns:auto minmax(0,1fr) auto;min-width:0}.topic-study-toolbar h2{color:#fffaf7;font-size:var(--font-size-body);line-height:var(--line-height-body);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.topic-study-toolbar button,.topic-study-tool-drawer button{min-height:38px;padding:0 var(--space-3);color:#fffaf7;border-radius:var(--radius-control);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff42;font-weight:700}.topic-study-toolbar button:disabled,.topic-study-tool-drawer button:disabled{color:#b9aeb8;cursor:not-allowed;opacity:.48}.topic-study-toolbar__actions{align-items:center;gap:var(--space-2);display:flex}.topic-study-heading{min-width:0}.topic-study-subject{color:#d3a9bf;font-size:var(--font-size-meta);margin:0;font-weight:700}.topic-study-page-count{color:#d7ccd4;font-size:var(--font-size-small);white-space:nowrap;font-weight:700}.topic-study-stage{background:0 0;place-items:center;width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.topic-study-transform{transform-origin:50%;place-items:center;width:100%;height:100%;display:grid}.topic-study-surface{touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.topic-study-surface img{object-fit:contain;width:100%;height:100%;display:block}.topic-study-mock-page{align-content:start;gap:var(--space-5);width:min(100%,720px);height:min(100%,720px);max-height:100%;padding:var(--space-6);background:var(--color-surface);color:var(--color-text);display:grid}.topic-study-mock-page strong,.topic-study-mock-page span{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:block}.topic-study-annotations{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.topic-study-annotations path{fill:none;stroke:#b66b79;stroke-linecap:round;stroke-linejoin:round}.topic-study-toolbar--bottom{align-items:stretch}.topic-study-single-page{color:#d7ccd4;min-height:38px;font-size:var(--font-size-small);place-items:center;font-weight:700;display:grid}.topic-study-tool-drawer{top:max(4.75rem, calc(var(--space-4) + env(safe-area-inset-top)));right:max(var(--space-3), env(safe-area-inset-right));bottom:max(4.5rem, calc(var(--space-4) + env(safe-area-inset-bottom)));z-index:2;align-content:start;gap:var(--space-3);width:min(280px,100vw - 1.5rem);max-height:calc(100% - 9.25rem);padding:var(--space-3);border-radius:var(--radius-panel);background:#2e2830;border:1px solid #ffffff3d;display:grid;position:absolute;overflow-y:auto;box-shadow:0 16px 36px #00000059}.topic-study-tool-group{gap:var(--space-2);display:grid}.topic-study-tool-group h3{color:#e9d5e1;font-size:var(--font-size-small);margin:0}.topic-study-controls{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;display:grid}.topic-study-controls span{grid-column:1/-1;place-items:center;min-height:30px;display:grid}.topic-study-controls--choices{grid-template-columns:repeat(3,minmax(0,1fr))}.topic-study-controls--choices .topic-study-choice-label{color:#b9aeb8;min-height:auto;font-size:var(--font-size-meta);grid-column:1/-1;place-items:start;font-weight:700}.topic-study-controls button[aria-pressed=true]{background:#f4d8e83d;border-color:#f4d8e8}.topic-study-color--burgundy{border-color:#b66b79!important}.topic-study-color--blue{border-color:#78a9d1!important}.topic-study-color--graphite{border-color:#8e8996!important}.topic-study-controls span{color:#d7ccd4;font-size:var(--font-size-small);font-weight:700}.topic-study-controls [role=status]{justify-content:start;place-items:center start}@media (width<=360px){.topic-header,.topic-viewer-header{grid-template-columns:auto minmax(0,1fr)}.topic-today-button,.topic-options{grid-column:2;justify-self:start}.topic-feedback__options,.topic-capture-actions,.topic-filter-sheet fieldset{grid-template-columns:1fr}.topic-thumb-card{flex-basis:118px}.topic-study-tool-drawer{width:min(280px,100vw - 1.5rem)}}
