/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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}}}@layer theme{:host,:root{--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-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--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{*,::backdrop,:after,:before{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}:host,html{-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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.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}}.block{display:block}.flex{display:flex}.hidden{display:none}.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,)}.resize{resize:both}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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))}}:root{--brand:#561515;--brand-deep:#3c0d0d;--brand-soft:#f4e8e5;--ink:#251f1d;--ink-soft:#514946;--muted:#756d69;--paper:#f4f0eb;--paper-bright:#fffdf9;--surface-muted:#faf7f3;--line:#ded7d1;--red:#b9383a;--red-dark:#561515;--green:#2f6b50;--green-deep:#25543f;--green-soft:#e4efe8;--gold:#b99050;--white:#fff;--shadow:0 18px 55px #41211c1a;--shadow-soft:0 8px 24px #41211c0f;--radius:10px;--radius-large:18px;--font-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;--font-serif:"Songti SC","STSong","Noto Serif CJK SC","Noto Serif SC",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:var(--paper-bright);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button:not(:disabled),summary{cursor:pointer}img{max-width:100%}:focus-visible{outline-offset:3px;outline:3px solid #b9383a3d}::selection{color:var(--white);background:var(--red)}.public-header{z-index:50;background:var(--paper-bright);border-bottom:1px solid #5615151a;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.public-header{background:color-mix(in srgb,var(--paper-bright) 94%,transparent)}}.public-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.public-header-inner{justify-content:space-between;align-items:center;width:min(1200px,100% - 40px);height:78px;margin:0 auto;display:flex}.brand,.brand-identity{align-items:center;min-width:0;display:inline-flex}.brand-identity-full{width:142px}.brand-logo-image{width:100%;height:auto;display:block}.brand-identity-compact{gap:10px}.brand-symbol{flex:0 0 36px;overflow:hidden}.brand-symbol,.brand-symbol img{width:36px;height:36px;display:block}.brand-copy{gap:2px;min-width:0;display:grid}.brand-copy strong{color:var(--ink);font-family:var(--font-serif);letter-spacing:.06em;font-size:19px;line-height:1.1}.brand-copy small{color:var(--muted);letter-spacing:.14em;font-size:11px;font-weight:700;line-height:1.2}.brand-identity-compact.is-light .brand-copy strong{color:var(--white)}.brand-identity-compact.is-light .brand-copy small{color:#ffffff94}.public-nav{color:var(--brand);align-items:center;gap:18px;font-size:12px;font-weight:650;display:flex}.public-nav>a:not(.nav-login){position:relative}.public-nav>a:not(.nav-login):after{background:var(--red);content:"";height:1px;transition:transform .18s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.public-nav>a:hover:after{transform:scaleX(1)}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{content:"⌄";margin-left:6px}.nav-dropdown>div{border:1px solid var(--line);background:var(--paper-bright);width:210px;box-shadow:var(--shadow);padding:9px;display:grid;position:absolute;top:calc(100% + 16px);left:-18px}.nav-dropdown>div a{padding:9px 10px}.nav-dropdown>div a:hover{color:var(--white);background:var(--red)}.nav-login{color:var(--white);background:var(--brand);border-radius:6px;padding:10px 16px}.mobile-menu{background:0 0;border:0;display:none}.eyebrow{color:#d9c89a;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:800}.eyebrow.ink{color:var(--red)}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 21px;font-size:14px;font-weight:750;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--white);background:var(--red)}.button-primary:hover{background:var(--red-dark)}.button-ghost{color:var(--white);background:#ffffff0a;border-color:#ffffff47}.button-light{color:var(--ink);background:var(--paper-bright)}.section{width:min(1200px,100% - 40px);margin:0 auto;padding:110px 0}.section-heading{grid-template-columns:1fr .7fr;align-items:end;gap:70px;margin-bottom:45px;display:grid}.section h2{margin:0;font-family:Songti SC,Noto Serif SC,serif;font-size:clamp(34px,4vw,52px);font-weight:600;line-height:1.25}.section-heading>p{color:#66706c;margin:0;font-size:15px}.program-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.program-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-bright);flex-direction:column;align-items:flex-start;min-height:365px;padding:0 24px 24px;transition:background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.program-card:hover{z-index:2;background:var(--paper);transform:translateY(-5px)}.program-number{color:#a5aaa7;font-family:monospace;font-size:11px;position:static}.program-card-meta{justify-content:space-between;align-items:center;width:100%;margin-top:18px;display:flex}.program-card-meta svg{color:var(--red)}.program-card-image{background:var(--paper);width:calc(100% + 48px);height:155px;margin-inline:-24px;display:block;overflow:hidden}.program-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.program-card:hover .program-card-image img{transform:scale(1.025)}.program-card p{color:var(--muted);letter-spacing:0;margin:16px 0 0;font-size:12px;font-weight:400}.program-card h3{font-family:var(--font-serif);margin:15px 0 8px;font-size:25px}.program-card>span:not(.program-number,.program-card-image,.program-card-meta){color:var(--ink-soft);font-size:14px}.program-card b{color:var(--red);align-items:center;gap:7px;margin-top:auto;font-size:12px;display:inline-flex}.public-footer{color:#ffffffad;background:radial-gradient(circle at 12% 0,#b9383a33,transparent 27%),var(--brand-deep);padding:70px max(20px,50vw - 600px)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:70px;display:grid}.footer-brand{color:var(--white)}.footer-grid>div{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.footer-grid p{max-width:310px;margin:7px 0;font-size:12px}.footer-grid>div>strong{color:var(--white);margin-bottom:8px;font-size:12px}.footer-grid a{font-size:12px}.footer-grid a:hover{color:var(--white)}.footer-bottom{border-top:1px solid #ffffff24;margin-top:55px;padding-top:22px;font-size:12px}.footer-bottom,.subpage-hero{justify-content:space-between;display:flex}.subpage-hero{min-height:410px;color:var(--white);background:linear-gradient(90deg,#3c0d0df5,#561515cc),url(/images/school-reception.webp) 50% 48%/cover;align-items:flex-end;gap:30px;padding:85px max(20px,50vw - 600px)}.subpage-hero h1{margin:0;font-family:Songti SC,serif;font-size:clamp(48px,7vw,82px);font-weight:500}.subpage-hero>div>p:last-child{color:#c0cbc6;max-width:670px;margin:22px 0 0;font-size:16px}.subpage-index{color:#ffffff21;font-family:Songti SC,serif;font-size:150px;line-height:.8}.content-sections{padding-bottom:60px}.content-row{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr;gap:50px;padding:52px 0;display:grid}.content-row>span{color:var(--red);font-family:monospace;font-size:12px}.content-row h2{font-size:33px}.content-row p{color:#5f6965;max-width:760px}.content-row ul{flex-wrap:wrap;gap:10px;margin:25px 0 0;padding:0;list-style:none;display:flex}.content-row li{background:var(--brand-soft);border:1px solid #ead7d2;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:inline-flex}.public-results{gap:30px;display:grid}.results-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.results-overview>div{border:1px solid var(--line);border-radius:var(--radius-large);background:var(--paper-bright);min-height:116px;box-shadow:var(--shadow-soft);grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;padding:22px 24px;display:grid}.results-overview svg{color:var(--red);grid-row:1/3}.results-overview span{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:700}.results-overview strong{grid-row:1/3;font-family:Songti SC,Noto Serif SC,serif;font-size:38px;font-weight:500;line-height:1}.results-overview small{color:var(--ink-soft);font-size:12px}.results-year-filter{scrollbar-width:thin;gap:8px;padding-bottom:3px;display:flex;overflow-x:auto}.results-year-filter button{border:1px solid var(--line);min-width:max-content;color:var(--ink-soft);background:var(--paper-bright);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 15px;font-size:13px;font-weight:700;display:inline-flex}.results-year-filter button span{background:var(--paper);border-radius:999px;place-items:center;min-width:23px;height:23px;padding:0 6px;font-size:11px;display:inline-grid}.results-year-filter button.is-active,.results-year-filter button:hover{border-color:var(--brand);color:var(--paper-bright);background:var(--brand)}.results-year-filter button.is-active span{color:var(--brand);background:var(--paper-bright)}.results-year-heading{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 0 18px;display:flex}.results-year-heading h2{margin:6px 0 0;font-family:Songti SC,Noto Serif SC,serif;font-size:clamp(30px,4vw,46px);font-weight:500}.results-year-heading>span{color:var(--muted);padding-bottom:6px;font-size:13px}.results-university-list{gap:16px;display:grid}.results-university{border:1px solid var(--line);border-radius:var(--radius-large);background:var(--paper-bright);box-shadow:var(--shadow-soft);overflow:clip}.results-university summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;min-height:66px;padding:17px 20px;list-style:none;display:flex}.results-university summary::-webkit-details-marker{display:none}.results-university summary>span:first-child{align-items:center;gap:10px;min-width:0;font-family:Songti SC,Noto Serif SC,serif;font-size:21px;font-weight:600;display:flex}.results-university summary svg:first-child{color:var(--red);flex:none}.results-university-count{color:var(--brand);background:var(--brand-soft);border-radius:999px;margin-left:auto;padding:5px 10px;font-size:12px;font-weight:700}.results-university-chevron{color:var(--muted);flex:none;transition:transform .16s}.results-university[open] .results-university-chevron{transform:rotate(180deg)}.results-table-wrap{border-top:1px solid var(--line);overflow-x:auto}.results-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.results-table td,.results-table th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 16px}.results-table thead th{z-index:1;color:var(--brand);background:var(--brand-soft);letter-spacing:.04em;white-space:nowrap;font-size:11px;position:sticky;top:0}.results-table tbody th{color:var(--ink);white-space:nowrap;font-weight:700}.results-table tbody td{color:var(--ink-soft)}.results-table tbody tr:hover{background:#fffaf6}.results-table tbody tr:last-child td,.results-table tbody tr:last-child th{border-bottom:0}.tag-list{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.text-button{color:var(--red);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:4px 0;font-size:12px;font-weight:700;display:inline-flex}.sub-form{background:#f8faf8;border:1px solid #dfe5e1;padding:16px}.timeline-list{flex-direction:column;display:flex}.timeline-list article{border-bottom:1px solid #e5e9e6;grid-template-columns:88px 1fr;align-items:start;gap:15px;padding:13px 0;display:grid}.timeline-list article>span{color:var(--red);font-family:monospace;font-size:12px}.timeline-list article strong{font-size:12px}.timeline-list article p{color:#77817c;margin:2px 0 0;font-size:12px}.news-list{border-top:1px solid var(--line)}.news-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:24px;padding:30px 8px;display:grid}.news-row h2{margin:2px 0 8px;font-size:clamp(24px,3vw,36px)}.news-row p{color:#65706b;max-width:780px;margin:0}.news-row small{color:#828b87}a.news-row:hover{background:var(--paper)}.app-surface{min-height:100vh;color:var(--ink);background:linear-gradient(135deg,#b9383a06,#0000 28%),#f5f2ee}.app-sidebar{z-index:40;overscroll-behavior:contain;scrollbar-color:#ffffff2e transparent;scrollbar-width:thin;color:#ffffffe6;background:radial-gradient(circle at 0 0,#b9383a6b,transparent 32%),var(--brand-deep);flex-direction:column;width:248px;padding:25px 18px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.directory-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.directory-filter-control{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;color:var(--muted);background:var(--white);white-space:nowrap;align-items:center;gap:7px;padding-left:11px;font-size:12px;font-weight:650;display:inline-flex}.directory-filter-control select{min-height:36px;color:var(--ink);background-color:#0000;border:0;padding:6px 30px 6px 8px;font-size:12px;font-weight:700}.inline-check{border:1px solid var(--line);border-radius:var(--radius);min-height:38px;color:var(--muted);background:var(--white);cursor:pointer;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:650;display:inline-flex}.inline-check input{width:15px;height:15px;accent-color:var(--brand)}.milestone-stats-panel{margin-bottom:18px}.app-sidebar-header{align-items:flex-start;gap:4px;display:flex}.app-sidebar-header .brand{flex:1;min-width:0}.sidebar-collapse-button{color:#aebbb5;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:5px;flex:0 0 31px;place-items:center;width:31px;height:31px;display:grid}.sidebar-collapse-button:hover{color:#fff;background:#ffffff1a}.app-sidebar .brand{color:var(--white);padding:2px 10px 24px}.app-nav{flex-direction:column;gap:4px;margin-top:12px;display:flex}.app-workspace-nav{border-bottom:1px solid #ffffff21;margin-top:0;padding-bottom:12px}.app-workspace-nav+.app-nav{margin-top:0}.app-nav a{border-radius:var(--radius);color:#ffffffa1;align-items:center;gap:11px;min-height:43px;padding:0 12px;font-size:13px;font-weight:650;display:flex}.app-nav a.is-active,.app-nav a:hover{color:var(--white);background:#ffffff1c}.app-nav a.is-active{box-shadow:inset 3px 0 #d47875}.app-nav small{color:#ffffff5c;letter-spacing:.14em;margin:18px 12px 7px;font-size:11px;font-weight:800}.app-sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding:15px 12px 2px}.app-sidebar-footer span,.app-sidebar-footer strong{display:block}.app-sidebar-footer strong{font-size:13px}.app-sidebar-footer span{color:#89958f;font-size:12px}.app-sidebar-footer button{color:#c9d3ce;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:11px}.app-main{min-height:100vh;margin-left:248px}.app-surface.is-sidebar-collapsed .app-sidebar{width:76px;padding-inline:12px}.app-surface.is-sidebar-collapsed .app-main{margin-left:76px}.app-surface.is-sidebar-collapsed .app-sidebar-header{flex-direction:column;align-items:center}.app-surface.is-sidebar-collapsed .app-sidebar .brand{justify-content:center;padding:2px 0 8px}.app-surface.is-sidebar-collapsed .app-nav small,.app-surface.is-sidebar-collapsed .app-nav-label,.app-surface.is-sidebar-collapsed .app-sidebar-footer,.app-surface.is-sidebar-collapsed .brand-copy{display:none}.app-surface.is-sidebar-collapsed .sidebar-collapse-button{width:42px}.app-surface.is-sidebar-collapsed .app-nav{align-items:center}.app-surface.is-sidebar-collapsed .app-nav a{justify-content:center;width:44px;padding:0}.app-topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf9e6;justify-content:space-between;align-items:center;height:54px;padding:0 max(34px,50% - 706px);display:flex;position:sticky;top:0}.app-topbar-leading{align-items:center;gap:10px;min-width:0;display:flex}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute}.app-breadcrumb,.visually-hidden{white-space:nowrap;overflow:hidden}.app-breadcrumb{color:#64716b;align-items:center;font-size:12px;font-weight:650;display:flex}.app-breadcrumb span{align-items:center;gap:2px;min-width:0;display:inline-flex}.app-breadcrumb a{color:#64716b}.app-breadcrumb a:hover{color:var(--red)}.app-workspace-context{color:#53605a;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.app-workspace-context:before{background:var(--red);content:"";border-radius:999px;width:6px;height:6px}.app-topbar-meta{color:#68736e;align-items:center;gap:7px;font-size:11px;display:flex}.app-content{width:min(1480px,100%);margin:0 auto;padding:32px clamp(22px,3vw,42px) 54px}.page-heading{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:22px;display:flex}.page-heading h2{font-family:var(--font-serif);margin:0;font-size:29px}.page-heading p{color:#6a746f;margin:5px 0 0;font-size:13px}.page-heading-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:24px;display:grid}.metric-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-soft)}.metric-card{min-height:142px;padding:22px;position:relative;overflow:hidden}.metric-card>svg{color:#b9383a80;position:absolute;top:20px;right:20px}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{color:var(--brand);font-family:var(--font-serif);margin-top:16px;font-size:33px;display:block}.metric-card small{color:var(--muted);font-size:11px}.panel{padding:23px}.panel+.panel{margin-top:18px}.inline-form-panel{margin-bottom:18px}.inline-form-panel+.panel{margin-top:0}.inline-form-panel>form>.action-button{margin-top:14px}.panel-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.panel-header h3{margin:0;font-size:16px}.panel-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.section-kicker{color:var(--red);letter-spacing:.08em;align-items:center;gap:6px;font-size:12px;font-weight:800;line-height:1.4;display:inline-flex}.panel-header .section-kicker+h3{font-family:var(--font-serif);letter-spacing:-.02em;margin:7px 0 2px;font-size:24px;line-height:1.3}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow-x:auto}.panel>.table-wrap{border-left:0;border-right:0;border-radius:0;margin-left:-23px;margin-right:-23px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{z-index:1;color:var(--muted);text-align:left;white-space:nowrap;background:#f8f4f1;padding:10px 12px;font-size:11px;position:sticky;top:0}.data-table td{vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #eee8e3;padding:13px 12px}.data-table tbody tr:not(.expanded-detail-row):hover>td{background:#fdf9f7}.data-table details{max-width:360px}.data-table summary{color:var(--brand);cursor:pointer;font-weight:700}.management-table{min-width:1080px}.service-expiry-cell{min-width:190px}.service-expiry-cell>small,.service-expiry-cell>span{margin-top:3px;display:block}.service-expiry-cell>span{color:var(--ink);font-size:12px}.service-expiry-cell>small{color:var(--muted);white-space:nowrap;font-size:11px}.service-expiry-label{color:#315c4e;white-space:nowrap}.service-expiry-label.is-warning{color:#9a5a08}.service-expiry-label.is-danger{color:#b64242}.service-expiry-label.is-muted{color:var(--muted)}.management-table tr.is-expanded>td{background:#fbf4f2}.cell-nowrap{white-space:nowrap}.secondary-line{color:#7a8580;margin-top:4px;font-size:11px;font-weight:500;line-height:1.45;display:block}.secondary-line+.secondary-line{margin-top:1px}.monospace{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.clamped-cell{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:260px;line-height:1.5;display:-webkit-box;overflow:hidden}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.action-button.compact{min-height:34px;padding:0 10px;font-size:11px}.expanded-detail-row>td{background:#fbf7f4;white-space:normal!important;padding:0!important}.record-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.record-detail{background:var(--white);border:1px solid #e1e7e3;border-radius:8px;min-width:0;padding:11px 12px}.record-detail.is-wide{grid-column:1/-1}.record-detail>span{color:#7b8680;margin-bottom:4px;font-size:11px;font-weight:750;display:block}.record-detail.is-editing{background:#fcfdfc;border-color:#c8d6cf;box-shadow:inset 3px 0 #8da99a}.record-detail.is-editing>label{color:#65716b;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.record-detail.is-editing>input,.record-detail.is-editing>textarea{width:100%;min-width:0;color:var(--ink);background:var(--white);font:inherit;border:1px solid #cdd7d1;border-radius:6px;padding:9px 10px;font-size:13px;line-height:1.55}.record-detail.is-editing>textarea{resize:vertical;min-height:82px}.record-detail.is-editing>input:focus,.record-detail.is-editing>textarea:focus{border-color:var(--brand);outline:2px solid #6e2a261a}.record-detail>p{color:#34413b;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px;line-height:1.65}.inline-record-form,.inline-record-form fieldset{border:0;min-width:0;margin:0;padding:0}.inline-record-form{gap:0;display:grid}.inline-record-form .modal-footer-actions{margin-top:14px}.target-university-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;display:grid}.target-university-list>div{background:#f8faf8;border:1px solid #e4e9e6;border-radius:4px;gap:2px;min-width:0;padding:8px 10px;display:grid}.target-university-list small,.target-university-list strong{overflow-wrap:anywhere}.target-university-list strong{font-size:12px}.target-university-list small{color:#77827c;font-size:11px}.expanded-detail-row .record-detail-grid{padding:16px}.expanded-detail-row .inline-milestone-editor{box-shadow:none;border:0;border-radius:0;margin:0}.expanded-detail-row .inline-milestone-editor .milestone-form,.expanded-detail-row .inline-milestone-editor .panel-header{padding-left:16px;padding-right:16px}.center-state,.empty-state,.error-state{color:#737e79;text-align:center;place-items:center;min-height:160px;padding:28px;display:grid}.center-state.compact,.empty-state.compact{min-height:100px;padding:20px}.center-state{align-content:center}.center-state.is-page{min-height:100vh}.state-message{justify-items:center;gap:9px;max-width:520px;display:grid}.state-message strong{color:var(--ink);font-size:14px}.state-message span{overflow-wrap:anywhere}.loading-dot{background:var(--red);border-radius:99px;width:8px;height:8px;margin-bottom:10px;animation:pulse 1s ease-in-out infinite alternate}.section-tabs{border:1px solid var(--line);background:var(--white);border-radius:9px;gap:4px;margin:-4px 0 18px;padding:4px;display:inline-flex}.section-tabs a{min-height:38px;color:var(--muted);border-radius:6px;align-items:center;gap:7px;padding:0 15px;font-size:12px;font-weight:750;display:inline-flex}.section-tabs a.is-active,.section-tabs a:hover{color:var(--white);background:var(--ink)}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#161c198a;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.modal-dialog{background:var(--white);border:1px solid #ffffff9e;border-radius:14px;flex-direction:column;width:min(760px,100%);max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 80px #131d1840}.modal-dialog.is-wide{width:min(1020px,100%)}.modal-dialog-header{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff,#faf5f2);justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.modal-dialog-header h2{font-family:var(--font-serif);margin:0;font-size:25px}.modal-dialog-header p{color:var(--muted);margin:5px 0 0;font-size:12px}.modal-dialog-header .icon-button:disabled{cursor:not-allowed;opacity:.42}.modal-dialog-body{min-height:0;padding:20px 22px 24px;overflow:auto}.modal-tabs{border-bottom:1px solid var(--line);gap:20px;margin:-3px 0 18px;display:flex}.modal-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 2px 11px;font-size:12px;font-weight:750}.modal-tabs button.is-active{color:var(--brand);border-bottom-color:var(--red)}.modal-footer-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:18px;padding-top:16px;display:flex}@media (max-width:700px){.section-tabs{width:100%;display:flex}.section-tabs a{flex:1;justify-content:center}.modal-backdrop{place-items:stretch stretch;padding:8px}.modal-dialog,.modal-dialog.is-wide{border-radius:10px;width:100%;max-height:calc(100dvh - 16px)}.modal-dialog-body,.modal-dialog-header{padding-left:15px;padding-right:15px}.modal-footer-actions{flex-direction:column-reverse;align-items:stretch}.modal-footer-actions .action-button{width:100%}}.student-create-panel{margin-bottom:18px}.student-directory-table{min-width:760px}.student-screening-controls{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);gap:10px;margin:0 0 18px;padding:12px;display:grid}@supports (color:color-mix(in lab,red,red)){.student-screening-controls{background:color-mix(in srgb,var(--paper) 82%,white)}}.student-screening-actions,.student-screening-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-screening-heading>div:first-child{gap:3px;display:grid}.student-screening-heading strong{color:var(--brand);font-size:12px}.student-screening-heading span{color:var(--muted);font-size:11px;line-height:1.45}.student-screening-refresh-status{color:var(--muted);margin:0;font-size:11px}.student-screening-fields{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;display:grid}.student-screening-fields .field{gap:4px;min-width:0}.student-screening-fields .field>span{color:var(--ink-soft);font-size:11px;font-weight:750;line-height:1.4}.student-screening-fields .field input,.student-screening-fields .field select{min-height:36px;padding:7px 9px;font-size:12px}.student-profile-form{gap:18px;display:grid}.student-profile-form .form-grid{align-items:start}.student-service-end-field{min-width:0}.student-service-end-policy{border:1px solid var(--line);min-height:38px;color:var(--muted);border-radius:8px;margin:0;padding:8px 10px;font-size:12px;line-height:20px}.student-service-end-hint{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.student-service-end-hint .text-button{flex:none;font-size:11px}.student-profile-form fieldset{border:0;min-width:0;margin:0;padding:0}.student-profile-form fieldset+fieldset{border-top:1px solid var(--line);padding-top:18px}.student-fieldset-title,.student-profile-form legend{color:var(--brand);margin-bottom:12px;font-size:13px;font-weight:800;display:block}.student-target-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px;display:flex}.student-target-heading .student-fieldset-title{margin-bottom:3px}.student-target-heading p{color:var(--muted);margin:0;font-size:11px}.student-target-editor{gap:9px;display:grid}.student-target-inherit-option{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:10px;padding:9px 11px;display:flex}.student-target-inherit-option input{flex:none;width:auto;margin-top:2px}.student-target-row{border:1px solid var(--line);background:var(--paper);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:start;gap:10px;padding:12px;display:grid}.student-target-program-picker{width:100%;min-width:0;position:relative}.student-target-program-input{min-width:0;position:relative}.student-target-program-input>svg{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.student-target-program-input>svg:first-child{left:11px}.student-target-program-input>svg:last-child{right:11px}.student-target-program-input>input{text-overflow:ellipsis;min-width:0;padding-left:34px;padding-right:34px}.student-target-program-input>input::-webkit-search-cancel-button{display:none}.student-target-program-menu{z-index:30;border:1px solid var(--line-strong);background:var(--white);border-radius:8px;max-height:min(320px,45vh);padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #2a231f29}.student-target-program-option{width:100%;min-height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;line-height:1.45;display:grid}.student-target-program-option:hover,.student-target-program-option[data-active=true]{background:var(--paper)}.student-target-program-option[aria-selected=true]{color:var(--brand);font-weight:750}.student-target-program-option>span{min-width:0}.student-target-program-option>svg{color:var(--red);flex:none}.student-target-program-empty,.student-target-program-menu-note{color:var(--muted);margin:0;padding:8px 9px;font-size:11px;line-height:1.5}.student-target-program-menu-note{border-bottom:1px solid var(--line)}.student-target-row>.field{align-self:start;min-width:0}.student-target-row>.field>label{align-items:center;min-height:18px;line-height:18px;display:flex}.student-target-row>.field>.student-target-program-picker,.student-target-row>.field>input,.student-target-row>.field>select{width:100%;min-width:0;max-width:100%}.student-target-row>.field>select{text-overflow:ellipsis;white-space:nowrap;padding-right:36px;overflow:hidden}.student-target-row>.field>.field-hint{line-height:1.5}.student-target-row>.icon-button{flex:none;align-self:start;margin-top:29px}@media (max-width:900px){.student-target-row{grid-template-columns:minmax(0,1fr) auto}.student-target-row>.field{grid-column:1}.student-target-row>.icon-button{grid-area:1/2/span 2}}.student-target-empty{border:1px dashed var(--line-strong);color:var(--muted);background:var(--paper);border-radius:9px;margin:0;padding:16px;font-size:12px}.form-grid.student-contact-grid{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:start}.student-contact-grid textarea{min-height:112px}.student-form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding-top:14px;display:flex}.compact-tag-list{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.search-control{flex:0 300px;width:min(300px,100%);position:relative}.search-control>svg{z-index:1;color:#78827d;pointer-events:none;position:absolute;top:14px;left:11px}.search-control .search-input{padding-left:34px}.management-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:15px;display:flex}.management-pagination>span{color:#748079;font-size:12px}.management-pagination>div{gap:7px;display:flex}.audit-json{color:#e8f0ec;white-space:pre-wrap;word-break:break-word;background:#2c2020;border-radius:8px;max-height:260px;margin:8px 0 0;padding:10px;font-size:12px;line-height:1.55;overflow:auto}.status-pill,.tag{color:#315c4e;background:#e2eee8;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:750;display:inline-flex}.status-pill.is-muted{color:#806443;background:#f3e9da}.status-pill.service-status.is-warning{color:#8b4d00;background:#fff3d6}.status-pill.service-status.is-danger{color:#943535;background:#f6e8e8}.status-pill.service-status.is-muted{color:#6b706d;background:#ebecea}.student-service-panel{overflow:hidden}.service-expiry-summary{border:1px solid #315c4e;padding:18px 20px;display:flex}@supports (color:color-mix(in lab,red,red)){.service-expiry-summary{border:1px solid color-mix(in srgb,#315c4e 20%,var(--line))}}.service-expiry-summary{border-radius:var(--radius);color:#315c4e;background:#edf4f1;justify-content:space-between;align-items:baseline;gap:14px}.service-expiry-summary strong{font-size:clamp(20px,3vw,28px)}.service-expiry-summary span{color:var(--muted);text-align:right;font-size:12px}.service-expiry-summary.is-warning{color:#8b4d00;background:#fff8e9;border-color:#edd5a3}.service-expiry-summary.is-danger{color:#943535;background:#fff4f4;border-color:#efcaca}.service-expiry-summary.is-muted{border-color:var(--line);color:var(--muted);background:var(--paper)}.student-service-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.student-service-facts>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-width:0;padding:13px 14px}.student-service-facts span,.student-service-facts strong{display:block}.student-service-facts span{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:700}.student-service-facts strong{overflow-wrap:anywhere;font-size:13px}.form-row{flex-wrap:wrap;gap:10px;display:flex}.form-row>input,.form-row>select{background:var(--white);border:1px solid #d7ddd9;border-radius:3px;min-width:0;min-height:39px;padding:8px 10px;font-size:11px}.role-editor{flex-wrap:wrap;gap:7px;display:flex}.role-editor label{border:1px solid var(--line);white-space:nowrap;background:#f7f8f5;align-items:center;gap:5px;padding:5px 8px;font-size:12px;display:inline-flex}.teacher-course-picker{background:#fafbf9;border:1px solid #dfe4e0;border-radius:6px;gap:12px;margin-top:18px;padding:16px;display:grid}.teacher-course-picker>div:first-child>strong{font-size:12px}.setup-needed p,.teacher-course-picker>div:first-child>p{color:#727e78;margin:4px 0 0;font-size:12px}.teacher-course-picker .role-editor label{background:var(--white);min-height:44px;padding:7px 10px}.teacher-course-picker .role-editor label>span{flex-direction:column;gap:2px;display:flex}.teacher-course-picker .role-editor small{color:#839089;font-size:12px}.required-mark{color:#9a332b;vertical-align:middle;background:#fae9e7;border-radius:99px;margin-left:4px;padding:2px 5px;font-size:12px;display:inline-flex}.inline-state{color:#75817b;background:#f1f4f1;padding:12px;font-size:12px}.setup-needed{background:#fff8eb;border:1px solid #ead9bd;justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.setup-needed>div>strong{color:#6f4d1f;font-size:11px}.teacher-course-picker .form-error{margin-top:0}.create-person-panel{margin-bottom:18px}.identity-picker{background:#fafbf9;border:1px solid #dfe4e0;border-radius:6px;margin:18px 0 0;padding:15px}.identity-picker legend{padding:0 5px;font-size:12px;font-weight:800}.identity-picker>p{color:#727e78;margin:0 0 11px;font-size:12px}.role-editor label.is-identity-role{color:var(--brand);background:var(--brand-soft);border-color:#d9b4ae}.role-editor label.is-disabled-role{opacity:.55}.staged-role-editor{gap:10px;margin-top:10px;display:grid}.inline-edit-actions{justify-content:flex-end;gap:7px;display:flex}.teacher-extension{border-left:3px solid var(--red);background:#fbf3f1;gap:14px;margin-top:14px;padding:18px;display:grid}.teacher-extension-heading{align-items:center;gap:9px;display:flex}.teacher-extension-heading svg{color:var(--red)}.teacher-extension-heading strong{font-size:12px}.teacher-extension-heading p{color:#728078;margin:2px 0 0;font-size:12px}.credential-result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.credential-result small{margin-top:6px;display:block}@media (max-width:1100px){.student-screening-fields{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width:700px){.student-screening-controls{padding:11px}.student-screening-actions,.student-screening-heading{flex-direction:column;align-items:stretch}.student-screening-fields{grid-template-columns:1fr}.student-screening-actions .action-button,.student-screening-fields .field input,.student-screening-fields .field select{min-height:40px}}.person-section{border-top:1px solid var(--line);gap:9px;width:100%;padding-top:13px;display:grid}.person-section-title>strong,.person-section>strong{font-size:11px}.person-section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-profile-summary>p{margin:0}.teacher-profile-summary>small{margin:0;padding:0}.teacher-profile-editor form{gap:14px;display:grid}.teacher-profile-editor .teacher-course-picker{margin-top:2px}.person-detail-layout{grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);align-items:start;gap:16px;padding:16px;display:grid}.person-detail-layout .person-section{background:var(--white);border:1px solid #e1e7e3;border-radius:6px;padding:14px}.person-section-title>strong{align-items:center;gap:6px;display:inline-flex}.detail-hint,p.detail-hint{color:#78837d;margin:0;font-size:11px;line-height:1.55}.field{flex-direction:column;flex:1;gap:6px;min-width:180px;display:flex}.field label{color:var(--ink-soft);font-size:12px;font-weight:750}.field input,.field select,.field textarea,.search-input{border:1px solid var(--line);background:var(--white);border-radius:7px;outline:none;width:100%;min-height:42px;padding:9px 11px;font-size:13px}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:var(--red);box-shadow:0 0 0 3px #b9383a1a}.action-button{min-height:39px;color:var(--white);background:var(--brand);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:750;display:inline-flex}.action-button.secondary{color:#46514c;background:var(--white);border:1px solid #d4dad6}.action-button:not(:disabled){transition:background-color .16s,box-shadow .16s,transform .16s}.action-button:not(:disabled):hover{background:#6f2020;transform:translateY(-1px);box-shadow:0 7px 18px #56151529}.action-button.secondary:not(:disabled):hover{color:var(--brand);box-shadow:none;background:#fff9f7;border-color:#d9b9b4}.action-button.danger{background:var(--red)}.action-button:disabled{opacity:.55;cursor:not-allowed}.form-grid{align-items:end;gap:12px;display:grid}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-submit-row{border-top:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:16px;padding-top:13px;display:flex}.management-schedule-form{gap:13px}.management-schedule-workspace>.page-heading{margin-bottom:12px}.schedule-filter-panel{padding:14px 16px 16px}.schedule-filter-panel-header{margin-bottom:10px}.schedule-filter-panel-header p{margin-top:2px;font-size:11px}.schedule-filter-panel .schedule-class-course-strip{align-items:end}.schedule-filter-panel .field{gap:4px}.schedule-filter-panel .field input,.schedule-filter-panel .field select{min-height:38px;padding-top:6px;padding-bottom:6px}.schedule-filter-panel .schedule-owner-summary{background:#faf7f3;border-left:3px solid #d4aaa5;border-radius:3px;align-items:center;gap:9px;min-height:38px;padding:7px 11px;display:flex}.schedule-filter-panel .schedule-owner-summary span,.schedule-filter-panel .schedule-owner-summary strong{flex:none}.schedule-filter-panel .schedule-owner-summary small,.schedule-filter-panel .schedule-owner-summary span{font-size:11px}.schedule-filter-panel .schedule-owner-summary strong{font-size:13px}.schedule-filter-panel .schedule-owner-summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.schedule-filter-feedback{border-radius:7px;margin-top:10px;font-size:11px}.management-schedule-modal-form{gap:14px}.management-schedule-modal-form .schedule-reminder-field{max-width:none}.management-schedule-modal-form .form-submit-row{justify-content:flex-end;gap:8px}.schedule-calendar-empty-state{min-height:max(360px,100dvh - 290px)}.schedule-class-course-strip{grid-template-columns:minmax(190px,.8fr) minmax(240px,1.1fr) minmax(260px,.9fr);align-items:end;gap:12px;display:grid}.management-schedule-form .form-grid{gap:10px}.management-schedule-form .schedule-owner-summary{background:#faf7f3;border:0;border-left:3px solid #d4aaa5;border-radius:3px;align-items:center;gap:9px;min-height:39px;padding:7px 11px;display:flex}.management-schedule-form .schedule-owner-summary span{flex:none;font-size:11px}.management-schedule-form .schedule-owner-summary strong{flex:none;font-size:13px}.management-schedule-form .schedule-owner-summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;font-size:11px;overflow:hidden}.management-schedule-form .field{gap:4px}.management-schedule-form .field input,.management-schedule-form .field select{background:#fbf9f6;border-color:#0000 #0000 #d9d2cc;border-radius:4px 4px 0 0;min-height:39px;padding:7px 9px}.management-schedule-form .field input:focus,.management-schedule-form .field select:focus{border-color:transparent transparent var(--red);background:var(--white);box-shadow:inset 0 -1px 0 var(--red)}.management-schedule-form .weekday-picker{margin:3px 0}.management-schedule-form .weekday-picker>div{gap:7px}.management-schedule-form .weekday-picker button{background:0 0;border-radius:999px;min-height:33px;font-size:12px}.management-schedule-form .weekday-picker button:hover{color:var(--brand);background:#fff9f7;border-color:#cda9a3}.management-schedule-form .weekday-picker button.is-selected{color:var(--white);border-color:var(--brand);background:var(--brand)}@media (max-width:900px){.schedule-class-course-strip{grid-template-columns:1fr}.management-schedule-form .schedule-owner-summary small,.schedule-filter-panel .schedule-owner-summary small{white-space:normal}}@media (max-width:700px){.schedule-filter-panel-header{flex-direction:column;align-items:stretch}.schedule-filter-panel-header .row-actions{width:100%;min-width:0}.schedule-filter-panel-header .action-button{flex:150px;min-width:0}}.class-initial-students{border:1px solid var(--line);background:#faf9f7;border-radius:9px;margin-top:16px;padding:16px}.class-creation-hint{color:#52645b;background:#f3f7f5;border-left:3px solid #b8cdc2;margin:4px 0 0;padding:10px 12px;font-size:12px;line-height:1.6}.class-calendar-creation-settings{margin-top:12px}.class-calendar-creation-settings .field-hint{margin-top:5px;line-height:1.5;display:block}.class-initial-students-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.class-initial-students-heading>div>label,.class-initial-students-heading>div>span{display:block}.class-initial-students-heading>div>span{color:var(--muted);margin-top:3px;font-size:11px;font-weight:500}.class-initial-students-heading>strong{color:var(--brand);flex:none;font-size:12px}.class-student-search{margin-top:10px;position:relative}.class-student-search>svg{z-index:1;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.class-student-search>input{background:var(--white);padding-left:35px}.class-student-options{background:var(--white);border:1px solid #e1e4e1;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:250px;margin:10px 0 8px;padding:6px;display:grid;overflow-y:auto}.class-student-options>label{cursor:pointer;background:#f8f9f7;border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;min-width:0;min-height:52px;padding:8px 10px;display:flex}.class-student-options>label:hover{background:#f3f6f3;border-color:#d7dfda}.class-student-options>label.is-selected{background:#edf5f0;border-color:#acc4b8;box-shadow:inset 3px 0 #769b88}.class-student-options input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--brand);flex:0 0 16px;padding:0}.class-student-options small,.class-student-options span,.class-student-options strong{min-width:0;display:block}.class-student-options span{overflow:hidden}.class-student-options small,.class-student-options strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-student-options strong{color:var(--ink);font-size:12px}.class-student-options small{color:var(--muted);margin-top:2px;font-size:10px}.class-student-options>.empty-state{grid-column:1/-1}.class-operations-panel{margin-top:18px;padding:0;overflow:hidden}.class-operations-panel>.class-operations-header{background:linear-gradient(135deg,#fff,#fdfaf8);border-bottom:1px solid #e7e2dd;min-height:78px;margin:0;padding:14px 16px}.class-operations-heading-copy{min-width:0}.class-operations-title-line{align-items:center;gap:10px;min-width:0;display:flex}.class-operations-title-line h3{text-overflow:ellipsis;white-space:nowrap;font-size:18px;overflow:hidden}.class-operations-title-line .status-pill{flex:none}.class-operations-heading-copy>p{margin-top:4px;line-height:1.55}.class-operations-panel>.class-closed-notice,.class-operations-panel>.form-error,.class-operations-panel>.form-success{margin:10px 16px 0}.class-operations-panel>.form-error{margin-bottom:16px}.class-adviser-bar{background:#fffdfc;border-bottom:1px solid #ebe7e3;gap:8px 14px;min-height:48px;padding:8px 16px}.class-adviser-bar,.class-calendar-settings{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.class-calendar-settings{background:#f7fbf8;border-bottom:1px solid #dfe9e3;gap:8px 12px;min-height:58px;padding:9px 16px}.class-calendar-settings-copy{flex:280px;min-width:220px}.class-calendar-settings-copy>small,.class-calendar-settings-copy>span,.class-calendar-settings.is-readonly small,.class-calendar-settings.is-readonly span,.class-calendar-settings.is-readonly strong,.class-calendar-settings>label>span{display:block}.class-calendar-settings-copy>span,.class-calendar-settings.is-readonly>div>span{color:#35624c;font-size:10px;font-weight:800}.class-calendar-settings-copy>small,.class-calendar-settings.is-readonly small{color:#75837b;margin-top:2px;font-size:9px;line-height:1.45}.class-calendar-settings>label{gap:3px;min-width:160px;display:grid}.class-calendar-settings>label>span{color:var(--muted);padding-inline-start:8px;font-size:9px;font-weight:700}.class-calendar-settings input,.class-calendar-settings select{min-height:34px;padding:5px 8px;font-size:12px;line-height:1.4}.class-calendar-creation-settings input,.class-calendar-creation-settings select{font-size:12px}.class-calendar-settings input{min-width:190px}.class-calendar-settings>.form-error,.class-calendar-settings>.form-success{flex:1 0 100%;margin:0;padding:6px 8px;font-size:10px}.class-calendar-settings.is-readonly{justify-content:space-between}.class-calendar-settings.is-readonly strong{margin-top:2px;font-size:11px}.class-adviser-current{flex-wrap:wrap;flex:260px;align-items:baseline;gap:3px 8px;min-width:190px;display:flex}.class-adviser-current>span,.class-adviser-form>label{color:var(--muted);font-size:10px;font-weight:700}.class-adviser-current>strong{color:var(--ink);font-size:12px}.class-adviser-current>small{color:#9b653f;flex:1 0 100%;font-size:9px}.class-adviser-form{flex-wrap:wrap;flex:auto;justify-content:flex-start;align-items:center;gap:7px;min-width:0;display:flex}.class-adviser-form select{flex:280px;min-width:220px;max-width:420px;min-height:34px}.class-adviser-form>small{color:#9b653f;flex:1 0 100%;font-size:9px}.class-adviser-feedback{color:#3f765c;text-align:right;flex:1 0 100%;font-size:10px}.class-operations-sections{grid-template-columns:minmax(0,1fr);align-items:start;gap:0;padding:12px 16px 16px;display:grid}.class-operations-section{background:0 0;border:0;border-radius:0;min-width:0;padding:4px 0 0}.class-courses-section{border-top:1px solid #e2e5e2;margin-top:16px;padding-top:16px}.class-roster-section{container:class-roster/inline-size}.class-operations-section-header,.class-operations-section-title{align-items:center;display:flex}.class-operations-section-header{justify-content:space-between;gap:14px;min-height:36px}.class-operations-section-title{gap:8px;min-width:0}.class-operations-section-title>div{min-width:0}.class-operations-section-icon{width:31px;height:31px;color:var(--brand);background:#fbf4f1;border:1px solid #e2d7d2;border-radius:9px;flex:0 0 31px;justify-content:center;align-items:center;display:inline-flex}.class-operations-section-title h3,.class-operations-section-title p{margin:0}.class-operations-section-title h3{font-size:14px}.class-operations-section-title p{color:var(--muted);margin-top:3px;font-size:11px}.class-operations-count{color:#476b5b;background:#eaf3ee;border-radius:999px;flex:none;padding:5px 8px;font-size:10px;font-weight:750}.class-enrollment-form{grid-template-columns:minmax(240px,1fr) max-content auto;gap:6px;margin-top:10px;display:grid}.class-enrollment-form input{background:var(--white);border:1px solid #d7ddd9;border-radius:6px;width:100%;min-width:0;min-height:36px;padding:8px 10px;font-size:11px}.class-enrollment-form .action-button{flex:none}.class-enrollment-candidate-summary{min-height:36px;color:var(--muted);background:#fafbfa;border:1px solid #d7ddd9;border-radius:6px;align-items:center;padding:8px 10px;font-size:11px;display:flex}.class-enrollment-candidate-list{background:var(--white);border:1px solid #d7ddd9;border-radius:7px;grid-column:1/-1;min-height:42px;max-height:184px;display:grid;overflow-y:auto}.class-enrollment-candidate-list>[role=option]{width:100%;min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf0ee;border-radius:0;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;padding:7px 10px;display:grid}.class-enrollment-candidate-list>[role=option]:last-of-type{border-bottom:0}.class-enrollment-candidate-list>[role=option]:focus-visible,.class-enrollment-candidate-list>[role=option]:hover{background:#f8f4f2;outline:none}.class-enrollment-candidate-list>[role=option].is-selected{box-shadow:inset 3px 0 var(--brand);background:#f5eae7}.class-enrollment-candidate-identity{align-items:baseline;gap:7px;min-width:0;display:flex}.class-enrollment-candidate-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.class-enrollment-candidate-identity small,.class-enrollment-candidate-state{color:var(--muted);font-size:10px}.class-enrollment-candidate-state{overflow-wrap:anywhere;text-align:right;white-space:normal;min-width:0;max-width:100%;line-height:1.35}@container class-roster (max-width:460px){.class-enrollment-candidate-list>[role=option]{grid-template-columns:minmax(0,1fr);align-items:start;gap:2px}.class-enrollment-candidate-state{text-align:left}}.class-enrollment-candidate-state-message{min-height:42px;color:var(--muted);text-align:center;place-items:center;padding:9px 10px;font-size:10px;display:grid}.class-enrollment-candidate-state-message.is-error{color:var(--brand)}.class-enrollment-guidance{color:var(--muted);grid-column:1/-1;margin:0;font-size:10px;line-height:1.5}.class-enrollment-table{border-radius:8px;margin-top:8px}.class-enrollment-table .data-table{font-size:12px}.class-enrollment-table .data-table th{padding:7px 10px}.class-enrollment-table .data-table td{padding:9px 10px}.class-enrollment-table .data-table td:last-child,.class-enrollment-table .data-table th:last-child{text-align:right;width:58px}.class-enrollment-table .data-table tbody tr:last-child td{border-bottom:0}.class-enrollment-state{min-height:76px;color:var(--muted);text-align:center;background:#fafbfa;border:1px solid #e1e6e3;border-radius:8px;place-items:center;margin-top:8px;padding:14px;font-size:11px;display:grid}.class-enrollment-state.is-empty{border-style:dashed}.class-course-add-form{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:end;gap:9px;margin-top:10px;padding:0;display:grid}.class-course-add-form .field{gap:4px;min-width:0}.class-course-add-form select,.class-course-add-form>.action-button{min-height:38px}.class-course-feedback{margin-top:12px}.class-course-card-list{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:10px;display:grid}.class-course-card{background:var(--white);border:1px solid #dfe5e1;border-radius:7px;min-width:0;padding:11px;box-shadow:0 4px 12px #2330290a}.class-course-card[data-status=ended]{color:#68716d;box-shadow:none;background:#f6f7f6}.class-course-actions,.class-course-card>header,.class-course-card>header>div,.class-course-facts,.class-course-teacher-editor{align-items:center;min-width:0;display:flex}.class-course-card>header{justify-content:space-between;align-items:flex-start;gap:10px}.class-course-card>header>.class-course-heading{flex-direction:column;flex:auto;align-items:flex-start;gap:6px;overflow:hidden}.class-course-card>header strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;overflow:hidden}.class-course-meta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.class-course-card>header small,.class-course-category{color:#647069;background:#eef1ef;border-radius:999px;flex:none;padding:3px 6px;font-size:9px;font-weight:700}.class-course-category{color:#7b4d46;background:#f8ebe8}.class-course-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px}.class-course-teacher-editor{flex-wrap:wrap;gap:7px;margin-top:8px}.class-course-teacher-editor select{width:100%;min-width:0;min-height:36px}.class-course-teacher-note{color:#7b8580;flex:1 0 100%;font-size:10px;line-height:1.55}.class-course-facts{color:#6c7771;flex-wrap:wrap;gap:5px 13px;margin-top:7px;font-size:10px}.class-course-facts strong{color:#3f5048;font-size:11px}.class-course-teacher-trigger{color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:4px;margin:0;padding:0;display:inline-flex}.class-course-teacher-trigger svg{color:#7f8984}.class-course-teacher-trigger:hover strong,.class-course-teacher-trigger:hover svg{color:var(--brand)}.class-course-teacher-trigger:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #b9383a38}.class-course-schedules{gap:5px;margin-top:8px;display:grid}.class-course-schedules .class-schedule-summary{box-shadow:none;border-top:0;border-bottom:0;border-right:0;border-radius:3px;padding:7px 9px}.class-course-schedules .class-schedule-summary-actions{border-top:1px solid #edf0ee;justify-content:flex-end;margin-top:2px;padding-top:5px;display:flex}.class-course-schedules .class-schedule-summary-actions .text-button{min-height:28px;padding:3px 5px;font-size:11px}.class-course-no-schedule{color:#89938e;background:#fafbfa;border:1px dashed #dfe5e1;border-radius:6px;margin:0;padding:7px 9px;font-size:10px}.class-course-card>footer{border-top:1px solid #edf0ee;justify-content:flex-end;margin-top:7px;padding-top:6px;display:flex}.management-disclosure-list{gap:8px;display:grid}.management-disclosure{background:var(--white);border:1px solid #dfe5e1;border-radius:6px;min-width:0}.management-disclosure>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:64px;padding:12px 14px;list-style:none;display:grid}.management-disclosure>summary::-webkit-details-marker{display:none}.management-disclosure>summary:after{color:var(--red);content:"展开";font-size:11px;font-weight:750}.management-disclosure[open]>summary:after{content:"收起"}.management-disclosure>summary>span:first-child{gap:3px;min-width:0;display:grid}.management-disclosure>summary strong{font-size:12px}.disclosure-counts,.management-disclosure>summary small{color:#77827c;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.disclosure-counts{text-align:right;max-width:300px}.management-disclosure-body{background:#f8faf8;border-top:1px solid #e7ebe8;gap:14px;padding:15px;display:grid}.management-disclosure-body .record-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-course-readonly-details{background:#fbfcfb;border-color:#e2e8e4;margin-top:12px}.class-course-readonly-details>summary{grid-template-columns:minmax(0,1fr) auto;min-height:42px;padding:9px 12px}.class-course-readonly-details>summary:after{content:none}.class-course-readonly-details>summary>span:first-child{align-items:center;gap:7px;display:inline-flex}.course-catalog-details{background:#dfe5e1;border-block:1px solid #dfe5e1;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:100%;min-width:0;margin:0;display:grid}.course-catalog-detail{background:#f3f6f4;min-width:0;padding:11px 14px 12px}.course-catalog-detail.is-narrative{background:#f8faf8;grid-column:1/-1;padding:14px 2px 15px}.course-catalog-detail dd,.course-catalog-detail dt{margin:0}.course-catalog-detail dt{color:#758079;font-size:11px;font-weight:750}.course-catalog-detail dd{color:#34413b;overflow-wrap:anywhere;white-space:pre-wrap;margin-top:4px;font-size:13px;line-height:1.65}.course-catalog-detail.is-narrative dd{max-width:96ch;margin-top:5px}.course-record-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;display:grid}.course-record-details>div{background:var(--white);border:1px solid #e8ece9;border-radius:6px;min-width:0;padding:10px 11px}.course-record-details dd,.course-record-details dt{margin:0}.course-record-details dt{color:var(--muted);font-size:10px;font-weight:700}.course-record-details dd{color:#435049;white-space:pre-wrap;margin-top:4px;font-size:11px;line-height:1.6}.class-schedule-empty{color:#9aa49f;text-align:center;background:#f8faf8;border:1px dashed #dce2de;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:148px;padding:24px;display:flex}.class-schedule-empty span,.class-schedule-empty strong{display:block}.class-schedule-empty strong{color:#5f6b65;margin-top:9px;font-size:13px}.class-schedule-empty span{max-width:310px;color:var(--muted);margin-top:4px;font-size:11px;line-height:1.55}@media (max-width:980px){.class-student-options,.course-catalog-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.class-operations-panel>.class-operations-header{min-height:0;padding:14px}.class-operations-panel>.class-closed-notice,.class-operations-panel>.form-error,.class-operations-panel>.form-success{margin-left:14px;margin-right:14px}.class-operations-sections{padding:10px 14px 14px}.class-operations-section{padding-top:2px}.class-courses-section{margin-top:14px;padding-top:14px}.class-adviser-bar{align-items:stretch;padding:8px 14px}.class-calendar-settings{flex-direction:column;align-items:stretch;padding:10px 14px}.class-calendar-settings .action-button,.class-calendar-settings input,.class-calendar-settings select,.class-calendar-settings-copy,.class-calendar-settings>label{width:100%;min-width:0}.class-calendar-settings-copy{flex:none}.class-adviser-form{flex-wrap:wrap;flex:1 0 100%;justify-content:flex-start}.class-adviser-form>label{flex:1 0 100%}.class-adviser-form select{flex:180px;min-width:0}.class-operations-section-header{flex-direction:column;align-items:flex-start}.class-course-add-form{grid-template-columns:1fr}.class-course-add-form .action-button{width:100%}.class-course-card>header{flex-direction:column;align-items:flex-start}.class-course-actions,.class-course-actions .action-button{width:100%}.class-course-teacher-editor{flex-direction:column;align-items:stretch}.class-enrollment-form{grid-template-columns:1fr}.class-enrollment-form .action-button{width:100%}.class-enrollment-candidate-list>[role=option]{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:2px}.class-enrollment-candidate-state{text-align:left}.class-initial-students-heading{flex-direction:column;gap:6px}.class-student-options,.course-record-details{grid-template-columns:1fr}.course-catalog-details{grid-template-columns:minmax(0,1fr)}}@keyframes pulse{50%{opacity:.5}}.learn-hero{border-radius:var(--radius-large);min-height:220px;color:var(--white);background:linear-gradient(105deg,#3c0d0dfa,#561515c7),url(/images/study-library.webp) 50% 42%/cover;grid-template-columns:1fr auto;align-items:end;padding:36px;display:grid}.learn-hero h2{font-family:var(--font-serif);overflow-wrap:anywhere;margin:0;font-size:38px;line-height:1.25}.learn-hero>div{min-width:0}.learn-hero p{color:#ffffffb8;max-width:600px;margin:8px 0 0;font-size:13px}.learn-date{color:#efd0c9;align-self:start;font-family:monospace;font-size:11px}.dashboard-grid{grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px;display:grid}.class-operations-header{align-items:flex-start}.class-lifecycle-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.class-closed-notice{color:#775a3d;background:#fbf5ec;border:1px solid #eadfd2;border-radius:5px;margin:0 0 16px;padding:11px 13px;font-size:12px;line-height:1.6}.class-schedule-summary{border:1px solid #e1e6e3;border-left:3px solid var(--brand);background:#fbfcfb;border-radius:6px;gap:8px;min-width:0;padding:13px 14px;display:grid}.class-schedule-summary[data-status=ended]{background:#f6f7f6;border-left-color:#a4ada8}.class-schedule-facts span,.class-schedule-primary-time,.class-schedule-summary-heading{align-items:center;min-width:0;display:flex}.class-schedule-summary-heading{justify-content:space-between;gap:10px}.class-schedule-summary-heading>strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.class-schedule-summary-heading>span{color:#356653;flex:none;font-size:10px;font-weight:750}.class-schedule-summary[data-status=ended] .class-schedule-summary-heading>span{color:#7c8580}.class-schedule-primary-time{color:var(--brand);gap:7px}.class-schedule-primary-time strong{font-size:15px}.class-schedule-primary-time small{color:#7b8580;font-size:11px}.class-schedule-facts{color:#69746f;gap:3px;font-size:11px;line-height:1.5;display:grid}.class-schedule-facts span{overflow-wrap:anywhere;gap:5px}.class-schedule-summary>p{color:#77817c;overflow-wrap:anywhere;border-top:1px dashed #e0e5e2;margin:0;padding-top:7px;font-size:11px;line-height:1.55}.dashboard-grid>section:not(.panel) .quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:125px;box-shadow:var(--shadow-soft);flex-direction:column;align-items:flex-start;padding:18px;transition:border-color .16s,transform .16s;display:flex}.quick-link:hover{border-color:#dbb5af;transform:translateY(-2px)}.quick-link svg{color:var(--red)}.quick-link strong{margin-top:auto;font-size:13px}.quick-link span{color:var(--muted);font-size:11px}.exam-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.exam-card{border-radius:var(--radius);background:var(--white);cursor:pointer;border:1px solid #e0e4e1;flex-direction:column;min-height:158px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.exam-card:hover{border-color:#99aba3;transform:translateY(-3px);box-shadow:0 10px 28px #20322a14}.exam-card.is-selected{background:#fbfdfc;border-color:#8dac9f;box-shadow:inset 0 0 0 1px #d7e5df}.exam-card:has(.exam-card-hit-area:focus-visible){border-color:var(--red);outline-offset:2px;outline:3px solid #b9383a24}.exam-card-hit-area{z-index:1;border-radius:inherit;position:absolute;inset:0}.exam-card-content{z-index:2;pointer-events:none;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.exam-card h3{overflow-wrap:anywhere;margin:0;font-family:Songti SC,serif;font-size:17px;line-height:1.45}.exam-card-context{color:#75817b;flex-wrap:wrap;gap:5px;margin-bottom:9px;font-size:10px;display:flex}.exam-card-context span{background:#f1f4f2;border-radius:999px;padding:3px 6px;display:inline-flex}.exam-card-open-indicator{color:#7a8580;align-items:center;gap:5px;margin-top:13px;font-size:12px;display:inline-flex}.exam-card footer{z-index:3;color:var(--red);pointer-events:none;justify-content:flex-end;align-items:center;margin-top:auto;padding-top:15px;font-size:12px;font-weight:700;display:flex;position:relative}.past-exam-browser{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px;display:grid}.exam-school-directory{border-radius:var(--radius);background:var(--white);border:1px solid #dce2dd;max-height:calc(100vh - 108px);position:sticky;top:88px;overflow:hidden}.exam-directory-switch{background:#f8faf8;border-bottom:1px solid #e4e8e4;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px;display:grid}.exam-directory-switch button{color:#68756f;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:7px 8px;font-size:11px;font-weight:750;display:inline-flex}.exam-directory-switch button:hover{color:#7e2a24;background:#f5ece9}.exam-directory-switch button.is-active{color:#8f3028;background:var(--white);border-color:#ded4cf;box-shadow:0 3px 10px #28302c0d}.exam-school-directory-heading{color:var(--ink-soft);border-bottom:1px solid #e4e8e4;align-items:center;gap:11px;padding:18px;display:flex}.exam-school-directory-heading>div,.school-directory-list button span{flex-direction:column;min-width:0;display:flex}.exam-school-directory-heading strong{font-size:13px}.exam-school-directory-heading span,.school-directory-list small{color:#7a8580;font-size:11px}.school-directory-list{flex-direction:column;gap:3px;max-height:calc(100vh - 235px);padding:7px;display:flex;overflow-y:auto}.school-directory-list button{color:#3d4944;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:53px;padding:9px 10px;display:flex}.school-directory-list button.is-active,.school-directory-list button:hover{color:#912f27;background:#f5ece9}.school-directory-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.directory-inline-error{color:#8d2f27;background:#fae9e7;border-radius:6px;gap:8px;margin:8px;padding:10px;font-size:11px;display:grid}.directory-inline-error span{overflow-wrap:anywhere}.directory-inline-error button{width:fit-content;color:inherit;background:0 0;border:0;padding:0;font-weight:750}.knowledge-subject-list button{min-height:58px}.knowledge-subject-list button>span{min-width:0}.knowledge-subject-list button strong{line-height:1.2;display:block}.knowledge-index-toolbar{border-radius:var(--radius);background:var(--white);border:1px solid #dfe4e0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px;display:flex}.knowledge-index-search{color:#79857f;background:#fafcfb;border:1px solid #d5dcd7;border-radius:7px;align-items:center;gap:9px;width:min(430px,100%);min-height:42px;padding:0 13px;display:flex}.knowledge-index-search:focus-within{border-color:#a9847d;box-shadow:0 0 0 3px #912f2714}.knowledge-index-search input{color:#33413b;background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:40px;padding:0;font-size:12px}.knowledge-index-summary{color:#74807a;white-space:nowrap;align-items:center;gap:14px;font-size:11px;display:flex}.knowledge-index-summary span{align-items:baseline;gap:3px;display:inline-flex}.knowledge-index-summary strong{color:#35423c;font-size:14px}.knowledge-group-stack{flex-direction:column;gap:12px;display:flex}.knowledge-group{border-radius:var(--radius);background:var(--white);border:1px solid #dfe4e0;overflow:hidden}.knowledge-group-heading{color:#303e38;text-align:left;background:#fafbf9;border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:68px;display:flex}.knowledge-group-toggle{min-width:0;min-height:67px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:14px 0 14px 17px;display:flex}.knowledge-group-heading:has(.knowledge-group-action:hover),.knowledge-group-toggle:hover{color:#8f3028;background:#fbf5f3}.knowledge-group-toggle>svg{flex:none}.knowledge-group-toggle>span{flex-direction:column;gap:3px;min-width:0;display:flex}.knowledge-group-heading strong{font-family:Songti SC,serif;font-size:16px}.knowledge-group-action,.knowledge-group-empty,.knowledge-group-heading small{color:#7b8781;font-size:11px}.knowledge-group-action{white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;min-height:36px;margin-right:12px;padding:8px;font-weight:700;display:inline-flex}.knowledge-group-action:hover{color:#8f3028;background:#f5e8e5}.knowledge-topic-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:15px 17px 17px;display:grid}.knowledge-topic{color:#4d5a54;text-align:left;cursor:pointer;background:#fff;border:1px solid #dde3df;border-radius:999px;justify-content:space-between;align-items:center;gap:7px;width:100%;min-width:0;min-height:31px;padding:5px 9px;font-size:11px;display:flex}.knowledge-topic>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.knowledge-topic:hover{color:#8f3028;background:#fff8f6;border-color:#c7a49d}.knowledge-topic small{color:#77837d;background:#f0f3f1;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:10px;display:inline-flex}.knowledge-group-empty{margin:0;padding:14px 17px 17px}.exam-catalog-content{min-width:0}.exam-catalog-heading{border-radius:var(--radius);background:var(--white);border:1px solid #dfe4e0;justify-content:space-between;align-items:center;gap:20px;min-height:108px;margin-bottom:16px;padding:20px;display:flex}.exam-catalog-heading h3{margin:3px 0 2px;font-family:Songti SC,serif;font-size:25px}.exam-catalog-heading>div>span{color:#74807a;font-size:12px}.exam-directory-breadcrumb{color:#7a8580;align-items:center;gap:5px;min-height:34px;margin-bottom:10px;font-size:12px;display:flex}.exam-directory-breadcrumb button{color:#58645e;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 7px}.exam-directory-breadcrumb button:hover{color:var(--red);background:#f5ece9}.directory-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.directory-card{border-radius:var(--radius);color:#33413b;background:var(--white);text-align:left;cursor:pointer;border:1px solid #dfe4e0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-height:126px;padding:20px;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.directory-card:hover{border-color:#9caea5;transform:translateY(-2px);box-shadow:0 10px 26px #1b27220f}.directory-card>svg:first-child{color:var(--red)}.directory-card span{flex-direction:column;min-width:0;display:flex}.directory-card small{color:#8a948f;letter-spacing:.08em;font-size:12px;font-weight:750}.directory-card strong{margin:5px 0;font-family:Songti SC,serif;font-size:17px;line-height:1.4}.directory-card em{color:#727d77;font-size:12px;font-style:normal}.year-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.year-card{min-height:116px}.directory-exam-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-exam-card{min-height:122px;padding:14px}.directory-exam-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.4;display:-webkit-box;overflow:hidden}.directory-exam-card .exam-card-open-indicator{white-space:nowrap;margin-top:0}.directory-exam-card footer{justify-content:space-between;gap:8px;padding-top:10px}.directory-exam-card .exam-card-collection-toggle{gap:4px;min-height:28px;padding:4px 8px;font-size:11px}.exam-pagination{justify-content:center;align-items:center;gap:15px;margin-top:20px;display:flex}.exam-pagination span{color:#69746e;font-size:12px}.markdown-paper{border-radius:var(--radius);background:var(--white);border:1px solid #e2e4df;min-width:0;padding:clamp(23px,5vw,58px);box-shadow:0 18px 60px #1a26210e}.markdown-body{color:#222b27;font-family:Noto Serif SC,Songti SC,serif;font-size:15px;line-height:1.9}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:#16201c;font-family:var(--font-sans);letter-spacing:-.015em;overflow-wrap:anywhere;text-wrap:balance;margin:2em 0 .75em;scroll-margin-top:140px;font-weight:750;line-height:1.4}.markdown-body h1{border-bottom:1px solid #d8dfda;margin-top:0;margin-bottom:1.25em;padding-bottom:.65em;font-size:clamp(26px,3.2vw,32px);font-weight:800;position:relative}.markdown-body h1:after{background:var(--red);content:"";border-radius:999px;width:56px;height:3px;position:absolute;bottom:-2px;left:0}.markdown-body h2{border-left:4px solid var(--red);padding:.08em 0 .08em 14px;font-size:clamp(21px,2.4vw,24px);font-weight:800}.markdown-body h3{padding-left:14px;font-size:clamp(18px,2vw,20px);position:relative}.markdown-body h3:before{background:var(--gold);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.58em;left:0}.markdown-body h4{color:#34443d;border-bottom:1px dashed #dfe4e0;padding-bottom:.35em;font-size:16px}.markdown-body h5{color:#45534d;font-size:15px}.markdown-body h6{color:#64716b;letter-spacing:.02em;font-size:14px}.markdown-body>:is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.markdown-body img{max-width:100%;height:auto}.markdown-body pre:not(.shiki){color:#e8eee9;background:#2c2020;padding:18px;overflow-x:auto}.markdown-body .shiki{border-radius:3px;padding:18px;font-size:12px;overflow-x:auto}.markdown-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.markdown-body td,.markdown-body th{border:1px solid #d9dedb;padding:8px 11px}.markdown-body a{color:var(--red);text-underline-offset:3px;text-decoration:underline}.markdown-body .katex-display{padding:9px 0;overflow:auto hidden}.siqi-mermaid-source{color:#69756f;white-space:pre;background:#f7f9f7;border:1px dashed #bdc8c2;min-height:120px;padding:18px;font-family:monospace;font-size:12px;overflow-x:auto}.study-document-header{border-radius:var(--radius);background:var(--white);border:1px solid #dfe4e0;margin-bottom:14px;padding:20px 22px}.study-document-utility{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.study-document-back{color:#59665f;align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.study-document-back:hover{color:var(--red)}.study-document-kicker{color:#78837d;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:7px;font-size:12px;font-weight:700;display:flex}.study-document-title{width:100%;max-width:100%;font-family:Songti SC,Noto Serif SC,serif;font-size:var(--study-title-size,28px);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.32;overflow:hidden}.study-document-meta{margin-top:13px}.study-document-topics{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;min-width:0;display:grid}.study-topic-chip-list{flex-wrap:wrap;align-items:flex-start;gap:6px;min-width:0;display:flex}.study-topic-chip-list span{color:#3f5149;overflow-wrap:anywhere;white-space:normal;background:#f4f7f5;border:1px solid #dce2dd;border-radius:999px;align-items:center;max-width:100%;min-height:27px;padding:4px 9px;font-size:12px;line-height:1.35;display:inline-flex}.study-document-topics>strong{color:#66746d;letter-spacing:.08em;padding-top:5px;font-size:12px}.study-document-attribution{color:#737e78;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:12px;font-size:11px;display:flex}.study-document-author,.study-document-source{align-items:center;gap:5px;min-width:0;display:inline-flex}.study-document-attribution>*+*{border-left:1px solid #d9dfda;padding-left:10px}.study-document-source{color:#6b7771;font-weight:650}.study-document-source strong{color:var(--brand)}.study-document-source:hover{color:var(--red)}.study-document-author .markdown-body,.study-document-author .markdown-body p{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;display:inline}.study-notes-stack{gap:10px;display:grid}.study-document-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.study-document-actions .action-button{min-height:32px;padding:0 10px;font-size:11px}.study-tabs{z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f9f7ed;border:1px solid #d9dfda;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:16px;padding:5px;display:grid;position:sticky;top:70px;box-shadow:0 7px 24px #19241f12}.study-tabs button{color:#67736d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:43px;font-size:11px;font-weight:700;display:flex}.study-tabs button:hover{color:var(--red);background:#f5ece9}.study-tabs button.is-active{color:var(--red);background:var(--white);border-color:#ddcec9;box-shadow:0 2px 8px #23292612}.study-workspace-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.study-document-paper{min-height:440px;scroll-margin-top:135px}.study-document-paper.is-notes-mode{min-height:0;padding:clamp(12px,1.5vw,18px)}.study-document-paper [data-siqi-block]{scroll-margin-top:135px;position:relative}.study-document-paper [data-has-annotation=true]:after{content:"";background:#d59a32;border-radius:4px;width:4px;height:calc(100% - .5em);min-height:13px;position:absolute;top:.25em;right:-18px}.study-document-paper [data-active-annotation=true]:after{background:var(--red);width:6px}.study-right-rail{flex-direction:column;gap:10px;max-height:calc(100vh - 155px);display:flex;position:sticky;top:135px;overflow:hidden auto}.study-rail-panel{border-radius:var(--radius);background:var(--white);border:1px solid #dce2dd;overflow:hidden}.study-rail-panel>header{color:#52605a;border-bottom:1px solid #e5e9e5;align-items:center;gap:7px;min-height:43px;padding:10px 12px;font-size:12px;display:flex}.study-rail-panel>header strong{flex:1}.study-rail-panel>header span{color:#777f7b;background:#f0f2f0;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:12px;display:grid}.study-toc{flex-direction:column;gap:2px;max-height:235px;padding:7px;display:flex;overflow-y:auto}.study-toc button{color:#5e6964;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:7px 9px;font-size:11px;line-height:1.4;overflow:hidden}.study-toc button:hover{color:var(--red);background:#f6efed}.study-rail-empty{color:#8a948f;text-align:center;margin:0;padding:15px;font-size:11px;line-height:1.6}.annotation-search{color:#89928e;border:1px solid #dfe4e0;border-radius:5px;align-items:center;gap:6px;margin:8px;padding:7px 9px;display:flex}.annotation-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:11px}.annotation-list{max-height:430px;padding:7px;overflow-y:auto}.annotation-card{border:1px solid #0000;border-radius:5px}.annotation-card+.annotation-card{margin-top:5px}.annotation-card.is-active{background:#fbf5f3;border-color:#dfccc7}.annotation-card-jump{color:#4e5a54;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:9px;display:flex}.annotation-card-jump:hover{background:#f5f7f5}.annotation-card-jump span{color:var(--red);font-size:12px;font-weight:800}.annotation-card-jump strong{font-size:12px}.annotation-card-jump small{color:#7a8580;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.annotation-stale{color:#8a601d;background:#fff6df;border-radius:4px;margin:0 8px 8px;padding:7px;font-size:12px;line-height:1.45}.annotation-stale button{color:#865817;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;margin-top:5px;padding:0;font-size:12px;font-weight:700;display:flex}.annotation-card-detail{padding:0 9px 9px}.annotation-card-detail p{color:#626e68;white-space:pre-wrap;margin:0 0 8px;font-size:11px;line-height:1.55}.annotation-card-detail input,.annotation-card-detail textarea{background:var(--white);resize:vertical;border:1px solid #d9dfda;border-radius:4px;outline:0;width:100%;margin-bottom:6px;padding:7px;font-size:11px}.annotation-card-detail>div{gap:5px;display:flex}.annotation-card-detail button,.annotation-composer>div:last-child button{color:#59655f;background:var(--white);cursor:pointer;border:1px solid #d7ddd8;border-radius:4px;align-items:center;gap:4px;padding:5px 7px;font-size:12px;display:inline-flex}.annotation-card-detail .danger-text{color:#a83c34}.annotation-composer,.annotation-selection-action{z-index:100;position:fixed}.annotation-selection-action>button{color:#633e15;cursor:pointer;background:#fff7e8;border:1px solid #d7b37b;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:12px;font-weight:700;display:flex;box-shadow:0 9px 26px #241f172e}.annotation-composer{background:var(--white);border:1px solid #d9c6bc;border-radius:8px;width:330px;padding:12px;box-shadow:0 16px 45px #1a1f1c38}.annotation-composer-quote{color:#68736d;background:#faf7ef;border-left:3px solid #d7a13e;max-height:70px;margin-bottom:9px;padding:8px;font-size:11px;line-height:1.5;overflow-y:auto}.annotation-composer textarea{resize:vertical;border:1px solid #d8ded9;border-radius:5px;outline:0;width:100%;padding:8px;font-size:12px}.annotation-composer>div:last-child{justify-content:flex-end;gap:5px;margin-top:8px;display:flex}.annotation-composer>div:last-child button:last-child{border-color:var(--red);color:var(--white);background:var(--red)}.annotation-undo{z-index:110;color:#f3f6f4;background:#2c2020;border-radius:7px;gap:14px;min-height:43px;padding:0 13px;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 35px #141a1733}.annotation-undo,.annotation-undo button{align-items:center;font-size:11px;display:flex}.annotation-undo button{color:#f4b66d;cursor:pointer;background:0 0;border:0;gap:4px;padding:0}.note-editor{border:1px solid #dce2dd;border-radius:7px;overflow:hidden}.note-editor>header{background:#f8faf8;border-bottom:1px solid #dfe4e0;justify-content:space-between;align-items:center;gap:14px;padding:15px 17px;display:flex}.note-editor>header>div:first-child{align-items:center;gap:10px;display:flex}.note-editor h3{margin:0;font-family:Songti SC,serif;font-size:16px}.note-editor header p{color:#7d8782;margin:2px 0 0;font-size:11px}.note-mode-switch{background:var(--white);border:1px solid #dce2dd;border-radius:5px;padding:3px;display:flex}.note-mode-switch button{color:#748079;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:4px;min-height:30px;padding:0 9px;font-size:11px;display:flex}.note-mode-switch button.is-active{color:var(--red);background:#f4eae7}.note-toolbar{background:#fbfcfb;border-bottom:1px solid #e1e5e2;flex-wrap:wrap;gap:4px;padding:7px 9px;display:flex}.note-toolbar button{color:#58645e;background:var(--white);cursor:pointer;border:1px solid #dfe4e0;border-radius:4px;place-items:center;width:29px;height:29px;font-size:11px;display:grid}.note-toolbar button:disabled{opacity:.4;cursor:not-allowed}.note-textarea{color:#29342f;background:var(--white);resize:vertical;border:0;outline:0;width:100%;min-height:430px;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.75}.note-editor>.markdown-body{min-height:430px;padding:20px}.note-editor>footer{color:#87918c;background:#fafbfa;border-top:1px solid #e0e5e1;justify-content:space-between;align-items:center;gap:10px;min-height:35px;padding:7px 12px;font-size:12px;display:flex}.past-exam-editor-heading{align-items:flex-end}.past-exam-editor-heading .study-document-back{margin-bottom:10px}.editor-permission-notice{color:#6d5428;background:#fff9ed;border:1px solid #ead9bc;border-radius:5px;margin-bottom:14px;padding:10px 13px;font-size:12px}.past-exam-metadata-panel{margin-bottom:18px}.past-exam-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.past-exam-markdown-editor{background:var(--white);border:1px solid #dce2dd;border-radius:7px;overflow:hidden;box-shadow:0 10px 35px #14231c0b}.past-exam-markdown-editor>header{background:#f8faf8;border-bottom:1px solid #dfe4e0;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:13px 16px;display:flex}.past-exam-markdown-editor>header span,.past-exam-markdown-editor>header strong{display:block}.past-exam-markdown-editor>header strong{color:#2e3b35;font-size:12px}.past-exam-markdown-editor>header span{color:#7d8782;margin-top:3px;font-size:11px}.past-exam-source-textarea{color:#28342e;background:var(--white);tab-size:2;resize:vertical;border:0;outline:0;width:100%;min-height:620px;padding:20px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.75;display:block}.past-exam-source-textarea:focus{box-shadow:inset 0 0 0 2px #2f615359}.past-exam-preview{background:var(--white);min-height:620px;padding:26px}.past-exam-markdown-editor>footer{color:#87918c;background:#fafbfa;border-top:1px solid #e0e5e1;justify-content:space-between;align-items:center;gap:10px;min-height:37px;padding:8px 12px;font-size:12px;display:flex}.past-exam-markdown-editor>.form-error{margin:10px 12px 12px}.editor-diagnostics{color:#725d30;background:#fffaf0;border-top:1px solid #eee3c8;padding:9px 12px;font-size:11px}.editor-diagnostics p{margin:3px 0}.editor-diagnostics p.is-error{color:#a52f28}.notebook-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.notebook-card{border-radius:var(--radius);color:#34413b;background:var(--white);border:1px solid #dfe4e0;flex-direction:column;min-height:220px;padding:20px;transition:border-color .15s,transform .15s;display:flex}.notebook-card:hover{border-color:#9faea7;transform:translateY(-2px)}.notebook-card-heading{align-items:flex-start;gap:10px;display:flex}.notebook-card-heading>svg{color:var(--red);flex:none}.notebook-card-heading span{flex-direction:column;min-width:0;display:flex}.notebook-card-heading small{color:#818b86;font-size:12px}.notebook-card-heading strong{margin-top:5px;font-family:Songti SC,serif;font-size:16px;line-height:1.45}.notebook-card>p{color:#68736e;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:17px 0;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.notebook-card footer{color:var(--red);border-top:1px solid #e7eae8;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font-size:11px;display:flex}.notebook-card footer span{align-items:center;gap:5px;display:flex}@media (max-width:700px){.study-document-title{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(19px,6vw,25px);line-height:1.35;display:-webkit-box;overflow:hidden}.study-document-attribution{flex-direction:column;align-items:flex-start;gap:5px}.study-document-attribution>*+*{border-top:1px solid #e0e4e1;border-left:0;padding-top:5px;padding-left:0}.study-document-paper.is-notes-mode{padding:9px}}.login-page{background:var(--paper-bright);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{isolation:isolate;color:var(--white);background:linear-gradient(120deg,#340808f0,#561515b8),url(/images/classroom-study.webp) 50%/cover;flex-direction:column;justify-content:space-between;padding:clamp(40px,7vw,90px);display:flex;position:relative;overflow:hidden}.login-story:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid #ffffff1f;border-radius:50%;width:70%;position:absolute;bottom:-34%;right:-15%}.login-story .brand{color:var(--white)}.login-story-copy h1{max-width:620px;font-family:var(--font-serif);margin:0;font-size:clamp(38px,4.3vw,58px);font-weight:500;line-height:1.2}.login-story-copy p{color:#ffffffb8;max-width:530px}.login-story>small{color:#ffffff80}.login-form-side{background:radial-gradient(circle at 100% 0,#b9383a12,transparent 30%),var(--paper-bright);place-items:center;padding:40px;display:grid}.login-card{border:1px solid var(--line);border-radius:var(--radius-large);background:var(--white);width:min(430px,100%);box-shadow:var(--shadow);padding:42px}.login-card h2{font-family:var(--font-serif);margin:0;font-size:29px}.login-card>p{color:#74807a;margin:7px 0 28px;font-size:13px}.login-card .field{margin-top:14px}.login-card .action-button{width:100%;min-height:46px;margin-top:22px}.form-error,.form-success{color:#8d2f27;background:#fae9e7;margin-top:14px;padding:10px 12px;font-size:11px}.form-success{color:#2e5a4b;background:#e5f0eb}.content-detail{border-left:3px solid var(--red);background:var(--paper);max-width:900px;margin-top:30px;padding:24px}.content-detail h3{margin:0 0 12px;font-family:Songti SC,Noto Serif SC,serif;font-size:22px}.content-detail p{margin:8px 0}.content-note{background:#f4edd9;border:1px solid #d8c99d;margin-top:24px;padding:18px 20px;max-width:900px!important;color:var(--ink)!important}.content-link{color:var(--red);align-items:center;gap:7px;margin-top:26px;font-size:13px;font-weight:700;display:inline-flex}.official-table-wrap{max-width:100%;margin-top:25px;overflow-x:auto}.official-table{border-collapse:collapse;background:var(--paper-bright);width:100%;min-width:760px;font-size:12px}.contact-page{gap:22px;display:grid}.contact-card-grid,.contact-location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.contact-card,.contact-map-card,.contact-route-card{border:1px solid var(--line);border-radius:var(--radius-large);background:var(--paper-bright);min-width:0;box-shadow:var(--shadow-soft);padding:clamp(24px,3vw,36px)}.contact-card-heading{align-items:center;gap:13px;display:flex}.contact-card-heading .eyebrow,.contact-location-heading .eyebrow{margin:0 0 4px}.contact-card-heading h2,.contact-location-heading h2{margin:0;font-family:Songti SC,Noto Serif SC,serif;font-size:28px;font-weight:600}.contact-icon{width:46px;height:46px;color:var(--paper-bright);background:var(--brand);border-radius:50%;place-items:center;display:inline-grid}.contact-card>p{max-width:530px;color:var(--muted);margin:20px 0 0;font-size:13px}.contact-wechat-id{color:var(--paper-bright);background:var(--brand);border-radius:10px;justify-content:space-between;align-items:center;margin:24px 0 16px;padding:13px 16px;display:flex}.contact-wechat-id span{opacity:.75;font-size:12px}.contact-wechat-id strong{letter-spacing:.04em;font-size:17px}.contact-wechat-qr{border:1px solid var(--line);border-radius:12px;width:100%;height:auto;display:block}.contact-method-list{gap:10px;margin-top:25px;display:grid}.contact-method-list>a,.contact-method-list>div{border:1px solid var(--line);min-height:68px;color:inherit;background:var(--paper);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 15px;display:grid}.contact-method-list>a{transition:border-color .15s,transform .15s}.contact-method-list>a:hover{border-color:var(--red);transform:translateY(-1px)}.contact-method-list>a>svg:first-child,.contact-method-list>div>svg:first-child{color:var(--red)}.contact-method-list span{gap:3px;min-width:0;display:grid}.contact-method-list small{color:var(--muted);font-size:11px}.contact-method-list strong{overflow-wrap:anywhere;font-size:13px}.contact-location-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:stretch}.contact-map-card{padding:0;overflow:hidden}.contact-location-heading{justify-content:space-between;align-items:flex-end;gap:18px;padding:26px 28px;display:flex}.contact-location-heading>a{border:1px solid var(--line);color:var(--brand);border-radius:999px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:700;display:inline-flex}.contact-location-heading>a:hover{border-color:var(--brand)}.contact-map-frame{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--brand-soft);min-height:390px;position:relative}.contact-map-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.contact-address{align-items:flex-start;gap:12px;padding:22px 28px 25px;display:flex}.contact-address>svg{color:var(--red);flex:none;margin-top:2px}.contact-address strong{font-size:13px}.contact-address p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.7}.contact-route-card{flex-direction:column;display:flex}.contact-route-intro{color:var(--muted);margin:20px 0 0;font-size:13px}.contact-route-card ol{gap:0;margin:20px 0 0;padding:0;list-style:none;display:grid}.contact-route-card li{border-top:1px solid var(--line);grid-template-columns:34px 1fr;gap:10px;padding:18px 0;display:grid}.contact-route-card li>span{color:var(--red);padding-top:2px;font-family:monospace;font-size:12px}.contact-route-card li strong{font-size:14px}.contact-route-card li p{color:var(--ink-soft);margin:5px 0 3px;font-size:12px;line-height:1.65}.contact-route-card li small,.contact-route-note{color:var(--muted);font-size:11px}.contact-route-note{border-top:1px solid var(--line);margin:auto 0 0;padding-top:18px;line-height:1.6}.official-table td,.official-table th{border:1px solid var(--line);text-align:left;vertical-align:top;padding:15px}.official-table thead th{color:var(--white);background:var(--brand)}.official-table tbody th{background:var(--paper);min-width:95px}.official-consultation{justify-content:space-between;align-items:flex-end;gap:40px;padding-top:45px;display:flex}.official-consultation h2{font-size:38px}.official-consultation>div>p:not(.eyebrow){color:#5f6965}.consultation-methods{gap:12px;margin-top:24px;display:flex}.consultation-methods span{border-radius:var(--radius);background:var(--brand-soft);border:1px solid #e7ceca;min-width:175px;padding:14px 16px;font-size:12px;display:grid}.consultation-methods strong{margin-bottom:3px}.official-home-hero{isolation:isolate;min-height:670px;color:var(--white);background:linear-gradient(95deg,#340808f7,#561515e6 44%,#38121180),url(/images/school-reception.webp) 50% 52%/cover;grid-template-columns:.8fr 1.2fr;align-items:end;gap:75px;padding:110px max(20px,50vw - 600px);display:grid;position:relative;overflow:hidden}.official-home-hero:after{z-index:-1;opacity:.2;content:"";pointer-events:none;background-image:linear-gradient(#ffffff1a 1px,#0000 0);background-size:100% 10px;position:absolute;inset:0}.official-home-title h1{max-width:500px;font-family:var(--font-serif);margin:10px 0 0;font-size:clamp(58px,8vw,106px);font-weight:500;line-height:1}.official-home-title>span{color:#ffffffb3;letter-spacing:.18em;margin-top:22px;font-size:13px;font-weight:650;display:block}.official-home-copy{max-width:680px}.official-home-copy blockquote{color:#f0c1b7;margin:0 0 30px;font-family:Songti SC,Noto Serif SC,serif;font-size:clamp(24px,3vw,38px);font-weight:700;line-height:1.5}.official-home-copy p{color:#ffffffc2;font-size:15px;font-weight:600}.official-about{padding-bottom:90px}.official-facts{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.official-facts>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:150px;padding:27px;display:flex}.official-facts strong{color:var(--red);font-family:Songti SC,Noto Serif SC,serif;font-size:28px}.official-facts span{color:#5f6965;margin-top:7px;font-size:12px}.official-about-copy{grid-template-columns:1fr 1fr;gap:35px;margin-top:38px;display:grid}.official-about-copy p{color:#5f6965;margin:0}.official-campus-grid{grid-template-columns:1.35fr 1fr 1fr;gap:12px;margin-top:42px;display:grid}.official-campus-grid figure{border-radius:var(--radius-large);background:var(--paper);min-height:240px;margin:0;position:relative;overflow:hidden}.official-campus-grid img{object-fit:cover;width:100%;height:100%;display:block}.official-campus-grid figcaption{color:var(--white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3c0d0dbd;border:1px solid #fff3;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:650;position:absolute;bottom:12px;left:12px;right:12px}.official-teaching{color:var(--white);background:var(--red-dark)}.official-teaching .section{grid-template-columns:.7fr 1.3fr;gap:45px;display:grid}.official-teaching h2{grid-column:1}.official-teaching-copy{grid-area:1/2/span 2}.official-teaching-copy p{color:#f2dad4;margin:0 0 24px;font-size:clamp(23px,3vw,36px);line-height:1.55}.official-teaching-copy p,.official-total{font-family:Songti SC,Noto Serif SC,serif;font-weight:700}.official-total{color:var(--red)!important;font-size:24px!important}.achievement-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.achievement-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px;display:flex}.achievement-grid strong{color:var(--red);font-family:Songti SC,Noto Serif SC,serif;font-size:25px}.official-program-grid{grid-template-columns:repeat(4,1fr)}.official-program-grid .program-card{min-height:430px}.official-program-grid .program-card>p{color:var(--muted);letter-spacing:0;margin:16px 0 0;font-size:12px;font-weight:400}.official-news{padding-top:40px}.learn-hero-metrics{gap:9px;margin-top:20px;display:flex}.learn-hero-metrics span{color:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;padding:7px 11px;font-size:11px}.learn-hero-metrics strong{color:var(--white);font-size:13px}.student-calendar-reminder-form{margin-bottom:14px}.calendar-reminder-note{display:block;color:#7b531d!important}.dashboard-resource-list{gap:8px;display:grid}.dashboard-resource-row{background:#fafbf9;border:1px solid #e2e6e3;border-radius:7px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:flex}.dashboard-resource-row>svg{color:var(--red);flex:none}.dashboard-resource-row small,.dashboard-resource-row span,.dashboard-resource-row strong{min-width:0;display:block}.dashboard-resource-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-resource-row small{color:var(--muted);font-size:9px}.teaching-dashboard-metrics{margin-top:18px}.assignment-editor-form,.submission-review-layout{display:grid}.teaching-plan-composer{margin-top:18px}.teaching-plan-form{gap:13px}.teaching-plan-form .form-grid{gap:10px}.teaching-plan-form .field{gap:4px}.teaching-plan-form .field input:not([type=checkbox]),.teaching-plan-form .field select,.teaching-plan-form .field textarea{background:#fbf9f6;border-color:#0000 #0000 #d9d2cc;border-radius:4px 4px 0 0;min-height:39px;padding:7px 9px}.teaching-plan-form .field textarea{min-height:82px}.teaching-plan-form .field input:not([type=checkbox]):focus,.teaching-plan-form .field select:focus,.teaching-plan-form .field textarea:focus{border-color:transparent transparent var(--red);background:var(--white);box-shadow:inset 0 -1px 0 var(--red)}.teaching-plan-submit-row .row-actions{margin-left:auto}.teaching-plan-row-actions{flex-wrap:nowrap;justify-self:end}.assignment-target-field{border:0;gap:8px;min-width:0;margin:2px 0 0;padding:0;display:grid}.assignment-target-field legend{color:var(--ink-soft);padding:0;font-size:12px;font-weight:750}.assignment-target-options{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.assignment-target-option{cursor:pointer;background:#fbfaf8;border:1px solid #e2ddd8;border-radius:7px;align-items:center;gap:9px;min-width:0;min-height:48px;padding:8px 10px;transition:border-color .15s,background-color .15s;display:flex}.assignment-target-option:hover{background:#fff9f7;border-color:#d1b0ab}.assignment-target-option:has(input:checked){background:#fbefec;border-color:#ba8179}.teaching-plan-form .assignment-target-option>input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--brand);box-shadow:none;border:0;flex:0 0 16px;margin:0;padding:0}.assignment-target-option>span{gap:1px;min-width:0;display:grid}.assignment-target-option small,.assignment-target-option strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assignment-target-option strong{font-size:12px}.assignment-target-option small{color:var(--muted);font-size:10px}.schedule-owner-summary{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:3px 14px;padding:13px 15px;display:grid}.schedule-owner-summary small,.schedule-owner-summary span{color:var(--muted)}.schedule-owner-summary small{grid-column:2}.assignment-editor-form .field{align-content:start}.assignment-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.assignment-card{color:inherit;border:1px solid var(--line);background:var(--white);border-radius:14px;gap:12px;padding:18px;transition:transform .15s,border-color .15s;display:grid}.assignment-card:hover{border-color:#b33a2f80;transform:translateY(-2px)}.assignment-card h3,.assignment-card>p{margin:0}.assignment-card>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.assignment-card footer,.assignment-card header{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-card footer,.assignment-card header>span:last-child{color:var(--muted);font-size:.82rem}.assignment-card footer time{align-items:center;gap:5px;display:inline-flex}.assignment-card-schedule{background:#fbf8f5;border:1px solid #ece5df;border-radius:10px;gap:6px;margin:0;padding:9px 11px;display:grid}.assignment-card-schedule>div{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:10px;min-width:0;display:grid}.assignment-card-schedule dd,.assignment-card-schedule dt{margin:0}.assignment-card-schedule dt{color:var(--muted);align-items:center;gap:5px;font-size:.75rem;font-weight:700;display:inline-flex}.assignment-card-schedule dd{min-width:0;color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;font-size:.8rem}.assignment-card-schedule time{overflow-wrap:anywhere}.assignment-record-schedule{font-variant-numeric:tabular-nums;gap:2px;min-width:170px;display:grid}.assignment-record-schedule time{color:var(--ink-soft);white-space:nowrap;font-size:12px;line-height:1.5}.assignment-record-schedule time span{width:30px;color:var(--muted);font-size:11px;font-weight:700;display:inline-block}.assignment-record-schedule small{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.4}.submission-student-list{align-content:start;gap:8px;display:grid}.submission-student-list>button{text-align:left;border:1px solid var(--line);background:var(--white);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.submission-student-list button span:first-child{gap:2px;display:grid}.submission-student-list small{color:var(--muted)}.submission-preview{min-width:0}.submission-image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:14px;display:grid}.submission-image-grid figure{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin:0;overflow:hidden}.submission-image{object-fit:contain;background:#f3f0e9;width:100%;height:220px;display:block}.submission-image-grid figcaption{overflow-wrap:anywhere;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;display:flex}.submission-image-grid figcaption button{color:var(--red);background:0 0;border:0;margin-left:auto}.status-pill.is-warning{color:#8b4d00;background:#fff3d6}.teacher-actions{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.teacher-actions .status-pill button{color:inherit;background:0 0;border:0;margin-left:5px}@media (max-width:900px){.person-detail-layout{grid-template-columns:1fr}.management-disclosure-body .record-detail-grid,.record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.assignment-record-table td.assignment-record-schedule-cell{grid-column:1/-1}.assignment-record-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;min-width:0}.assignment-record-schedule time{white-space:normal}.assignment-record-schedule small{grid-column:1/-1}.submission-image{height:auto;max-height:460px}.form-submit-row,.management-pagination,.panel-header{flex-direction:column;align-items:stretch}.search-control{flex-basis:auto;width:100%}.form-grid.three-columns,.form-grid.two-columns,.management-disclosure-body .record-detail-grid,.record-detail-grid,.student-contact-grid{grid-template-columns:1fr}.student-target-heading{flex-direction:column;align-items:stretch}.student-target-heading .action-button{align-self:flex-start}.student-target-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.student-target-row .field{grid-column:1}.student-target-row .icon-button{grid-area:1/2/span 2}.student-form-actions .action-button{flex:1}.management-disclosure>summary{grid-template-columns:minmax(0,1fr) auto;gap:6px}.management-disclosure>summary:after{grid-area:1/2/span 2}.disclosure-counts{text-align:left;grid-column:1;max-width:none}.record-detail.is-wide{grid-column:auto}.form-submit-row .action-button,.management-pagination .action-button,.management-pagination>div{width:100%}.management-pagination>div>*{flex:1}}.student-milestone-record{gap:18px;display:grid}.student-record-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.student-record-section-heading h3{font-family:var(--font-serif);margin:0;font-size:19px}.student-record-section-heading p{max-width:620px;color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.6}.milestone-entry-form{background:#fafcfb;border-color:#d9e2dc;margin:0}.milestone-entry-form .panel-header{margin-bottom:0}.locked-form-value{background:#f1f5f2;border:1px solid #dbe2dd;border-radius:7px;flex-direction:column;justify-content:center;min-height:42px;padding:7px 11px;display:flex}.locked-form-value strong{color:var(--ink);font-size:13px}.locked-form-value span{color:var(--muted);margin-top:2px;font-size:10px}.milestone-timeline{margin:0;padding:2px 0 2px 15px;list-style:none;display:grid}.milestone-timeline li{border-left:1px solid #d9e1dc;grid-template-columns:110px minmax(0,1fr);gap:4px;min-width:0;padding:0 0 22px 24px;display:grid;position:relative}.milestone-timeline li:last-child{border-left-color:#0000;padding-bottom:0}.milestone-timeline li:before{border:3px solid var(--white);background:var(--red);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:3px;left:-6px;box-shadow:0 0 0 1px #d2dcd6}.milestone-timeline time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.milestone-timeline p{color:var(--ink-soft);overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font-size:13px;line-height:1.65}.milestone-timeline small{color:var(--muted);margin-top:7px;font-size:11px;display:block}.milestone-title-line{align-items:center;gap:8px;display:flex}.milestone-title-line strong{color:var(--ink);font-size:14px}.milestone-title-line span{color:var(--brand);background:var(--brand-soft);border-radius:99px;padding:2px 7px;font-size:10px;font-weight:750}.milestone-timeline.formal-calendar-timeline li{grid-template-columns:184px minmax(0,1fr);column-gap:20px}.formal-calendar-timeline time{overflow-wrap:anywhere;min-width:0;padding-right:8px;line-height:1.55;display:block}.formal-calendar-timeline .milestone-title-line strong,.formal-calendar-timeline li>div{min-width:0}.formal-calendar-timeline .milestone-title-line{flex-wrap:wrap;align-items:flex-start;row-gap:6px}.formal-calendar-timeline .milestone-title-line strong{overflow-wrap:anywhere}.formal-calendar-timeline .milestone-title-line span{white-space:nowrap;flex:none}.milestone-dimensions{font-weight:700;color:var(--brand)!important}.milestone-panel-header{align-items:flex-end}.milestone-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.milestone-filters>input,.milestone-filters>select{border:1px solid var(--line);background:var(--white);border-radius:7px;width:120px;min-height:42px;padding:8px 10px;font-size:12px}.milestone-filters>select{width:170px}.milestone-form{gap:17px;display:grid}.milestone-form-layout{grid-template-columns:minmax(205px,.58fr) minmax(0,1.8fr);align-items:start;gap:18px;display:grid}.milestone-profile-summary{background:#f4f7f5;border:1px solid #dbe2dd;border-radius:9px;gap:12px;min-width:0;padding:14px;display:grid}.milestone-profile-summary-heading{border-bottom:1px solid #dfe5e1;justify-content:space-between;align-items:center;gap:8px;padding-bottom:9px;display:flex}.milestone-profile-summary-heading strong{color:var(--brand);font-family:var(--font-serif);font-size:14px}.milestone-profile-summary-heading span{color:var(--muted);font-size:10px;font-weight:750}.milestone-profile-fact{gap:6px;min-width:0;display:grid}.milestone-field-label,.milestone-profile-fact-label{color:var(--ink-soft);font-size:12px;font-weight:750}.milestone-profile-summary .locked-form-value{background:0 0;border:0;min-width:0;min-height:0;padding:0}.milestone-form-main{gap:14px;min-width:0;display:grid}.milestone-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;min-width:0;display:grid}.milestone-field-pair>.field,.milestone-notes-field{align-self:start;min-width:0}.milestone-field-pair .field-hint{margin:0;line-height:1.5}.milestone-notes-field{width:100%}.milestone-form textarea{min-height:100px}.action-button.danger-text{color:#a43b34}.form-success .action-button{margin-left:14px}.course-outline-editor,.embedded-editor{border:1px solid var(--line);background:#f8faf8;border-radius:9px;margin-top:18px;padding:18px}.embedded-editor{gap:15px;display:grid}.course-lesson-editor{width:100%;min-width:0}.course-lesson-editor .form-grid.two-columns{grid-template-columns:minmax(120px,160px) minmax(0,1fr);align-items:start}.course-lesson-editor .field{min-width:0}.course-lesson-editor>.row-actions{justify-content:flex-end}.course-lesson-list>li>.course-lesson-editor{background:0 0;border:0;border-radius:0;grid-column:1/-1;width:100%;margin-top:0;padding:4px 0 2px}.embedded-editor>.action-button{justify-self:end}.course-outline-editor .panel-header{margin-bottom:12px}.course-outline-editor h4{margin:0;font-size:15px}.course-lesson-list{margin:0;padding:0;list-style:none;display:grid}.course-lesson-list>li{border-top:1px solid var(--line);grid-template-columns:88px minmax(0,1fr) auto;align-items:start;gap:14px;min-width:0;padding:14px 0;display:grid}.course-lesson-number{color:var(--brand);font-size:12px;font-weight:800}.course-lesson-content{min-width:0}.course-lesson-content strong{font-size:14px}.course-lesson-content p{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;margin:5px 0 0;font-size:12px;line-height:1.65}@media (max-width:700px){.student-record-section-heading{flex-direction:column;align-items:stretch}.student-record-section-heading .action-button{width:100%}.milestone-timeline li{grid-template-columns:1fr}.milestone-timeline.formal-calendar-timeline li{grid-template-columns:minmax(0,1fr);row-gap:8px}.formal-calendar-timeline time{padding-right:0}.milestone-filters,.milestone-panel-header{align-items:stretch}.milestone-filters{flex-direction:column;width:100%}.milestone-filters>input,.milestone-filters>select{width:100%}.course-lesson-list>li{grid-template-columns:1fr}.course-lesson-editor .form-grid.two-columns{grid-template-columns:minmax(0,1fr)}.course-lesson-list .row-actions{justify-content:flex-start}}@media (max-width:900px){.milestone-form-layout{grid-template-columns:minmax(0,1fr)}.milestone-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.milestone-profile-summary-heading{grid-column:1/-1}.student-service-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.directory-controls,.directory-filter-control{width:100%}.directory-filter-control{justify-content:space-between}.directory-filter-control select{flex:1}.service-expiry-summary{flex-direction:column;align-items:flex-start}.service-expiry-summary span{text-align:left}.student-service-facts{grid-template-columns:1fr}.milestone-field-pair,.milestone-profile-summary{grid-template-columns:minmax(0,1fr)}}@media (max-width:980px){.public-nav{border-bottom:1px solid var(--line);background:var(--paper-bright);flex-direction:column;align-items:stretch;gap:0;padding:18px 20px 25px;display:none;position:absolute;top:78px;left:0;right:0}.public-nav.is-open{display:flex}.nav-dropdown,.public-nav a{padding:12px}.nav-dropdown>div{width:100%;box-shadow:none;margin-top:8px;position:static}.mobile-menu{display:block}.exam-grid,.footer-grid,.metric-grid,.official-program-grid,.program-grid,.section-heading{grid-template-columns:1fr 1fr}.app-sidebar{width:205px}.app-main{margin-left:205px}.dashboard-grid,.study-workspace-layout{grid-template-columns:1fr}.study-right-rail{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);max-height:none;display:grid;position:static;overflow:visible}.past-exam-browser{grid-template-columns:220px minmax(0,1fr)}.exam-catalog-heading{flex-direction:column;align-items:flex-start}.official-about-copy,.official-home-hero,.official-teaching .section{grid-template-columns:1fr}.official-campus-grid{grid-template-columns:1fr 1fr}.official-campus-grid figure:first-child{grid-column:1/-1}.official-home-hero{gap:55px;min-height:auto;padding-top:75px;padding-bottom:75px}.official-teaching-copy{grid-area:auto}}@media (max-width:700px){.public-header-inner,.section{width:min(100% - 28px,1200px)}.public-header-inner{height:68px}.brand-identity-full{width:124px}.public-nav{max-height:calc(100vh - 68px);top:68px;overflow-y:auto}.dashboard-grid>section:not(.panel) .quick-links,.exam-grid,.footer-grid,.metric-grid,.official-program-grid,.program-grid,.quick-links,.section-heading{grid-template-columns:1fr}.class-operations-header{flex-direction:column;align-items:stretch}.class-lifecycle-actions{justify-content:flex-start}.class-lifecycle-actions .action-button{flex:135px;justify-content:center}.class-schedule-summary-heading>strong{white-space:normal}.contact-card-grid,.contact-location-grid,.results-overview{grid-template-columns:1fr}.results-overview>div{min-height:100px;padding:18px 20px}.results-overview strong{font-size:32px}.results-year-heading{flex-direction:column;align-items:flex-start;gap:7px}.results-year-heading>span{padding:0}.results-university summary{gap:8px;min-height:61px;padding:15px 14px}.results-university summary>span:first-child{font-size:18px}.results-university-count{padding:4px 8px}.results-table-wrap{background:var(--paper);padding:10px;overflow:visible}.results-table,.results-table tbody,.results-table td,.results-table th,.results-table tr{width:100%;min-width:0;display:block}.results-table thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.results-table tbody{gap:9px;display:grid}.results-table tbody tr{border:1px solid var(--line);background:var(--paper-bright);border-radius:11px;padding:7px 13px 10px}.results-table tbody td,.results-table tbody th{border-bottom:1px dashed var(--line);white-space:normal;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;display:grid}.results-table tbody td:before,.results-table tbody th:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:500}.results-table tbody th{color:var(--brand);font-size:15px}.results-table tbody tr>:last-child{border-bottom:0}.contact-card,.contact-route-card{padding:24px 20px}.contact-card-heading h2,.contact-location-heading h2{font-size:25px}.contact-location-heading{flex-direction:column;align-items:flex-start;padding:22px 20px}.contact-map-frame{min-height:330px}.contact-address{padding:20px}.achievement-grid,.official-facts{grid-template-columns:1fr 1fr}.official-campus-grid{grid-template-columns:1fr}.official-campus-grid figure:first-child{grid-column:auto}.official-campus-grid figure{min-height:210px}.section{padding:75px 0}.program-card{min-height:310px}.official-consultation{flex-direction:column;align-items:flex-start}.consultation-methods{flex-direction:column;width:100%}.subpage-hero{min-height:340px;padding:65px 20px}.subpage-index{display:none}.content-row{grid-template-columns:30px 1fr;gap:18px}.app-sidebar{z-index:50;min-height:auto;position:sticky;top:0}.app-sidebar,.app-surface.is-sidebar-collapsed .app-sidebar{width:100%;padding:11px 14px 9px}.app-surface.is-sidebar-collapsed .app-main{margin-left:0}.app-surface.is-sidebar-collapsed .app-sidebar-header{flex-direction:row;align-items:flex-start}.app-surface.is-sidebar-collapsed .app-sidebar .brand{justify-content:flex-start;padding:3px 10px 10px}.app-surface.is-sidebar-collapsed .app-nav-label,.app-surface.is-sidebar-collapsed .brand-copy{display:initial}.app-surface.is-sidebar-collapsed .app-nav{align-items:stretch}.app-surface.is-sidebar-collapsed .app-nav a{justify-content:flex-start;width:auto;padding:0 12px}.sidebar-collapse-button{display:none}.app-sidebar .brand{padding:0 8px 6px}.app-nav{scrollbar-width:none;flex-direction:row;gap:2px;margin-top:4px;padding-bottom:3px;overflow-x:auto}.app-workspace-nav{padding-bottom:5px}.app-nav::-webkit-scrollbar{display:none}.app-nav small,.app-sidebar-footer{display:none}.app-nav a{white-space:nowrap;flex:none;min-height:38px;padding:0 10px}.app-main{margin-left:0}.app-topbar{height:auto;min-height:48px;padding:0 17px;position:static}.app-sidebar-header .brand-symbol{flex-basis:31px;width:31px;height:31px}.app-sidebar-header .brand-symbol img{width:31px;height:31px}.app-topbar-meta span{display:none}.app-breadcrumb{max-width:calc(100vw - 72px)}.app-content{padding:16px 14px 40px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading h2{font-size:27px}.panel{padding:18px}.panel>.table-wrap{margin-left:-18px;margin-right:-18px}.app-content .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-content .metric-card{min-height:126px;padding:16px}.app-content .metric-card>svg{top:14px;right:14px}.app-content .metric-card strong{margin-top:10px;font-size:28px}.center-state,.empty-state,.error-state{min-height:140px;padding:22px 16px}.page-heading-actions{justify-content:flex-start;width:100%}.setup-needed{flex-direction:column;align-items:flex-start}.past-exam-metadata-grid{grid-template-columns:1fr}.past-exam-markdown-editor>header{flex-direction:column;align-items:flex-start}.past-exam-preview,.past-exam-source-textarea{min-height:480px}.learn-hero{grid-template-columns:1fr;min-height:250px;padding:24px 20px}.learn-hero h2{font-size:30px;line-height:1.25}.learn-date{grid-row:1}.past-exam-browser{grid-template-columns:1fr}.exam-school-directory{max-height:none;position:static}.school-directory-list{flex-direction:row;max-height:none;overflow:auto hidden}.school-directory-list button{flex:0 0 190px;width:190px}.knowledge-index-toolbar{flex-direction:column;align-items:stretch}.knowledge-index-search{width:100%}.knowledge-index-summary{white-space:normal;flex-wrap:wrap}.knowledge-group-heading,.knowledge-group-toggle{align-items:flex-start}.knowledge-group-action{padding-top:3px}.knowledge-topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-catalog-heading{padding:17px}.directory-card-grid,.directory-exam-grid,.notebook-grid,.year-card-grid{grid-template-columns:1fr}.study-document-header{padding:19px 17px}.study-document-utility{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.study-document-actions{justify-content:flex-start;width:100%}.study-document-topics{grid-template-columns:1fr}.study-document-topics>strong{padding-top:0}.exam-batch-toolbar{flex-direction:column;align-items:stretch}.study-tabs{position:static}.study-right-rail{display:flex}.study-document-paper [data-has-annotation=true]:after{right:-9px}.annotation-composer{width:auto;left:12px!important;right:12px!important}.note-editor>header{flex-direction:column;align-items:flex-start}.note-mode-switch{width:100%}.note-mode-switch button{flex:1;justify-content:center}.markdown-paper{padding:22px 17px}.login-page{grid-template-columns:1fr}.login-story{min-height:260px;padding:30px 24px}.login-story-copy h1{font-size:32px}.login-form-side{padding:20px 14px 50px}.login-card{padding:28px 22px}}.weekday-picker{border:0;margin:14px 0;padding:0}.schedule-composer{overflow:hidden}.schedule-editor-form{gap:16px;display:grid}.schedule-editor-form .field{min-width:0}.schedule-editor-form .form-grid{align-items:start}.form-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.schedule-editor-form .form-submit-row{margin-top:2px}.management-schedule-action-feedback{border-radius:7px;margin:14px 0 -4px;font-size:11px}.schedule-reminder-field{max-width:420px}.schedule-reminder-field>label{align-items:center;gap:6px;display:inline-flex}.schedule-timeline article{grid-template-columns:88px minmax(0,1fr) auto;align-items:center}.schedule-timeline article>.action-button{justify-self:end}.weekday-picker legend{color:var(--muted);margin-bottom:8px;font-size:.82rem;font-weight:700}.weekday-picker>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.weekday-picker button{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted);border-radius:10px;min-height:38px}.weekday-picker button.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}@media (max-width:700px){.schedule-editor-form .form-submit-row .action-button,.teaching-plan-submit-row .row-actions{width:100%}.schedule-timeline article{grid-template-columns:minmax(0,1fr) auto;align-items:start}.schedule-timeline article>span{grid-column:1/-1}.weekday-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:430px){.knowledge-topic-list{grid-template-columns:minmax(0,1fr)}}.collection-picker{position:relative}.collection-picker>summary{min-height:38px;color:var(--ink);cursor:pointer;border:1px solid var(--line);background:var(--white);border-radius:8px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:700;list-style:none;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:inline-flex}.collection-picker>summary::-webkit-details-marker{display:none}.collection-picker.is-compact>summary{min-height:30px;padding:5px 8px;font-size:12px}.collection-picker>summary:hover,.collection-picker[open]>summary{color:var(--red);background:#fff9f7;border-color:#d8b9b4}.collection-picker>summary.has-membership{color:var(--green-deep);background:#f0f8f4;border-color:#9bb9ad}.collection-picker-create:focus-visible,.collection-picker-menu form input:focus-visible,.collection-picker-options>button:focus-visible,.collection-picker>summary:focus-visible{outline-offset:2px;box-shadow:none;outline:2px solid #b9383a61}.is-spinning{animation:collection-spin .85s linear infinite}.collection-picker-menu{z-index:30;width:min(390px,100vw - 32px);color:var(--ink);text-align:left;border:1px solid var(--line);background:var(--white);transform-origin:100% 0;border-radius:13px;gap:12px;padding:15px;animation:collection-menu-enter .16s ease-out;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 48px #15211d29}.collection-picker-heading{gap:3px;display:grid}.collection-picker-heading strong{font-size:13px}.collection-picker-heading span{color:var(--muted);font-size:11px}.collection-picker-options{overscroll-behavior:contain;gap:6px;max-height:280px;display:grid;overflow:auto}.collection-picker-options>button{min-height:52px;color:var(--ink);text-align:left;border:1px solid var(--line);background:#fbfcfa;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;transition:color .15s,border-color .15s,background-color .15s,transform .15s;display:grid}.collection-picker-options>button:not(:disabled):hover{background:var(--white);border-color:#c7d2cc;transform:translateY(-1px)}.collection-picker-option-title{overflow-wrap:anywhere;align-items:center;gap:9px;min-width:0;font-size:13px;font-weight:700;display:inline-flex}.collection-picker-option-icon{color:#67726c;background:#eef1ee;border-radius:7px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:inline-grid}.collection-picker-option-meta{white-space:nowrap;justify-items:end;gap:2px;display:grid}.collection-picker-option-action{align-items:center;gap:2px;font-weight:750;display:inline-flex}.collection-picker-options>button.is-selected{color:var(--green-deep);background:#eef8f3;border-color:#8db5a5}.collection-picker-options>button.is-selected .collection-picker-option-icon{color:var(--white);background:var(--green-deep);animation:collection-choice-confirm .22s ease-out}.collection-picker-options>button:not(.is-selected) .collection-picker-option-icon{animation:collection-choice-remove .18s ease-out}.collection-picker-options>button:disabled{opacity:.58;cursor:wait}.collection-picker-empty,.collection-picker-options small{color:var(--muted);font-size:12px}.collection-picker-menu form{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.collection-picker-menu form input{background:var(--white);border:1px solid #cdd7d1;border-radius:7px;min-width:0;min-height:39px;padding:8px 10px}.collection-picker-menu form .text-button{grid-column:1/-1;justify-self:start}.collection-picker-create{width:fit-content;color:var(--green-deep);background:0 0;border:0;align-items:center;gap:6px;padding:6px 2px;font-weight:700;display:inline-flex}.collection-picker-create:hover{color:var(--red)}.collection-picker-feedback{color:#2d5c4b;background:#eef8f3;border:1px solid #c9e1d6;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:8px 10px;font-size:12px;font-weight:700;animation:collection-feedback-enter .22s ease-out;display:flex}.collection-picker-feedback.is-error{color:#8d2f27;background:#fff6f4;border-color:#eed2ce}.collection-picker-feedback.is-progress{color:#5f554d;background:#faf7f2;border-color:#ded7cf}.collection-picker-menu>.form-error{border-radius:8px;margin:0}.exam-batch-toolbar{color:var(--muted);border:1px solid var(--line);background:#f8faf7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;font-size:13px;display:flex}.exam-card-collection-toggle{color:#536159;background:var(--white);cursor:pointer;pointer-events:auto;border:1px solid #d8dfda;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:750;transition:border-color .15s,color .15s,background-color .15s,transform .15s,box-shadow .15s;display:inline-flex;position:relative}.exam-card-collection-toggle:hover{color:var(--red);background:#fff9f7;border-color:#b99c96;transform:translateY(-1px)}.exam-card-collection-toggle:has(input:checked){color:var(--green-deep);background:#edf7f2;border-color:#7ca493;box-shadow:0 5px 14px #2f65511a}.exam-card-collection-toggle:has(input:checked) svg{animation:collection-choice-confirm .22s ease-out}.exam-card-collection-toggle:has(input:not(:checked)) svg{animation:collection-choice-remove .18s ease-out}.exam-card-collection-toggle:has(input:checked) span{font-size:0}.exam-card-collection-toggle:has(input:checked) span:after{content:"已选，再点取消";font-size:11px}.exam-card-collection-toggle:active{transform:scale(.96)}.exam-card-collection-toggle input{opacity:0;width:1px;height:1px;position:absolute}.exam-card-collection-toggle:has(input:focus-visible){outline-offset:2px;box-shadow:none;outline:2px solid #b9383a61}.collection-create-form{gap:16px;display:grid}.collection-create-form textarea{min-height:110px}.collection-feedback{border:1px solid #c9e1d6;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;width:fit-content;max-width:100%;margin:-8px 0 16px auto;animation:collection-feedback-enter .22s ease-out;display:flex}.collection-feedback>span{align-items:center;gap:7px;display:inline-flex}.collection-feedback button,.collection-query-error button{color:inherit;background:0 0;border:0;padding:0;font-size:12px;font-weight:750}.collection-feedback button{border-radius:6px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:inline-grid}.collection-feedback button:hover{background:#2e5a4b17}.collection-query-error{overflow-wrap:anywhere;color:#8d2f27;background:#fff6f4;border:1px solid #eed2ce;border-radius:9px;gap:8px;padding:12px;font-size:12px;display:grid}.collection-workspace{grid-template-columns:minmax(210px,280px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.collection-sidebar{align-content:start;gap:8px;max-height:calc(100vh - 112px);padding-right:3px;display:grid;position:sticky;top:72px;overflow:auto}.collection-sidebar-heading{min-height:30px;color:var(--ink);justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;font-weight:800;display:flex}.collection-sidebar-heading small{color:var(--muted);font-size:11px;font-weight:600}.collection-sidebar>button{min-height:64px;color:var(--ink);text-align:left;border:1px solid var(--line);background:var(--white);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px;transition:color .15s,border-color .15s,background-color .15s,transform .15s,box-shadow .15s;display:grid;box-shadow:0 4px 14px #212b260a}.collection-sidebar>button:not(.is-active):hover{border-color:#c9d2cd;transform:translateY(-1px);box-shadow:0 8px 20px #212b2614}.collection-sidebar>button span{gap:3px;display:grid}.collection-sidebar>button>span:nth-child(2){min-width:0}.collection-sidebar>button strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.collection-sidebar-icon{background:#f1f3f1;border-radius:8px;place-items:center;width:30px;height:30px;display:inline-grid!important}.collection-sidebar>button small{color:var(--muted)}.collection-sidebar>button.is-active{color:var(--brand);box-shadow:inset 3px 0 0 var(--red);background:#fff8f6;border-color:#cfa9a4}.collection-sidebar>button.is-active small{color:#7c6b66}.collection-sidebar>button.is-active .collection-sidebar-icon{color:var(--white);background:var(--brand)}.collection-detail-panel{align-self:start;min-width:0;min-height:0;padding:clamp(18px,2vw,24px)}.collection-detail-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:18px;padding-bottom:18px;display:grid}.collection-detail-summary{gap:10px;min-width:0;display:grid}.collection-detail-meta{align-items:center;gap:10px;display:flex}.collection-detail-meta>span:not(.tag){color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.collection-heading-copy{gap:5px;display:grid}.collection-heading-copy h3{font-family:var(--font-serif);margin:0;font-size:clamp(20px,2vw,25px);line-height:1.3}.collection-heading-copy p{max-width:720px;color:var(--muted);margin:0;font-size:12px;line-height:1.6}.collection-heading-fields{grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);gap:12px;width:100%;display:grid}.collection-heading-fields label{align-content:start;gap:6px;min-width:0;display:grid}.collection-heading-fields label>span{color:#59645f;font-size:11px;font-weight:750}.collection-heading-fields input,.collection-heading-fields textarea{background:var(--white);width:100%;min-height:42px;font:inherit;border:1px solid #cdd7d1;border-radius:7px;padding:9px 11px}.collection-heading-fields input{font-size:15px;font-weight:800}.collection-heading-fields textarea{resize:vertical;min-height:58px}.collection-delete-button:focus-visible,.collection-heading-fields input:focus-visible,.collection-heading-fields textarea:focus-visible,.collection-sidebar>button:focus-visible,.icon-button:focus-visible{outline-offset:2px;box-shadow:none;outline:2px solid #b9383a61}.collection-detail-actions{max-width:330px}.collection-delete-button{color:#a33d31;background:0 0;border:1px solid #0000}.collection-delete-button:not(:disabled):hover{color:#8d2f27;box-shadow:none;background:#fff5f3;border-color:#ebcfca}.collection-item-list{margin-top:2px;display:grid}.collection-item-list>article{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 6px;transition:opacity .16s,transform .16s,background-color .16s;display:grid}.collection-item-list>article:hover{background:#fcfdfb}.collection-item-list>article.is-removing{opacity:.45;transform:translate(6px)}.collection-item-list article>div:nth-child(2){gap:5px;min-width:0;display:grid}.collection-item-list article small{color:var(--muted)}.collection-item-order{width:28px;height:28px;color:var(--muted);background:#f0f3ef;border-radius:50%;place-items:center;font-size:12px;display:grid}.collection-item-actions{gap:5px;display:flex}.icon-button{width:32px;height:32px;color:var(--ink);border:1px solid var(--line);background:var(--white);border-radius:8px;place-items:center;padding:0;display:inline-grid}.icon-button.danger{color:#a33d31}.icon-button:disabled{opacity:.35}.icon-button:not(:disabled):hover{color:var(--red);background:#fff9f7;border-color:#d8b9b4}.collection-empty-state{background:linear-gradient(135deg,#fbfdfb,#f6f8f5);border:1px dashed #cbd6d0;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-height:148px;margin-top:18px;padding:22px;display:grid}.collection-empty-icon{width:50px;height:50px;color:var(--green-deep);background:#e8f3ed;border-radius:14px;place-items:center;display:inline-grid}.collection-empty-state>div{gap:5px;display:grid}.collection-empty-state strong{color:var(--ink);font-size:14px}.collection-empty-state p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}@keyframes collection-spin{to{transform:rotate(1turn)}}@keyframes collection-menu-enter{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes collection-choice-confirm{0%{transform:scale(.72)}70%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes collection-choice-remove{0%{opacity:.55;transform:scale(.78)rotate(-20deg)}}@keyframes collection-feedback-enter{0%{opacity:0;transform:translateY(-5px)}}.field-hint{color:var(--muted);font-size:12px}.assignment-target-list{border:1px solid var(--line);background:#fafbf9;border-radius:8px;gap:5px;max-height:300px;padding:6px;display:grid;overflow:auto}.assignment-target-list label{cursor:pointer;border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:52px;padding:9px 10px;display:grid}.assignment-target-list label:hover{background:var(--white);border-color:#ddd3ce}.assignment-target-list label:has(input:checked){background:#edf7f2;border-color:#9ab9ac}.assignment-target-list label>span{gap:3px;min-width:0;display:grid}.assignment-target-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (max-width:900px){.collection-workspace{grid-template-columns:1fr}.collection-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;padding-right:0;position:static;overflow:visible}.collection-sidebar-heading{grid-column:1/-1}.collection-heading-fields{grid-template-columns:1fr}}@media (max-width:700px){.exam-batch-toolbar{flex-direction:column;align-items:stretch}.collection-detail-heading,.collection-sidebar{grid-template-columns:1fr}.collection-detail-actions{justify-content:flex-start;max-width:none}.collection-empty-state{grid-template-columns:auto minmax(0,1fr)}.collection-empty-state .action-button{grid-column:1/-1;justify-self:start}.collection-item-list>article{grid-template-columns:auto minmax(0,1fr)}.collection-item-actions{grid-column:2}.collection-feedback{width:100%;margin-top:-6px}}@media (max-width:480px){.collection-picker-menu{width:calc(100vw - 28px)}.collection-picker-options>button{grid-template-columns:1fr;align-items:start}.collection-picker-option-meta{grid-template-columns:auto auto;justify-content:space-between;justify-items:start}.collection-picker-menu form{grid-template-columns:1fr}.collection-picker-menu form .text-button{grid-column:auto}.collection-empty-state{grid-template-columns:1fr;padding:18px}.collection-empty-icon{width:44px;height:44px}.collection-item-list>article{gap:9px}}@media (prefers-reduced-motion:reduce){.collection-feedback,.collection-picker-feedback,.collection-picker-menu,.collection-picker-option-icon,.exam-card-collection-toggle svg,.is-spinning{animation:none}.collection-item-list>article,.collection-picker-options>button,.collection-picker>summary,.collection-sidebar>button,.exam-card-collection-toggle{transition:none}}.assignment-editor-form{gap:14px}.assignment-basics-grid{grid-template-columns:minmax(210px,1.16fr) repeat(2,minmax(190px,.88fr)) minmax(160px,.7fr);align-items:start;gap:12px;display:grid}.assignment-basics-grid.is-editing{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-basics-grid .field{gap:5px;min-width:0}.assignment-basics-grid .field label,.assignment-control-label{color:var(--ink-soft);font-size:12px;font-weight:750}.assignment-basics-grid .field-hint{color:var(--muted);margin-top:1px;font-size:11px;line-height:1.45}.assignment-editor-form :is(input:not([type=checkbox]),select,textarea){background-color:var(--white);border:1px solid #d8d2cc;border-radius:8px;width:100%;min-height:46px;font-size:13px;transition:border-color .15s,box-shadow .15s,background-color .15s}.assignment-editor-form :is(input:not([type=checkbox]),textarea){padding:10px 12px}.assignment-editor-form textarea{resize:vertical;height:68px;min-height:68px;line-height:1.55}.assignment-editor-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23514946' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding:10px 44px 10px 12px}.assignment-editor-form :is(input:not([type=checkbox]),select,textarea):is(:focus,:focus-visible){border-color:var(--red);outline:none;box-shadow:0 0 0 3px #b9383a1c}.assignment-editor-form :is(input,select,textarea):disabled{color:var(--muted);cursor:not-allowed;background-color:#f4f1ed}.assignment-basics-grid .assignment-instructions-field{grid-column:1/-1}.assignment-create-form .assignment-builder-grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:start;gap:14px;margin:0;display:grid}.assignment-builder-section{background:#fcfaf8;border:1px solid #e2dcd6;border-radius:11px;gap:9px;min-width:0;padding:15px;display:grid}.assignment-section-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-height:43px;display:flex}.assignment-blank-state p,.assignment-collection-summary p,.assignment-section-heading h3,.assignment-section-heading p,.assignment-submit-guidance{margin:0}.assignment-section-heading h3{font-size:14px;line-height:1.45}.assignment-section-heading p{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.5}.assignment-selection-count{color:#315c4e;white-space:nowrap;background:#e4efe8;border-radius:999px;flex:none;padding:3px 8px;font-size:11px;font-weight:750}.assignment-control-label{margin-top:1px}.assignment-blank-state,.assignment-loading-state{min-height:128px;color:var(--muted);text-align:left;background:#f4f1ed;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:18px;display:flex}.assignment-blank-state svg,.assignment-loading-state svg{color:#8b625c;flex:none}.assignment-blank-state strong{color:var(--ink-soft);font-size:13px;display:block}.assignment-blank-state p{margin-top:2px;font-size:11px}.assignment-loading-state{min-height:86px;font-size:12px}.assignment-collection-summary{background:var(--white);border:1px solid #dce4df;border-radius:9px;overflow:hidden}.assignment-collection-summary>header{background:#f4f8f5;justify-content:space-between;align-items:flex-start;gap:12px;padding:11px 12px;display:flex}.assignment-collection-summary>header>div{min-width:0}.assignment-collection-summary>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.assignment-collection-summary>header p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.assignment-ready-badge{color:#2f6b50;white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:11px;font-weight:750;display:inline-flex}.assignment-collection-outline{margin:0;padding:3px 12px 3px 38px}.assignment-collection-outline li{border-bottom:1px solid #eee9e4;padding:6px 0 6px 2px;font-size:12px}.assignment-collection-outline li:last-child{border-bottom:0}.assignment-collection-outline li::marker{color:#9a8d86;font-size:10px}.assignment-collection-outline li small,.assignment-collection-outline li span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.assignment-collection-outline li small{color:var(--muted);margin-top:1px;font-size:10px}.assignment-collection-outline li.is-unavailable small,.assignment-collection-outline li.is-unavailable span{color:#9b403b;text-decoration:line-through}.assignment-collection-more,.assignment-collection-summary>footer,.assignment-collection-warning{padding:8px 12px;font-size:11px}.assignment-collection-more{color:var(--muted);text-align:center;border-top:1px solid #eee9e4}.assignment-collection-summary>footer{color:#315c4e;background:#f4f8f5;border-top:1px solid #dce4df}.assignment-collection-warning{color:#8d3c32;background:#fff3f1;border-top:1px solid #efd5d0}.assignment-create-form .assignment-target-list{background:#f2f0ed;border:0;border-radius:9px;gap:3px;max-height:245px;padding:4px}.assignment-create-form .assignment-target-list label{background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;min-height:50px;padding:8px 10px}.assignment-create-form .assignment-target-list label:hover{background:var(--white);border-color:#d9d0ca}.assignment-create-form .assignment-target-list label:has(input:checked){background:#edf7f2;border-color:#9ab9ac}.assignment-create-form .assignment-target-list label:has(input:focus-visible){outline:none;box-shadow:0 0 0 3px #b9383a1c}.assignment-create-form .assignment-target-list input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--green);box-shadow:none;outline:none;flex:0 0 17px;margin:0;padding:0}.assignment-create-form .assignment-target-list label>span{gap:1px}.assignment-create-form .assignment-target-list strong{font-size:12px;line-height:1.4}.assignment-create-form .assignment-target-list small{font-size:10px}.assignment-form-feedback{border-radius:7px;margin:0}.assignment-create-form .modal-footer-actions{align-items:center}.assignment-submit-guidance{max-width:520px;color:var(--muted);margin-right:auto;font-size:11px;line-height:1.5}.assignment-workspace-feedback{border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.assignment-workspace-feedback button{color:inherit;background:0 0;border:0;padding:2px 0;font-size:11px;font-weight:750}.assignment-record-table{min-width:780px}.assignment-record-table th:last-child{text-align:right}.assignment-record-main{min-width:230px}.assignment-record-title{gap:5px;display:grid}.assignment-record-title strong{color:var(--ink);font-size:13px;line-height:1.45}.assignment-record-title p{max-width:360px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.assignment-record-title p.is-empty{color:#a49a94;font-style:italic}.assignment-record-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.assignment-record-actions{flex-wrap:nowrap;justify-content:flex-end}.assignment-record-actions .action-button,.assignment-record-actions .text-button{white-space:nowrap;min-height:34px}.assignment-record-actions .text-button{padding:0 5px}.assignment-record-actions .action-button{padding:0 11px}.assignment-record-actions button:focus-visible,.assignment-workspace-feedback button:focus-visible{outline-offset:1px;outline-width:2px}.assignment-spinner{animation:assignment-spin .8s linear infinite}@keyframes assignment-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.assignment-spinner{animation:none}}@media (max-width:1180px){.assignment-basics-grid,.assignment-basics-grid.is-editing{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.assignment-create-form .assignment-builder-grid{grid-template-columns:1fr}}@media (max-width:700px){.assignment-basics-grid,.assignment-basics-grid.is-editing{grid-template-columns:1fr}.assignment-basics-grid .assignment-instructions-field{grid-column:auto}.assignment-builder-section{padding:12px}.assignment-section-heading{min-height:0}.assignment-create-form .modal-footer-actions{flex-direction:column;align-items:stretch}.assignment-submit-guidance{text-align:center;width:100%;max-width:none;margin:0 0 4px}.assignment-record-table,.assignment-record-table tbody,.assignment-record-table td,.assignment-record-table tr{width:100%;display:block}.assignment-record-table{min-width:0}.assignment-record-table thead{display:none}.assignment-record-table tbody{gap:8px;padding:8px;display:grid}.assignment-record-table tbody tr{border:1px solid var(--line);background:var(--white);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.assignment-record-table td{border:0;padding:9px 11px}.assignment-record-table td:not(.assignment-record-main):not(.assignment-record-action-cell):before{content:attr(data-label);color:var(--muted);margin-bottom:2px;font-size:10px;font-weight:750;display:block}.assignment-record-table .assignment-record-action-cell,.assignment-record-table .assignment-record-main{grid-column:1/-1}.assignment-record-table .assignment-record-main{border-bottom:1px solid #eee8e3;padding-bottom:11px}.assignment-record-table .assignment-record-action-cell{border-top:1px solid #eee8e3;padding-top:6px}.assignment-record-title p{max-width:none}.assignment-record-actions{flex-wrap:wrap;justify-content:flex-start}}.student-assignment-page{width:min(1180px,100%);margin:0 auto}.student-assignment-hero{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-soft);border-radius:14px;margin-bottom:14px;padding:12px 16px 0;overflow:hidden}.student-assignment-hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);align-items:start;gap:12px;min-width:0;padding-bottom:12px;display:grid}.student-assignment-title-block{min-width:0;padding:1px 0}.student-assignment-page .eyebrow{color:#9c6f68;letter-spacing:.17em;margin:0 0 5px;font-size:10px;font-weight:800}.student-assignment-title-block h2{overflow-wrap:anywhere;font-family:var(--font-serif);margin:0;font-size:clamp(20px,1.8vw,26px);font-weight:700;line-height:1.28}.student-assignment-meta{flex-wrap:wrap;align-items:center;gap:5px 9px;margin-top:7px;display:flex}.student-assignment-meta>span:not(.status-pill){min-height:22px;color:var(--muted);background:0 0;border:0;align-items:center;padding:0;font-size:11px;font-weight:650;display:inline-flex}.student-assignment-meta>span:not(.status-pill)+span:not(.status-pill):before{color:#c1b7b1;content:"·";margin-right:9px}.student-assignment-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 0;display:grid}.student-assignment-schedule>div{background:0 0;border:0;border-left:2px solid #e8dcd3;border-radius:0;gap:2px;min-width:0;padding:4px 8px;display:grid}.student-assignment-schedule dd,.student-assignment-schedule dt{margin:0}.student-assignment-schedule dt{color:var(--muted);align-items:center;gap:5px;font-size:11px;font-weight:750;display:inline-flex}.student-assignment-schedule dd{min-width:0;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.45}.student-assignment-schedule time{overflow-wrap:anywhere}.student-assignment-instructions{background:#faf5f2;border:0;border-radius:8px;min-width:0;padding:8px 10px;box-shadow:inset 3px 0 #5e13152e}.student-assignment-instructions strong{color:var(--brand);letter-spacing:.08em;margin-bottom:2px;font-size:11px;display:block}.student-assignment-instructions p{color:var(--ink-soft);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.4}.student-assignment-questions{margin-bottom:18px}.student-assignment-answer-header h2{font-family:var(--font-serif);margin:0;font-size:23px;line-height:1.35}.student-assignment-question-nav{background:linear-gradient(#fcfaf8,#faf7f4);border-top:1px solid #e8e1dc;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:14px;min-width:0;margin:0 -16px;padding:10px 16px 12px;display:grid;overflow:hidden}.student-assignment-question-toolbar{gap:2px;display:grid}.student-assignment-question-toolbar strong{font-size:12px}.student-assignment-question-toolbar span{color:var(--muted);font-size:10px}.student-assignment-question-nav-list{scrollbar-width:thin;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:7px;min-width:0;margin:0;padding:2px 2px 4px;scroll-padding-inline:8px;list-style:none;display:flex;overflow:auto hidden}.student-assignment-question-nav-list li{scroll-snap-align:start;flex:0 0 40px}.student-assignment-question-nav-item{color:#675f5b;background:#ffffffd1;border:1px solid #ddd4ce;border-radius:10px;place-items:center;width:40px;min-height:40px;padding:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800;transition:color .14s,border-color .14s,background-color .14s,transform .14s;display:grid}.student-assignment-question-nav-item:hover:not(.is-active){color:var(--brand);background:var(--white);border-color:#c9afa6;transform:translateY(-1px)}.student-assignment-question-nav-item.is-active{color:var(--white);border-color:var(--brand);background:var(--brand);box-shadow:0 5px 14px #5e13152e}.student-assignment-question-nav-item:focus-visible{outline-offset:2px;outline:3px solid #b9383a29}.student-assignment-active-question{min-width:0}.student-assignment-question-card{background:var(--white);border:1px solid #ddd5cf;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #3d261f0d}.student-assignment-question-card>header{background:linear-gradient(90deg,#fbf8f5,#fff 72%);border-bottom:1px solid #e8e2dd;align-items:center;min-width:0;padding:14px 17px;display:flex}.student-assignment-question-kicker{color:#9b6f68;letter-spacing:.1em;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.student-assignment-question-card>header>div{min-width:0}.student-assignment-question-card h3{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.45}.student-assignment-question-card h3[tabindex="-1"]{scroll-margin-top:76px}.student-assignment-question-card h3[tabindex="-1"]:focus-visible{outline-offset:4px;outline:2px solid #b9383a38}.student-assignment-question-card header p{color:var(--muted);margin:3px 0 0;font-size:11px}.student-assignment-exam-paper{min-height:0;box-shadow:none;border:0;border-radius:0;margin:0;padding:clamp(18px,3vw,30px)}.student-assignment-question-footer{background:#ffffffe0;border:1px solid #e3ddd8;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:8px;padding:8px 10px;display:grid;box-shadow:0 4px 14px #3d261f0a}.student-assignment-question-footer>span{color:var(--muted);text-align:center;font-size:11px;font-weight:700}.student-assignment-question-footer .action-button{min-height:36px;padding:7px 11px}.student-assignment-answer-panel{border-radius:14px;margin-top:0;padding:clamp(18px,3vw,28px)}.student-assignment-answer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:16px;display:flex}.student-assignment-answer-header>div>p:last-child{color:var(--muted);margin:4px 0 0;font-size:12px}.student-assignment-answer-header .status-pill{flex:none}.student-assignment-submit-success{color:var(--green-deep);background:var(--green-soft);border:1px solid #b9d9c8;border-radius:10px;align-items:flex-start;gap:11px;margin-bottom:18px;padding:14px 16px;display:flex;box-shadow:0 8px 24px #2f6b5017}.student-assignment-submit-success:focus-visible{outline-color:#2f6b5047}.student-assignment-submit-success>svg{flex:none;margin-top:1px}.student-assignment-submit-success strong{font-size:13px}.student-assignment-submit-success p{color:#426b58;margin:2px 0 0;font-size:12px}.student-assignment-editor-label{align-items:center;gap:7px;margin-bottom:7px;font-size:12px;font-weight:750;display:flex}.student-assignment-editor-label span{color:var(--muted);font-size:10px;font-weight:600}.student-assignment-answer-editor{resize:vertical;background:#fffefa;border:1px solid #d8d1cb;border-radius:9px;outline:0;width:100%;min-height:190px;padding:15px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7;transition:border-color .15s,box-shadow .15s;display:block}.student-assignment-answer-editor:hover:not(:disabled){border-color:#bdafa7}.student-assignment-answer-editor:focus{border-color:#a96862;box-shadow:0 0 0 3px #b9383a1a}.student-assignment-answer-editor:disabled{color:var(--muted);background:#f3f0ec}.student-assignment-attachments{border-top:1px solid var(--line);margin-top:22px;padding-top:19px}.student-assignment-attachments>header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.student-assignment-attachments h3{margin:0;font-size:14px}.student-assignment-attachments header p{color:var(--muted);margin:2px 0 0;font-size:11px}.student-assignment-attachments>header>span{color:var(--muted);flex:none;font-size:11px;font-weight:700}.student-assignment-image-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:0 0 13px}.student-assignment-image-grid figure{background:var(--white);border-radius:9px}.student-assignment-image-grid .submission-image{height:190px}.student-assignment-image-grid figcaption{min-width:0;padding:9px 10px}.student-assignment-image-grid figcaption>span{flex:1;gap:1px;min-width:0;display:grid}.student-assignment-image-grid figcaption strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-assignment-image-grid figcaption small{color:var(--muted);font-size:10px}.student-assignment-image-grid figcaption button{border-radius:7px;flex:0 0 30px;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.student-assignment-image-grid figcaption button:hover:not(:disabled){background:#f8e9e7}.student-assignment-file-input{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.student-assignment-drop-zone{background:#fcfaf7;border:1.5px dashed #c9b9b2;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-height:116px;padding:18px 20px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:grid}.student-assignment-drop-zone.is-dragging{border-color:var(--red);background:#fbefec;box-shadow:inset 0 0 0 2px #b9383a14}.student-assignment-drop-zone.is-uploading{border-style:solid;border-color:#d4cbc5}.student-assignment-upload-icon{width:46px;height:46px;color:var(--brand);background:var(--brand-soft);border-radius:12px;place-items:center;display:grid}.student-assignment-drop-zone strong{font-size:13px;display:block}.student-assignment-drop-zone p{color:var(--muted);margin:3px 0 0;font-size:11px}.student-assignment-drop-zone .action-button{white-space:nowrap;min-height:38px}.student-assignment-upload-progress{background:var(--surface-muted);border:1px solid #e2dbd5;border-radius:9px;margin-top:11px;padding:11px 12px 12px}.student-assignment-upload-progress>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;display:flex}.student-assignment-upload-progress header span{color:var(--muted)}.student-assignment-upload-progress ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.student-assignment-upload-progress li{background:var(--white);border:1px solid #e4ded9;border-radius:7px;align-items:flex-start;gap:8px;min-width:0;padding:7px 9px;display:flex}.student-assignment-upload-progress li>svg{color:var(--muted);flex:none;margin-top:2px}.student-assignment-upload-progress li.is-uploaded>svg{color:var(--green)}.student-assignment-upload-progress li.is-failed small,.student-assignment-upload-progress li.is-failed>svg{color:var(--red)}.student-assignment-upload-progress li>span{gap:1px;min-width:0;display:grid}.student-assignment-upload-progress li strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.student-assignment-upload-progress li small{color:var(--muted);font-size:10px;line-height:1.45}.student-assignment-submit-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:18px;display:flex}.student-assignment-submit-row>div strong{font-size:12px}.student-assignment-submit-row p{color:var(--muted);margin:2px 0 0;font-size:11px}.student-assignment-submit-row .action-button{justify-content:center;min-width:142px;min-height:42px}.student-assignment-page .is-spinning{animation:student-assignment-spin .85s linear infinite}@keyframes student-assignment-spin{to{transform:rotate(1turn)}}@media (max-width:820px){.student-assignment-hero{padding:11px 12px 0}.student-assignment-hero-grid{grid-template-columns:1fr;gap:8px;padding-bottom:10px}.student-assignment-question-nav{margin-inline:-12px;padding-inline:12px}.student-assignment-title-block h2{font-size:clamp(20px,5.8vw,24px)}.student-assignment-instructions{padding:8px 10px}.student-assignment-drop-zone{text-align:center;grid-template-columns:1fr;justify-items:center;gap:10px;padding:20px 16px}.student-assignment-upload-progress ul{grid-template-columns:1fr}}@media (max-width:560px){.student-assignment-hero{border-radius:11px;padding:10px 11px 0}.student-assignment-hero-grid{padding-bottom:9px}.student-assignment-meta{gap:5px 9px;margin-top:8px}.student-assignment-meta>span:not(.status-pill){background:0 0;border:0;min-height:0;padding:0;font-size:11px}.student-assignment-schedule{gap:5px}.student-assignment-schedule>div{padding:6px 8px}.student-assignment-instructions{border-radius:8px}.student-assignment-question-nav{grid-template-columns:1fr;gap:7px;margin-inline:-11px;padding:9px 11px 10px}.student-assignment-question-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-assignment-question-nav-list{padding-bottom:2px}.student-assignment-question-nav-list li{flex-basis:44px}.student-assignment-question-nav-item{width:44px;min-height:44px}.student-assignment-answer-header h2{font-size:20px}.student-assignment-question-card>header{gap:10px;padding:11px 12px}.student-assignment-question-card h3[tabindex="-1"]{scroll-margin-top:118px}.student-assignment-exam-paper{padding:15px 13px}.student-assignment-question-footer{z-index:15;bottom:calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:6px 7px;position:sticky}.student-assignment-question-footer .action-button{justify-content:center;min-height:44px}.student-assignment-answer-panel{padding:16px}.student-assignment-answer-header,.student-assignment-attachments>header,.student-assignment-submit-row{flex-direction:column;align-items:stretch}.student-assignment-answer-header .status-pill{align-self:flex-start}.student-assignment-answer-editor{min-height:170px}.student-assignment-image-grid{grid-template-columns:1fr}.student-assignment-image-grid .submission-image{height:auto;max-height:420px}.student-assignment-submit-row .action-button{width:100%}}@media (prefers-reduced-motion:reduce){.student-assignment-page .is-spinning{animation-duration:1.8s}.student-assignment-answer-editor,.student-assignment-drop-zone,.student-assignment-question-nav-item{transition:none}}.assignment-submission-review{margin-top:18px}.assignment-review-header,.submission-answer-header,.submission-answer-section>header,.submission-list-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.assignment-review-header{border-bottom:1px solid var(--line);align-items:flex-start;margin-bottom:18px;padding-bottom:16px}.assignment-review-header h3{font-family:var(--font-serif);margin:5px 0 2px;font-size:23px}.assignment-review-header p,.submission-answer-header p{color:var(--muted);margin:0;font-size:12px}.assignment-review-close{flex:0 0 34px}.assignment-submission-review .submission-review-layout{grid-template-columns:minmax(250px,.58fr) minmax(0,1.42fr);gap:20px;margin:0}.assignment-submission-review .submission-student-list{max-height:620px;padding-right:3px;overflow-y:auto}.submission-list-heading{color:var(--muted);padding:0 2px 6px;font-size:12px}.submission-list-heading strong{color:var(--ink);font-size:13px}.assignment-submission-review .submission-student-list>button{background:var(--surface-muted);border-color:#0000;min-height:66px;transition:border-color .15s,background-color .15s,transform .15s}.assignment-submission-review .submission-student-list>button:hover{background:#fffaf8;border-color:#d8c9c4}.assignment-submission-review .submission-student-list>button.is-active{box-shadow:inset 3px 0 0 var(--red);background:#fbefec;border-color:#bd8d84;transform:translate(2px)}.assignment-submission-review .submission-student-list small{font-size:11px}.assignment-submission-review .submission-preview{border:1px solid var(--line);background:#fcfbf9;border-radius:12px;min-height:360px;padding:18px}.submission-answer-header{align-items:flex-start;margin-bottom:14px}.submission-answer-header h3{margin:0;font-size:18px}.submission-answer-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.submission-answer-meta time{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.submission-answer-section{border-top:1px solid var(--line);padding-top:14px}.submission-answer-section+.submission-answer-section{margin-top:16px}.submission-answer-section>header span{align-items:center;gap:7px;font-size:13px;font-weight:750;display:inline-flex}.submission-answer-section>header small{color:var(--muted)}.assignment-submission-review .submission-markdown{background:var(--white);border:1px solid #e6dfd9;border-radius:9px;min-height:100px;margin-top:10px;padding:16px}.assignment-submission-review .submission-image-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-top:10px}.assignment-submission-review .submission-image-grid figure{background:var(--white);border-radius:9px}.assignment-submission-review .submission-image-grid figcaption>span{gap:1px;min-width:0;display:grid}.assignment-submission-review .submission-image-grid figcaption strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.assignment-submission-review .submission-image-grid figcaption small{color:var(--muted);font-size:10px}.authenticated-image-trigger{background:0 0;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.authenticated-image-trigger>span{width:32px;height:32px;color:var(--white);background:#141816b8;border:1px solid #ffffff8c;border-radius:999px;place-items:center;transition:background-color .15s,transform .15s;display:grid;position:absolute;bottom:9px;right:9px;box-shadow:0 5px 18px #1418162e}.authenticated-image-trigger:focus-visible>span,.authenticated-image-trigger:hover>span{background:var(--brand);transform:scale(1.06)}.authenticated-image-trigger:focus-visible{outline-offset:-3px;outline:3px solid #b9383a33}.image-lightbox-backdrop{z-index:1400;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1210d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.image-lightbox-dialog{background:#151816;border:1px solid #ffffff2e;border-radius:14px;width:min(1180px,100%);max-height:calc(100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 28px 90px #0000006b}.image-lightbox-dialog>header{min-height:52px;color:var(--white);background:#202522;justify-content:space-between;align-items:center;gap:16px;padding:9px 10px 9px 16px;display:flex}.image-lightbox-dialog>header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.image-lightbox-dialog>header button{width:34px;height:34px;color:var(--white);background:0 0;border:1px solid #ffffff2e;border-radius:8px;flex:0 0 34px;place-items:center;display:grid}.image-lightbox-dialog>header button:hover{background:#ffffff1a}.image-lightbox-dialog>img{object-fit:contain;background:linear-gradient(45deg,#181c19 25%,#0000 0) 0 0/20px 20px,linear-gradient(45deg,#0000 75%,#181c19 0) 0 0/20px 20px,linear-gradient(45deg,#0000 75%,#181c19 0) -10px 10px/20px 20px,linear-gradient(45deg,#181c19 25%,#101310 0) -10px 10px/20px 20px;width:100%;max-height:calc(100dvh - 102px);display:block}@media (max-width:900px){.assignment-submission-review .submission-review-layout{grid-template-columns:1fr}.assignment-submission-review .submission-student-list{max-height:none;padding-right:0}}@media (max-width:700px){.assignment-review-header,.submission-answer-header{flex-direction:column;align-items:stretch}.assignment-review-close{align-self:flex-end}.assignment-submission-review .submission-preview{padding:14px}.image-lightbox-backdrop{padding:8px}.image-lightbox-dialog{max-height:calc(100dvh - 16px)}.image-lightbox-dialog>img{max-height:calc(100dvh - 70px)}}.lesson-record-view-switch{border:1px solid var(--line);background:#f4f0ec;border-radius:11px;gap:3px;margin:-2px 0 12px;padding:3px;display:inline-flex}.lesson-record-view-switch button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:5px 11px;font-size:.76rem;font-weight:740;display:inline-flex}.lesson-record-view-switch button:hover{color:var(--ink)}.lesson-record-view-switch button.is-active{color:var(--brand);background:var(--white);box-shadow:0 2px 8px #41211c17}.lesson-record-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px;display:grid}.lesson-record-overview-grid article{border:1px solid var(--line);background:var(--white);border-radius:12px;align-content:center;gap:3px;min-width:0;min-height:82px;padding:10px 12px;display:grid}@supports (color:color-mix(in lab,red,red)){.lesson-record-overview-grid article{background:color-mix(in srgb,var(--white) 94%,#f4ede7)}}.lesson-record-overview-grid article{box-shadow:0 8px 24px #41211c09}.lesson-record-overview-grid article[data-tone=warning]{background:#fffaf1;border-color:#ebc9a1}.lesson-record-overview-grid small,.lesson-record-overview-grid span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-record-overview-grid span{font-size:.72rem;font-weight:720}.lesson-record-overview-grid strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.08}.lesson-record-overview-grid small{font-size:.66rem}.lesson-record-toolbar{box-shadow:none;border-radius:12px;gap:9px;margin-bottom:14px;padding:10px 12px;display:grid}.lesson-record-filter-grid{grid-template-columns:minmax(230px,1.6fr) repeat(2,minmax(150px,.8fr));align-items:end;gap:10px;display:grid}.lesson-record-toolbar.is-manage .lesson-record-filter-grid{grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(142px,.8fr)) repeat(2,minmax(150px,.9fr))}.lesson-record-filter-field{gap:5px;min-width:0;display:grid}.lesson-record-filter-field>span{color:var(--ink-soft);font-size:.72rem;font-weight:750}.lesson-record-filter-field input,.lesson-record-filter-field select{border:1px solid var(--line);background:var(--white);border-radius:9px;outline:none;width:100%;min-width:0;min-height:38px;padding:7px 10px;font-size:.78rem}.lesson-record-filter-field input:focus,.lesson-record-filter-field select:focus{border-color:var(--red);box-shadow:0 0 0 3px #b9383a1a}.lesson-record-toolbar-footer{border-top:1px solid #eee9e4;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.lesson-record-toolbar .segmented-control{background:#f2eeea;border:0;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.lesson-record-toolbar .segmented-control button{min-height:34px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:4px 10px;font-size:.72rem;font-weight:700}.lesson-record-toolbar .segmented-control button:hover{color:var(--ink);background:#ffffffb3}.lesson-record-toolbar .segmented-control button.is-active{color:var(--brand);background:var(--white);box-shadow:0 1px 4px #41211c1a}.lesson-record-filter-result{color:var(--muted);justify-content:flex-end;align-items:center;gap:9px;font-size:11px;display:inline-flex}.lesson-record-filter-result button{border:1px solid var(--line);min-height:31px;color:var(--ink-soft);background:var(--white);border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.lesson-record-range-error{color:#9a342e;margin:0;font-size:12px;font-weight:650}.lesson-record-feedback{border:1px solid #cfe1d8;border-radius:8px;align-items:center;gap:8px;margin:0 0 14px;font-size:12px;display:flex}.lesson-record-feedback span{flex:1}.lesson-record-feedback button{color:#416458;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.lesson-record-feedback button:hover{background:#2e5a4b14}.lesson-record-workbench{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.lesson-record-workbench>*{min-width:0}.lesson-record-navigator{box-shadow:none;border-radius:0;margin-bottom:14px;padding:0;overflow:hidden}.lesson-record-workbench .lesson-record-navigator{margin-bottom:0;padding:0}.lesson-record-navigator>header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:8px;padding-inline:2px;display:flex}.lesson-record-navigator h3{margin:4px 0 3px;font-size:1rem}.lesson-record-navigator p{max-width:48ch;color:var(--muted);margin:0;font-size:.72rem;line-height:1.55}.lesson-record-navigator-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lesson-record-overdue-count{color:#9a342e;white-space:nowrap;background:#fff0ed;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:750;display:inline-flex}.lesson-record-step-group{border:1px solid var(--line);background:var(--white);border-radius:7px;display:inline-flex;overflow:hidden}.lesson-record-step-group button{border:0;border-right:1px solid var(--line);min-width:32px;min-height:32px;color:var(--ink-soft);background:var(--white);justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.lesson-record-step-group button:last-child{border-right:0}.lesson-record-step-group button:hover:not(:disabled){color:var(--brand);background:#fff8f6}.lesson-record-step-group button:disabled{cursor:default;opacity:.35}.lesson-record-day-groups{border:1px solid var(--line);background:var(--white);overscroll-behavior:contain;scrollbar-color:#d5cac4 transparent;scrollbar-width:thin;border-radius:9px;max-height:560px;overflow:hidden auto}.lesson-record-navigator.is-teach .lesson-record-day-groups{max-height:460px}.lesson-record-day-group{background:0 0;border:0;border-radius:0;overflow:hidden}.lesson-record-day-group+.lesson-record-day-group{border-top:1px solid #d8cec7;margin-top:0}.lesson-record-day-group>header{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f1eae4;border-bottom:1px solid #d8cec7;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:7px 10px;display:flex;position:sticky;top:0;box-shadow:0 1px #56151509}.lesson-record-day-group>header time{color:var(--brand);font-size:12px;font-weight:800}.lesson-record-day-group>header span{color:var(--ink-soft);text-align:right;font-size:10px}.lesson-record-day-list{display:grid}.lesson-record-index-row{text-align:left;background:var(--white);border:0;border-bottom:1px solid #f0ece8;grid-template-columns:104px minmax(180px,1fr) minmax(130px,.55fr) auto;align-items:center;gap:12px;width:100%;min-width:0;min-height:60px;padding:9px 12px;transition:background-color .14s,box-shadow .14s;display:grid;position:relative}.lesson-record-workbench .lesson-record-index-row{min-height:62px;padding-block:7px}.lesson-record-index-row:last-child{border-bottom:0}.lesson-record-index-row:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.lesson-record-index-row:hover{background:#fdfbf9}.lesson-record-index-row[aria-selected=true]{background:#fffdfc;box-shadow:inset 0 0 0 1px #9d544d3d}.lesson-record-index-row[aria-selected=true]:before,.lesson-record-index-row[data-state=overdue]:before{background:#c23d35}.lesson-record-index-row[data-state=in-progress]:before{background:#b67816}.lesson-record-index-row[data-state=completed]:before{background:#43806b}.lesson-record-index-row[data-state=cancelled]{opacity:.67}.lesson-record-index-course,.lesson-record-index-teacher,.lesson-record-index-time{gap:2px;min-width:0;display:grid}.lesson-record-index-course strong,.lesson-record-index-teacher strong,.lesson-record-index-time strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}.lesson-record-index-course strong,.lesson-record-index-teacher strong{font-size:12px}.lesson-record-index-time strong{font-variant-numeric:tabular-nums;font-size:13px}.lesson-record-index-course small,.lesson-record-index-teacher small,.lesson-record-index-time small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:10px;line-height:1.45;display:inline-flex;overflow:hidden}.lesson-record-position{text-align:center;margin-top:7px!important}.lesson-record-list{gap:12px;margin-top:14px;scroll-margin-top:68px;display:grid}.lesson-record-workbench .lesson-record-list{margin-top:0}.lesson-record-card{border-radius:13px;padding:0;overflow:hidden;box-shadow:0 10px 30px #41211c0b}.lesson-record-card[data-state=overdue]{border-color:var(--line);box-shadow:0 10px 30px #41211c0b}.lesson-record-card[data-state=in-progress]{border-color:#e0c58d;box-shadow:inset 4px 0 #b67816}.lesson-record-card[data-state=overdue] .lesson-record-detail-header,.lesson-record-card[data-state=submitted-late] .lesson-record-detail-header{background:var(--white);box-shadow:inset 3px 0 #c23d35}.lesson-record-detail-header,.lesson-record-workbench .lesson-record-detail-header{border-bottom:1px solid var(--line);background:var(--white);grid-template-columns:70px minmax(240px,1fr) minmax(175px,auto);align-items:start;gap:12px;padding:13px 14px;display:grid}.lesson-record-detail-header>time{color:var(--muted);padding-top:2px;font-size:.84rem;font-weight:700}.lesson-record-facts,.lesson-record-summary{min-width:0;display:grid}.lesson-record-summary{gap:3px}.lesson-record-facts{justify-self:end;gap:3px}.lesson-record-header-aside{justify-items:end;gap:3px;min-width:0;display:grid}.lesson-record-summary strong{font-size:.96rem}.lesson-record-summary span,.lesson-record-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-record-facts span,.lesson-record-summary span{color:var(--muted);font-size:.72rem}.lesson-record-facts span{align-items:center;gap:6px;display:inline-flex}.lesson-record-header-context{color:var(--ink-soft)!important}.lesson-record-summary .lesson-record-header-meta{color:var(--muted);white-space:normal;flex-wrap:wrap;align-items:center;gap:3px 12px;margin-top:2px;display:flex;overflow:visible}.lesson-record-header-meta>span{white-space:normal;align-items:center;gap:4px;min-width:0;line-height:1.4;display:inline-flex}.lesson-record-form{border-top:1px solid var(--line);gap:10px;padding:12px 14px 14px;display:grid}.lesson-record-editor-fields{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.lesson-record-editor-fields:disabled{opacity:1}.lesson-record-permission{color:#40534b;background:#f1f6f3;border-left:2px solid #6d8278;border-radius:8px;align-items:flex-start;gap:10px;padding:7px 9px;display:flex}.lesson-record-permission.is-late{color:#6f4b32;background:#fff7ee;border-left-color:#bd8058}.lesson-record-permission.is-correction{color:#6e4c18;background:#fff8e8;border-left-color:#a26a16}.lesson-record-permission.is-override{color:#7e302b;background:#fff2f0;border-left-color:#a63d36}.lesson-record-permission.is-read-only{color:#5c625f;background:#f4f4f3;border-left-color:#8c8f8d}.lesson-record-permission-icon{background:#ffffffb8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:27px;height:27px;display:inline-flex}.lesson-record-permission>div{min-width:0}.lesson-record-permission strong{margin-bottom:2px;font-size:12px;display:block}.lesson-record-permission p,.lesson-record-permission small{margin:0;font-size:.68rem;line-height:1.55;display:block}.lesson-record-permission small{opacity:.82;margin-top:3px}.lesson-record-status-display{min-height:42px;color:var(--muted);background:#faf9f7;border:1px solid #e2ddd8;border-radius:7px;align-items:center;gap:10px;padding:8px 11px;font-size:11px;line-height:1.45;display:flex}.lesson-record-status-display a{color:var(--brand);font-weight:750;text-decoration:none}.lesson-record-status-display a:hover{text-underline-offset:3px;text-decoration:underline}.lesson-record-reason-field{padding-bottom:2px}.lesson-record-reason-field label span{color:#a63d36}.lesson-record-reason-field textarea{min-height:72px}.lesson-record-section{background:0 0;border:0;border-top:1px solid #e9e3de;border-radius:0;gap:9px;min-width:0;padding:10px 0 0;display:grid}.lesson-record-section.is-core{background:0 0;border-color:#e9e3de}.lesson-record-section.is-notes{background:0 0}.lesson-record-section-heading{justify-content:space-between;align-items:flex-end;gap:8px;min-width:0;display:flex}.lesson-record-section-heading .section-kicker{color:#8c5c54;font-size:.66rem}.lesson-record-section-heading h4{color:var(--ink);margin:3px 0 0;font-size:.92rem}.lesson-record-attendance-summary,.lesson-record-planned-duration,.lesson-record-section-heading>small,.lesson-record-section-heading>span{color:var(--muted);white-space:nowrap;font-size:.68rem}.lesson-record-planned-duration{font-variant-numeric:tabular-nums;background:#f3efeb;border-radius:999px;padding:3px 7px}.lesson-record-core-grid{grid-template-columns:minmax(250px,.82fr) minmax(280px,1.18fr);align-items:start;gap:10px;display:grid}.lesson-record-core-grid>.field{grid-template-rows:auto minmax(38px,auto) auto;align-content:start;gap:6px;min-width:0;margin:0;display:grid}.lesson-record-core-grid>.field>label,.lesson-record-core-grid>.field>span:first-child{min-height:20px;color:var(--ink-soft);align-items:center;gap:6px;margin:0;font-size:.74rem;font-weight:720;line-height:1.35;display:inline-flex}.lesson-record-duration-inputs{gap:8px;min-height:38px;display:flex}.lesson-record-duration-inputs label{border:1px solid var(--line);background:var(--white);border-radius:9px;flex:1;grid-template-columns:minmax(55px,1fr) auto;align-items:center;min-width:0;display:grid}.lesson-record-duration-inputs input{width:100%;min-width:0;min-height:36px;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding:7px 4px 7px 10px;font-size:.86rem;font-weight:720}.lesson-record-duration-inputs span{color:var(--muted);padding-right:9px;font-size:.68rem}.lesson-record-recording-field>label{align-items:center;gap:6px;display:inline-flex}.lesson-record-url-input{border:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--white);border-radius:9px;align-items:center;padding-left:11px;display:flex}.lesson-record-duration-inputs label:focus-within,.lesson-record-url-input:focus-within{border-color:var(--red);box-shadow:0 0 0 3px #b9383a17}.lesson-record-url-input input{background:0 0;border:0;outline:none;width:100%;min-width:0;min-height:36px;padding:7px 10px 7px 8px;font-size:.76rem}.lesson-record-core-grid .lesson-record-status-display{min-height:38px;padding-block:7px}.lesson-record-completed-note{color:#28634f;background:#edf7f2;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:6px 9px;font-size:.71rem;display:flex}.lesson-record-completed-note.is-late{color:#755039;background:#fff4e8}.lesson-record-history-late-badge{background:#fff0df;border-radius:999px;padding:2px 6px;font-weight:750;color:#855632!important}.lesson-record-editor-fields:disabled .lesson-record-duration-inputs label,.lesson-record-editor-fields:disabled .lesson-record-url-input{background:#f6f6f5}.lesson-record-editor-fields:disabled input{color:#636966;cursor:default}.attendance-table-wrap{border:1px solid var(--line);background:var(--white);border-radius:9px;max-width:100%;overflow-x:auto}.attendance-table-wrap.is-empty{background:#fafbfa;border-style:dashed}.lesson-record-attendance-empty{min-height:76px;color:var(--muted);text-align:center;place-items:center;padding:16px;font-size:.72rem;display:grid}.attendance-table th:first-child{width:28%}.attendance-table th:nth-child(2){width:23%}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table input,.attendance-table select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:var(--white);border-radius:7px;outline:none;padding:7px 10px;font-size:12px}.attendance-table input:focus,.attendance-table select:focus{border-color:var(--red);box-shadow:0 0 0 3px #b9383a1a}.lesson-record-editor-fields:disabled .attendance-table input,.lesson-record-editor-fields:disabled .attendance-table select,.lesson-record-editor-fields:disabled textarea{color:#636966;cursor:default;opacity:1;background:#f6f6f5}.attendance-table td small,.attendance-table td strong{display:block}.attendance-table td small{color:var(--muted);margin-top:3px}.lesson-record-section .attendance-table th{background:#faf8f6;padding-block:7px;font-size:.66rem}.lesson-record-section .attendance-table td{padding-block:7px}.lesson-record-section.is-notes textarea{background:var(--white);min-height:80px}.lesson-record-form>.modal-footer-actions{justify-content:space-between;align-items:center;margin-top:0}.lesson-record-form>.modal-footer-actions>.form-hint{max-width:540px}.lesson-record-save-bar{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdfbf5;border-top:1px solid #e6ded8;padding:10px 14px;position:sticky;bottom:0;box-shadow:0 -8px 22px #41211c0e;margin:2px -14px -14px!important}.lesson-record-submit-actions{flex:none;align-items:center;gap:8px;display:flex}.lesson-record-submit-actions .secondary-action{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);background:var(--white);border-radius:8px;padding:7px 13px;font-size:.74rem;font-weight:720}.lesson-record-submit-actions .secondary-action:hover{color:var(--ink);border-color:#c9b8ae}.lesson-record-submit-actions button:disabled{cursor:wait;opacity:.62}.lesson-record-history{border-top:1px solid var(--line);margin-top:2px;overflow:hidden}.lesson-record-history>summary{min-height:42px;color:var(--ink-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 2px 0;font-size:11px;font-weight:700;list-style:none;display:flex}.lesson-record-history>summary::-webkit-details-marker{display:none}.lesson-record-history>summary>span{align-items:center;gap:6px;display:inline-flex}.lesson-record-history-title{color:var(--ink);font-size:12px}.lesson-record-history-chevron{transition:transform .15s}.lesson-record-history[open] .lesson-record-history-chevron{transform:rotate(180deg)}.lesson-record-history-list{border-left:1px solid #ddd5cf;gap:0;margin:3px 0 0 7px;padding:1px 0 1px 19px;list-style:none;display:grid}.lesson-record-history-list>li{padding:13px 0;position:relative}.lesson-record-history-list>li+li{border-top:1px solid #eee9e4}.lesson-record-history-list>li:before{border:2px solid var(--white);content:"";background:#9c6a63;border-radius:50%;width:8px;height:8px;position:absolute;top:18px;left:-24px;box-shadow:0 0 0 1px #d8cbc5}.lesson-record-history-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lesson-record-history-heading>div{align-items:baseline;gap:7px;display:inline-flex}.lesson-record-history-heading strong{color:var(--ink);font-size:12px}.lesson-record-history-actor,.lesson-record-history-heading span,.lesson-record-history-heading time{color:var(--muted);font-size:10px}.lesson-record-history-heading time{font-variant-numeric:tabular-nums;flex:none}.lesson-record-history-actor{margin:3px 0 0}.lesson-record-history-reason{color:var(--ink-soft);margin:8px 0 0;font-size:11px;line-height:1.6}.lesson-record-history-reason strong{color:#83514b;margin-right:7px}.lesson-record-history-changes{color:var(--ink-soft);gap:4px;margin:8px 0 0;padding:0;font-size:11px;line-height:1.55;list-style:none;display:grid}.lesson-record-history-changes li:before{color:#b0958b;content:"·";margin-right:6px}.lesson-record-history-changes strong{color:var(--ink)}.lesson-record-history-empty{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.55}.status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:3px 8px;font-size:10px;font-weight:750;line-height:1.2;display:inline-flex}.status-pill.is-overdue{color:#9d312c;background:#ffe7e3}.status-pill.is-in-progress{color:#805209;background:#fff0c9}.status-pill.is-scheduled,.status-pill.is-upcoming{color:#435f76;background:#e8f0f6}.status-pill.is-completed{color:#12664a;background:#dfeee9}.status-pill.is-cancelled{color:#6b706d;background:#ebecea}.status-pill.is-pending{color:#5c6470;background:#eceff2}.status-pill.is-submitted-late{color:#7e522c;background:#ffedd9}.lesson-record-index-row[data-state=submitted-late]:before{background:#bd8058}@media (min-width:1181px){.lesson-record-workbench .lesson-record-navigator>header{flex-direction:column;align-items:stretch;gap:12px}.lesson-record-workbench .lesson-record-navigator-actions{flex-direction:column;justify-content:flex-start;align-items:flex-start}.lesson-record-workbench .lesson-record-step-group{width:100%}.lesson-record-workbench .lesson-record-step-group button:nth-child(2){flex:1}.lesson-record-workbench .lesson-record-day-group>header{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px}.lesson-record-workbench .lesson-record-day-group>header span{text-align:left}.lesson-record-workbench .lesson-record-index-row{grid-template-columns:64px minmax(0,1fr) auto;gap:7px;min-height:62px;padding:7px 10px}.lesson-record-workbench .lesson-record-index-time{grid-row:1/span 2}.lesson-record-workbench .lesson-record-index-course,.lesson-record-workbench .lesson-record-index-teacher{grid-column:2}.lesson-record-workbench .lesson-record-index-teacher{grid-row:2;align-items:center;gap:7px;display:flex}.lesson-record-workbench .lesson-record-index-teacher small{flex:none}.lesson-record-workbench .lesson-record-index-row>.status-pill{grid-area:1/3/span 2}}@media (min-width:1321px){.lesson-record-workbench{grid-template-columns:minmax(320px,.66fr) minmax(0,1.5fr)}.lesson-record-workbench .lesson-record-day-groups,.lesson-record-workbench .lesson-record-navigator.is-teach .lesson-record-day-groups{max-height:clamp(430px,100vh - 350px,720px)}}@media (min-width:1181px) and (max-width:1320px){.lesson-record-workbench .lesson-record-navigator>header{flex-direction:row;align-items:center}.lesson-record-workbench .lesson-record-day-groups,.lesson-record-workbench .lesson-record-navigator.is-teach .lesson-record-day-groups{max-height:430px}}@media (max-width:1100px){.lesson-record-toolbar.is-manage .lesson-record-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-record-toolbar.is-manage .lesson-record-filter-field.is-search{grid-column:span 2}.lesson-record-index-row{grid-template-columns:94px minmax(160px,1fr) minmax(115px,.5fr) auto}}@media (max-width:900px){.lesson-record-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-record-overview-grid article{min-height:88px}.lesson-record-core-grid{grid-template-columns:minmax(0,1fr)}.lesson-record-navigator>header{flex-direction:column;align-items:stretch}.lesson-record-navigator-actions{justify-content:space-between}.lesson-record-index-row{grid-template-columns:88px minmax(0,1fr) auto}.lesson-record-index-teacher{grid-column:2}.lesson-record-index-row>.status-pill{grid-area:1/3/span 2}.lesson-record-detail-header,.lesson-record-workbench .lesson-record-detail-header{grid-template-columns:minmax(0,1fr) auto}.lesson-record-detail-header>time{grid-area:1/1}.lesson-record-header-aside,.lesson-record-summary{grid-column:1/-1}.lesson-record-header-aside{justify-items:start}.lesson-record-header-aside .lesson-record-facts{justify-self:start}}@media (max-width:700px){.lesson-record-overview-grid{gap:8px}.lesson-record-overview-grid article{min-height:82px;padding:12px}.lesson-record-overview-grid strong{font-size:1.28rem}.lesson-record-filter-grid,.lesson-record-toolbar.is-manage .lesson-record-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-record-filter-field.is-search,.lesson-record-toolbar.is-manage .lesson-record-filter-field.is-search{grid-column:1/-1}.lesson-record-toolbar-footer{flex-direction:column;align-items:stretch}.lesson-record-toolbar .segmented-control{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.lesson-record-toolbar .segmented-control button{padding-inline:4px}.lesson-record-filter-result{justify-content:space-between}.lesson-record-navigator-actions{flex-direction:column;align-items:flex-start}.lesson-record-navigator{max-height:none}.lesson-record-day-groups,.lesson-record-navigator.is-teach .lesson-record-day-groups{max-height:360px}.lesson-record-day-group>header{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px}.lesson-record-day-group>header span{text-align:left}.lesson-record-index-row{grid-template-columns:72px minmax(0,1fr) auto;gap:8px;padding:9px 10px}.lesson-record-form{padding:11px}.lesson-record-header-meta{gap:3px 8px}.lesson-record-section{padding:9px 0 0}.lesson-record-section-heading{flex-direction:column;align-items:flex-start;gap:4px}.lesson-record-attendance-summary,.lesson-record-planned-duration,.lesson-record-section-heading>small,.lesson-record-section-heading>span{white-space:normal}.lesson-record-duration-inputs{gap:6px}.lesson-record-save-bar{padding:10px 11px max(10px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch!important;margin:0 -11px -11px!important}.lesson-record-submit-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.lesson-record-submit-actions>:only-child{grid-column:1/-1}.lesson-record-submit-actions button{justify-content:center;width:100%}.lesson-record-status-display{flex-direction:column;align-items:flex-start;gap:6px}.lesson-record-form>.modal-footer-actions{align-items:stretch}.lesson-record-form>.modal-footer-actions .action-button{width:100%}.lesson-record-form>.modal-footer-actions>.form-hint{max-width:none}.attendance-table-wrap{overflow:hidden}.attendance-table{min-width:0;display:block}.attendance-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.attendance-table tbody,.attendance-table td,.attendance-table tr{width:100%}.attendance-table tr{display:block}.attendance-table tbody{display:grid}.attendance-table tr{border-bottom:1px solid #eee8e3;padding:11px}.attendance-table tr:last-child{border-bottom:0}.attendance-table td{border:0;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:9px;padding:5px 0;display:grid}.attendance-table td:before{color:var(--muted);content:attr(data-label);font-size:10px;font-weight:700}.attendance-table tbody tr:hover>td{background:0 0}.lesson-record-history-heading{flex-direction:column;align-items:flex-start;gap:3px}.lesson-record-history-list{margin-left:4px;padding-left:16px}.lesson-record-history-list>li:before{left:-21px}}@media (max-width:480px){.lesson-record-filter-grid,.lesson-record-toolbar.is-manage .lesson-record-filter-grid{grid-template-columns:1fr}.lesson-record-filter-field.is-search,.lesson-record-toolbar.is-manage .lesson-record-filter-field.is-search{grid-column:auto}.lesson-record-toolbar .segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-record-index-row{grid-template-columns:64px minmax(0,1fr)}.lesson-record-index-time{grid-row:1/span 3}.lesson-record-index-course,.lesson-record-index-row>.status-pill,.lesson-record-index-teacher{grid-column:2}.lesson-record-index-teacher{grid-row:2}.lesson-record-index-row>.status-pill{grid-row:3;justify-self:start}.lesson-record-step-group button span{display:none}}.lesson-hours-summary{padding:0;overflow:visible}.lesson-hours-summary-header{background:0 0;border-bottom:1px solid #eee8e3;justify-content:space-between;align-items:flex-end;gap:16px;padding:10px 0 9px;display:flex}.lesson-hours-summary-heading{min-width:0}.lesson-hours-summary-heading h3{font-family:var(--font-serif);letter-spacing:-.02em;margin:5px 0 2px;font-size:22px;line-height:1.3}.lesson-hours-summary-heading p{color:var(--muted);margin:0;font-size:12px}.lesson-hours-summary-actions{flex:none;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.lesson-hours-period-controls{gap:7px;display:grid}.lesson-hours-range-mode{border:1px solid var(--line);background:var(--surface-muted);border-radius:7px;gap:2px;width:max-content;padding:3px;display:inline-flex}.lesson-hours-range-mode button{min-height:27px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:3px 9px;font-size:10px;font-weight:750}.lesson-hours-range-mode button:hover{color:var(--ink);background:#ffffffb8}.lesson-hours-range-mode button.is-active{color:var(--brand);background:var(--white);box-shadow:0 1px 4px #41211c1a}.lesson-hours-month-controls{grid-template-columns:36px minmax(138px,1fr) 36px;align-items:end;gap:6px;display:grid}.lesson-hours-month-field{gap:4px;display:grid}.lesson-hours-month-field>span{color:var(--muted);font-size:10px;font-weight:750}.lesson-hours-month-field input{border:1px solid var(--line);background:var(--white);border-radius:7px;outline:0;width:100%;min-height:36px;padding:6px 9px;font-size:11px}.lesson-hours-month-field input:focus{border-color:var(--red);box-shadow:0 0 0 3px #b9383a1a}.lesson-hours-month-step{border:1px solid var(--line);width:36px;min-height:36px;color:var(--ink-soft);background:var(--white);border-radius:7px;place-items:center;padding:0;display:inline-grid}.lesson-hours-month-step:hover{color:var(--brand);background:#fff9f7;border-color:#d9b9b4}.lesson-hours-date-controls{align-items:flex-end;gap:7px;display:flex}.lesson-hours-date-controls label{gap:4px;display:grid}.lesson-hours-date-controls label>span{color:var(--muted);font-size:10px;font-weight:750}.lesson-hours-date-controls input{border:1px solid var(--line);background:var(--white);border-radius:7px;outline:0;width:138px;min-height:36px;padding:6px 9px;font-size:11px}.lesson-hours-date-controls input:focus{border-color:var(--red);box-shadow:0 0 0 3px #b9383a1a}.lesson-hours-date-separator{min-height:36px;color:var(--muted);padding-bottom:7px;font-size:11px}.lesson-hours-range-label{background:var(--surface-muted);white-space:nowrap;gap:7px;font-weight:700}.lesson-hours-range-label,.lesson-hours-refresh-button{border:1px solid var(--line);min-height:36px;color:var(--ink-soft);border-radius:7px;align-items:center;padding:0 11px;font-size:11px;display:inline-flex}.lesson-hours-refresh-button{background:var(--white);justify-content:center;gap:6px;font-weight:750}.lesson-hours-refresh-button:not(:disabled):hover{color:var(--brand);background:#fff9f7;border-color:#d9b9b4}.lesson-hours-refresh-button:disabled{opacity:.55;cursor:not-allowed}.lesson-hours-summary .is-spinning{animation:lesson-hours-spin .9s linear infinite}.lesson-hours-teacher-filter{align-items:flex-end;gap:14px;padding:8px 0 0;display:flex}.lesson-hours-teacher-filter label{flex:none;gap:4px;width:min(310px,100%);display:grid}.lesson-hours-teacher-filter label>span{color:var(--muted);font-size:10px;font-weight:750}.lesson-hours-teacher-filter select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);background:var(--white);border-radius:7px;outline:0;padding:6px 31px 6px 9px;font-size:11px;font-weight:650}.lesson-hours-teacher-filter select:focus{border-color:var(--red);box-shadow:0 0 0 3px #b9383a1a}.lesson-hours-teacher-filter>div{min-width:0;padding-bottom:1px}.lesson-hours-teacher-filter>div span,.lesson-hours-teacher-filter>div strong{display:block}.lesson-hours-teacher-filter>div strong{color:var(--ink-soft);font-size:11px}.lesson-hours-teacher-filter>div span{color:var(--muted);margin-top:2px;font-size:10px}.lesson-hours-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px 0;display:grid}.lesson-hours-metric{background:var(--surface-muted);border:1px solid #e6dfd9;border-radius:9px;align-content:space-between;gap:3px;min-width:0;min-height:76px;padding:8px 10px;display:grid}.lesson-hours-metric-label{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.lesson-hours-metric-label svg{color:#5615158f;flex:none}.lesson-hours-metric>strong{overflow-wrap:anywhere;color:var(--brand);font-family:var(--font-serif);font-size:clamp(20px,2vw,27px);line-height:1.25}.lesson-hours-metric>small{color:var(--muted);font-size:10px}.lesson-hours-metric.is-warning{background:#fffaf0;border-color:#ead3a2}.lesson-hours-metric.is-warning .lesson-hours-metric-label svg,.lesson-hours-metric.is-warning>strong{color:#9a5a08}.lesson-hours-metric.is-complete{background:#f5faf7;border-color:#cee0d6}.lesson-hours-metric.is-complete .lesson-hours-metric-label svg,.lesson-hours-metric.is-complete>strong{color:var(--green)}.lesson-hours-warning{color:#76501b;background:#fffaf0;border:1px solid #ead3a2;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin:0 0 12px;padding:10px 12px;display:grid}.lesson-hours-warning>svg{color:#b27317;align-self:start;margin-top:2px}.lesson-hours-warning strong{color:#75480c;font-size:12px;display:block}.lesson-hours-warning p{color:#856333;margin:2px 0 0;font-size:11px}.lesson-hours-warning button{color:#7a4b0c;white-space:nowrap;background:#ffffffb3;border:1px solid #dfbe7e;border-radius:6px;min-height:32px;padding:0 10px;font-size:11px;font-weight:750}.lesson-hours-warning button:hover{background:var(--white)}.lesson-hours-complete-note{color:var(--green-deep);background:#f5faf7;border:1px solid #cee0d6;border-radius:8px;align-items:center;gap:8px;margin:0 0 12px;padding:8px 10px;font-size:11px;font-weight:650;display:flex}.lesson-hours-table-wrap{border:1px solid var(--line);background:var(--white);border-radius:9px;margin:0 0 14px;overflow:hidden}.lesson-hours-table{border-collapse:collapse;width:100%;font-size:12px}.lesson-hours-table th{color:var(--muted);text-align:left;white-space:nowrap;background:#f8f4f1;padding:10px 12px;font-size:10px;font-weight:750}.lesson-hours-table th:nth-child(2),.lesson-hours-table th:nth-child(3){width:16%}.lesson-hours-table th:nth-child(4){width:18%}.lesson-hours-table th:last-child{width:1%}.lesson-hours-teacher-row>td{vertical-align:middle;border-bottom:1px solid #eee8e3;padding:9px 10px}.lesson-hours-table>tbody:last-child:not(.is-expanded) .lesson-hours-teacher-row>td{border-bottom:0}.lesson-hours-table>tbody.is-expanded .lesson-hours-teacher-row>td{background:#fdf8f6}.lesson-hours-teacher-row:hover>td{background:#fdf9f7}.lesson-hours-teacher-cell{align-items:center;gap:9px;min-width:190px;display:flex}.lesson-hours-teacher-avatar{width:31px;height:31px;color:var(--brand);background:var(--brand-soft);font-family:var(--font-serif);border-radius:8px;flex:0 0 31px;place-items:center;font-size:13px;font-weight:800;display:grid}.lesson-hours-teacher-cell small,.lesson-hours-teacher-cell strong{display:block}.lesson-hours-teacher-cell strong{color:var(--ink);font-size:12px}.lesson-hours-teacher-cell small{color:var(--muted);margin-top:1px;font-size:10px;font-weight:500}.lesson-hours-status{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;min-height:25px;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.lesson-hours-status.is-warning{color:#925506;background:#fff0cf}.lesson-hours-status.is-complete{color:var(--green-deep);background:var(--green-soft)}.lesson-hours-action-cell{text-align:right}.lesson-hours-action-cell button{border:1px solid var(--line);min-height:30px;color:var(--ink-soft);background:var(--white);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:10px;font-weight:750;display:inline-flex}.lesson-hours-action-cell button svg{transition:transform .16s}.lesson-hours-table>tbody.is-expanded .lesson-hours-action-cell button svg{transform:rotate(180deg)}.lesson-hours-action-cell button:hover{color:var(--brand);background:#fff9f7;border-color:#d9b9b4}.lesson-hours-teacher-detail{margin:0 0 14px}.lesson-hours-breakdown-heading{border-bottom:1px solid #eee8e3;justify-content:space-between;align-items:flex-end;gap:14px;padding:2px 0 9px;display:flex}.lesson-hours-breakdown-heading>div>span{color:var(--red);letter-spacing:.08em;font-size:10px;font-weight:800}.lesson-hours-breakdown-heading h4{color:var(--ink);font-family:var(--font-serif);margin:3px 0 1px;font-size:17px;line-height:1.3}.lesson-hours-breakdown-heading p{color:var(--muted);margin:0;font-size:10px}.lesson-hours-breakdown-heading>button{border:1px solid var(--line);min-height:30px;color:var(--ink-soft);background:var(--white);border-radius:6px;flex:none;padding:0 9px;font-size:10px;font-weight:750}.lesson-hours-breakdown-heading>button:hover{color:var(--brand);background:#fff9f7;border-color:#d9b9b4}.lesson-hours-course-breakdown{margin-bottom:11px;display:grid}.lesson-hours-course-breakdown article{border-bottom:1px solid #eee8e3;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:8px 0;display:grid}.lesson-hours-course-breakdown article>div,.lesson-hours-course-breakdown article>p{min-width:0}.lesson-hours-course-breakdown article>div span,.lesson-hours-course-breakdown article>div strong{display:block}.lesson-hours-course-breakdown article>div strong{color:var(--ink);font-size:11px}.lesson-hours-course-breakdown article>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10px;overflow:hidden}.lesson-hours-course-breakdown article>p{white-space:nowrap;justify-content:flex-end;align-items:center;gap:12px;margin:0;font-size:10px;display:flex}.lesson-hours-course-breakdown article>p strong{color:var(--ink-soft)}.lesson-hours-course-breakdown article>p span{min-width:92px;color:var(--brand);text-align:right;font-weight:750}.lesson-hours-course-breakdown article>p em{color:#925506;min-width:68px;font-style:normal;font-weight:750}.lesson-hours-teacher-detail .lesson-hours-records{padding:0}.lesson-hours-teacher-detail .lesson-hours-records-heading{margin-bottom:2px}.lesson-hours-records{padding:10px 12px 11px 42px}.lesson-hours-records-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:7px;display:flex}.lesson-hours-records-heading span,.lesson-hours-records-heading strong{display:block}.lesson-hours-records-heading strong{color:var(--ink-soft);font-size:11px}.lesson-hours-records-heading div>span{color:var(--muted);margin-top:1px;font-size:10px}.lesson-hours-records-heading>span{color:var(--brand);font-size:11px;font-weight:750}.lesson-hours-record-list{background:0 0;border:0;border-radius:0;display:grid;overflow:hidden}.lesson-hours-record{grid-template-columns:minmax(138px,.75fr) minmax(180px,1.4fr) minmax(145px,auto);align-items:center;gap:12px;min-width:0;padding:8px 0;display:grid}.lesson-hours-record+.lesson-hours-record{border-top:1px solid #eee8e3}.lesson-hours-record.is-missing{background:#fffaf0}.lesson-hours-record time{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px;font-weight:650}.lesson-hours-record-course{min-width:0}.lesson-hours-record-course span,.lesson-hours-record-course strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.lesson-hours-record-course strong{font-size:11px}.lesson-hours-record-course span{color:var(--muted);margin-top:1px;font-size:10px}.lesson-hours-record-duration{text-align:right;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.lesson-hours-record-duration>strong{color:var(--brand);white-space:nowrap;font-size:11px}.lesson-hours-record-duration>span.is-missing{color:#925506;white-space:nowrap;align-items:center;gap:4px;font-size:10px;font-weight:750;display:inline-flex}.lesson-hours-record-duration button{color:var(--brand);white-space:nowrap;background:0 0;border:0;padding:0;font-size:10px;font-weight:750}.lesson-hours-record-duration button:hover{text-decoration:underline}.lesson-hours-summary-state{min-height:140px;color:var(--muted);text-align:left;justify-content:center;align-items:center;gap:10px;padding:22px;display:flex}.lesson-hours-summary-state>svg{flex:none}.lesson-hours-summary-state span,.lesson-hours-summary-state strong{display:block}.lesson-hours-summary-state strong{color:var(--ink);font-size:12px}.lesson-hours-summary-state span{margin-top:2px;font-size:11px}.lesson-hours-summary-state.is-error{color:#a0453e}.lesson-hours-summary-state button{min-height:32px;color:var(--brand);background:var(--white);border:1px solid #d9b9b4;border-radius:6px;padding:0 10px;font-size:11px;font-weight:750}.lesson-hours-empty-state{border:1px dashed var(--line);min-height:150px;color:var(--muted);text-align:center;border-radius:9px;align-content:center;place-items:center;gap:4px;margin:0 0 14px;padding:20px;display:grid}.lesson-hours-empty-state>svg{color:#5615156b;margin-bottom:5px}.lesson-hours-empty-state strong{color:var(--ink-soft);font-size:12px}.lesson-hours-empty-state span{font-size:11px}.lesson-hours-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes lesson-hours-spin{to{transform:rotate(1turn)}}@media (max-width:980px){.lesson-hours-summary-header{flex-direction:column;align-items:stretch;gap:14px}.lesson-hours-summary-actions{justify-content:space-between}.lesson-hours-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.lesson-hours-summary-header{padding:12px 0}.lesson-hours-summary-heading h3{font-size:21px}.lesson-hours-summary-actions{flex-direction:column;align-items:stretch}.lesson-hours-period-controls{width:100%}.lesson-hours-range-mode{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.lesson-hours-month-controls{width:100%}.lesson-hours-date-controls{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.lesson-hours-date-controls input{width:100%}.lesson-hours-range-label{justify-content:center}.lesson-hours-refresh-button{width:100%}.lesson-hours-teacher-filter{flex-direction:column;align-items:stretch;gap:7px}.lesson-hours-teacher-filter label{width:100%}.lesson-hours-metrics{gap:8px;padding:8px 0}.lesson-hours-metric{min-height:76px;padding:8px 9px}.lesson-hours-metric>strong{font-size:20px}.lesson-hours-warning{grid-template-columns:auto minmax(0,1fr);margin:0 0 12px}.lesson-hours-warning button{grid-column:2;justify-self:start}.lesson-hours-complete-note{margin:0 0 12px}.lesson-hours-table-wrap{background:0 0;border:0;margin:0 0 12px;overflow:visible}.lesson-hours-table,.lesson-hours-table td,.lesson-hours-table tr,.lesson-hours-table>tbody{width:100%;display:block}.lesson-hours-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lesson-hours-table>tbody{border:1px solid var(--line);background:var(--white);border-radius:9px;overflow:hidden}.lesson-hours-table>tbody+tbody{margin-top:10px}.lesson-hours-teacher-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid!important}.lesson-hours-teacher-row>td{border:0;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:9px 11px;display:flex}.lesson-hours-teacher-row>td:before{color:var(--muted);content:attr(data-label);flex:none;font-size:9px;font-weight:700}.lesson-hours-teacher-row>.lesson-hours-teacher-cell{border-bottom:1px solid #eee8e3;grid-column:1/-1;justify-content:flex-start;padding:11px}.lesson-hours-teacher-cell:before{display:none}.lesson-hours-teacher-row>.lesson-hours-action-cell{grid-column:1/-1;padding-top:4px}.lesson-hours-action-cell button{min-width:100px}.lesson-hours-records{padding:10px}.lesson-hours-teacher-detail .lesson-hours-records{padding:0}.lesson-hours-record{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.lesson-hours-record time{grid-column:1/-1}.lesson-hours-record-course span,.lesson-hours-record-course strong{white-space:normal}.lesson-hours-summary-state{min-height:150px;padding:22px 16px}.lesson-hours-empty-state{min-height:140px;margin:0 0 12px}}@media (max-width:430px){.lesson-hours-date-controls{grid-template-columns:1fr}.lesson-hours-date-separator{display:none}.lesson-hours-metric{min-height:72px}.lesson-hours-metric-label svg{display:none}.lesson-hours-metric>strong{font-size:18px}.lesson-hours-warning{grid-template-columns:1fr}.lesson-hours-warning>svg{display:none}.lesson-hours-warning button{grid-column:1;width:100%}.lesson-hours-breakdown-heading{flex-direction:column;align-items:stretch;gap:7px}.lesson-hours-breakdown-heading>button{width:100%}.lesson-hours-course-breakdown article{grid-template-columns:1fr;gap:5px}.lesson-hours-course-breakdown article>p{justify-content:flex-start}.lesson-hours-course-breakdown article>p em,.lesson-hours-course-breakdown article>p span{min-width:0}.lesson-hours-records-heading{flex-direction:column;align-items:flex-start}.lesson-hours-record{grid-template-columns:1fr}.lesson-hours-record time{grid-column:auto}.lesson-hours-record-duration{text-align:left;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.lesson-hours-summary .is-spinning{animation-duration:1.8s}.lesson-hours-action-cell button svg{transition:none}}.student-records-workspace{--student-record-accent:#9f3438;--student-record-green:#356c56;min-width:0}.student-records-heading{align-items:center}.student-records-eyebrow{letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--student-record-accent)!important;margin:0 0 4px!important;font-size:10px!important}.student-records-range-pill{color:#6e5d57;font-variant-numeric:tabular-nums;background:#fffaf7;flex:none;align-items:center;gap:6px;display:inline-flex}.student-records-query{grid-template-columns:minmax(220px,1.55fr) minmax(205px,1.05fr) repeat(2,minmax(145px,.75fr));align-items:end;gap:9px;margin-bottom:12px;padding:12px;display:grid}.student-records-field{gap:4px;min-width:0;display:grid}.student-records-field>span:first-child{color:#665e5a;font-size:11px;font-weight:750}.student-records-field>input,.student-records-input-shell,.student-records-month-control{background:#fff;border:1px solid #ddd5cf;border-radius:8px;min-height:38px;transition:border-color .15s,box-shadow .15s}.student-records-field>input{outline:0;width:100%;min-width:0;padding:8px 10px;font-size:12px}.student-records-input-shell{color:#8a7e78;align-items:center;gap:8px;min-width:0;padding:0 11px;display:flex}.student-records-input-shell input{background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:36px;padding:0;font-size:12px}.student-records-field>input:focus,.student-records-input-shell:focus-within,.student-records-month-control:focus-within{border-color:var(--student-record-accent);box-shadow:0 0 0 3px #9f34381a}.student-records-month-control{grid-template-columns:37px minmax(0,1fr) 37px;display:grid;overflow:hidden}.student-records-month-control button{color:#6f6661;background:#faf7f4;border:0;place-items:center;min-width:0;padding:0;display:grid}.student-records-month-control button:first-child{border-right:1px solid #e6dfda}.student-records-month-control button:last-child{border-left:1px solid #e6dfda}.student-records-month-control button:hover:not(:disabled){color:var(--student-record-accent);background:#fff3f0}.student-records-month-control button:disabled{color:#c5bdb8;cursor:default}.student-records-month-control input{text-align:center;background:#fff;border:0;outline:0;width:100%;min-width:0;padding:7px 9px;font-size:12px;font-weight:700}.student-records-query-result{color:#807570;border-top:1px solid #eee8e3;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;padding-top:8px;font-size:11px;display:flex}.student-records-query-result button{color:#5e5551;background:#fff;border:1px solid #ddd5cf;border-radius:6px;align-items:center;gap:5px;min-height:29px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.student-records-query-result button:hover{color:var(--student-record-accent);background:#fff9f7;border-color:#d7b5b3}.student-records-message{margin-bottom:14px}.student-records-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.student-records-summary-card{background:#ffffffc7;border:1px solid #e1dad4;border-radius:10px;align-items:center;gap:9px;min-width:0;min-height:64px;padding:10px 12px;display:flex;box-shadow:0 5px 16px #41211c09}.student-records-summary-card>span{width:30px;height:30px;color:var(--student-record-accent);background:#f8eae7;border-radius:9px;flex:0 0 30px;place-items:center;display:grid}.student-records-summary-card:nth-child(2)>span{color:var(--student-record-green);background:#e9f2ed}.student-records-summary-card:nth-child(3)>span{color:#6c568b;background:#f0ebf6}.student-records-summary-card div{gap:2px;min-width:0;display:grid}.student-records-summary-card small{color:#7c736e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.student-records-summary-card strong{color:#352d29;font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;line-height:1.35}.student-records-state{background:#ffffff8a;border:1px dashed #d8cfc9;border-radius:11px;min-height:140px}.empty-state.student-records-state{color:#827872;align-content:center;justify-items:center;gap:5px;display:grid}.empty-state.student-records-state svg{color:#b08a82;margin-bottom:5px}.empty-state.student-records-state strong{color:#4d4541;font-size:13px}.empty-state.student-records-state span{font-size:11px}.student-records-history{gap:18px;display:grid}.student-records-month{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.student-records-month>header{align-items:center;gap:9px;min-width:0;padding:4px 0;display:flex;position:sticky;top:75px}.student-records-month-icon{width:30px;height:30px;color:var(--student-record-accent);background:#fff7f4;border:1px solid #e5c9c5;border-radius:9px;flex:0 0 30px;place-items:center;display:grid}.student-records-month h3{font-family:var(--font-serif);margin:0;font-size:15px;line-height:1.3}.student-records-month header p{color:#8a817c;margin:3px 0 0;font-size:10px}.student-records-list{gap:6px;min-width:0;display:grid}.student-record-card{min-width:0;box-shadow:none;background:#fff;border:1px solid #ddd6d0;border-radius:11px;grid-template-columns:52px minmax(0,1fr) minmax(160px,190px);align-items:stretch;gap:12px;padding:12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.student-record-card:hover{border-color:#d4c6bf;transform:none;box-shadow:0 4px 14px #41211c0e}.student-record-card[data-history-access=true]{background:linear-gradient(100deg,#fcfbff,#fff 34%);border-color:#ddd7ec}.student-record-card[data-requested=true]{border-color:#b66c6d;box-shadow:0 0 0 3px #8f3b3d1f}.student-record-date{color:#796b65;font-variant-numeric:tabular-nums;background:0 0;border:0;border-right:1px solid #eaded8;border-radius:0;flex-direction:column;justify-content:center;align-self:start;align-items:center;min-height:58px;padding:4px 8px 4px 0;display:flex}.student-record-date small,.student-record-date span{font-size:9px;line-height:1.25}.student-record-date strong{color:#3f332e;font-family:var(--font-serif);margin:1px 0;font-size:22px;line-height:1.05}.student-record-main{min-width:0}.student-record-title-row{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.student-record-title-row>div{min-width:0}.student-record-title-row p{color:#827772;text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:10px;font-weight:700;overflow:hidden}.student-record-title-row h4{overflow-wrap:anywhere;color:#302824;margin:0;font-size:16px;line-height:1.45}.student-record-attendance{color:#4d6c5d;white-space:nowrap;background:#e8f2ed;border-radius:999px;flex:none;align-items:center;min-height:24px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-flex}.student-record-attendance.is-late{color:#8a5b15;background:#fff2d9}.student-record-attendance.is-absent{color:#994542;background:#fce9e7}.student-record-attendance.is-excused{color:#625382;background:#efebf6}.student-record-attendance.is-pending{color:#706a66;background:#eeeae7}.student-record-attendance.is-before-enrollment{color:#625382;background:#efebf6}.student-record-context{color:#766c67;flex-wrap:wrap;align-items:center;gap:5px 0;min-width:0;margin-top:5px;font-size:10px;display:flex}.student-record-context span{align-items:center;display:inline-flex}.student-record-context span:not(:last-child):after{content:"";background:#c8bdb7;border-radius:99px;width:3px;height:3px;margin:0 7px}.student-record-facts{border-top:1px solid #eee9e5;flex-wrap:wrap;gap:8px 18px;min-width:0;margin:9px 0 0;padding-top:8px;display:flex}.student-record-facts div{gap:1px;min-width:0;display:grid}.student-record-facts dt{color:#948985;align-items:center;gap:4px;font-size:9px;font-weight:700;display:inline-flex}.student-record-facts dd{overflow-wrap:anywhere;color:#514743;font-variant-numeric:tabular-nums;margin:0;font-size:11px;font-weight:700}.student-record-recording{border-left:1px solid #eee8e4;align-items:center;min-width:0;padding-left:12px;display:flex}.student-record-recording a,.student-record-recording>span{text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:36px;padding:6px 9px;font-size:11px;font-weight:750;display:flex}.student-record-recording a{color:#783033;background:#fff7f5;border:1px solid #d7c2bf}.student-record-recording a:hover{color:#5f2023;background:#ffefec;border-color:#c88784}.student-record-recording .is-unavailable{color:#99908b;background:#faf8f6;border:1px dashed #ddd6d1;font-weight:650}@media (max-width:1120px){.student-records-query{grid-template-columns:repeat(2,minmax(0,1fr))}.student-record-card{grid-template-columns:52px minmax(0,1fr)}.student-record-recording{border-top:1px solid #eee8e4;border-left:0;grid-column:1/-1;padding:8px 0 0 64px}.student-record-recording a,.student-record-recording>span{width:auto;min-width:180px}}@media (max-width:820px){.student-records-heading{flex-direction:column;align-items:flex-start;gap:10px}.student-records-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-records-summary-card{min-height:60px;padding:8px 9px}.student-records-month{grid-template-columns:1fr;gap:10px}.student-records-month>header{position:static}}@media (max-width:620px){.student-records-query{padding:10px}.student-records-query,.student-records-summary{grid-template-columns:1fr}.student-records-query-result{grid-column:auto;justify-content:space-between}.student-record-card{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:10px}.student-record-date{min-height:56px}.student-record-date strong{font-size:21px}.student-record-title-row{flex-direction:column-reverse;align-items:flex-start;gap:6px}.student-record-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.student-record-recording{padding-left:54px}.student-record-recording a,.student-record-recording>span{width:100%;min-width:0}}@media (max-width:420px){.student-records-range-pill{max-width:100%;font-size:9px}.student-records-query-result{flex-direction:column;align-items:flex-start}.student-record-facts{grid-template-columns:1fr}.student-record-recording{padding-left:0}}.learn-dashboard-hero{align-items:center;min-height:132px;padding:16px 24px}.learn-dashboard-hero .eyebrow{margin-bottom:2px}.learn-dashboard-hero h2{font-size:clamp(27px,2.4vw,30px);line-height:1.15}.learn-dashboard-hero>div>p:not(.eyebrow){margin-top:4px;font-size:11px}.learn-dashboard-hero .learn-hero-metrics{margin-top:8px}.learn-dashboard-hero .learn-hero-metrics span{padding:4px 9px;font-size:10px}.learn-dashboard-hero .learn-hero-metrics strong{font-size:12px}.exam-preparation-progress{margin-top:18px;overflow:hidden}.exam-progress-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.exam-progress-header h3{font-family:var(--font-serif);letter-spacing:-.02em;margin:5px 0 1px;font-size:24px}.exam-progress-header p{color:var(--muted);margin:0;font-size:11px}.exam-progress-header>a{min-height:34px;color:var(--brand);background:#fffdfb;border:1px solid #ded6d0;border-radius:7px;flex:none;align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:750;display:inline-flex}.exam-progress-header>a:hover{background:#fff7f4;border-color:#cdaaa4}.exam-progress-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.exam-progress-metric{background:#fdfcf9;border:1px solid #e4dfda;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px 7px;min-width:0;min-height:82px;padding:12px 13px;display:grid}.exam-progress-metric>svg{color:var(--green)}.exam-progress-metric>span{color:#68726d;min-width:0;font-size:11px;font-weight:700}.exam-progress-metric>strong{color:var(--ink);font-family:var(--font-serif);font-size:27px;line-height:1}.exam-progress-metric>small{color:#818985;align-self:end;padding-bottom:1px;font-size:9px}.exam-progress-metric[data-tone=repeated]>svg{color:#6e65a7}.exam-progress-metric[data-tone=pending]>svg{color:#b37927}.exam-progress-metric[data-tone=streak]>svg{color:var(--red)}.exam-progress-main{align-content:start;gap:10px;min-width:0;display:grid}.exam-progress-breakdown,.review-heatmap-card{background:#fafbf9;border:1px solid #e1e4e1;border-radius:9px}.review-heatmap-card{flex-direction:column;min-width:0;min-height:200px;padding:14px 15px 12px;display:flex}.exam-progress-breakdown>header,.review-heatmap-card>footer,.review-heatmap-card>header{align-items:center;display:flex}.review-heatmap-card>header{justify-content:space-between;gap:14px}.exam-progress-breakdown h4,.review-heatmap-card h4{margin:0;font-size:12px}.review-heatmap-card h4{align-items:center;gap:6px;display:flex}.review-heatmap-card h4>svg{color:var(--red)}.review-heatmap-card header p{color:#89918d;margin:2px 0 0;font-size:9px}.review-heatmap-card>header>span{color:#747e79;white-space:nowrap;font-size:9px}.review-heatmap-card>header>span strong{color:var(--brand);font-size:12px}.review-heatmap-scroll{overscroll-behavior-x:contain;scrollbar-color:#cdd5d0 transparent;scrollbar-width:thin;width:100%;margin-top:12px;padding:0 1px 4px;overflow-x:auto}.review-heatmap-scroll:focus-visible{outline-offset:3px;outline:2px solid #6f272473}.review-heatmap-canvas{width:max-content;min-width:100%}.review-heatmap-months{gap:3px;min-width:max-content;margin-left:25px;display:flex}.review-heatmap-months span{color:#858e89;white-space:nowrap;flex:0 0 11px;width:11px;height:16px;font-size:8px;line-height:1}.review-heatmap-body{align-items:flex-start;gap:7px;width:max-content;min-width:100%;display:flex}.review-heatmap-week,.review-heatmap-weekdays{grid-template-rows:repeat(7,11px);gap:3px;display:grid}.review-heatmap-weekdays{flex:0 0 18px;width:18px}.review-heatmap-weekdays span{color:#959d99;font-size:7px;line-height:11px}.review-heatmap-grid{gap:3px;width:max-content;display:flex}.review-heatmap-week{flex:0 0 11px;width:11px}.review-heatmap-cell,.review-heatmap-legend i{background:#e8ece9;border:1px solid #3c51470d;border-radius:2px}.review-heatmap-cell{width:11px;height:11px;display:block}.review-heatmap-cell[data-level="1"],.review-heatmap-legend i[data-level="1"]{background:#cce4d5}.review-heatmap-cell[data-level="2"],.review-heatmap-legend i[data-level="2"]{background:#91c3a4}.review-heatmap-cell[data-level="3"],.review-heatmap-legend i[data-level="3"]{background:#4f966d}.review-heatmap-cell[data-level="4"],.review-heatmap-legend i[data-level="4"]{background:#245b40}.review-heatmap-cell.is-outside{visibility:hidden}.review-heatmap-card>footer{color:#858d89;justify-content:space-between;gap:10px;margin-top:8px;padding-top:0;font-size:8px}.review-heatmap-legend{flex:none;align-items:center;gap:3px;display:flex}.review-heatmap-legend small{font-size:8px}.review-heatmap-legend i{width:9px;height:9px}.review-heatmap-empty{min-height:150px;color:var(--muted);place-items:center;font-size:11px;display:grid}.exam-progress-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.exam-progress-breakdown{min-width:0;padding:12px}.exam-progress-breakdown>header{color:#56645d;gap:6px;margin-bottom:8px}.exam-progress-breakdown>header>svg{color:var(--red)}.exam-progress-breakdown ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.exam-progress-breakdown li{gap:4px;min-width:0;display:grid}.exam-progress-breakdown li>div{justify-content:space-between;align-items:baseline;gap:7px;min-width:0;display:flex}.exam-progress-breakdown li strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.exam-progress-breakdown li span{color:#89918d;flex:none;font-size:7px}.exam-progress-breakdown li>i{background:#e7eae8;border-radius:999px;height:3px;overflow:hidden}.exam-progress-breakdown li>i>span{border-radius:inherit;background:linear-gradient(90deg,var(--red),#d69787);height:100%;display:block}.exam-progress-breakdown>p{color:#939b97;text-align:center;place-items:center;min-height:60px;margin:0;font-size:9px;line-height:1.5;display:grid}.exam-progress-error{color:#8f332e;background:#fff7f5;border:1px solid #ecc7c1;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:90px;padding:18px;font-size:11px;display:flex}.exam-progress-error button{background:var(--white);border:1px solid #dca9a2;border-radius:6px;min-height:31px;padding:0 10px;font-size:10px;font-weight:750}.exam-progress-loading{gap:12px;display:grid}.exam-progress-loading-metrics{margin-bottom:0}.exam-progress-loading span{background:linear-gradient(90deg,#ececea,#f8f8f6,#ececea) 0 0/200% 100%;border-radius:9px;animation:review-progress-loading 1.3s linear infinite;display:block}.exam-progress-loading-metrics span{min-height:82px}.exam-progress-loading-main>span{min-height:200px}.exam-progress-loading-breakdowns span{min-height:130px}.past-exam-study-record{background:#fbfaf7;border:1px solid #ddd7d1;border-radius:8px;overflow:hidden}.past-exam-study-record-header{min-height:50px;color:var(--brand);background:linear-gradient(90deg,#f8f2ef,#fbfaf7 64%);border-bottom:1px solid #e6e1dc;align-items:center;gap:9px;padding:8px 12px;display:flex}.past-exam-study-record-header>svg{flex:none}.past-exam-study-record-header h3,.past-exam-study-record-header p{margin:0}.past-exam-study-record-header h3{font-family:var(--font-serif);font-size:15px;line-height:1.3}.past-exam-study-record-header p{color:#7d7772;margin-top:2px;font-size:9px;line-height:1.45}.past-exam-study-record-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;gap:8px;padding:9px;display:grid}.past-exam-record-item{background:var(--white);border:1px solid #e2dfda;border-radius:7px;flex-direction:column;min-width:0;min-height:128px;padding:10px 11px;display:flex}.past-exam-record-item>header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.past-exam-record-item>header>span{color:#4f5c56;letter-spacing:.03em;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.past-exam-record-item>header>b{color:#6c7671;white-space:nowrap;background:#eef1ef;border-radius:999px;align-items:center;min-height:21px;padding:2px 7px;font-size:8px;line-height:1.2;display:inline-flex}.past-exam-record-item>header>b[data-confidence=stable],.past-exam-record-item>header>b[data-status=REVIEWED]{color:var(--green-deep);background:var(--green-soft)}.past-exam-record-item>header>b[data-confidence=provisional],.past-exam-record-item>header>b[data-status=NEEDS_REVIEW]{color:#845515;background:#fff3d9}.past-exam-record-retry,.record-review-again{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:31px;padding:0 9px;font-size:9px;font-weight:750;display:inline-flex}.past-exam-record-retry{color:#6f625b;background:#faf8f6;border-color:#ddd5cf}.past-exam-record-retry:disabled,.past-exam-segmented-control button:disabled,.record-review-again:disabled{cursor:not-allowed;opacity:.52}.past-exam-segmented-control{background:#f7f8f6;border:1px solid #dddcd7;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.past-exam-segmented-control button{color:#68716d;cursor:pointer;background:0 0;border:0;border-right:1px solid #dddcd7;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:35px;padding:0 8px;font-size:9px;font-weight:750;display:flex}.past-exam-segmented-control button:last-child{border-right:0}.past-exam-segmented-control button>i{background:#9aa39f;border-radius:999px;flex:0 0 7px;width:7px;height:7px}.review-status-segmented-control button[data-status=NOT_STARTED]{--review-status-color:#8d9692}.review-status-segmented-control button[data-status=NEEDS_REVIEW]{--review-status-color:#d08a25}.review-status-segmented-control button[data-status=REVIEWED]{--review-status-color:#3c9467}.review-status-segmented-control button>i{background:var(--review-status-color)}.difficulty-segmented-control button[data-level=easy]>i{background:#3c9467}.difficulty-segmented-control button[data-level=medium]>i{background:#d08a25}.difficulty-segmented-control button[data-level=hard]>i{background:#c34b45}.past-exam-segmented-control button:hover:not(:disabled){background:#f0f3f1}.past-exam-segmented-control button.is-selected{color:var(--ink);background:var(--white);box-shadow:inset 0 -2px 0 var(--brand)}.review-status-segmented-control button.is-selected{box-shadow:inset 0 -2px 0 var(--review-status-color)}.review-status-segmented-control button.is-selected:disabled{cursor:default;opacity:1}.past-exam-record-summary{min-height:39px;margin-top:7px}.review-record-summary{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.review-record-summary>span{color:#858d89;flex:auto;min-width:0;font-size:8px;line-height:1.45}.record-review-again{min-height:25px;color:var(--green-deep);white-space:nowrap;background:#f3f8f5;border-color:#cfe0d6;flex:none;padding:0 6px;font-size:8px}.record-review-again:hover:not(:disabled){background:#eaf5ee;border-color:#a9cbb7}.difficulty-aggregate-summary{gap:1px;display:grid}.difficulty-aggregate-summary span,.difficulty-aggregate-summary strong{display:block}.difficulty-aggregate-summary strong{color:#53605a;font-size:9px}.difficulty-aggregate-summary strong[data-level=easy]{color:var(--green)}.difficulty-aggregate-summary strong[data-level=medium]{color:#9c6619}.difficulty-aggregate-summary strong[data-level=hard]{color:#a83e39}.difficulty-aggregate-summary span{color:#858d89;font-size:8px;line-height:1.45}.past-exam-record-retry{align-self:flex-start;margin-top:auto}.past-exam-record-error{color:var(--red);margin-top:6px;font-size:8px;line-height:1.45;display:block}@keyframes review-progress-loading{to{background-position:-200% 0}}@media (max-width:700px){.learn-dashboard-hero{align-items:end;gap:8px;min-height:0;padding:19px 20px}.learn-dashboard-hero h2{font-size:26px}.learn-dashboard-hero .learn-hero-metrics{flex-wrap:wrap;margin-top:11px}.exam-preparation-progress{padding:17px 14px}.exam-progress-header{flex-direction:column;align-items:flex-start;gap:10px}.exam-progress-header>a{justify-content:center;align-self:stretch}.exam-progress-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-progress-metric{min-height:76px;padding:10px}.exam-progress-metric>strong{font-size:24px}.review-heatmap-card{padding:13px 11px 11px}.review-heatmap-card>header{flex-wrap:wrap;align-items:flex-start}.review-heatmap-card>footer{flex-direction:column;align-items:flex-start}.review-heatmap-scroll{scroll-snap-type:x proximity}.exam-progress-breakdowns{grid-template-columns:1fr}.exam-progress-error{flex-direction:column;align-items:flex-start}.past-exam-study-record-grid{grid-template-columns:1fr;padding:8px}.past-exam-record-item{min-height:0}}@media (prefers-reduced-motion:reduce){.exam-progress-loading span{animation:none}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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}