.error-page{width:100%;max-width:68rem;min-height:100svh;padding:max(1.5rem, env(safe-area-inset-top)) max(var(--ui-gutter), env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(var(--ui-gutter), env(safe-area-inset-left));flex-direction:column;margin:auto;display:flex}.error-page-header{color:var(--ui-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;font-size:.875rem;display:flex}.error-page-header a{align-content:center;min-width:0;max-width:100%;min-height:44px;display:block}.error-state{min-width:0;color:var(--ui-text);container:error-state/inline-size}.error-state--page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2rem;width:100%;margin-block:auto;padding-block:3rem;display:grid}.error-state-copy{min-width:0}.error-state h1,.error-state h2{color:var(--ui-text);overflow-wrap:anywhere;margin:.5rem 0 1rem;line-height:1.3}.error-state h1{letter-spacing:-.035em;font-size:clamp(1.75rem,3vw,2.5rem)}.error-state h2{font-size:1.25rem}.error-state--panel h1{font-size:1.5rem}.error-state-code{color:var(--ui-emphasis);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem;font-weight:750}.error-state-description{max-width:29em;color:var(--ui-muted);overflow-wrap:anywhere;margin:0;line-height:1.8}.error-state-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.error-state-actions>.button{white-space:normal;overflow-wrap:anywhere;text-align:center;width:auto;min-width:min(9rem,100%);max-width:100%;height:auto;min-height:3rem}.error-state-actions>.button:disabled{cursor:wait}.error-state-note{color:var(--ui-muted);margin:1.75rem 0 0;font-size:.8125rem}.error-state-wait{color:var(--ui-emphasis);font-variant-numeric:tabular-nums;font-weight:650}.error-page-help{color:var(--ui-muted);text-align:center;align-self:center;font-size:.875rem}.error-page-help a{align-content:center;min-height:44px;display:inline-block}.error-state--panel{border:1px solid var(--ui-line);border-radius:var(--ui-radius-card);background:var(--ui-surface);text-align:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:center;gap:1.5rem;padding:1.5rem;display:grid}.error-state--panel>.error-scene{max-width:14rem}.error-state--panel .error-state-description{margin-inline:auto}.error-state--panel .error-state-actions{justify-content:center}@container error-state (inline-size>=31.5rem){.error-state--panel>.error-scene{max-width:29rem}.error-state--panel>.error-state-copy{text-align:start}.error-state--panel .error-state-description{margin-inline:0}.error-state--panel .error-state-actions{justify-content:flex-start}}.error-state--compact{flex-wrap:wrap;align-items:flex-start;gap:.875rem;width:100%;padding-block:1rem;display:flex}.error-state--compact>.error-scene{flex:0 0 4.5rem;width:4.5rem;margin:0}.error-state--compact>.error-state-copy{flex:10rem}.error-state--compact h2{margin:.25rem 0 .5rem;font-size:1rem}.error-state--compact .error-state-code{font-size:.75rem}.error-state--compact .error-state-description{font-size:.875rem}.error-state--compact .error-state-actions{margin-top:.75rem}.error-state--compact .error-state-actions>.button{padding:.5rem .875rem;font-size:.875rem}.error-scene{pointer-events:none;width:100%;max-width:29rem;height:auto;margin-inline:auto;display:block;overflow:visible}.error-scene-ground{fill:var(--ui-mint)}.error-scene-paper{transform-origin:200px 240px;animation:error-paper-arrive 1.2s var(--ui-ease) both}.error-scene-sheet{fill:var(--ui-surface);stroke:var(--ui-control-border);stroke-width:1.3px}.error-scene-fold{fill:var(--ui-mint);stroke:var(--ui-control-border);stroke-width:1.3px}.error-scene-rule{fill:none;stroke:var(--ui-line);stroke-width:2px}.error-scene-hole{fill:var(--ui-background)}.error-scene-ring{stroke:var(--ui-brand);stroke-width:2.5px;fill:none;stroke-linecap:round}.error-scene-code{fill:var(--ui-brand);letter-spacing:-4px;font:750 70px system-ui,sans-serif}.error-scene-equation{fill:var(--ui-muted);font:14px system-ui,sans-serif}.error-scene-wood{fill:var(--ui-notice);stroke:var(--ui-emphasis);stroke-width:1px}.error-scene-tip{fill:var(--ui-text)}.error-scene-pencil-body,.error-scene-eraser{fill:var(--ui-action);stroke:var(--ui-emphasis);stroke-width:1px}.error-scene-eraser{fill:var(--ui-mint)}.error-scene-pencil-line{stroke:var(--ui-emphasis);stroke-width:1.2px}.error-scene-pencil{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out 2 error-pencil-nod}.error-scene-marks{stroke:var(--ui-brand);fill:var(--ui-brand);stroke-width:2px;stroke-linecap:round}.error-scene-search{fill:var(--ui-mint);fill-opacity:.85;stroke:var(--ui-emphasis);stroke-width:5px;stroke-linecap:round;animation:2s ease-in-out 2 error-search}.error-scene-eye{fill:var(--ui-text);stroke:none}.error-scene-lock{fill:var(--ui-mint);stroke:var(--ui-brand);stroke-width:3px;stroke-linecap:round;transform-origin:295px 223px;animation:1.4s ease-in-out 2 error-lock}.error-scene-fix{fill:var(--ui-notice);stroke:var(--ui-emphasis);stroke-width:2px;transform-origin:285px 224px;animation:error-fix 1.4s var(--ui-ease) both;transform:rotate(-15deg)}.error-scene-pause{fill:var(--ui-emphasis);animation:1.7s ease-in-out 2 error-pause}.error-scene-connection{fill:none;stroke:var(--ui-brand);stroke-width:4px;stroke-linecap:round}.error-scene-signal{stroke:var(--ui-emphasis);animation:1.7s ease-in-out 2 error-pause}.error-scene-hourglass{fill:none;stroke:var(--ui-brand);stroke-width:3px;stroke-linecap:round;transform-origin:293px 218px;animation:2s ease-in-out 2 error-hourglass}.error-scene-sand{fill:var(--ui-action);stroke:none}@keyframes error-paper-arrive{0%{opacity:.3;transform:translateY(8px)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes error-pencil-nod{50%{translate:0 -5px;rotate:7deg}}@keyframes error-search{35%{transform:translate(-22px,-8px)}70%{transform:translate(-8px,8px)}}@keyframes error-lock{25%{rotate:-6deg}60%{rotate:6deg}}@keyframes error-fix{0%{opacity:0;translate:12px -12px}to{opacity:1;translate:0}}@keyframes error-pause{50%{opacity:.4}}@keyframes error-hourglass{35%{rotate:180deg}65%{rotate:180deg}to{rotate:360deg}}@media (width<=720px){.error-state--page{text-align:center;grid-template-columns:minmax(0,1fr);gap:.5rem;max-width:30rem;margin-inline:auto;padding-block:1.5rem 2.5rem}.error-state--page .error-state-description{margin-inline:auto}.error-state--page .error-state-actions{justify-content:center}.error-state--page>.error-scene{width:min(100%,22rem)}.error-state--page h1{font-size:1.75rem}.error-page-header>span{font-size:.75rem}}@media (width<=440px){.error-state--panel{gap:.5rem;padding:1.25rem}.error-state--page .error-state-actions>.button{flex:10rem}}@container error-state (inline-size<15rem){.error-state--compact>.error-scene{display:none}}@media (prefers-reduced-motion:reduce){.error-scene,.error-scene *{transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ui-background:#fff9ed;--ui-surface:#fffdf8;--ui-text:#172d44;--ui-muted:#5f6871;--ui-brand:#244d41;--ui-on-brand:#fff9ed;--ui-mint:#e6efdf;--ui-action:#f2693c;--ui-on-action:#172d44;--ui-emphasis:#b34422;--ui-line:#dcded5;--ui-control-border:#69766c;--ui-focus:#244d41;--ui-danger:#a83823;--ui-danger-surface:#ffeae5;--ui-notice:#fff0d4;--ui-notice-text:#70431f;--ui-logo-regular:block;--ui-logo-reversed:none;--ui-radius-card:1.125rem;--ui-radius-control:.75rem;--ui-gutter:1rem;--ui-title-size:1.75rem;--ui-duration-fast:.12s;--ui-ease:cubic-bezier(.2, 0, 0, 1);--bg:var(--ui-background);--surface:var(--ui-surface);--text:var(--ui-text);--muted:var(--ui-muted);--border:var(--ui-line);--accent:var(--ui-brand);--accent-text:var(--ui-on-brand);--action:var(--ui-action);--action-text:var(--ui-on-action);--control-border:var(--ui-control-border);--focus:var(--ui-focus);--danger:var(--ui-danger);--notice-bg:var(--ui-notice);--notice-text:var(--ui-notice-text);--radius:var(--ui-radius-card);--gap:1rem;--tap:3rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width>=390px){:root{--ui-gutter:1.25rem}}@media (prefers-color-scheme:dark){:root{--ui-background:#162a2c;--ui-surface:#203435;--ui-text:#f7f3e8;--ui-muted:#becbc3;--ui-brand:#b4d8be;--ui-on-brand:#162a2c;--ui-mint:#263e38;--ui-emphasis:#ff9470;--ui-line:#40554e;--ui-control-border:#729183;--ui-focus:#b4d8be;--ui-danger:#ffad98;--ui-danger-surface:#422c28;--ui-notice:#40372a;--ui-notice-text:#f3d7a1;--ui-logo-regular:none;--ui-logo-reversed:block}}@media (prefers-reduced-motion:reduce){:root{--ui-duration-fast:0s}}:root{font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:1rem}html{scrollbar-gutter:stable}h1{font-size:var(--ui-title-size);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 .75rem;line-height:1.25}a{color:var(--accent)}a[href^=tel\:]{white-space:nowrap}:where(.page,.app,.card) a:not([class],label a){padding-block:max(0px,22px - .5em)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.page,.app{width:100%;max-width:480px;min-height:100dvh;margin:0 auto}.page{padding:env(safe-area-inset-top) max(var(--gap), env(safe-area-inset-right)) calc(var(--gap) * 2 + env(safe-area-inset-bottom)) max(var(--gap), env(safe-area-inset-left))}.page-header,.app-header{padding:var(--gap) 0}.app-header{padding:max(1.25rem, env(safe-area-inset-top)) max(var(--ui-gutter), env(safe-area-inset-right)) 0 max(var(--ui-gutter), env(safe-area-inset-left))}.brand{letter-spacing:.02em;min-width:0;color:var(--accent);overflow-wrap:anywhere;font-size:1.0625rem;font-weight:750}.brand-logo{width:9.5rem;max-width:100%;display:block}.brand-logo>img{width:100%;height:auto}.brand-logo-regular{display:var(--ui-logo-regular,block)}.brand-logo-reversed{display:var(--ui-logo-reversed,none)}.brand-logo--inverse .brand-logo-regular{display:none}.brand-logo--inverse .brand-logo-reversed{display:block}.page-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin:.875rem 0 1.5rem;display:grid}.page-heading-text{min-width:0}.page-heading h1{letter-spacing:-.035em;margin:0;font-weight:750;line-height:1.2}.page-heading-subtitle{color:var(--muted);overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.875rem}.page-heading-art{aspect-ratio:1;object-fit:contain;pointer-events:none;width:6rem;max-width:26vw;height:auto;display:block;transform:rotate(-4deg)}@media (width<=360px){.page-heading-art{width:4.5rem}}.ui-icon{vertical-align:middle;flex:none;width:1.5rem;height:1.5rem}.app{flex-direction:column;display:flex}.app-main{min-width:0;padding:0 max(var(--ui-gutter), env(safe-area-inset-right)) var(--gap) max(var(--ui-gutter), env(safe-area-inset-left));flex:1;container:student-shell/inline-size}@container student-shell (inline-size<9rem){.page-heading{grid-template-columns:minmax(0,1fr)}.page-heading-art{display:none}}.splash{padding:3rem var(--gap);text-align:center;color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius);padding:1.25rem var(--gap)}.muted,.hint{color:var(--muted)}.hint{margin:.25rem 0 0;font-size:.875rem}.notice{background:var(--notice-bg);color:var(--notice-text);border-radius:8px;padding:.75rem}.term-name{font-weight:600}.privacy h2{margin:1.5rem 0 .5rem;font-size:1rem}.privacy p,.privacy ul{margin:.5rem 0}.privacy ul{padding-left:1.25rem}.privacy li+li{margin-top:.25rem}.form-body{border:0;min-width:0;margin:0;padding:0}.field{margin:0 0 1.25rem}.field>label:not(.check){margin-bottom:.25rem;font-weight:600;display:block}.group{border:0;padding:0}.group legend{margin-bottom:.25rem;padding:0;font-weight:600}.nested{margin:.5rem 0 0 2rem}input:not([type=checkbox],[type=radio]),select{width:100%;min-height:var(--tap);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--ui-radius-control);transition:border-color var(--ui-duration-fast) var(--ui-ease);padding:.625rem .75rem;font-size:1rem}input::placeholder{color:var(--muted);opacity:1}input:not([type=checkbox],[type=radio]):read-only{background:var(--ui-mint)}input:not([type=checkbox],[type=radio]):disabled,select:disabled{background:var(--ui-mint);opacity:.6;cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}.check{min-height:var(--tap);align-items:center;gap:.5rem;font-weight:400;display:flex}.check input{width:1.25rem;height:1.25rem;accent-color:var(--accent);flex:none}.field-error{color:var(--danger);margin:.25rem 0 0;font-size:.875rem}.field-error:before{content:"⚠ "}.form-error{color:var(--danger);min-height:1.5em;margin:.5rem 0}.button{width:100%;min-height:var(--tap);font:inherit;color:var(--action-text);background:var(--action);border-radius:var(--ui-radius-control);transition:background-color var(--ui-duration-fast) var(--ui-ease), box-shadow var(--ui-duration-fast) var(--ui-ease);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 6px;font-weight:600;text-decoration:none;display:flex}.button:disabled{opacity:.6;cursor:not-allowed}.button-secondary{color:var(--text);background:var(--surface);border:1px solid var(--control-border)}@media (hover:hover){.button:not(:disabled):hover{box-shadow:inset 0 0 0 2px var(--accent)}}.button:not(:disabled):active{box-shadow:inset 0 0 0 3px var(--accent)}.page-compact{padding-top:.5rem;padding-bottom:.5rem}.card.compact{padding:.625rem 1rem}.step-head{letter-spacing:normal;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.25rem;font-size:1.25rem;display:flex}.step-count{color:var(--muted);font-size:.875rem;font-weight:400}.form.compact .field{margin-bottom:.375rem}.form.compact .field>label:not(.check){margin-bottom:.125rem}.form.compact .check.consent{font-size:.875rem}.form.compact input:not([type=checkbox],[type=radio]),.form.compact select{min-height:44px;padding-block:.5rem}.form.compact .check{min-height:44px;font-size:.9375rem}.form.compact .check input[type=checkbox]{margin:0}.form.compact .group legend{margin-bottom:0}.form.compact .notice{margin:.25rem 0 .75rem;padding:.5rem .75rem;font-size:.875rem}.form.compact .muted{margin:.875rem 0 0}.label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.label-row>label:first-child{font-weight:600}.label-row .check{font-size:.875rem}.check-row{align-items:center;gap:.75rem;display:flex}.check-row .inline-input{flex:1;min-width:0}.chips{grid-template-columns:1fr 1fr;gap:.375rem;margin-top:.25rem;display:grid}.chip{cursor:pointer;display:block}.chip span{border:1px solid var(--control-border);border-radius:var(--ui-radius-control);text-align:center;justify-content:center;align-items:center;min-height:44px;padding:.25rem;font-size:.875rem;display:flex}.chip input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chip input:checked+span{border-color:var(--accent);color:var(--accent);background:var(--ui-mint);font-weight:600}.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.button-row{grid-template-columns:1fr 2fr;gap:.5rem;display:grid}.profile{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0 0 1.5rem;display:grid;container:profile/inline-size}.profile dt{color:var(--muted)}.profile dd{overflow-wrap:anywhere;margin:0}@container profile (inline-size<12em){.profile dt,.profile dd{grid-column:1/-1}.profile dd+dt{margin-block-start:.5rem}}.tabbar{background:var(--surface);border-top:1px solid var(--border);padding-inline:max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:sticky;bottom:0}.tabbar a{min-height:4.5rem;color:var(--muted);text-align:center;word-break:keep-all;overflow-wrap:anywhere;grid-template-rows:24px auto 6px;justify-content:center;place-items:center;row-gap:4px;padding:8px 0;font-size:.875rem;text-decoration:none;display:grid}.tabbar-label{min-width:0}.tabbar .ui-icon{width:24px;height:24px}.tabbar a:focus-visible{outline-offset:-4px;border-radius:var(--ui-radius-control)}.tabbar a:after{content:"";background:var(--action);opacity:0;border-radius:50%;width:6px;height:6px}.tabbar a[aria-current=page]{color:var(--accent);font-weight:700}.tabbar a[aria-current=page]:after{opacity:1}:root{--ok:var(--ui-brand);--ok-bg:var(--ui-mint);--bad-bg:var(--ui-danger-surface)}.badge{background:var(--notice-bg);color:var(--notice-text);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:0 .5rem;font-size:.75rem;font-weight:600;display:inline-block}.today-content{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.today-task{background:var(--ui-mint);border-radius:18px;padding:1.25rem 1.125rem}.today-task h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin:.5625rem 0 .875rem;font-size:1.5625rem;font-weight:750;line-height:1.25}.today-task p,.today-review p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.875rem}.today-task .today-kicker{color:var(--accent);font-size:.8125rem;font-weight:650}.today-complete-note{align-items:center;gap:.375rem;display:flex}.today-complete-note .ui-icon{width:18px;height:18px}.today-task .today-draft-note{color:var(--accent);align-items:center;gap:.375rem;margin-top:.625rem;font-size:.8125rem;font-weight:650;display:flex}.today-draft-note .ui-icon{width:18px;height:18px}.today-task .button,.today-review .button{min-height:54px;margin-top:1.0625rem;font-size:1.0625rem}.today-task .button .ui-icon,.today-review .button .ui-icon{width:20px;height:20px}.today-score{color:var(--accent);font-size:1.25rem}.today-review{background:var(--surface);border-radius:15px;padding:1.125rem}.today-review-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.today-review h2{margin:0;font-size:1.125rem}.today-review-link{align-items:center;gap:.375rem;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.today-review-link .ui-icon{width:16px;height:16px}.today-review-heading+p{margin-top:.5rem}.today-review-number{color:var(--accent);font-size:1.4375rem;line-height:1}.today-task .today-detail,.today-review .today-detail{margin-top:.75rem;font-size:.875rem}.today-retry{min-height:44px;font:inherit;color:var(--accent);border:1px solid var(--control-border);border-radius:var(--ui-radius-control);cursor:pointer;background:0 0;margin-top:.5rem;padding:.25rem .5rem}.today-history{margin-top:.125rem}.today-history .day-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,2.75rem),1fr));gap:4px;margin:0}.today-history .day-cell{border:0;gap:.3125rem;min-height:72px;padding:.4375rem 1px}.today-history .day-num{color:var(--muted);font-size:.75rem;font-weight:400}.today-history .day-mark{font-size:.8125rem;font-weight:600;line-height:1.25}.today-history .day-mark .ui-icon{width:20px;height:20px}.today-history .day-done{background:var(--surface)}.today-history .day-today,.today-history .day-current{background:var(--accent);color:var(--surface)}.today-history .day-today .day-num,.today-history .day-current .day-num{color:var(--surface)}.today-history .day-missed{background:var(--surface);color:var(--muted)}.today-history .day-cell:disabled{opacity:1}.today-history .day-pager{flex-wrap:wrap;margin:0 0 .75rem}.today-history .day-pager [role=status]{font-size:.8125rem}.today-totals{color:var(--muted);margin:.8125rem 0 0;font-size:.875rem}.today-history .hint{margin-top:.5rem}@media (width<=360px){.today-task{padding:1.0625rem .875rem}.today-task h2{font-size:1.4375rem}.today-history .day-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}@container student-shell (inline-size<9rem){.today-task,.today-review{padding-inline:.25rem}.today-history .day-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,2.75rem),1fr))}}.day-pager{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.day-pager+.day-strip{margin-top:.375rem}.pager-button{min-height:var(--tap);font:inherit;color:var(--text);border:1px solid var(--control-border);cursor:pointer;background:0 0;border-radius:8px;padding:0 .75rem}.pager-button[aria-disabled=true]{color:var(--muted);opacity:.6;cursor:default}.day-strip{grid-template-columns:repeat(7,1fr);gap:.375rem;margin:.75rem 0 1rem;padding:0;list-style:none;display:grid}.day-cell{width:100%;min-height:var(--tap);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--control-border);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:.25rem 0;display:flex}.day-cell:disabled{color:var(--muted);cursor:default;opacity:.6}.day-num{font-weight:600}.day-mark{min-height:.75rem;font-size:.75rem;line-height:1}.day-done{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.day-makeup{border-color:var(--notice-text);background:var(--notice-bg);color:var(--notice-text)}.day-today{border-color:var(--accent);color:var(--accent);font-weight:700}.day-missed{border-style:dashed}.done-line{margin:0 0 .75rem;font-weight:600}.totals-line{margin:.75rem 0 0}.quiz-save{min-height:1.5em;color:var(--accent);margin:1rem 0 0;font-size:.875rem}.quiz-save-warning{color:var(--danger)}.quiz{max-width:480px;min-height:100dvh;padding:0 var(--gap);flex-direction:column;margin:0 auto;display:flex}.quiz-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-height:56px;display:flex}.quiz-exit{flex:none;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.quiz-title{flex-wrap:wrap;flex:1 1 0;justify-content:center;align-items:center;column-gap:.5rem;font-weight:700;display:flex}.quiz-title .badge{margin-left:0}.quiz-title-part{white-space:nowrap}.quiz-timer{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;flex:none;min-width:44px;margin-left:auto}.progress-toggle{width:100%;min-height:44px;font:inherit;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.grid{grid-template-columns:repeat(9,1fr);gap:.25rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid}.grid-cell{width:100%;min-height:36px;font:inherit;color:var(--muted);background:var(--surface);border:1px solid var(--control-border);cursor:pointer;border-radius:6px;font-size:.875rem}.grid-cell.answered{color:var(--ok);border-color:var(--ok);background:var(--ok-bg)}.grid-cell.current{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.quiz-body{background:var(--surface);border-radius:var(--radius);padding:1rem var(--gap);flex:1;margin-bottom:.5rem}.section-name{color:var(--muted);margin:0 0 .25rem;font-size:.875rem}.q-no{margin:0 0 .75rem;font-weight:600}.q-expr{flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:1rem;font-size:1.75rem;line-height:1.3;display:flex}.expr{flex-wrap:wrap;align-items:center;gap:.375rem;display:inline-flex}.mixed{align-items:center;gap:.125rem;display:inline-flex}.frac{vertical-align:middle;flex-direction:column;align-items:center;font-size:.7em;line-height:1.15;display:inline-flex}.frac-num{border-bottom:2px solid;padding:0 .2em}.frac-den{padding:0 .2em}.answer-fields input{text-align:center;font-size:1.25rem}.answer-single{max-width:12rem}.answer-frac{align-items:center;gap:.75rem;display:flex}.answer-frac .answer-whole{width:5rem}.frac-input{flex-direction:column;gap:.25rem;width:5rem;display:inline-flex}.frac-input input:first-child{border-bottom:2px solid var(--text)}.quiz-nav{padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));background:var(--bg);grid-template-columns:1fr 1fr 1.5fr;gap:.5rem;display:grid;position:sticky;bottom:0}dialog.confirm{border-radius:var(--radius);width:min(90vw,360px);padding:1.25rem var(--gap);color:var(--text);background:var(--surface);border:0}dialog.confirm::backdrop{background:#00000080}dialog.confirm h2{margin:0 0 .5rem;font-size:1.125rem}.quiz-daily dialog.confirm{container:quiz-confirm/inline-size}@container quiz-confirm (inline-size<12rem){.quiz-daily dialog.confirm .button-row{grid-template-columns:minmax(0,1fr)}}.quiz-daily{width:100%;padding:max(1.25rem, env(safe-area-inset-top)) max(var(--ui-gutter), env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)) max(var(--ui-gutter), env(safe-area-inset-left));container:quiz-shell/inline-size}.quiz-daily .quiz-head{gap:.4375rem;min-height:44px;font-size:.875rem}.quiz-daily .quiz-exit{gap:.375rem;text-decoration:none}.quiz-daily .quiz-exit .ui-icon{width:16px;height:16px}.quiz-daily .quiz-timer{font-size:.75rem}.quiz-daily .progress{background:var(--ui-mint);border-radius:13px;margin:.9375rem 0 1.125rem;padding:.25rem .875rem}.quiz-daily .progress-toggle{color:var(--text);justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.quiz-grid-open,.quiz-grid-close{width:16px;height:16px}.quiz-grid-open{transform:rotate(90deg)}.quiz-grid-close{transform:rotate(-90deg)}.quiz-daily .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,2.75rem),1fr));gap:5px;margin:.875rem 0 0}.quiz-daily .grid-cell{min-height:44px}.quiz-progress-track{background:var(--surface);border-radius:999px;height:7px;margin-top:.25rem;overflow:hidden}.quiz-progress-track span{background:var(--accent);height:100%;display:block}.quiz-grid-hint{color:var(--muted);margin:.625rem 0;font-size:.8125rem}.quiz-daily .quiz-body{border-radius:18px;flex:none;min-width:0;margin:0;padding:1.5rem 1.25rem}.quiz-question-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.quiz-question-heading>div{min-width:0}.quiz-daily .section-name{color:var(--accent);margin:0;font-size:.8125rem}.quiz-daily .section-name .muted{color:var(--muted);margin-top:.25rem;display:block}.quiz-daily .q-no{margin:.25rem 0 0;font-size:1.375rem;font-weight:750;line-height:1.35}.quiz-pencil{background:var(--notice-bg);width:45px;height:52px;color:var(--notice-text);border-radius:10px;flex:none;place-items:center;display:grid;transform:rotate(7deg)}.quiz-pencil .ui-icon{width:24px;height:24px}.quiz-daily .q-expr{justify-content:center;gap:.625rem;min-height:70px;margin:1.5625rem 0 1.5rem;font-size:2.4375rem;line-height:1.4}.quiz-daily .q-expr .expr{overflow-wrap:anywhere;justify-content:center;gap:.625rem;min-width:0}.quiz-daily .q-expr .frac{font-size:.8em;line-height:1.2}.quiz-daily .q-expr .frac-num{border-bottom-width:1.6px;padding:0 .15em .07em}.quiz-daily .q-expr .frac-den{padding:.07em .15em 0}.quiz-daily .answer-frac{background:color-mix(in srgb, var(--ui-mint) 55%, var(--surface));border-radius:12px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.125rem;padding:.875rem .75rem;display:grid}.quiz-daily .answer-entry{gap:.25rem;min-width:0;display:grid}.quiz-daily .answer-entry>span{color:var(--muted);font-size:.875rem}.quiz-daily .answer-fields input{border-radius:9px;width:100%;min-width:0;max-width:none;min-height:54px;padding:.5625rem;font-size:1.375rem}.quiz-daily .frac-input{gap:.5rem;width:auto;min-width:0;display:grid}.quiz-daily .frac-input .answer-entry:first-child{border-bottom:2px solid var(--text);padding-bottom:.5rem}.quiz-daily .frac-input input:first-child{border-bottom-width:1px}.quiz-daily .answer-guide,.quiz-daily .field-error{margin:1rem 0 0;font-size:.8125rem}.quiz-daily .field-error{font-size:.875rem}.quiz-daily .answer-guide{color:var(--muted)}.quiz-daily .quiz-save{align-items:center;gap:.375rem;margin:.625rem 0 0;font-size:.75rem;display:flex}.quiz-daily .quiz-save-warning{font-size:.875rem}.quiz-daily .quiz-save .ui-icon{flex:none;width:16px;height:16px}.quiz-daily .form-error:empty{display:none}.quiz-daily .quiz-nav{grid-template-columns:minmax(0,1fr);gap:.4375rem;margin-top:1rem;padding:0;display:grid;position:static}.quiz-daily .quiz-primary{min-height:54px;font-size:1.0625rem}.quiz-daily .quiz-primary .ui-icon{width:20px;height:20px}.quiz-secondary-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quiz-text-button{min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.375rem;padding:.5625rem .5rem;font-size:.875rem;display:inline-flex}.quiz-text-button .ui-icon{width:16px;height:16px}.quiz-text-button:disabled{opacity:.6;cursor:default}@media (width<=360px){.quiz-daily{padding-top:max(.875rem, env(safe-area-inset-top))}.quiz-daily .quiz-body{padding:1.1875rem .9375rem}.quiz-daily .q-expr{gap:.5rem;font-size:2rem}.quiz-daily .answer-frac{gap:.75rem;padding:.75rem .5625rem}}@media (height<=42rem){.quiz-daily{padding-block:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-bottom))}.quiz-daily .progress{margin-block:.5rem .75rem}.quiz-daily .quiz-body{padding-block:1rem}.quiz-daily .q-expr{min-height:3rem;margin-block:.75rem}.quiz-daily .answer-guide,.quiz-daily .quiz-nav{margin-top:.75rem}}@container quiz-shell (inline-size<14rem){.quiz-daily .answer-frac{grid-template-columns:minmax(0,1fr)}.quiz-daily .quiz-pencil{display:none}.quiz-daily .quiz-body{padding-inline:.5rem}.quiz-daily .quiz-text-button{padding-inline:.25rem}.quiz-daily .quiz-text-button .ui-icon{display:none}}.result h2{color:var(--muted);margin:1rem 0 .5rem;font-size:1rem}.result-list{margin:0;padding:0;list-style:none}.result-list li{border-bottom:1px solid var(--border);align-items:flex-start;gap:.5rem;padding:.5rem 0;display:flex}.result-list .mark{flex:none;width:1.5rem;font-weight:700}.result-list .ok .mark{color:var(--ok)}.result-list .bad .mark{color:var(--danger)}.result-body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.result-expr{flex-wrap:wrap;align-items:center;gap:.375rem;font-size:1.125rem;display:inline-flex}.result-expr .no{color:var(--muted);font-size:.875rem}.result-expr .mine{font-weight:600}.result-list .bad .mine{color:var(--danger);text-decoration:line-through}.result .note{color:var(--muted);font-size:.875rem}.result .check{margin-bottom:.25rem}.result>.button{margin-top:1rem}.result-page{min-width:0}.result-back{justify-content:flex-end;min-height:44px;margin-top:-1.75rem;margin-bottom:1.75rem;display:flex}.result-back a{align-items:center;gap:.375rem;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.result-back .ui-icon{width:16px;height:16px}.result-page-heading{margin-bottom:1.5rem}.result-page-heading h1{letter-spacing:-.035em;margin:0;font-size:1.8125rem;font-weight:750;line-height:1.2}.result-page-heading>p{color:var(--muted);margin:.5rem 0 0;font-size:.875rem}.result-hero{background:var(--ui-mint);border-radius:18px;padding:1.25rem}.result-submitted{color:var(--accent);align-items:center;gap:.375rem;margin:0;font-size:.8125rem;font-weight:600;display:flex}.result-submitted .ui-icon{width:16px;height:16px}.result-complete-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.result .result-hero h2{color:var(--text);overflow-wrap:anywhere;margin:.375rem 0 0;font-size:1.3125rem;line-height:1.35}.result-success{background:var(--accent);width:47px;height:47px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;margin-top:-1.25rem;display:grid;transform:rotate(-8deg)}.result-success .ui-icon{width:27px;height:27px}.result-score-line{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:.75rem;margin-top:1.4375rem;display:grid}.result-caption{color:var(--muted);margin:0;font-size:.8125rem}.result-score{letter-spacing:-.035em;color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.375rem;margin:.125rem 0 0;font-size:4.125rem;font-weight:750;line-height:1.15;display:flex}.result-score span{letter-spacing:normal;color:var(--muted);font-size:1.5625rem;font-weight:400}.result-time{border-left:1px solid var(--border);min-width:0;padding:0 0 .5rem .875rem}.result-time strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.5625rem;line-height:1.3;display:block}.result-new-wrong{background:var(--notice-bg);color:var(--notice-text);border-radius:12px;margin:.8125rem 0 0;padding:.875rem 1rem;font-size:.875rem}.result.result-page .wrong-reminder{background:color-mix(in srgb, var(--ui-mint) 70%, var(--surface));border-radius:12px;margin:.625rem 0 0;padding:.5625rem .8125rem}.wrong-reminder-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.result .wrong-reminder p{overflow-wrap:anywhere;flex:11rem;min-width:0;margin:0;font-size:.8125rem}.result .wrong-reminder strong{color:var(--accent);font-size:1.25rem}.wrong-reminder-row a,.wrong-reminder-retry{min-height:44px;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:.375rem;padding:.25rem 0;font-size:.875rem;font-weight:650;text-decoration:none;display:inline-flex}.wrong-reminder-row .ui-icon{width:16px;height:16px}.result-details{border-top:1px solid var(--border);margin-top:1.375rem;padding-top:1.375rem}.result-details-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;display:flex}.result .result-details-heading h2{color:var(--text);margin:0;font-size:1.1875rem}.result-details-heading .check{min-height:44px;margin:0;font-size:.875rem}.result-section h3{color:var(--muted);margin:.875rem 0 0;font-size:.875rem;font-weight:600}.result-page .result-list li{padding:1.0625rem 0;display:block}.result-row-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:.625rem;font-size:.75rem;display:flex}.result-status{color:var(--danger);align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.result-status .ui-icon{width:16px;height:16px}.result-list .ok .result-status{color:var(--accent)}.result-row-body{grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:.875rem;margin-top:.4375rem;display:grid}.result-page .result-expr{min-width:0;min-height:46px;margin:0;font-size:1.4375rem;display:flex}.result-expr .expr{overflow-wrap:anywhere;min-width:0}.result-mine{border-left:1px solid var(--border);text-align:center;min-width:0;padding-left:.625rem}.result-mine p{color:var(--muted);margin:0 0 .25rem;font-size:.75rem}.result-mine strong{overflow-wrap:anywhere;font-size:1.375rem;font-weight:600;line-height:1.3;display:block}.result-mine .expr{justify-content:center;max-width:100%}.result-mine .mixed{flex-wrap:wrap;min-width:0}.result-mine .frac{min-width:0;max-width:100%}.result-mine .frac-num,.result-mine .frac-den{overflow-wrap:anywhere}.result-note{color:var(--muted);overflow-wrap:anywhere;margin:.625rem 0 0;font-size:.8125rem}.result-home{margin:1.25rem 0 0}.result-loading{margin-top:1.5rem}.result-loading h1{font-size:1.5rem}@media (width<=360px){.result-hero{padding:1.0625rem}.result .result-hero h2{font-size:1.1875rem}.result-score{font-size:3.4375rem}.result-time{padding-left:.6875rem}.result-time strong{font-size:1.375rem}.result-row-body{grid-template-columns:minmax(0,1fr) 64px;gap:.5625rem}.result-page .result-expr{font-size:1.25rem}}@container student-shell (inline-size<14rem){.result-back{justify-content:flex-start;margin-top:0;margin-bottom:1rem}.result-hero{text-align:center}.result-submitted,.result-complete-heading,.result-score{justify-content:center}.result-score-line,.result-row-body{grid-template-columns:minmax(0,1fr)}.result-time{border-left:0;border-top:1px solid var(--border);padding:.75rem 0 0}.result-mine{border-left:0;border-top:1px solid var(--border);text-align:center;padding:.5rem 0 0}.result-row-body>.result-expr,.result-mine .expr{justify-content:center}.result-success{display:none}}.review-form{flex-direction:column;flex:1;display:flex}.quiz-nav.single{grid-template-columns:1fr}.review .answer-fields input:read-only{border-style:dashed}.review-feedback{color:var(--text);border-radius:8px;margin-top:1rem;padding:.75rem}.review-feedback p{margin:0}.review-feedback p+p{margin-top:.25rem}.review-feedback .mark{margin-right:.375rem;font-weight:700}.review-feedback.ok{background:var(--ok-bg)}.review-feedback.ok .mark{color:var(--ok)}.review-feedback.bad{background:var(--bad-bg)}.review-feedback.bad .mark{color:var(--danger)}.review-feedback .note{color:var(--muted);font-size:.875rem}.review-done{text-align:center;padding-top:3rem}.app-main>.card+.card{margin-top:var(--gap)}.wrong-lead{margin:.5rem 0 1rem;font-size:1.25rem;font-weight:700}.wrong-progress h2,.wrong-reminder h2{color:var(--muted);margin:0 0 .5rem;font-size:1rem}.wrong-boxes{margin:0 0 .5rem;padding:0;list-style:none}.wrong-boxes li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.wrong-reminder p{margin:0 0 .75rem}.result .wrong-reminder{margin:1rem 0}.wrong-page{min-width:0}.wrong-page p{line-height:1.6}.wrong-task{margin:0 0 1.375rem}.wrong-task p{margin:0;font-size:.875rem}.wrong-task-heading{color:var(--accent);letter-spacing:-.04em;flex-wrap:wrap;align-items:baseline;gap:6px;margin:.25rem 0 .75rem;font-size:1.875rem;font-weight:750;line-height:1.2;display:flex}.wrong-task-heading>span{white-space:nowrap}.wrong-task-heading strong{letter-spacing:-.055em;color:var(--ui-emphasis);font-variant-numeric:tabular-nums;font-size:4.5rem;line-height:1}.wrong-start{width:100%;min-height:54px;margin-top:1.0625rem;font-size:1.0625rem}.wrong-page .wrong-small{font-size:.8125rem}.wrong-task .wrong-arrangement{margin-top:.75rem}.wrong-task .wrong-today-count{margin-top:.6875rem}.wrong-task .wrong-kicker{color:var(--accent);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.wrong-task-capped{margin-top:.625rem}.wrong-state-title{color:var(--accent);margin:.625rem 0;font-size:1.5625rem;line-height:1.3}.wrong-task .wrong-small:last-child:not(.wrong-arrangement){margin-top:.75rem}.wrong-loading h2{font-size:1.25rem}.wrong-loading p{margin:.5rem 0 .875rem}.wrong-page .wrong-progress{background:var(--ui-mint);border-radius:15px;padding:1rem}.wrong-page .wrong-summary-heading{color:var(--accent);flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:1.125rem;font-weight:650;line-height:1.3;display:flex}.wrong-summary-heading strong{font-size:1.875rem;line-height:1.2}.wrong-page .wrong-boxes{gap:8px;margin:1rem 0 0;display:grid}.wrong-page .wrong-boxes li{background:var(--surface);border:0;border-radius:11px;align-items:center;gap:7px;padding:.75rem;font-size:.8125rem}.wrong-times{color:var(--ui-emphasis);font-size:1.125rem;font-weight:750}.wrong-box-count{white-space:nowrap;flex:none}.wrong-box-count strong{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.wrong-interval-note{margin:.9375rem 0 0}.wrong-mastered{background:var(--ui-mint);border-radius:14px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;margin-top:1rem;padding:1rem;display:grid}.wrong-mastered-mark{background:var(--accent);width:38px;height:38px;color:var(--ui-on-brand);border-radius:50%;place-items:center;display:grid}.wrong-mastered h2{color:var(--accent);margin:0;font-size:1rem;line-height:1.5}.wrong-mastered strong{font-variant-numeric:tabular-nums;font-size:1.625rem}.wrong-mastered p{margin:.25rem 0 0}.review.quiz-daily .quiz-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.review-title{margin:0;font-size:.875rem;font-weight:700}.review.quiz-daily .review-form{flex:none;min-width:0}.review.quiz-daily .quiz-body{margin-top:1.125rem}.review-question-context{color:var(--muted);margin:0;font-size:.875rem;line-height:1.6}.review-question-context strong{color:var(--accent)}.review.quiz-daily .review-feedback{background:var(--ui-mint);border-radius:12px;margin-top:1.125rem;padding:1rem}.review.quiz-daily .review-feedback.bad{background:var(--notice-bg)}.review-feedback h2{color:var(--accent);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.3125rem;line-height:1.35;display:flex}.review-feedback.bad h2{color:var(--danger)}.review-feedback h2 .ui-icon{flex:none}.review.quiz-daily .review-feedback p{font-size:.875rem;line-height:1.6}.review.quiz-daily .review-feedback .note{color:var(--muted);margin-top:.625rem}.review.quiz-daily .review-repeated{margin-bottom:.625rem;font-weight:600}.review .form-error:empty{display:none}.review.quiz-daily .review-done{text-align:center;background:var(--ui-mint);border-radius:18px;margin-top:1.125rem;padding:1.5rem 1.25rem}.review-done-mark{width:47px;height:47px;color:var(--ui-on-brand);background:var(--accent);border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.review-done-mark[data-state=neutral]{color:var(--notice-text);background:var(--notice-bg)}.review-feedback p{overflow-wrap:anywhere}.review-done h1{color:var(--accent);margin:0 0 .75rem;font-size:1.5625rem;line-height:1.35}.review-done h1 strong{font-size:2rem}.review-done p{margin:.75rem 0;font-size:.875rem;line-height:1.6}.review-done .review-confirmed{color:var(--accent);font-weight:600}.review-done-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.review-done-stats span{color:var(--muted);font-size:.875rem}.review-done-stats strong{font-variant-numeric:tabular-nums;font-size:2.5rem;line-height:1.3;display:block}.review-done-stats small{font-size:.875rem;font-weight:400}.review-done .button{margin-top:.75rem}.review-done .review-done-return{width:100%;min-height:54px;margin-top:1.25rem}.review-done .error-state--compact{display:block}.review-done .error-state--compact>.error-scene,.review-done .error-state-description{margin-inline:auto}.review-done .error-state-actions{justify-content:center}@media (width<=360px){.wrong-task-heading{gap:4px;font-size:1.5rem}.wrong-task-heading strong{font-size:3.6875rem}.wrong-page .wrong-progress{padding:.8125rem}}@container student-shell (inline-size<14rem){.wrong-task-heading>span{white-space:normal;max-width:100%}.wrong-page .wrong-boxes li{flex-wrap:wrap}.wrong-box-count{margin-left:auto}.wrong-mastered{grid-template-columns:minmax(0,1fr)}.wrong-mastered-mark{display:none}}@container quiz-shell (inline-size<14rem){.review.quiz-daily .review-done{padding-inline:.5rem}.review-done-stats{grid-template-columns:minmax(0,1fr)}}:root{--chart-line:var(--accent);--chart-track:var(--ui-mint);--chart-grid:var(--ui-line)}.visually-hidden:where(:not(:focus-within,:active)){clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.stats h2{margin:1.5rem 0 .5rem;font-size:1rem}.me-card h2{margin:0 0 .75rem;font-size:1rem}.period-tabs{background:var(--bg);border:1px solid var(--control-border);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.period-tab{min-height:var(--tap);font:inherit;color:var(--text);cursor:pointer;word-break:keep-all;overflow-wrap:anywhere;background:0 0;border:0;border-radius:8px;padding:0}.period-tab[aria-selected=true]{color:var(--accent-text);background:var(--accent);font-weight:700}.period-panel{container:period/inline-size}.period-nav{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.period-step{white-space:nowrap;flex:none;padding:0 .5rem}.period-title{text-align:center;word-break:keep-all;overflow-wrap:anywhere;flex:1 1 0;min-width:0;font-weight:600}@container period (inline-size<20em){.period-title{flex-basis:100%;order:-1}.period-step:last-child{margin-inline-start:auto}}.period-body{margin-top:1rem;display:flow-root}.period-body>:first-child{margin-top:0}.period-body>:last-child{margin-bottom:0}.stats-hero{margin:0}.stats-hero strong{font-size:3rem;line-height:1.1}.accuracy-chart{width:100%;height:auto;display:block}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-tick,.chart-note{fill:var(--muted);font-size:11px}.chart-line{fill:none;stroke:var(--chart-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--chart-line);stroke:var(--surface);stroke-width:2px}.stats-days-wrap{margin-top:.5rem;overflow-x:auto}.stats-days{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.stats-days th,.stats-days td{text-align:right;border-bottom:1px solid var(--border);padding:.375rem .125rem}.stats-days thead th{color:var(--muted);font-size:.875rem;font-weight:400}.stats-days th:first-child{text-align:left;font-weight:400}.stats-days .badge{margin-left:.25rem;font-size:.75rem}.stats-ops{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.stats-ops li{grid-template-columns:auto 1fr;align-items:baseline;gap:.25rem .5rem;display:grid}.op-value{color:var(--muted);font-variant-numeric:tabular-nums;justify-self:end}.op-bar{background:var(--chart-track);border-radius:0 4px 4px 0;grid-column:1/-1;height:8px;display:block;overflow:hidden}.op-bar>span{background:var(--chart-line);border-radius:0 4px 4px 0;height:100%;display:block}.cal{container:cal/inline-size}.cal-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cal-title{word-break:keep-all;margin:0;font-size:1rem}.cal-nav{min-width:44px;min-height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--control-border);cursor:pointer;border-radius:8px;flex:none;font-size:1.25rem}.cal-nav[aria-disabled=true]{opacity:.4;cursor:default}@container cal (inline-size<10em){.cal-head{flex-wrap:wrap}.cal-title{text-align:center;flex-basis:100%;order:-1}}.cal-grid{table-layout:fixed;border-collapse:separate;border-spacing:1px;text-align:center;font-variant-numeric:tabular-nums;width:100%;margin-top:.5rem;font-size:min(.875rem,10cqi)}.cal-grid th{color:var(--muted);padding:.25rem 0;font-size:min(.8125rem,10cqi);font-weight:400}.cal-day{vertical-align:middle;border:1px solid #0000;border-radius:8px;height:2.75rem;padding:0}.cal-num,.cal-mark{line-height:1.2;display:block}.cal-mark{font-size:min(.75rem,8.5cqi)}.cal-day.is-done{color:var(--ok);background:var(--ok-bg);border-color:var(--ok)}.cal-day.is-makeup{color:var(--notice-text);background:var(--notice-bg);border-color:var(--notice-text)}.cal-day.is-missed{border-color:var(--border);border-style:dashed}.cal-day.is-locked{color:var(--muted);border-color:var(--border);opacity:.6}.cal-day.is-today{border:2px solid var(--accent);font-weight:700}.cal-legend{color:var(--muted);margin:.5rem 0 0;font-size:.8125rem}.me-account-shortcut{justify-content:end;margin:-1rem 0 1rem;display:flex}.me-account-shortcut .me-text-link{align-items:center;gap:.375rem;min-height:2.75rem;display:inline-flex}.me-share{background:var(--ui-mint);border-radius:var(--ui-radius-card);padding:1.25rem}.me-share .me-share-note{margin-bottom:0;font-size:.75rem}.me-share-preview{margin-top:.75rem}.me-share-preview summary{cursor:pointer;min-height:2.75rem;color:var(--accent)}.me-share-preview img{border-radius:8px;width:100%;height:auto;margin-top:.5rem;display:block}.rank-wrap{overflow-x:auto}.rank-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.rank-table th,.rank-table td{border-bottom:1px solid var(--border);text-align:start;vertical-align:top;padding:.5rem .125rem}.rank-table thead th{color:var(--muted);font-size:.875rem;font-weight:400}.rank-table thead th:last-child,.rank-mastered{text-align:end}.rank-num{font-weight:inherit;white-space:nowrap}.rank-mastered{white-space:nowrap}.rank-name{overflow-wrap:anywhere;width:100%}.rank-name .badge{margin-left:.25rem;padding:0 .375rem}.rank-top{color:var(--accent);font-weight:700}.rank-table tr.is-me{background:color-mix(in srgb, var(--accent) 12%, var(--surface));font-weight:700}.rank-table tr.is-me .rank-top{color:inherit}.rank-me th,.rank-me td{border-top:2px dashed var(--border)}.me-page{min-width:0;container:me/inline-size}.me-page .page-heading{min-height:0;margin-bottom:.875rem}.me-page .study-stats{min-width:0}.me-page .period-tabs{background:0 0;border:0;gap:6px;padding:0}.me-page .period-tab{background:var(--ui-mint);min-height:44px;color:var(--accent);font-size:.875rem}.me-page .period-tab[aria-selected=true]{background:var(--accent);color:var(--ui-on-brand)}.me-page .period-nav{margin:.5rem 0 .75rem}.me-page .period-title{font-size:.875rem;font-weight:400}.me-page .period-step{min-height:44px;color:var(--muted);background:0 0;border:0;padding-inline:4px;font-size:.875rem}.learning-hero{background:var(--ui-mint);border-radius:18px;padding:1.125rem}.learning-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-top>div{min-width:0}.learning-art{object-fit:contain;flex:none;width:96px;height:96px}.learning-label{color:var(--accent);margin:0 0 .625rem;font-size:1rem;font-weight:650}.me-page .stats-hero{flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;display:flex}.me-page .stats-hero strong{overflow-wrap:anywhere;max-width:100%;color:var(--ui-emphasis);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:4rem;line-height:1.1}.stats-hero>span{font-size:1.125rem}.learning-breakdown{text-align:center;border-top:1px solid var(--ui-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:1rem;padding-top:1rem;display:grid}.learning-breakdown>div+div{border-left:1px solid var(--ui-line)}.learning-breakdown span{font-size:.875rem;display:block}.learning-breakdown p{color:var(--accent);margin:.375rem 0 0;font-size:.875rem}.learning-breakdown strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.learning-empty{justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-empty p{margin:0;font-size:.875rem;line-height:1.8}.me-page .stats h2,.me-section>h2,.me-section-head h2{border-inline-start:3px solid var(--accent);margin:0 0 .875rem;padding-inline-start:.625rem;font-size:1.125rem;line-height:1.4}.me-page .stats-section{border-top:1px solid var(--ui-line);margin-top:1.375rem;padding-top:1.375rem}.me-page .stats-caption{text-align:left;color:var(--muted);margin-bottom:.375rem;font-size:.875rem}.me-page .stats-days{font-size:.875rem}.me-page .stats-days thead{background:var(--ui-mint)}.me-page .stats-days th,.me-page .stats-days td{padding-block:.625rem}.me-page .stats-average{background:var(--ui-mint);border-radius:10px;margin:.875rem 0 0;padding:.875rem;font-size:.875rem}.stats-average strong{color:var(--accent);font-size:1.375rem}.me-page .stats-ops{gap:.625rem}.me-page .stats-ops li{grid-template-columns:auto minmax(36px,1fr) auto;align-items:center;gap:10px;font-size:.875rem}.me-page .op-value{grid-area:1/3}.me-page .op-bar{border-radius:8px;grid-area:1/2;height:7px}.me-section{border-top:1px solid var(--ui-line);min-width:0;margin-top:1.375rem;padding-top:1.375rem}.me-section>p{font-size:.875rem;line-height:1.7}.me-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.me-section-head h2{margin-bottom:0}.me-text-link{align-items:center;gap:4px;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.me-wrong strong{color:var(--accent);font-size:1.125rem}.me-page .profile{margin-bottom:1rem;font-size:.875rem}.account-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.account-actions .button{width:100%}.me-today{margin:1rem 0 0;font-size:.875rem}.rank-page{min-width:0}.rank-hero{background:var(--ui-mint);border-radius:17px;margin-bottom:1.25rem;padding:1.0625rem 1.125rem}.rank-kicker{color:var(--accent);align-items:center;gap:6px;margin:0;font-size:.875rem;font-weight:650;display:flex}.rank-kicker .ui-icon{width:16px;height:16px}.rank-mine{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;margin-top:8px;display:grid}.rank-position{color:var(--accent);flex-wrap:wrap;align-items:baseline;gap:5px;margin:0;line-height:1;display:flex}.rank-position strong{overflow-wrap:anywhere;max-width:100%;color:var(--ui-emphasis);font-variant-numeric:tabular-nums;font-size:3rem;line-height:1.2}.rank-position span{font-size:1.125rem}.rank-total{border-inline-start:1px solid var(--ui-line);min-width:0;color:var(--accent);padding-inline-start:18px}.rank-total p{color:var(--muted);margin:0 0 .25rem;font-size:.875rem}.rank-total strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:1.6875rem}.rank-total span{margin-left:5px;font-size:.875rem}.rank-board{min-width:0}.rank-board h2{margin:0 0 .375rem;font-size:1.125rem;line-height:1.3}.rank-scope{margin:0 0 .375rem;font-size:.875rem;line-height:1.6}.rank-page .rank-table{table-layout:fixed;border-collapse:separate;border-spacing:0 6px;min-width:16rem;font-size:.9375rem}.rank-page .rank-table th,.rank-page .rank-table td{vertical-align:middle;background:var(--surface);border:0;padding:12px 9px}.rank-page .rank-table thead th{background:0 0;padding:4px 9px;font-size:.875rem}.rank-page .rank-table th:first-child{border-radius:10px 0 0 10px;width:18%}.rank-page .rank-name{width:auto}.rank-page .rank-table :is(th,td):last-child{border-radius:0 10px 10px 0;width:34%}.rank-page .rank-table tr.is-me :is(th,td){background:var(--ui-mint)}.rank-page .rank-top{color:var(--ui-emphasis)}.rank-page .rank-me :is(th,td){border-top:1px dashed var(--control-border)}.rank-unranked{background:var(--ui-mint);border-radius:12px;margin-bottom:1.25rem;padding:1rem;font-size:.875rem}.rank-unranked h2{margin:0 0 .5rem;font-size:1.125rem}.rank-unranked p{color:var(--muted);margin:0}.auth-page{padding:max(1.375rem, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));container:account/inline-size}.auth-page .auth-card{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.auth-brand{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-heading{justify-content:space-between;align-items:center;gap:14px;margin:1.5rem 0 1.75rem;display:flex}.auth-heading>div{min-width:0}.auth-heading h1{margin:0;font-size:1.875rem}.auth-heading p{margin:.625rem 0 0;font-size:.875rem;line-height:1.6}.auth-heading img{object-fit:contain;flex:none;width:78px;height:78px}.auth-card .field{margin-bottom:1.125rem}.auth-card .field>label,.auth-card .field>.label-row{font-size:.875rem}.auth-card input:not([type=checkbox],[type=radio]),.auth-card select{background-color:var(--surface);border-radius:11px;min-height:50px;font-size:1rem}.auth-password{position:relative}.auth-password>input{padding-inline-end:60px}.auth-password-toggle{width:52px;min-height:44px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;font-size:.875rem;display:flex;position:absolute;top:0;bottom:0;right:2px}.auth-password-toggle input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.auth-password-toggle:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:-4px;border-radius:9px}.auth-card .form-error:empty{display:none}.auth-card>.button,.auth-card .form-body>.button{width:100%;min-height:50px}.auth-card .auth-footer{text-align:center;margin:1.5rem 0 0;font-size:.875rem;line-height:1.7}.auth-card .auth-contact{text-align:center;margin:.5rem 0 0;font-size:.875rem;line-height:1.7}.auth-contact a{min-height:44px;padding-block:0;font-weight:600;text-decoration:none;display:block}.auth-page a[href^=tel\:]{white-space:normal;overflow-wrap:anywhere}.auth-step{color:var(--muted);align-items:center;gap:6px;font-size:.875rem;display:inline-flex}.auth-step>span{background:var(--ui-mint);border-radius:5px;width:24px;height:5px}.auth-step>span[data-active=true]{background:var(--accent)}.auth-register{padding-top:max(.75rem, env(safe-area-inset-top));padding-bottom:max(.75rem, env(safe-area-inset-bottom))}.auth-register .auth-heading{margin:.5rem 0}.auth-register .auth-heading h1{font-size:1.6875rem}.auth-register .auth-heading p{margin:.25rem 0 0;font-size:.875rem}.auth-register .auth-heading img{width:52px;height:52px}.auth-register .form.compact .field{margin-bottom:6px}.auth-register .form.compact .field>label:not(.check){margin-bottom:2px}.auth-register .auth-card input:not([type=checkbox],[type=radio]),.auth-register .auth-card select{min-height:44px}.auth-register .form.compact .notice{background:var(--ui-mint);margin:.375rem 0;padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.auth-register .notice a{white-space:nowrap;vertical-align:middle;min-height:44px;padding-block:0;display:inline-block}.auth-register .auth-card .auth-footer{margin-top:8px}.auth-register .group legend{font-size:.875rem}.auth-register .group .check{font-size:.875rem;line-height:1.4}.auth-register .button-row .button{min-height:50px}.auth-register .form.compact .check.consent{font-size:.875rem}@container account (inline-size>=20rem){.register-details{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;display:grid}.register-details>*{grid-column:1/-1}.register-details>.field:nth-child(-n+2){grid-column:auto}}.account-panel{box-shadow:none;background:0 0;border:0;padding:0}.account-panel .page-heading{min-height:0;margin-bottom:1.5rem}.account-panel .page-heading h1{font-size:1.6875rem}.account-panel>.button{width:100%;min-height:50px}.privacy-page .page-header{padding-top:0}.privacy-page .privacy{overflow-wrap:anywhere}.privacy-page .privacy h2{border-top:1px solid var(--ui-line);padding-top:1.25rem}.quiz-daily .answer-rules{border-top:1px solid var(--ui-line);color:var(--muted);margin-top:.75rem;padding-top:.75rem;font-size:.875rem;line-height:1.65}.quiz-daily .answer-rules p{margin:0;font-size:.875rem}.answer-rules summary{cursor:pointer;min-height:44px;color:var(--accent);padding-block:.625rem}.answer-rules details p{padding-bottom:.5rem}@media (height<=740px) and (width>=375px){.auth-register-two .pain-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;display:grid}.auth-register-two .pain-options .check{padding-block:4px}.auth-register-two .pain-options .check-row{align-self:start}}@container account (inline-size<20rem){.auth-register-two .pain-options{display:block}}@container account (inline-size<14rem){.auth-register .form.compact .notice{padding-inline:8px}.auth-heading img{display:none}.auth-password-toggle{width:64px}.auth-password>input{padding-inline-end:68px}}@container me (inline-size<20rem){.me-page .stats-ops li{grid-template-columns:auto minmax(0,1fr)}.me-page .op-value{grid-column:2}.me-page .op-bar{grid-area:2/1/auto/-1}}@container me (inline-size<14rem){.learning-hero{padding-inline:8px}.learning-art{display:none}.me-page .stats-hero strong{font-size:3rem}.learning-breakdown,.account-actions{grid-template-columns:minmax(0,1fr)}.learning-breakdown>div+div{border-left:0;border-top:1px solid var(--ui-line);padding-top:.75rem}}@container student-shell (inline-size<14rem){.rank-hero{text-align:center}.rank-kicker,.rank-position{justify-content:center}.rank-mine{grid-template-columns:minmax(0,1fr)}.rank-total{border-inline-start:0;border-top:1px solid var(--ui-line);padding-inline-start:0;padding-top:.75rem}}
