/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--desktop:#e9e9eb;--app:#fdfdfd;--surface:#fff;--surface-soft:#f6f6f7;--surface-pressed:#ededf0;--text:#202024;--text-soft:#3d3d43;--muted:#707078;--faint:#9a9aa2;--line:#e6e6e8;--line-strong:#d8d8dc;--accent:#5e65d6;--accent-strong:#5057c8;--accent-soft:#eff0ff;--accent-line:#daddff;--success:#1f875f;--success-soft:#edf8f2;--warning:#9b6814;--warning-soft:#fff7e8;--danger:#c44750;--danger-soft:#fff0f1;--overlay:#20202461;--shadow:0 18px 60px #2020241a;--radius-sm:5px;--radius:8px;--app-width:430px;--app-bar-height:50px;--nav-height:62px;--action-dock-height:72px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);font-synthesis:none;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Noto Sans SC,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--desktop:#111113;--app:#18181b;--surface:#1f1f23;--surface-soft:#27272b;--surface-pressed:#303036;--text:#f2f2f3;--text-soft:#dadadd;--muted:#aaaab1;--faint:#777780;--line:#303036;--line-strong:#414148;--accent:#858bf0;--accent-strong:#9ba0f8;--accent-soft:#292b48;--accent-line:#44487e;--success:#57bc8e;--success-soft:#1d352b;--warning:#d8a34d;--warning-soft:#3b2e19;--danger:#eb7f86;--danger-soft:#402226;--overlay:#00000094;--shadow:none}}*,:before,:after{box-sizing:border-box}html{background:var(--desktop);min-height:100%}body{background:var(--desktop);min-width:280px;min-height:100dvh;color:var(--text);letter-spacing:0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow-x:hidden}button,input,textarea{color:inherit;font:inherit;letter-spacing:0}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{flex:none;display:block}::selection{background:var(--accent-line)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.desktop-canvas{min-height:100dvh}.app-canvas{width:min(100%, var(--app-width));background:var(--app);border-inline:1px solid var(--line);min-height:100dvh;margin-inline:auto;position:relative}.main-shell{min-height:100dvh}.app-screen{min-height:100dvh;padding-bottom:calc(var(--nav-height) + var(--safe-bottom));background:var(--app)}.app-screen--standalone{padding-bottom:var(--safe-bottom)}.app-screen--with-footer{padding-bottom:calc(var(--nav-height) + var(--action-dock-height) + var(--safe-bottom))}.app-screen--standalone.app-screen--with-footer{padding-bottom:calc(var(--action-dock-height) + var(--safe-bottom))}.app-bar{z-index:30;background:var(--surface);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.app-bar{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.app-bar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-bar__inner{min-height:calc(var(--app-bar-height) + var(--safe-top));padding:var(--safe-top) max(16px, var(--safe-right)) 0 max(16px, var(--safe-left));justify-content:space-between;align-items:center;gap:12px;display:flex}.app-bar__leading,.app-bar__actions{align-items:center;min-width:0;display:flex}.app-bar__leading{flex:1;gap:12px}.app-bar__actions{justify-content:flex-end;gap:4px}.app-bar__title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:20px;overflow:hidden}.app-bar__back{margin-left:-10px}.brand-mark{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);flex:none;grid-template-columns:repeat(2,1fr);gap:2px;width:26px;height:26px;padding:4px;display:grid}.brand-mark__tile{background:var(--line-strong);border-radius:1px}.brand-mark__tile--strong{background:var(--accent)}.screen-content{min-width:0;padding:20px max(20px, var(--safe-right)) 28px max(20px, var(--safe-left));gap:20px;display:grid}.bottom-nav{z-index:40;right:max(0px, calc((100vw - var(--app-width)) / 2));bottom:0;left:max(0px, calc((100vw - var(--app-width)) / 2));min-height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);position:fixed}@supports (color:color-mix(in lab, red, red)){.bottom-nav{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.bottom-nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.bottom-nav__inner{height:var(--nav-height);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bottom-nav__item{min-width:0;min-height:44px;color:var(--faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 4px 5px;font-size:10px;font-weight:600;line-height:13px;display:flex;position:relative}.bottom-nav__item:before{content:"";background:0 0;border-radius:0 0 2px 2px;width:26px;height:2px;position:absolute;top:0}.bottom-nav__item--active{color:var(--accent);position:relative}.bottom-nav__item--active:before{background:var(--accent)}.fixed-action-dock{z-index:35;right:max(0px, calc((100vw - var(--app-width)) / 2));bottom:calc(var(--nav-height) + var(--safe-bottom));left:max(0px, calc((100vw - var(--app-width)) / 2));min-height:var(--action-dock-height);padding:11px max(12px, var(--safe-right)) 12px max(12px, var(--safe-left));background:var(--surface);position:fixed}@supports (color:color-mix(in lab, red, red)){.fixed-action-dock{background:color-mix(in srgb, var(--surface) 97%, transparent)}}.fixed-action-dock{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.app-screen--standalone .fixed-action-dock{bottom:var(--safe-bottom)}.button{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:700;line-height:20px;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.button--default{min-height:44px;padding:10px 16px}.button--icon{width:44px;height:44px;padding:0}.button--primary{color:#fff;background:var(--accent)}.button--primary:hover{background:var(--accent-strong)}.button--outline{color:var(--text);background:var(--surface);border-color:var(--line-strong)}.button--outline:hover,.button--ghost:hover{background:var(--surface-soft)}.button--ghost{color:var(--muted);background:0 0}.button--danger{color:#fff;background:var(--danger)}.button:disabled{opacity:.45}.segmented-control{width:100%}.segmented-control__track{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);width:100%;padding:3px;position:relative}.segmented-control__items{z-index:1;grid-template-columns:repeat(var(--segment-count,2), minmax(0, 1fr));display:grid;position:relative}.segmented-control__item{min-width:0;position:relative}.segmented-control__input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.segmented-control__label{min-height:44px;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:8px 10px;font-size:13px;font-weight:600;line-height:18px;display:flex}.segmented-control__input:checked+.segmented-control__label{color:var(--text);font-weight:700}.segmented-control__input:focus-visible+.segmented-control__label{outline:2px solid var(--accent);outline-offset:-2px}.segmented-control__indicator{z-index:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:width .16s,height .16s,transform .16s;position:absolute;box-shadow:0 1px 2px #2020240d}.mastery-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mastery-action{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:7px;min-width:0;min-height:48px;padding:8px;font-size:13px;font-weight:700;line-height:18px;display:flex}.mastery-action:disabled{opacity:.45}.mastery-action--danger{color:var(--danger)}.mastery-action--danger:hover{background:var(--danger-soft)}.mastery-action--warning{color:var(--warning)}.mastery-action--warning:hover{background:var(--warning-soft)}.mastery-action--success{color:var(--success)}.mastery-action--success:hover{background:var(--success-soft)}.status-pill,.tag{white-space:nowrap;align-items:center;width:fit-content;max-width:100%;display:inline-flex}.status-pill{border-radius:var(--radius-sm);gap:5px;min-height:24px;padding:4px 8px;font-size:11px;font-weight:600;line-height:14px}.status-pill__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.tag{border-radius:var(--radius-sm);min-height:22px;padding:3px 7px;font-size:11px;line-height:15px}.status-pill--accent,.tag--accent{color:var(--accent);background:var(--accent-soft)}.status-pill--success,.tag--success{color:var(--success);background:var(--success-soft)}.status-pill--warning,.tag--warning{color:var(--warning);background:var(--warning-soft)}.status-pill--danger,.tag--danger{color:var(--danger);background:var(--danger-soft)}.status-pill--neutral,.tag--neutral{color:var(--muted);background:var(--surface-soft)}.inline-notice{border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;line-height:18px}.inline-notice--neutral{color:var(--muted);background:var(--surface-soft)}.inline-notice--accent{color:var(--accent);background:var(--accent-soft)}.inline-notice--success{color:var(--success);background:var(--success-soft)}.inline-notice--warning{color:var(--warning);background:var(--warning-soft)}.inline-notice--danger{color:var(--danger);background:var(--danger-soft)}.section-intro{gap:2px;display:grid}.section-intro h1{color:var(--text);font-size:25px;font-weight:750;line-height:34px}.section-intro p{color:var(--muted);font-size:11px;line-height:15px}.section-label{color:var(--muted);font-size:11px;font-weight:700;line-height:16px}.loading-state{color:var(--faint);gap:12px;padding-block:24px;font-size:11px;line-height:15px;display:grid}.skeleton{background:var(--surface-soft);border-radius:3px;width:64%;height:12px;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.skeleton--strong{width:88%;height:22px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;padding-inline:20px;display:flex}.empty-state h1{color:var(--text);font-size:18px;font-weight:700;line-height:26px}.empty-state p{max-width:30ch;color:var(--muted);font-size:14px;line-height:22px}.drawer-overlay{z-index:80;background:var(--overlay);opacity:0;transition:opacity .18s;position:fixed;inset:0}.drawer-overlay[data-open],.drawer-overlay[data-expanded]{opacity:1}.drawer-content{z-index:90;right:max(0px, calc((100vw - var(--app-width)) / 2));bottom:0;left:max(0px, calc((100vw - var(--app-width)) / 2));max-height:min(84dvh,680px);padding:8px 0 var(--safe-bottom);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 -14px 40px #2020241f}.drawer-handle{background:var(--line-strong);border-radius:2px;flex:none;align-self:center;width:36px;height:4px}.drawer-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.drawer-heading{gap:3px;min-width:0;display:grid}.drawer-title{color:var(--text);font-size:18px;font-weight:700;line-height:26px}.drawer-description{color:var(--muted);font-size:12px;line-height:18px}.drawer-close{margin:-9px -10px 0 0}.drawer-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.confirm-sheet-positioner{z-index:90;right:max(0px, calc((100vw - var(--app-width)) / 2));bottom:0;left:max(0px, calc((100vw - var(--app-width)) / 2));align-items:flex-end;display:flex;position:fixed}.confirm-sheet{width:100%;padding:8px 20px calc(20px + var(--safe-bottom));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0}.confirm-sheet__body{padding-bottom:16px}.confirm-sheet__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fatal-state{align-content:center;gap:16px;min-height:100dvh;padding:24px;display:grid}.fatal-state__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.queue-trigger{position:relative}.queue-trigger__badge{color:#fff;background:var(--accent);border:2px solid var(--surface);pointer-events:none;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding-inline:4px;font-size:9px;font-weight:700;line-height:10px;display:flex;position:absolute;top:2px;right:1px}.review-question{gap:12px;padding-bottom:8px;display:grid}.review-position{color:var(--muted);font-size:11px;font-weight:700;line-height:15px}.review-question h1{max-width:18ch;color:var(--text);overflow-wrap:anywhere;font-size:27px;font-weight:750;line-height:1.42}.reference-answer{border-top:1px solid var(--line);gap:14px;padding-top:20px;display:grid}.recall-prompt{color:var(--faint);font-size:14px;line-height:22px}.answer-copy{color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8}.review-queue__row{border-top:1px solid var(--line);grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:58px;padding:9px 20px;display:grid}.review-queue__row--active{background:var(--accent-soft)}.review-queue__index{color:var(--faint);font-size:11px;line-height:15px}.review-queue__title{color:var(--text);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:19px;display:-webkit-box;overflow:hidden}.review-queue__status{color:var(--faint);font-size:10px;line-height:14px}.review-queue__status--complete{color:var(--success)}.library-header{gap:16px;display:grid}.search-field,.input-with-icon{min-height:44px;color:var(--faint);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);align-items:center;gap:9px;padding-inline:12px;display:flex}.search-field input,.input-with-icon input{min-width:0;min-height:42px;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:15px}.search-field:focus-within,.input-with-icon:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.library-result-meta{min-height:24px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;line-height:15px;display:flex}.library-filters{padding:4px max(20px, var(--safe-right)) 20px max(20px, var(--safe-left));gap:22px;display:grid}.filter-group{border:0;gap:10px;min-width:0;padding:0;display:grid}.filter-group__label{color:var(--muted);font-size:11px;font-weight:650;line-height:15px}.filter-options{border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-option{cursor:pointer;align-items:center;gap:9px;min-width:0;min-height:44px;padding:10px 12px;font-size:12px;font-weight:600;line-height:17px;display:flex}.filter-option:nth-child(2n){border-left:1px solid var(--line)}.filter-option:nth-child(n+3){border-top:1px solid var(--line)}.filter-option input{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.filter-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.library-filters__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.question-list{border-top:1px solid var(--line)}.question-row{border-bottom:1px solid var(--line);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:104px;padding-block:16px;display:grid}.question-row:hover{background:var(--surface-soft)}.question-row__mastery{color:var(--faint);align-self:start;padding-top:2px}.question-row__copy{gap:8px;min-width:0;display:grid}.question-row__copy>strong{color:var(--text);overflow-wrap:anywhere;font-size:15px;font-weight:650;line-height:22px}.question-row__meta,.tag-row{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.question-row__meta{color:var(--muted);gap:3px;font-size:11px;line-height:15px}.question-row__mastery-label{color:var(--accent)}.tag-row{gap:4px}.question-list-skeleton{gap:8px;display:grid}.question-list-skeleton span{background:var(--surface-soft);border-radius:var(--radius-sm);height:78px;animation:1.4s ease-in-out infinite skeleton-pulse}.list-empty{color:var(--muted);text-align:center;padding-block:72px;font-size:14px;line-height:22px}.load-more{width:100%}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.detail-heading{gap:12px;display:grid}.detail-heading h1{max-width:19ch;color:var(--text);overflow-wrap:anywhere;font-size:25px;font-weight:750;line-height:1.44}.detail-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;line-height:15px;display:flex}.detail-tabs{gap:16px;display:grid}.detail-tabs__list{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.detail-tabs__trigger{min-width:0;min-height:44px;color:var(--muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:8px;font-size:13px;font-weight:600;line-height:18px}.detail-tabs__trigger[data-selected]{color:var(--text);background:var(--surface);border-color:var(--line);font-weight:700}.detail-tabs__content{min-width:0}.detail-stack{gap:16px;display:grid}.reference-answer--detail{border-top:0;border-bottom:1px solid var(--line);padding-top:0;padding-bottom:20px}.status-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:16px;display:grid}.status-cell{align-content:start;gap:4px;min-width:0;min-height:58px;display:grid}.status-cell span{color:var(--faint);font-size:10px;line-height:14px}.status-cell strong{color:var(--text);overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:17px}.status-cell .status-cell__value--accent{color:var(--accent)}.composer-heading,.history-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.composer-heading>span{color:var(--faint);font-size:10px;line-height:14px}.answer-textarea{resize:vertical;width:100%;min-height:164px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;padding:12px;font-size:15px;line-height:1.65}.answer-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.answer-textarea:disabled{opacity:.55}.ai-evaluation{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);gap:12px;padding:16px;display:grid}.ai-evaluation header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-evaluation h2{color:var(--text);font-size:14px;font-weight:700;line-height:20px}.ai-evaluation p,.history-block p{color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.72}.mastery-section{gap:8px;display:grid}.mastery-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mastery-choice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:44px;padding:8px 6px;font-size:12px;font-weight:700;line-height:17px;display:flex;position:relative}.mastery-choice input{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.mastery-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.mastery-choice--danger{color:var(--danger)}.mastery-choice--warning{color:var(--warning)}.mastery-choice--success{color:var(--success)}.mastery-choice--danger:has(input:checked){background:var(--danger-soft);border-color:var(--danger)}.mastery-choice--warning:has(input:checked){background:var(--warning-soft);border-color:var(--warning)}.mastery-choice--success:has(input:checked){background:var(--success-soft);border-color:var(--success)}.answer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.history-list{display:grid}.history-item{grid-template-columns:12px minmax(0,1fr);gap:12px;display:grid}.timeline-rail{justify-content:center;display:flex;position:relative}.timeline-rail:after{background:var(--line);content:"";width:1px;position:absolute;top:18px;bottom:0}.timeline-rail>span{z-index:1;background:var(--accent);border-radius:50%;width:8px;height:8px;margin-top:6px;position:relative}.history-item:last-child .timeline-rail:after{display:none}.history-item__copy{gap:8px;padding-bottom:20px;display:grid}.history-item__copy>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-item h3{color:var(--text);font-size:14px;font-weight:700;line-height:20px}.history-item time,.history-sync{color:var(--faint);font-size:10px;line-height:14px}.history-sync--error{color:var(--danger)}.history-block{background:var(--surface-soft);border-radius:var(--radius-sm);gap:4px;padding:12px;display:grid}.history-block h4{color:var(--text);font-size:11px;font-weight:700;line-height:15px}.auth-screen,.auth-intro,.form-stack,.field,.setup-screen{display:grid}.auth-screen,.setup-screen{gap:28px}.auth-intro{gap:16px;padding-top:24px}.auth-icon{width:44px;height:44px;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius);justify-content:center;align-items:center;display:flex}.form-stack{gap:16px}.field{gap:8px;min-width:0}.field__label{color:var(--muted);font-size:11px;font-weight:700;line-height:15px}.text-input{width:100%;min-height:44px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:0;padding:9px 12px;font-size:15px}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.text-input--otp{font-variant-numeric:tabular-nums;font-size:18px}.settings-group{display:grid}.settings-group__header{justify-content:space-between;align-items:center;gap:12px;min-height:32px;padding-bottom:8px;display:flex}.settings-group__header h2{color:var(--text);font-size:13px;font-weight:700;line-height:18px}.settings-group__header>span{color:var(--muted);font-size:11px;line-height:15px}.settings-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.setting-row,.target-row{width:100%;min-height:58px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px 4px;display:flex}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row--selectable,.setting-row--button{cursor:pointer}.setting-row--selectable:hover,.setting-row--button:hover{background:var(--surface-soft)}.setting-row--button:disabled{opacity:.5}.setting-row__copy{flex:1;gap:1px;min-width:0;display:grid}.setting-row__copy strong{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:20px}.setting-row__copy small,.setting-row__value{color:var(--muted);font-size:11px;line-height:15px}.setting-row--danger,.setting-row--danger .setting-row__copy strong{color:var(--danger)}.checkbox{color:#fff;border:1px solid var(--line-strong);border-radius:4px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.checkbox--checked{background:var(--accent);border-color:var(--accent)}.target-row{justify-content:space-between}.target-row>span:first-child{font-size:14px;line-height:20px}.target-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);align-items:center;min-height:40px;padding-right:12px;display:flex}.target-input input{width:68px;min-height:38px;color:var(--text);text-align:right;background:0 0;border:0;outline:0;padding:0 10px;font-size:15px}.target-input>span{color:var(--muted);font-size:12px}.settings-list__action{border-top:1px solid var(--line);padding-block:12px}.settings-list__action .button{width:100%}.account-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:20px;display:flex}.avatar{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.account-row__copy{flex:1;gap:2px;min-width:0;display:grid}.account-row__copy strong{font-size:14px;font-weight:700;line-height:20px}.account-row__copy small{color:var(--muted);font-size:11px;line-height:15px}.profile-statistics{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.profile-statistics__item{gap:3px;min-width:0;padding:15px 16px;display:grid}.profile-statistics__item+.profile-statistics__item{border-left:1px solid var(--line)}.profile-statistics__item span,.profile-statistics__distribution span{color:var(--muted);font-size:11px;line-height:15px}.profile-statistics__item strong{font-size:19px;font-weight:720;line-height:24px}.profile-statistics__item small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:14px;overflow:hidden}.profile-statistics__distribution{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:13px 16px;display:flex}.profile-statistics__distribution strong{color:var(--text-soft);text-align:right;font-size:11px;font-weight:650;line-height:16px}.profile-statistics__distribution i{color:var(--faint);margin-inline:4px;font-style:normal}.settings-empty{color:var(--muted);padding:16px;font-size:12px;line-height:17px}.storage-status{z-index:69;top:calc(var(--app-bar-height) + var(--safe-top) + 10px);right:max(12px, calc((100vw - var(--app-width)) / 2 + 12px));left:max(12px, calc((100vw - var(--app-width)) / 2 + 12px));min-height:48px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:12px;font-weight:600;line-height:17px;display:grid;position:fixed;box-shadow:0 10px 34px #20202424}.storage-status .button--ghost{color:var(--muted)}.pwa-prompt{z-index:70;right:max(12px, calc((100vw - var(--app-width)) / 2 + 12px));bottom:calc(var(--nav-height) + var(--safe-bottom) + 14px);left:max(12px, calc((100vw - var(--app-width)) / 2 + 12px));min-height:48px;color:var(--surface);background:var(--text);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:6px 6px 6px 14px;font-size:13px;font-weight:600;line-height:18px;display:flex;position:fixed;box-shadow:0 10px 34px #2020242e}.pwa-prompt__actions{display:flex}.pwa-prompt .button--ghost{color:var(--surface)}.icon-spin{animation:.8s linear infinite icon-spin}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes icon-spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (width<=350px){.screen-content{padding-right:max(14px, var(--safe-right));padding-left:max(14px, var(--safe-left));gap:16px}.app-bar__inner{padding-right:max(12px, var(--safe-right));padding-left:max(12px, var(--safe-left))}.mastery-action{gap:4px;padding-inline:4px;font-size:12px}}@media (width>=700px){.app-canvas{box-shadow:var(--shadow)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
