@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@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;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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;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{.collapse{visibility:collapse}.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.float-left{float:left}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.contents\!{display:contents!important}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color-scheme:light;--bg:#f2eee5;--surface:#e9e5dc;--surface-raised:#fbf8f1;--ink:#171711;--muted:#6c6c63;--subtle:#aba89e;--line:#dedad0;--nav:#15150f;--nav-muted:#8c8c80;--accent:#b67d5c;--sage:#dce2ce;--sand:#e9dfc9;--blue:#dbe5e4;--rose:#ebdbd2;--warning:#986138;--radius-sm:12px;--radius:20px;--radius-lg:28px;--space:8px;--ease:cubic-bezier(.22, 1, .36, 1);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Arial,PingFang SC,Microsoft YaHei,Campus Han,sans-serif;font-size:16px}:root[data-theme=dark]{color-scheme:dark;--bg:#1d1e19;--surface:#2a2b25;--surface-raised:#30312a;--ink:#f3efe4;--muted:#b2b1a7;--subtle:#777b6d;--line:#3d3e34;--nav:#10110e;--nav-muted:#919487;--accent:#d7a07d;--sage:#363e2b;--sand:#423b2d;--blue:#2d3d3c;--rose:#44352f;--warning:#deb58e}*{box-sizing:border-box}body{min-width:280px;margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{touch-action:manipulation}input,textarea{min-width:0;color:var(--ink)}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{letter-spacing:-.055em;font-size:clamp(2.4rem,6vw,3.5rem);font-weight:650;line-height:1.12}h2{font-weight:600}h3{font-weight:550}p{line-height:1.6}::selection{background:var(--sand)}.button{border-radius:var(--radius);color:#faf7ef;background:linear-gradient(#43443b,#15150f);border:1px solid #181811;justify-content:center;align-items:center;gap:12px;width:100%;min-height:56px;padding:16px 24px;font-size:1rem;font-weight:600;transition:transform .1s,filter .18s;display:flex;box-shadow:inset 0 1px #ffffff20}.button:hover{filter:brightness(1.12)}.button:active{transform:scale(.98)}.button.secondary{background:var(--surface);color:var(--ink);box-shadow:none;border-color:#0000;font-weight:550}.icon-button{background:var(--surface);border-radius:14px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;transition:transform .12s;display:inline-flex}.icon-button:active{transform:scale(.94)}.brand{letter-spacing:-1px;align-items:center;gap:9px;font:italic 700 1.65rem Georgia,Times New Roman,serif;display:flex}.brand-mark{border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.brand-dot,.heading-dot{color:var(--accent)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.66rem;font-weight:600;line-height:1.6}.quiet{color:var(--muted);font-size:.83rem;line-height:1.65}.intro{color:var(--muted);max-width:34em;font-size:1rem;line-height:1.7}.tag{border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:5px 9px;font-size:.68rem;font-weight:500;display:inline-flex}.app-root{min-height:100dvh;transition:transform .32s var(--ease),border-radius .3s;transform-origin:50% 160px}.has-layer{border-radius:22px;transform:scale(.985)}.onboarding{max-width:650px;padding:calc(env(safe-area-inset-top) + 24px) 24px 32px;flex-direction:column;min-height:100dvh;margin:auto;display:flex}.onboard-top{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.onboard-top>.icon-button{background:0 0}.onboard-progress{align-items:center;gap:16px;margin:0 0 38px;display:flex}.onboard-progress>.icon-button{background:0 0;width:32px;min-width:32px}.onboard-progress>span{color:var(--muted);white-space:nowrap;font-size:.65rem}.progress-track{flex:1;gap:5px;display:flex}.progress-track>span{background:var(--line);border-radius:4px;flex:1;height:3px}.progress-track>span.complete{background:var(--ink)}.onboard-content{flex:1}.welcome .onboard-content{flex-direction:column;display:flex}.welcome .eyebrow{margin-top:14px}.welcome-title{letter-spacing:-.065em;margin:16px 0 21px;font-size:clamp(3.8rem,14vw,5.7rem);font-weight:650;line-height:1.05}.welcome-title>span{display:block}.welcome-title>span:nth-child(2){color:var(--accent);font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:500}:lang(zh-CN) .welcome-title{letter-spacing:-.07em;font-size:clamp(3.2rem,12vw,4.5rem);line-height:1.2}:lang(zh-CN) .welcome-title>span:nth-child(2){font-family:inherit;font-style:normal;font-weight:550}.welcome .intro{max-width:24em;font-size:.95rem}.welcome-bottom{margin-top:auto;padding-top:18px}.welcome-bottom>.quiet{justify-content:center;align-items:center;gap:7px;margin-top:17px;font-size:.75rem;display:flex}.school-foot{text-align:center;letter-spacing:.13em;color:var(--subtle);margin:35px 0 0;font-size:.52rem;display:block}.campus-art{perspective:700px;width:100%;max-width:350px;height:270px;margin:30px auto 18px;position:relative}.art-paper{background:#e5dcc5;border:1px solid #fff8ed;border-radius:3px;width:78%;height:70%;position:absolute;top:13%;left:12%;overflow:hidden;box-shadow:0 10px 28px #49412e0d}.paper-back{background:#e8e1cf;transform:rotate(11deg)translate(8px)}.paper-front{transform-origin:50%;transform:rotate(-10deg)rotateX(14deg);box-shadow:8px 16px 27px #493b2514}.paper-front:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 32%,#493f2622,#fff7e436 34%,#0000 35% 65%,#493f2617 66%,#fff7e436,#0000 68%);position:absolute;inset:0}.art-paper svg{object-fit:cover;width:100%;height:100%}.art-sticker{background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:.78rem;font-weight:600;display:flex;position:absolute;bottom:8%;right:8%;transform:rotate(4deg);box-shadow:0 9px 17px #00000007}.art-shadow{filter:blur(14px);background:#8d7b4920;border-radius:100%;width:70%;height:18px;position:absolute;bottom:7%;left:15%}.step-title{margin:0 0 32px}.step-title h1{letter-spacing:-.055em;margin:10px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,10vw,4rem);font-style:italic;font-weight:600}:lang(zh-CN) .step-title h1{font-family:inherit;font-size:2.7rem;font-style:normal}.step-title p:last-child{color:var(--muted);max-width:31em;font-size:.92rem}.selection-card{text-align:left;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--line);align-items:center;gap:14px;width:100%;min-height:96px;margin:12px 0;padding:20px 18px;transition:background .18s;display:flex}.selection-card:hover{background:var(--surface)}.selection-card>span:nth-child(2){flex:1;min-width:0}.selection-card strong{overflow-wrap:anywhere;font-size:1rem;font-weight:550;line-height:1.4;display:block}.selection-card small{color:var(--muted);margin-top:5px;font-size:.77rem;line-height:1.5;display:block}.school-card{align-items:flex-start;min-height:180px;padding:25px 18px}.school-card strong{font-size:1.15rem;line-height:1.45}.school-card .tag{margin-top:14px}.school-card>svg{margin-top:20px}.school-crest{background:var(--sand);border:1px solid var(--line);border-radius:18px 18px 26px 26px;justify-content:center;align-items:center;width:64px;min-width:64px;height:75px;display:flex}.tile-icon{background:var(--surface);border-radius:13px;justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;display:flex}.context-chip{color:var(--muted);background:var(--surface);border-radius:10px;align-items:center;gap:9px;margin:0 0 20px;padding:10px 14px;font-size:.8rem;display:inline-flex}.year-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.year-card{text-align:left;background:var(--surface-raised);border:1px solid var(--line);border-radius:20px;min-height:145px;padding:25px 20px;position:relative}.year-card .year-number{letter-spacing:-.06em;margin-bottom:15px;font-family:Georgia,Times New Roman,serif;font-size:2.7rem;font-style:italic;line-height:1;display:block}.year-card>span:nth-child(2){color:var(--muted);font-size:.85rem}.year-card>svg{position:absolute;bottom:24px;right:20px}.year-card.selected{background:var(--sand)}.institute-label{color:var(--muted);align-items:flex-start;gap:8px;margin:0 0 18px;font-size:.78rem;line-height:1.5;display:flex}.institute-label svg{flex-shrink:0}.search-box{background:var(--surface);border:1px solid #0000;border-radius:13px;align-items:center;gap:10px;min-height:46px;padding:0 14px;display:flex}.search-box svg{color:var(--muted);flex-shrink:0}.search-box:focus-within{border-color:var(--accent)}.search-box input{outline-offset:0;background:0 0;border:none;width:100%;height:44px;font-size:.85rem;outline:none!important}.search-box input::placeholder{color:var(--muted)}.group-list{margin-top:18px}.group-selection{min-height:89px}.group-selection strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.25rem}.confirm-card{background:var(--sand);border-radius:23px;padding:27px;position:relative}.confirm-card>strong{letter-spacing:-.04em;margin:9px 0 7px;font-size:2.8rem;font-weight:550;display:block}.confirm-card p{color:var(--muted);font-size:.86rem}.confirm-check{background:var(--ink);width:40px;height:40px;color:var(--bg);border-radius:50%;place-items:center;display:grid;position:absolute;top:24px;right:24px}.confirmation-list{margin:24px 0}.confirmation-list>div{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;gap:12px;padding:13px 0;font-size:.83rem;line-height:1.5;display:grid}.confirmation-list dt{color:var(--muted)}.confirmation-list dd{text-align:right;margin:0}.confirmation-list small{color:var(--muted);margin-top:4px;font-size:.71rem;display:block}.inline-note{color:var(--muted);align-items:center;gap:8px;margin:22px 0;font-size:.72rem;display:flex}.bottom-note{text-align:center;margin-top:26px}.boot-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex}.boot-screen>.brand-mark{width:60px;height:60px;margin-bottom:22px}.boot-screen h1{font:italic 600 4rem Georgia,serif}.boot-screen p{color:var(--muted);max-width:430px;margin:20px 0}.boot-screen>.button{max-width:300px}.desktop-sidebar{display:none}.app-main{max-width:1300px;margin:auto}.app-top{padding:calc(env(safe-area-inset-top) + 18px) 22px 14px;justify-content:space-between;align-items:center;display:flex}.app-top-actions{align-items:center;gap:8px;display:flex}.app-top-actions .icon-button{border-radius:12px;width:39px;min-width:39px;height:39px}.app-top-actions .icon-button:first-of-type{background:0 0}.page-content{padding:22px 22px calc(110px + env(safe-area-inset-bottom));overflow-x:clip}.home-heading{justify-content:space-between;align-items:center;display:flex}.home-heading .eyebrow{margin-bottom:8px}.home-heading h1{letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,10vw,4.2rem);font-style:italic;font-weight:600;line-height:1.1}:lang(zh-CN) .home-heading h1{font-family:inherit;font-size:2.6rem;font-style:normal}.home-heading>.icon-button{background:0 0;align-self:flex-end}.schedule-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:22px 0;display:flex}.group-pill{background:var(--surface);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:.8rem;font-weight:550;display:flex}.group-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.timezone{color:var(--muted);text-align:right;align-items:center;gap:5px;font-size:.59rem;line-height:1.4;display:flex}.timezone svg{flex-shrink:0}.calendar-notice{border:1px solid var(--line);text-align:left;background:0 0;border-radius:15px;align-items:center;gap:11px;width:100%;margin:0 0 24px;padding:13px;display:flex}.notice-icon{background:var(--sand);border-radius:10px;justify-content:center;align-items:center;width:34px;min-width:34px;height:38px;display:flex}.calendar-notice>span:nth-child(2){flex:1;min-width:0}.calendar-notice strong{font-size:.8rem;font-weight:550;display:block}.calendar-notice small{color:var(--muted);margin-top:4px;font-size:.67rem;line-height:1.5;display:block}.calendar-notice>svg{color:var(--muted)}.week-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;display:flex}.week-button{background:0 0;align-items:center;gap:8px;min-height:44px;padding:6px 0;font-size:.96rem;font-weight:550;display:flex}.view-switch{background:var(--surface);border-radius:10px;padding:3px;display:flex;position:relative}.view-switch button{background:0 0;min-width:48px;min-height:32px;padding:7px 13px;font-size:.7rem;font-weight:550;position:relative}.view-switch button>span:first-child:not(:last-child){background:var(--surface-raised);border-radius:8px;position:absolute;inset:0;box-shadow:0 1px 4px #00000007}.view-switch button>span:last-child{z-index:1;position:relative}.week-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:18px;padding-bottom:22px;display:grid}.week-strip>button{min-height:85px;color:var(--muted);isolation:isolate;background:0 0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:11px 0 9px;display:flex;position:relative}.weekday-label{text-transform:capitalize;font-size:.67rem;font-weight:450}.week-strip strong{font-variant-numeric:tabular-nums;font-size:1.12rem;font-weight:550;line-height:1}.week-strip i{opacity:.4;background:currentColor;border-radius:50%;width:3px;height:3px}.week-strip>button.active{color:var(--bg)}.day-highlight{background:var(--ink);z-index:-1;border-radius:15px;position:absolute;inset:0}.search-row{align-items:center;gap:8px;display:flex}.search-row .search-box{flex:1}.search-row>.icon-button{width:46px;min-width:46px;height:46px}.filter-row{flex-wrap:wrap;gap:8px;padding-top:12px;display:flex;overflow:hidden}.filter-row>.tag{background:0 0;min-height:36px}.filter-row>.active-filter{background:var(--ink);color:var(--bg);border-color:var(--ink)}.section-label{justify-content:space-between;align-items:baseline;gap:12px;padding:27px 0 20px;display:flex}.section-label h2{letter-spacing:-.025em;text-transform:capitalize;font-size:1.2rem}.section-label>span{color:var(--muted);white-space:nowrap;font-size:.73rem}.swipe-surface{min-height:280px}.timeline{flex-direction:column;gap:13px;display:flex}.timeline-row{grid-template-columns:49px minmax(0,1fr);gap:13px;display:grid;position:relative}.time-column{font-variant-numeric:tabular-nums;flex-direction:column;gap:5px;padding-top:22px;font-size:.74rem;display:flex}.time-column strong{font-weight:600}.time-column>span{color:var(--muted);font-size:.66rem}.timeline-row:not(:last-child) .time-column:after{content:"";background:var(--line);width:1px;position:absolute;top:69px;bottom:-20px;left:19px}.lesson-card{text-align:left;background:var(--sand);border:1px solid #00000004;border-radius:18px;width:100%;padding:17px 18px 19px;display:block;position:relative;overflow:hidden}.lecture{background:var(--sage)}.seminar{background:var(--sand)}.practice,.lab{background:var(--blue)}.other{background:var(--rose)}.lesson-card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.lesson-type{text-transform:uppercase;letter-spacing:.1em;opacity:.6;font-size:.58rem;font-weight:650}.lesson-card-top>svg{opacity:.45}.lesson-card h3{letter-spacing:-.022em;overflow-wrap:anywhere;margin:0 0 17px;font-size:1.04rem;font-weight:550;line-height:1.4}.lesson-meta{color:var(--ink);opacity:.6;flex-wrap:wrap;gap:6px 12px;font-size:.65rem;line-height:1.5;display:flex}.lesson-meta>span{align-items:center;gap:4px;min-width:0;display:flex}.lesson-meta svg{flex-shrink:0}.timeline-row.done{opacity:.48}.lesson-card.live{box-shadow:0 0 0 2px var(--ink),0 0 0 5px var(--bg)}.live-dot{align-items:center;gap:5px;font-size:.57rem;display:flex}.live-dot:before{content:"";background:var(--ink);border-radius:50%;width:5px;height:5px}.data-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:32px;padding:20px 0 0;font-size:.59rem;line-height:1.6;display:flex}.data-footer>span:first-child{align-items:center;gap:5px;display:flex}.data-footer small{color:var(--subtle);flex-basis:100%;font-size:.57rem}.empty-state{text-align:center;padding:25px 12px 28px}.empty-state h2{letter-spacing:-.04em;margin-bottom:12px;font-size:1.5rem;font-weight:500}.empty-state p{color:var(--muted);max-width:27em;margin:0 auto 26px;font-size:.85rem;line-height:1.7}.empty-state .button{max-width:270px;min-height:48px;margin:auto;font-size:.82rem}.empty-art{width:150px;height:125px;margin:5px auto 22px;position:relative}.empty-page{background:#e6ddc8;border:1px solid #c6bca1;border-radius:8px;width:87px;height:102px;position:absolute;top:7px;left:30px;transform:rotate(-9deg);box-shadow:8px 9px #dcd3be55}.empty-page>span{background:#a59c8560;width:48px;height:2px;margin:12px 15px;display:block}.empty-page>span:first-child{margin-top:25px}.empty-page>i{border:2px solid #a59c85;border-radius:2px;width:12px;height:12px;display:block;position:absolute;bottom:13px;right:18px}.empty-sun{background:#c6af7980;border-radius:50%;width:34px;height:34px;position:absolute;top:-2px;right:15px}.empty-state.compact{padding-top:30px}.review-note{color:var(--warning);text-align:left;background:0 0;align-items:center;gap:7px;min-height:44px;margin-top:26px;font-size:.72rem;display:flex}.next-class{background:var(--surface-raised);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;gap:7px;margin-top:20px;padding:15px;font-size:.75rem;display:flex}.next-class>span{color:var(--muted);flex-basis:100%}.next-class>strong{flex:1}.next-class>small{white-space:nowrap;color:var(--accent)}.bottom-nav{z-index:20;padding:13px 12px calc(13px + env(safe-area-inset-bottom));background:var(--nav);min-height:77px;color:var(--nav-muted);border-radius:0;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 22px #00000003}.bottom-nav>button{background:0 0;flex-direction:column;flex:1;align-items:center;gap:7px;min-width:50px;min-height:48px;padding:0 5px;font-size:.63rem;line-height:1.4;display:flex;position:relative}.bottom-nav [aria-current=page]{color:#f7f4eb}.bottom-nav i{background:#f7f4eb;border-radius:50%;width:3px;height:3px;position:absolute;top:-7px;left:calc(50% - 2px)}.offline-pill{color:var(--muted);align-items:center;gap:4px;max-width:120px;font-size:.57rem;line-height:1.3;display:flex}.sheet-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#17181262;position:fixed;inset:0}.sheet{z-index:51;background:var(--bg);max-width:620px;max-height:89dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:28px 28px 0 0;outline:none;flex-direction:column;margin:auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 70px #00000012}.sheet.expanded{max-height:96dvh}.sheet-handle-area{touch-action:none;cursor:grab;justify-content:center;align-items:center;height:24px;min-height:24px;display:flex}.sheet-handle{background:var(--subtle);opacity:.45;border-radius:3px;width:34px;height:4px;display:block}.sheet-header{justify-content:space-between;align-items:center;gap:16px;padding:6px 22px 18px;display:flex}.sheet-header>h2{letter-spacing:-.03em;font-size:1.17rem;font-weight:600;line-height:1.4}.sheet-header>.icon-button{border-radius:50%;width:34px;min-width:34px;height:34px}.sheet-body{overscroll-behavior:contain;min-height:0;padding:0 22px 28px;overflow-y:auto}.option-list{flex-direction:column;gap:1px;margin:3px 0 14px;display:flex}.option-list>button{border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:14px 6px;display:flex}.option-list>button[aria-pressed=true]{font-weight:600}.option-list>button[aria-pressed=true]>svg{color:var(--accent)}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 28px;display:grid}.theme-options>button{background:var(--surface);border:1px solid #0000;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:130px;padding:13px 5px;display:flex;position:relative}.theme-options>button strong{font-size:.78rem;font-weight:500}.theme-options>button.selected{border-color:var(--ink);background:var(--surface-raised)}.theme-options>button>.lucide-check{position:absolute;top:9px;right:9px}.settings-section{background:var(--surface-raised);border-radius:18px;margin:0 0 16px;padding:2px 15px}.settings-section>button,.settings-view{border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:13px;width:100%;min-height:58px;padding:16px 0;font-size:.84rem;line-height:1.5;display:flex}.settings-section>button:last-child{border-bottom:0}.settings-section>button>span{flex:1}.settings-section>button>small{color:var(--muted);text-align:right;max-width:32%;font-size:.69rem}.settings-section>button>svg:last-child{color:var(--subtle)}.settings-view label{flex:1}.settings-view select{background:0 0;border:0;max-width:110px;font-size:.75rem}.settings-foot{text-align:center;color:var(--muted);flex-direction:column;gap:6px;padding:20px 0 5px;font-size:.65rem;display:flex}.settings-foot>strong{color:var(--ink);letter-spacing:-.02em;font-size:.81rem;font-weight:500}.settings-foot p{font-size:.62rem;line-height:1.6}.week-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:22px 0 4px;display:grid}.week-picker>button{background:var(--surface);border:1px solid #0000;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;min-height:91px;padding:14px;display:flex;position:relative}.week-picker>button>span{color:var(--muted);text-align:left;font-size:.56rem}.week-picker>button>strong{letter-spacing:-.05em;font-family:Georgia,serif;font-size:1.8rem;font-style:italic;line-height:1}.week-picker>button.selected{background:var(--ink);color:var(--bg)}.week-picker>button.selected>span{color:var(--bg);opacity:.6}.week-picker>button>svg{position:absolute;bottom:15px;right:10px}.explanation{flex-direction:column;gap:18px;padding:8px 0 6px;display:flex}.explanation>svg{color:var(--accent);margin:10px 0}.explanation h2{letter-spacing:-.035em;font-size:1.5rem;font-weight:550;line-height:1.3}.explanation p{color:var(--muted);font-size:.9rem}.current-group{flex-direction:column;gap:10px;margin:15px 0 30px;display:flex}.current-group>span{color:var(--muted);font-size:.8rem}.current-group>strong{letter-spacing:-.035em;font-size:2.5rem;font-weight:550}.detail-card{border-radius:20px;margin:3px 0 22px;padding:25px}.detail-card h2{letter-spacing:-.035em;overflow-wrap:anywhere;margin:14px 0 24px;font-size:1.5rem;font-weight:550;line-height:1.4}.detail-card p{letter-spacing:-.02em;align-items:center;gap:9px;font-size:1.1rem;display:flex}.details-list{margin:0 0 20px}.details-list>div{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr);gap:18px;padding:16px 0;font-size:.82rem;line-height:1.6;display:grid}.details-list dt{color:var(--muted)}.details-list dd{text-align:right;overflow-wrap:anywhere;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin:0;display:flex}.details-list .icon-button{background:0 0;width:32px;min-width:32px;height:32px}.note-label{color:var(--muted);margin:24px 0;font-size:.78rem;display:block}.note-label textarea{background:var(--surface);resize:vertical;border:1px solid #0000;border-radius:14px;width:100%;min-height:95px;margin-top:10px;padding:15px;font-size:.85rem;line-height:1.6;display:block}.raw-details{border-top:1px solid var(--line);margin:0 0 15px;padding:15px 0}.raw-details summary{cursor:pointer;min-height:32px;font-size:.78rem}.raw-details p{color:var(--muted);white-space:pre-wrap;padding-top:14px;font-size:.76rem}.toast{bottom:calc(95px + env(safe-area-inset-bottom));z-index:80;background:var(--ink);color:var(--bg);overflow-wrap:anywhere;border-radius:14px;align-items:center;gap:9px;width:max-content;max-width:calc(100vw - 32px);padding:14px 20px;font-size:.8rem;display:flex;position:fixed;left:50%;box-shadow:0 10px 25px #0000001c;transform:translate(-50%)!important}.toast svg{flex-shrink:0}.update-banner{bottom:calc(90px + env(safe-area-inset-bottom));z-index:31;background:var(--surface-raised);border:1px solid var(--line);border-radius:15px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;max-width:650px;margin:auto;padding:14px 17px;font-size:.76rem;display:flex;position:fixed;left:16px;right:16px;box-shadow:0 6px 18px #00000010}.update-banner>button{color:var(--accent);background:0 0;align-items:center;gap:5px;padding:7px 0;font-weight:550;display:flex}.course-library h1,.sources-page h1{letter-spacing:-.05em;margin:12px 0 25px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:600}:lang(zh-CN) .course-library h1,:lang(zh-CN) .sources-page h1{font-family:inherit;font-size:2.5rem;font-style:normal}.course-directory{margin-top:24px}.course-directory>button{text-align:left;border-bottom:1px solid var(--line);background:0 0;align-items:flex-start;gap:14px;width:100%;padding:21px 0;display:flex}.course-directory>button>span:nth-child(2){flex:1;min-width:0}.course-directory strong{letter-spacing:-.02em;font-size:.96rem;font-weight:500;line-height:1.5;display:block}.course-directory small{color:var(--muted);margin-top:6px;font-size:.73rem;display:block}.course-directory svg{color:var(--subtle);margin-top:4px}.course-bullet{border:1px solid var(--line);border-radius:4px;width:12px;min-width:12px;height:12px;margin-top:6px}.sources-page>.intro{font-size:.89rem}.data-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0;display:grid}.data-stats>div{border-right:1px solid var(--line);padding:10px 0}.data-stats>div:last-child{border-right:0}.data-stats strong{letter-spacing:-.055em;font-size:2.2rem;font-weight:500;display:block}.data-stats span{color:var(--muted);font-size:.66rem;line-height:1.5;display:block}.source-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:15px;padding:21px 17px;display:flex}.source-card>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.source-card>div{min-width:0}.source-card h2{overflow-wrap:anywhere;font-size:.94rem;line-height:1.6}.source-card p{color:var(--muted);margin:6px 0;font-size:.7rem}.source-card small{color:var(--warning);font-size:.65rem;line-height:1.6;display:block}.quality-card{align-items:flex-start;gap:12px;margin:22px 0;display:flex}.quality-card>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.quality-card strong{font-size:.8rem;font-weight:550}.quality-card p{color:var(--muted);margin-top:6px;font-size:.75rem;line-height:1.6}.source-actions{flex-direction:column;align-items:center;gap:20px;margin:14px 0 30px;display:flex}.source-actions .secondary{min-height:50px;font-size:.85rem}.text-link{min-height:30px;color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.change-history{border-top:1px solid var(--line);padding:23px 0 15px}.change-history h2{letter-spacing:-.02em;margin-bottom:15px;font-size:1.05rem;font-weight:550}.change-history p{color:var(--muted);font-size:.77rem}.change-history time{margin-right:12px}.sheet-body .sources-page>.eyebrow,.sheet-body .sources-page>h1{display:none}.week-grid{flex-direction:column;gap:30px;display:flex}.week-day{min-width:0}.week-day>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;padding-bottom:12px;display:flex}.week-day>header h3{text-transform:capitalize;font-size:.95rem;font-weight:550}.week-day>header span{color:var(--muted);font-size:.65rem}.week-day>.timeline-row{margin-bottom:12px}.free-day{color:var(--subtle);padding:5px 0;font-size:.8rem;display:block}.importer>.intro{margin-bottom:22px;font-size:.82rem}.upload-button{border:1px dashed var(--subtle);cursor:pointer;background:var(--surface-raised);border-radius:15px;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:.85rem;display:flex;position:relative}.upload-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.import-hint{margin:13px 0 25px;font-size:.69rem}.review-tools{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.review-tools>.search-box{flex:1;min-width:180px}.checkbox-label{align-items:center;gap:9px;font-size:.75rem;line-height:1.7;display:flex}.checkbox-label>input{width:18px;min-width:18px;height:18px;accent-color:var(--ink)}.review-layout{flex-direction:column;gap:25px;display:flex}.review-layout h3{justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;font-size:.85rem;font-weight:600;display:flex}.review-layout h3>small,.review-layout h3>span{color:var(--muted);font-size:.66rem}.raw-panel{min-width:0}.raw-panel iframe{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;height:300px;display:block}.raw-panel>details{margin-top:14px;font-size:.75rem}.raw-panel>details summary{cursor:pointer;min-height:32px;color:var(--muted)}.raw-text{white-space:pre-wrap;color:var(--muted);max-height:180px;font-size:.74rem;line-height:1.8;overflow-y:auto}.review-records{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface-raised);border-radius:12px;max-height:270px;margin-bottom:20px;overflow:auto}.review-records>button{text-align:left;border-bottom:1px solid var(--line);background:0 0;width:100%;padding:15px 13px;display:block}.review-records>button.active{background:var(--sand)}.review-records>button>span{color:var(--muted);font-size:.6rem}.review-records>button>strong{margin:5px 0;font-size:.75rem;font-weight:500;line-height:1.5;display:block}.review-records>button>small{color:var(--muted);justify-content:space-between;font-size:.57rem;display:flex}.review-records b{font-weight:500}.json-label{color:var(--muted);font-size:.72rem;display:block}.json-label textarea{resize:vertical;background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;min-height:280px;margin:10px 0 15px;padding:14px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.structured-panel .secondary{min-height:47px;font-size:.76rem}.warning-text{color:var(--warning)!important}.error-box{background:var(--rose);white-space:pre-wrap;border-radius:12px;max-height:200px;padding:14px;font-size:.7rem;overflow:auto}.import-conflicts{color:var(--muted);align-items:center;gap:8px;margin:24px 0;font-size:.74rem;display:flex}.acknowledge{margin:24px 0}.importer>details{font-size:.75rem}.importer>details pre{max-height:200px;font-size:.65rem;overflow:auto}.raw-panel>pre{white-space:pre-wrap;max-height:350px;font-size:.77rem;line-height:1.7;overflow:auto}.sheet-wide{max-width:1120px}@media(min-width:700px){.onboarding{padding:35px 40px 45px}.onboard-top{margin-bottom:52px}.welcome{max-width:1050px;padding:40px 60px;position:relative}.welcome .onboard-content{min-height:calc(100dvh - 180px);position:relative}.welcome .welcome-title{max-width:540px;margin-top:26px;font-size:5.7rem}.welcome .eyebrow{margin-top:30px}.welcome .intro{max-width:330px;font-size:1rem}.welcome .campus-art{width:430px;max-width:none;height:360px;position:absolute;top:100px;right:-35px}.welcome-bottom{max-width:330px;min-height:140px;margin-top:20px;padding-top:60px}.welcome .school-foot{margin-top:30px;font-size:.52rem}.app-top{padding:25px 35px}.page-content{padding:25px 35px 120px}.home-heading h1{font-size:4.4rem}.timezone{font-size:.7rem}.schedule-toolbar{margin:23px 0}.week-strip{gap:11px}.week-strip>button{min-height:93px}.weekday-label{font-size:.76rem}.week-strip strong{font-size:1.4rem}.calendar-notice{padding:15px 18px}.calendar-notice strong{font-size:.87rem}.calendar-notice small{font-size:.73rem}.timeline-row{grid-template-columns:60px minmax(0,1fr);gap:20px}.time-column{font-size:.87rem}.time-column>span{font-size:.73rem}.lesson-card{padding:21px 24px}.lesson-card h3{max-width:700px;font-size:1.15rem}.lesson-type{font-size:.62rem}.lesson-meta{gap:16px;font-size:.74rem}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px;display:grid}.week-day .timeline-row{grid-template-columns:44px minmax(0,1fr);gap:10px}.week-day .time-column{font-size:.67rem}.week-day .time-column>span{font-size:.6rem}.week-day .lesson-card{padding:15px}.week-day .lesson-card h3{font-size:.88rem}.week-day .lesson-meta{font-size:.6rem}.bottom-nav{border-radius:22px;max-width:500px;min-height:75px;margin:auto;padding:14px 20px;bottom:16px;left:30px;right:30px}.bottom-nav>button{font-size:.64rem}.sheet{border-radius:28px;max-height:90dvh;bottom:16px}.sheet-wide .review-layout{grid-template-columns:1fr 1fr;gap:25px;display:grid}.sheet-wide .raw-panel iframe{height:550px}.sheet-body{padding:0 28px 30px}.sheet-header{padding:6px 28px 20px}.data-stats,.sources-page>.button,.source-actions{max-width:550px}.course-directory{grid-template-columns:1fr 1fr;column-gap:35px;display:grid}.toast,.update-banner{bottom:110px}.sheet-body .source-actions,.sheet-body .sources-page>.button{max-width:none}}@media(min-width:1050px){.desktop-sidebar{background:var(--nav);color:#f2eee5;z-index:20;flex-direction:column;width:237px;padding:40px 25px;display:flex;position:fixed;top:0;bottom:0;left:0}.desktop-sidebar .brand{gap:12px;font-size:2.3rem}.desktop-sidebar .brand-mark{background:#ffffff0c;border-color:#ffffff20;width:38px;height:38px}.sidebar-kicker{letter-spacing:.16em;color:var(--nav-muted);margin:17px 0 64px;font-size:.5rem}.desktop-sidebar nav{flex-direction:column;gap:8px;display:flex}.desktop-sidebar nav>button{color:var(--nav-muted);text-align:left;background:0 0;border-radius:11px;align-items:center;gap:13px;min-height:51px;padding:15px 12px;font-size:.81rem;display:flex;position:relative}.desktop-sidebar nav>button.active{color:#f4f0e6;background:#ffffff0c}.desktop-sidebar nav>button>span{background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:auto}.sidebar-bottom{margin-top:auto}.sidebar-school{border-bottom:1px solid #ffffff15;grid-template-columns:28px 1fr;align-items:center;gap:5px 10px;margin-bottom:15px;padding:16px 12px 25px;display:grid}.sidebar-school>svg{color:var(--nav-muted);grid-row:span 2}.sidebar-school>strong{font-size:.95rem;font-weight:500}.sidebar-school>small{color:var(--nav-muted);font-size:.6rem}.sidebar-bottom>button{color:var(--nav-muted);background:0 0;align-items:center;gap:13px;padding:15px 12px;font-size:.8rem;display:flex}.app-main{max-width:none;margin:0 0 0 237px}.app-top{padding:30px 55px 0}.app-top>.brand{visibility:hidden}.page-content{max-width:1080px;margin:0 auto;padding:20px 55px 70px}.bottom-nav,.home-heading>.icon-button{display:none}.home-heading h1{font-size:4.7rem}.calendar-notice{margin-bottom:29px}.schedule-toolbar{margin:24px 0 25px}.week-strip{padding-bottom:27px}.lesson-card{border-radius:20px}.section-label{padding:29px 0 24px}.sheet-overlay{background:#11120e65}.toast,.update-banner{bottom:25px;left:calc(50% + 118px)}.update-banner{left:280px;right:35px}.sources-page .details-list,.source-card,.quality-card{max-width:700px}.course-directory{column-gap:50px}.sheet-wide{max-height:92dvh;bottom:25px}.onboarding{padding-top:40px}.welcome{padding-top:35px}.welcome .campus-art{width:490px;height:410px;top:80px;right:-55px}.welcome .welcome-title{font-size:6.3rem}}@media(max-width:360px){.onboarding{padding-left:18px;padding-right:18px}.page-content,.app-top{padding-left:16px;padding-right:16px}.home-heading h1{font-size:2.5rem}.welcome-title{font-size:3.4rem}.campus-art{height:225px;margin:25px auto 10px}.timezone{font-size:.52rem}.group-pill{padding:9px;font-size:.72rem}.week-strip{gap:2px}.weekday-label{font-size:.6rem}.timeline-row{grid-template-columns:43px minmax(0,1fr);gap:8px}.lesson-card{padding:15px}.lesson-card h3{font-size:.95rem}.sheet-body{padding-left:18px;padding-right:18px}.settings-section>button{gap:9px;font-size:.78rem}.settings-section>button>small{font-size:.61rem}.school-card{gap:12px}.school-card strong{font-size:1rem}.school-crest{width:52px;min-width:52px;height:65px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.1s!important;animation-duration:.01ms!important}.has-layer{transform:none}.paper-front{transform:rotate(-6deg)}.toast{transition:none}}@media(forced-colors:active){.lesson-card,.selection-card,.button,.group-pill,.day-highlight{border:1px solid buttontext}.week-strip>button.active{color:highlighttext}.day-highlight{background:highlight}.bottom-nav{border-top:1px solid buttontext}}@media(max-width:699px){.app-top{padding-top:calc(env(safe-area-inset-top) + 13px);padding-bottom:8px}.page-content{padding-top:15px}.home-heading h1{font-size:2.8rem}.schedule-toolbar{margin:16px 0}.calendar-notice{margin-bottom:15px;padding:11px 12px}.week-toolbar{margin-bottom:10px}.week-strip{margin-bottom:14px;padding-bottom:15px}.week-strip>button{min-height:78px}.section-label{padding:22px 0 18px}}h1,h2,h3{overflow-wrap:anywhere}.week-strip>button.undated{gap:10px;min-height:60px}.week-strip>button.undated strong{text-transform:capitalize;font-size:.84rem;font-weight:500}.week-toolbar{flex-wrap:wrap}@media(min-width:700px){.week-strip>button.undated{min-height:70px}.week-strip>button.undated strong{font-size:1rem}}.date-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0 8px;display:flex}.date-controls button,.date-controls label{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:8px;min-height:44px;padding:8px 13px;display:flex}.date-controls input{color:inherit;background:0 0;border:0;min-width:0;max-width:160px}.date-status{margin:0 0 18px;font-size:.76rem;line-height:1.5}.uncertain-records{background:var(--surface);border:1px solid var(--line);border-radius:22px;margin:24px 0;padding:20px}.uncertain-records h2{font-size:1rem}.uncertain-records p,.uncertain-records code{overflow-wrap:anywhere;font-size:.8rem;line-height:1.6}.uncertain-records details{border-top:1px solid var(--line);padding:14px 0}.uncertain-records summary{cursor:pointer;min-height:44px;font-size:.9rem;display:list-item}.audit-ledger .review-records{max-height:280px}.audit-ledger pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}.audit-ledger .review-layout{margin-top:16px}.audit-status{color:var(--muted);font-size:.75rem}.date-controls label{position:relative}.date-controls label:focus-within{outline:2px solid var(--accent);outline-offset:3px}.date-controls .localized-date{font-size:.87rem}.date-controls input{opacity:0;cursor:pointer;width:100%;max-width:none;position:absolute;inset:0}.mobile-search-trigger{display:none}@media(max-width:699px){.app-top{padding-top:calc(env(safe-area-inset-top) + 10px);padding-bottom:6px}.app-top-actions .icon-button{width:44px;min-width:44px;height:44px}.group-pill{min-height:44px}.date-controls{margin-top:10px;margin-bottom:6px}.view-switch{margin-left:auto}.mobile-search-trigger{background:var(--surface);width:44px;min-width:44px;height:44px;display:flex}.search-collapsed{display:none}.week-strip{margin-bottom:10px;padding-bottom:10px}.week-strip>button{gap:5px;min-height:64px;padding:8px 0}.lesson-card-top{margin-bottom:8px}.lesson-card h3{margin-bottom:10px;font-size:1rem}.page-content{padding-top:2px}.home-heading h1,:lang(zh-CN) .home-heading h1{font-size:2rem}.home-heading .eyebrow{margin-bottom:2px}.schedule-toolbar{margin:6px 0}.date-controls{gap:6px;margin-top:6px}.date-controls button,.date-controls label{padding:8px 10px;font-size:.82rem}.date-controls .localized-date{font-size:.8rem}.date-status{margin-bottom:6px}.week-toolbar{flex-wrap:wrap;margin-bottom:4px}.week-strip>button{gap:4px;min-height:58px}.section-label{padding:8px 0}.lesson-card{padding:12px 15px}.lesson-card h3{margin-bottom:8px;line-height:1.3}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}:root{--bg:#f3eee4;--ink:#27251f;--surface:#ebe4d8;--line:#ded6c9;--accent:#783a36;--sage:#dfe3d7;--sand:#ece2cf;--rose:#f0d8cc;--forest:#334e41}:root[data-theme=dark]{--bg:#20221d;--ink:#f1e9dd;--surface:#2e312a;--line:#41453b;--accent:#d4a39b;--forest:#b3c9b2;--muted:#b9b8ac}.button{background:var(--ink);box-shadow:none}.v3-shell .app-top{padding:calc(env(safe-area-inset-top) + 10px) 18px 8px;gap:12px;min-height:74px}.school-identity{text-align:left;background:none;padding:0;display:flex;flex-direction:column;justify-content:center;min-height:44px;min-width:0;flex:1}.school-identity>span{font-size:.72rem;color:var(--muted);line-height:1.4}.school-identity strong{font-size:1rem;font-weight:650;display:flex;gap:6px;align-items:center;line-height:1.8}.v3-shell .app-top-actions .icon-button{height:44px;min-width:44px;width:44px;background:var(--surface);border-radius:14px}.offline-indicator{color:var(--accent)}.offline-status{margin:0 18px 8px;font-size:.75rem;color:var(--accent);display:flex;gap:8px;align-items:center}.v3-shell .page-content{padding:4px 18px calc(100px + env(safe-area-inset-bottom));overflow-x:clip}.date-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px}.date-bar>.icon-button{width:44px;min-width:44px;height:44px;background:transparent}.calendar-picker{min-width:0;flex:1;background:none;min-height:49px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.calendar-picker strong{font-size:1.02rem;font-weight:600;text-transform:capitalize}.calendar-picker small{font-size:.7rem;color:var(--muted);display:flex;align-items:center;gap:4px;line-height:1.4}.v3-shell .date-strip-surface{margin:0 -18px;padding:0 6px;overflow:hidden}.v3-shell .week-strip{gap:0;border-bottom:1px solid var(--line);padding-bottom:9px;margin:0 0 6px}.v3-shell .week-strip>button{min-height:63px;padding:7px 0;gap:5px;border-radius:13px;min-width:0}.v3-shell .week-strip .weekday-label{font-size:.65rem}.v3-shell .week-strip strong{font-size:1.1rem}.v3-shell .week-strip i{opacity:0}.v3-shell .week-strip i.has-classes{opacity:.4}.v3-shell .week-strip .today-date:not(.active){color:var(--accent)}.v3-shell .week-strip .today-date:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.v3-shell .week-strip .today-date.active:after{background:var(--rose)}.agenda-quality{background:none;border:0;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.68rem;line-height:1.5;padding:6px 0;min-height:30px;text-align:left}.agenda-list-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 0 8px;gap:10px}.agenda-list-heading>div:first-child{display:flex;gap:10px;align-items:baseline}.agenda-list-heading h2{font-size:.95rem;font-weight:650;margin:0}.agenda-list-heading>div>span{font-size:.7rem;color:var(--muted)}.v3-shell .view-switch{margin:0;border-radius:9px}.v3-shell .view-switch button{padding:5px 10px;min-width:44px;min-height:34px}.v3-shell .view-switch button[aria-pressed=true]{background:var(--surface-raised);border-radius:7px}.compact-course-status{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:9px 12px;border-radius:13px;font-size:.72rem;margin:10px 0 2px;background:var(--surface-raised)}.compact-course-status>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.compact-course-status small{color:var(--forest);font-size:.65rem}.compact-course-status strong{font-size:.78rem;overflow-wrap:anywhere}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--forest)}.v3-shell .timeline{gap:0}.v3-shell .timeline-row{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:0;border-bottom:1px solid var(--line)}.v3-shell .timeline-row:before{display:none}.v3-shell .time-column{padding-top:18px;font-size:.8rem}.v3-shell .time-column>span{font-size:.67rem;color:var(--muted)}.v3-shell .lesson-card{background:transparent!important;border:0;border-radius:0;padding:14px 0 16px;overflow:visible;box-shadow:none!important}.v3-shell .lesson-card-top{margin-bottom:6px}.v3-shell .lesson-type{font-size:.57rem;letter-spacing:.07em;color:var(--forest);opacity:1}.v3-shell .seminar .lesson-type{color:var(--accent)}.v3-shell .lesson-card h3{font-size:.96rem;line-height:1.4;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}.v3-shell .lesson-meta{font-size:.7rem;opacity:.8;gap:5px 11px;line-height:1.45}.v3-shell .timeline-row.done{opacity:.55}.v3-shell .lesson-card.live{border-left:2px solid var(--forest);padding-left:10px}.v3-shell .week-grid{gap:20px}.v3-shell .week-day{border:0}.v3-shell .week-day>header{padding:12px 0 5px;border-bottom:1px solid var(--line)}.v3-shell .bottom-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:68px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));gap:0;max-width:none;left:0;right:0;bottom:0;border-radius:0;background:var(--nav)}.v3-shell .bottom-nav>button{min-height:48px;gap:4px;font-size:.61rem}.v3-shell .bottom-nav button[aria-pressed=true]{color:#fff8eb}.v3-shell .data-footer{margin-top:24px;padding-top:15px;font-size:.65rem}.data-footer button{background:none;padding:0;display:flex;gap:4px;align-items:center;color:var(--muted);font-size:inherit}.agenda-empty{padding:14px 8px 20px;min-height:210px}.agenda-empty h2{font-size:1.2rem;margin-top:5px}.agenda-empty p{font-size:.8rem}.v3-shell .uncertain-records{background:none;border-radius:0;border:0;border-top:1px solid var(--line);padding:18px 0;font-size:.8rem}.v3-shell .uncertain-records h2{font-size:.9rem}.global-search{padding-top:6px}.search-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.search-heading h1{font-family:inherit;font-style:normal;font-size:1.6rem;margin:4px 0 0;letter-spacing:-.04em;font-weight:600}.search-heading .eyebrow{font-size:.58rem}.search-entry{display:flex;align-items:center;gap:7px}.search-entry .search-box{flex:1;min-width:0;min-height:46px}.search-entry .search-box>button{background:none;padding:5px}.search-entry .icon-button{width:44px;min-width:44px;height:44px}.search-kind{display:flex;gap:5px;margin:12px 0 5px;flex-wrap:wrap}.search-kind>button{padding:7px 11px;min-height:38px;background:none;border-radius:10px;font-size:.74rem;color:var(--muted)}.search-kind>button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.search-status{font-size:.72rem;color:var(--muted);padding:8px 0;min-height:32px;line-height:1.5}.advanced-search{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0}.advanced-search label,.schedule-audit label{display:flex;flex-direction:column;gap:6px;font-size:.7rem;min-width:0}.advanced-search select,.schedule-audit select{background:var(--surface);padding:10px;border-radius:10px;color:inherit;min-width:0;max-width:100%;min-height:44px;font-size:.75rem;border:1px solid var(--line)}.suggestion-section{padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:8px}.suggestion-section h2{font-size:.72rem;font-weight:600;color:var(--muted);margin:8px 0}.suggestion-section>button{display:flex;align-items:center;gap:10px;background:none;width:100%;padding:10px 0;min-height:44px;text-align:left}.suggestion-section>button>span{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.suggestion-section strong{font-weight:550;font-size:.86rem;overflow-wrap:anywhere}.suggestion-section small{font-size:.67rem;color:var(--muted)}.suggestion-chips,.cat-actions{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chips button,.cat-actions button{border:1px solid var(--line);background:var(--surface);min-height:40px;padding:8px 11px;border-radius:11px;font-size:.72rem;display:flex;align-items:center;gap:5px}.teacher-focus{padding:10px 0 12px;border-bottom:1px solid var(--line)}.teacher-focus>button{background:none;display:flex;gap:4px;align-items:center;color:var(--accent);font-size:.72rem;min-height:38px}.teacher-focus h2{font-size:1.2rem;display:flex;gap:8px;align-items:center;overflow-wrap:anywhere}.teacher-focus p{font-size:.72rem;color:var(--muted)}.search-result{display:flex;gap:11px;padding:15px 0;border-bottom:1px solid var(--line);text-align:left;width:100%;background:transparent}.result-time{display:flex;flex-direction:column;flex-shrink:0;width:45px;font-size:.8rem;gap:4px;font-variant-numeric:tabular-nums}.result-time>span,.result-time>small{font-size:.65rem;color:var(--muted)}.result-body{min-width:0;flex:1}.result-body h3{font-size:.92rem;line-height:1.45;font-weight:600;margin:5px 0 8px;overflow-wrap:anywhere}.result-body p{display:flex;gap:5px;align-items:baseline;line-height:1.45;font-size:.7rem;color:var(--muted);margin:4px 0;overflow-wrap:anywhere}.result-body svg{flex-shrink:0}.result-body>small{font-size:.63rem;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.result-kind{font-size:.58rem;color:var(--forest);display:flex;gap:10px}.result-kind b{font-weight:500;color:var(--accent)}.search-empty{text-align:center;padding:10px 0 35px}.search-empty h2{font-size:1.2rem}.search-empty p{font-size:.78rem;color:var(--muted)}.cat-companion{position:relative;flex-shrink:0;isolation:isolate}.cat-companion.small{width:58px;height:62px}.cat-companion.large{width:150px;height:165px;margin:0 auto}.cat-companion.hero{width:min(100%,300px);height:300px;margin:10px auto}.cat-stage{width:100%;height:100%;position:relative;overflow:hidden;border-radius:15px}.cat-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cat-fallback{width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .18s;pointer-events:none}.cat-fallback.concealed{opacity:0}.cat-touch{position:absolute;inset:0;background:transparent;border-radius:15px}.cat-inspector.hero{height:auto;width:100%;max-width:500px}.cat-inspector .cat-stage{height:320px;cursor:grab}.cat-inspector .cat-stage:active{cursor:grabbing}.cat-inspector .quiet{text-align:center}.cat-actions{margin:10px 0}.cat-actions .button{width:auto}.companion-settings{min-height:400px}.companion-settings>p{font-size:.78rem;line-height:1.6}.welcome .cat-companion.hero{height:280px;margin:15px auto 5px}.date-sheet label{display:flex;flex-direction:column;gap:12px;font-size:.8rem;margin:20px 0}.date-sheet input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;min-height:50px;padding:12px;width:100%}.schedule-audit{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.schedule-audit h2{font-size:1.1rem}.schedule-audit>p{font-size:.76rem;line-height:1.6}.audit-issues details{border-bottom:1px solid var(--line);padding:12px 0;font-size:.7rem;overflow-wrap:anywhere}.audit-issues summary{min-height:44px;cursor:pointer}.audit-issues p{line-height:1.6}.audit-issues code{font-size:.64rem}.note-label>span{display:block;font-size:.7rem;color:var(--forest);margin-top:7px}.toast.error{border:1px solid var(--accent);color:var(--ink);background:var(--surface-raised)}.toast.info{background:var(--surface);color:var(--ink)}.toast>button{background:none;color:inherit;font-size:.72rem;text-decoration:underline}.settings-section button:active,.option-list button:active,.date-bar button:active{transform:scale(.98)}.v3-shell.has-layer{filter:none}.v3-shell .settings-section{box-shadow:none}.v3-shell .settings-foot span{line-height:1.6}@media(min-width:700px){.v3-shell .app-main{max-width:1000px}.v3-shell .app-top{padding:22px 28px 12px}.v3-shell .page-content{padding:8px 28px 120px}.v3-shell .date-strip-surface{margin:0;padding:0}.v3-shell .week-strip>button{min-height:78px}.v3-shell .timeline-row{grid-template-columns:60px minmax(0,1fr);gap:20px}.v3-shell .lesson-card{padding:19px 0}.v3-shell .lesson-card h3{font-size:1.05rem;max-width:750px}.v3-shell .lesson-meta{font-size:.78rem}.search-result{padding:20px 0}.result-body h3{font-size:1rem}.result-body p{font-size:.8rem}.global-search{max-width:900px}.cat-companion.hero{height:330px}.welcome .cat-companion.hero{position:absolute;right:20px;top:80px;width:350px;height:380px}.v3-shell .bottom-nav{max-width:500px;margin:auto;bottom:14px;left:20px;right:20px;border-radius:22px}.v3-shell .week-grid{grid-template-columns:1fr 1fr}}@media(min-width:1050px){.v3-shell .bottom-nav{display:none}.v3-shell .app-main{margin-left:250px}.v3-shell .desktop-sidebar{display:flex}.v3-shell .desktop-sidebar nav button{min-height:48px}.v3-shell .desktop-sidebar .sidebar-bottom{font-size:.7rem;line-height:1.6}}@media(max-width:350px){.v3-shell .app-top{padding-left:16px;padding-right:16px;gap:5px}.cat-companion.small{width:48px;height:54px}.v3-shell .page-content{padding-left:16px;padding-right:16px}.v3-shell .date-strip-surface{margin:0 -16px}.school-identity>span{font-size:.66rem}.calendar-picker strong{font-size:.9rem}.v3-shell .timeline-row{grid-template-columns:43px minmax(0,1fr);gap:9px}.v3-shell .lesson-card h3{font-size:.92rem}.v3-shell .bottom-nav>button{font-size:.58rem}.search-kind>button{padding:7px 8px}}@media(prefers-reduced-motion:reduce){.cat-fallback{transition:none}.cat-stage canvas{transition:none}}.sheet-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.sheet{box-shadow:none}.sheet-header{gap:10px}.sheet-header>h2{min-width:0;overflow-wrap:anywhere}.sheet-header>.icon-button{height:44px;width:44px;min-width:44px}.v3-shell .view-switch button,.search-kind>button,.cat-actions button{min-height:44px}.schedule-audit textarea{width:100%;min-height:72px;padding:10px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink);resize:vertical;margin:6px 0 10px}.sheet>.toast{position:relative;inset:auto;transform:none;flex-shrink:0;margin:6px 22px 16px;width:auto;max-width:calc(100% - 44px);align-self:stretch;font-size:.76rem;pointer-events:auto}.toast{pointer-events:auto}.sheet>.toast{transform:none!important;box-shadow:none}.v3-shell .app-main{position:relative}@font-face{font-family:Literata;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-literata-variable-7ebe0b489b56.woff2) format("woff2");unicode-range:U+20-7E,U+A0-17E,U+18F,U+192,U+1A0-1A1,U+1AF-1B0,U+1C4-1DC,U+1E6-1E7,U+1EA-1EB,U+1FA-21B,U+22A-22D,U+230-233,U+237,U+251,U+259,U+261,U+2B9-2BC,U+2BE-2BF,U+2C6-2CC,U+2D8-2DD,U+300-304,U+306-30C,U+30F,U+311-312,U+31B,U+323-324,U+326-328,U+32E,U+331,U+374-375,U+37A,U+37E,U+384-38A,U+38C,U+38E-3A1,U+3A3-3CE,U+3D7-3E1,U+401-44F,U+451-45F,U+462-463,U+46A-46B,U+490-493,U+496-497,U+49A-49B,U+4A2-4A3,U+4AE-4B1,U+4BA-4BB,U+4D8-4D9,U+4E8-4E9,U+1E08-1E09,U+1E0C-1E0F,U+1E14-1E17,U+1E1C-1E1D,U+1E20-1E21,U+1E24-1E25,U+1E2A-1E2B,U+1E2E-1E2F,U+1E36-1E3B,U+1E42-1E49,U+1E4C-1E53,U+1E5A-1E69,U+1E6C-1E6F,U+1E78-1E7B,U+1E80-1E85,U+1E8E-1E8F,U+1E92-1E93,U+1E97,U+1E9E,U+1EA0-1EF9,U+1F00-1F15,U+1F18-1F1D,U+1F20-1F45,U+1F48-1F4D,U+1F50-1F57,U+1F59,U+1F5B,U+1F5D,U+1F5F-1F7D,U+1F80-1FB4,U+1FB6-1FC4,U+1FC6-1FD3,U+1FD6-1FDB,U+1FDD-1FEF,U+1FF2-1FF4,U+1FF6-1FFE,U+2007-200B,U+2010,U+2012-2015,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+2042,U+2044,U+2070,U+2074-2079,U+207D-2089,U+208D-208E,U+20A1,U+20A3-20A4,U+20A6-20A7,U+20A9,U+20AB-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BC-20BD,U+2113,U+2116-2117,U+2120,U+2122,U+2126,U+212E,U+2153-2154,U+215B-215E,U+2190-2193,U+2202,U+2205-2206,U+220F,U+2211-2212,U+2215,U+2219-221A,U+221E,U+222B,U+2248,U+2260,U+2264-2265,U+25A0-25A1,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25C6-25C7,U+25CA,U+F6D4,U+FB01-FB02}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-ui-variable-e1d5c31a1e0b.woff2) format("woff2");unicode-range:U+3001-3002,U+3007,U+300A-300D,U+4E00,U+4E03,U+4E09-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E1A,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E5D,U+4E60,U+4E8C,U+4E8E,U+4E94,U+4E9B,U+4EAB,U+4EAE,U+4EBA,U+4EC5,U+4ECA,U+4ECD-4ECE,U+4EE3,U+4EF6,U+4EFD,U+4F11,U+4F1A,U+4F20,U+4F38,U+4F46,U+4F4D,U+4F53,U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FC4,U+4FDD,U+4FEE,U+505C,U+5143,U+5148,U+5165,U+5168,U+516B,U+516D,U+5171,U+5173,U+5177,U+5185,U+518C-518D,U+5199,U+51B2-51B3,U+51C6,U+51FA,U+5206-5207,U+5217,U+5219,U+5220,U+522B,U+5230,U+5236,U+524D,U+52A0,U+52A8,U+5305,U+5316,U+5339-533A,U+5341,U+5355,U+5373,U+5386,U+539F,U+53C2,U+53CA,U+53D1,U+53D6,U+53D8,U+53E3,U+53EA,U+53EF-53F0,U+53F3,U+53F7,U+5408,U+540C,U+540E,U+5411,U+542B,U+542F,U+544A,U+5468,U+547C,U+548C,U+5580,U+5668,U+56DB,U+56DE,U+56E0,U+56ED,U+56FE,U+5728,U+5730,U+5747,U+5750,U+578B,U+57FA,U+589E,U+5904,U+5907,U+590D,U+5916,U+591A,U+5927,U+5929,U+5931,U+5934,U+594F,U+5982,U+59CB,U+59D3,U+5B50,U+5B57-5B58,U+5B63,U+5B66,U+5B89,U+5B8C,U+5B98,U+5B9A,U+5B9E,U+5BA1,U+5BA4,U+5BB9,U+5BF9,U+5BFB-5BFC,U+5C06,U+5C0F,U+5C11,U+5C1A,U+5C1D,U+5C31,U+5C3E,U+5C4F,U+5C55,U+5C5E,U+5C71,U+5DE5-5DE6,U+5DEE,U+5DF1-5DF2,U+5E08,U+5E26,U+5E55,U+5E74,U+5E76,U+5E94,U+5EA7,U+5EFA,U+5F00,U+5F02,U+5F0F,U+5F20,U+5F53,U+5F55,U+5F85,U+5FC3,U+6001,U+601D,U+6062,U+606F,U+6089,U+60C5,U+60EF,U+61D2,U+6210-6211,U+6216,U+6240,U+624B,U+6253,U+627E,U+62A5,U+62AC,U+62D6,U+62DB,U+62E9,U+6301,U+6309,U+6362,U+636E,U+6388,U+6392,U+63A5,U+63A8,U+63D0,U+63D2,U+641C,U+6446,U+652F,U+6536,U+6539,U+6559,U+6570,U+6574,U+6587,U+65AF-65B0,U+65B9,U+65E0,U+65E5,U+65F6,U+660E,U+661F,U+662F,U+663E,U+6670,U+6682,U+66F4,U+6700,U+6708-6709,U+671F,U+672A,U+672C,U+673A,U+6743,U+675F,U+6761,U+6765,U+6784,U+6790,U+679C,U+67E5,U+6807,U+6821,U+6838-6839,U+683C,U+68C0,U+6977,U+697C,U+6A21,U+6B21,U+6B63-6B65,U+6B6A,U+6BCF,U+6BD4,U+6C0F,U+6CA1,U+6CD5,U+6CE8,U+6D01,U+6D3B,U+6D4B,U+6D4E-6D4F,U+6D88-6D89,U+6DA6,U+6DF1,U+6DFB,U+6E05,U+6E29,U+6E90,U+6ED1,U+70B9,U+719F,U+722A,U+7247-7248,U+72B6,U+72EC,U+732B,U+73B0,U+73ED,U+7406,U+751F,U+7528,U+753B,U+7559,U+7684,U+770B,U+7728,U+773C,U+7740,U+77E5,U+7814,U+786E,U+793A,U+79BB,U+79CB,U+79D1,U+7A0B,U+7A7A,U+7A81,U+7ACB,U+7AD9,U+7B26,U+7B2C,U+7B5B,U+7B80,U+7BA1,U+7C3F,U+7C7B,U+7CFB,U+7D22,U+7EA7,U+7EBF,U+7EC4,U+7EC6,U+7ECF,U+7ED3,U+7ED9,U+7EDC,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7F00,U+7F13,U+7F16,U+7F3A,U+7F51,U+7F57,U+7F6E,U+8003,U+8054,U+80FD,U+8170,U+81EA,U+81F3-81F4,U+8272,U+827A,U+8282,U+83AB,U+83B7,U+83DC,U+878D,U+884C,U+8868,U+88C5,U+8981,U+89C2,U+89C4,U+89C6,U+89C8,U+89D2,U+89E3,U+8A00,U+8BA1,U+8BA4,U+8BA8-8BA9,U+8BAE,U+8BB0,U+8BB2,U+8BBA,U+8BBE,U+8BC1,U+8BCD,U+8BD5,U+8BE5-8BE6,U+8BED,U+8BF4,U+8BF7,U+8BFE,U+8C03,U+8D25-8D26,U+8D28,U+8D70,U+8DB4,U+8DDF,U+8DF5,U+8EAB,U+8F6C,U+8F7D,U+8F91,U+8F93,U+8FC7,U+8FD0,U+8FD4,U+8FD8-8FD9,U+8FDB,U+9001-9002,U+9009,U+9010,U+901A,U+90A6,U+90E8,U+90FD,U+914D,U+9192,U+91CA,U+91CC-91CD,U+91CF,U+91D1,U+949F,U+94FE,U+952E,U+95ED-95EE,U+95F4,U+9644-9645,U+9650,U+9662,U+9664,U+968F,U+96F6,U+9700,U+971E,U+975E,U+9762,U+9875,U+9879,U+987B,U+9884,U+9898,U+98CE,U+9A8C,U+9E5C,U+9ED1,U+9ED8,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-00-variable-9b3bcb9c7091.woff2) format("woff2");unicode-range:U+1F8-1F9,U+2EA-2EB,U+1E3E-1E3F,U+2002-2003,U+2011,U+2016,U+2025,U+2027,U+2035,U+203B-203C,U+2047-2049,U+2051,U+20DD-20DE,U+2100,U+2103,U+2105,U+2109-210A,U+210F,U+2121,U+2127,U+212B,U+2135,U+213B,U+2160-216B,U+2170-217B,U+2194-2199,U+21B8-21B9,U+21C4-21C6,U+21CB-21CC,U+21D0,U+21D2,U+21D4,U+21E6-21E9,U+21F5,U+2200,U+2203,U+2207-220B,U+2213,U+221D,U+221F-2220,U+2223,U+2225-222A,U+222C-222E,U+2234-2237,U+223D,U+2243,U+2245,U+224C,U+2261-2262,U+2266-2267,U+226A-226B,U+226E-226F,U+2272-2273,U+2276-2277,U+2282-2287,U+228A-228B,U+2295-2299,U+22A0,U+22A5,U+22BF,U+22DA-22DB,U+22EF,U+2305-2307,U+2312,U+2318,U+2329-232A,U+23B0-23B1,U+23BE-23CC,U+23CE,U+23DA-23DB,U+2423,U+2460-259F,U+25A2-25AB,U+25B1,U+25C9,U+25CB-25CC,U+25CE-25D3,U+25E2-25E6,U+25EF,U+2600}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-01-variable-f062a944cdea.woff2) format("woff2");unicode-range:U+2601-2603,U+2605-2606,U+2609,U+260E-260F,U+2616-2617,U+261C-261F,U+262F,U+2640-2642,U+2660-266F,U+2672-267D,U+26A0,U+26BD-26BE,U+2702,U+2713,U+271A,U+273D,U+273F-2740,U+2756,U+2776-2793,U+27A1,U+2934-2935,U+29BF,U+29FA-29FB,U+2B05-2B07,U+2B1A,U+2B95,U+2E3A-2E3B,U+2E80-2E99,U+2E9B-2EF3,U+2F00-2FD5,U+2FF0-2FFB,U+3000,U+3003-3006,U+3008-3009,U+300E-303F,U+3041-304F}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-02-variable-db6d57a09402.woff2) format("woff2");unicode-range:U+3050-3096,U+3099-30FF,U+3105-312F,U+3131-3163,U+3165-318E,U+3190-31BB,U+31C0-31E3,U+31F0-321E,U+3220-326A}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-03-variable-19828627bc26.woff2) format("woff2");unicode-range:U+326B-332B,U+332D-346B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-04-variable-0c26c257626e.woff2) format("woff2");unicode-range:U+346C-366B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-05-variable-fb1743ae086a.woff2) format("woff2");unicode-range:U+366C-386B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-06-variable-70683735d49e.woff2) format("woff2");unicode-range:U+386C-3A6B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-07-variable-bcb4ee69d4ab.woff2) format("woff2");unicode-range:U+3A6C-3C6B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-08-variable-f3d7b6911c2a.woff2) format("woff2");unicode-range:U+3C6C-3E6B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-09-variable-805994a836a8.woff2) format("woff2");unicode-range:U+3E6C-406B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-10-variable-d96795529c78.woff2) format("woff2");unicode-range:U+406C-426B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-11-variable-ca36ada3c3f3.woff2) format("woff2");unicode-range:U+426C-446B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-12-variable-c8a77162ced1.woff2) format("woff2");unicode-range:U+446C-466B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-13-variable-c3332c050cf7.woff2) format("woff2");unicode-range:U+466C-486B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-14-variable-2ec57bd312ee.woff2) format("woff2");unicode-range:U+486C-4A6B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-15-variable-71dfd52968f2.woff2) format("woff2");unicode-range:U+4A6C-4C6B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-16-variable-b894375b87d3.woff2) format("woff2");unicode-range:U+4C6C-4DBF,U+4E01-4E02,U+4E04-4E08,U+4E0C,U+4E0F-4E12,U+4E15-4E19,U+4E1B-4E29,U+4E2B-4E2C,U+4E2E-4E39,U+4E3C-4E5C,U+4E5E-4E5F,U+4E61-4E8B,U+4E8D,U+4E8F-4E93,U+4E95-4E9A,U+4E9C-4EAA,U+4EAC-4EAD,U+4EAF-4EB9,U+4EBB-4EC2}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-17-variable-c4968de0a23f.woff2) format("woff2");unicode-range:U+4EC3-4EC4,U+4EC6-4EC9,U+4ECB-4ECC,U+4ECF-4EE2,U+4EE4-4EF5,U+4EF7-4EFC,U+4EFE-4F10,U+4F12-4F19,U+4F1B-4F1F,U+4F21-4F37,U+4F39-4F45,U+4F47-4F4C,U+4F4E-4F52,U+4F54-4F5B,U+4F5D-4F5F,U+4F61-4F7E,U+4F80-4F8A,U+4F8C-4F9A,U+4F9C,U+4F9E-4FC3,U+4FC5-4FDC,U+4FDE-4FED,U+4FEF-505B,U+505D-50DA}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-18-variable-c56a8a380815.woff2) format("woff2");unicode-range:U+50DB-5142,U+5144-5147,U+5149-5164,U+5166-5167,U+5169-516A,U+516C,U+516E-5170,U+5172,U+5174-5176,U+5178-5184,U+5186-518B,U+518E-5198,U+519A-51B1,U+51B4-51C5,U+51C7-51F9,U+51FB-5205,U+5208-5216,U+5218,U+521A-521F,U+5221-522A,U+522C-522F,U+5231-5235,U+5237-524C,U+524E-529F,U+52A1-52A7,U+52A9-52F6}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-19-variable-277b3bc95f54.woff2) format("woff2");unicode-range:U+52F7-5304,U+5306-5315,U+5317-5338,U+533B-5340,U+5342-5354,U+5356-5372,U+5374-5385,U+5387-539E,U+53A0-53C1,U+53C3-53C9,U+53CB-53D0,U+53D2-53D5,U+53D7,U+53D9-53E2,U+53E4-53E9,U+53EB-53EE,U+53F1-53F2,U+53F4-53F6,U+53F8-5407,U+5409-540B,U+540D,U+540F-5410,U+5412-542A,U+542C-542E,U+5430-5449,U+544B-5467,U+5469-547B,U+547D-548B,U+548D-5514}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-20-variable-48048b2abb70.woff2) format("woff2");unicode-range:U+5515-557F,U+5581-5667,U+5669-56DA,U+56DC-56DD,U+56DF,U+56E1-56EC,U+56EE-56FD,U+56FF-571B}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-21-variable-df1f320d5523.woff2) format("woff2");unicode-range:U+571C-5727,U+5729-572F,U+5731-5746,U+5748-574F,U+5751-578A,U+578C-57F9,U+57FB-589D,U+589F-5903,U+5905-5906,U+5908-590C,U+590E-5915,U+5917-5919,U+591B-5926,U+5928}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-22-variable-9aa32df46a7f.woff2) format("woff2");unicode-range:U+592A-5930,U+5932-5933,U+5935-594E,U+5950-5981,U+5983-59CA,U+59CC-59D2,U+59D4-5B2F}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-23-variable-bd7c3767998a.woff2) format("woff2");unicode-range:U+5B30-5B4F,U+5B51-5B56,U+5B59-5B62,U+5B64-5B65,U+5B67-5B88,U+5B8A-5B8B,U+5B8D-5B97,U+5B99,U+5B9B-5B9D,U+5B9F-5BA0,U+5BA2-5BA3,U+5BA5-5BB8,U+5BBA-5BF8,U+5BFA,U+5BFD-5C05,U+5C07-5C0E,U+5C10,U+5C12-5C19,U+5C1B-5C1C,U+5C1E-5C30,U+5C32-5C3D,U+5C3F-5C4E,U+5C50-5C54,U+5C56-5C5D,U+5C5F-5C70,U+5C72-5D4A}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-24-variable-1d5abdc33468.woff2) format("woff2");unicode-range:U+5D4B-5DE4,U+5DE7-5DED,U+5DEF-5DF0,U+5DF3-5E07,U+5E09-5E25,U+5E27-5E54,U+5E56-5E73,U+5E75,U+5E77-5E93,U+5E95-5EA6,U+5EA8-5EF9,U+5EFB-5EFF,U+5F01,U+5F03-5F0E,U+5F10-5F1F,U+5F21-5F52,U+5F54,U+5F56-5F5D}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-25-variable-bbf4d0b1d5e6.woff2) format("woff2");unicode-range:U+5F5E-5F84,U+5F86-5FC2,U+5FC4-6000,U+6002-601C,U+601E-6061,U+6063-606E,U+6070-6088,U+608A-60C4,U+60C6-60EE,U+60F0-6166}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-26-variable-13bc952e9e9a.woff2) format("woff2");unicode-range:U+6167-61D1,U+61D3-620F,U+6212-6215,U+6217-623F,U+6241-624A,U+624C-6252,U+6254-627D,U+627F-62A4,U+62A6-62AB,U+62AD-62D5,U+62D7-62DA,U+62DC-62E8,U+62EA-6300,U+6302-6308,U+630A-6361,U+6363-636D,U+636F-6377}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-27-variable-13b2a13704b9.woff2) format("woff2");unicode-range:U+6378-6387,U+6389-6391,U+6393-63A4,U+63A6-63A7,U+63A9-63CF,U+63D1,U+63D3-641B,U+641D-6445,U+6447-652E,U+6530-6535,U+6537-6538,U+653A-6558,U+655A-656F,U+6571-6573,U+6575-6585}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-28-variable-1f41c9aa7ac0.woff2) format("woff2");unicode-range:U+6586,U+6588-65AE,U+65B1-65B8,U+65BA-65DF,U+65E1-65E4,U+65E6-65F5,U+65F7-660D,U+660F-661E,U+6620-662E,U+6630-663D,U+663F-666F,U+6671-6681,U+6683-66F3,U+66F5-66FF,U+6701-6707,U+670A-671E,U+6720-6729,U+672B,U+672D-6739,U+673B-6742,U+6744-675E,U+6760,U+6762-6764,U+6766-6783,U+6785-678F,U+6791-679B,U+679D-67A1}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-29-variable-8c6992929ef4.woff2) format("woff2");unicode-range:U+67A2-67E4,U+67E6-6806,U+6808-6820,U+6822-6837,U+683A-683B,U+683D-68BF,U+68C1-6976,U+6978-697B,U+697D-69AA}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-30-variable-ce67dab0c681.woff2) format("woff2");unicode-range:U+69AB-6A20,U+6A22-6B20,U+6B22-6B62,U+6B66-6B69,U+6B6B-6BB0}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-31-variable-a774c93fb136.woff2) format("woff2");unicode-range:U+6BB1-6BCE,U+6BD0-6BD3,U+6BD5-6C0E,U+6C10-6CA0,U+6CA2-6CD4,U+6CD6-6CE7,U+6CE9-6D00,U+6D02-6D3A,U+6D3C-6D4A,U+6D4C-6D4D,U+6D50-6D87,U+6D8A-6DA5,U+6DA7-6DBE}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-32-variable-eaecaa314858.woff2) format("woff2");unicode-range:U+6DBF-6DF0,U+6DF2-6DFA,U+6DFC-6E04,U+6E06-6E28,U+6E2A-6E8F,U+6E91-6ED0,U+6ED2-6FC4}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-33-variable-0ea89cc2644e.woff2) format("woff2");unicode-range:U+6FC5-70B8,U+70BA-719E,U+71A0-71C6}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-34-variable-47f7d1be8b1f.woff2) format("woff2");unicode-range:U+71C7-7229,U+722B-7246,U+7249-72B5,U+72B7-72EB,U+72ED-732A,U+732C-73AF,U+73B1-73CD}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-35-variable-41d0f0edca63.woff2) format("woff2");unicode-range:U+73CE-73EC,U+73EE-7405,U+7407-751E,U+7520-7527,U+7529-753A,U+753C-7558,U+755A-75D3}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-36-variable-945f46e2454c.woff2) format("woff2");unicode-range:U+75D4-7683,U+7685-770A,U+770C-7727,U+7729-773B,U+773D-773F,U+7741-77D8}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-37-variable-c8cf09fbdbbf.woff2) format("woff2");unicode-range:U+77D9-77E4,U+77E6-7813,U+7815-786D,U+786F-7939,U+793B-79BA,U+79BC-79CA,U+79CC-79D0,U+79D2-79DF}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-38-variable-aa920bac3610.woff2) format("woff2");unicode-range:U+79E0-7A0A,U+7A0C-7A79,U+7A7B-7A80,U+7A82-7ACA,U+7ACC-7AD8,U+7ADA-7B25,U+7B27-7B2B,U+7B2D-7B5A,U+7B5C-7B7F,U+7B81-7BA0,U+7BA2-7BE9}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-39-variable-cb48d25510ff.woff2) format("woff2");unicode-range:U+7BEA-7C3E,U+7C40-7C7A,U+7C7C-7CFA,U+7CFC-7D21,U+7D23-7DED}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-40-variable-cb22901520a3.woff2) format("woff2");unicode-range:U+7DEE-7EA6,U+7EA8-7EBE,U+7EC0-7EC3,U+7EC5,U+7EC7-7ECE,U+7ED0-7ED2,U+7ED4-7ED8,U+7EDA-7EDB,U+7EDD-7EDE,U+7EE0-7EE6,U+7EE8-7EE9,U+7EEB-7EEC,U+7EEE-7EF3,U+7EF5-7EFF,U+7F01-7F12,U+7F14-7F15,U+7F17-7F39,U+7F3B-7F50,U+7F52-7F56,U+7F58-7F6D,U+7F6F-8001}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-41-variable-0748b6e799ce.woff2) format("woff2");unicode-range:U+8002,U+8004-8053,U+8055-80FC,U+80FE-816F,U+8171-81E9,U+81EB-81F2,U+81F5-8208}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-42-variable-bd3bc97c04ae.woff2) format("woff2");unicode-range:U+8209-8271,U+8273-8279,U+827B-8281,U+8283-83AA,U+83AC-83B6,U+83B8-83DB,U+83DD-840E}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-43-variable-8835486c44c2.woff2) format("woff2");unicode-range:U+840F-860E}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-44-variable-1e79dfdb3fe4.woff2) format("woff2");unicode-range:U+860F-878C,U+878E-880F}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-45-variable-5cda3ac82576.woff2) format("woff2");unicode-range:U+8810-884B,U+884D-8867,U+8869-88C4,U+88C6-8980,U+8982-89C1,U+89C3,U+89C5,U+89C7,U+89C9-89D1,U+89D3-89E2,U+89E4-89FF,U+8A01-8A1A}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-46-variable-ad60fe2ed499.woff2) format("woff2");unicode-range:U+8A1B-8BA0,U+8BA2-8BA3,U+8BA5-8BA7,U+8BAA-8BAD,U+8BAF,U+8BB1,U+8BB3-8BB9,U+8BBB-8BBD,U+8BBF-8BC0,U+8BC2-8BCC,U+8BCE-8BD4,U+8BD6-8BE4,U+8BE7-8BEC,U+8BEE-8BF3,U+8BF5-8BF6,U+8BF8-8BFD,U+8BFF-8C02,U+8C04-8C2D}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-47-variable-ce62487269bc.woff2) format("woff2");unicode-range:U+8C2E-8D24,U+8D27,U+8D29-8D6F,U+8D71-8DB3,U+8DB5-8DDE,U+8DE0-8DF4,U+8DF6-8E34}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-48-variable-35b3fb7fc494.woff2) format("woff2");unicode-range:U+8E35-8EAA,U+8EAC-8F6B,U+8F6D-8F7C,U+8F7E-8F90,U+8F92,U+8F94-8FC6,U+8FC8-8FCF,U+8FD1-8FD3,U+8FD5-8FD7,U+8FDA,U+8FDC-9000,U+9003-9008,U+900A-900F,U+9011-9019,U+901B-9044}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-49-variable-749357c31390.woff2) format("woff2");unicode-range:U+9045-90A5,U+90A7-90E7,U+90E9-90FC,U+90FE-914C,U+914E-9191,U+9193-91C9,U+91CB,U+91CE,U+91D0,U+91D2-924E}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-50-variable-21a0ad530dfe.woff2) format("woff2");unicode-range:U+924F-944E}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-51-variable-6575a8dde97b.woff2) format("woff2");unicode-range:U+944F-949E,U+94A0-94FD,U+94FF-952D,U+952F-95EC,U+95EF-95F3,U+95F5-9643,U+9646-964F,U+9651-9657}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-52-variable-03389f5ecb70.woff2) format("woff2");unicode-range:U+9658-9661,U+9663,U+9665-968E,U+9690-96F5,U+96F7-96FF,U+9701-971D,U+971F-975D,U+975F-9761,U+9763-985F}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-53-variable-879194a1761e.woff2) format("woff2");unicode-range:U+9860-9874,U+9876-9878,U+987A,U+987C-9883,U+9885-9897,U+9899-98CD,U+98CF-9A65}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-54-variable-b2998b73ed9d.woff2) format("woff2");unicode-range:U+9A66-9A8B,U+9A8D-9C66}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-55-variable-1157a114d1f4.woff2) format("woff2");unicode-range:U+9C67-9E5B,U+9E5D-9E67}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-56-variable-13e02ff45622.woff2) format("woff2");unicode-range:U+9E68-9ED0,U+9ED2-9ED7,U+9ED9-9FFF,U+F901-F903,U+F905-F906,U+F90A-F90C,U+F915-F91A,U+F91D-F91F,U+F92C-F92D,U+F92F,U+F931-F935,U+F937,U+F939-F93A,U+F943,U+F947-F948,U+F94A,U+F94E,U+F952-F953,U+F95E,U+F962-F968,U+F96E,U+F972-F974,U+F976,U+F979-F97B,U+F97E-F980,U+F984-F985,U+F98A-F98C,U+F98E,U+F991,U+F993,U+F995,U+F998,U+F99B-F99C,U+F99E-F99F,U+F9A5,U+F9AE,U+F9B5,U+F9B7-F9B8,U+F9BA-F9BB,U+F9BD-F9BE,U+F9C0,U+F9C5-F9C6,U+F9D0,U+F9D8-F9DA,U+F9DC-F9E4,U+F9E7,U+F9E9,U+F9F1,U+F9F4-F9F5,U+F9FA-F9FB,U+F9FD,U+F9FF,U+FA02,U+FA05-FA07}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-57-variable-22a9520ef496.woff2) format("woff2");unicode-range:U+FA08,U+FA0A,U+FA0C-FA0F,U+FA11,U+FA13-FA14,U+FA18,U+FA1F-FA21,U+FA23-FA24,U+FA27-FA29,U+FA2F,U+FA33-FA35,U+FA37-FA38,U+FA3A,U+FA47,U+FA49,U+FA4B,U+FA5C-FA5E,U+FB00,U+FB03-FB04,U+FE10-FE19,U+FE30-FE52,U+FE54-FE66,U+FE68-FE6B,U+FF02-FF07,U+FF0A-FF0B,U+FF0D-FF19,U+FF1C-FF1E,U+FF20-FF9F,U+FFA1-FFBE,U+FFC2-FFC7,U+FFCA-FFCF,U+FFD2-FFD7,U+FFDA-FFDC,U+FFE0-FFE6,U+FFE8-FFEE,U+1F100-1F10C,U+1F110-1F16C,U+1F170-1F1AC,U+1F200-1F202,U+1F210-1F226}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/c2-noto-serif-sc-58-variable-7858f0fc5806.woff2) format("woff2");unicode-range:U+1F227-1F23B,U+1F240-1F248,U+1F250-1F251,U+20087,U+20089,U+200CC,U+20164,U+20628,U+20676,U+20CD0,U+2139A,U+21413,U+215D7,U+2298F,U+235CB,U+23C97-23C98,U+23E23,U+241FE,U+2420E,U+248E9,U+249DB,U+24A01,U+24A7D,U+24AC9,U+25532,U+25562,U+255A8,U+25ED7,U+26221,U+2648D,U+26676,U+2677C,U+26951,U+26B5C,U+26C21,U+278B2,U+27EAF,U+27FF9,U+28408,U+28678,U+28695,U+287E0,U+28B49,U+28C47,U+28C4F,U+28C51,U+28C54,U+28E0F,U+28E99,U+2967F,U+29810,U+29F7E,U+29F83,U+29F8C,U+2A7DD,U+2A8FB,U+2A917,U+2AA30,U+2AA36,U+2AA58,U+2AFA2,U+2B127-2B128,U+2B137-2B138,U+2B1ED,U+2B300,U+2B363,U+2B36F,U+2B372,U+2B37D,U+2B404,U+2B410,U+2B413,U+2B461,U+2B4E7,U+2B4EF,U+2B4F6,U+2B4F9,U+2B50D-2B50E,U+2B536,U+2B5AE-2B5AF,U+2B5B3,U+2B5E7,U+2B5F4,U+2B61C-2B61D,U+2B626-2B628,U+2B62A,U+2B62C,U+2B695-2B696,U+2B6AD,U+2B6ED,U+2B7A9,U+2B7C5,U+2B7E6,U+2B7F9,U+2B7FC,U+2B806,U+2B80A,U+2B81C,U+2B8B8,U+2BAC7,U+2BB5F,U+2BB62,U+2BB7C,U+2BB83,U+2BC1B,U+2BD77,U+2BD87,U+2BDF7,U+2BE29,U+2C029-2C02A,U+2C0A9,U+2C0CA,U+2C1D5,U+2C1D9,U+2C1F9,U+2C27C,U+2C288,U+2C2A4,U+2C317,U+2C35B,U+2C361,U+2C364,U+2C488,U+2C494,U+2C497,U+2C542,U+2C613,U+2C618,U+2C621,U+2C629,U+2C62B-2C62D,U+2C62F,U+2C642,U+2C64A-2C64B,U+2C72C,U+2C72F,U+2C79F,U+2C7C1,U+2C7FD,U+2C8D9,U+2C8DE,U+2C8E1,U+2C8F3,U+2C907,U+2C90A,U+2C91D,U+2CA02,U+2CA0E,U+2CA7D,U+2CAA9,U+2CB29,U+2CB2D-2CB2E,U+2CB31,U+2CB38-2CB39,U+2CB3B,U+2CB3F,U+2CB41,U+2CB4A,U+2CB4E,U+2CB5A-2CB5B,U+2CB64,U+2CB69,U+2CB6C,U+2CB6F,U+2CB73,U+2CB76,U+2CB78,U+2CB7C,U+2CBB1,U+2CBBF-2CBC0,U+2CBCE,U+2CC56,U+2CC5F,U+2CCF5-2CCF6,U+2CCFD,U+2CCFF,U+2CD02-2CD03,U+2CD0A,U+2CD8B,U+2CD8D,U+2CD8F-2CD90,U+2CD9F-2CDA0,U+2CDA8,U+2CDAD-2CDAE,U+2CDD5,U+2CE18,U+2CE1A,U+2CE23,U+2CE26,U+2CE2A,U+2CE7C,U+2CE88,U+2CE93,U+2D544,U+2F878,U+2F884,U+2F8B6,U+2F920}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:800;src:url(/fonts/playfair-display-cyrillic-800-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:800;src:url(/fonts/playfair-display-vietnamese-800-italic.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:800;src:url(/fonts/playfair-display-latin-800-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4eadb;--ink:#2b1418;--muted:#876764;--surface:#f0e2cb;--surface-raised:#fffaf0;--line:#e6d5bb;--nav:#4a0912;--accent:#6b0f1f;--forest:#1f4a36;--gold:#c8a15a;--rose:#e9a8a0;--font-zh:"Noto Serif SC",serif;--font-ru:"Literata",serif;--font-en:"Literata",serif;--body-font:"Literata","Noto Serif SC",serif;font-family:var(--body-font)}:root[data-theme=dark]{--bg:#190e12;--ink:#f8eedb;--muted:#c3a49e;--surface:#352027;--surface-raised:#29171d;--line:#51333a;--nav:#4a0912;--accent:#e9a8a0;--forest:#a9c8b2;--gold:#c8a15a;--rose:#e9a8a0}:root[data-typography=c2],[data-typography=c2]{--body-font:"Literata","Noto Serif SC",serif}body,button,input,textarea,select{font-family:var(--body-font);font-optical-sizing:auto}.v3-shell .app-main{max-width:612px;padding-top:1px}.v3-shell .reference-banner{position:relative;margin:calc(18px + env(safe-area-inset-top)) 18px 12px;padding:20px 20px 19px;min-height:158px;border-radius:30px;overflow:hidden;color:#f8eedb;background:#5b0c19 url(/reference/bg.webp) center/cover;isolation:isolate;box-shadow:0 18px 26px -22px #4a0912b0}.reference-banner:before{content:"";position:absolute;inset:0;z-index:-1;background:#580b19d9}.reference-banner:after{content:"";position:absolute;inset:6px;border:1px solid #c8a15a88;border-radius:25px;pointer-events:none}.reference-banner .school-identity{padding:0;max-width:calc(100% - 110px);position:relative;z-index:1}.reference-banner .school-identity>span:first-child{font-size:.72rem;font-weight:600;color:#f8eedbd9;letter-spacing:.03em;overflow-wrap:anywhere}.reference-banner .school-identity strong{font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:800;letter-spacing:-.025em;font-size:clamp(2rem,8.7vw,3rem);line-height:1.25;white-space:nowrap;margin:5px 0 11px;min-height:0}.reference-banner .banner-chips{display:flex;flex-wrap:wrap;gap:5px;color:#f8eedb}.banner-chips>span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;background:#ffffff20;font-size:.66rem;line-height:1.3;font-weight:600}.reference-cat{position:absolute;right:10px;bottom:9px;width:120px;height:120px;background:none;z-index:1;padding:0;transition:transform .18s;transform-origin:50% 75%}.reference-cat img{width:100%;height:100%;object-fit:contain}.reference-cat:active{transform:rotate(-6deg) scale(.95)}.reference-banner .app-top-actions{position:absolute;right:15px;top:12px;z-index:2}.v3-shell .reference-banner .app-top-actions .icon-button{height:36px;width:36px;min-width:36px;background:#ffffff15;color:#f8eedb;border-radius:12px}.v3-shell .page-content{padding:0 18px calc(115px + env(safe-area-inset-bottom))}.date-bar{margin:1px 0 10px;gap:8px}.date-bar>.icon-button{background:var(--surface);border-radius:14px;color:var(--accent);width:44px;height:44px}.calendar-picker{min-height:44px;gap:1px}.calendar-picker strong{font-size:.86rem;font-weight:600}.calendar-picker small{font-size:.62rem}.v3-shell .date-strip-surface{margin:0;padding:0}.v3-shell .week-strip{border:0;gap:6px;margin:0 0 7px;padding:0;grid-template-columns:repeat(7,minmax(0,1fr))}.v3-shell .week-strip>button{min-height:66px;padding:8px 0 9px;gap:3px;border-radius:18px;background:var(--surface-raised);border:1px solid var(--line)}.v3-shell .week-strip .day-highlight{inset:-1px;border-radius:18px;background:#6b0f1f}.v3-shell .week-strip button.active{color:#f8eedb}.v3-shell .week-strip button.active .weekday-label{color:#f8eedbcb}.v3-shell .week-strip strong{font-family:var(--body-font);font-style:normal;font-weight:600;font-size:1.35rem;line-height:1.1}.v3-shell .week-strip .weekday-label{font-size:.59rem;font-weight:500;color:var(--muted)}.v3-shell .week-strip i{display:none}.agenda-list-heading{padding:7px 0 10px;min-height:37px}.agenda-list-heading>div:first-child{gap:7px;flex-wrap:wrap}.agenda-list-heading h2{font-size:.82rem}.agenda-list-heading>div>span{font-size:.66rem}.agenda-flourish{color:var(--gold);font-size:.82rem;padding:0 4px}.v3-shell .timeline{display:flex;flex-direction:column;gap:10px}.v3-shell .timeline-row{position:relative;grid-template-columns:48px minmax(0,1fr);gap:13px;padding:14px 15px 14px 18px;border:1px solid var(--line);border-radius:24px;background:var(--surface-raised);box-shadow:0 7px 13px -12px #4a091277;overflow:hidden;align-items:start}.v3-shell .timeline-row:before{display:block;content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 5px 5px 0;background:var(--gold)}.v3-shell .timeline-row:has(.lecture):before{background:#6b0f1f}.v3-shell .timeline-row:has(.seminar):before{background:#1f4a36}.v3-shell .time-column{padding:0;font-size:.8rem;line-height:1.4;gap:1px}.v3-shell .time-column>span{font-size:.75rem}.v3-shell .lesson-card{padding:0;border:0!important;background:transparent!important;display:flex;flex-direction:column;align-items:stretch}.v3-shell .lesson-card h3{order:-1;font-size:.98rem;font-weight:600;line-height:1.36;letter-spacing:0;margin:0 0 6px;overflow-wrap:anywhere;word-break:normal}.v3-shell .lesson-card-top{margin:0 0 5px;align-items:center;justify-content:flex-start;gap:6px}.lesson-card-top>svg{display:none}.v3-shell .lesson-type{display:inline-flex;align-self:flex-start;align-items:center;font-size:.64rem;font-weight:600;letter-spacing:0;text-transform:none;background:var(--surface);color:var(--forest);padding:3px 9px;border-radius:99px;line-height:1.4}.v3-shell .lecture .lesson-type{color:var(--accent)}.v3-shell .lesson-meta{font-size:.72rem;opacity:1;line-height:1.5;gap:4px 9px;color:var(--muted)}.v3-shell .lesson-meta span{min-width:0;overflow-wrap:anywhere}.v3-shell .lesson-meta svg{display:none}.v3-shell .week-grid{display:flex;flex-direction:column;gap:16px}.v3-shell .week-day>header{margin:0 0 9px;padding:5px 2px 8px}.week-day>header>button{padding:0;background:none;display:flex;align-items:center;gap:8px;min-height:30px;text-align:left}.week-day>header h3{font-size:.86rem;font-weight:600}.week-day>header small{font-size:.62rem;padding:3px 7px;border-radius:99px;background:var(--surface);color:var(--accent)}.v3-shell .week-day>.timeline-row{margin-bottom:9px}.week-empty-day{font-size:.76rem;color:var(--muted);padding:8px 2px 14px}.week-review-count{font-size:.65rem;color:var(--muted);padding:4px 3px 8px}.v3-shell .bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:576px;margin:auto;min-height:62px;border-radius:29px;padding:6px;gap:3px;background:#4a0912;box-shadow:0 16px 24px -18px #4a0912b0;z-index:20}.v3-shell .bottom-nav>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;font-size:.65rem;font-weight:500;padding:5px 3px;border-radius:23px;color:#f8eedba6;line-height:1.1}.v3-shell .bottom-nav [aria-current=page]{background:#fff2;color:#f8eedb}.v3-shell .bottom-nav [aria-pressed=true]{color:#f8eedb}.reference-sleepy{object-fit:contain;margin:4px auto}.agenda-empty{min-height:210px;padding:10px 0 20px}.agenda-empty h2{font-size:1.2rem}.agenda-quality{font-size:.64rem;min-height:26px;padding:3px 0}.global-search .search-heading h1{font-family:inherit;font-size:1.4rem}.global-search .search-heading{margin:4px 0 12px}.global-search .search-box{background:var(--surface-raised);border:1px solid var(--line);border-radius:18px}.global-search .search-result{background:var(--surface-raised);border:1px solid var(--line);border-radius:20px;padding:14px;margin-bottom:9px}.global-search .result-body h3{font-weight:600;letter-spacing:0}.typography-options>p{font-size:.8rem;margin-bottom:18px}.typography-options>button{font-family:var(--body-font);display:flex;flex-direction:column;gap:12px;padding:18px;width:100%;border:1px solid var(--line);border-radius:20px;margin-bottom:12px;background:var(--surface-raised);text-align:left}.typography-options>button[aria-pressed=true]{border-color:var(--accent);background:var(--surface)}.font-option-label{display:flex;justify-content:space-between;width:100%;font-size:.78rem}.typography-options strong{font-size:1.13rem;font-weight:600;line-height:1.5}.typography-options small{font-size:.7rem;color:var(--muted)}.sheet,.sheet-header{font-family:var(--body-font)}.sheet-header h2{font-size:1.2rem;font-weight:600;letter-spacing:0}.button{background:#6b0f1f;color:#f8eedb}.button.secondary{background:var(--surface);color:var(--ink)}@media(max-width:350px){.v3-shell .reference-banner{margin-left:14px;margin-right:14px;min-height:147px;padding:18px 17px 17px}.reference-banner .school-identity{max-width:calc(100% - 90px)}.reference-banner .school-identity strong{font-size:2rem}.reference-cat{width:99px;height:99px;right:6px;bottom:10px}.v3-shell .reference-banner .app-top-actions .icon-button{width:32px;min-width:32px;height:32px}.reference-banner .school-identity>span:first-child{font-size:.65rem}.v3-shell .page-content{padding-left:14px;padding-right:14px}.v3-shell .date-strip-surface{margin:0}.v3-shell .week-strip{gap:4px}.v3-shell .week-strip>button{border-radius:14px;min-height:61px}.v3-shell .week-strip .day-highlight{border-radius:14px}.v3-shell .week-strip strong{font-size:1.2rem}.v3-shell .week-strip .weekday-label{font-size:.57rem}.calendar-picker strong{font-size:.75rem}.v3-shell .timeline-row{grid-template-columns:42px minmax(0,1fr);gap:9px;padding:13px 12px 13px 15px}.v3-shell .lesson-card h3{font-size:.93rem}.v3-shell .lesson-meta{font-size:.68rem}.banner-chips>span{font-size:.6rem}}@media(min-width:700px){.v3-shell .reference-banner{margin:24px 28px 14px;min-height:163px}.v3-shell .page-content{padding:0 28px 120px}.v3-shell .week-strip>button{min-height:70px}.v3-shell .lesson-card h3{font-size:1rem}.v3-shell .timeline-row{gap:16px}.v3-shell .bottom-nav{left:28px;right:28px}}@media(min-width:1050px){.v3-shell .app-main{max-width:864px;margin-left:calc(250px + max(0px,(100vw - 1140px)/2))}.v3-shell .bottom-nav{display:none}.v3-shell .reference-banner{margin:28px 28px 18px}.v3-shell .week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v3-shell .week-day>.timeline-row{grid-template-columns:40px minmax(0,1fr);gap:9px;padding-left:13px;padding-right:12px}.v3-shell .week-day .lesson-card h3{font-size:.88rem}}@media(prefers-reduced-motion:reduce){.reference-cat{transition:none}}.v3-shell .timeline-row.done{opacity:.78}.reference-banner .school-identity strong{white-space:normal;overflow-wrap:anywhere}.v3-shell .timeline-row{grid-template-columns:minmax(42px,3.3em) minmax(0,1fr)}@media(min-width:1050px){.v3-shell .week-day>.timeline-row{grid-template-columns:minmax(40px,3em) minmax(0,1fr)}}.v3-shell .time-column:after{display:none}.v3-shell .lesson-card h3{font-size:1.04rem;line-height:1.45}.v3-shell .lesson-meta{font-size:.79rem;font-weight:400;line-height:1.5}.v3-shell .time-column{font-variant-numeric:tabular-nums}.week-picker>button>strong,.year-card .year-number{font-family:var(--body-font);font-style:normal}@media(max-width:350px){.v3-shell .lesson-card h3{font-size:1.04rem}.v3-shell .lesson-meta{font-size:.79rem}}
