/*! 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-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.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}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.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}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%)}.filter,.invert{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,[data-presentation-theme=light]{--color-primary:#279efa;--color-primary-hover:#168ce9;--color-primary-soft:#eaf5ff;--color-background:#f2f5fa;--color-surface:#fff;--color-surface-muted:#f7f9fc;--color-text-primary:#1c1f25;--color-text-secondary:#737373;--color-text-inverse:#fff;--color-border:#edf1f6;--color-danger:#ef4444;--color-danger-soft:#fef2f2;--color-warning:#d97706;--color-warning-soft:#fffbeb;--color-success:#10b981;--color-success-soft:#ecfdf5;--color-chart-title:#202735;--color-chart-muted:#738095;--color-chart-grid:#e5eaf2;--color-chart-started:#00aea6;--color-chart-stopped:#ef6a70;--color-chart-net:#009e79;--color-chart-footnote:#94a0b2;--color-groups-purple:#7c4dff;--color-teachers-green:#00ad77;--color-teacher-avatar-background:#fff3e4;--color-teacher-avatar-text:#e79019;--color-student-avatar-background:#eaf5ff;--color-revenue-orange:#ff8a00;--color-schedule-past:#dfe1e6;--color-schedule-current:#69758a;--color-schedule-current-text:#fff;--color-overlay:#1c1f2559;--color-dialog-overlay:#1c1f25ad;--color-collapse-background:#1c1f25;--color-session-background:#0f1115;--color-session-surface:#171a20;--color-session-surface-raised:#20242b;--color-session-border:#343a45;--color-session-text:#fff;--color-session-muted:#a7afbd;--color-quiz-a:#a3b73b;--color-quiz-b:#9a5cf0;--color-quiz-c:#ef7f30;--color-quiz-d:#3fb8a5;--color-quiz-text:#fff;--color-points:#22c55e;--color-points-strong:#16a34a;--color-points-soft:#e9fbf0;--color-points-contrast:#052e16;--color-medal-gold:#f5b53f;--color-medal-silver:#b6c2d1;--color-medal-bronze:#cd8544;--color-team-0:var(--color-primary);--color-team-1:var(--color-points-strong);--color-team-2:var(--color-groups-purple);--color-team-3:var(--color-revenue-orange);--color-team-4:var(--color-quiz-d);--color-team-5:var(--color-danger);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 1px 2px #0000000a,0 4px 16px #0000000a;--shadow-dialog:0 28px 80px #00000047}:root[data-theme=dark],[data-presentation-theme=dark]{color-scheme:dark;--color-primary:#63b5ff;--color-primary-hover:#85c7ff;--color-primary-soft:#19354f;--color-background:#111827;--color-surface:#1e293b;--color-surface-muted:#263449;--color-text-primary:#eef2f8;--color-text-secondary:#b7c3d2;--color-border:#2d3a4d;--color-danger:#fb7185;--color-danger-soft:#422b3a;--color-warning:#fbbf24;--color-warning-soft:#3a2e12;--color-success:#34d399;--color-success-soft:#173e37;--color-chart-title:#eef2f8;--color-chart-muted:#b7c3d2;--color-chart-grid:#2d3a4d;--color-chart-net:#34d399;--color-chart-footnote:#9cabc0;--color-overlay:#000000a6;--color-dialog-overlay:#000c;--color-collapse-background:#334155;--color-session-background:#090b0f;--color-session-surface:#151922;--color-session-surface-raised:#202735;--color-session-border:#394355;--color-session-text:#fff;--color-session-muted:#b7c3d2;--color-quiz-a:#a3b73b;--color-quiz-b:#9a5cf0;--color-quiz-c:#ef7f30;--color-quiz-d:#3fb8a5;--color-quiz-text:#fff;--color-points:#4ade80;--color-points-strong:#22c55e;--color-points-soft:#11321f;--color-points-contrast:#04240f;--color-medal-gold:#f5c163;--color-medal-silver:#c7d2df;--color-medal-bronze:#d99356;--color-teacher-avatar-background:#4b3823;--color-teacher-avatar-text:#ffbd66;--color-student-avatar-background:#19354f;--color-schedule-past:#334155;--color-schedule-current:#526176;--color-schedule-current-text:#fff;--shadow-card:0 4px 16px #0000003d;--shadow-dialog:0 28px 80px #0000009e}.app-shell{grid-template-columns:327px minmax(0,1fr);min-height:100vh;padding:16px;display:grid}.app-sidebar{background:var(--color-surface);border-radius:32px;width:318px;min-height:995px;padding:16px}.sidebar-header{justify-content:space-between;align-items:center;height:32px;margin-bottom:20px;display:flex}.sidebar-brand{width:34px;height:34px;box-shadow:var(--shadow-card);border-radius:10px;place-items:center;display:grid;overflow:hidden}.sidebar-brand img{object-fit:cover;width:100%;height:100%}.sidebar-collapsed .sidebar-header,:root[data-sidebar=collapsed] .app-shell .sidebar-header{flex-direction:column;gap:10px;height:auto}.sidebar-collapsed .sidebar-brand,:root[data-sidebar=collapsed] .app-shell .sidebar-brand{width:30px;height:30px}.collapse-button{background:var(--color-collapse-background);cursor:pointer;border:0;border-radius:16px;place-items:center;width:32px;height:32px;display:grid}.collapse-button img{width:18px;height:18px}.sidebar-nav{gap:8px;display:grid}.nav-item{height:48px;color:var(--color-text-secondary);border-radius:16px;align-items:center;gap:12px;padding:12px;font-size:15px;font-weight:500;text-decoration:none;transition:color .16s,background-color .16s,box-shadow .16s;display:flex}.nav-item.active{color:var(--color-primary);background:var(--color-primary-soft)}.nav-item img{flex:none;width:24px;height:24px}.nav-item[aria-disabled=true]{cursor:default}.app-main{min-width:0;overflow-x:clip}.sidebar-collapsed,:root[data-sidebar=collapsed] .app-shell{grid-template-columns:80px minmax(0,1fr)}.sidebar-collapsed .app-sidebar,:root[data-sidebar=collapsed] .app-shell .app-sidebar{width:64px;min-height:0}.sidebar-collapsed .nav-item,:root[data-sidebar=collapsed] .app-shell .nav-item{border-radius:10px;width:32px;height:32px;padding:4px;overflow:hidden}.sidebar-collapsed .nav-item .nav-label,:root[data-sidebar=collapsed] .app-shell .nav-item .nav-label{display:none}.nav-active-icon{background:var(--color-primary);flex:none;width:24px;height:24px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nav-active-icon.teachers{-webkit-mask-image:url(/assets/icons/dashboard-imgUserRoundPen.svg);mask-image:url(/assets/icons/dashboard-imgUserRoundPen.svg)}.nav-active-icon.students{-webkit-mask-image:url(/assets/icons/dashboard-imgGraduationCap.svg);mask-image:url(/assets/icons/dashboard-imgGraduationCap.svg)}.nav-active-icon.accounts,.nav-active-icon.homework{-webkit-mask-image:url(/assets/icons/dashboard-imgCheckSquare.svg);mask-image:url(/assets/icons/dashboard-imgCheckSquare.svg)}.nav-active-icon.curriculum{-webkit-mask-image:url(/assets/icons/curriculum-imgBooks.svg);mask-image:url(/assets/icons/curriculum-imgBooks.svg)}.nav-active-icon.payments{-webkit-mask-image:url(/assets/icons/payments-imgDollarSign.svg);mask-image:url(/assets/icons/payments-imgDollarSign.svg)}.nav-active-icon.crm{background:currentColor;-webkit-mask-image:url(/assets/icons/homework-imgUpload.svg);mask-image:url(/assets/icons/homework-imgUpload.svg)}.nav-item:not(.active) .nav-active-icon.accounts,.nav-item:not(.active) .nav-active-icon.curriculum,.nav-item:not(.active) .nav-active-icon.homework,.nav-item:not(.active) .nav-active-icon.payments{background:var(--color-text-secondary)}.theme-toggle{cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;width:36px;height:37px;padding:0;transition:background-color .16s,box-shadow .16s;display:grid}.theme-track{background:var(--color-border);border-radius:999px;flex:none;align-items:center;width:36px;height:20px;padding:2px;display:flex}.theme-thumb{background:var(--color-surface);width:16px;height:16px;box-shadow:var(--shadow-card);color:var(--color-text-secondary);border-radius:50%;place-items:center;font-size:9px;font-weight:800;line-height:1;transition:transform .18s;display:grid}.theme-toggle[aria-pressed=true] .theme-track{background:var(--color-primary)}.theme-toggle[aria-pressed=true] .theme-thumb{transform:translate(16px)}.theme-toggle[data-theme-mode=auto] .theme-track{background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary)}.theme-toggle[data-theme-mode=auto] .theme-thumb{color:var(--color-primary)}:root[data-theme=dark] .nav-item:not(.active) img{filter:brightness(1.8)}.topbar{background:var(--color-surface);border-radius:16px;justify-content:space-between;gap:24px;min-height:72px;padding:16px 32px}.topbar,.topbar-heading{align-items:center;display:flex}.topbar-heading{gap:16px;min-width:0}.topbar h1{white-space:nowrap;margin:0;font-size:24px;font-weight:700}.role-badge{background:var(--color-success-soft);color:var(--color-success);white-space:nowrap;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500}.role-badge strong{font-weight:600}.topbar-right{gap:24px}.profile,.topbar-right{align-items:center;display:flex}.profile{white-space:nowrap;gap:12px}.profile-avatar{object-fit:cover;border-radius:50%;width:40px;height:40px}.profile-initials{background:var(--color-primary-soft);color:var(--color-primary);place-items:center;font-weight:700;display:grid}.profile>.page-button{white-space:nowrap}.auth-screen{background:radial-gradient(circle at 50% -10%,var(--color-primary-soft),var(--color-background) 55%);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.auth-theme-toggle{background:var(--color-surface);width:48px;height:40px;position:absolute;top:24px;right:24px}.auth-card,.auth-theme-toggle{border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.auth-card{text-align:center;width:min(100%,400px);padding:36px 32px 32px}.auth-badge{background:var(--color-primary-soft);width:56px;height:56px;color:var(--color-primary);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:22px;font-weight:700;display:grid}.auth-logo{width:76px;height:76px;box-shadow:var(--shadow-card);border-radius:20px;margin:0 auto 16px;display:block}.auth-card h1{margin:0 0 8px;font-size:24px}.auth-card p{color:var(--color-text-secondary);margin:0 0 28px}.auth-form{text-align:left;gap:18px;display:grid}.auth-form label{gap:8px;font-size:13px;font-weight:600;display:grid}.auth-input{display:block;position:relative}.auth-input input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;height:44px;color:var(--color-text-primary);padding:0 40px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-input input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.auth-input-icon{background:var(--color-text-secondary);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.auth-input-icon-user{-webkit-mask-image:url(/assets/icons/login-imgUser.svg);mask-image:url(/assets/icons/login-imgUser.svg)}.auth-input-icon-lock{-webkit-mask-image:url(/assets/icons/login-imgLock.svg);mask-image:url(/assets/icons/login-imgLock.svg)}.auth-input-icon-eye{-webkit-mask-image:url(/assets/icons/login-imgEye.svg);mask-image:url(/assets/icons/login-imgEye.svg)}.auth-input-icon-eyeoff{-webkit-mask-image:url(/assets/icons/login-imgEyeOff.svg);mask-image:url(/assets/icons/login-imgEyeOff.svg)}.auth-input-toggle{cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-input-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-input-toggle .auth-input-icon{pointer-events:auto;position:static;transform:none}.auth-form .form-error{color:var(--color-danger);margin:0;font-size:13px}.member-screen{background:var(--color-background);min-height:100vh}.member-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:16px max(24px,50vw - 540px);display:flex}.member-brand,.member-header strong{color:var(--color-primary);font-size:20px;font-weight:700;text-decoration:none}.member-content{gap:20px;max-width:1080px;margin:0 auto;padding:32px 24px;display:grid}.member-intro h1{margin:12px 0 4px;font-size:26px}.member-greeting{letter-spacing:-.02em;margin:10px 0 0;font-size:34px;font-weight:800}.member-greeting>span{font-weight:400}@media (max-width:480px){.member-greeting{font-size:27px}}.member-empty,.member-intro p{color:var(--color-text-secondary);margin:0;font-size:14px}.member-card{border:1px solid var(--color-border);padding:24px}.member-card h2{margin:0 0 16px;font-size:18px}.member-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.member-card dt{color:var(--color-text-secondary);font-size:12px}.member-card dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:14px;font-weight:600}.member-group-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.member-group-list li{border-radius:var(--radius-sm);background:var(--color-surface-muted);justify-content:space-between;gap:16px;padding:12px 16px;font-size:14px;display:flex}.member-group-list span{color:var(--color-text-secondary)}.account-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-actions .page-button{text-decoration:none}.account-intro{color:var(--color-text-secondary);margin:0;font-size:13px}.account-filters,.account-workspace .groups-toolbar{align-items:center}.account-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.account-filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);min-height:40px;color:var(--color-text-primary);padding:0 40px 0 12px;font-size:13px}.account-search{flex:280px;min-width:220px;position:relative}.account-search img{pointer-events:none;width:16px;height:16px;position:absolute;top:12px;left:12px}.account-search input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;height:40px;color:var(--color-text-primary);padding:0 14px 0 38px;font-size:13px}.account-search input::placeholder{color:var(--color-text-secondary)}.account-filters select:focus-visible,.account-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.account-notice{border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success);margin:12px 0;padding:10px 14px;font-size:13px}@media (max-width:650px){.member-card dl{grid-template-columns:1fr}.member-group-list li{flex-direction:column;gap:4px}}.profile-copy{gap:2px;display:grid}.profile-name{color:var(--color-text-primary);font-size:14px;font-weight:600;text-decoration:none}.profile-name:focus-visible{color:var(--color-primary)}.member-intro h1 a{color:inherit;text-decoration:none}.profile-header-actions{align-items:center;gap:10px;display:flex}.profile-page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.profile-page-heading h1{margin:10px 0 4px;font-size:26px}.profile-edit-hint,.profile-page-heading p{color:var(--color-text-secondary);margin:0;font-size:13px}.profile-edit-hint{margin-top:16px}.profile-role{color:var(--color-text-secondary);font-size:12px}.profile-chevron{width:16px;height:16px}.content-stack{gap:16px;padding-top:16px;display:grid}.surface-card{border-radius:16px}.page-button,.surface-card{background:var(--color-surface)}.page-button{border:1px solid var(--color-border);min-height:37px;color:var(--color-text-primary);white-space:nowrap;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.page-button.primary,.page-button.selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.page-button img{width:16px;height:16px}.page-button:disabled{opacity:.5;cursor:not-allowed}.collapse-button:focus-visible,.nav-item:focus-visible,.page-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-button{border-radius:var(--radius-md);border:1px solid;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 18px;font-weight:600;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.ui-button.primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.ui-button.secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.ui-button.danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-text-inverse)}.ui-button:disabled{opacity:.65}.ui-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card{text-align:left;min-width:0;min-height:172px;font:inherit;color:inherit;border:1px solid #0000;flex-direction:column;justify-content:space-between;padding:24px;transition:border-color .15s,box-shadow .15s;display:flex}button.kpi-card{cursor:pointer}button.kpi-card.active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}button.kpi-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kpi-top{justify-content:space-between;align-items:flex-start;height:40px;display:flex}.kpi-label{min-width:0;max-width:calc(100% - 48px);color:var(--color-text-secondary);overflow-wrap:anywhere;padding-top:3px;font-size:14px;font-weight:600;line-height:1.35}.kpi-icon{place-items:start center;width:40px;height:40px;display:grid}.kpi-icon img{width:20px;height:20px}.kpi-bottom{min-width:0;min-height:68px}.kpi-value{overflow-wrap:anywhere;margin:0;font-size:clamp(28px,2.4vw,40px);font-weight:700;line-height:1.2}.kpi-value.tone-good{color:var(--color-success)}.kpi-value.tone-mid{color:var(--color-warning)}.kpi-value.tone-bad{color:var(--color-danger)}.kpi-value.tone-points{color:var(--color-points-strong)}.kpi-value.money{padding-top:17px;font-size:25px;line-height:31px}.kpi-value.money small{font-size:16px}.kpi-change{flex-wrap:wrap;align-items:flex-start;gap:4px;min-width:0;margin-top:6px;font-size:13px;line-height:1.35;display:flex}.kpi-change strong{color:var(--color-success);font-weight:600}.kpi-change strong.negative{color:var(--color-danger)}.kpi-change strong.plain{color:var(--color-text-primary)}.kpi-change span{min-width:0;color:var(--color-text-secondary);overflow-wrap:anywhere}.flow-card{height:445px;padding:24px 24px 20px;overflow:hidden}.lb-card{gap:18px;padding:24px;display:grid}.lb-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.lb-heading{min-width:0}.lb-kicker{color:var(--color-points-strong);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:800}.lb-heading h2{margin:7px 0 4px;font-size:20px;font-weight:750;line-height:1.2}.lb-heading p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.45}.lb-controls{flex-wrap:wrap;gap:8px;display:flex}.lb-segment{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:11px;gap:3px;padding:3px;display:flex}.lb-segment button{min-height:32px;color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 13px;font-size:12px;font-weight:700;transition:background-color .16s,color .16s}.lb-segment button.selected{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card)}.lb-hero{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lb-hero>div{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;align-content:space-between;gap:10px;min-height:92px;padding:15px 17px;display:grid;position:relative;overflow:hidden}.lb-hero>div:before{background:var(--lb-accent,var(--color-points));content:"";width:4px;position:absolute;inset:0 auto 0 0}.lb-hero span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.lb-hero strong{align-items:baseline;gap:6px;min-width:0;font-size:27px;font-weight:800;line-height:1;display:flex}.lb-hero small{color:var(--color-text-secondary);font-size:12px;font-weight:600}.lb-hero-points strong{color:var(--color-points-strong)}.lb-hero-team strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.lb-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:0;padding:0;list-style:none;display:grid}.lb-podium-item{text-align:center;align-content:end;justify-items:center;gap:7px;min-width:0;padding:4px 6px 0;display:grid}.lb-podium-item.medal-gold{--lb-medal:var(--color-medal-gold);--lb-pedestal:88px}.lb-podium-item.medal-silver{--lb-medal:var(--color-medal-silver);--lb-pedestal:62px}.lb-podium-item.medal-bronze{--lb-medal:var(--color-medal-bronze);--lb-pedestal:46px}.lb-podium-medal{background:var(--lb-medal);width:25px;height:25px;color:var(--color-points-contrast);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.lb-podium-item>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;line-height:1.3;overflow:hidden}.lb-podium-item>b{color:var(--color-points-strong);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.lb-podium-item .lb-you{margin-bottom:2px}.lb-podium-meta{color:var(--color-text-secondary);font-size:10px;font-weight:650}.lb-podium-item.current .lb-avatar{box-shadow:0 0 0 3px var(--color-surface),0 0 0 5px var(--color-points-strong)}.lb-pedestal{width:100%;height:var(--lb-pedestal);border:1px solid var(--lb-medal);place-items:center;margin-top:3px;display:grid}@supports (color:color-mix(in lab,red,red)){.lb-pedestal{border:1px solid color-mix(in srgb,var(--lb-medal) 45%,transparent)}}.lb-pedestal{background:linear-gradient(180deg,var(--lb-medal),var(--lb-medal));border-bottom:0;border-radius:14px 14px 0 0}@supports (color:color-mix(in lab,red,red)){.lb-pedestal{background:linear-gradient(180deg,color-mix(in srgb,var(--lb-medal) 40%,transparent),color-mix(in srgb,var(--lb-medal) 6%,transparent))}}.lb-pedestal{color:var(--lb-medal);font-size:clamp(20px,3vw,30px);font-style:normal;font-weight:900}.lb-avatar{background:var(--lb-accent,var(--color-primary));border-radius:50%;place-items:center;width:52px;height:52px;display:grid}@supports (color:color-mix(in lab,red,red)){.lb-avatar{background:color-mix(in srgb,var(--lb-accent,var(--color-primary)) 15%,var(--color-surface))}}.lb-avatar{color:var(--lb-accent,var(--color-primary));box-shadow:0 0 0 3px var(--color-surface),0 0 0 5px var(--lb-medal,var(--lb-accent,var(--color-points)));font-size:17px;font-weight:800}@supports (color:color-mix(in lab,red,red)){.lb-avatar{box-shadow:0 0 0 3px var(--color-surface),0 0 0 5px color-mix(in srgb,var(--lb-medal,var(--lb-accent,var(--color-points))) 60%,transparent)}}.lb-avatar.small{width:38px;height:38px;box-shadow:none;font-size:13px}.lb-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lb-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:13px;grid-template-columns:26px auto minmax(0,1fr) minmax(52px,140px) auto;align-items:center;gap:12px;padding:9px 14px;display:grid}.lb-place{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:center;font-size:13px;font-weight:800}.lb-row-copy{gap:3px;min-width:0;display:grid}.lb-row-copy strong{align-items:center;gap:7px;min-width:0;font-size:14px;display:flex}.lb-row-copy p,.lb-row-copy strong>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-row-copy p{color:var(--color-text-secondary);margin:0;font-size:11px}.lb-bar{background:var(--color-surface-muted);border-radius:999px;height:8px;overflow:hidden}.lb-bar i{border-radius:inherit;background:linear-gradient(90deg,var(--color-points),var(--color-points-strong));height:100%;display:block}.lb-row>b{color:var(--color-points-strong);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:4px;font-size:15px;font-weight:800;display:flex}.lb-row>b small{color:var(--color-text-secondary);font-size:10px;font-weight:600}.lb-row.mate{border-color:var(--lb-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.lb-row.mate{border-color:color-mix(in srgb,var(--lb-accent,var(--color-primary)) 55%,var(--color-border))}}.lb-row.mate{background:var(--lb-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.lb-row.mate{background:color-mix(in srgb,var(--lb-accent,var(--color-primary)) 7%,var(--color-surface))}}.lb-row.current{border-color:var(--color-points);background:var(--color-points-soft);box-shadow:inset 3px 0 0 0 var(--color-points-strong)}.lb-mate,.lb-you{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:3px 8px;font-size:9px;font-weight:800}.lb-you{background:var(--color-points-strong);color:var(--color-text-inverse)}.lb-mate{background:var(--lb-accent,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.lb-mate{background:color-mix(in srgb,var(--lb-accent,var(--color-primary)) 16%,transparent)}}.lb-mate{color:var(--lb-accent,var(--color-primary))}.lb-team-pill{background:var(--lb-accent,var(--color-primary));border-radius:999px;align-items:center;padding:2px 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.lb-team-pill{background:color-mix(in srgb,var(--lb-accent,var(--color-primary)) 14%,transparent)}}.lb-team-pill{color:var(--lb-accent,var(--color-primary));font-size:10px;font-style:normal;font-weight:750}.lb-card .empty-state{margin:0}.flow-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.flow-title h2{color:var(--color-chart-title);margin:0;font-size:22px;line-height:27px}.flow-title p{color:var(--color-chart-muted);margin:6px 0 0;font-size:13px}.flow-filters{gap:12px;display:flex}.flow-filters select{border:1px solid var(--color-chart-grid);background:var(--color-surface);height:40px;color:var(--color-text-primary);border-radius:8px;padding:0 32px 0 12px;font-size:13px}.flow-summary{align-items:start;gap:28px;height:58px;margin-top:20px;display:flex}.summary-item{min-width:136px}.summary-item:first-child{min-width:196px}.summary-item strong{font-size:32px;line-height:39px;display:block}.summary-item span{color:var(--color-chart-muted);margin-top:4px;font-size:12px;display:block}.summary-item.net strong{color:var(--color-chart-net)}.summary-item.started strong{color:var(--color-chart-started)}.summary-item.stopped strong{color:var(--color-chart-stopped)}.flow-legend{color:var(--color-chart-muted);white-space:nowrap;gap:12px;padding-top:8px;font-size:12px;display:grid}.flow-legend span{align-items:center;gap:8px;display:flex}.flow-legend i{background:var(--color-chart-started);border-radius:50%;width:8px;height:8px}.flow-legend span:last-child i{background:var(--color-chart-stopped)}.chart-scroll{margin-top:20px;overflow-x:auto}.flow-chart{width:100%;min-width:650px;height:250px;color:var(--color-chart-muted);font-size:11px;position:relative}.chart-axis-title{position:absolute;top:0;left:0}.chart-line{border-top:1px dashed var(--color-chart-grid);height:1px;position:absolute;left:40px;right:38px}.chart-line span{position:absolute;top:-7px;left:-32px}.chart-plot{position:absolute;inset:0 66px 0 68px}.chart-series{width:100%;height:200px;position:absolute;top:0;left:0;overflow:visible}.chart-series-area{fill:var(--color-chart-started);opacity:.12}.chart-series-primary,.chart-series-secondary{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-series-primary{stroke:var(--color-chart-started)}.chart-series-secondary{stroke:var(--color-chart-stopped)}.chart-dot{width:8px;height:8px}.chart-dot,.chart-month{position:absolute;transform:translate(-50%)}.chart-month{font-size:12px;top:214px}.chart-tooltip{z-index:1;border:1px solid var(--color-chart-grid);background:var(--color-surface);width:132px;box-shadow:var(--shadow-card);pointer-events:none;border-radius:8px;gap:7px;padding:10px 12px;font-size:11px;display:grid;position:absolute;top:-12px;transform:translate(-50%)}.chart-tooltip strong{color:var(--color-chart-title)}.chart-tooltip span:first-of-type{color:var(--color-chart-started)}.chart-tooltip span:nth-of-type(2){color:var(--color-chart-stopped)}.chart-tooltip span:nth-of-type(3){color:var(--color-chart-net);font-weight:600}.chart-footnote{color:var(--color-chart-footnote);font-size:10px;position:absolute;bottom:0;right:29px}.logs-card{padding:24px}.logs-card h2{margin:0 0 16px;font-size:16px}.log-list{gap:12px;display:grid}.log-empty{color:var(--color-text-secondary);margin:0;font-size:13px}.log-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:start;gap:20px;min-height:25px;padding-bottom:12px;font-size:14px;display:flex}.log-main{align-items:center;gap:8px;display:flex}.log-tag{background:var(--color-success-soft);color:var(--color-success);border-radius:6px;flex:none;padding:4px 8px;font-size:12px;font-weight:600}.log-tag.danger{background:var(--color-danger-soft);color:var(--color-danger)}.log-time{color:var(--color-text-secondary);white-space:nowrap;font-size:12px}.groups-workspace{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;min-height:393px;margin-top:8px;padding:32px}.groups-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.filter-list{flex-wrap:wrap;gap:8px;display:flex}.filter-button{border:1px solid var(--color-border);background:var(--color-surface);min-height:37px;color:var(--color-text-primary);border-radius:9px;padding:0 12px;font-size:13px;font-weight:600;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s}.filter-button.selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.advanced-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.advanced-filters select{border:1px solid var(--color-border);background:var(--color-surface);min-height:37px;color:var(--color-text-primary);border-radius:9px;padding:0 12px;font-size:13px}.advanced-filters select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.groups-table-card{border:0;border-radius:0;padding:0}.table-scroll{width:100%;max-width:100%;overflow-x:auto}.groups-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.groups-table th{background:var(--color-surface-muted);height:40px;color:var(--color-text-secondary);white-space:nowrap;padding:0 16px;font-weight:500}.groups-table th:first-child{border-radius:6px 0 0 6px}.groups-table th:last-child{border-radius:0 6px 6px 0}.groups-table td{border-bottom:1px solid var(--color-border);white-space:nowrap;height:64px;padding:0 16px}.groups-table .time-cell,.groups-table td:first-child{font-weight:600}.group-name{gap:4px;display:grid}.group-name strong{font-weight:600}.group-name small{font-size:11px;font-weight:400}.group-name small,.groups-table .muted-cell{color:var(--color-text-secondary)}.groups-table-card .groups-table{border-collapse:separate;border-spacing:0 4px}.groups-table-card .groups-table td{background:0 0;border-bottom:0;height:58px;transition:background-color .14s}.groups-table-card .groups-table td:first-child{border-radius:12px 0 0 12px}.groups-table-card .groups-table td:last-child{border-radius:0 12px 12px 0}.status-pill{background:var(--color-success-soft);min-height:23px;color:var(--color-success);border-radius:6px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.status-pill.inactive{background:var(--color-danger-soft);color:var(--color-danger)}.status-pill.warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-pill.neutral{background:var(--color-surface-muted);color:var(--color-text-secondary)}.row-actions{gap:8px;display:flex}.icon-button{background:var(--color-primary-soft);cursor:pointer;border:0;border-radius:6px;place-items:center;width:30px;height:30px;transition:background-color .16s,box-shadow .16s;display:grid}.icon-button.danger{background:var(--color-danger-soft)}.icon-button.warning{background:var(--color-warning-soft)}.icon-button.warning .icon-mask{background:var(--color-warning)}.icon-mask{width:14px;height:14px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-mask.key{-webkit-mask-image:url(/assets/icons/accounts-imgKey.svg);mask-image:url(/assets/icons/accounts-imgKey.svg)}.icon-button img{width:14px;height:14px}.table-footer{color:var(--color-text-secondary);justify-content:space-between;gap:16px;margin-top:12px;font-size:13px}.pagination,.table-footer{align-items:center;display:flex}.pagination{gap:8px}.pagination a{text-decoration:none}.pagination-slot{align-items:center;gap:8px;display:inline-flex}.pagination-gap{color:var(--color-text-secondary)}.page-button.disabled{opacity:.5;cursor:not-allowed}.pagination .number{min-width:33px;min-height:33px;padding:0 8px}.empty-state{text-align:center;color:var(--color-text-secondary);padding:32px 16px}.form-overlay{z-index:50;background:var(--color-dialog-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);white-space:normal;place-items:center;padding:24px;animation:dialog-overlay-in .16s ease-out;display:grid;position:fixed;inset:0}.group-form{border:1px solid var(--color-border);width:min(720px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-dialog);scrollbar-gutter:stable;border-radius:18px;gap:18px;padding:0 28px;animation:dialog-surface-in .18s ease-out;display:grid;overflow:hidden auto}.dialog-header,.group-form{background:var(--color-surface)}.dialog-header{z-index:3;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:24px;margin:0 -28px;padding:20px 28px 18px;display:flex;position:sticky;top:0}.dialog-header-copy{min-width:0}.dialog-header h2,.group-form h2{margin:0;font-size:20px;font-weight:750;line-height:1.25}.dialog-header p{margin:6px 0 0;font-size:13px;line-height:1.45}.dialog-close,.dialog-header p{color:var(--color-text-secondary)}.dialog-close{background:var(--color-surface-muted);width:36px;height:36px;cursor:pointer;border:1px solid #0000;border-radius:50%;flex:none;place-items:center;padding:0 0 2px;font-size:25px;line-height:1;transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s;display:grid}.dialog-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dialog-close:disabled{cursor:not-allowed;opacity:.55}.confirmation-dialog{width:min(520px,100%)}.confirmation-dialog>p{color:var(--color-text-secondary);margin:2px 0;font-size:14px;line-height:1.6}.group-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.group-days-field{border:0;gap:10px;margin:0;padding:0;display:grid}.group-days-field legend{padding:0;font-size:13px;font-weight:650}.group-days{flex-wrap:wrap;gap:8px;display:flex}.group-day-chip{border:1px solid var(--color-border);background:var(--color-surface);min-width:58px;height:42px;color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700}.group-day-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.group-day-presets{flex-wrap:wrap;gap:6px;display:flex}.group-day-presets button{border:1px dashed var(--color-border);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:7px 11px;font-weight:650}.group-day-presets button,.group-days-summary{color:var(--color-text-secondary);font-size:11px}.group-form label{gap:7px;font-size:13px;font-weight:650;display:grid}.account-field-hint{color:var(--color-text-secondary);font-size:11px;font-weight:500;line-height:1.4}.group-form input,.group-form select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;height:44px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 12px}.group-form input[type=checkbox],.group-form input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex:none;padding:0}.group-form textarea{color:var(--color-text-primary);font:inherit}.group-form input:focus-visible,.group-form select:focus-visible,.group-form textarea:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.localized-date-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;height:44px;color:var(--color-text-primary);border-radius:9px;align-items:center;padding:0 38px 0 12px;font-size:13px;font-weight:500;display:flex;position:relative;overflow:hidden}.localized-date-input:after{content:"▣";opacity:.7;pointer-events:none;font-size:14px;position:absolute;right:12px}.localized-date-input .placeholder,.localized-date-input:after{color:var(--color-text-secondary)}.localized-date-input input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.localized-date-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.localized-date-input.disabled{opacity:.55}.localized-date-input.disabled input{cursor:not-allowed}.form-actions{z-index:3;border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:flex-end;gap:10px;margin:0 -28px;padding:18px 28px 20px;display:flex;position:sticky;bottom:0}.form-error{color:var(--color-danger);margin:0;font-size:13px}.onboarding-form{gap:0;width:min(940px,100%);padding:0 26px}.onboarding-body{grid-template-columns:248px minmax(0,1fr);gap:22px;padding:22px 0;display:grid}.onboarding-rail{align-content:start;gap:12px;display:grid}.onboarding-identity{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);align-items:center;gap:12px;padding:13px 14px;display:flex}.onboarding-identity>span{background:var(--color-student-avatar-background);width:46px;height:46px;color:var(--color-primary);border-radius:15px;flex:none;place-items:center;font-size:19px;font-weight:800;display:grid}.onboarding-identity>div{gap:3px;min-width:0;display:grid}.onboarding-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.onboarding-identity small{color:var(--color-text-secondary);font-size:11px}.onboarding-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.onboarding-steps button{border-radius:var(--radius-md);width:100%;color:var(--color-text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:11px;padding:11px 12px;transition:border-color .16s,background-color .16s,color .16s;display:grid}.onboarding-steps button>i{border:1px solid var(--color-border);background:var(--color-surface);border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;font-style:normal;font-weight:800;display:grid}.onboarding-steps button>span{gap:3px;min-width:0;display:grid}.onboarding-steps strong{font-size:13px}.onboarding-steps small{font-size:11px;font-weight:500;line-height:1.4}.onboarding-steps button.active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text-primary)}.onboarding-steps button.active>i{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.onboarding-steps button.done>i{border-color:var(--color-success);background:var(--color-success);color:var(--color-text-inverse)}.onboarding-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);align-content:start;gap:16px;padding:18px;display:grid}.onboarding-progress{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.onboarding-progress i{background:var(--color-border);border-radius:999px;height:4px}.onboarding-progress i.filled{background:var(--color-primary)}.onboarding-panel-head span{color:var(--color-primary);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800}.onboarding-panel-head h3{margin:6px 0 4px;font-size:17px;font-weight:750}.onboarding-panel-head p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.45}.onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.onboarding-field{align-content:start;gap:7px;min-width:0;font-size:13px;font-weight:650;display:grid}.onboarding-field.wide{grid-column:1/-1}.onboarding-field>span{align-items:center;gap:4px;display:flex}.onboarding-field>span i{color:var(--color-danger);font-style:normal}.onboarding-field small{color:var(--color-text-secondary);font-size:11px;font-weight:500}.onboarding-generated{grid-template-columns:minmax(0,1fr) auto;display:grid}.onboarding-generated input{border-radius:9px 0 0 9px}.onboarding-generated button{background:var(--color-surface-muted);color:var(--color-primary);font:inherit;cursor:pointer;border:1px solid var(--color-border);border-left:0;border-radius:0 9px 9px 0;padding:0 13px;font-size:11px;font-weight:750}.onboarding-copy{border:1px dashed var(--color-primary);background:var(--color-primary-soft);min-height:38px;color:var(--color-primary);font:inherit;cursor:pointer;border-radius:9px;justify-self:start;padding:0 14px;font-size:12px;font-weight:750}.onboarding-copy:disabled{opacity:.5;cursor:not-allowed}.onboarding-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.onboarding-summary>div{background:var(--color-surface-muted);gap:4px;padding:11px 13px;display:grid}.onboarding-summary dt{color:var(--color-text-secondary);font-size:11px;font-weight:600}.onboarding-summary dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:700}.onboarding-warning{color:var(--color-danger);grid-column:1/-1;margin:0;padding:11px 13px;font-size:12px;font-weight:650}.onboarding-error,.onboarding-warning{border-radius:var(--radius-sm);background:var(--color-danger-soft)}.onboarding-error{margin:0 0 16px;padding:12px 14px}.onboarding-actions{align-items:center;margin-top:0}.onboarding-actions>span{color:var(--color-text-secondary);margin-right:auto;font-size:12px}@media (max-width:860px){.onboarding-body{grid-template-columns:1fr;gap:14px}.onboarding-steps{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.onboarding-steps small{display:none}}@keyframes dialog-overlay-in{0%{opacity:0}}@keyframes dialog-surface-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}@media (max-width:650px){.form-overlay{align-items:end;padding:10px}.group-form{border-radius:16px;width:100%;max-height:calc(100dvh - 20px);padding-inline:18px}.dialog-header{margin-inline:-18px;padding:18px}.dialog-header h2,.group-form h2{font-size:18px}.group-form-grid{grid-template-columns:1fr}.form-actions{margin-inline:-18px;padding:16px 18px}.onboarding-form{padding-inline:18px}.onboarding-body{grid-template-columns:1fr;gap:14px;padding-block:16px}.onboarding-steps{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.onboarding-steps button{text-align:center;justify-items:center;padding:9px 6px}.onboarding-identity small,.onboarding-steps small{display:none}.onboarding-steps button{grid-template-columns:1fr;gap:6px}.onboarding-steps button>i{justify-self:center}.onboarding-panel{padding:14px}.onboarding-grid,.onboarding-summary{grid-template-columns:1fr}.onboarding-actions{flex-wrap:wrap}.onboarding-actions>span{width:100%;margin-bottom:4px}}@media (prefers-reduced-motion:reduce){.form-overlay,.group-form{animation:none}}.people-workspace{min-height:393px}.people-select{width:auto;padding-right:28px}.people-table{min-width:820px}.people-table th{height:40px}.people-table td{height:64px}.people-table td:first-child{font-weight:400}.person-name{align-items:center;gap:12px;display:inline-flex}.person-avatar,.person-name strong{font-weight:600}.person-avatar{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.person-avatar.photo{object-fit:cover;aspect-ratio:1}.teacher-avatar{background:var(--color-teacher-avatar-background);color:var(--color-teacher-avatar-text)}.student-avatar{background:var(--color-student-avatar-background);color:var(--color-primary)}.people-points,.student-points{color:var(--color-points-strong);font-weight:700}.people-percent{color:var(--color-success);font-weight:700}.people-table .row-actions{min-width:68px}.student-group-cell{gap:8px;display:grid}.student-group-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-group-status{background:var(--color-danger-soft);color:var(--color-danger);border-radius:6px;padding:1px 7px;font-size:11px}.group-student-actions.compact .page-button{min-height:26px;padding:0 8px;font-size:11px}.people-table .icon-button{cursor:pointer}.people-table .icon-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page-loading{width:100%}.loading-shimmer{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-surface-muted) 50%,var(--color-border) 75%);background-size:200% 100%;border-radius:8px;animation:loading-shimmer 1.35s ease-in-out infinite;display:block;overflow:hidden}.loading-line{width:100%;height:14px}.loading-line.short{width:34%}.loading-line.medium{width:min(260px,48%)}.loading-line.title{width:min(220px,55%);height:20px}.loading-line.value{width:45%;height:38px}.loading-action{width:132px;height:40px}.loading-control{width:150px;height:40px}.loading-search{flex:280px;height:40px}.loading-workspace{margin-top:8px}.loading-filter-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.loading-table{display:grid}.loading-table-head{border-radius:6px;height:40px}.loading-table-row{grid-template-columns:var(--loading-row-columns,34px minmax(150px,1.5fr) repeat(2,minmax(90px,1fr)) 72px);border-bottom:1px solid var(--color-border);align-items:center;gap:16px;min-height:64px;padding:0 16px;display:grid}.loading-avatar{border-radius:50%;width:34px;height:34px}.loading-line.row-name{width:70%}.loading-line.row-cell{width:62%}.loading-line.row-action{width:54px}.loading-kpi{align-content:space-between;height:172px;padding:24px;display:grid}.loading-dashboard-panel{gap:28px;min-height:360px;padding:24px;display:grid}.loading-panel-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.loading-chart{min-height:250px}.loading-dashboard-rows{gap:16px;padding:24px;display:grid}.loading-row{width:100%;height:42px}.loading-detail{gap:28px;padding-top:24px;display:grid}.loading-detail-tabs{gap:10px;display:flex}.loading-detail-grid{grid-template-columns:310px minmax(0,1fr);gap:24px;display:grid}.loading-identity{justify-items:center;gap:18px;min-height:620px;padding:32px;display:grid}.loading-portrait{border-radius:50%;width:110px;height:110px}.loading-identity .loading-row{height:56px}.loading-metric-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.loading-metric{height:92px}.loading-detail-panels{align-content:start;gap:20px;display:grid}.loading-detail-panel{gap:16px;padding:24px;display:grid}.loading-shell .app-main{min-width:0}.loading-static{border-radius:8px;display:block}.loading-role-label,.loading-static{background:var(--color-surface-muted)}.loading-role-label{color:var(--color-text-secondary)}.loading-collapse{border-radius:16px;width:32px;height:32px}.loading-nav-item{border-radius:16px;height:48px}.loading-pill{border-radius:6px;width:96px;height:23px}.loading-pill.wide{width:180px}.loading-theme{border-radius:999px;width:56px;height:28px}.loading-avatar.large{width:40px;height:40px}.loading-control.small{width:96px}.loading-attendance,.loading-group-detail{gap:16px;padding:20px 32px 32px;display:grid}.loading-group-tabs{border-bottom:1px solid var(--color-border);gap:28px;padding-bottom:12px;display:flex}.loading-tab{width:120px;height:16px}.loading-group-meta{grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;display:grid}.loading-meta-cell{border-radius:10px;min-height:70px}.loading-month-nav{justify-content:center;align-items:center;gap:18px;display:flex}.loading-round{border-radius:50%;width:40px;height:40px}.loading-cell-row{gap:10px;display:flex;overflow:hidden}.loading-day-cell{border-radius:8px;flex:0 0 68px;min-height:64px}.loading-day-cell.compact{min-height:52px}.loading-date-strip{gap:14px}.loading-date-strip,.loading-teacher-card{border:1px solid var(--color-border);padding:20px;display:grid}.loading-teacher-card{gap:16px}.loading-teacher-person{align-items:center;gap:14px;display:flex}.loading-teacher-copy{flex:1;gap:8px;max-width:220px;display:grid}.loading-portrait.small{width:56px;height:56px}.loading-member-intro{gap:9px;display:grid}.loading-materials-card{border:1px solid var(--color-border);gap:18px;min-width:0;min-height:520px;padding:20px;display:grid;overflow:hidden}.loading-materials-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;min-width:0;display:grid}.loading-segmented{background:var(--color-surface-muted);border-radius:11px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(620px,100%);min-width:0;padding:4px;display:grid;overflow:hidden}.loading-segment{min-height:40px}.loading-material-table{display:grid}.loading-legend{border-radius:0;height:116px}.loading-journal-filters{background:var(--color-surface-muted);flex-wrap:wrap;align-items:center;gap:12px;min-height:76px;padding:18px 20px;display:flex}.loading-journal-grid{display:grid}.loading-journal-row{border-bottom:1px solid var(--color-border);border-radius:0;height:58px}.loading-academic-card{border:1px solid var(--color-border);padding:20px;display:grid}.loading-academic-card .loading-panel-heading{margin-bottom:18px}.loading-academic-head,.loading-academic-row{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(140px,1.4fr) 42px repeat(4,minmax(80px,1fr));align-items:center;gap:14px;min-height:48px;padding:0 14px;display:grid}.loading-academic-row{min-height:64px}.loading-profile-table-page{padding:24px 32px 32px}.loading-profile-table{gap:12px;min-height:360px;padding:20px;display:grid}.loading-period-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}@keyframes loading-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.loading-shimmer,.loading-spinner{animation:none}}@media (hover:hover) and (pointer:fine){.nav-item:not(.active):hover{background:var(--color-surface-muted);color:var(--color-text-primary)}.nav-item:not(.active):hover img{opacity:.82}.auth-input-toggle:hover,.theme-toggle:hover{background:var(--color-surface-muted)}.member-intro h1 a:hover,.profile-name:hover{color:var(--color-primary)}button.kpi-card:hover{border-color:var(--color-chart-grid);box-shadow:var(--shadow-card)}.filter-button:not(.selected):hover,.page-button:not(:disabled):not(.disabled):not(.primary):not(.selected):hover,.ui-button.secondary:not(:disabled):hover{border-color:var(--color-primary-soft);background:var(--color-surface-muted);color:var(--color-primary);box-shadow:var(--shadow-card)}.page-button.primary:not(:disabled):hover,.page-button.selected:not(:disabled):hover,.ui-button.primary:not(:disabled):hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.page-button.danger:not(:disabled):hover,.ui-button.danger:not(:disabled):hover{box-shadow:var(--shadow-card)}.icon-button:not(:disabled):hover{background:var(--color-surface-muted);box-shadow:var(--shadow-card)}.icon-button.danger:not(:disabled):hover{background:var(--color-danger-soft)}.groups-table tbody tr{transition:background-color .14s}.group-info-table tbody tr:hover,.group-students-table tbody tr:hover,.groups-table-card .groups-table tbody tr:hover td,.homework-list-table tbody tr:hover td{background:var(--color-surface-muted)}.homework-dropzone:hover,.homework-upload-field:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}}select:not([multiple]){appearance:none;background-image:url(/assets/icons/groups-imgChevronDown.svg);background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:40px}.flow-period{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-secondary);border-radius:9px;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.homework-file-control{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden;width:1px!important;height:1px!important;padding:0!important}.homework-upload-icon{background:var(--color-primary);width:28px;height:28px;display:block;-webkit-mask:url(/assets/icons/homework-imgUpload.svg) 50%/contain no-repeat;mask:url(/assets/icons/homework-imgUpload.svg) 50%/contain no-repeat}.homework-upload-field{border:1px dashed var(--color-border);background:var(--color-surface-muted);text-align:center;cursor:pointer;border-radius:12px;place-items:center;min-height:116px;position:relative;padding:20px!important}.homework-dropzone strong,.homework-upload-field strong{color:var(--color-text-primary);font-size:15px;font-weight:700}.homework-upload-field>span:last-of-type{max-width:100%;color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:12px;font-weight:400}.form-hint{color:var(--color-text-secondary);margin:-6px 0 0;font-size:12px;line-height:1.5}.homework-existing-files{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:10px;gap:7px;padding:12px;font-size:13px;display:grid}.homework-existing-files span{color:var(--color-text-primary);font-weight:600}.homework-existing-files a{color:var(--color-primary);text-decoration:none}.homework-submit-card .homework-submit-note{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.homework-file-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.homework-file-list li{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.homework-file-name{overflow-wrap:anywhere;align-items:baseline;gap:8px;min-width:0;font-size:13px;font-weight:600;display:flex}.homework-file-name a{color:var(--color-primary);text-decoration:none}.homework-file-name em{color:var(--color-text-secondary);white-space:nowrap;font-size:11px;font-style:normal;font-weight:500}.homework-file-remove{background:var(--color-danger-soft);width:26px;height:26px;color:var(--color-danger);cursor:pointer;border:0;border-radius:7px;flex:none;place-items:center;font-size:18px;line-height:1;display:grid}.homework-workspace{gap:20px;display:grid}.homework-page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.homework-page-heading h2{margin:0 0 5px;font-size:20px}.homework-page-heading p{color:var(--color-text-secondary);margin:0;font-size:13px}.homework-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.homework-status-tabs{flex-wrap:wrap;gap:8px;display:flex}.homework-status-tabs .page-button{text-decoration:none}.homework-filter-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.homework-filter-form label{color:var(--color-text-secondary);gap:5px;font-size:11px;font-weight:600;display:grid}.homework-filter-form select{border:1px solid var(--color-border);background:var(--color-surface);min-width:150px;height:37px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 10px;font-size:13px}.homework-filter-form select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.homework-filter-form .page-button{text-decoration:none}.homework-list-table{border-collapse:separate;border-spacing:0 4px;min-width:820px}.homework-list-table th{font-weight:700}.homework-list-table td{background:0 0;border-bottom:0;transition:background-color .16s}.homework-list-table td:first-child{border-radius:10px 0 0 10px}.homework-list-table td:last-child{border-radius:0 10px 10px 0}.homework-list-table .group-name{white-space:normal;max-width:360px}.homework-list-table .group-name strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.homework-late-note{color:var(--color-danger);margin-top:5px;font-size:11px;font-weight:600;display:block}.homework-detail-page{gap:18px;padding:24px 32px 32px;display:grid}.homework-ai-card>*,.homework-brief>div,.homework-detail-page,.homework-detail-page>*,.homework-submission-card>*{min-width:0}.homework-ai-comment,.homework-answer-note span,.homework-brief h1,.homework-file-chip,.rank-name{overflow-wrap:anywhere}.homework-back{width:fit-content;color:var(--color-text-secondary);font-size:13px;font-weight:600;text-decoration:none}.homework-brief{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:24px;padding:28px;display:grid}.homework-brief>div:first-child>span{color:var(--color-primary);font-size:12px;font-weight:700}.homework-brief h1{margin:8px 0 10px;font-size:24px}.homework-brief p{max-width:760px;color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.65}.homework-brief dl{gap:10px;margin:0;display:grid}.homework-brief dl div{background:var(--color-surface-muted);border-radius:9px;justify-content:space-between;gap:18px;padding:10px 12px;display:flex}.homework-brief dt{color:var(--color-text-secondary);font-size:12px;font-weight:600}.homework-brief dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px;font-weight:600}.homework-attachments{border-top:1px solid var(--color-border);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding-top:18px;display:flex}.homework-attachments a{background:var(--color-primary-soft);color:var(--color-primary);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;text-decoration:none}.homework-submit-card{gap:18px;padding:28px;display:grid}.homework-submit-card h2{margin:0 0 5px;font-size:22px;font-weight:750}.homework-submit-card p{color:var(--color-text-secondary);margin:0;font-size:14px}.homework-submit-card>label{gap:7px;font-size:13px;font-weight:600;display:grid}.homework-submit-card textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);font:inherit;border-radius:10px;padding:12px;line-height:1.5}.homework-dropzone{border:1px dashed var(--color-border);background:var(--color-surface-muted);text-align:center;cursor:pointer;border-radius:12px;place-items:center;min-height:140px;padding:24px;position:relative}.homework-dropzone>span:not(.homework-upload-icon){max-width:100%;color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:12px;font-weight:400}.homework-submission-card{gap:16px;padding:24px 28px;display:grid}.homework-submission-card h2{margin:0;font-size:18px}.homework-submission-files{gap:10px;display:grid}.homework-file-grid{flex-wrap:wrap;gap:8px;display:flex}.homework-file-chip{border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-primary);border-radius:9px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none}a.homework-file-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.homework-answer-note{border-left:3px solid var(--color-primary);background:var(--color-surface-muted);border-radius:0 10px 10px 0;padding:14px 16px}.homework-answer-note span{color:var(--color-text-secondary);font-size:12px}.homework-answer-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;font-weight:600}.homework-review-card{gap:18px;padding:24px 28px 28px;display:grid}.homework-review-card>label{gap:7px;display:grid}.homework-review-card textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);font:inherit;border-radius:10px;padding:12px;line-height:1.5}.homework-review-hint{background:var(--color-primary-soft);color:var(--color-primary);border-radius:10px;gap:10px;margin:0;padding:12px 14px;font-size:13px;display:flex}.homework-score-field{gap:10px;display:grid}.homework-score-row{align-items:center;gap:16px;display:flex}.homework-score-range{accent-color:var(--color-success);flex:1}.homework-score-number{border:1px solid var(--color-border);background:var(--color-surface);width:76px;height:40px;color:var(--color-text-primary);font:inherit;text-align:center;border-radius:9px;padding:0 10px;font-weight:700}.homework-score-verdict{color:var(--color-success);font-size:12px;font-weight:600}.homework-score-verdict.returned{color:var(--color-danger)}.homework-field-label{align-items:baseline;gap:7px;display:flex}.homework-field-label strong{font-size:15px;font-weight:700}.homework-field-label small{color:var(--color-text-secondary);font-size:11px;font-weight:500}.homework-score-cell{color:var(--color-success);white-space:nowrap;font-weight:700}.homework-penalty{background:var(--color-warning-soft);color:var(--color-warning);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.homework-penalty span{font-size:13px}.homework-loading{gap:24px;display:grid}.homework-loading-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.homework-loading-heading>div{flex:1;gap:8px;display:grid}.homework-loading-table{gap:8px;display:grid}.homework-loading-row{background:var(--color-surface-muted);border-radius:10px;grid-template-columns:minmax(220px,1.6fr) minmax(100px,.8fr) minmax(110px,.7fr) minmax(150px,1fr) minmax(150px,1fr);align-items:center;gap:22px;min-height:66px;padding:0 16px;display:grid}.homework-loading-row.head{border-radius:8px;min-height:42px}.homework-loading-topic{gap:8px;display:grid}.spinner-loading{min-height:calc(100vh - 150px);color:var(--color-text-secondary);align-content:center;place-items:center;gap:10px;display:grid}.spinner-loading strong{color:var(--color-text-primary);font-size:15px}.spinner-loading>span:last-child{font-size:12px}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:34px;height:34px;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(1turn)}}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-card{overflow-x:auto}}@media (max-width:1100px){.loading-materials-heading{grid-template-columns:1fr;gap:14px}.homework-loading-table{overflow:hidden}.homework-loading-row{min-width:860px}}@media (max-width:1000px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-sidebar{width:210px}.topbar{flex-wrap:wrap}}@media (max-width:750px){.app-shell{padding:10px;display:block}.app-sidebar,.sidebar-collapsed .app-sidebar{border-radius:16px;width:100%;min-height:auto;margin-bottom:10px}.sidebar-header{display:none}.sidebar-nav{display:flex;overflow-x:auto}.nav-item{flex:none}.sidebar-collapsed .nav-item{width:auto;height:48px;padding:12px}.sidebar-collapsed .nav-item .nav-label{display:inline}.topbar{padding:16px}.topbar-heading{flex-wrap:wrap}.topbar-right{justify-content:flex-end;width:100%}.profile-chevron,.profile-copy{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-summary{gap:16px}.summary-item,.summary-item:first-child{min-width:100px}.flow-legend{display:none}.table-footer{flex-wrap:wrap}.people-workspace{padding:16px}.loading-filter-row,.loading-period-row{flex-wrap:wrap}.loading-detail-grid{grid-template-columns:1fr}.loading-identity{min-height:480px}.homework-detail-page,.loading-attendance,.loading-group-detail,.loading-profile-table-page{padding:16px 6px}.loading-materials-card{padding:14px;overflow:hidden}.loading-academic-head,.loading-academic-row{grid-template-columns:minmax(100px,1.4fr) 34px repeat(4,minmax(52px,1fr));gap:7px;padding-inline:7px}.homework-brief{grid-template-columns:1fr;padding:20px}.homework-submit-card{padding:20px}}@media (max-width:720px){.lb-row{grid-template-columns:24px auto minmax(0,1fr) auto;gap:10px;padding-inline:11px}.lb-bar{display:none}.lb-header{flex-direction:column}}@media (max-width:560px){.lb-hero{grid-template-columns:1fr}.lb-hero>div{min-height:0}.lb-avatar{width:44px;height:44px;font-size:14px}.lb-podium-item.medal-gold{--lb-pedestal:62px}.lb-podium-item.medal-silver{--lb-pedestal:46px}.lb-podium-item.medal-bronze{--lb-pedestal:36px}.lb-card{padding:16px}}@media (max-width:450px){.kpi-grid{grid-template-columns:1fr}.flow-header{flex-direction:column;align-items:start}.flow-card{height:auto}.flow-summary{margin-bottom:20px}.groups-toolbar{flex-direction:column;align-items:start}}.crm-page .group-detail-panel{border:1px solid var(--color-border);padding:20px}.crm-status-strip{border-radius:var(--radius-md);background:var(--color-surface-muted);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;padding:12px 14px;display:flex}.crm-status-strip>span{overflow-wrap:anywhere;gap:2px;min-width:0;font-size:13px;font-weight:650;display:grid}.crm-status-strip small{color:var(--color-text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.crm-hint,.crm-note{color:var(--color-text-secondary);margin:12px 0 0;font-size:12px;line-height:1.5}.crm-note{color:var(--color-points-strong);font-weight:650}.crm-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crm-actions select{border:1px solid var(--color-border);background:var(--color-surface);min-height:37px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 12px;font-size:13px}.crm-toggles{gap:10px;display:grid}.crm-toggles label{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;padding:12px 14px;display:grid}.crm-toggles input{width:18px;height:18px;accent-color:var(--color-points-strong);margin-top:2px}.crm-toggles span{gap:3px;display:grid}.crm-toggles strong{font-size:13px}.crm-toggles small{color:var(--color-text-secondary);font-size:11px}.crm-page select{border:1px solid var(--color-border);background:var(--color-surface);min-height:34px;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:0 10px;font-size:12px}.crm-id{font-size:12px;font-weight:650}.crm-error-cell,.crm-muted{color:var(--color-text-secondary);font-size:11px}.crm-error-cell{max-width:320px;overflow-wrap:anywhere}.crm-event-button{color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.crm-event-detail{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:6px;margin-top:14px;padding:14px;display:grid}.crm-event-detail strong{font-size:12px}.crm-event-detail pre{border-radius:var(--radius-sm);background:var(--color-surface);padding:11px;overflow-x:auto}.crm-event-detail pre,.crm-raw{color:var(--color-text-primary);margin:0;font-size:11px;line-height:1.5}.crm-raw{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);max-height:420px;padding:14px;overflow:auto}.crm-page>section{min-width:0}.crm-switch{border:1px solid var(--color-border);background:var(--color-surface-muted);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:8px 12px;font-size:12px;font-weight:650;display:inline-flex}.crm-switch input{width:17px;height:17px;accent-color:var(--color-points-strong)}.crm-tabs{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.crm-tabs button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:132px;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;gap:2px;padding:10px 14px;display:grid;position:relative}.crm-tabs button span{font-size:13px;font-weight:700}.crm-tabs button small{color:var(--color-text-secondary);font-size:10px;font-weight:600}.crm-tabs button.active{border-color:var(--color-primary);background:var(--color-primary-soft)}.crm-tabs button.active,.crm-tabs button.active small{color:var(--color-primary)}.crm-tabs button b{background:var(--color-warning);min-width:20px;color:var(--color-text-inverse);text-align:center;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:800;position:absolute;top:-7px;right:-7px}.crm-tabs button:disabled{opacity:.6;cursor:not-allowed}.crm-section{border-top:1px solid var(--color-border);gap:14px;margin-top:18px;padding-top:18px;display:grid}.crm-section-intro{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.55}.crm-section>.crm-hint,.crm-section>.crm-muted,.crm-section>.crm-note{margin:0}.crm-steps{counter-reset:crm-step;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.crm-steps li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);align-content:start;justify-items:start;gap:10px;min-height:66px;padding:12px 14px;display:grid}.crm-steps li>div{gap:3px;min-width:0;display:grid}.crm-steps strong{font-size:13px}.crm-steps small{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.crm-steps li.current{border-color:var(--color-primary);background:var(--color-primary-soft)}.crm-steps li.done{border-color:var(--color-points-strong)}.crm-review{border:1px solid var(--color-border);border-radius:var(--radius-md);gap:10px;padding:14px;display:grid}.crm-review>header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.crm-review-all{cursor:pointer;align-items:center;gap:8px;font-size:12px;font-weight:650;display:inline-flex}.crm-review li input,.crm-review-all input{width:16px;height:16px;accent-color:var(--color-primary)}.crm-review-filter{border:1px solid var(--color-border);background:var(--color-surface);min-height:36px;color:var(--color-text-primary);font:inherit;border-radius:9px;flex:200px;padding:0 12px;font-size:13px}.crm-review ul{gap:4px;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.crm-review li{background:var(--color-surface-muted);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.crm-review li label{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex}.crm-review li label>span{gap:2px;min-width:0;display:grid}.crm-review li strong{font-size:13px}.crm-review li small{color:var(--color-text-secondary);font-size:11px}.crm-review li code{color:var(--color-text-secondary);flex:none;font-size:10px}.crm-result{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crm-inline-field{gap:8px;font-weight:650}.crm-chip,.crm-inline-field{color:var(--color-text-secondary);align-items:center;font-size:12px;display:inline-flex}.crm-chip{background:var(--color-surface-muted);border-radius:999px;gap:6px;padding:7px 12px;font-weight:600}.crm-chip b{color:var(--color-text-primary);font-size:13px;font-weight:800}.crm-chip.good b{color:var(--color-points-strong)}.crm-chip.good{background:var(--color-points-soft)}.crm-chip.bad{background:var(--color-danger-soft)}.crm-chip.bad b{color:var(--color-danger)}.crm-linking{gap:12px;display:grid}.crm-linking-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:9px;justify-self:start;padding:8px 12px;font-size:12px;font-weight:650}.crm-link-block{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:12px;padding:14px;display:grid}.crm-link-block>.crm-hint{margin:0}.crm-link-list{gap:6px;max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.crm-link-list li{background:var(--color-surface);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.crm-link-list li>span:first-child{flex:200px;gap:2px;min-width:0;display:grid}.crm-link-list strong{font-size:13px}.crm-link-list small{color:var(--color-text-secondary);font-size:11px}.crm-link-list select{flex:0 260px;max-width:100%}.crm-event-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.crm-event-list li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.crm-event-list li>button{width:100%;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.crm-event-list li>button>span:first-child{gap:2px;min-width:0;display:grid}.crm-event-list strong{font-size:13px}.crm-event-list small{color:var(--color-text-secondary);font-size:11px}.crm-event-error{color:var(--color-danger);overflow-wrap:anywhere;margin:0;padding:0 13px 11px;font-size:11px}.crm-event-list .crm-event-detail{margin:0 13px 13px}@media (max-width:640px){.crm-tabs button{flex:calc(50% - 4px);min-width:0}.crm-steps li .ui-button{width:100%}.crm-review li code{display:none}}.learning-shell{grid-template-columns:252px minmax(0,1fr);gap:14px;padding:14px}.learning-shell .app-sidebar{border:1px solid var(--color-border);border-radius:22px;width:252px;height:calc(100dvh - 28px);min-height:0;padding:20px 14px;position:sticky;top:14px;overflow-y:auto}.learning-shell .sidebar-header{height:46px;margin-bottom:30px;padding-inline:6px}.learning-shell .sidebar-brand{width:auto;height:auto;box-shadow:none;border-radius:0;gap:9px;text-decoration:none;display:flex;overflow:visible}.learning-shell .sidebar-brand img{border-radius:11px;flex:none;width:36px;height:36px}.sidebar-brand-copy{gap:2px;display:grid}.sidebar-brand-copy>strong{color:var(--color-text-primary);letter-spacing:-.06em;font-size:29px;font-weight:850;line-height:1}.sidebar-brand-copy>strong>span{color:var(--color-primary)}.sidebar-brand-copy>small{color:var(--color-text-secondary);letter-spacing:.025em;font-size:9px}.sidebar-nav-caption{color:var(--color-text-secondary);letter-spacing:.09em;text-transform:uppercase;margin:0 12px 12px;font-size:10px;font-weight:650;display:block}.learning-shell .collapse-button{border-radius:8px;width:27px;height:27px}.learning-shell .sidebar-nav{gap:5px}.learning-shell .nav-item{border-radius:12px;height:46px;font-size:15px}.learning-shell .nav-item.active{font-weight:700}.learning-shell .topbar{border:1px solid var(--color-border);border-radius:20px;min-height:76px;padding:16px 24px}.learning-shell .topbar h1{letter-spacing:-.025em;font-size:21px}.learning-shell .role-badge{padding:5px 9px;font-size:10px}.learning-shell .topbar-right{gap:14px}.learning-shell.sidebar-collapsed,:root[data-sidebar=collapsed] .learning-shell{grid-template-columns:68px minmax(0,1fr)}.learning-shell.sidebar-collapsed .app-sidebar,:root[data-sidebar=collapsed] .learning-shell .app-sidebar{width:68px;padding-inline:10px}.learning-shell.sidebar-collapsed .sidebar-brand-copy,.learning-shell.sidebar-collapsed .sidebar-nav-caption,:root[data-sidebar=collapsed] .learning-shell .sidebar-brand-copy,:root[data-sidebar=collapsed] .learning-shell .sidebar-nav-caption{display:none}.learning-shell.sidebar-collapsed .sidebar-header,:root[data-sidebar=collapsed] .learning-shell .sidebar-header{height:auto;margin-bottom:24px;padding:0}.learning-shell.sidebar-collapsed .nav-item,:root[data-sidebar=collapsed] .learning-shell .nav-item{justify-content:center;width:46px;height:44px}@media (hover:hover){.learning-shell .nav-item:not(.active):hover{background:var(--color-surface-muted);color:var(--color-text-primary)}}@media (max-width:1180px){.learning-shell .topbar-heading{flex-wrap:wrap;gap:6px}}@media (min-width:751px) and (max-width:1050px){.learning-shell{grid-template-columns:206px minmax(0,1fr);gap:10px}.learning-shell .app-sidebar{width:206px;padding-inline:10px}.learning-shell .profile-copy{display:none}}@media (max-width:750px){.learning-shell{padding:8px;display:block}.learning-shell .app-sidebar,.learning-shell.sidebar-collapsed .app-sidebar,:root[data-sidebar=collapsed] .learning-shell .app-sidebar{border-radius:16px;width:100%;height:auto;margin-bottom:8px;padding:9px;position:static}.learning-shell .sidebar-header,.learning-shell .sidebar-nav-caption{display:none}.learning-shell .sidebar-nav{gap:5px;padding:1px}.learning-shell .nav-item,.learning-shell.sidebar-collapsed .nav-item,:root[data-sidebar=collapsed] .learning-shell .nav-item{width:auto;height:40px;padding:8px 12px}.learning-shell.sidebar-collapsed .nav-item .nav-label,:root[data-sidebar=collapsed] .learning-shell .nav-item .nav-label{display:inline}.learning-shell .nav-active-icon,.learning-shell .nav-item img{width:20px;height:20px}.learning-shell .topbar{border-radius:16px;gap:12px;min-height:66px;padding:14px 16px}.learning-shell .topbar-right{width:auto;margin-left:auto}.learning-shell .topbar h1{font-size:18px}.learning-shell .role-badge{display:none}}.dashboard-period{gap:10px;display:grid}.dashboard-period-head{gap:3px;display:grid}.dashboard-period-head h2{margin:0;font-size:15px;font-weight:700}.dashboard-period-head p{color:var(--color-text-secondary);margin:0;font-size:12px}.dashboard-period-head strong{color:var(--color-primary)}.dashboard-period .teacher-stat-filters{border-radius:var(--radius-lg);background:var(--color-surface);padding:14px 16px}.next-lesson{background:linear-gradient(135deg,var(--next-lesson-tint,var(--color-primary-soft)),var(--color-surface) 62%);border:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 28px;padding:24px 26px;display:flex;position:relative;overflow:hidden}.next-lesson:before{content:"";background:var(--next-lesson-accent,var(--color-primary));width:5px;position:absolute;top:0;bottom:0;left:0}.next-lesson.live{--next-lesson-accent:var(--color-success);--next-lesson-tint:var(--color-success-soft)}.next-lesson.calm{--next-lesson-accent:var(--color-points-strong);--next-lesson-tint:var(--color-points-soft)}.next-lesson.soon{--next-lesson-accent:var(--color-warning);--next-lesson-tint:var(--color-warning-soft)}.next-lesson.urgent{--next-lesson-accent:var(--color-danger);--next-lesson-tint:var(--color-danger-soft)}.next-lesson.done{--next-lesson-accent:var(--color-text-secondary);--next-lesson-tint:var(--color-surface-muted)}.next-lesson.empty{--next-lesson-accent:var(--color-border);--next-lesson-tint:var(--color-surface-muted)}.next-lesson-kicker{color:var(--next-lesson-accent,var(--color-text-secondary))}.next-lesson-copy{flex:320px;gap:7px;min-width:240px;display:grid}.next-lesson-kicker{color:var(--color-text-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.next-lesson-copy h2{letter-spacing:-.02em;margin:0;font-size:clamp(19px,2vw,25px);font-weight:780}.next-lesson-topic{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:13px}.next-lesson-facts{flex-wrap:wrap;gap:10px 22px;margin:4px 0 0;display:flex}.next-lesson-facts div{gap:2px;display:grid}.next-lesson-facts dt{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.next-lesson-facts dd{font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:650}.next-lesson-timing{color:var(--color-text-secondary);align-items:center;gap:7px;font-size:12px;font-weight:650;display:inline-flex}.next-lesson-timing.live{color:var(--color-success)}.next-lesson-timing.live i{background:currentColor;border-radius:50%;width:8px;height:8px;animation:next-lesson-pulse 1.4s ease-in-out infinite}.next-lesson-actions{justify-items:stretch;gap:8px;min-width:200px;display:grid}.next-lesson-actions .page-button{text-align:center;justify-content:center;text-decoration:none}.next-lesson-note{color:var(--color-text-secondary);font-size:11px;line-height:1.45}.next-lesson.empty .next-lesson-copy p{color:var(--color-text-secondary);margin:0;font-size:13px}@keyframes next-lesson-pulse{0%,to{opacity:1}50%{opacity:.25}}.timetable{gap:14px;padding:20px 22px;display:grid}.timetable-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.timetable-head h2{margin:0;font-size:17px;font-weight:740}.timetable-nav{gap:6px;display:flex}.timetable-nav button{border:1px solid var(--color-border);background:var(--color-surface);min-height:34px;color:var(--color-text-primary);border-radius:9px;padding:0 12px;font-size:12px;font-weight:650}.timetable-empty{color:var(--color-text-secondary);margin:0;font-size:13px}.timetable-grid{grid-template-columns:48px repeat(7,minmax(0,1fr));gap:6px;display:grid;overflow-x:auto}.timetable-hours{min-height:420px;margin-top:36px;position:relative}.timetable-hours span{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;right:4px;transform:translateY(-50%)}.timetable-day{grid-template-rows:36px minmax(0,1fr);min-width:74px;display:grid}.timetable-day>header{justify-items:center;gap:1px;padding-bottom:5px;display:grid}.timetable-day>header strong{font-size:12px;font-weight:750}.timetable-day>header small{color:var(--color-text-secondary);font-size:10px}.timetable-day.today>header strong{color:var(--color-primary)}.timetable-column{background:var(--color-surface-muted);border-radius:10px;min-height:420px;position:relative}.timetable-day.today .timetable-column{background:var(--color-primary-soft)}.timetable-rule{background:var(--color-border);height:1px}.timetable-now,.timetable-rule{position:absolute;left:0;right:0}.timetable-now{z-index:2;background:var(--color-danger);height:2px}.timetable-slot{z-index:1;background:var(--color-primary);min-height:34px;color:var(--color-text-inverse);border-radius:8px;align-content:center;gap:1px;padding:5px 7px;text-decoration:none;display:grid;position:absolute;left:3px;right:3px;overflow:hidden}.timetable-slot strong{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:11px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.timetable-slot small{opacity:.85;font-variant-numeric:tabular-nums;font-size:9px}.timetable-slot em{opacity:.85;font-size:9px;font-style:normal}.timetable-slot.marked{background:var(--color-success)}.timetable-slot.planned{border:1px dashed var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.timetable-slot.running{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-danger)}.timetable-legend{flex-wrap:wrap;gap:14px;display:flex}.timetable-legend .legend{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:11px;display:inline-flex}.timetable-legend .legend:before{content:"";background:var(--color-primary);border-radius:3px;width:10px;height:10px}.timetable-legend .legend.running:before{background:var(--color-danger)}.timetable-legend .legend.marked:before{background:var(--color-success)}.timetable-legend .legend.planned:before{border:1px dashed var(--color-text-secondary);background:var(--color-surface)}@media (hover:hover) and (pointer:fine){a.timetable-slot:hover{filter:brightness(1.08)}.timetable-nav button:hover{border-color:var(--color-primary);color:var(--color-primary)}}@media (max-width:750px){.next-lesson-actions{width:100%;min-width:0}.timetable{padding:16px 14px}.timetable-grid{grid-template-columns:40px repeat(7,minmax(70px,1fr))}}.homework-ai-card{gap:14px;padding:22px 26px;display:grid}.homework-ai-card>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.homework-ai-card h2{margin:0 0 3px;font-size:17px;font-weight:740}.homework-ai-card>header p{max-width:520px;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.homework-ai-prompt{gap:7px;display:grid}.homework-ai-prompt textarea{border:1px solid var(--color-border);background:var(--color-surface-muted);width:100%;color:var(--color-text-primary);font:inherit;resize:vertical;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.5}.homework-ai-result{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);gap:12px;padding:16px 18px;display:grid}.homework-ai-score{align-items:baseline;gap:10px;display:flex}.homework-ai-score strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:34px;font-weight:860;line-height:1}.homework-ai-score small{color:var(--color-text-secondary);font-size:12px}.homework-ai-comment{margin:0;font-size:13px;line-height:1.6}.homework-ai-result ul{color:var(--color-text-secondary);gap:4px;margin:5px 0 0;padding-left:18px;font-size:12px;line-height:1.5;display:grid}.homework-ai-result ul li::marker{color:var(--color-success)}.homework-ai-result ul.gaps li::marker{color:var(--color-warning)}.homework-ai-result footer{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.homework-ai-result footer small{color:var(--color-text-secondary);font-size:11px}.homework-score-bands{flex-wrap:wrap;gap:6px;margin:2px 0 0;display:flex}.homework-band{border:1px solid var(--color-border);background:var(--color-surface-muted);color:inherit;font:inherit;cursor:pointer;border-radius:999px;align-items:baseline;gap:5px;padding:6px 11px;font-size:11px;transition:border-color .14s,background-color .14s;display:inline-flex}.homework-band b{font-variant-numeric:tabular-nums;font-weight:800}.homework-band span{color:var(--color-text-secondary)}.homework-band.current{border-color:var(--color-success);background:var(--color-success-soft)}.homework-band.current b,.homework-band.current span{color:var(--color-success)}.homework-band:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-progress{z-index:90;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);pointer-events:none;background-repeat:no-repeat;background-size:42% 100%;height:3px;animation:nav-progress-sweep 1.1s ease-in-out infinite;position:fixed;top:0;left:0;right:0}@keyframes nav-progress-sweep{0%{background-position:-45% 0}to{background-position:145% 0}}.nav-overlay{z-index:89;background:var(--color-background);place-items:center;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.nav-overlay{background:color-mix(in srgb,var(--color-background) 86%,transparent)}}.nav-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:nav-overlay-in .14s ease-out}.nav-overlay .spinner-loading{min-height:0}@keyframes nav-overlay-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.nav-progress{background:var(--color-primary);background-size:100% 100%}.nav-overlay,.nav-progress{animation:none}}.button-spinner,.icon-button[aria-busy=true]:before,.page-button[aria-busy=true]:before{content:"";opacity:.75;border:2px solid;border-top:2px solid #0000;border-radius:50%;flex:none;width:14px;height:14px;animation:loading-spin .7s linear infinite;display:inline-block}.icon-button[aria-busy=true],.page-button[aria-busy=true],.ui-button.busy{cursor:progress}.icon-button[aria-busy=true] img{display:none}@media (prefers-reduced-motion:reduce){.button-spinner,.icon-button[aria-busy=true]:before,.page-button[aria-busy=true]:before{animation:none}}.row-leaving{opacity:.4}a[data-navigating]{opacity:.7;cursor:progress}a[data-navigating]:after{content:"";vertical-align:-2px;border:2px solid;border-top:2px solid #0000;border-radius:50%;flex:none;width:12px;height:12px;margin-left:7px;animation:loading-spin .7s linear infinite;display:inline-block}a.icon-button[data-navigating] img{display:none}a.icon-button[data-navigating]:after{width:15px;height:15px;margin-left:0}.nav-item[data-navigating]:after{margin-left:auto}@media (prefers-reduced-motion:reduce){a[data-navigating]:after{animation:none}}.teacher-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.teacher-card{border:1px solid var(--color-border);text-align:left;min-height:168px;font:inherit;color:inherit;cursor:pointer;align-content:start;gap:6px;padding:20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden}.teacher-card.accent-blue{--card-accent:var(--color-primary);--card-tint:var(--color-primary-soft)}.teacher-card.accent-violet{--card-accent:var(--color-groups-purple);--card-tint:var(--color-groups-purple)}@supports (color:color-mix(in lab,red,red)){.teacher-card.accent-violet{--card-tint:color-mix(in srgb,var(--color-groups-purple) 12%,var(--color-surface))}}.teacher-card.accent-green{--card-accent:var(--color-points-strong);--card-tint:var(--color-points-soft)}.teacher-card.accent-amber{--card-accent:var(--color-revenue-orange);--card-tint:var(--color-revenue-orange)}@supports (color:color-mix(in lab,red,red)){.teacher-card.accent-amber{--card-tint:color-mix(in srgb,var(--color-revenue-orange) 12%,var(--color-surface))}}.teacher-card.active{border-color:var(--card-accent);background:linear-gradient(180deg,var(--card-tint),var(--color-surface) 70%);box-shadow:0 0 0 3px var(--card-accent)}@supports (color:color-mix(in lab,red,red)){.teacher-card.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent) 18%,transparent)}}.teacher-card:focus-visible{outline:2px solid var(--card-accent);outline-offset:2px}.teacher-card-label{color:var(--color-text-secondary);font-size:12px;font-weight:650}.teacher-card-value{color:var(--card-accent);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(32px,3.4vw,46px);font-weight:860;line-height:1.05}.teacher-card-note{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.teacher-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.teacher-card-chip{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:999px;padding:4px 9px;font-size:11px;font-style:normal;font-weight:700}.teacher-card-chip.good{background:var(--color-success-soft);color:var(--color-success)}.teacher-card-chip.bad{background:var(--color-danger-soft);color:var(--color-danger)}.teacher-card-chip.warn{background:var(--color-warning-soft);color:var(--color-warning)}.teacher-card-foot i{color:var(--card-accent);font-size:11px;font-style:normal;font-weight:700}.teacher-panel{gap:16px;padding:20px 22px;display:grid}.teacher-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-panel-head h3{margin:0;font-size:17px;font-weight:740}.teacher-panel-period{color:var(--color-text-secondary);font-size:12px}.teacher-panel-switch{background:var(--color-surface-muted);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.teacher-panel-switch button{min-height:30px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:12px;font-weight:650}.teacher-panel-switch button.selected{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card)}.teacher-panel-body{gap:16px;display:grid}.teacher-panel-note{color:var(--color-text-secondary);margin:0;font-size:12.5px;line-height:1.6}.teacher-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.teacher-facts article{background:var(--color-surface-muted);border-radius:13px;gap:3px;padding:13px 15px;display:grid}.teacher-facts span{color:var(--color-text-secondary);font-size:11px}.teacher-facts strong{font-variant-numeric:tabular-nums;font-size:19px;font-weight:780}.teacher-panel-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.rank-list{border:1px solid var(--color-border);border-radius:14px;align-content:start;gap:8px;padding:14px 16px;display:grid}.rank-list h4{margin:0;font-size:12px;font-weight:740}.rank-list.good h4{color:var(--color-success)}.rank-list.bad h4{color:var(--color-danger)}.rank-list ol{counter-reset:rank;gap:9px;margin:0;padding:0;list-style:none;display:grid}.rank-list li{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;display:grid}.rank-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:620;overflow:hidden}.rank-detail{color:var(--color-text-secondary);grid-column:1;font-size:11px}.rank-list li b{font-variant-numeric:tabular-nums;grid-area:1/2/span 2;align-self:center;font-size:15px;font-weight:800}.rank-list.good li b{color:var(--color-success)}.rank-list.bad li b{color:var(--color-danger)}.rank-list li i{background:var(--color-border);border-radius:999px;grid-column:1/-1;height:4px;overflow:hidden}.rank-list li i span{border-radius:inherit;background:var(--color-text-secondary);height:100%;display:block}.rank-list.good li i span{background:var(--color-success)}.rank-list.bad li i span{background:var(--color-danger)}.rank-empty{color:var(--color-text-secondary);margin:0;font-size:12px}.month-calendar{gap:12px;display:grid}.month-calendar h3{margin:0;font-size:17px;font-weight:740}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-weekday{color:var(--color-text-secondary);text-align:center;padding-bottom:2px;font-size:11px;font-weight:700}.month-day{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:start;gap:4px;min-height:86px;padding:7px;display:grid}.month-day.outside{opacity:.45}.month-day.today{border-color:var(--color-primary);background:var(--color-primary-soft)}.month-day-number{color:var(--color-text-secondary);font-size:11px;font-weight:700}.month-day.today .month-day-number{color:var(--color-primary)}.month-chip{background:var(--color-primary);color:var(--color-text-inverse);border-radius:8px;gap:1px;padding:5px 7px;text-decoration:none;display:grid}.month-chip b{font-variant-numeric:tabular-nums;opacity:.9;font-size:10px;font-weight:800}.month-chip span{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:11px;font-weight:650;line-height:1.2;display:-webkit-box;overflow:hidden}.month-chip.marked{background:var(--color-success)}.month-chip.planned{border:1px dashed var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}@media (hover:hover) and (pointer:fine){a.month-chip:hover{filter:brightness(1.08)}.teacher-card:hover{border-color:var(--card-accent);transform:translateY(-1px)}.teacher-panel-switch button:not(.selected):hover{color:var(--color-text-primary)}}@media (max-width:1100px){.teacher-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.teacher-cards{grid-template-columns:1fr}.teacher-card{min-height:0}.month-grid{gap:3px}.month-day{min-height:64px;padding:4px}.month-chip{padding:3px 4px}.month-chip span{-webkit-line-clamp:1;line-clamp:1}}.next-lesson-button{background:var(--next-lesson-accent,var(--color-primary));color:var(--color-text-inverse);box-shadow:0 6px 18px var(--next-lesson-accent,var(--color-primary));border-radius:13px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:2px 10px;padding:12px 18px;text-decoration:none;display:grid}@supports (color:color-mix(in lab,red,red)){.next-lesson-button{box-shadow:0 6px 18px color-mix(in srgb,var(--next-lesson-accent,var(--color-primary)) 32%,transparent)}}.next-lesson-button>span{background:#ffffff38;border-radius:50%;grid-row:1/span 2;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.next-lesson-button b{font-size:15px;font-weight:740}.next-lesson-button small{opacity:.85;font-size:11px}@media (hover:hover) and (pointer:fine){.next-lesson-button:hover{filter:brightness(1.06)}}.month-day.this-week{border-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.month-day.this-week{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}}.month-day.this-week{background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.month-day.this-week{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}}.next-lesson-countdown{border:1px solid var(--next-lesson-accent);align-self:start;align-items:center;gap:9px;margin-top:2px;padding:8px 14px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.next-lesson-countdown{border:1px solid color-mix(in srgb,var(--next-lesson-accent) 40%,transparent)}}.next-lesson-countdown{background:var(--color-surface);border-radius:999px}.next-lesson-countdown b{color:var(--next-lesson-accent);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:860}.next-lesson-countdown>span{color:var(--color-text-secondary);font-size:12px;font-weight:650}.next-lesson-countdown i{background:var(--next-lesson-accent);border-radius:50%;width:8px;height:8px;animation:next-lesson-pulse 1.4s ease-in-out infinite}.next-lesson.urgent .next-lesson-countdown{animation:next-lesson-pulse 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.next-lesson-countdown i,.next-lesson.urgent .next-lesson-countdown{animation:none}}.bulk-bar{border:1px solid var(--color-primary);border-radius:var(--radius-lg);background:var(--color-primary-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;display:flex}.bulk-bar strong{color:var(--color-primary);font-size:13px;font-weight:700}.bulk-bar>div{flex-wrap:wrap;gap:8px;display:flex}.bulk-bar .page-button.danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-text-inverse)}.bulk-checkbox{width:17px;height:17px;accent-color:var(--color-primary);cursor:pointer}.groups-table td.bulk-cell,.groups-table th.bulk-cell{width:34px;padding-right:0}.homework-ai-card{--ai-from:#8b5cf6;--ai-to:#ec4899;background:linear-gradient(var(--color-surface),var(--color-surface)) padding-box,linear-gradient(118deg,var(--ai-from),var(--ai-to)) border-box;border:1px solid #0000;position:relative}.homework-ai-card h2{align-items:center;gap:8px;display:inline-flex}.ai-mark{background:linear-gradient(135deg,var(--ai-from),var(--ai-to));color:#fff;border-radius:8px;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.ai-text{background:linear-gradient(100deg,var(--ai-from),var(--ai-to),var(--ai-from));color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:ai-shimmer 4.5s linear infinite}.ai-button{--ai-from:#8b5cf6;--ai-to:#ec4899;background:linear-gradient(var(--color-surface),var(--color-surface)) padding-box,linear-gradient(118deg,var(--ai-from),var(--ai-to)) border-box;border-color:#0000;gap:12px}.ai-button .button-spinner{border-color:var(--ai-from)}@supports (color:color-mix(in lab,red,red)){.ai-button .button-spinner{border-color:color-mix(in srgb,var(--ai-from) 35%,transparent)}}.ai-button .button-spinner{border-top-color:var(--ai-to);opacity:1}.ai-button.busy{box-shadow:0 0 0 3px var(--ai-from)}@supports (color:color-mix(in lab,red,red)){.ai-button.busy{box-shadow:0 0 0 3px color-mix(in srgb,var(--ai-from) 14%,transparent)}}.ai-button.busy .ai-text{animation-duration:1.4s}.homework-ai-score strong.ai-text{font-size:36px}@keyframes ai-shimmer{to{background-position:-220% 0}}@media (hover:hover) and (pointer:fine){.ai-button:not(:disabled):hover{box-shadow:0 0 0 3px var(--ai-from)}@supports (color:color-mix(in lab,red,red)){.ai-button:not(:disabled):hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--ai-from) 16%,transparent)}}.homework-band:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}}@media (prefers-reduced-motion:reduce){.ai-text{animation:none}}.quick-points-dialog{width:min(420px,100%)}.quick-points-amount{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;display:grid}.quick-points-amount>span{color:var(--color-success);font-size:28px;font-weight:900;line-height:1}.quick-points-amount input{width:100%;color:var(--color-text-primary);font:inherit;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:860;background:0 0!important;border:0!important;height:auto!important;padding:0!important}.quick-points-amount input:focus-visible{outline:none;box-shadow:none!important}.quick-points-amount small{color:var(--color-text-secondary);font-size:12px;font-weight:650}.quick-points-amount.taking{border-color:var(--color-danger);background:var(--color-danger-soft)}.quick-points-amount.taking input,.quick-points-amount.taking>span{color:var(--color-danger)}.quick-points-presets{flex-wrap:wrap;gap:7px;display:flex}.quick-points-presets button{border:1px solid var(--color-border);background:var(--color-surface);min-height:34px;color:var(--color-text-primary);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;padding:0 13px;font-size:12px;font-weight:700}.quick-points-presets button.flip{margin-left:auto}.quick-points-dialog label small,.quick-points-presets button.flip{color:var(--color-text-secondary);font-weight:600}.icon-button.points{color:var(--color-points-strong);font-size:15px}@media (hover:hover) and (pointer:fine){.quick-points-presets button:hover{border-color:var(--color-primary);color:var(--color-primary)}.icon-button.points:hover{background:var(--color-points-soft)}}.smooth-chart{position:relative}.smooth-chart svg{width:100%;height:clamp(150px,22vh,190px);display:block;overflow:visible}.smooth-chart-rule{stroke:var(--color-chart-grid);stroke-width:1px}.smooth-chart-line{fill:none;stroke:var(--chart-accent,var(--color-primary));stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.smooth-chart-guide{stroke:var(--chart-accent,var(--color-primary));stroke-width:1px;stroke-dasharray:3 4;opacity:.55}.smooth-chart-dot{fill:var(--color-surface);stroke:var(--chart-accent,var(--color-primary));stroke-width:2.5px}.smooth-chart-axis{height:16px;margin-top:2px;position:relative}.smooth-chart-axis span{color:var(--color-chart-footnote);white-space:nowrap;font-size:10px;position:absolute;transform:translate(-50%)}.smooth-chart-axis span:first-child{transform:none}.smooth-chart-axis span:last-child{transform:translate(-100%)}.smooth-chart-readout{background:var(--color-surface);border-radius:10px;justify-items:end;gap:1px;padding:6px 10px;display:grid;position:absolute;top:0;right:0}@supports (color:color-mix(in lab,red,red)){.smooth-chart-readout{background:color-mix(in srgb,var(--color-surface) 86%,transparent)}}.smooth-chart-readout{pointer-events:none}.smooth-chart-readout strong{color:var(--chart-accent,var(--color-primary));font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.smooth-chart-readout span{color:var(--color-text-secondary);font-size:10px}.smooth-chart-empty{color:var(--color-text-secondary);margin:0;font-size:12px}.chart-accent.blue{--chart-accent:var(--color-primary)}.chart-accent.green{--chart-accent:var(--color-points-strong)}.chart-accent.violet{--chart-accent:var(--color-groups-purple)}.chart-accent.amber{--chart-accent:var(--color-revenue-orange)}.teacher-card-value{overflow-wrap:anywhere}.teacher-card-value.long{font-size:clamp(20px,2vw,27px)}.bulk-acknowledge{border:1px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);cursor:pointer;border-radius:11px;align-items:center;gap:10px;padding:11px 13px;font-size:12.5px;font-weight:650;display:flex}.bulk-acknowledge input{width:17px;height:17px;accent-color:var(--color-danger);flex:none}.finance-list-table td.bulk-cell,.finance-list-table th.bulk-cell{width:34px;padding-right:0}.person-link{color:inherit;text-decoration:none}.person-link:focus-visible,.person-link:focus-visible strong{color:var(--color-primary)}.student-demo-heading{margin:16px 0;padding:20px 24px}.student-demo-heading h2{margin:0 0 4px;font-size:20px}.student-demo-heading p{margin:0}.student-demo-title{align-items:center;gap:14px;display:flex}.profile-back-link{text-decoration:none}.live-profile-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.live-profile-details>div{background:var(--color-surface-muted);border-radius:9px;min-height:68px;padding:12px 14px}.live-profile-details dt{color:var(--color-text-secondary);font-size:12px;font-weight:600}.live-profile-details dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:15px;font-weight:700;line-height:1.4}.student-profile-avatar{background:var(--color-student-avatar-background);color:var(--color-primary)}.live-profile-payments{min-height:390px}.profile-payment-error{margin:18px 4px}.person-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:6px}.profile-student-fields{border:1px solid var(--color-border);border-radius:10px;gap:12px;margin:4px 0 0;padding:14px;display:grid}.profile-student-fields legend{color:var(--color-text-primary);padding:0 6px;font-size:13px;font-weight:700}.birthday-banner{border:1px solid var(--color-warning);border-radius:var(--radius-md);background:linear-gradient(120deg,var(--color-warning-soft),var(--color-primary-soft));text-align:center;justify-content:center;align-items:center;gap:18px;margin:0 0 20px;padding:18px 24px;display:flex;position:relative;overflow:hidden}.birthday-banner strong{color:var(--color-text-primary);font-size:17px}.birthday-banner p{color:var(--color-text-secondary);margin:5px 0 0;font-size:13px}.birthday-confetti{flex:none;font-size:30px;animation:birthday-bounce 1.8s ease-in-out infinite}.birthday-confetti:last-child{animation-delay:.35s}.student-detail-grid a{color:var(--color-primary);text-decoration:none}.topbar.compact{gap:12px;padding-inline:20px}.topbar.compact h1{white-space:normal;font-size:20px}.topbar.compact .topbar-heading{gap:10px}.topbar.compact .topbar-right{gap:12px}.topbar.compact .profile{gap:8px}.teacher-page{padding:24px 32px 32px}.teacher-profile-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.teacher-profile-actions .teacher-navigation{flex:1}.teacher-action-buttons{gap:8px;margin-bottom:20px;display:flex}.page-button.danger{border-color:var(--color-danger);color:var(--color-danger)}.teacher-navigation{justify-content:space-between;gap:16px}.teacher-navigation,.teacher-tabs{align-items:center;margin-bottom:20px;display:flex}.teacher-tabs{flex-wrap:wrap;gap:8px}.teacher-tab{justify-content:center;align-items:center;min-width:76px;padding:0 14px;text-decoration:none;display:inline-flex}.teacher-section-menu a:focus-visible,.teacher-section-menu summary:focus-visible,.teacher-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.teacher-section-menu{z-index:2;position:relative}.teacher-section-menu summary{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:9px;align-items:center;gap:8px;min-height:37px;padding:0 12px;font-size:13px;font-weight:600;list-style:none;display:flex}.teacher-section-menu summary::-webkit-details-marker{display:none}.teacher-section-menu summary img{width:16px;height:16px}.teacher-section-menu[open] summary img{transform:rotate(180deg)}.teacher-section-menu nav{border:1px solid var(--color-border);background:var(--color-surface);min-width:190px;box-shadow:var(--shadow-card);border-radius:10px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.teacher-section-menu nav a{color:var(--color-text-primary);border-radius:7px;padding:10px 12px;font-size:13px;text-decoration:none}.teacher-section-menu nav a[aria-current=page]{background:var(--color-primary-soft);color:var(--color-primary)}.teacher-profile-grid{grid-template-columns:minmax(240px,280px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.teacher-identity{border:1px solid var(--color-border);flex-direction:column;align-items:center;padding:28px 22px 18px;display:flex}.teacher-portrait{border:3px solid var(--color-primary);object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:12px}.teacher-portrait-fallback{background:var(--color-teacher-avatar-background);color:var(--color-teacher-avatar-text);place-items:center;font-size:40px;font-weight:700;display:grid}.avatar-uploader{flex-direction:column;align-items:center;gap:6px;margin-bottom:12px;display:flex}.avatar-uploader-portrait{width:96px;height:96px;position:relative}.avatar-uploader-portrait .teacher-portrait{margin-bottom:0}.avatar-uploader-edit{border:2px solid var(--color-surface);background:var(--color-primary-soft);cursor:pointer;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;bottom:-2px;right:-2px}.avatar-uploader-edit:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar-uploader-edit:disabled{cursor:not-allowed;opacity:.6}.avatar-uploader-edit img{width:13px;height:13px}.avatar-uploader-status{color:var(--color-text-secondary);font-size:11px}.teacher-identity-name{text-align:center;margin-top:12px;font-size:21px;font-weight:750;line-height:1.3}.teacher-identity-role{color:var(--color-text-secondary);margin-top:4px;font-size:14px;font-weight:600}.teacher-contact-list{width:100%;margin:22px 0 8px}.teacher-contact-list div{border-top:1px solid var(--color-border);padding:9px 0}.teacher-contact-list dt{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:600}.teacher-contact-list dd{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:700;line-height:1.4}.teacher-contact-list a{color:var(--color-primary);text-decoration:none;transition:color .15s}@media (hover:hover) and (pointer:fine){.person-link:hover,.person-link:hover strong{color:var(--color-primary)}.teacher-section-menu nav a:hover{background:var(--color-primary-soft);color:var(--color-primary)}.avatar-uploader-edit:hover{background:var(--color-surface-muted);box-shadow:var(--shadow-card)}.teacher-contact-list a:hover{color:var(--color-primary-hover)}}.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:8px 0 0;display:grid}.teacher-metrics>div{background:var(--color-surface-muted);border-radius:10px;align-content:space-between;gap:9px;min-height:80px;padding:12px;display:grid}.teacher-metrics dt{color:var(--color-text-secondary);font-size:12px;font-weight:600;line-height:1.3}.teacher-metrics dd{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:750;line-height:1.25}.teacher-metrics dd.tone-points{color:var(--color-points-strong)}.teacher-start-date{color:var(--color-text-secondary);align-self:flex-start;margin:12px 0 0;font-size:11px}.teacher-overview{gap:16px;min-width:0;display:grid}.teacher-panel{border:1px solid var(--color-border);padding:20px}.teacher-balance{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-balance>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.teacher-balance>div span{color:var(--color-text-secondary);font-size:13px}.teacher-balance>div strong{font-size:16px}.teacher-panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.teacher-panel-heading h2{margin:0;font-size:19px;font-weight:750}.teacher-panel-heading p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.teacher-count{background:var(--color-primary-soft);color:var(--color-primary);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.teacher-group-list{gap:8px;display:grid}.teacher-group-item{background:var(--color-surface-muted);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:10px 14px;display:flex}.teacher-group-item>div{gap:4px;display:grid}.teacher-group-item strong{font-size:15px;font-weight:700}.teacher-group-item div span{color:var(--color-text-secondary);font-size:12px;font-weight:550}.teacher-empty-note{color:var(--color-text-secondary);margin:6px 0;font-size:13px}.student-learning-panel{min-width:0}.student-learning-groups{gap:14px;display:grid}.student-learning-group{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:11px;min-width:0;padding:16px}.student-learning-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.student-learning-header>div{gap:4px;display:grid}.student-learning-title{color:var(--color-primary);font-size:17px;font-weight:750}.student-learning-header>div>span{color:var(--color-text-secondary);font-size:11px}.student-learning-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.student-learning-meta>div{min-width:0}.student-learning-meta dt{color:var(--color-text-secondary);margin-bottom:4px;font-size:11px;font-weight:600}.student-learning-meta dd{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700}.student-lesson-strip{scrollbar-width:thin;gap:4px;padding:5px 2px 12px;display:flex;overflow-x:auto}.student-lesson-cell{border:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-text-secondary);cursor:help;border-radius:7px;flex:0 0 56px;place-items:center;font-size:11px;font-weight:650;display:grid;position:relative}.student-lesson-cell.present{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.student-lesson-cell.late{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.student-lesson-cell.absent,.student-lesson-cell.cancelled{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.student-lesson-cell.completed{background:var(--color-schedule-past);color:var(--color-text-primary)}.student-lesson-cell:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.student-lesson-cell:after{z-index:5;background:var(--color-collapse-background);width:max-content;max-width:230px;color:var(--color-text-inverse);content:attr(data-tooltip);opacity:0;pointer-events:none;border-radius:7px;padding:8px 10px;font-size:11px;font-weight:500;line-height:1.35;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.student-lesson-cell:focus-visible:after,.student-lesson-cell:hover:after{opacity:1;transform:translate(-50%)}.student-journal-link{color:var(--color-primary);font-size:12px;font-weight:650;text-decoration:none;display:inline-block}@keyframes birthday-bounce{0%,to{transform:rotate(-6deg)translateY(0)}50%{transform:rotate(6deg)translateY(-4px)}}.teacher-statistics{gap:16px;display:grid}.teacher-stat-filters{border:1px solid var(--color-border);flex-wrap:wrap;align-items:end;gap:12px;padding:20px;display:flex}.teacher-stat-filters label{min-width:160px;color:var(--color-text-secondary);flex:1;gap:7px;font-size:12px;font-weight:600;display:grid}.teacher-stat-filters select{background-color:var(--color-surface);padding:0 32px 0 12px}.teacher-stat-filters input,.teacher-stat-filters select{border:1px solid var(--color-border);width:100%;height:39px;color:var(--color-text-primary);border-radius:8px;font-size:13px}.teacher-stat-filters input{background:var(--color-surface);padding:0 12px}.teacher-stat-filters .period-error{flex-basis:100%}.teacher-stat-filters .page-button{height:39px}.teacher-stat-period{color:var(--color-text-secondary);margin:0;padding:16px 20px 0;font-size:13px}.teacher-stat-period strong{color:var(--color-text-primary)}.page-button.success{border-color:var(--color-success);background:var(--color-success);color:var(--color-text-inverse)}.teacher-stat-table{border:1px solid var(--color-border);padding:16px}.teacher-stat-table .groups-table{min-width:600px}.teacher-stat-table .groups-table td{height:52px}.teacher-stat-group{color:var(--color-primary);font-weight:600}.teacher-stat-total{background:var(--color-success);color:var(--color-text-inverse);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 16px;font-size:13px;display:flex}.teacher-stat-total strong{font-weight:700}.teacher-payments{border:1px solid var(--color-border);min-height:300px;padding:16px}.teacher-payments .groups-table{min-width:700px}.teacher-payments-empty{text-align:center;place-content:center;min-height:210px;display:grid}.teacher-payments-empty strong{font-size:15px}.teacher-payments-empty p{color:var(--color-text-secondary);margin:7px 0 0;font-size:13px}.teacher-not-found{margin:24px 32px;padding:32px}.teacher-not-found h2{margin:0 0 8px}.teacher-not-found p{color:var(--color-text-secondary)}.teacher-not-found a{text-decoration:none}@media (max-width:1150px){.teacher-profile-grid{grid-template-columns:240px minmax(0,1fr)}}@media (max-width:1050px){.topbar.compact{flex-wrap:wrap}}@media (max-width:900px){.teacher-profile-grid{grid-template-columns:1fr}.teacher-identity{align-items:flex-start}.teacher-identity-name{text-align:left}.student-learning-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:750px){.teacher-page{padding:16px 6px}.teacher-navigation{align-items:flex-start}.teacher-section-menu{display:none}.teacher-stat-filters label{min-width:145px}.teacher-stat-total{flex-wrap:wrap}}@media (max-width:480px){.teacher-tab{min-width:0}.teacher-stat-filters label{flex-basis:100%}.teacher-balance{flex-direction:column;align-items:flex-start}.live-profile-details,.student-learning-meta{grid-template-columns:1fr}.birthday-banner{gap:10px;padding:16px 12px}.birthday-confetti{font-size:24px}.student-learning-group{padding:13px}}@media (prefers-reduced-motion:reduce){.birthday-confetti{animation:none}}.points-panel{gap:16px;padding:20px;display:grid}.points-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.points-summary>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:4px;padding:13px 15px;display:grid}.points-summary span{color:var(--color-text-secondary);font-size:11px;font-weight:600}.points-summary strong{color:var(--color-points-strong);font-size:22px;font-weight:800}.points-summary strong.negative{color:var(--color-danger)}.points-award{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);gap:10px;width:min(560px,100%);padding:16px;display:grid}.points-award-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.points-mode{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-secondary);font:inherit;cursor:pointer;border-radius:10px;font-size:14px;font-weight:800}.points-mode.add.selected{border-color:var(--color-success);background:var(--color-success);color:var(--color-text-inverse)}.points-mode.take.selected{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-text-inverse)}.points-award-amount{flex-wrap:wrap;gap:8px;display:flex}.points-preset{border:1px solid var(--color-border);background:var(--color-surface);min-width:62px;height:40px;color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:9px;padding:0 12px;font-size:13px;font-weight:700}.points-award.add .points-preset.selected{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.points-award.take .points-preset.selected{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.points-award input,.points-award select{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;height:40px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 12px;font-size:13px}.points-award input[type=number]{flex:1;min-width:90px;font-weight:700}.points-award input:focus-visible,.points-award select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.points-award-submit{min-height:46px;color:var(--color-text-inverse);font:inherit;cursor:pointer;border:0;border-radius:10px;font-size:15px;font-weight:800}.points-award-submit.add{background:var(--color-success)}.points-award-submit.take{background:var(--color-danger)}.points-award-submit:disabled{opacity:.6;cursor:not-allowed}.points-award-error{color:var(--color-danger)}.points-award-done,.points-award-error{margin:0;font-size:12px;font-weight:700}.points-award-done{color:var(--color-success)}.points-award-blocked{color:var(--color-text-secondary);margin:0;font-size:12px}.points-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.points-filters label{color:var(--color-text-secondary);gap:5px;font-size:11px;font-weight:600;display:grid}.points-filters select{border:1px solid var(--color-border);background:var(--color-surface);min-width:150px;height:36px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 10px;font-size:13px}.points-filter-total{color:var(--color-text-secondary);margin-left:auto;padding-bottom:8px;font-size:12px;font-weight:650}.points-table td{vertical-align:middle}.points-amount{color:var(--color-points-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:800}.points-amount.negative{color:var(--color-danger)}@media (max-width:900px){.points-filter-total{margin-left:0}}.lesson-pay{gap:12px;display:grid}.lesson-pay-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-pay-pager{align-items:center;gap:10px;display:flex}.lesson-pay-pager strong{font-size:14px;font-weight:650}.lesson-pay-pager button{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;place-items:center;font-size:17px;line-height:1;display:grid}.lesson-pay-pager button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.lesson-pay-pager button:disabled{opacity:.4}.lesson-pay-owed{background:var(--color-danger-soft);color:var(--color-danger);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.lesson-pay-strip{flex-wrap:wrap;gap:8px;display:flex}.lesson-pay-cell{background:var(--color-surface-muted);min-width:52px;color:var(--color-text-primary);cursor:default;border:1px solid #0000;border-radius:10px;place-items:center;gap:1px;padding:7px 8px;display:grid;position:relative}.lesson-pay-cell small{color:var(--color-text-secondary);font-size:11px;font-weight:500}.lesson-pay-cell b{font-size:15px;font-weight:700}.lesson-pay-cell:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lesson-pay-cell.paid{background:var(--color-surface-muted)}.lesson-pay-cell.prepaid{background:var(--color-warning-soft)}.lesson-pay-cell.prepaid b,.lesson-pay-cell.prepaid small{color:var(--color-warning)}.lesson-pay-cell.missed{background:var(--color-primary)}.lesson-pay-cell.missed b,.lesson-pay-cell.missed small{color:var(--color-text-inverse)}.lesson-pay-cell.missed:after{content:"";background:var(--color-revenue-orange);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.lesson-pay-cell.debt{background:var(--color-danger)}.lesson-pay-cell.debt b,.lesson-pay-cell.debt small{color:var(--color-text-inverse)}.lesson-pay-cell.free{border-color:var(--color-border);background:var(--color-surface)}.lesson-pay-tip{z-index:20;background:var(--color-surface);width:344px;box-shadow:var(--shadow-dialog);color:var(--color-text-primary);text-align:left;opacity:0;pointer-events:none;border-radius:12px;gap:10px;padding:14px 16px;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-4px)}.lesson-pay-cell:focus-visible .lesson-pay-tip,.lesson-pay-cell:hover .lesson-pay-tip{opacity:1;transform:translate(-50%)}.lesson-pay-tip:before{content:"";border:7px solid #0000;border-bottom:7px solid var(--color-surface);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.lesson-pay-tip-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lesson-pay-tip-head strong{white-space:nowrap;font-size:14px;font-weight:700}.lesson-pay-tip-head em{color:var(--color-text-secondary);white-space:nowrap;font-size:11px;font-style:normal}.lesson-pay-tip-body{background:var(--color-surface-muted);border-radius:9px;grid-template-columns:auto 1fr;gap:6px 12px;padding:10px 12px;font-size:12px;display:grid}.lesson-pay-tip-date,.lesson-pay-tip-price{color:var(--color-text-secondary);text-align:right;white-space:nowrap}.lesson-pay-tip-course{color:var(--color-text-secondary);overflow-wrap:anywhere}.lesson-pay-badge{border:1px solid;border-radius:6px;justify-self:start;padding:2px 8px;font-size:11px;font-weight:700}.lesson-pay-badge.missed,.lesson-pay-badge.paid{color:var(--color-success)}.lesson-pay-badge.prepaid{color:var(--color-warning)}.lesson-pay-badge.debt{color:var(--color-danger)}.lesson-pay-badge.free{color:var(--color-text-secondary)}.lesson-pay-tip-foot{justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.lesson-pay-tip-foot em{font-style:normal;font-weight:650}.lesson-pay-tip-foot em.late{color:var(--color-warning)}.lesson-pay-tip-foot em.absent{color:var(--color-danger)}.lesson-pay-tip-foot em.present{color:var(--color-text-primary)}.lesson-pay-tip-foot em.none,.lesson-pay-tip-foot span{color:var(--color-text-secondary)}.lesson-pay-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:560px){.lesson-pay-tip{width:min(344px,100vw - 40px)}.lesson-pay-tip-head{gap:2px;display:grid}.lesson-pay-tip-head strong{white-space:normal}}.lesson-pay-cell.pending{border-color:var(--color-border);background:var(--color-surface)}.lesson-pay-badge.pending{color:var(--color-text-secondary)}.group-detail-page{gap:16px;min-width:0;padding:20px 32px 32px;display:grid}.group-detail-page>*{min-width:0}.group-detail-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:28px;display:flex}.group-detail-tab{min-height:46px;color:var(--color-text-secondary);padding:13px 2px;font-size:14px;font-weight:650;text-decoration:none;position:relative}.group-detail-tab:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.group-detail-tab.active,.group-detail-tab:focus-visible{color:var(--color-primary)}.group-detail-tab.active:after{background:var(--color-primary)}.group-detail-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.pending-tab{color:var(--color-text-secondary);cursor:default}.group-summary-card{border:1px solid var(--color-border);grid-template-columns:minmax(190px,.7fr) minmax(0,3fr);align-items:stretch;gap:20px;padding:20px;display:grid}.group-title-block{flex-direction:column;justify-content:center;align-items:flex-start;padding:4px 8px;display:flex}.group-title-block h2{margin:12px 0 4px;font-size:24px;font-weight:750}.group-title-block>strong{color:var(--color-primary);font-size:14px}.group-summary-card dl{border:1px solid var(--color-border);background:var(--color-border);border-radius:10px;grid-template-columns:repeat(3,minmax(150px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.group-summary-card dl div{background:var(--color-surface);min-height:70px;padding:13px 15px}.group-summary-card dl div:last-child{grid-column:span 2}.group-info-table th,.group-summary-card dt{color:var(--color-text-secondary);font-size:11px;font-weight:500}.group-summary-card dd{overflow-wrap:anywhere;margin:7px 0 0;font-size:13px;font-weight:700}.attendance-schedule,.group-detail-panel{border:1px solid var(--color-border);padding:20px}.group-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.group-panel-heading h2{margin:0;font-size:18px;font-weight:750}.group-panel-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.assign-value{justify-content:space-between;align-items:center;gap:10px;display:flex}.assign-trigger{cursor:pointer;flex:none}.assign-student-dialog{width:min(680px,100%);overflow-x:hidden}.assign-student-dialog>*{grid-column:1/-1;justify-self:stretch;width:100%;min-width:0}.assign-student-dialog .assign-fields>label{align-content:start;gap:7px;min-width:0;font-size:13px;font-weight:650;display:grid}.assign-student-dialog .assign-fields>label>span:first-child{display:block}.assign-capacity{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:12px;display:flex}.assign-capacity strong{color:var(--color-text-primary)}.assign-capacity .available{color:var(--color-success);font-weight:650}.assign-capacity .full{color:var(--color-danger);font-weight:650}.assign-fields{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start;gap:12px;display:grid}.assign-search-control{display:block;position:relative}.assign-search-control img{pointer-events:none;width:16px;height:16px;position:absolute;top:12px;left:12px}.group-form .assign-search-control input{padding-left:38px}.assign-option-list{border:1px solid var(--color-border);scrollbar-gutter:stable;border-radius:10px;gap:5px;max-height:min(330px,42vh);padding:5px;display:grid;overflow-y:auto}.assign-option{width:100%;min-height:58px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:11px;padding:8px 10px;transition:border-color .15s,background-color .15s,color .15s;display:grid}.assign-avatar{background:var(--color-student-avatar-background);width:38px;height:38px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:11px;font-weight:750;display:grid}.assign-person-copy{gap:4px;min-width:0;display:grid}.assign-person-copy small,.assign-person-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assign-person-copy strong{font-size:13px}.assign-person-copy small{color:var(--color-text-secondary);font-size:11px;font-weight:500}.assign-check{background:var(--color-primary);width:22px;height:22px;color:var(--color-text-inverse);opacity:0;border-radius:50%;place-items:center;font-size:12px;display:grid}.assign-option.selected{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.assign-option.selected .assign-check{opacity:1}.assign-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.assign-empty{color:var(--color-text-secondary);text-align:center;justify-items:center;gap:5px;padding:28px 16px;display:grid}.assign-empty strong{color:var(--color-text-primary);font-size:13px}.assign-empty span{font-size:12px}.assign-search-note{color:var(--color-text-secondary);margin:-6px 0 0;font-size:12px;display:block}.assign-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.assign-chosen{gap:2px;min-width:0;display:grid}.assign-chosen small{color:var(--color-text-secondary);font-size:11px;font-weight:600}.assign-chosen strong{color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.assign-chosen.empty small{font-style:italic}.assign-action-buttons{flex:none;gap:10px;display:flex}.assign-chosen{flex:auto}.group-detail-link{color:inherit;text-decoration:none}.group-detail-link:focus-visible{color:var(--color-primary)}.schedule-summary{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:8px;grid-template-columns:1.1fr 1fr 1.3fr .8fr;align-items:center;gap:18px;min-height:58px;padding:10px 16px;font-size:13px;display:grid}.schedule-summary strong{color:var(--color-primary);font-size:14px}.schedule-summary span{font-weight:650}.lesson-calendar{gap:10px;padding:20px 0 4px;display:flex;overflow-x:auto}.lesson-day{border:1px solid var(--color-border);background:var(--color-surface);min-height:76px;color:var(--color-text-primary);border-radius:10px;flex:0 0 78px;place-items:center;padding:8px 5px;display:grid}.lesson-day span{color:var(--color-text-secondary);font-size:11px}.lesson-day strong{font-size:17px}.lesson-day small{max-width:68px;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.lesson-day.completed{background:var(--color-surface-muted)}.lesson-day.available{border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft);cursor:pointer}.lesson-day.available small{color:var(--color-success);font-weight:700}.lesson-day:disabled{cursor:default;opacity:1}.lesson-day.status-ontime{border-color:var(--color-success);background:var(--color-success-soft);cursor:pointer}.lesson-day.status-ontime small,.lesson-day.status-ontime strong{color:var(--color-success)}.lesson-day.status-late{border-color:var(--color-danger);background:var(--color-danger-soft);cursor:pointer}.lesson-day.status-late small,.lesson-day.status-late strong{color:var(--color-danger)}.lesson-day.status-substitute{border-color:var(--color-border);background:var(--color-surface-muted);cursor:pointer}.lesson-day.status-substitute small,.lesson-day.status-substitute strong{color:var(--color-text-secondary)}.lesson-day.status-none{cursor:pointer;border-style:dashed}.lesson-day.status-none small{color:var(--color-text-secondary)}.schedule-card{padding:26px 30px 24px;position:relative}.schedule-card>h2{margin:0 0 24px;font-size:22px;font-weight:750}.schedule-summary-row{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:5px;grid-template-columns:1.1fr .8fr 1.15fr 1.3fr 1fr;align-items:center;min-height:58px;padding:0 16px;font-size:13px;display:grid}.schedule-summary-row strong{color:var(--color-primary);font-size:14px}.schedule-summary-row span{text-align:center;padding:10px 14px;font-weight:650}.schedule-summary-row span:last-child{text-align:right}.schedule-all-button,.schedule-more-button{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-card);border-radius:9px;justify-content:center;align-items:center;margin:16px auto 0;padding:0 18px;font-size:13px;display:flex}.schedule-divider{background:var(--color-border);height:1px;margin:24px 0 20px}.study-month-navigation{justify-content:center;align-items:center;gap:18px;margin-bottom:14px;display:flex}.study-month-navigation button{border:1px solid var(--color-border);background:var(--color-surface);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.study-month-navigation button:before{content:"";border-top:2px solid;border-right:2px solid;width:10px;height:10px}.study-month-navigation button:first-child:before{transform:translate(2px)rotate(-135deg)}.study-month-navigation button:last-child:before{transform:translate(-2px)rotate(45deg)}.study-month-navigation button:disabled{opacity:.35;cursor:default}.study-month-navigation strong{font-size:15px;font-weight:650}.study-month-list{gap:32px;display:grid}.study-month-row h3{margin:0 0 14px;font-size:15px;font-weight:650}.schedule-cell-row{gap:10px;padding:2px 2px 5px;display:flex;overflow-x:auto}.schedule-day-cell{border:1px solid var(--color-border);background:var(--color-surface);width:68px;min-height:64px;color:var(--color-text-primary);border-radius:8px;flex:0 0 68px;align-content:center;place-items:center;padding:7px 5px;line-height:1.1;display:grid;position:relative}button.schedule-day-cell{cursor:pointer}button.schedule-day-cell:disabled{cursor:default;opacity:1}.schedule-day-cell span{color:var(--color-text-secondary);font-size:11px}.schedule-day-cell strong{margin-top:5px;font-size:17px;font-weight:700}.schedule-day-cell.past,.schedule-day-cell.pending{border-color:var(--color-schedule-past);background:var(--color-schedule-past)}.schedule-day-cell.today{border-color:var(--color-schedule-current);background:var(--color-schedule-current);color:var(--color-schedule-current-text)}.schedule-day-cell.today span{color:var(--color-schedule-current-text);opacity:.85}.schedule-day-cell.today i{background:var(--color-revenue-orange);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.schedule-day-cell.available{border-color:var(--color-success);box-shadow:0 0 0 2px var(--color-success-soft)}.schedule-day-cell.checked-ontime{border-color:var(--color-success);background:var(--color-success);color:var(--color-text-inverse)}.schedule-day-cell.checked-late{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-text-inverse)}.schedule-day-cell.checked-late span,.schedule-day-cell.checked-ontime span{color:var(--color-text-inverse);opacity:.85}.schedule-day-cell i.substitute-mark{border:2px solid var(--color-surface);background:var(--color-groups-purple);width:15px;height:15px;color:var(--color-text-inverse);border-radius:50%;place-items:center;font-size:8px;font-style:normal;font-weight:800;line-height:1;display:grid;position:absolute;top:4px;right:4px}.schedule-day-cell.substitute{box-shadow:0 0 0 2px var(--color-groups-purple)}.schedule-day-cell em{color:var(--color-schedule-current-text);font-size:12px;font-style:normal;position:absolute;bottom:2px;right:5px}.schedule-all-button{margin-top:18px}.schedule-count-note{display:none}.schedule-error{text-align:center;margin:14px 0 0}.academic-attendance-legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;margin:14px 0 2px;font-size:12px;display:flex}.academic-attendance-legend span{align-items:center;gap:6px;display:inline-flex}.academic-legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.academic-legend-dot.ontime{background:var(--color-success)}.academic-legend-dot.late{background:var(--color-danger)}.academic-legend-dot.substitute{background:var(--color-text-secondary)}.academic-legend-dot.none{border:1px dashed var(--color-text-secondary)}.academic-checkin-list{border-top:1px solid var(--color-border);margin-top:26px;padding-top:20px}.academic-checkin-list h3{margin:0;font-size:16px;font-weight:700}.academic-checkin-list .group-panel-heading{align-items:center}.academic-checkin-table{min-width:720px}.academic-checkin-table td{height:62px}.academic-checkin-photo-button{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;display:block}.academic-checkin-photo-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.academic-checkin-photo{object-fit:cover;border-radius:8px;width:44px;height:44px;display:block}.academic-photo-dialog{width:min(680px,100%)}.academic-photo-large{object-fit:contain;border-radius:12px;width:100%;height:auto}.academic-attendance-list{padding:20px}.academic-list-heading{align-items:center}.group-info-table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:10px;width:100%;min-width:720px;font-size:13px;overflow:hidden}.group-info-table td,.group-info-table th{border-bottom:1px solid var(--color-border);text-align:left;min-height:50px;padding:14px 16px}.group-info-table th{background:var(--color-surface-muted);width:20%}.group-info-table td{width:30%}.group-info-table tr:last-child td,.group-info-table tr:last-child th{border-bottom:0}.group-info-table strong{font-weight:750}.student-list-heading{align-items:center}.student-list-actions,.student-list-actions form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-list-actions form label{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.student-list-actions select{border:1px solid var(--color-border);background-color:var(--color-surface);height:37px;color:var(--color-text-primary);border-radius:9px;padding:0 38px 0 12px}.group-students-table{min-width:640px}.group-student-person{align-items:center;gap:10px;display:flex}.group-student-person>div{gap:3px;display:grid}.group-student-person strong{font-weight:600}.group-student-person small{color:var(--color-danger);font-size:10px;font-weight:500}.group-student-avatar{object-fit:cover;aspect-ratio:1;border-radius:50%;flex:none;width:36px;height:36px}.group-students-table td:last-child,.group-students-table th:last-child{text-align:right}.group-student-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.group-student-actions .page-button{min-height:30px;padding:0 10px;font-size:12px}.group-student-action-error{text-align:right;flex-basis:100%;font-size:11px}.inactive-student-row{opacity:.72}.group-materials{border:1px solid var(--color-border);width:100%;min-width:0;min-height:520px;padding:20px;overflow:hidden}.materials-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;min-width:0;margin-bottom:28px;display:grid}.materials-heading h2{white-space:nowrap;margin:0;font-size:18px;font-weight:750}.materials-subnav{background:var(--color-surface-muted);border-radius:11px;grid-template-columns:repeat(4,minmax(0,1fr));width:min(620px,100%);min-width:0;padding:4px;display:grid;overflow:hidden}.materials-subnav a{min-height:40px;color:var(--color-text-primary);border-radius:8px;place-items:center;padding:0 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s,box-shadow .15s,color .15s;display:grid}.materials-subnav a.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-card)}.material-add-button{justify-self:end}.materials-table{min-width:980px}.materials-table th{color:var(--color-text-secondary);font-weight:650}.materials-table td{height:72px}.homework-table td:first-child,.homework-table th:first-child{width:44px}.homework-table th:nth-child(2){min-width:260px}.material-topic{border-radius:8px;gap:4px;padding:10px 12px;display:grid}.material-topic strong{text-overflow:ellipsis;max-width:360px;overflow:hidden}.material-cell-note,.material-topic small{color:var(--color-text-secondary);font-size:11px;font-weight:500;display:block}.material-topic.overdue{background:var(--color-danger-soft);color:var(--color-danger)}.material-waiting-count{color:var(--color-warning);font-weight:700}.material-accepted-count{color:var(--color-success);font-weight:700}.materials-empty{min-height:260px;color:var(--color-text-secondary);text-align:center;justify-items:center;gap:7px;padding:70px 20px;display:grid}.materials-empty strong{color:var(--color-text-primary);font-size:14px}.materials-empty p{margin:0;font-size:12px}.materials-empty-icon{border:1px solid var(--color-border);background:var(--color-surface);width:54px;height:38px;box-shadow:0 8px 0 var(--color-surface-muted);border-radius:7px;margin-bottom:5px;position:relative}.materials-empty-icon:before{background:var(--color-surface);content:"";border:1px solid var(--color-border);border-bottom:0;border-radius:6px 6px 0 0;width:24px;height:14px;position:absolute;top:-9px;left:10px}.material-description-input{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);border-radius:8px;padding:10px}.journal-filters,.journal-legend{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:0 -20px 18px}.journal-filters summary,.journal-legend summary{background:var(--color-surface-muted);cursor:pointer;padding:13px 20px;font-size:13px;font-weight:650}.journal-legend-content{gap:18px;padding:18px 20px;display:grid}.journal-legend-content>div{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.journal-legend-content strong{min-width:170px;font-size:13px}.journal-legend-content span{color:var(--color-text-secondary);align-items:center;gap:7px;font-size:12px;display:inline-flex}.journal-filters form{flex-wrap:wrap;align-items:end;gap:12px;padding:18px 20px;display:flex}.journal-filters label{color:var(--color-text-secondary);gap:7px;font-size:12px;font-weight:600;display:grid}.journal-filters label[data-active=true]{color:var(--color-primary)}.journal-filters input,.journal-filters select{border:1px solid var(--color-border);background-color:var(--color-surface);height:40px;color:var(--color-text-primary);border-radius:9px;padding:0 40px 0 12px}.journal-filter-mode{border:1px solid var(--color-border);border-radius:9px;align-self:stretch;align-items:center;gap:12px;margin:0;padding:0 14px;display:flex}.journal-filter-mode legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.journal-filter-mode label{cursor:pointer;align-items:center;gap:6px;display:flex}.journal-filter-mode input{width:14px;height:14px;accent-color:var(--color-primary);padding:0}.journal-filter-error{flex-basis:100%;margin:0}.homework-table tbody tr{scroll-margin-block:96px}.homework-table tbody tr:target td{background:var(--color-primary-soft)}.homework-table tbody tr:target td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.journal-table-region{min-height:150px;position:relative}.journal-table-region[aria-busy=true] .journal-table-scroll{opacity:.45;pointer-events:none}.journal-table-loading{z-index:4;background:var(--color-surface);border-radius:12px;align-content:center;place-items:center;gap:10px;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.journal-table-loading{background:color-mix(in srgb,var(--color-surface) 82%,transparent)}}.journal-table-loading{color:var(--color-text-primary);font-size:13px}.journal-table-scroll{width:100%;overflow-x:clip}.journal-table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:12px;width:100%;min-width:0;font-size:12px}.journal-table td,.journal-table th{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:center;height:58px;padding:7px 4px}.journal-table td:first-child,.journal-table th:first-child{z-index:1;background:var(--color-surface);text-align:left;text-overflow:ellipsis;white-space:nowrap;width:168px;padding-inline:12px;position:sticky;left:0;overflow:hidden}.journal-table thead th:first-child{z-index:2;background:var(--color-surface-muted)}.journal-table th{background:var(--color-surface-muted);min-width:0;color:var(--color-text-secondary);font-weight:600}.journal-table th small,.journal-table th span,.journal-table th strong{display:block}.journal-table th strong{color:var(--color-text-primary);margin:3px 0;font-size:11px}.journal-table th small{font-size:9px}.journal-table thead th{vertical-align:middle;height:72px}.journal-table .journal-th-topic{-webkit-line-clamp:2;color:var(--color-text-secondary);overflow-wrap:anywhere;-webkit-box-orient:vertical;padding-inline:2px;font-size:9px;font-weight:600;line-height:1.25;text-decoration:none;display:-webkit-box;overflow:hidden}.journal-table a.journal-th-topic{color:var(--color-primary);cursor:pointer}.journal-table a.journal-th-topic:focus-visible,.journal-table a.journal-th-topic:hover{text-decoration:underline}.journal-table tr:last-child td{border-bottom:0}.journal-table td:last-child,.journal-table th:last-child{border-right:0}.journal-status-cell{min-width:0;position:relative}.journal-attendance{border:1px solid var(--color-border);border-radius:6px;place-items:center;width:26px;height:26px;font-style:normal;font-weight:800;display:inline-grid}.journal-attendance.present{background:var(--color-success-soft);color:var(--color-success)}.journal-attendance.late{background:var(--color-warning-soft);color:var(--color-warning)}.journal-attendance.absent{background:var(--color-schedule-past)}.journal-attendance.absent,.journal-attendance.unrecorded{color:var(--color-text-secondary)}.journal-homework{border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:10px solid var(--color-border);width:0;height:0;font-style:normal;display:inline-block}.journal-status-cell .journal-homework{position:absolute;top:6px;right:6px}.journal-homework.accepted{border-bottom-color:var(--color-success)}.journal-homework.returned{border-bottom-color:var(--color-warning)}.journal-homework.submitted,.journal-homework.waiting{border-bottom-color:var(--color-primary)}.journal-homework.none{border-bottom-color:var(--color-danger)}.journal-homework.unassigned{opacity:0}.journal-summary{white-space:nowrap;width:92px;min-width:0;font-size:11px;font-weight:700}.journal-summary small,.journal-summary span{display:block}.journal-summary small{color:var(--color-text-secondary);margin-top:3px;font-size:9px}@media (max-width:900px){.journal-table{font-size:10px}.journal-table td,.journal-table th{padding:5px 2px}.journal-table td:first-child,.journal-table th:first-child{width:120px;padding-inline:8px}.journal-table th strong{font-size:9px}.journal-table .journal-th-topic,.journal-table th small{font-size:8px}.journal-attendance{width:22px;height:22px}.journal-status-cell .journal-homework{top:4px;right:3px}.journal-summary{white-space:normal;width:62px;font-size:9px}}@media (max-width:560px){.journal-table{font-size:8px}.journal-table td,.journal-table th{height:50px;padding:3px 1px}.journal-table td:first-child,.journal-table th:first-child{width:78px;padding-inline:4px}.journal-table th span{display:none}.journal-table th strong{margin:0;font-size:8px}.journal-table thead th{height:62px}.journal-table .journal-th-topic{-webkit-line-clamp:2;font-size:7px}.journal-attendance{border-radius:4px;width:16px;height:16px;font-size:8px}.journal-homework{border-bottom-width:7px;border-left-width:4px;border-right-width:4px}.journal-status-cell .journal-homework{top:3px;right:1px}.journal-summary{width:40px;font-size:8px}.journal-summary small{margin-top:2px;font-size:7px}}.attendance-overlay{z-index:30}.attendance-dialog{border:1px solid var(--color-border);width:min(760px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-dialog);border-radius:18px;padding:0 22px 22px;animation:dialog-surface-in .18s ease-out;overflow-y:auto}.attendance-dialog-header{z-index:3;border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin:0 -22px 22px;padding:20px 22px 18px;display:flex;position:sticky;top:0}.attendance-dialog-header h2{margin:9px 0 4px;font-size:20px;font-weight:750}.attendance-dialog-header p{color:var(--color-text-secondary);margin:0;font-size:12px}.attendance-checkin,.camera-step{grid-template-columns:minmax(280px,1.3fr) minmax(200px,.7fr);align-items:center;gap:20px;display:grid}.attendance-checkin h3,.camera-step h3{margin:0 0 7px;font-size:17px}.attendance-checkin p,.camera-step p{color:var(--color-text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.camera-frame,.selfie-preview{background:var(--color-surface-muted);border-radius:12px;place-items:center;min-height:230px;display:grid;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%;min-height:230px;transform:scaleX(-1)}.selfie-preview{color:var(--color-success);text-align:center;background-position:50%;background-size:cover;font-size:13px;font-weight:700}.attendance-switch-list{gap:7px;max-height:360px;margin-top:18px;padding-right:3px;display:grid;overflow-y:auto}.attendance-switch-row{background:var(--color-surface-muted);border-radius:9px;justify-content:space-between;align-items:center;gap:18px;min-height:50px;padding:8px 12px;display:flex}.attendance-switch-row strong{font-size:13px}.presence-switch{cursor:pointer;align-items:center;gap:9px;display:flex}.presence-switch input{opacity:0;pointer-events:none;position:absolute}.presence-switch>span{background:var(--color-border);border-radius:999px;width:38px;height:22px;transition:background .18s;position:relative}.presence-switch>span:after{background:var(--color-surface);width:16px;height:16px;box-shadow:var(--shadow-card);content:"";border-radius:50%;transition:transform .18s;position:absolute;top:3px;left:3px}.presence-switch input:checked+span{background:var(--color-success)}.presence-switch input:checked+span:after{transform:translate(16px)}.presence-switch input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:2px}.presence-switch em{min-width:28px;color:var(--color-text-secondary);font-size:11px;font-style:normal}.attendance-actions{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;font-size:12px;display:flex}.attendance-page{gap:18px;padding:20px 32px 32px;display:grid}.attendance-date-strip{border:1px solid var(--color-border);padding:18px 20px 14px}.attendance-date-strip>strong{margin-bottom:13px;font-size:13px;display:block}.attendance-date-strip .schedule-day-cell{min-height:58px}.attendance-date-strip .schedule-day-cell.selected{border-color:var(--color-success);background:var(--color-success);color:var(--color-text-inverse)}.attendance-date-strip .schedule-day-cell.selected span{color:var(--color-text-inverse);opacity:.85}.attendance-closed-card{border:1px solid var(--color-border);justify-items:start;gap:12px;padding:28px;display:grid}.attendance-closed-card h2,.attendance-closed-card p{margin:0}.attendance-closed-card h2{font-size:20px}.attendance-closed-card p{color:var(--color-text-secondary)}.attendance-camera-gate{border:1px solid var(--color-border);grid-template-columns:minmax(260px,.7fr) minmax(340px,1.3fr);align-items:center;gap:22px;padding:24px;display:grid}.camera-gate-copy h2{margin:12px 0 7px;font-size:21px}.camera-gate-copy p{max-width:520px;color:var(--color-text-secondary);margin:0 0 18px;font-size:13px;line-height:1.5}.attendance-camera-gate .camera-frame{min-height:330px}.attendance-camera-gate .camera-frame span{color:var(--color-text-secondary);font-size:13px}.camera-capture-button{grid-column:2;justify-self:center}.attendance-camera-gate>.form-error{grid-column:1/-1}.attendance-teacher-tab{border-bottom:1px solid var(--color-border)}.attendance-teacher-tab strong{border-bottom:2px solid var(--color-success);color:var(--color-success);padding:0 0 9px;font-size:13px;display:inline-block}.attendance-teacher-card{border:1px solid var(--color-border);width:min(560px,100%);padding:18px}.attendance-teacher-card>h2{margin:0 0 18px;font-size:15px}.attendance-teacher-select{color:var(--color-text-secondary);gap:7px;margin-bottom:16px;font-size:12px;font-weight:650;display:grid}.attendance-teacher-select select{border:1px solid var(--color-border);background-color:var(--color-surface);width:min(360px,100%);height:40px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 40px 0 12px}.attendance-teacher-person{align-items:center;gap:12px;margin-bottom:16px;display:flex}.attendance-teacher-person .person-avatar,.attendance-teacher-person img{object-fit:cover;border-radius:50%;width:56px;height:56px}.attendance-teacher-person>div{gap:4px;display:grid}.attendance-teacher-person strong{font-size:14px}.attendance-teacher-person span{color:var(--color-text-secondary);font-size:12px}.attendance-teacher-card dl{background:var(--color-surface-muted);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:13px 15px;display:grid}.attendance-teacher-card dt{color:var(--color-text-secondary);margin-bottom:5px;font-size:10px}.attendance-teacher-card dd{margin:0;font-size:12px;font-weight:700}.attendance-session-title{margin:8px 0 0;font-size:15px}.attendance-entry-card{border:1px solid var(--color-border);padding:20px}.attendance-entry-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.attendance-entry-heading h2{margin:0;font-size:19px}.attendance-entry-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.topic-mode{border:0;gap:22px;margin:18px 0;padding:0;display:flex}.topic-mode legend{width:100%;margin-bottom:10px;font-size:12px;font-weight:650}.topic-mode label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}.topic-mode input{accent-color:var(--color-success)}.attendance-topic-field{gap:7px;width:min(430px,100%);margin-bottom:22px;display:grid}.attendance-topic-field span{font-size:12px;font-weight:650}.attendance-topic-field i{color:var(--color-danger);font-style:normal}.attendance-topic-field input{border:1px solid var(--color-border);background:var(--color-surface);height:38px;color:var(--color-text-primary);font:inherit;border-radius:7px;padding:0 12px}.attendance-topic-field input:disabled{background:var(--color-surface-muted);color:var(--color-text-secondary)}.attendance-register-scroll{border:1px solid var(--color-border);border-radius:9px}.attendance-register{min-width:680px}.attendance-register td:first-child,.attendance-register th:first-child{text-align:center;width:56px}.attendance-register td:nth-last-child(-n+2),.attendance-register th:nth-last-child(-n+2){width:140px}.attendance-register td:last-child,.attendance-register th:last-child{text-align:right}.attendance-register .presence-switch{justify-content:flex-end}.attendance-save-row{justify-content:space-between;align-items:center;gap:18px;margin-top:18px;display:flex}.attendance-save-row p{color:var(--color-text-secondary);margin:0;font-size:12px}.attendance-save-row .form-error{color:var(--color-danger)}.attendance-save-row .form-success{color:var(--color-success)}@media (max-width:1200px){.group-summary-card{grid-template-columns:1fr}.group-title-block{padding:0}.schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-summary-row span:last-child{text-align:center}}.team-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;display:grid}.team-card{border-radius:var(--radius-lg);background:var(--color-surface-muted);border:1px solid var(--color-border);border-top:3px solid var(--team-accent,var(--color-primary));align-content:start;gap:9px;padding:14px 15px;display:grid}.team-card header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.team-card header strong{min-width:0;color:var(--team-accent,var(--color-primary));text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.team-card header b{color:var(--color-points-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:800}.team-card>p{color:var(--color-text-secondary);margin:0;font-size:11px;font-weight:650}.team-card ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.team-card li{grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.team-card li>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-card li small{color:var(--color-points-strong);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.team-member-avatar{background:var(--team-accent,var(--color-primary));border-radius:50%;place-items:center;width:26px;height:26px;display:grid}@supports (color:color-mix(in lab,red,red)){.team-member-avatar{background:color-mix(in srgb,var(--team-accent,var(--color-primary)) 16%,var(--color-surface))}}.team-member-avatar{color:var(--team-accent,var(--color-primary));font-size:10px;font-weight:800}.team-card footer{gap:7px;margin-top:2px;display:flex}.team-card footer button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:8px;padding:0 11px;font-size:11px;font-weight:650}.team-card footer button.danger{border-color:var(--color-danger);color:var(--color-danger)}.team-unassigned{color:var(--color-text-secondary);margin:12px 0 0;font-size:12px;line-height:1.5}.team-chip{background:var(--team-accent,var(--color-primary));border-radius:999px;align-items:center;padding:3px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.team-chip{background:color-mix(in srgb,var(--team-accent,var(--color-primary)) 14%,transparent)}}.team-chip{color:var(--team-accent,var(--color-primary));font-size:11px;font-weight:700}.team-chip.empty{color:var(--color-text-secondary);background:0 0;font-weight:500}.team-form .team-accent-row{gap:8px;display:flex}.team-accent{background:var(--team-accent);cursor:pointer;border:2px solid #0000;border-radius:50%;width:30px;height:30px;padding:0}.team-accent.selected{border-color:var(--color-text-primary);box-shadow:0 0 0 3px var(--team-accent)}@supports (color:color-mix(in lab,red,red)){.team-accent.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--team-accent) 30%,transparent)}}.team-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:7px;max-height:320px;padding:4px;display:grid;overflow-y:auto}.team-pick{background:var(--color-surface);cursor:pointer;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 26px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;display:grid}.team-pick.selected{border-color:var(--color-points);background:var(--color-points-soft)}.team-pick input{width:17px;height:17px;accent-color:var(--color-points-strong)}.team-pick-copy{gap:2px;min-width:0;display:grid}.team-pick-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.team-pick-copy small{color:var(--color-text-secondary);font-size:10px}.team-picker-count{color:var(--color-text-secondary);margin:0;font-size:12px;font-weight:650}@media (max-width:1100px){.materials-heading{grid-template-columns:1fr;gap:14px}.materials-subnav{width:100%}.materials-subnav a{min-width:0;padding-inline:8px}.material-add-button{justify-self:start}}@media (max-width:900px){.group-summary-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.group-summary-card dl div:last-child{grid-column:auto}.student-list-heading{flex-direction:column;align-items:flex-start}}@media (max-width:750px){.attendance-page,.group-detail-page{padding:16px 6px}.attendance-camera-gate,.attendance-checkin,.camera-step{grid-template-columns:1fr}.camera-capture-button{grid-column:1}.attendance-teacher-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-card{padding:20px 14px}.group-detail-tabs{flex-wrap:wrap;gap:18px}.group-detail-tab{flex:none}.group-materials{padding:16px 14px}.materials-subnav a{min-height:36px;padding-inline:4px;font-size:11px}.journal-filters,.journal-legend{margin-left:-14px;margin-right:-14px}}@media (max-width:560px){.assign-fields{grid-template-columns:1fr}.assign-actions{flex-direction:column;align-items:stretch}.assign-action-buttons{justify-content:flex-end}.group-summary-card dl,.schedule-summary,.schedule-summary-row{grid-template-columns:1fr}.schedule-summary-row span,.schedule-summary-row span:last-child{text-align:left}.assign-capacity,.attendance-actions,.attendance-entry-heading,.attendance-save-row,.student-list-actions form{flex-direction:column;align-items:stretch}}@media (hover:hover) and (pointer:fine){.group-detail-link:hover,.group-detail-tab:not(.active):hover{color:var(--color-primary)}.assign-option:not(.selected):hover,.team-pick:not(.selected):hover{border-color:var(--color-border);background:var(--color-surface-muted)}.team-card footer button:hover{border-color:var(--color-primary-soft);background:var(--color-surface-muted);box-shadow:var(--shadow-card)}.team-card footer button.danger:hover{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.materials-subnav a:not(.active):hover{background:var(--color-surface);color:var(--color-primary)}.dialog-close:not(:disabled):hover,.schedule-all-button:hover,.schedule-more-button:hover,.study-month-navigation button:not(:disabled):hover{border-color:var(--color-primary-soft);background:var(--color-surface-muted);color:var(--color-primary);box-shadow:var(--shadow-card)}.lesson-day:not(:disabled):hover,button.schedule-day-cell:not(:disabled):hover{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}}.payments-workspace{margin:24px 32px 32px}.payments-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.payments-heading h2{margin:0;font-size:22px}.payments-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:13px}.payment-heading-actions{align-items:center;gap:8px;display:flex}.payment-tabs{gap:8px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.payment-tabs a{white-space:nowrap;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.finance-section-stack,.finance-stat-results,.finance-statistics{gap:16px;display:grid}.finance-table-card{border:1px solid var(--color-border);background:var(--color-surface)}.finance-table-card,.finance-table-card>.table-scroll{border-radius:var(--radius-md)}.finance-list-table{min-width:780px}.finance-list-table td{height:58px}.finance-list-table tbody tr:last-child td{border-bottom:0}.finance-income{color:var(--color-success);font-size:15px;font-weight:800}.finance-outgoing{color:var(--color-danger);font-size:15px;font-weight:800}.finance-amount{font-size:15px;font-weight:700}.finance-subsection{gap:12px;display:grid}.finance-subsection-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.finance-subsection-heading h3{margin:0;font-size:16px}.finance-subsection-heading span{color:var(--color-text-secondary);font-size:12px}.finance-stat-filters{padding:16px}.finance-stat-filters label{min-width:150px}.finance-stat-filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);width:100%;height:39px;color:var(--color-text-primary);padding:0 34px 0 12px;font-size:13px}.finance-stat-results,.teacher-payroll-report{position:relative}.finance-stat-results.is-loading>:not(.finance-table-loading),.teacher-payroll-report.is-loading>:not(.finance-table-loading){opacity:.45}.finance-table-loading{z-index:3;border-radius:var(--radius-md);background:var(--color-overlay);color:var(--color-text-inverse);justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.finance-table-loading .loading-spinner{border-color:var(--color-surface-muted);border-top-color:var(--color-primary);width:24px;height:24px}.finance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.finance-summary-grid article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-content:space-between;gap:14px;min-height:112px;padding:18px;display:grid}.finance-summary-grid article span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.finance-summary-grid article strong{overflow-wrap:anywhere;font-size:clamp(20px,2.3vw,26px);font-weight:800}.finance-summary-grid.compact{margin-bottom:2px}.finance-summary-grid.compact article{background:var(--color-surface-muted);min-height:92px}.finance-form textarea{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text-primary);padding:10px}.finance-form input:focus-visible,.finance-form select:focus-visible,.finance-form textarea:focus-visible,.finance-stat-filters input:focus-visible,.finance-stat-filters select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.optional-label{color:var(--color-text-secondary);font-size:11px;font-weight:500}.payroll-period-filter{max-width:780px}.teacher-payroll-report{border:1px solid var(--color-border);min-height:300px;padding:16px}.payroll-table{min-width:960px}.payroll-table td{height:76px}.payroll-table td:first-child{align-content:center;gap:5px;display:grid}.payroll-table td:first-child>small{color:var(--color-text-secondary);font-size:11px;font-weight:400}.payroll-lesson-days{gap:4px;max-width:520px;padding-block:5px;display:flex;overflow-x:auto}.payroll-lesson-days>span{border:1px solid var(--color-border);background:var(--color-surface-muted);min-height:48px;color:var(--color-text-primary);border-radius:6px;flex:0 0 64px;place-items:center;font-size:11px;display:grid}.payroll-lesson-days small{color:var(--color-text-secondary);font-size:9px;font-weight:500}.teacher-payroll-report .teacher-stat-total{flex-wrap:wrap;font-size:15px;font-weight:700}@media (max-width:1050px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:750px){.payments-workspace{margin:16px 6px;padding:18px 14px}.payments-heading{flex-direction:column;align-items:flex-start}.payment-heading-actions{flex-wrap:wrap;width:100%}.finance-stat-filters label{flex-basis:calc(50% - 8px)}.finance-subsection-heading{flex-direction:column;align-items:flex-start;gap:5px}}@media (max-width:480px){.finance-summary-grid{grid-template-columns:1fr}.finance-summary-grid article{min-height:82px}.finance-stat-filters label{flex-basis:100%}.payment-heading-actions .page-button{flex:1}}.payroll-screen{gap:16px;display:grid}.payroll-filters{padding:14px 16px}.payroll-totals{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.payroll-back{justify-self:start;text-decoration:none}.payroll-month-table{min-width:1060px}.payroll-month-table td{vertical-align:middle;height:auto}.payroll-name{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;font-weight:650;display:grid}.payroll-name small{color:var(--color-primary);font-size:11px;font-weight:600}.payroll-detail-row>td{padding-top:0}.payroll-detail{background:var(--color-surface-muted);border-radius:12px;gap:10px;padding:14px 16px;display:grid}.payroll-detail-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.payroll-detail-head h4{margin:0;font-size:13px;font-weight:700}.payroll-detail-head span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.payroll-detail .teacher-panel-note{margin:0}.payroll-history,.payroll-lessons,.payroll-notes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.payroll-lessons li,.payroll-notes li{flex-wrap:wrap;align-items:baseline;gap:10px;font-size:12px;display:flex}.payroll-lessons li span,.payroll-notes li span{min-width:92px;color:var(--color-text-secondary)}.payroll-lessons li b,.payroll-notes li b{font-weight:700}.payroll-lessons li em,.payroll-notes li em{min-width:0;color:var(--color-text-secondary);overflow-wrap:anywhere;font-style:normal}.payroll-lessons li strong,.payroll-notes li strong{font-variant-numeric:tabular-nums;margin-left:auto}.payroll-history li{justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.payroll-history li span{color:var(--color-text-secondary)}.payroll-substitute{background:var(--color-warning-soft);color:var(--color-warning);border-radius:999px;margin-left:7px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:800}.payroll-since{color:var(--color-text-secondary);font-weight:500}.payroll-actions{flex-wrap:wrap;gap:6px}.payroll-actions .page-button{min-height:32px;padding:0 11px;font-size:12px}.app-toast{z-index:95;border:1px solid var(--color-success);background:var(--color-surface);max-width:min(520px,100vw - 28px);color:var(--color-text-primary);box-shadow:var(--shadow-dialog);border-radius:12px;align-items:center;gap:10px;padding:11px 14px;animation:app-toast-in .18s ease-out;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.app-toast.bad{border-color:var(--color-danger)}.app-toast>span{background:var(--color-success);width:22px;height:22px;color:var(--color-text-inverse);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.app-toast.bad>span{background:var(--color-danger)}.app-toast p{margin:0;font-size:13px;line-height:1.45}.app-toast button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;flex:none;margin-left:4px;padding:0 4px;font-size:18px;line-height:1}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.app-toast{animation:none}}.finance-workspace{gap:16px;display:grid}.finance-workspace>*{min-width:0}.finance-workspace .payments-heading{margin-bottom:0}.finance-center{gap:16px;min-width:0;display:grid}.finance-center>*,.finance-figures>*,.finance-grid-2>*,.finance-panel>*{min-width:0}.finance-rail{scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.finance-rail>*{flex:none}.finance-rail .filter-button{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.finance-rail .filter-button small{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:999px;padding:0 6px;font-size:11px;font-weight:700}.finance-rail .filter-button.selected small{background:var(--color-surface);color:var(--color-primary)}.finance-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px;display:flex}.finance-toolbar label{min-width:140px;max-width:260px;color:var(--color-text-secondary);flex:150px;gap:6px;font-size:12px;font-weight:600;display:grid}.finance-toolbar label.wide{flex:2 240px;max-width:360px}.finance-toolbar input,.finance-toolbar select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;height:40px;color:var(--color-text-primary);border-radius:9px;padding:0 12px;font-size:13px}.finance-toolbar input:focus-visible,.finance-toolbar select:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.finance-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.finance-toolbar-actions.own-row{border-top:1px solid var(--color-border);flex-basis:100%;justify-content:flex-end;margin-top:2px;margin-left:0;padding-top:2px}.finance-quick-period{flex-wrap:wrap;gap:6px;display:flex}.finance-quick-period button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text-secondary);border-radius:8px;padding:0 11px;font-size:12px;font-weight:600}.finance-quick-period button.selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.finance-figures{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;display:grid}.finance-figure{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-content:start;gap:6px;min-height:112px;padding:16px 18px;display:grid}.finance-figure>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.finance-figure>strong{letter-spacing:-.015em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(17px,1.6vw,21px);font-weight:750}.finance-figure>small{color:var(--color-text-secondary);font-size:12px;line-height:1.4}.finance-figure.good>strong{color:var(--color-success)}.finance-figure.bad>strong{color:var(--color-danger)}.finance-figure.warn>strong{color:var(--color-warning)}.finance-figure.accent{border-color:var(--color-primary);background:linear-gradient(180deg,var(--color-primary-soft),var(--color-surface) 70%)}.finance-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-content:start;gap:14px;padding:18px 18px 20px;display:grid}.finance-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.finance-panel-head h3{margin:0;font-size:15px;font-weight:700}.finance-panel-head p{margin:2px 0 0;line-height:1.45}.finance-panel-head p,.finance-panel-head>span{color:var(--color-text-secondary);font-size:12px}.finance-panel-head>span{white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:inline-flex}.finance-panel>.page-button{justify-self:start}.finance-grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.finance-bars{gap:11px;margin:0;padding:0;list-style:none}.finance-bars,.finance-bars li{align-content:start;display:grid}.finance-bars li{gap:5px}.finance-bar-top{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.finance-bar-top span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.finance-bar-top strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.finance-bar-track{background:var(--color-surface-muted);border-radius:999px;height:7px;overflow:hidden}.finance-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.finance-bar-fill.expense{background:var(--color-revenue-orange)}.finance-bar-fill.income{background:var(--color-success)}.finance-bar-fill.over{background:var(--color-danger)}.finance-bar-note{color:var(--color-text-secondary);font-size:11px}.finance-meter{white-space:normal;gap:4px;min-width:130px;display:grid}.finance-meter .finance-bar-track{width:100%}.finance-table-wrap{border:1px solid var(--color-border);background:var(--color-surface);min-width:0}.finance-table-wrap,.finance-table-wrap>.table-scroll{border-radius:var(--radius-md)}.finance-table td{height:56px}.finance-table .text-cell{white-space:normal;min-width:150px;max-width:300px;line-height:1.4}.finance-table .text-cell small{color:var(--color-text-secondary);font-size:11px;font-weight:500;display:block}.finance-table .amount{font-variant-numeric:tabular-nums;text-align:right;font-weight:650}.finance-table th.amount{text-align:right}.finance-table tbody tr.clickable{cursor:pointer}.finance-table tbody tr.clickable:hover td{background:var(--color-surface-muted)}.finance-table tbody tr.is-void td{color:var(--color-text-secondary);text-decoration:line-through;text-decoration-thickness:1px}.finance-muted{color:var(--color-text-secondary)}.finance-in{color:var(--color-success)}.finance-out{color:var(--color-danger)}.finance-chip,.finance-neutral{color:var(--color-text-secondary)}.finance-chip{background:var(--color-surface-muted);min-height:22px;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:650;display:inline-flex}.finance-chip.income{background:var(--color-success-soft);color:var(--color-success)}.finance-chip.expense{background:var(--color-danger-soft);color:var(--color-danger)}.finance-chip.transfer{background:var(--color-primary-soft);color:var(--color-primary)}.finance-chip.planned{background:var(--color-warning-soft);color:var(--color-warning)}.finance-chip.cancelled{background:var(--color-surface-muted);color:var(--color-text-secondary)}.finance-footnote{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.finance-footnote strong{color:var(--color-text-primary);font-weight:650}.finance-notice{border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);align-items:flex-start;gap:10px;margin:0;padding:11px 14px;font-size:12px;line-height:1.5;display:flex}.finance-notice strong{color:var(--color-text-primary);font-weight:650}.finance-loading{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:10px;padding:28px;font-size:13px;display:flex}.finance-drawer-backdrop{z-index:60;background:var(--color-overlay);animation:dialog-overlay-in .16s ease-out;position:fixed;inset:0}.finance-drawer{z-index:61;border-left:1px solid var(--color-border);background:var(--color-surface);width:min(460px,100%);box-shadow:var(--shadow-dialog);grid-template-rows:auto 1fr;animation:finance-drawer-in .22s cubic-bezier(.22,.61,.36,1);display:grid;position:fixed;inset:0 0 0 auto}@keyframes finance-drawer-in{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}.finance-drawer-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 14px;display:flex}.finance-drawer-head h3{margin:0;font-size:17px;font-weight:750}.finance-drawer-head p{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.finance-drawer-head button{background:var(--color-surface-muted);width:32px;height:32px;color:var(--color-text-secondary);border:0;border-radius:8px;flex:none;font-size:19px;line-height:1}.finance-drawer-body{align-content:start;gap:16px;padding:18px 22px 26px;display:grid;overflow-y:auto}.finance-drawer-amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:780}.finance-facts{gap:0;margin:0;display:grid}.finance-facts>div{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;font-size:13px;display:flex}.finance-facts>div:last-child{border-bottom:0}.finance-facts dt{color:var(--color-text-secondary)}.finance-facts dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.finance-timeline{gap:8px;margin:0;padding:0;list-style:none;display:grid}.finance-timeline li{background:var(--color-surface-muted);border-radius:9px;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 11px;font-size:12px;display:flex}.finance-timeline li strong{font-variant-numeric:tabular-nums}@media (max-width:900px){.finance-toolbar label,.finance-toolbar label.wide{max-width:none}.finance-toolbar-actions{justify-content:flex-start;width:100%;margin-left:0}}@media (max-width:560px){.finance-figures{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.finance-figure{min-height:94px;padding:14px}.finance-toolbar label{flex-basis:100%}.finance-drawer{width:100%}}.party-picker{position:relative}.party-picker>input{width:100%}.party-picker-clear{background:var(--color-surface-muted);width:26px;height:26px;color:var(--color-text-secondary);border:0;border-radius:7px;font-size:16px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.party-picker-clear:hover{color:var(--color-text-primary)}.party-picker-list{z-index:5;border:1px solid var(--color-border);background:var(--color-surface);max-height:268px;box-shadow:var(--shadow-dialog);border-radius:11px;gap:2px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.party-picker-list button{width:100%;color:var(--color-text-primary);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 10px;font-weight:600;display:flex}.party-picker-list button:focus-visible,.party-picker-list button:hover{background:var(--color-primary-soft);color:var(--color-primary);outline:none}.party-picker-list small{color:var(--color-text-secondary);flex:none;font-size:11px;font-weight:500}.party-picker-list button:focus-visible small,.party-picker-list button:hover small{color:var(--color-primary)}.party-picker-empty{color:var(--color-text-secondary);padding:10px;font-size:12px;font-weight:500}.finance-form label{grid-template-columns:auto 1fr;align-items:baseline}.finance-form label>.localized-date-input,.finance-form label>.party-picker,.finance-form label>input,.finance-form label>select,.finance-form label>textarea{grid-column:1/-1}.curriculum-page{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px 32px 32px;display:grid}.curriculum-page>*{min-width:0}.curriculum-hero{border:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:28px;padding:26px 28px;display:flex}.curriculum-hero>div:first-child{max-width:720px}.curriculum-eyebrow{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:750;display:block}.curriculum-lesson-eyebrow{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:11px;display:flex}.curriculum-lesson-eyebrow>strong{background:var(--color-primary-soft);letter-spacing:0;text-transform:none;border-radius:8px;padding:5px 11px;font-size:15px;font-weight:800}.curriculum-detail-hero h2,.curriculum-hero h2,.curriculum-lesson-hero h2{letter-spacing:-.015em;margin:0;font-size:26px;font-weight:780}.curriculum-detail-hero p,.curriculum-hero p,.curriculum-lesson-hero>div>p{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px;line-height:1.55}.curriculum-future-note{border:1px solid var(--color-primary-soft);border-radius:var(--radius-md);background:var(--color-primary-soft);align-items:center;gap:12px;width:min(360px,100%);padding:13px 15px;display:flex}.curriculum-ai-card>span,.curriculum-future-note>span{background:var(--color-primary);width:38px;height:38px;color:var(--color-text-inverse);border-radius:10px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.curriculum-future-note>div{gap:3px;display:grid}.curriculum-future-note strong{font-size:13px}.curriculum-future-note small{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.curriculum-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.curriculum-summary-grid article{border:1px solid var(--color-border);justify-content:space-between;align-items:center;min-height:82px;padding:18px 20px;display:flex}.curriculum-summary-grid span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.curriculum-summary-grid strong{color:var(--color-primary);font-size:27px;font-weight:780}.curriculum-library{border:1px solid var(--color-border);padding:22px}.curriculum-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.curriculum-section-heading h3,.curriculum-toolbar h3{margin:0;font-size:18px;font-weight:750}.curriculum-section-heading p,.curriculum-toolbar p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.curriculum-library-mark{background:var(--color-success-soft);color:var(--color-success);border-radius:9px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:650;display:inline-flex}.curriculum-library-mark span{font-size:17px}.curriculum-filters{align-items:center;gap:10px;margin-bottom:20px;display:flex}.curriculum-filters .account-search{flex:1}.curriculum-filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);min-width:170px;height:40px;color:var(--color-text-primary);padding:0 40px 0 12px;font-size:13px}.curriculum-filters select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.curriculum-program-grid{grid-template-columns:1fr;gap:14px;display:grid}.curriculum-program-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;gap:17px;min-width:0;padding:20px;transition:border-color .16s,box-shadow .16s;display:grid;position:relative}.curriculum-program-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.curriculum-program-icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:12px;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.curriculum-program-copy{min-width:0}.curriculum-program-copy>span{color:var(--color-primary);font-size:11px;font-weight:700}.curriculum-program-copy h3{margin:6px 0 7px;font-size:17px;font-weight:750}.curriculum-program-copy p{-webkit-line-clamp:2;min-height:42px;color:var(--color-text-secondary);-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.curriculum-age-options{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.curriculum-age-options>span{background:var(--color-primary-soft);color:var(--color-primary);border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:flex}.curriculum-age-options strong{font-weight:750}.curriculum-program-stats{border:1px solid var(--color-border);background:var(--color-border);border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.curriculum-program-stats div{background:var(--color-surface-muted);gap:4px;padding:10px 12px;display:grid}.curriculum-program-stats dt{color:var(--color-text-secondary);font-size:10px}.curriculum-program-stats dd{margin:0;font-size:14px;font-weight:750}.curriculum-progress{gap:8px;display:grid}.curriculum-progress>div{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.curriculum-progress>div strong{color:var(--color-text-primary)}.curriculum-progress-track{background:var(--color-surface-muted);border-radius:999px;height:6px;overflow:hidden}.curriculum-progress-track i{border-radius:inherit;background:var(--color-success);height:100%;display:block}.curriculum-program-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:2px;display:flex}.curriculum-program-footer>span{color:var(--color-text-secondary);font-size:11px}.curriculum-program-footer .page-button{text-decoration:none}.curriculum-empty{text-align:center;justify-items:center;gap:7px;min-height:260px;padding:70px 20px;display:grid}.curriculum-empty strong{font-size:16px}.curriculum-empty p{color:var(--color-text-secondary);margin:0 0 8px;font-size:13px}.curriculum-breadcrumbs{min-width:0;color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.curriculum-breadcrumbs a{color:var(--color-primary);text-decoration:none}.curriculum-breadcrumbs strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-detail-hero{border:1px solid var(--color-border);gap:22px;padding:24px;display:grid}.curriculum-detail-title{align-items:flex-start;gap:16px;display:flex}.curriculum-detail-title>div{min-width:0}.curriculum-detail-badges{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:9px;display:flex}.curriculum-detail-badges>span:not(.status-pill){background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:6px;padding:4px 8px;font-size:11px}.curriculum-track-picker{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 18px;padding:14px;display:flex}.curriculum-track-picker>div:first-child{gap:3px;display:grid}.curriculum-track-picker>div:first-child strong{font-size:13px}.curriculum-track-picker>div:first-child span{color:var(--color-text-secondary);font-size:10px}.curriculum-track-picker>div:last-child{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.curriculum-track-picker button{border:1px solid var(--color-border);background:var(--color-surface);min-width:104px;color:var(--color-text-primary);text-align:left;cursor:pointer;border-radius:9px;gap:2px;padding:9px 12px;display:grid}.curriculum-track-picker button strong{font-size:12px}.curriculum-track-picker button span{color:var(--color-text-secondary);font-size:10px}.curriculum-track-picker button.active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.curriculum-track-picker button.active span{color:var(--color-primary)}.curriculum-track-picker button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.curriculum-detail-hero dl{border:1px solid var(--color-border);background:var(--color-border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.curriculum-detail-hero dl div{background:var(--color-surface-muted);min-width:0;padding:12px 14px}.curriculum-detail-hero dt{color:var(--color-text-secondary);font-size:10px}.curriculum-detail-hero dd{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:13px;font-weight:700;overflow:hidden}.curriculum-detail-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:16px;display:grid}.curriculum-outline{border:1px solid var(--color-border);grid-template-rows:auto minmax(0,1fr) auto;gap:14px;max-height:calc(100dvh - 36px);padding:17px;display:grid;position:sticky;top:18px}.curriculum-outline nav{overscroll-behavior:contain;min-height:0;overflow-y:auto}.curriculum-outline>div:first-child{gap:4px;display:grid}.curriculum-outline>div:first-child strong{font-size:14px}.curriculum-outline>div:first-child span{color:var(--color-text-secondary);font-size:11px}.curriculum-outline nav{gap:5px;display:grid}.curriculum-outline nav button{width:100%;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:10px;transition:border-color .16s,background-color .16s;display:flex}.curriculum-outline nav button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.curriculum-outline nav button>span{background:var(--color-primary-soft);width:25px;height:25px;color:var(--color-primary);border-radius:7px;flex:none;place-items:center;font-size:10px;font-weight:750;display:grid}.curriculum-outline nav button>div{gap:3px;min-width:0;display:grid}.curriculum-outline nav button small,.curriculum-outline nav button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-outline nav button strong{font-size:12px}.curriculum-outline nav button small{color:var(--color-text-secondary);font-size:10px}.curriculum-outline-note{background:var(--color-success-soft);color:var(--color-success);border-radius:9px;align-items:flex-start;gap:8px;padding:11px;display:flex}.curriculum-outline-note span{flex:none;font-size:18px}.curriculum-outline-note p{margin:0;font-size:10px;line-height:1.5}.curriculum-months{gap:14px;min-width:0;display:grid}.curriculum-month{border:1px solid var(--color-border);scroll-margin-top:18px;overflow:hidden}.curriculum-month-heading{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:12px;padding:18px 20px;display:grid}.curriculum-month-heading>span{background:var(--color-primary);width:34px;height:34px;color:var(--color-text-inverse);border-radius:9px;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-month-heading h3{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800}.curriculum-month-heading small{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.curriculum-month-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.curriculum-month-heading>strong{color:var(--color-text-secondary);font-size:11px;font-weight:650}.curriculum-lesson-list{display:grid}.curriculum-lesson-row{border-bottom:1px solid var(--color-border);cursor:pointer;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:96px;padding:14px 18px;transition:background-color .16s;display:grid;position:relative}.curriculum-lesson-row:last-child{border-bottom:0}.curriculum-lesson-number{color:var(--color-text-secondary);font-size:12px;font-weight:700}.curriculum-lesson-copy{gap:5px;min-width:0;display:grid}.curriculum-lesson-copy>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.curriculum-lesson-copy strong{color:var(--color-text-primary);font-size:14px;font-weight:750}.curriculum-lesson-copy p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:1.45}.curriculum-lesson-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;display:flex}.curriculum-lesson-meta span+span:before{color:var(--color-border);content:"•";margin-right:10px}.curriculum-lesson-meta .reusable-mark{color:var(--color-success);font-weight:650}.curriculum-material-dots{justify-content:flex-end;align-items:center;gap:4px;display:flex}.curriculum-material-dots>span{border:1px dashed var(--color-border);width:25px;height:25px;color:var(--color-text-secondary);border-radius:7px;place-items:center;font-size:9px;font-weight:700;display:grid}.curriculum-material-dots>span.ready{border-style:solid;border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.curriculum-material-dots small{color:var(--color-text-secondary);font-size:10px}.curriculum-open-lesson{width:30px;height:30px;color:var(--color-primary);border-radius:8px;place-items:center;font-size:18px;text-decoration:none;display:grid}.curriculum-month-empty{min-height:120px;color:var(--color-text-secondary);text-align:left;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.curriculum-month-empty img{opacity:.6;width:26px;height:26px}.curriculum-month-empty div{gap:4px;display:grid}.curriculum-month-empty strong{color:var(--color-text-primary);font-size:13px}.curriculum-month-empty p{margin:0;font-size:11px}.curriculum-lesson-hero{border:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.curriculum-lesson-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.curriculum-lesson-hero>div{max-width:720px}.curriculum-lesson-hero dl{border:1px solid var(--color-border);background:var(--color-border);border-radius:10px;flex:none;align-items:center;gap:1px;margin:0;display:flex;overflow:hidden}.curriculum-lesson-hero dl div{background:var(--color-surface-muted);min-width:125px;padding:11px 13px}.curriculum-lesson-hero dt{color:var(--color-text-secondary);font-size:9px}.curriculum-lesson-hero dd{margin:5px 0 0;font-size:12px;font-weight:700}.curriculum-live-actions{align-items:center;gap:8px;margin-top:18px;display:flex}.curriculum-live-actions .ui-button{align-items:center;gap:8px;display:inline-flex}.curriculum-live-actions .ui-button span{font-size:10px}.curriculum-live-hint{color:var(--color-text-secondary);margin-top:7px;font-size:11px;display:block}.curriculum-session-error{color:var(--color-danger);margin:8px 0 0;font-size:12px}.curriculum-lesson-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.curriculum-material-library{border:1px solid var(--color-border);padding:20px}.curriculum-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.curriculum-section-heading>span{background:var(--color-primary-soft);color:var(--color-primary);border-radius:6px;padding:5px 8px;font-size:11px;font-weight:650}.curriculum-material-grid{gap:8px;display:grid}.curriculum-material-card{border:1px dashed var(--color-border);background:var(--color-surface-muted);border-radius:10px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:13px 14px;display:grid}.curriculum-material-card.has-material{background:var(--color-surface);border-style:solid}.curriculum-material-icon{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);text-transform:uppercase;border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-material-card>div:nth-child(2){min-width:0}.curriculum-material-card>div:nth-child(2)>span{color:var(--color-primary);text-transform:uppercase;font-size:9px;font-weight:700}.curriculum-material-card h4{margin:4px 0;font-size:13px}.curriculum-material-card p{color:var(--color-text-secondary);margin:0;font-size:10px;line-height:1.4}.curriculum-material-card a{color:var(--color-primary);margin-top:6px;font-size:10px;font-weight:650;text-decoration:none;display:inline-flex}.curriculum-material-controls{justify-items:end;gap:6px;display:grid}.curriculum-material-controls>.curriculum-crud-button{display:inline-grid}.curriculum-material-add{border:1px dashed var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);cursor:pointer;padding:6px 9px;font-size:10px;font-weight:700}.curriculum-material-state{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:6px;padding:5px 8px;font-size:10px;font-weight:650}.curriculum-material-state.ready{background:var(--color-success-soft);color:var(--color-success)}.curriculum-lesson-sidebar{gap:14px;display:grid}.curriculum-lesson-sidebar>section{border:1px solid var(--color-border);padding:18px}.curriculum-lesson-sidebar h3{margin:0;font-size:16px;line-height:1.35}.curriculum-lesson-sidebar p{color:var(--color-text-secondary);margin:8px 0 0;font-size:11px;line-height:1.55}.curriculum-lesson-sidebar ul{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.curriculum-lesson-sidebar li{padding-left:18px;font-size:11px;position:relative}.curriculum-lesson-sidebar li:before{color:var(--color-success);content:"✓";font-weight:800;position:absolute;top:3px;left:2px}.curriculum-ai-card{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;display:grid}.curriculum-ai-card .page-button{grid-column:1/-1;width:100%}.curriculum-ai-card strong{font-size:13px}.curriculum-ai-card p{margin-top:3px}.curriculum-lobby-dialog{width:min(760px,100%)}.curriculum-join-code{background:var(--color-primary-soft);text-align:center;border-radius:14px;justify-items:center;gap:6px;padding:20px;display:grid}.curriculum-join-code>span{color:var(--color-primary);text-transform:uppercase;font-size:11px;font-weight:700}.curriculum-join-code>strong{color:var(--color-primary);letter-spacing:.14em;font-size:42px;font-weight:800;line-height:1.15}.curriculum-join-code>p{color:var(--color-text-secondary);margin:0;font-size:12px}.curriculum-lobby-grid{grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr);gap:14px;display:grid}.curriculum-lobby-grid>div{border:1px solid var(--color-border);border-radius:12px;min-width:0;padding:16px}.curriculum-lobby-grid>div>strong{font-size:15px;display:block}.curriculum-lobby-grid ul{gap:6px;max-height:180px;margin:13px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.curriculum-lobby-grid li{background:var(--color-surface-muted);border-radius:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;font-size:12px;font-weight:650;display:grid}.curriculum-lobby-grid li>span{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-lobby-grid li>b{color:var(--color-success)}.curriculum-lobby-grid li.empty{color:var(--color-text-secondary);text-align:center;font-weight:500;display:block}.curriculum-mock-join{align-content:start;gap:10px;display:grid}.curriculum-mock-join>p{color:var(--color-text-secondary);margin:-3px 0 3px;font-size:11px;line-height:1.45}.curriculum-mock-join label{gap:6px;font-size:11px;font-weight:650;display:grid}.curriculum-mock-join input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;height:40px;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:0 11px}.curriculum-mock-join input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.curriculum-presenter{border:1px solid var(--color-border);background:var(--color-surface);width:min(1180px,100%);height:min(760px,100dvh - 48px);box-shadow:var(--shadow-dialog);border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;animation:dialog-surface-in .18s ease-out;display:grid;overflow:hidden}.curriculum-presenter>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.curriculum-presenter>header>div:first-child{min-width:0}.curriculum-presenter>header span{color:var(--color-primary);text-transform:uppercase;font-size:10px;font-weight:750}.curriculum-presenter>header h2{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:18px;overflow:hidden}.curriculum-presenter>header>div:last-child{align-items:center;gap:12px;display:flex}.curriculum-presenter>header>div:last-child>strong{background:var(--color-success-soft);color:var(--color-success);border-radius:7px;padding:6px 9px;font-size:11px}.curriculum-presenter-stage{grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.curriculum-presenter-stage>aside{border-right:1px solid var(--color-border);background:var(--color-surface-muted);align-content:start;gap:6px;padding:12px;display:grid;overflow-y:auto}.curriculum-presenter-stage>aside button{width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:9px;display:grid}.curriculum-presenter-stage>aside button.active{border-color:var(--color-primary);background:var(--color-surface)}.curriculum-presenter-stage>aside button>span{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:7px;place-items:center;font-size:10px;font-weight:800;display:grid}.curriculum-presenter-stage>aside button>div{gap:2px;min-width:0;display:grid}.curriculum-presenter-stage>aside small,.curriculum-presenter-stage>aside strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-presenter-stage>aside strong{font-size:11px}.curriculum-presenter-stage>aside small{color:var(--color-text-secondary);font-size:9px}.curriculum-presenter-stage>main{background:var(--color-surface);text-align:center;align-content:center;justify-items:center;gap:14px;min-width:0;min-height:0;padding:44px;display:grid;overflow-y:auto}.curriculum-presenter-stage>main.quiz{align-content:start}.curriculum-presenter-stage>main.media-only{grid-template-rows:minmax(0,1fr);align-content:stretch;padding:12px;overflow:hidden}.curriculum-slide-type{background:var(--color-primary-soft);color:var(--color-primary);text-transform:uppercase;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:750}.curriculum-presenter-stage>main h3{max-width:720px;margin:0;font-size:clamp(28px,4vw,46px);line-height:1.12}.curriculum-presenter-stage>main>p{max-width:720px;color:var(--color-text-secondary);margin:0;font-size:clamp(16px,2vw,22px);line-height:1.55}.curriculum-quiz-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(720px,100%);margin-top:12px;display:grid}.curriculum-quiz-options button{border:1px solid var(--color-border);background:var(--color-surface-muted);min-height:60px;color:var(--color-text-primary);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:11px;padding:11px 13px;font-size:13px;display:flex}.curriculum-quiz-options button>span{background:var(--color-surface);width:30px;height:30px;color:var(--color-primary);border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-quiz-options button.selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.curriculum-presenter>footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.curriculum-presenter>footer>span{color:var(--color-text-secondary);font-size:12px;font-weight:650}.curriculum-presenter>footer>div{gap:8px;display:flex}.student-session-join{border:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:22px 24px;display:grid}.student-session-join h2{margin:0;font-size:20px}.student-session-join p{color:var(--color-text-secondary);margin:7px 0 0;font-size:13px;line-height:1.5}.student-session-join form{align-items:center;gap:9px;display:flex}.student-session-join input{border:1px solid var(--color-border);background:var(--color-surface-muted);width:170px;height:44px;color:var(--color-text-primary);font:inherit;letter-spacing:.15em;text-align:center;border-radius:9px;padding:0 14px;font-size:18px;font-weight:750}.student-session-join input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.student-session-join>.curriculum-session-error{grid-column:1/-1}.curriculum-session-screen{background:var(--color-session-background);min-height:100dvh;color:var(--color-session-text)}[data-presentation-theme=light]{color-scheme:light;--color-session-background:var(--color-background);--color-session-surface:var(--color-surface);--color-session-surface-raised:var(--color-surface-muted);--color-session-border:var(--color-border);--color-session-text:var(--color-text-primary);--color-session-muted:var(--color-text-secondary)}[data-presentation-theme=dark]{color-scheme:dark}.curriculum-session-topbar{border-bottom:1px solid var(--color-session-border);background:var(--color-session-surface);justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:10px 22px;display:flex}.curriculum-session-topbar>div{align-items:center;gap:12px;min-width:0;display:flex}.curriculum-session-topbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.curriculum-session-topbar>div:first-child>a{border:1px solid var(--color-session-border);width:36px;height:36px;color:var(--color-session-text);border-radius:9px;flex:none;place-items:center;text-decoration:none;display:grid}.curriculum-session-topbar>div:first-child>div{min-width:0}.curriculum-session-topbar span{color:var(--color-session-muted);font-size:10px}.curriculum-session-topbar h1{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:15px;overflow:hidden}.curriculum-session-topbar>div:last-child>strong{border:1px solid var(--color-session-border);letter-spacing:.12em;border-radius:9px;padding:9px 13px;font-size:15px}.curriculum-live-connection{align-items:center;gap:6px;display:inline-flex}.curriculum-live-connection i,.curriculum-student-session-bar>span i{background:var(--color-warning);border-radius:50%;width:7px;height:7px}.curriculum-live-connection.connected i,.curriculum-student-session-bar>span.connected i{background:var(--color-success)}.curriculum-host-layout{grid-template-columns:minmax(0,1fr) 330px;min-height:calc(100dvh - 70px);display:grid}.curriculum-host-stage{border-right:1px solid var(--color-session-border);grid-template-rows:minmax(0,1fr) auto;min-width:0;padding:24px;display:grid}.curriculum-slide-asset{border-radius:12px;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;min-width:0;max-width:100%;min-height:0;max-height:100%;margin-inline:auto;display:grid;overflow:hidden}.curriculum-slide-asset img{border-radius:inherit;object-fit:contain;width:100%;height:100%;max-height:100%;display:block}.curriculum-slide-asset.pdf{width:100%}.curriculum-slide-asset.pdf object{aspect-ratio:1/1.414;border:1px solid var(--color-border);border-radius:inherit;background:var(--color-surface);width:100%;max-height:100%}.curriculum-slide-asset.pdf a{color:var(--color-primary);font-size:12px}.curriculum-slide-asset.editor{justify-self:center}.curriculum-slide-asset.media-only{align-self:stretch;height:100%;min-height:0}.curriculum-slide-asset.media-only img,.curriculum-slide-asset.quiz-media img{object-fit:contain;height:100%}.curriculum-slide-asset.media-only.pdf object,.curriculum-slide-asset.quiz-media.pdf object{aspect-ratio:auto;height:100%}.curriculum-slide-asset.thumbnail{background:var(--color-surface-muted);pointer-events:none;border-radius:7px;height:72px;width:100%!important}.curriculum-slide-asset.thumbnail img,.curriculum-slide-asset.thumbnail.pdf object{aspect-ratio:auto;object-fit:contain;border:0;width:100%;height:100%}.curriculum-slide-asset-loading{color:var(--color-text-secondary);padding:18px;font-size:11px}.curriculum-quiz-prompt{place-items:stretch stretch;gap:12px;width:min(1000px,100%);min-width:0;display:grid}.curriculum-quiz-prompt.with-media{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);min-height:220px;max-height:min(42dvh,420px)}.curriculum-quiz-question{border:1px solid var(--color-session-border);background:var(--color-session-background);text-align:center;border-radius:14px;place-items:center;min-width:0;min-height:150px;padding:clamp(18px,3vw,40px);display:grid;overflow:auto}.curriculum-quiz-question h1,.curriculum-quiz-question h2,.curriculum-quiz-question h3{margin:0;font-size:clamp(24px,3.2vw,46px);line-height:1.18}.curriculum-slide-asset.quiz-media{background:var(--color-session-background);align-self:stretch;width:100%;height:100%}.curriculum-quiz-timer{width:100%;color:var(--color-points);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.curriculum-quiz-timer strong{font-variant-numeric:tabular-nums;letter-spacing:.03em;font-size:clamp(19px,2.4vw,32px);font-weight:800}.curriculum-quiz-timer span{color:var(--color-session-muted);white-space:nowrap;font-size:12px;font-weight:700}.curriculum-quiz-timer i{background:var(--color-session-surface-raised);border-radius:999px;height:10px;overflow:hidden}.curriculum-quiz-timer i b{border-radius:inherit;background:currentColor;height:100%;transition:width .95s linear;display:block}.curriculum-quiz-timer.expired,.curriculum-quiz-timer.urgent{color:var(--color-danger)}.curriculum-quiz-timer.urgent strong{animation:curriculum-timer-beat 1s ease-in-out infinite}@keyframes curriculum-timer-beat{50%{transform:scale(1.09)}}.curriculum-preview-quiz-meta{color:var(--color-text-secondary);font-size:11px;font-weight:650}.curriculum-quiz-options button.correct{border-color:var(--color-success)}.curriculum-host-waiting,.curriculum-live-slide{border:1px solid var(--color-session-border);background:var(--color-session-surface);text-align:center;border-radius:18px;align-content:safe center;justify-items:center;gap:16px;min-width:0;min-height:520px;padding:44px;display:grid;overflow:auto}.curriculum-live-slide.quiz{align-content:start;padding:24px;overflow-y:auto}.curriculum-live-slide.media-only{grid-template-rows:minmax(0,1fr);align-content:stretch;min-height:0;padding:12px;overflow:hidden}.curriculum-host-waiting h2,.curriculum-live-slide h2{max-width:900px;margin:0;font-size:clamp(34px,5vw,68px);line-height:1.08}.curriculum-live-slide .curriculum-quiz-question h2{font-size:clamp(24px,3.2vw,46px);line-height:1.18}.curriculum-host-waiting>p,.curriculum-live-slide>p{max-width:820px;color:var(--color-session-muted);margin:0;font-size:clamp(16px,2vw,24px);line-height:1.5}.curriculum-host-waiting>div{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.curriculum-host-waiting>div span{background:var(--color-session-surface-raised);color:var(--color-session-muted);border-radius:8px;padding:7px 10px;font-size:11px}.curriculum-host-waiting>.ui-button{margin-top:8px}.curriculum-host-stage>footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:16px 0 0;display:flex;position:relative}.curriculum-host-stage>footer>span{min-width:0;color:var(--color-session-muted);flex:0 auto;font-size:12px}.curriculum-host-stage>footer>div{align-items:center;gap:8px;display:flex}.curriculum-stage-tools{justify-content:center}.curriculum-stage-nav{flex-wrap:wrap;flex:auto;justify-content:flex-end;min-width:0}.curriculum-host-sidebar{background:var(--color-session-surface);grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:18px;display:grid}.curriculum-host-sidebar>section{border:1px solid var(--color-session-border);background:var(--color-session-background);border-radius:14px}.curriculum-host-code{text-align:center;justify-items:center;gap:6px;padding:18px;display:grid}.curriculum-host-code small,.curriculum-host-code span{color:var(--color-session-muted);font-size:10px}.curriculum-host-code strong{letter-spacing:.18em;font-size:34px}.curriculum-host-roster{overflow:hidden}.curriculum-host-roster>header{border-bottom:1px solid var(--color-session-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.curriculum-host-roster>header>div{align-items:center;gap:8px;display:flex}.curriculum-host-roster>header span{color:var(--color-success);font-size:10px}.curriculum-host-roster>header strong{font-size:13px}.curriculum-host-roster>header b{background:var(--color-primary);border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 7px;font-size:11px;display:grid}.curriculum-host-roster .curriculum-ranking-list{max-height:calc(100dvh - 330px);padding:10px;overflow-y:auto}.curriculum-no-participants{min-height:220px;color:var(--color-session-muted);text-align:center;align-content:center;justify-items:center;gap:7px;padding:24px;display:grid}.curriculum-no-participants>span{font-size:34px}.curriculum-no-participants strong{color:var(--color-session-text);font-size:13px}.curriculum-no-participants p{margin:0;font-size:10px;line-height:1.5}.curriculum-host-info{gap:5px;padding:13px;display:grid}.curriculum-host-info span{font-size:11px;font-weight:700}.curriculum-host-info small{color:var(--color-session-muted);font-size:9px;line-height:1.5}.curriculum-session-toast{z-index:20;background:var(--color-danger-soft);max-width:360px;color:var(--color-danger);box-shadow:var(--shadow-dialog);border-radius:10px;padding:12px 15px;font-size:12px;position:fixed;bottom:20px;right:20px}.curriculum-host-quiz-results{gap:9px;width:min(760px,100%);margin-top:10px;display:grid}.curriculum-host-quiz-results>div{border:1px solid var(--color-session-border);background:var(--color-session-background);text-align:left;border-radius:10px;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:10px;display:grid}.curriculum-host-quiz-results>div>span{background:var(--color-primary);border-radius:8px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid}.curriculum-host-quiz-results>div.correct{border-color:var(--color-success)}.curriculum-host-quiz-results>div.correct>span{background:var(--color-success)}.curriculum-host-quiz-results strong b{color:var(--color-success)}.curriculum-host-quiz-results>div>div{gap:7px;display:grid}.curriculum-host-quiz-results strong{font-size:12px}.curriculum-host-quiz-results i{background:var(--color-session-surface-raised);border-radius:999px;height:6px;overflow:hidden}.curriculum-host-quiz-results i b{border-radius:inherit;background:var(--color-success);height:100%;transition:width .2s;display:block}.curriculum-host-quiz-results em{text-align:center;font-size:13px;font-style:normal;font-weight:800}.curriculum-session-ended{place-items:center;padding:24px;display:grid}.curriculum-session-ended>section,.curriculum-student-finish{border:1px solid var(--color-session-border);background:var(--color-session-surface);width:min(560px,100%);color:var(--color-session-text);text-align:center;justify-items:center;gap:14px;padding:36px;display:grid}.curriculum-session-ended h1,.curriculum-student-finish h1{margin:0;font-size:28px}.curriculum-session-ended p,.curriculum-student-finish p{color:var(--color-session-muted);margin:0;line-height:1.55}.curriculum-session-ended dl{border:1px solid var(--color-session-border);background:var(--color-session-border);border-radius:10px;grid-template-columns:repeat(2,1fr);gap:1px;width:100%;margin:4px 0;display:grid;overflow:hidden}.curriculum-session-ended dl div{background:var(--color-session-background);padding:12px}.curriculum-session-ended dt{color:var(--color-session-muted);font-size:10px}.curriculum-session-ended dd{margin:5px 0 0;font-size:20px;font-weight:800}.curriculum-empty-session-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;display:flex}.curriculum-student-live-screen{background:var(--color-session-background);max-width:100vw;height:100dvh;color:var(--color-session-text);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.curriculum-student-session-bar>*{min-width:0}.curriculum-student-lesson>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-student-live-screen.waiting{grid-template-rows:auto auto minmax(0,1fr)}.curriculum-student-live-screen.curriculum-session-ended{grid-template-rows:none;grid-auto-rows:auto;align-content:start;justify-items:center;overflow-y:auto}.curriculum-student-session-bar{border-bottom:1px solid var(--color-session-border);background:var(--color-session-surface);justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 20px;display:flex}.curriculum-student-session-bar a{color:var(--color-session-text);font-size:12px;text-decoration:none}.curriculum-student-session-bar>strong{letter-spacing:.14em;font-size:15px}.curriculum-student-session-bar>div{align-items:center;gap:12px;min-width:0;display:flex}.curriculum-student-session-bar>div span{color:var(--color-session-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.curriculum-student-session-bar>div strong{font-size:11px}.curriculum-student-session-bar>span{color:var(--color-session-muted);align-items:center;gap:6px;font-size:10px;display:flex}.curriculum-student-waiting{text-align:center;align-content:center;justify-items:center;gap:14px;padding:34px 20px;display:grid}.curriculum-student-waiting.compact{gap:9px;padding:16px 20px 4px}.curriculum-student-waiting.compact h1{font-size:clamp(19px,2.4vw,26px)}.curriculum-student-waiting.compact .curriculum-waiting-pulse{margin-top:6px}.curriculum-student-waiting.compact .curriculum-student-name-card{padding:11px 14px}.curriculum-student-name-card{border:1px solid var(--color-session-border);background:var(--color-session-surface);text-align:left;border-radius:14px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(620px,100%);padding:16px;display:grid}.curriculum-student-name-card>span{background:var(--color-primary-soft);width:46px;height:46px;color:var(--color-primary);border-radius:50%;place-items:center;font-weight:800;display:grid}.curriculum-student-name-card>div{gap:3px;display:grid}.curriculum-student-name-card small{color:var(--color-session-muted);font-size:10px}.curriculum-student-name-card strong{font-size:16px}.curriculum-student-name-card b{color:var(--color-success)}.curriculum-waiting-pulse{gap:6px;margin-top:26px;display:flex}.curriculum-waiting-pulse i{background:var(--color-primary);border-radius:50%;width:9px;height:9px;animation:curriculum-waiting-pulse 1.2s ease-in-out infinite}.curriculum-waiting-pulse i:nth-child(2){animation-delay:.15s}.curriculum-waiting-pulse i:nth-child(3){animation-delay:.3s}.curriculum-student-waiting h1{margin:0;font-size:clamp(25px,4vw,40px)}.curriculum-student-waiting>p{max-width:560px;color:var(--color-session-muted);margin:0;font-size:13px;line-height:1.5}.curriculum-student-slide{text-align:center;align-content:safe center;justify-items:center;gap:14px;min-width:0;min-height:0;padding:clamp(14px,3vh,34px) max(16px,4vw);display:grid;position:relative;overflow:auto}.curriculum-student-slide.quiz{align-content:center;gap:12px}.curriculum-student-slide.media-only{grid-template-rows:minmax(0,1fr);align-content:stretch;padding:12px;overflow:hidden}.curriculum-student-slide h1{max-width:980px;margin:0;font-size:clamp(26px,4.4vw,58px);line-height:1.08}.curriculum-student-slide .curriculum-quiz-question h1{font-size:clamp(19px,2.6vw,36px);line-height:1.18}.curriculum-student-slide>p{max-width:850px;color:var(--color-session-muted);margin:0;font-size:clamp(14px,1.9vw,22px);line-height:1.5}.curriculum-student-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(1180px,100%);min-height:0;margin-top:4px;display:grid}.curriculum-student-options button{background:var(--color-session-surface);min-height:clamp(96px,22vh,210px);color:var(--color-quiz-text);text-align:center;cursor:pointer;border:0;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:8px;padding:14px 12px;transition:transform .12s,filter .12s;display:grid}.curriculum-student-options button>span{background:#00000038;border-radius:9px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid}.curriculum-student-options button>strong{align-self:center;font-size:clamp(14px,1.7vw,22px);font-weight:700;line-height:1.25}.curriculum-student-options button>b{color:var(--color-success)}.curriculum-student-options button.selected{box-shadow:0 0 0 4px var(--color-quiz-text)}.curriculum-student-options button.dim{filter:saturate(.25)brightness(.6)}.curriculum-student-options button:disabled{cursor:default}.curriculum-answer-saved{color:var(--color-session-muted);font-size:11px}.curriculum-answer-saved.correct{color:var(--color-success);font-size:14px;font-weight:700}.curriculum-answer-saved.wrong{color:var(--color-danger);font-size:14px;font-weight:700}.curriculum-student-points{color:var(--color-session-text);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.curriculum-student-score{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:14px 0 0;display:grid}.curriculum-student-score div{background:var(--color-surface-muted);text-align:center;border-radius:10px;gap:4px;padding:11px;display:grid}.curriculum-student-score dt{color:var(--color-text-secondary);font-size:10px}.curriculum-student-score dd{margin:0;font-size:20px;font-weight:780}.curriculum-student-live-footer{border-top:1px solid var(--color-session-border);min-height:52px;color:var(--color-session-muted);justify-content:center;align-items:center;padding:10px 20px;font-size:10px;display:flex}.curriculum-student-live-footer .ui-button{margin-left:12px}.curriculum-student-finish{place-self:start center}@keyframes curriculum-waiting-pulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@media (hover:hover) and (pointer:fine){.curriculum-program-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card)}.curriculum-lesson-row:hover,.curriculum-outline nav button:hover{background:var(--color-surface-muted)}.curriculum-open-lesson:hover{background:var(--color-primary-soft)}.curriculum-quiz-options button:hover,.curriculum-track-picker button:hover{border-color:var(--color-primary)}}@media (max-width:1180px){.curriculum-lesson-hero{flex-direction:column;align-items:flex-start}.curriculum-lesson-hero dl{width:100%}.curriculum-lesson-hero dl div{flex:1}}@media (max-width:980px){.curriculum-detail-layout,.curriculum-lesson-layout{grid-template-columns:1fr}.curriculum-outline{position:static}.curriculum-lesson-sidebar,.curriculum-outline nav{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-detail-hero dl{grid-template-columns:repeat(3,minmax(0,1fr))}.curriculum-host-layout{grid-template-columns:1fr}.curriculum-host-stage{border-right:0;border-bottom:1px solid var(--color-session-border)}.curriculum-host-sidebar{grid-template-rows:auto;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.curriculum-host-info{grid-column:1/-1}.curriculum-host-roster .curriculum-ranking-list{max-height:300px}}@media (max-width:750px){.curriculum-page{padding:16px 6px}.curriculum-hero{flex-direction:column;align-items:stretch;padding:20px}.curriculum-future-note{width:100%}.curriculum-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-library{padding:16px 14px}.curriculum-program-footer,.curriculum-toolbar{flex-direction:column;align-items:flex-start}.curriculum-filters{flex-direction:column;align-items:stretch}.curriculum-filters select{width:100%}.curriculum-program-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-track-picker{flex-direction:column;align-items:stretch}.curriculum-track-picker>div:last-child{justify-content:flex-start}.curriculum-detail-hero dl{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-lesson-row{grid-template-columns:28px minmax(0,1fr)}.curriculum-lesson-row .curriculum-row-actions{grid-column:2;justify-self:start}.curriculum-material-dots{display:none}.curriculum-lesson-sidebar,.curriculum-lobby-grid,.curriculum-presenter-stage{grid-template-columns:1fr}.curriculum-presenter-stage>aside{border-right:0;border-bottom:1px solid var(--color-border);padding:8px;display:flex;overflow-x:auto}.curriculum-presenter-stage>aside button{flex:0 0 150px}.curriculum-presenter-stage>main{padding:28px 20px}.curriculum-presenter-stage>main.media-only{padding:8px}.curriculum-quiz-prompt.with-media{grid-template-columns:1fr;max-height:none}.curriculum-slide-asset.quiz-media{min-height:180px;max-height:240px}.student-session-join{grid-template-columns:1fr}.student-session-join form{width:100%}.student-session-join label{flex:1}.student-session-join input{width:100%}.curriculum-session-topbar{flex-direction:column;align-items:flex-start;padding:13px 16px}.curriculum-session-topbar>div:last-child{flex-wrap:wrap;width:100%}.curriculum-host-layout{min-height:calc(100dvh - 120px)}.curriculum-host-stage{padding:14px}.curriculum-host-waiting,.curriculum-live-slide{min-height:440px;padding:28px 18px}.curriculum-live-slide.media-only{min-height:0;padding:8px}.curriculum-host-sidebar{grid-template-columns:1fr}.curriculum-host-info{grid-column:auto}.curriculum-student-session-bar{padding-inline:14px}}@media (max-width:520px){.curriculum-detail-hero h2,.curriculum-hero h2,.curriculum-lesson-hero h2{font-size:22px}.curriculum-summary-grid{grid-template-columns:1fr}.curriculum-summary-grid article{min-height:66px}.curriculum-program-card{padding:16px}.curriculum-detail-title{flex-direction:column}.curriculum-detail-hero dl,.curriculum-outline nav{grid-template-columns:1fr}.curriculum-month-heading{grid-template-columns:36px minmax(0,1fr)}.curriculum-month-heading>strong{grid-column:2}.curriculum-lesson-row{padding-inline:12px}.curriculum-lesson-meta{gap:6px}.curriculum-lesson-meta span+span:before{margin-right:6px}.curriculum-lesson-hero dl{grid-template-columns:1fr;display:grid}.curriculum-live-actions{flex-direction:column;align-items:stretch}.curriculum-live-actions .ui-button{justify-content:center;width:100%}.curriculum-material-card{grid-template-columns:40px minmax(0,1fr)}.curriculum-material-state{grid-column:2;justify-self:start}.curriculum-track-picker button{flex:calc(50% - 4px)}.curriculum-join-code>strong{font-size:32px}.curriculum-presenter{border-radius:16px;height:calc(100dvh - 20px)}.curriculum-presenter>header{padding:12px 14px}.curriculum-presenter>header>div:last-child>strong{display:none}.curriculum-quiz-options{grid-template-columns:1fr}.curriculum-presenter>footer{padding:10px 12px}.student-session-join{padding:18px}.student-session-join form{flex-direction:column;align-items:stretch}.curriculum-session-topbar>div:last-child>.ui-button{width:100%}.curriculum-host-stage>footer{flex-direction:column;align-items:stretch}.curriculum-host-stage>footer>div{flex-wrap:wrap;justify-content:center;display:flex}.curriculum-host-code strong{font-size:28px}.curriculum-student-session-bar>span{font-size:0}.curriculum-student-session-bar>span i{width:9px;height:9px}.curriculum-student-options{grid-template-columns:1fr}.curriculum-student-slide{padding:28px 16px}.curriculum-student-slide.media-only{padding:8px}}.session-resume-banner{border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-soft);align-items:center;gap:14px;margin:20px 32px 0;padding:14px 18px;display:flex}.content-stack .session-resume-banner{margin:0}.session-resume-dot{background:var(--color-warning);border-radius:50%;flex:none;width:10px;height:10px}.session-resume-dot.live{background:var(--color-success);animation:session-resume-pulse 1.6s ease-in-out infinite}.session-resume-copy{gap:3px;min-width:0;margin-right:auto;display:grid}.session-resume-copy strong{font-size:14px}.session-resume-copy small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.session-resume-code{border-radius:var(--radius-sm);background:var(--color-surface);letter-spacing:.12em;flex:none;padding:6px 12px;font-size:16px;font-weight:800}@keyframes session-resume-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.session-resume-dot.live{animation:none}}@media (max-width:750px){.session-resume-banner{flex-wrap:wrap;margin:16px 6px 0}.content-stack .session-resume-banner{margin:0}.session-resume-copy{flex-basis:100%;margin-right:0}.session-resume-banner .page-button{flex:1}}.curriculum-lesson-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.curriculum-lesson-actions .curriculum-live-actions{margin:0}.curriculum-editor-trigger,.curriculum-lesson-info-button{min-height:44px}.curriculum-editor-trigger{gap:8px}.curriculum-editor-trigger.compact{min-height:37px;padding-inline:14px;font-size:12px}.curriculum-editor-overlay{padding:16px}.curriculum-editor{border:1px solid var(--color-border);background:var(--color-surface);width:min(1500px,100vw - 32px);height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);border-radius:18px;grid-template-rows:auto minmax(0,1fr);animation:dialog-surface-in .18s ease-out;display:grid;position:relative;overflow:hidden}.curriculum-editor-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:13px 18px;display:flex}.curriculum-editor-header>div{align-items:center;gap:12px;min-width:0;display:flex}.curriculum-editor-header>div:first-child>button{border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;color:var(--color-text-primary);cursor:pointer;border-radius:9px;flex:none;place-items:center;font-size:18px;display:grid}.curriculum-editor-header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.curriculum-editor-header span{color:var(--color-text-secondary);margin-top:4px;font-size:10px;display:block}.curriculum-editor-header .ui-button{min-height:40px}.curriculum-editor-header .curriculum-editor-dirty{background:var(--color-warning-soft);color:var(--color-warning);border-radius:7px;flex:none;margin-top:0;padding:5px 9px;font-size:10px;font-weight:700;display:block}.curriculum-editor-shell{grid-template-columns:230px minmax(0,1fr) 260px;min-height:0;display:grid}.curriculum-editor-rail{border-right:1px solid var(--color-border);background:var(--color-surface-muted);min-height:0;padding:14px;overflow-y:auto}.curriculum-editor-add{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px;display:grid}.curriculum-editor-add button{border:1px solid var(--color-primary);background:var(--color-surface);min-height:38px;color:var(--color-primary);cursor:pointer;border-radius:9px;font-size:11px;font-weight:700}.curriculum-editor-thumbnails{gap:8px;display:grid}.curriculum-editor-thumbnails>button{border:1px solid var(--color-border);background:var(--color-surface);min-height:105px;color:var(--color-text-primary);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:9px;display:grid}.curriculum-editor-thumbnails>button.active{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.curriculum-editor-thumbnails>button.dragging{opacity:.45}.curriculum-editor-thumbnails>button.drop-target{border-color:var(--color-primary);box-shadow:inset 0 3px 0 0 var(--color-primary)}.curriculum-editor-rail-hint{color:var(--color-text-secondary);margin-bottom:9px;font-size:9px;line-height:1.45;display:block}.curriculum-editor-reorder-button{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:34px;color:var(--color-text-primary);cursor:pointer;border-radius:9px;margin-bottom:9px;font-size:11px;font-weight:700}.curriculum-editor-reorder-button:disabled{opacity:.5;cursor:not-allowed}.curriculum-editor-thumbnails>button>span{color:var(--color-text-secondary);font-size:10px;font-weight:750}.curriculum-editor-thumbnails>button>div{align-content:start;gap:5px;min-width:0;display:grid}.curriculum-editor-thumbnails small{color:var(--color-primary);text-transform:uppercase;font-size:9px;font-weight:750}.curriculum-editor-thumbnails p,.curriculum-editor-thumbnails strong{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.curriculum-editor-thumbnails strong{-webkit-line-clamp:2;font-size:11px;line-height:1.35}.curriculum-editor-thumbnails p{-webkit-line-clamp:2;color:var(--color-text-secondary);margin:0;font-size:9px;line-height:1.4}.curriculum-editor-thumbnail-media,.curriculum-preview-thumbnail-media{align-content:start;gap:4px;min-width:0;display:grid;position:relative}.curriculum-editor-thumbnail-media>small,.curriculum-preview-thumbnail-media>small{z-index:1;background:var(--color-surface);border-radius:5px;padding:3px 5px;position:absolute;bottom:4px;right:4px}@supports (color:color-mix(in lab,red,red)){.curriculum-editor-thumbnail-media>small,.curriculum-preview-thumbnail-media>small{background:color-mix(in srgb,var(--color-surface) 88%,transparent)}}.curriculum-editor-thumbnail-media>small,.curriculum-preview-thumbnail-media>small{color:var(--color-primary);font-size:8px;font-weight:800}.curriculum-presenter-stage>aside button:has(.curriculum-preview-thumbnail-media){align-items:start;min-height:98px}.curriculum-editor-main{background:var(--color-background);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:16px;display:grid;overflow:hidden}.curriculum-editor-toolbar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:9px 11px;display:flex}.curriculum-editor-toolbar select{border:1px solid var(--color-border);background:var(--color-surface);min-width:130px;height:36px;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:0 10px;font-size:12px}.curriculum-editor-toolbar>span{color:var(--color-text-secondary);font-size:11px}.curriculum-editor-toolbar>div{gap:6px;margin-left:auto;display:flex}.curriculum-editor-toolbar button{border:1px solid var(--color-border);background:var(--color-surface);min-width:34px;height:34px;color:var(--color-text-primary);cursor:pointer;border-radius:8px;padding:0 10px}.curriculum-editor-toolbar button.danger{border-color:var(--color-danger);color:var(--color-danger);font-size:11px;font-weight:650}.curriculum-editor-toolbar button:disabled{opacity:.4;cursor:not-allowed}.curriculum-editor-canvas{border:1px solid var(--color-border);background:var(--color-surface);min-height:0;box-shadow:var(--shadow-card);border-radius:14px;align-content:center;gap:18px;padding:clamp(24px,5vw,70px);display:grid;overflow-y:auto}.curriculum-editor-canvas.quiz{align-content:start}.curriculum-editor-canvas.media-only{grid-template-rows:minmax(0,1fr);align-content:stretch;padding:12px;overflow:hidden}.curriculum-editor-kind{background:var(--color-primary-soft);color:var(--color-primary);text-transform:uppercase;border-radius:7px;justify-self:start;padding:6px 9px;font-size:10px;font-weight:750}.curriculum-editor-canvas label{display:block}.curriculum-editor-canvas textarea,.curriculum-editor-title-input{width:100%;color:var(--color-text-primary);font:inherit;background:0 0;border:0}.curriculum-editor-title-input{padding:0;font-size:clamp(25px,3vw,42px);font-weight:780;line-height:1.15}.curriculum-editor-canvas textarea{resize:vertical;min-height:110px;color:var(--color-text-secondary);padding:0;font-size:17px;line-height:1.55}.curriculum-editor-canvas textarea:focus-visible,.curriculum-editor-title-input:focus-visible{box-shadow:inset 0 -2px 0 var(--color-primary);outline:none}.curriculum-quiz-prompt.editor{max-height:340px}.curriculum-presenter .curriculum-quiz-question,.curriculum-quiz-prompt.editor .curriculum-quiz-question{border-color:var(--color-border);background:var(--color-surface-muted)}.curriculum-editor-question{height:100%;display:block}.curriculum-editor-question textarea{resize:none;height:100%;min-height:150px;color:var(--color-text-primary);text-align:center;font-size:clamp(20px,2.5vw,34px);font-weight:700;line-height:1.25}.curriculum-editor-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.curriculum-editor-options>div{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:72px;padding:10px;display:grid}.curriculum-editor-option-actions{gap:4px;display:flex}.curriculum-editor-option-actions button{border:1px solid var(--color-border);background:var(--color-surface);width:28px;height:30px;color:var(--color-text-secondary);cursor:pointer;border-radius:7px;font-size:11px}.curriculum-editor-option-actions button.danger{color:var(--color-danger)}.curriculum-editor-option-actions button:disabled{opacity:.35;cursor:not-allowed}.curriculum-editor-option-warning{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:10px;font-weight:650}.curriculum-editor-options>div.correct{border-color:var(--color-success);background:var(--color-success-soft)}.curriculum-editor-options label{grid-template-columns:18px 30px minmax(0,1fr);align-items:center;gap:8px;display:grid}.curriculum-editor-options input[type=radio]{width:17px;height:17px;accent-color:var(--color-success)}.curriculum-editor-options label>span{background:var(--color-primary);width:30px;height:30px;color:var(--color-text-inverse);border-radius:8px;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-editor-options label .curriculum-editor-option-input{background:var(--color-surface);width:100%;min-width:0;min-height:38px;color:var(--color-text-primary);font:inherit;resize:none;border:0;border-radius:7px;padding:8px 10px;font-size:12px;line-height:1.35}.curriculum-editor-options label .curriculum-editor-option-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;box-shadow:none}.curriculum-editor-add-option{border:1px dashed var(--color-primary);background:var(--color-primary-soft);min-height:36px;color:var(--color-primary);cursor:pointer;border-radius:8px;grid-column:1/-1;justify-self:start;padding:0 13px;font-size:11px;font-weight:700}.curriculum-editor-content-note{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:10px;max-width:460px;padding:14px}.curriculum-editor-content-note strong{font-size:12px}.curriculum-editor-content-note p{color:var(--color-text-secondary);margin:5px 0 0;font-size:10px;line-height:1.5}.curriculum-editor-inspector{border-left:1px solid var(--color-border);min-height:0;padding:18px;overflow-y:auto}.curriculum-editor-inspector h3{margin:0;font-size:16px}.curriculum-editor-inspector>p{color:var(--color-text-secondary);margin:7px 0 18px;font-size:11px;line-height:1.5}.curriculum-editor-inspector dl{border:1px solid var(--color-border);background:var(--color-border);border-radius:10px;gap:1px;margin:0;display:grid;overflow:hidden}.curriculum-editor-inspector dl div{background:var(--color-surface-muted);justify-content:space-between;align-items:center;padding:10px 11px;display:flex}.curriculum-editor-inspector dt{color:var(--color-text-secondary);font-size:10px}.curriculum-editor-inspector dd{margin:0;font-size:13px;font-weight:750}.curriculum-editor-panel{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:10px;gap:9px;margin-top:14px;padding:13px;display:grid}.curriculum-editor-panel h4{margin:0;font-size:12px}.curriculum-editor-panel small{color:var(--color-text-secondary);font-size:10px;line-height:1.45}.curriculum-editor-asset-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.curriculum-editor-asset-buttons button{border:1px solid var(--color-primary);background:var(--color-surface);min-height:34px;color:var(--color-primary);cursor:pointer;border-radius:8px;font-size:10px;font-weight:700}.curriculum-editor-asset-buttons button:disabled{opacity:.45;cursor:not-allowed}.curriculum-editor-uploading{color:var(--color-primary);font-weight:650}.curriculum-editor-rail>.curriculum-editor-uploading{margin:-4px 0 10px;font-size:10px;display:block}.curriculum-editor-number,.curriculum-editor-range{gap:5px;display:grid}.curriculum-editor-number span,.curriculum-editor-range span{color:var(--color-text-secondary);font-size:10px;font-weight:650}.curriculum-editor-range input{width:100%;accent-color:var(--color-primary)}.curriculum-editor-number input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:34px;color:var(--color-text-primary);font:inherit;border-radius:8px;padding:0 9px;font-size:12px}.curriculum-editor-asset-remove{border:1px solid var(--color-danger);background:var(--color-surface);min-height:30px;color:var(--color-danger);cursor:pointer;border-radius:8px;justify-self:start;padding:0 10px;font-size:10px;font-weight:650}.curriculum-editor-deck-button{border:1px dashed var(--color-primary);background:var(--color-primary-soft);width:100%;min-height:36px;color:var(--color-primary);cursor:pointer;border-radius:9px;margin-bottom:11px;font-size:11px;font-weight:700}.curriculum-editor-deck-button:disabled{opacity:.45;cursor:not-allowed}.curriculum-editor-deck{border:1px solid var(--color-primary);background:var(--color-surface);border-radius:9px;gap:7px;margin-bottom:12px;padding:11px;display:grid}.curriculum-editor-deck strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.curriculum-editor-deck small{color:var(--color-text-secondary);font-size:9px}.curriculum-editor-deck label{gap:4px;display:grid}.curriculum-editor-deck label span{color:var(--color-text-secondary);font-size:9px}.curriculum-editor-deck input{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text-primary);font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.curriculum-editor-deck>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.curriculum-editor-deck>div button{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text-primary);cursor:pointer;border-radius:7px;font-size:10px;font-weight:650}.curriculum-editor-deck>div button:first-child{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.curriculum-editor-ai-button{border:1px dashed var(--color-points-strong);background:var(--color-points);border-radius:9px;width:100%;min-height:36px;margin-bottom:11px}@supports (color:color-mix(in lab,red,red)){.curriculum-editor-ai-button{background:color-mix(in srgb,var(--color-points) 16%,transparent)}}.curriculum-editor-ai-button{color:var(--color-points-strong);cursor:pointer;font-size:11px;font-weight:700}.curriculum-editor-ai-button:disabled{opacity:.7;cursor:not-allowed}.curriculum-editor-empty{text-align:center;place-content:center;justify-items:center;gap:9px;min-height:100%;display:grid}.curriculum-editor-empty strong{font-size:18px}.curriculum-editor-empty p{color:var(--color-text-secondary);margin:0;font-size:12px}.curriculum-editor-empty>div{gap:8px;margin-top:6px;display:flex}.curriculum-editor-error{z-index:4;background:var(--color-danger-soft);max-width:520px;box-shadow:var(--shadow-card);border-radius:9px;padding:10px 13px;position:absolute;bottom:20px;right:28px}.curriculum-editor-confirm-overlay{z-index:60}.session-warmup{border:1px solid var(--color-session-border);border-radius:var(--radius-lg);background:var(--color-session-surface);width:min(1040px,96vw);min-height:0;color:var(--color-session-text);align-content:start;gap:14px;margin:0 auto 18px;padding:20px 24px;display:grid;overflow-y:auto}.session-warmup>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.session-warmup>header strong{font-size:15px;display:block}.session-warmup>header small{color:var(--color-session-muted);font-size:12px}.session-warmup-tabs{gap:6px;display:flex}.session-warmup-tabs button{border:1px solid var(--color-session-border);color:var(--color-session-muted);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600}.session-warmup-tabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.session-warmup-tabs button:disabled{opacity:.4;cursor:not-allowed}.session-warmup-note{color:var(--color-session-muted);font-size:12px}.warmup-typing{gap:12px;display:grid}.warmup-typing-langs{gap:6px;display:flex}.warmup-typing-langs button{border:1px solid var(--color-session-border);color:var(--color-session-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 13px;font-size:11px;font-weight:700}.warmup-typing-langs button.active{border-color:var(--color-primary);color:var(--color-primary)}.warmup-typing-field{cursor:text;position:relative}.warmup-typing-words{border-radius:var(--radius-md);background:var(--color-session-surface-raised);letter-spacing:.02em;border:1px solid #0000;flex-wrap:wrap;gap:8px 16px;margin:0;padding:20px;font-size:clamp(19px,2.4vw,28px);line-height:1.7;display:flex}.warmup-typing-field.focused .warmup-typing-words{border-color:var(--color-primary)}.warmup-word{color:var(--color-session-muted);display:inline-flex}.warmup-word.ok{color:var(--color-success)}.warmup-word.bad{color:var(--color-session-muted)}.warmup-word.current{color:var(--color-session-text)}.warmup-word b{font-weight:inherit;position:relative}.warmup-char.ok{color:var(--color-success);background:0 0}.warmup-char.bad{color:var(--color-danger);background:0 0;border-radius:0;text-decoration:underline}.warmup-char.extra{color:var(--color-danger);opacity:.65;text-decoration:line-through}.warmup-char.caret:before{background:var(--color-primary);content:"";border-radius:2px;width:2px;animation:warmup-caret 1s step-end infinite;position:absolute;top:4%;bottom:4%;left:-2px}.warmup-char.caret.end{min-width:2px}.warmup-char.caret.end:before{left:0}@keyframes warmup-caret{50%{opacity:0}}.warmup-typing-field .warmup-typing-input{z-index:2;color:#0000;caret-color:#0000;opacity:0;cursor:text;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.warmup-typing-hint{border-radius:var(--radius-md);background:var(--color-session-surface);place-items:center;display:grid;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.warmup-typing-hint{background:color-mix(in srgb,var(--color-session-surface) 72%,transparent)}}.warmup-typing-hint{color:var(--color-session-text);font-size:13px;font-weight:700}.warmup-typing-field.done .warmup-typing-input{display:none}.warmup-typing-stats{color:var(--color-session-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.warmup-typing-stats strong{color:var(--color-session-text);font-size:14px}.warmup-typing-stats button{border:1px solid var(--color-session-border);border-radius:var(--radius-sm);color:var(--color-session-text);cursor:pointer;background:0 0;margin-left:auto;padding:7px 14px;font-size:12px;font-weight:600}.warmup-review{gap:11px;display:grid}.warmup-review-meta{color:var(--color-session-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.warmup-review h4{margin:0;font-size:clamp(18px,2.2vw,26px)}.warmup-review>p{color:var(--color-session-muted);margin:0;font-size:13px}.warmup-review-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.warmup-review-option{border-radius:var(--radius-md);background:var(--color-session-surface-raised);min-height:66px;color:var(--color-quiz-text);font:inherit;text-align:left;cursor:pointer;border:0;align-items:center;gap:11px;padding:13px 15px;transition:transform .12s,filter .12s;display:flex}.warmup-review-option>span{background:#00000038;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.warmup-review-option>strong{flex:1;font-size:15px;font-weight:700}.warmup-review-option>b{font-size:15px}.warmup-review-option.correct{border-color:var(--color-success);color:var(--color-success)}.warmup-review-option.wrong{border-color:var(--color-danger);color:var(--color-danger)}.warmup-review-next{justify-self:start}@media (max-width:750px){.curriculum-editor-meta{grid-template-columns:1fr}.curriculum-editor-body{max-height:58vh}.session-warmup{margin-inline:6px;padding:14px}.warmup-typing-stats button{margin-left:0}}.curriculum-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.curriculum-crud-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:30px;height:30px;color:var(--color-text-primary);cursor:pointer;place-items:center;font-size:13px;transition:border-color .16s,color .16s;display:grid}.curriculum-crud-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.curriculum-crud-button.danger:hover{border-color:var(--color-danger);color:var(--color-danger)}.curriculum-crud-button img{width:14px;height:14px}.curriculum-card-actions,.curriculum-row-actions{align-items:center;gap:7px;display:flex}.curriculum-program-manage{align-items:center;gap:8px;margin-top:14px;display:flex}.curriculum-crud-dialog{width:min(620px,94vw)}.curriculum-crud-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:60vh;padding-right:4px;display:grid;overflow-y:auto}.crud-field{gap:5px;font-size:13px;display:grid}.crud-field.wide{grid-column:1/-1}.crud-field>span{font-weight:600}.crud-field>span b{color:var(--color-danger)}.crud-field input,.crud-field select,.crud-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text-primary);font:inherit;padding:9px 11px;font-size:13px}.crud-field textarea{resize:vertical}.crud-field small{color:var(--color-text-secondary);font-size:11px}.curriculum-track-add{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;background:0 0;padding:10px 14px;font-size:13px;font-weight:600}.curriculum-track-add:hover{border-color:var(--color-primary)}.curriculum-outline-actions{gap:8px;margin-top:14px;display:grid}.curriculum-track-edit{align-items:center;gap:7px;display:flex}.curriculum-track-edit .page-button{flex:1 1 0;min-width:0}.curriculum-outline .page-button{text-align:center;white-space:normal;min-width:0;padding-inline:10px;font-size:12px;line-height:1.25}.curriculum-add-lesson{justify-self:start;margin:16px 18px 18px}.curriculum-seed-import{gap:6px;display:grid}.curriculum-lesson-row .curriculum-crud-button{flex:none;width:36px;height:36px;font-size:15px}.curriculum-lesson-row .curriculum-crud-button img{width:16px;height:16px}.curriculum-lesson-row .curriculum-open-lesson{width:36px;height:36px}.curriculum-lesson-content{gap:16px;display:grid}.curriculum-resources,.curriculum-sequence{border:1px solid var(--color-border);padding:22px}.curriculum-resources .curriculum-section-heading,.curriculum-sequence .curriculum-section-heading{align-items:center}.curriculum-sequence-empty{border:1px dashed var(--color-border);text-align:center;border-radius:12px;justify-items:center;gap:7px;min-height:220px;padding:34px;display:grid}.curriculum-sequence-empty p{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px}.curriculum-sequence-player{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;overflow:hidden}.curriculum-sequence-player:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.curriculum-sequence-stage{text-align:center;align-content:center;justify-items:center;gap:14px;min-width:0;height:clamp(380px,46vw,560px);padding:clamp(22px,4vw,44px);display:grid;overflow-y:auto}.curriculum-sequence-stage.quiz{align-content:start;gap:10px;padding:clamp(16px,3vw,28px)}.curriculum-sequence-stage.media-only{grid-template-rows:minmax(0,1fr);align-content:stretch;padding:12px;overflow:hidden}.curriculum-sequence-stage>h3{max-width:820px;margin:0;font-size:clamp(24px,3.4vw,40px);line-height:1.12}.curriculum-sequence-stage>p{max-width:800px;color:var(--color-text-secondary);margin:0;font-size:clamp(14px,1.7vw,19px);line-height:1.5}.curriculum-sequence-stage .curriculum-quiz-question{border-color:var(--color-border);background:var(--color-surface-muted);min-height:92px;padding:clamp(14px,2vw,22px)}.curriculum-sequence-stage .curriculum-quiz-question h3{font-size:clamp(18px,2.2vw,30px)}.curriculum-sequence-stage .curriculum-quiz-prompt.with-media{min-height:160px;max-height:min(30dvh,300px)}.curriculum-sequence-stage .curriculum-quiz-options{margin-top:4px}.curriculum-sequence-stage .curriculum-quiz-options button{min-height:46px;padding:9px 11px;font-size:12px}.curriculum-sequence-player>footer{border-top:1px solid var(--color-border);grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;padding:12px 14px;display:grid}.curriculum-sequence-player>footer button{border:1px solid var(--color-border);background:var(--color-surface);width:46px;height:40px;color:var(--color-primary);cursor:pointer;border-radius:9px;place-items:center;font-size:21px;display:grid}.curriculum-sequence-player>footer button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse);justify-self:end}.curriculum-sequence-player>footer button:disabled{opacity:.35;cursor:not-allowed}.curriculum-sequence-player>footer span{color:var(--color-text-secondary);text-align:center;font-size:12px}.curriculum-sequence-player>footer strong{color:var(--color-text-primary)}.curriculum-resource-list{gap:8px;display:grid}.curriculum-resource-card{border:1px solid var(--color-border);border-radius:10px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:14px;display:grid}.curriculum-resource-icon{background:var(--color-primary-soft);width:48px;height:48px;color:var(--color-primary);border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-resource-card>div:nth-child(2){min-width:0}.curriculum-resource-card small{color:var(--color-primary);text-transform:uppercase;font-size:9px;font-weight:750}.curriculum-resource-card h4{margin:4px 0;font-size:13px}.curriculum-resource-card p{color:var(--color-text-secondary);margin:0;font-size:10px;line-height:1.45}.curriculum-resource-card a{color:var(--color-primary);margin-top:6px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.curriculum-resource-actions{align-items:center;gap:6px;display:flex}.curriculum-resource-empty{border:1px dashed var(--color-border);border-radius:12px;justify-content:center;align-items:center;gap:13px;min-height:150px;padding:28px;display:flex}.curriculum-resource-empty>span{background:var(--color-primary-soft);width:46px;height:46px;color:var(--color-primary);border-radius:10px;place-items:center;font-size:10px;font-weight:800;display:grid}.curriculum-resource-empty>div{gap:4px;display:grid}.curriculum-resource-empty strong{font-size:13px}.curriculum-resource-empty p{color:var(--color-text-secondary);margin:0;font-size:11px}@media (max-width:750px){.curriculum-crud-fields{grid-template-columns:1fr}.curriculum-material-controls{grid-column:2;justify-items:start}.curriculum-editor-overlay{padding:0}.curriculum-editor{border:0;border-radius:0;width:100vw;height:100dvh}.curriculum-editor-header{flex-direction:column;align-items:flex-start}.curriculum-editor-header>div:last-child{width:100%}.curriculum-editor-header>div:last-child .ui-button{flex:1}.curriculum-editor-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:96px minmax(0,1fr);overflow:hidden}.curriculum-editor-inspector{border-top:1px solid var(--color-border);border-left:0;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:36dvh;padding:12px;display:grid}.curriculum-editor-inspector>dl,.curriculum-editor-inspector>h3,.curriculum-editor-inspector>p{display:none}.curriculum-editor-panel{min-width:0;margin-top:0}.curriculum-editor-rail{padding:8px}.curriculum-editor-add{grid-template-columns:1fr}.curriculum-editor-thumbnails>button{grid-template-columns:1fr;min-height:76px}.curriculum-editor-thumbnails p,.curriculum-editor-thumbnails>button>span{display:none}.curriculum-editor-main{padding:8px}.curriculum-editor-canvas{padding:20px 16px}.curriculum-editor-canvas.media-only{padding:8px}.curriculum-editor-options{grid-template-columns:1fr}.curriculum-editor-options>div{grid-template-columns:minmax(0,1fr)}.curriculum-editor-option-actions{justify-content:flex-end}.curriculum-editor-toolbar>span{display:none}.curriculum-editor-toolbar button{padding-inline:7px}.curriculum-resources,.curriculum-sequence{padding:16px}.curriculum-sequence-stage{height:clamp(320px,96vw,480px);padding:18px 12px}.curriculum-sequence-stage.media-only{padding:8px}.curriculum-resource-card{grid-template-columns:42px minmax(0,1fr)}.curriculum-resource-actions{grid-column:2}}@media (max-width:480px){.curriculum-editor-inspector{grid-template-columns:1fr;max-height:42dvh}}.curriculum-points-badge{background:linear-gradient(135deg,var(--color-points),var(--color-points-strong));box-shadow:0 6px 18px var(--color-points-strong);border-radius:999px;align-items:baseline;gap:7px;padding:7px 14px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.curriculum-points-badge{box-shadow:0 6px 18px color-mix(in srgb,var(--color-points-strong) 38%,transparent)}}.curriculum-points-badge{color:var(--color-points-contrast)}.curriculum-points-badge>span{font-size:15px}.curriculum-points-badge>strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(18px,2.1vw,26px);font-weight:900}.curriculum-points-badge>small{text-transform:uppercase;font-size:10px;font-weight:800}.curriculum-points-badge.bump{animation:curriculum-points-bump .7s cubic-bezier(.2,1.4,.4,1)}@keyframes curriculum-points-bump{0%{transform:scale(1)}35%{box-shadow:0 10px 26px color-mix(in srgb,var(--color-points-strong) 60%,transparent);transform:scale(1.22)rotate(-2deg)}to{transform:scale(1)}}.curriculum-student-bar-right{align-items:center;gap:12px;display:flex}.curriculum-student-fullscreen{border:1px solid var(--color-session-border);background:var(--color-session-surface-raised);width:34px;height:34px;color:var(--color-session-text);cursor:pointer;border-radius:9px;place-items:center;font-size:14px;display:grid}.curriculum-student-fullscreen:hover{border-color:var(--color-points);color:var(--color-points)}.curriculum-student-lesson{text-align:center;gap:2px;min-width:0;display:grid}.curriculum-host-quiz-tiles>div.tile-0,.curriculum-student-options button.tile-0,.warmup-review-option.tile-0{background:var(--color-quiz-a)}.curriculum-host-quiz-tiles>div.tile-1,.curriculum-student-options button.tile-1,.warmup-review-option.tile-1{background:var(--color-quiz-b)}.curriculum-host-quiz-tiles>div.tile-2,.curriculum-student-options button.tile-2,.warmup-review-option.tile-2{background:var(--color-quiz-c)}.curriculum-host-quiz-tiles>div.tile-3,.curriculum-student-options button.tile-3,.warmup-review-option.tile-3{background:var(--color-quiz-d)}.warmup-review-option.correct{box-shadow:0 0 0 3px var(--color-success)}.warmup-review-option.wrong{box-shadow:0 0 0 3px var(--color-danger)}.warmup-review-option.dim{filter:saturate(.25)brightness(.6)}.warmup-review-option:disabled{cursor:default}.curriculum-answer-banner{z-index:2;color:var(--color-quiz-text);justify-items:center;gap:4px;padding:26px 16px;animation:curriculum-banner-in .32s ease-out;display:grid;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.curriculum-answer-banner strong{letter-spacing:.02em;font-size:clamp(24px,3.4vw,44px);font-weight:900}.curriculum-answer-banner span{opacity:.9;font-size:13px;font-weight:700}@keyframes curriculum-banner-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}.warmup-allowance,.warmup-progress{background:var(--color-session-surface-raised);border-radius:999px;height:8px;position:relative;overflow:hidden}.warmup-allowance i,.warmup-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-points));height:100%;transition:width .25s;display:block}.warmup-allowance{align-items:center;height:22px;display:flex}.warmup-allowance i{opacity:.35;height:auto;position:absolute;top:0;bottom:0;left:0}.warmup-allowance span{color:var(--color-session-text);margin-left:11px;font-size:11px;font-weight:800;position:relative}.warmup-streak{color:var(--color-points);font-size:13px;font-weight:800;animation:curriculum-points-bump .5s}.warmup-burst{border-radius:var(--radius-md);background:var(--color-session-surface-raised);justify-content:center;align-items:center;gap:12px;padding:12px;display:flex}.warmup-burst strong{color:var(--color-points);font-size:clamp(17px,2vw,24px);font-weight:900}.warmup-burst>span:not(:last-child){color:var(--color-session-muted);font-size:12px;font-weight:700}.warmup-burst span{gap:6px;display:flex}.warmup-burst i{font-size:19px;font-style:normal;animation:curriculum-sparkle 1.1s ease-in-out infinite}@keyframes curriculum-sparkle{0%,to{opacity:.35;transform:translateY(0)scale(.85)}50%{opacity:1;transform:translateY(-7px)scale(1.15)}}.warmup-typing.done .warmup-typing-words{border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success)}.warmup-review-result{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.warmup-review-result strong{font-size:15px;font-weight:800}.warmup-review-result strong.win{color:var(--color-success)}.warmup-review-result strong.miss{color:var(--color-danger)}.curriculum-host-tool{border:1px solid var(--color-session-border);min-height:36px;color:var(--color-session-text);font:inherit;cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.curriculum-host-tool b{color:var(--color-primary);font-size:13px}.curriculum-host-code-chip{border:1px solid var(--color-session-border);letter-spacing:.12em;cursor:zoom-in;border-radius:9px;padding:9px 13px;font-size:15px}.curriculum-code-overlay{z-index:60;background:var(--color-session-background);align-content:center;justify-items:center;gap:12px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.curriculum-code-overlay{background:color-mix(in srgb,var(--color-session-background) 94%,transparent)}}.curriculum-code-overlay{color:var(--color-session-text);pointer-events:none;animation:curriculum-banner-in .18s ease-out}.curriculum-code-overlay small{color:var(--color-session-muted);text-transform:uppercase;letter-spacing:.3em;font-size:clamp(14px,2vw,22px);font-weight:700}.curriculum-code-overlay strong{letter-spacing:.08em;font-size:clamp(90px,22vw,280px);font-weight:900;line-height:1}.curriculum-host-layout.live{grid-template-columns:minmax(0,1fr)}.curriculum-host-layout.live .curriculum-host-stage{border-right:0;padding:12px}.curriculum-host-layout.live .curriculum-live-slide{border-radius:14px;min-height:0}.curriculum-host-layout.live .curriculum-host-sidebar{z-index:40;border-left:1px solid var(--color-session-border);background:var(--color-session-surface);width:min(340px,92vw);transition:transform .22s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-18px 0 40px #00000059}.curriculum-host-layout.live.show-panel .curriculum-host-sidebar{transform:none}.curriculum-host-sidebar-close{border:1px solid var(--color-session-border);width:32px;height:32px;color:var(--color-session-text);cursor:pointer;background:0 0;border-radius:9px;font-size:18px;position:absolute;top:10px;right:12px}.curriculum-session-screen.live{grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.curriculum-session-screen.live .curriculum-host-layout{height:auto;min-height:0}.curriculum-session-screen.live .curriculum-host-stage{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.curriculum-host-quiz-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(1280px,100%);min-height:0;margin-top:6px;display:grid}.curriculum-host-quiz-tiles>div{background:var(--color-session-surface-raised);min-height:clamp(96px,20vh,200px);color:var(--color-quiz-text);text-align:center;border-radius:14px;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;padding:14px 12px;display:grid}.curriculum-host-quiz-tiles strong{align-self:center;font-size:clamp(14px,1.6vw,21px);font-weight:700;line-height:1.25}.curriculum-host-quiz-tiles em{font-size:clamp(15px,1.7vw,26px);font-style:normal;font-weight:800}.curriculum-host-quiz-tiles i{background:#00000040;border-radius:999px;height:7px;display:block;overflow:hidden}.curriculum-host-quiz-tiles i span{border-radius:inherit;background:var(--color-quiz-text);height:100%;transition:width .3s;display:block}.curriculum-host-quiz-tiles>div.correct{box-shadow:0 0 0 4px var(--color-success)}.curriculum-host-quiz-tiles>div.dim{filter:saturate(.3)brightness(.62)}.curriculum-ranking{z-index:50;background:var(--color-session-background);color:var(--color-session-text);align-content:center;justify-items:center;gap:10px;padding:24px;animation:curriculum-banner-in .25s ease-out;display:grid;position:fixed;inset:0}.curriculum-ranking h2{margin:0;font-size:clamp(26px,4vw,48px);font-weight:900}.curriculum-ranking>p{color:var(--color-points);margin:0 0 12px;font-size:14px;font-weight:700}.curriculum-ranking .curriculum-ranking-list{gap:8px;width:min(760px,100%)}.curriculum-ranking .curriculum-ranking-list li{background:var(--color-session-surface-raised);border-radius:12px;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;padding:13px 18px;font-size:17px}.curriculum-ranking .curriculum-ranking-list li b{color:var(--color-points);font-size:17px}.curriculum-ranking .curriculum-ranking-list li strong{font-variant-numeric:tabular-nums;font-size:21px}.curriculum-ranking-empty{color:var(--color-session-muted)}.curriculum-timer-paused{color:var(--color-warning);align-items:center;gap:5px;font-size:11px;font-weight:750;display:inline-flex}@media (hover:hover) and (pointer:fine){.curriculum-student-options button:not(:disabled):hover,.warmup-review-option:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-3px)}}@media (max-width:860px){.curriculum-host-quiz-tiles,.curriculum-student-options{grid-template-columns:repeat(2,minmax(0,1fr))}.warmup-review-options{grid-template-columns:1fr}.curriculum-points-badge{padding:5px 10px}.curriculum-session-screen.live .curriculum-host-layout{height:auto}}.curriculum-student-slide.quiz{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);align-content:stretch;gap:clamp(8px,1.4vh,16px)}.curriculum-student-slide.quiz .curriculum-quiz-prompt{align-self:stretch;width:100%;height:100%;max-height:none}.curriculum-student-slide.quiz .curriculum-quiz-prompt.with-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-height:none}.curriculum-student-slide.quiz .curriculum-quiz-question{height:100%}.curriculum-student-options{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-self:stretch;width:min(1280px,100%);height:100%}.curriculum-student-options button{background-image:linear-gradient(165deg,#ffffff42,#00000029);min-height:0;transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s,box-shadow .28s,opacity .28s;box-shadow:0 12px 26px #0000004d,inset 0 1px #ffffff61}.curriculum-student-options button.selected{filter:saturate(1.3)brightness(1.14);box-shadow:0 0 0 5px var(--color-quiz-text),0 18px 38px #00000073;animation:quiz-pick .5s cubic-bezier(.22,1,.36,1);transform:translateY(-4px)scale(1.015)}.curriculum-student-options button.dim{opacity:.7;filter:saturate(.12)brightness(.42);transform:scale(.97)}.curriculum-student-options button.correct{filter:saturate(1.35)brightness(1.18);box-shadow:0 0 0 5px var(--color-success),0 0 46px #10b9818c;animation:quiz-correct-pulse 1.2s ease-in-out infinite}.curriculum-student-options button.missed:not(.selected){opacity:.5;filter:saturate(.1)brightness(.4)}@keyframes quiz-pick{0%{transform:scale(1)}45%{transform:translateY(-9px)scale(1.06)}to{transform:translateY(-4px)scale(1.015)}}@keyframes quiz-correct-pulse{50%{box-shadow:0 0 0 7px var(--color-success),0 0 64px #10b981bf}}.curriculum-answer-waiting{z-index:2;color:var(--color-quiz-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:clamp(10px,2vh,24px);left:50%;transform:translate(-50%)}.curriculum-answer-waiting i{background:var(--color-points);border-radius:50%;width:8px;height:8px;animation:curriculum-waiting-pulse 1.2s ease-in-out infinite}.curriculum-answer-waiting i:nth-child(2){animation-delay:.16s}.curriculum-answer-waiting i:nth-child(3){animation-delay:.32s}.curriculum-answer-banner{animation:curriculum-banner-sweep .52s cubic-bezier(.22,1,.36,1) both;overflow:hidden;box-shadow:0 18px 60px #00000073}.curriculum-answer-banner.correct{background:linear-gradient(100deg,#059669,#10b981 55%,#6ee7b7)}.curriculum-answer-banner.wrong{background:linear-gradient(100deg,#be123c,#f43f5e 55%,#fb7185)}.curriculum-answer-banner:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff73 50%,#0000 65%);animation:curriculum-banner-sheen 1.4s ease-in-out .3s both;position:absolute;inset:0}.curriculum-answer-banner strong{letter-spacing:.04em;text-shadow:0 6px 22px #0000004d;font-size:clamp(30px,5vw,66px)}.curriculum-answer-banner span{font-size:14px}@keyframes curriculum-banner-sweep{0%{opacity:0;transform:translate(-102%,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes curriculum-banner-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.curriculum-host-quiz-tiles>div{background-image:linear-gradient(165deg,#ffffff3d,#00000029);transition:transform .3s cubic-bezier(.22,1,.36,1),filter .3s,box-shadow .3s;box-shadow:0 12px 26px #00000047,inset 0 1px #ffffff59}.curriculum-host-quiz-tiles>div.correct{box-shadow:0 0 0 5px var(--color-success),0 0 48px #10b98180;transform:translateY(-4px)scale(1.02)}.curriculum-quiz-timer-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.curriculum-timer-tools{gap:8px;display:flex}.curriculum-timer-tools button{border:1px solid var(--color-session-border);background:var(--color-session-surface-raised);color:var(--color-session-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex}.curriculum-timer-tools button:hover{border-color:var(--color-points);color:var(--color-points)}.curriculum-timer-done{color:var(--color-session-muted);font-size:12px;font-weight:700}.curriculum-ranking-list li.rank-1{background:linear-gradient(90deg,var(--color-medal-gold),var(--color-medal-gold))}@supports (color:color-mix(in lab,red,red)){.curriculum-ranking-list li.rank-1{background:linear-gradient(90deg,color-mix(in srgb,var(--color-medal-gold) 55%,transparent),color-mix(in srgb,var(--color-medal-gold) 10%,transparent))}}.curriculum-ranking-list li.rank-1{box-shadow:0 0 34px var(--color-medal-gold)}@supports (color:color-mix(in lab,red,red)){.curriculum-ranking-list li.rank-1{box-shadow:0 0 34px color-mix(in srgb,var(--color-medal-gold) 25%,transparent)}}.curriculum-ranking-list li.rank-2{background:linear-gradient(90deg,var(--color-medal-silver),var(--color-medal-silver))}@supports (color:color-mix(in lab,red,red)){.curriculum-ranking-list li.rank-2{background:linear-gradient(90deg,color-mix(in srgb,var(--color-medal-silver) 38%,transparent),color-mix(in srgb,var(--color-medal-silver) 7%,transparent))}}.curriculum-ranking-list li.rank-3{background:linear-gradient(90deg,var(--color-medal-bronze),var(--color-medal-bronze))}@supports (color:color-mix(in lab,red,red)){.curriculum-ranking-list li.rank-3{background:linear-gradient(90deg,color-mix(in srgb,var(--color-medal-bronze) 40%,transparent),color-mix(in srgb,var(--color-medal-bronze) 7%,transparent))}}.curriculum-student-slide.quiz{gap:clamp(6px,1vh,12px);padding:clamp(6px,1.1vh,14px) clamp(8px,1.1vw,18px)}.curriculum-host-quiz-tiles,.curriculum-student-options{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:clamp(6px,.7vw,10px);width:100%;grid-template-columns:none!important}.curriculum-host-quiz-tiles>div,.curriculum-student-options button{padding:clamp(8px,1.1vw,14px) clamp(6px,.8vw,12px)}.curriculum-student-slide.quiz .curriculum-quiz-prompt{gap:clamp(6px,.8vw,12px)}.curriculum-student-slide.quiz .curriculum-quiz-question{padding:clamp(10px,1.8vw,28px)}.curriculum-live-slide.quiz{gap:10px;padding:14px}@media (max-width:640px){.curriculum-student-slide.quiz{grid-template-rows:auto minmax(0,.85fr) minmax(0,1.15fr)}.curriculum-host-quiz-tiles,.curriculum-student-options{grid-auto-rows:minmax(0,1fr);grid-auto-flow:row}.curriculum-answer-banner strong{font-size:clamp(24px,9vw,40px)}}.curriculum-session-ended{align-content:start;gap:clamp(12px,2vh,20px);padding:clamp(12px,3vh,28px)}.curriculum-host-finish{width:min(820px,100%)!important}.curriculum-host-finish dl{grid-template-columns:repeat(4,minmax(0,1fr))}.curriculum-finish-ranking{width:100%;padding-top:4px}.curriculum-finish-ranking h2{margin:0 0 12px;font-size:17px}.curriculum-editor-canvas.quiz{background:var(--color-session-surface);grid-template-rows:minmax(150px,1fr) minmax(150px,1fr) auto;align-content:stretch;padding:clamp(18px,3vw,38px);position:relative}.curriculum-editor-canvas.quiz>.curriculum-editor-kind{position:absolute}.curriculum-editor-canvas.quiz .curriculum-quiz-prompt.editor{width:100%;max-width:none;min-height:0;max-height:none}.curriculum-editor-canvas.quiz .curriculum-editor-question{background:var(--color-session-background);border:1px solid #ffffff2e;border-radius:14px;grid-template-rows:minmax(0,1fr);min-height:0;padding:clamp(10px,1.4vw,18px);display:grid}.curriculum-editor-canvas.quiz .curriculum-editor-question textarea{min-height:0;color:var(--color-session-text)}.curriculum-editor-canvas.quiz .curriculum-editor-question textarea::placeholder{color:var(--color-session-muted)}.curriculum-editor-canvas.quiz .curriculum-editor-question textarea:focus-visible{box-shadow:none}.curriculum-editor-canvas.quiz .curriculum-editor-question:focus-within{border-color:var(--color-primary)}.curriculum-editor-canvas.quiz .curriculum-editor-options{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-self:stretch;gap:clamp(6px,.7vw,10px)}.curriculum-editor-canvas.quiz .curriculum-editor-options>div{min-height:0;color:var(--color-quiz-text);background-image:linear-gradient(165deg,#ffffff42,#00000029);border:0;border-radius:14px;grid-template-columns:minmax(0,1fr);align-content:center;gap:10px;padding:clamp(8px,1.1vw,14px) clamp(6px,.8vw,12px);box-shadow:0 12px 26px #0000004d,inset 0 1px #ffffff61}.curriculum-editor-canvas.quiz .curriculum-editor-options>div.tile-0{background-color:var(--color-quiz-a)}.curriculum-editor-canvas.quiz .curriculum-editor-options>div.tile-1{background-color:var(--color-quiz-b)}.curriculum-editor-canvas.quiz .curriculum-editor-options>div.tile-2{background-color:var(--color-quiz-c)}.curriculum-editor-canvas.quiz .curriculum-editor-options>div.tile-3{background-color:var(--color-quiz-d)}.curriculum-editor-canvas.quiz .curriculum-editor-options>div.correct{box-shadow:0 0 0 4px var(--color-success),0 12px 26px #0000004d}.curriculum-editor-canvas.quiz .curriculum-editor-options label>span{background:#00000038}.curriculum-editor-canvas.quiz .curriculum-editor-options>div{align-content:space-between}.curriculum-editor-canvas.quiz .curriculum-editor-options label{grid-template-columns:18px 30px minmax(0,1fr);row-gap:9px}.curriculum-editor-canvas.quiz .curriculum-editor-options label .curriculum-editor-option-input{grid-area:2/1/auto/-1;height:clamp(72px,14vh,132px);font-size:13px;font-weight:600}.curriculum-editor-canvas.quiz .curriculum-editor-option-actions{justify-content:center}.curriculum-editor-canvas.quiz .curriculum-editor-option-actions button{background:var(--color-surface);color:var(--color-text-primary);border-color:#0000}.curriculum-editor-options-footer{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (min-width:861px){.curriculum-host-layout.live.show-panel{grid-template-columns:minmax(0,1fr) 330px}.curriculum-host-layout.live.show-panel .curriculum-host-sidebar{width:auto;box-shadow:none;grid-template-rows:auto minmax(0,1fr) auto;position:relative;inset:auto;overflow-y:auto;transform:none}}.curriculum-live-slide.quiz{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);align-content:stretch}.curriculum-live-slide.quiz .curriculum-quiz-prompt{align-self:stretch;width:100%;height:100%;max-height:none}.curriculum-live-slide.quiz .curriculum-quiz-question{height:100%}.curriculum-live-slide.quiz .curriculum-host-quiz-tiles{align-self:stretch;height:100%;margin:0}.curriculum-rank-answered{background:var(--color-session-surface-raised);width:22px;height:22px;color:var(--color-session-muted);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-rank-answered.yes{background:var(--color-points-soft);color:var(--color-points-strong)}@media (max-width:860px){.curriculum-host-layout.live .curriculum-host-sidebar{z-index:40;width:min(340px,92vw);position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}.curriculum-host-layout.live.show-panel .curriculum-host-sidebar{transform:none}}@media (max-width:1180px){.curriculum-editor-canvas.quiz .curriculum-editor-options{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}}@media (max-width:640px){.curriculum-editor-canvas.quiz{grid-template-rows:minmax(150px,1fr) minmax(280px,1fr)}.curriculum-editor-canvas.quiz .curriculum-editor-options{grid-template-columns:1fr;grid-auto-rows:minmax(0,1fr);grid-auto-flow:row}.curriculum-host-finish dl{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-student-score{grid-template-columns:1fr}}.lesson-reflection{gap:12px;width:min(760px,100%);margin-inline:auto;padding:20px;display:grid}.lesson-reflection-head h2{margin:0 0 4px;font-size:18px}.lesson-reflection-head p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.lesson-reflection textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);font:inherit;resize:vertical;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55}.lesson-reflection textarea:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.lesson-reflection-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lesson-reflection-foot>span{color:var(--color-text-secondary);font-size:12px}.lesson-reflection-points{color:var(--color-success);margin-left:auto;font-size:17px;font-weight:800}.lesson-reflection-note{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.55}.curriculum-ranking-list{align-content:start;gap:6px;margin:0;padding:0;list-style:none;display:grid}.curriculum-ranking-list li{background:var(--color-session-surface-raised);text-align:left;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;font-size:13px;display:grid}.curriculum-ranking-list li b{color:var(--color-points);font-size:19px;font-weight:900}.curriculum-ranking-list li strong{color:var(--color-points);font-variant-numeric:tabular-nums}.curriculum-rank-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-ranking-list.roster li{background:var(--color-session-surface);grid-template-columns:26px 28px minmax(0,1fr) auto auto;gap:8px;padding:7px 9px;font-size:11px}.curriculum-ranking-list.roster li b,.curriculum-ranking-list.roster li strong{font-size:12px;font-weight:800}.curriculum-rank-avatar{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.curriculum-quiz-ring{width:84px;height:84px;color:var(--color-points);flex:none;place-items:center;display:grid;position:relative}.curriculum-quiz-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.curriculum-quiz-ring circle{fill:none;stroke-width:7px;stroke-linecap:round}.curriculum-quiz-ring .ring-track{stroke:var(--color-session-surface-raised)}.curriculum-quiz-ring .ring-value{stroke:currentColor;transition:stroke-dashoffset .95s linear}.curriculum-quiz-ring strong{font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.curriculum-quiz-ring.urgent{color:var(--color-danger)}.curriculum-quiz-ring.urgent strong{animation:curriculum-timer-beat 1s ease-in-out infinite}.curriculum-quiz-ring.expired{color:var(--color-session-muted)}.curriculum-host-quiz-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:100%;display:flex}.curriculum-host-quiz-count{display:grid}.curriculum-host-quiz-count strong{font-variant-numeric:tabular-nums;font-size:17px}.curriculum-host-quiz-count small{color:var(--color-session-muted);font-size:10px}.curriculum-host-quiz-points{background:var(--color-points-soft);color:var(--color-points-strong);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800}.curriculum-host-quiz-bar .curriculum-host-quiz-count{margin-left:auto}.curriculum-timer-tools button:disabled{opacity:.45;cursor:default}.curriculum-host-tool.active{border-color:var(--color-primary);color:var(--color-primary)}.curriculum-host-tool-note{color:var(--color-points);font-size:11px;font-weight:700}.curriculum-homework-attach{flex-direction:row;align-items:center;gap:8px;display:flex}.curriculum-homework-attach input{accent-color:var(--color-primary)}.curriculum-slide-picker{background:var(--color-session-surface-raised);height:40px;color:var(--color-session-text);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:11px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.curriculum-slide-picker b{color:var(--color-session-muted);font-size:11px}.curriculum-slide-picker.open,.curriculum-slide-picker:hover{border-color:var(--color-primary)}.curriculum-slide-strip-panel{z-index:45;overscroll-behavior:contain;border:1px solid var(--color-session-border);background:var(--color-session-surface);max-height:min(58vh,440px);box-shadow:var(--shadow-dialog);border-radius:16px;gap:10px;padding:14px;animation:curriculum-banner-in .18s ease-out;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;right:0;overflow-y:auto}.curriculum-slide-strip-panel>header{align-items:center;gap:8px;display:flex}.curriculum-slide-strip-panel>header strong{align-items:center;gap:8px;margin-right:6px;font-size:14px;display:inline-flex}.curriculum-slide-strip-panel>header button{border:1px solid var(--color-session-border);width:32px;height:32px;color:var(--color-session-text);cursor:pointer;background:0 0;border-radius:9px;place-items:center;font-size:17px;display:grid}.curriculum-slide-strip-panel>header button:hover{border-color:var(--color-primary);color:var(--color-primary)}.curriculum-slide-strip-note{color:var(--color-warning);font-size:12px;font-style:normal;font-weight:650}.curriculum-slide-strip-close{margin-left:auto}.curriculum-slide-strip-list{scroll-snap-type:x proximity;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.curriculum-slide-thumb{width:176px;color:var(--color-session-muted);font:inherit;scroll-snap-align:center;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;flex:none;gap:6px;padding:6px;display:grid}.curriculum-slide-thumb small{text-align:left;font-size:11px;font-weight:650}.curriculum-slide-thumb.active{color:var(--color-session-text)}.curriculum-slide-thumb.active,.curriculum-slide-thumb:hover:not(:disabled){border-color:var(--color-primary)}.curriculum-slide-thumb:disabled{cursor:default;opacity:.6}.curriculum-slide-thumb-frame{background:var(--color-session-background);border-radius:9px;place-items:center;height:98px;display:grid;overflow:hidden}.curriculum-slide-thumb-frame .curriculum-slide-asset.thumbnail{background:0 0;width:100%;height:100%}.curriculum-slide-card{align-content:center;gap:7px;width:100%;height:100%;padding:8px 10px;display:grid}.curriculum-slide-card em{color:var(--color-session-text);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;font-style:normal;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.curriculum-slide-card.quiz>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.curriculum-slide-card i{border-radius:4px;height:16px}.curriculum-slide-card i.tile-0{background:var(--color-quiz-a)}.curriculum-slide-card i.tile-1{background:var(--color-quiz-b)}.curriculum-slide-card i.tile-2{background:var(--color-quiz-c)}.curriculum-slide-card i.tile-3{background:var(--color-quiz-d)}.session-leaderboard{gap:14px;width:min(860px,100%);display:grid}.session-podium{border-bottom:1px solid var(--color-session-border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:0;padding:0;list-style:none;display:grid}.session-podium li{text-align:center;align-content:end;justify-items:center;gap:7px;min-width:0;padding:4px 6px 0;animation:session-podium-in .5s cubic-bezier(.22,1,.36,1) both;display:grid}.session-podium li.place-1{--podium-medal:var(--color-medal-gold);--podium-height:126px;animation-delay:.34s}.session-podium li.place-2{--podium-medal:var(--color-medal-silver);--podium-height:92px;animation-delay:.17s}.session-podium li.place-3{--podium-medal:var(--color-medal-bronze);--podium-height:68px}.session-podium-medal{width:28px;height:28px;color:var(--color-points-contrast);font-size:13px;font-weight:900}.session-podium-avatar,.session-podium-medal{background:var(--podium-medal);border-radius:50%;place-items:center;display:grid}.session-podium-avatar{width:58px;height:58px}@supports (color:color-mix(in lab,red,red)){.session-podium-avatar{background:color-mix(in srgb,var(--podium-medal) 22%,var(--color-session-surface))}}.session-podium-avatar{color:var(--podium-medal);box-shadow:0 0 0 3px var(--color-session-background),0 0 0 5px var(--podium-medal);font-size:21px;font-weight:800}@supports (color:color-mix(in lab,red,red)){.session-podium-avatar{box-shadow:0 0 0 3px var(--color-session-background),0 0 0 5px color-mix(in srgb,var(--podium-medal) 65%,transparent)}}.session-podium li strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;overflow:hidden}.session-podium li b{color:var(--color-points);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.session-podium li i{width:100%;height:var(--podium-height);border:1px solid var(--podium-medal);place-items:center;margin-top:3px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.session-podium li i{border:1px solid color-mix(in srgb,var(--podium-medal) 45%,transparent)}}.session-podium li i{background:linear-gradient(180deg,var(--podium-medal),var(--podium-medal));border-bottom:0;border-radius:14px 14px 0 0}@supports (color:color-mix(in lab,red,red)){.session-podium li i{background:linear-gradient(180deg,color-mix(in srgb,var(--podium-medal) 42%,transparent),color-mix(in srgb,var(--podium-medal) 6%,transparent))}}.session-podium li i{color:var(--podium-medal);transform-origin:bottom;animation:session-podium-rise .6s cubic-bezier(.22,1,.36,1) both;animation-delay:inherit;font-size:clamp(24px,4vw,40px);font-style:normal;font-weight:900}.session-podium li.place-1 i:after{content:"";background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%);animation:curriculum-banner-sheen 1.8s ease-in-out .8s infinite;position:absolute;inset:0}@keyframes session-podium-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes session-podium-rise{0%{transform:scaleY(.04)}to{transform:scaleY(1)}}.curriculum-ranking{overflow-y:auto}.curriculum-ranking.final .session-leaderboard{width:min(920px,100%)}.curriculum-finish-ranking .session-leaderboard,.curriculum-ranking .session-leaderboard .curriculum-ranking-list{width:100%}@media (prefers-reduced-motion:reduce){.curriculum-quiz-ring.urgent strong,.curriculum-quiz-timer.urgent strong,.session-podium li,.session-podium li i,.session-podium li.place-1 i:after{animation:none}}@media (max-width:640px){.session-podium li b,.session-podium li strong{font-size:12px}.session-podium-avatar{width:44px;height:44px;font-size:16px}.session-podium li.place-1{--podium-height:84px}.session-podium li.place-2{--podium-height:62px}.session-podium li.place-3{--podium-height:46px}.curriculum-slide-thumb{width:132px}}.session-history-lesson{gap:2px;display:grid}.session-history-lesson strong{font-size:13px}.session-history-lesson small{color:var(--color-text-secondary);font-size:11px}.session-history-question{gap:3px;min-width:0;display:grid}.session-history-questions{gap:12px;display:grid}.session-history-questions article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:12px;padding:14px 16px;display:grid}.session-history-questions header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.session-history-questions header>div:first-child{flex:260px;align-items:flex-start;gap:10px;min-width:0;display:flex}.session-history-number{background:var(--color-surface);width:24px;height:24px;color:var(--color-text-secondary);border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.session-history-question-stats{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.session-history-question-stats b{font-weight:700}.session-history-question strong{font-size:13px;line-height:1.45}.session-history-question small{color:var(--color-text-secondary);font-size:11px}.session-history-options{gap:10px;min-width:0;display:grid}.session-history-option{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.session-history-option>span{background:var(--color-surface-muted);width:22px;height:22px;color:var(--color-text-secondary);border-radius:6px;place-items:center;font-size:10px;font-weight:800;display:grid}.session-history-option>div{gap:4px;min-width:0;display:grid}.session-history-option strong{font-size:12px;font-weight:600;line-height:1.4}.session-history-option i{background:var(--color-surface-muted);border-radius:999px;height:6px;overflow:hidden}.session-history-option i b{border-radius:inherit;background:var(--color-chart-muted);height:100%;display:block}.session-history-option em{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal;font-weight:700}.session-history-option.correct>span{background:var(--color-points-soft);color:var(--color-points-strong)}.session-history-option.correct i b{background:var(--color-points)}.session-history-option.correct em{color:var(--color-points-strong)}.session-history-reflections{gap:12px;display:grid}.session-history-reflections article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:7px;padding:14px 16px;display:grid}.session-history-reflections header{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-history-reflections strong{font-size:13px}.session-history-reflections p{color:var(--color-text-secondary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6}.curriculum-ranking-actions{gap:12px;margin-top:16px;display:flex}.curriculum-ranking .curriculum-ranking-list,.curriculum-ranking .curriculum-ranking-list li{position:relative}.curriculum-ranking .curriculum-ranking-list li strong{align-items:center;gap:12px;display:flex}.curriculum-rank-gain{color:var(--color-points-strong);font-size:14px;animation:curriculum-gain-in .9s ease-out both;display:inline-block}@keyframes curriculum-gain-in{0%{opacity:0;transform:translateY(12px)scale(.85)}to{opacity:1;transform:none}}.curriculum-spinner-dialog{justify-items:center;width:min(820px,100%);padding-bottom:24px}.curriculum-spinner-dialog>.dialog-header{width:100%}.curriculum-spinner-wheel{aspect-ratio:1;place-items:center;width:min(420px,74vw,48dvh);display:grid;position:relative}.curriculum-spinner-wheel svg{width:100%;height:100%;box-shadow:0 0 0 6px var(--color-surface),0 0 0 9px var(--color-border),var(--shadow-card);border-radius:50%;transition-property:transform;transition-timing-function:cubic-bezier(.12,.78,.16,1)}.curriculum-spinner-wheel text{fill:var(--color-text-inverse);font-weight:800}.curriculum-spinner-wheel g.spent circle,.curriculum-spinner-wheel g.spent path{opacity:.34}.curriculum-spinner-wheel g.spent text{opacity:.5}.curriculum-spinner-needle{z-index:2;border-inline:13px solid #0000;border-top:24px solid var(--color-text-primary);filter:drop-shadow(0 2px 3px #00000059);width:0;height:0;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.curriculum-spinner-hub{z-index:2;border:4px solid var(--color-surface);background:var(--color-primary);border-radius:50%;width:54px;height:54px;position:absolute}.curriculum-spinner-winner{min-height:30px;color:var(--color-primary);font-size:clamp(20px,3vw,30px);font-weight:800}.curriculum-spinner-controls{justify-items:center;gap:10px;width:100%;display:grid}.curriculum-spinner-controls label{align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.curriculum-spinner-controls input{accent-color:var(--color-primary)}.curriculum-spinner-controls small{color:var(--color-text-secondary);font-size:12px}.curriculum-spinner-controls .form-actions{justify-content:center;width:100%}.curriculum-spinner-empty{color:var(--color-text-secondary);text-align:center;margin:0;font-size:13px}@media (prefers-reduced-motion:reduce){.curriculum-rank-gain{animation:none}.curriculum-spinner-wheel svg{transition:none}}.curriculum-task-timer{z-index:46;border:1px solid var(--color-session-border);background:var(--color-session-surface);color:var(--color-session-text);box-shadow:var(--shadow-dialog);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:28px;align-items:center;gap:14px;padding:16px 20px 16px 12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.curriculum-task-timer:active{cursor:grabbing}.curriculum-task-timer-grip{color:var(--color-session-muted);letter-spacing:-2px;align-self:stretch;place-items:center;padding-inline:2px;font-size:17px;display:grid}.curriculum-quiz-ring.task{width:132px;height:132px}.curriculum-quiz-ring.task strong{letter-spacing:-.02em;font-size:31px;font-weight:850}.curriculum-quiz-ring.task circle{stroke-width:6px}.curriculum-task-timer-tools{gap:7px;display:grid}.curriculum-task-timer-tools button{border:1px solid var(--color-session-border);width:40px;height:40px;color:var(--color-session-text);font:inherit;cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:15px;display:grid}.curriculum-task-timer-tools button:hover{border-color:var(--color-primary);color:var(--color-primary)}.curriculum-task-timer.finished,.curriculum-task-timer.urgent{border-color:var(--color-danger)}.curriculum-task-timer.finished{animation:curriculum-timer-flash 1s ease-in-out 3}@keyframes curriculum-timer-flash{50%{box-shadow:0 0 0 4px var(--color-danger)}}.curriculum-timer-open.active{border-color:var(--color-primary);color:var(--color-primary);font-variant-numeric:tabular-nums}.curriculum-timer-dialog{width:min(470px,100%)}.curriculum-timer-presets{flex-wrap:wrap;gap:8px;display:flex}.curriculum-timer-presets button{border:1px solid var(--color-primary);background:var(--color-surface);min-height:40px;color:var(--color-primary);font:inherit;cursor:pointer;border-radius:9px;flex:1 0 auto;padding:0 14px;font-size:12px;font-weight:700}.curriculum-timer-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.curriculum-timer-custom label{gap:5px;display:grid}.curriculum-timer-custom span{color:var(--color-text-secondary);font-size:11px;font-weight:650}.curriculum-timer-custom input{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text-primary);font:inherit;border-radius:9px;padding:0 12px}@media (max-width:720px){.curriculum-task-timer{border-radius:24px;gap:10px;padding:12px 14px 12px 8px}.curriculum-quiz-ring.task{width:104px;height:104px}.curriculum-quiz-ring.task strong{font-size:24px}.curriculum-task-timer-tools button{width:34px;height:34px;font-size:13px}}@media (prefers-reduced-motion:reduce){.curriculum-task-timer.finished{animation:none}}.curriculum-ai-overlay{z-index:62}.curriculum-ai-dialog{width:min(660px,100%)}.curriculum-ai-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.curriculum-ai-tabs button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:3px;padding:12px 14px;transition:border-color .16s,background-color .16s,color .16s;display:grid}.curriculum-ai-tabs button strong{color:var(--color-text-primary);font-size:13px;font-weight:700}.curriculum-ai-tabs button small{font-size:11px;line-height:1.45}.curriculum-ai-tabs button.active{border-color:var(--color-points-strong);background:var(--color-points-soft)}.curriculum-ai-tabs button.active small,.curriculum-ai-tabs button.active strong{color:var(--color-points-strong)}.curriculum-ai-tabs button:disabled{opacity:.6;cursor:not-allowed}.curriculum-ai-tabs button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.curriculum-ai-fields{grid-template-columns:140px minmax(0,1fr);gap:14px;display:grid}.curriculum-ai-hint,.curriculum-ai-note{border-radius:11px;margin:0;padding:12px 14px;font-size:12px;line-height:1.6}.curriculum-ai-hint{background:var(--color-surface-muted);color:var(--color-text-secondary)}.curriculum-ai-note{border:1px solid var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.curriculum-ai-note{border:1px solid color-mix(in srgb,var(--color-warning) 30%,var(--color-surface))}}.curriculum-ai-note{background:var(--color-warning-soft);color:var(--color-warning);font-weight:600}.curriculum-ai-manual{gap:12px;display:grid}.curriculum-ai-manual textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);border-radius:11px;width:100%;min-width:0;padding:11px 12px;font-size:12px;line-height:1.6}.curriculum-ai-manual label:first-child textarea{background:var(--color-surface-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.curriculum-ai-manual-tools{flex-wrap:wrap;gap:8px;display:flex}.curriculum-ai-manual-tools button{border:1px solid var(--color-border);background:var(--color-surface);min-height:38px;color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:11px;padding:0 14px;font-size:12px;font-weight:650}.curriculum-ai-manual-tools button:first-child{border-color:var(--color-points-strong);background:var(--color-points-strong);color:var(--color-text-inverse)}.curriculum-ai-manual-tools button:disabled{opacity:.55;cursor:not-allowed}.curriculum-ai-manual>small{color:var(--color-text-secondary);font-size:11px;line-height:1.5}@media (max-width:620px){.curriculum-ai-fields,.curriculum-ai-tabs{grid-template-columns:minmax(0,1fr)}}.curriculum-reorder{width:min(1100px,100%);max-height:min(88dvh,900px);overflow-y:auto}.curriculum-reorder-state{color:var(--color-text-secondary);margin:0;font-size:12px;font-weight:650}.curriculum-reorder-board{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.curriculum-reorder-board li{gap:5px;display:grid}.curriculum-reorder-card{border:1px solid var(--color-border);background:var(--color-surface);min-height:104px;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-content:start;gap:6px;padding:9px;display:grid;position:relative}.curriculum-reorder-card strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.curriculum-reorder-card small{color:var(--color-primary);text-transform:uppercase;font-size:9px;font-weight:750}.curriculum-reorder-number{background:var(--color-surface-muted);width:22px;height:22px;color:var(--color-text-secondary);border-radius:7px;place-items:center;font-size:10px;font-weight:800;display:grid}.curriculum-reorder-board li.picked .curriculum-reorder-card{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary)}.curriculum-reorder-board li.target .curriculum-reorder-card{border-style:dashed;border-color:var(--color-primary)}.curriculum-reorder-board li.dragging .curriculum-reorder-card{opacity:.45}.curriculum-reorder-board li.drop-target .curriculum-reorder-card{border-color:var(--color-primary);box-shadow:inset 3px 0 0 0 var(--color-primary)}.curriculum-reorder-nudge{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.curriculum-reorder-nudge button{border:1px solid var(--color-border);background:var(--color-surface);min-height:26px;color:var(--color-text-secondary);cursor:pointer;border-radius:7px;font-size:11px}.curriculum-reorder-nudge button:disabled{opacity:.35;cursor:not-allowed}@media (max-width:720px){.curriculum-reorder-board{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}@media (max-width:640px){.curriculum-student-session-bar{gap:10px;padding-inline:12px}.curriculum-student-bar-right{gap:8px}.curriculum-student-session-bar>.curriculum-student-bar-right>span{gap:0;font-size:0}.curriculum-student-bar-right>span i{width:9px;height:9px}.curriculum-points-badge>small{display:none}.curriculum-student-lesson>span{font-size:11px}}@media (max-width:1100px){.session-history-table .hide-narrow{display:none}}.curriculum-page{--curriculum-accent:var(--color-primary);--curriculum-tint:var(--curriculum-accent)}@supports (color:color-mix(in lab,red,red)){.curriculum-page{--curriculum-tint:color-mix(in srgb,var(--curriculum-accent) 7%,var(--color-surface))}}.curriculum-page{--curriculum-lift:0 12px 30px var(--curriculum-accent)}@supports (color:color-mix(in lab,red,red)){.curriculum-page{--curriculum-lift:0 12px 30px color-mix(in srgb,var(--curriculum-accent) 17%,transparent)}}.curriculum-page{gap:20px;padding:20px 0 30px}.curriculum-catalog-panel{border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:24px;padding:28px}.curriculum-catalog-heading{align-items:flex-start;gap:16px;display:flex}.curriculum-catalog-heading>div:first-of-type{flex:1;min-width:0}.curriculum-catalog-heading h2{letter-spacing:-.04em;margin:0;font-size:27px;font-weight:760}.curriculum-catalog-heading p{color:var(--color-text-secondary);margin:7px 0 0;font-size:14px;line-height:1.6}.curriculum-heading-icon{background:var(--curriculum-accent);width:54px;height:54px;box-shadow:var(--shadow-card);border-radius:16px;flex:none;display:block;position:relative}.curriculum-heading-icon:after{content:"";background:var(--color-text-inverse);position:absolute;inset:13px;-webkit-mask:url(/assets/icons/curriculum-imgBooks.svg) 50%/contain no-repeat;mask:url(/assets/icons/curriculum-imgBooks.svg) 50%/contain no-repeat}.curriculum-catalog-counts{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.curriculum-catalog-counts>span{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:999px;padding:7px 12px;font-size:11px}.curriculum-catalog-counts strong{color:var(--color-text-primary);margin-right:4px;font-size:13px}.curriculum-catalog .page-button{border-radius:12px;min-height:40px;text-decoration:none}.curriculum-catalog-heading .curriculum-hero-actions{flex:none;margin-top:3px}.curriculum-library-banner{border:1px solid var(--curriculum-accent);align-items:center;gap:16px;margin:26px 0;padding:22px;display:flex}@supports (color:color-mix(in lab,red,red)){.curriculum-library-banner{border:1px solid color-mix(in srgb,var(--curriculum-accent) 18%,var(--color-surface))}}.curriculum-library-banner{background:linear-gradient(95deg,var(--curriculum-accent),var(--color-surface) 78%);border-radius:16px}@supports (color:color-mix(in lab,red,red)){.curriculum-library-banner{background:linear-gradient(95deg,color-mix(in srgb,var(--curriculum-accent) 11%,var(--color-surface)),var(--color-surface) 78%)}}.curriculum-banner-icon{background:var(--curriculum-accent);width:44px;height:44px;color:var(--color-text-inverse);border-radius:13px;flex:none;place-items:center;font-size:29px;display:grid}.curriculum-library-banner>div{flex:1}.curriculum-library-banner strong{letter-spacing:-.02em;font-size:16px;font-weight:700}.curriculum-library-banner p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px;line-height:1.6}.curriculum-library-banner .page-button{background:var(--curriculum-accent);color:var(--color-text-inverse);border:0;flex:none}.curriculum-catalog-filters{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.curriculum-catalog-filters label{gap:7px;min-width:160px;display:grid}.curriculum-catalog-filters label>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.curriculum-catalog-filters select{border:1px solid var(--color-border);background:var(--color-surface);max-width:240px;min-height:44px;color:var(--color-text-primary);box-shadow:var(--shadow-card);border-radius:12px;padding:0 30px 0 13px;font-size:13px}.curriculum-catalog-search{min-width:0;display:block}.curriculum-catalog-search input{height:52px;box-shadow:var(--shadow-card);border-radius:12px;padding-left:44px;font-size:14px}.curriculum-catalog-search img{width:18px;height:18px;top:17px;left:16px}.curriculum-catalog-results{min-height:62px;color:var(--color-text-secondary);align-items:center;gap:14px;font-size:12px;display:flex}.curriculum-catalog-results strong{color:var(--color-text-primary)}.curriculum-catalog-results button{background:var(--color-danger-soft);color:var(--color-danger);border:0;border-radius:999px;padding:5px 11px;font-size:11px}.curriculum-library-caption{margin-left:auto;font-size:11px}.curriculum-catalog .curriculum-program-grid{gap:16px}.curriculum-catalog .curriculum-program-card{box-shadow:var(--shadow-card);cursor:default;border-radius:16px;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;padding:16px;transition:border-color .3s,box-shadow .3s,transform .3s}.curriculum-card-cover-link,.curriculum-lesson-cover-link{border-radius:12px;min-width:0;text-decoration:none;display:block}.curriculum-cover{--cover-accent:var(--color-primary);isolation:isolate;aspect-ratio:16/9;background:var(--cover-accent);border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:100%;padding:18px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.curriculum-cover{background:color-mix(in srgb,var(--cover-accent) 12%,var(--color-surface))}}.curriculum-cover{color:var(--color-text-primary)}.curriculum-cover.tone-1{--cover-accent:var(--color-groups-purple)}.curriculum-cover.tone-2{--cover-accent:var(--color-revenue-orange)}.curriculum-cover.tone-3{--cover-accent:var(--color-teachers-green)}.curriculum-cover-orbit{z-index:-1;border:30px solid var(--cover-accent);width:190px;height:190px;position:absolute;top:-35px;right:-45px}@supports (color:color-mix(in lab,red,red)){.curriculum-cover-orbit{border:30px solid color-mix(in srgb,var(--cover-accent) 10%,transparent)}}.curriculum-cover-orbit{border-radius:50%}.curriculum-cover:after{content:"";z-index:-1;border:1px solid var(--cover-accent);width:130px;height:130px;position:absolute;bottom:-55px;left:-35px}@supports (color:color-mix(in lab,red,red)){.curriculum-cover:after{border:1px solid color-mix(in srgb,var(--cover-accent) 20%,transparent)}}.curriculum-cover:after{border-radius:30px;transform:rotate(25deg)}.curriculum-cover-label{color:var(--cover-accent);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.curriculum-cover-symbol{background:var(--cover-accent);width:26px;height:26px;display:block;-webkit-mask:url(/assets/icons/curriculum-imgBooks.svg) 50%/contain no-repeat;mask:url(/assets/icons/curriculum-imgBooks.svg) 50%/contain no-repeat}.curriculum-cover>strong{-webkit-line-clamp:2;letter-spacing:-.03em;-webkit-box-orient:vertical;max-width:230px;font-size:19px;font-weight:780;line-height:1.2;display:-webkit-box;overflow:hidden}.curriculum-cover-brand{color:var(--cover-accent);letter-spacing:.07em;flex-wrap:wrap;align-items:center;gap:5px;margin-top:2px;font-size:8px;font-weight:850;display:flex}.curriculum-cover-brand>span{letter-spacing:0;font-size:8px;font-weight:500}.curriculum-cover-count{background:var(--color-surface);color:var(--color-text-secondary);box-shadow:var(--shadow-card);border-radius:999px;padding:5px 9px;font-size:10px;position:absolute;bottom:10px;right:10px}.curriculum-cover.has-image{padding:0}.curriculum-cover-tag{background:var(--color-session-background);border-radius:999px;padding:5px 10px;position:absolute;top:10px;left:10px}@supports (color:color-mix(in lab,red,red)){.curriculum-cover-tag{background:color-mix(in srgb,var(--color-session-background) 72%,transparent)}}.curriculum-cover-tag{color:var(--color-session-text);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.curriculum-lesson-card .curriculum-cover-tag{padding:4px 8px;top:7px;left:7px}.curriculum-cover .cover-image{border-radius:inherit;background:0 0;border:0;height:100%;margin:0}.curriculum-cover .cover-image img{object-fit:cover;width:100%;height:100%}.curriculum-program-body{flex-direction:column;min-width:0;padding:0 4px 2px 0;display:flex}.curriculum-catalog .curriculum-program-head{gap:10px}.curriculum-catalog .curriculum-program-copy h3{letter-spacing:-.025em;margin:5px 0 0;font-size:20px}.curriculum-lesson-copy strong a,.curriculum-program-copy h3 a{color:inherit;text-decoration:none}.curriculum-catalog .curriculum-program-copy>span{color:var(--curriculum-accent);font-size:10px}.curriculum-card-description{-webkit-line-clamp:2;color:var(--color-text-secondary);-webkit-box-orient:vertical;margin:8px 0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.curriculum-card-metadata{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:11px;display:flex}.curriculum-catalog .curriculum-age-options{gap:6px;margin:12px 0 15px}.curriculum-catalog .curriculum-age-options>span{border-radius:999px;padding:5px 11px;font-size:10px}.curriculum-catalog .curriculum-program-footer{border-top:1px solid var(--color-border);margin-top:auto;padding-top:11px}.curriculum-catalog .curriculum-program-footer>span{font-size:10px}.curriculum-catalog .curriculum-program-footer>span>span{margin-left:8px;font-size:16px}.curriculum-page .curriculum-enter-button{background:var(--curriculum-accent);width:fit-content;min-height:38px;color:var(--color-text-inverse);border:0;border-radius:12px;align-self:flex-start;padding-inline:16px;font-size:12px;text-decoration:none}.curriculum-enter-button>span{font-size:9px}.curriculum-catalog .curriculum-card-actions{flex-wrap:wrap;justify-content:flex-end}.curriculum-catalog .status-pill,.curriculum-lesson-card .status-pill{border-radius:999px;padding:4px 10px;font-size:9px}.curriculum-catalog .curriculum-empty{gap:12px;min-height:300px}.curriculum-catalog .curriculum-empty p{max-width:380px;line-height:1.6}.curriculum-catalog select:focus-visible,.curriculum-page a:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.curriculum-detail-page .curriculum-detail-hero,.curriculum-lesson-page .curriculum-lesson-hero{border-radius:22px;padding:26px}.curriculum-detail-page .curriculum-detail-title{align-items:center;gap:24px}.curriculum-detail-title>.curriculum-cover{flex:0 0 300px;height:auto}.curriculum-detail-title>div:last-child{flex:1}.curriculum-detail-page .curriculum-detail-hero h2,.curriculum-lesson-page .curriculum-lesson-hero h2{letter-spacing:-.035em;font-size:29px;line-height:1.22}.curriculum-detail-page .curriculum-detail-hero p{max-width:700px;font-size:13px}.curriculum-detail-page .curriculum-track-picker{border-color:var(--curriculum-accent);padding:17px}@supports (color:color-mix(in lab,red,red)){.curriculum-detail-page .curriculum-track-picker{border-color:color-mix(in srgb,var(--curriculum-accent) 18%,var(--color-surface))}}.curriculum-detail-page .curriculum-track-picker{background:var(--curriculum-tint);border-radius:14px}.curriculum-detail-page .curriculum-track-picker button.active{border-color:var(--curriculum-accent);background:var(--color-surface);color:var(--curriculum-accent);box-shadow:var(--shadow-card)}.curriculum-detail-page .curriculum-track-picker button.active span{color:var(--curriculum-accent)}.curriculum-detail-page .curriculum-detail-hero dl{background:0 0;border:0}.curriculum-detail-page .curriculum-detail-hero dl div{border-right:1px solid var(--color-border);background:0 0;padding:3px 16px}.curriculum-detail-page .curriculum-detail-hero dl div:last-child{border:0}.curriculum-detail-page .curriculum-detail-hero dd{font-size:15px}.curriculum-detail-layout{grid-template-columns:215px minmax(0,1fr);gap:18px}.curriculum-outline{border-radius:18px;padding:20px 14px}.curriculum-outline nav button{padding:12px 8px}.curriculum-outline nav button>span{background:var(--curriculum-tint);color:var(--curriculum-accent)}.curriculum-detail-page .curriculum-month{border-radius:18px;padding:16px}.curriculum-detail-page .curriculum-month-heading{background:0 0;border:0;padding:3px 3px 18px}.curriculum-detail-page .curriculum-month-heading>span{background:var(--curriculum-tint);color:var(--curriculum-accent);border-radius:11px}.curriculum-detail-page .curriculum-month-heading h3{font-size:18px}.curriculum-detail-page .curriculum-month-heading small{color:var(--curriculum-accent);font-size:9px}.curriculum-detail-page .curriculum-lesson-list{gap:10px;display:grid}.curriculum-detail-page .curriculum-lesson-card{border:1px solid var(--color-border);box-shadow:var(--shadow-card);cursor:default;border-radius:16px;grid-template-columns:240px minmax(0,1fr) auto;align-items:start;gap:16px;padding:14px;transition:border-color .3s,box-shadow .3s,transform .3s}.curriculum-lesson-card .curriculum-cover{gap:5px;padding:14px}.curriculum-lesson-card .curriculum-cover>strong{font-size:15px}.curriculum-lesson-card .curriculum-cover-symbol{width:20px;height:20px}.curriculum-lesson-card .curriculum-cover-brand{display:none}.curriculum-lesson-card .curriculum-cover-count{padding:3px 7px;font-size:9px;bottom:7px;right:7px}.curriculum-lesson-card .curriculum-lesson-copy{align-self:center}.curriculum-lesson-card .curriculum-lesson-copy>div:first-child{flex-wrap:wrap}.curriculum-lesson-card .curriculum-lesson-copy strong{font-size:15px;line-height:1.4}.curriculum-lesson-card .curriculum-lesson-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.curriculum-lesson-card .curriculum-lesson-meta{gap:6px 12px;font-size:10px}.curriculum-lesson-card .curriculum-enter-button{margin-top:13px}.curriculum-lesson-card>.curriculum-row-actions{flex-direction:column;gap:5px}.curriculum-lesson-card .curriculum-open-lesson{display:none}.curriculum-detail-page .curriculum-add-lesson{background:var(--color-surface-muted);border-style:dashed;border-radius:10px;width:100%;margin:12px 0 0}.curriculum-lesson-page .curriculum-lesson-hero{gap:22px;display:grid}.curriculum-lesson-page .curriculum-lesson-hero>div{max-width:none}.curriculum-lesson-page .curriculum-lesson-eyebrow{color:var(--curriculum-accent);font-size:10px}.curriculum-lesson-page .curriculum-lesson-eyebrow>strong{background:var(--curriculum-tint);padding:5px 9px;font-size:11px;font-weight:650}.curriculum-lesson-page .curriculum-lesson-hero dl{border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.curriculum-lesson-page .curriculum-lesson-hero dl>div{min-width:0;padding:13px 18px}.curriculum-lesson-page .curriculum-lesson-hero dt{font-size:11px}.curriculum-lesson-page .curriculum-lesson-hero dd{font-size:14px}.curriculum-lesson-page .curriculum-live-actions .ui-button.primary{border-color:var(--curriculum-accent);background:var(--curriculum-accent)}.curriculum-lesson-page .curriculum-lesson-content{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px}.curriculum-lesson-page .curriculum-resources,.curriculum-lesson-page .curriculum-sequence{border-radius:20px;min-width:0;padding:20px}.curriculum-lesson-page .curriculum-section-heading h3{font-size:17px}.curriculum-lesson-page .curriculum-section-heading p{font-size:11px;line-height:1.6}.curriculum-lesson-page .curriculum-resources .curriculum-section-heading{flex-direction:column;align-items:flex-start;gap:14px}.curriculum-lesson-page .curriculum-resource-card{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}.curriculum-lesson-page .curriculum-resource-icon{background:var(--curriculum-tint);width:38px;height:42px;color:var(--curriculum-accent)}.curriculum-lesson-page .curriculum-resource-actions{grid-column:2}.curriculum-lesson-page .curriculum-resource-empty{text-align:center;flex-direction:column;gap:14px;padding:30px 16px}.curriculum-lesson-page .curriculum-sequence-stage:not(.quiz):not(.has-asset){background:var(--curriculum-tint)}.curriculum-lesson-page .curriculum-sequence-stage{height:clamp(330px,34vw,470px)}.curriculum-lesson-page .curriculum-sequence-stage>h3{letter-spacing:-.035em;font-size:clamp(24px,2.8vw,36px)}.curriculum-lesson-page .curriculum-sequence-stage>p{font-size:15px}.curriculum-lesson-page .curriculum-sequence-player>footer{background:var(--color-surface-muted)}@media (hover:hover){.curriculum-catalog .curriculum-program-card:hover,.curriculum-detail-page .curriculum-lesson-card:hover{border-color:var(--curriculum-accent)}@supports (color:color-mix(in lab,red,red)){.curriculum-catalog .curriculum-program-card:hover,.curriculum-detail-page .curriculum-lesson-card:hover{border-color:color-mix(in srgb,var(--curriculum-accent) 35%,var(--color-border))}}.curriculum-catalog .curriculum-program-card:hover,.curriculum-detail-page .curriculum-lesson-card:hover{box-shadow:var(--curriculum-lift);transform:translateY(-2px)}.curriculum-page .curriculum-enter-button:hover{filter:brightness(.95)}.curriculum-outline nav button:hover{background:var(--curriculum-tint)}.curriculum-lesson-copy strong a:hover,.curriculum-program-copy h3 a:hover{color:var(--curriculum-accent)}}@media (max-width:1250px){.curriculum-catalog-panel{padding:22px}.curriculum-library-banner{flex-wrap:wrap}.curriculum-library-banner .page-button{margin-left:60px}.curriculum-detail-layout{grid-template-columns:185px minmax(0,1fr);gap:12px}.curriculum-catalog .curriculum-program-card{grid-template-columns:250px minmax(0,1fr)}.curriculum-cover{gap:6px;padding:15px}.curriculum-cover>strong{font-size:17px}.curriculum-detail-page .curriculum-lesson-card{grid-template-columns:190px minmax(0,1fr);gap:12px}.curriculum-lesson-card>.curriculum-row-actions{flex-direction:row;grid-column:2;justify-content:flex-end}.curriculum-lesson-page .curriculum-lesson-content{grid-template-columns:minmax(0,1fr)}.curriculum-lesson-page .curriculum-resource-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1000px){.curriculum-catalog-heading{flex-wrap:wrap}.curriculum-catalog-heading .curriculum-hero-actions{width:100%;margin-left:70px}.curriculum-catalog .curriculum-program-card{grid-template-columns:210px minmax(0,1fr);gap:14px}.curriculum-catalog .curriculum-program-head{flex-direction:column-reverse}.curriculum-catalog .curriculum-card-actions{justify-content:flex-start}.curriculum-detail-title>.curriculum-cover{flex-basis:230px}.curriculum-detail-layout{grid-template-columns:minmax(0,1fr)}.curriculum-outline{position:static}.curriculum-outline nav{display:flex;overflow-x:auto}.curriculum-outline nav button{flex:0 0 150px}.curriculum-detail-page .curriculum-track-picker{flex-wrap:wrap}}@media (max-width:650px){.curriculum-page{gap:14px;padding:12px 0 24px}.curriculum-catalog-panel{border-radius:18px;padding:18px 14px}.curriculum-catalog-heading{gap:12px}.curriculum-catalog-heading h2{font-size:23px}.curriculum-catalog-heading p{font-size:12px}.curriculum-heading-icon{border-radius:13px;width:44px;height:44px}.curriculum-heading-icon:after{inset:10px}.curriculum-catalog-counts{gap:5px}.curriculum-catalog-counts>span{padding:5px 7px;font-size:9px}.curriculum-catalog-counts strong{font-size:11px}.curriculum-catalog-heading .curriculum-hero-actions{margin-left:0}.curriculum-catalog-heading .curriculum-hero-actions .page-button{width:100%}.curriculum-library-banner{gap:12px;margin-block:20px;padding:16px}.curriculum-library-banner>div{flex-basis:calc(100% - 60px)}.curriculum-library-banner strong{font-size:14px}.curriculum-library-banner p{font-size:11px}.curriculum-library-banner .page-button{min-height:35px;margin-left:56px;font-size:11px}.curriculum-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;display:grid}.curriculum-catalog-filters label{min-width:0}.curriculum-catalog-filters select{width:100%;min-width:0;max-width:none;font-size:12px}.curriculum-catalog-filters label:last-child{grid-column:1/-1}.curriculum-catalog-search input{font-size:12px}.curriculum-library-caption{display:none}.curriculum-catalog-results{flex-wrap:wrap;gap:6px;min-height:54px;font-size:11px}.curriculum-catalog .curriculum-program-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:10px}.curriculum-card-cover-link .curriculum-cover{padding:18px}.curriculum-card-cover-link .curriculum-cover>strong{font-size:21px}.curriculum-catalog .curriculum-program-head{flex-flow:wrap}.curriculum-catalog .curriculum-card-actions{margin-left:auto}.curriculum-catalog .curriculum-program-copy h3{font-size:19px}.curriculum-program-body{padding:0 4px 4px}.curriculum-detail-page .curriculum-detail-hero,.curriculum-lesson-page .curriculum-lesson-hero{padding:18px}.curriculum-detail-page .curriculum-detail-title{flex-direction:column;align-items:stretch;gap:18px}.curriculum-detail-title>.curriculum-cover{flex-basis:auto;width:100%;height:auto}.curriculum-detail-page .curriculum-detail-hero h2,.curriculum-lesson-page .curriculum-lesson-hero h2{font-size:25px}.curriculum-detail-page .curriculum-detail-hero dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 0}.curriculum-detail-page .curriculum-detail-hero dl div{padding-inline:8px}.curriculum-detail-page .curriculum-track-picker>div:last-child{justify-content:flex-start}.curriculum-detail-page .curriculum-month{padding:12px}.curriculum-detail-page .curriculum-month-heading{grid-template-columns:32px minmax(0,1fr);gap:10px}.curriculum-detail-page .curriculum-month-heading>.curriculum-row-actions{grid-column:2;justify-content:flex-start}.curriculum-detail-page .curriculum-lesson-card{grid-template-columns:minmax(0,1fr)}.curriculum-lesson-cover-link .curriculum-cover>strong{font-size:19px}.curriculum-lesson-card>.curriculum-row-actions{grid-column:1}.curriculum-lesson-card .curriculum-lesson-copy strong{font-size:16px}.curriculum-lesson-card .curriculum-lesson-meta{flex-wrap:wrap}.curriculum-lesson-page .curriculum-lesson-hero dl{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-lesson-page .curriculum-resources,.curriculum-lesson-page .curriculum-sequence{padding:15px}.curriculum-lesson-page .curriculum-resource-list{grid-template-columns:minmax(0,1fr)}.curriculum-lesson-page .curriculum-sequence-stage{height:330px}.curriculum-lesson-page .curriculum-sequence-stage>p{font-size:13px}}.curriculum-detail-page .curriculum-outline nav button.active{border-color:var(--curriculum-accent)}@supports (color:color-mix(in lab,red,red)){.curriculum-detail-page .curriculum-outline nav button.active{border-color:color-mix(in srgb,var(--curriculum-accent) 40%,transparent)}}.curriculum-detail-page .curriculum-outline nav button.active{background:var(--curriculum-tint)}.curriculum-detail-page .curriculum-outline nav button.active strong{color:var(--curriculum-accent)}.curriculum-detail-page .curriculum-outline nav button.active>span{background:var(--curriculum-accent);color:var(--color-text-inverse)}.curriculum-month-note{background:var(--color-warning-soft);color:var(--color-warning);border-radius:10px;margin:12px 0 0;padding:10px 13px;font-size:12px;line-height:1.5}.curriculum-month-empty-panel{text-align:center;justify-items:center;gap:6px;padding:48px 20px;display:grid}.curriculum-month-empty-panel strong{font-size:15px}.curriculum-month-empty-panel p{max-width:360px;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.55}.curriculum-lesson-card>.curriculum-row-actions .curriculum-crud-button{font-size:14px;font-weight:700}.curriculum-material-open{color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:650}.curriculum-material-open:disabled{opacity:.6;cursor:progress}.curriculum-material-problem{color:var(--color-danger);font-size:11px;display:block}.crud-file-field>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.crud-file-field button{border:1px solid var(--color-border);background:var(--color-surface);min-height:40px;color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:10px;padding:0 14px;font-size:13px;font-weight:650}.crud-file-field button:first-child{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.crud-file-field button.danger{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.crud-file-field button:disabled{opacity:.6;cursor:not-allowed}.crud-file-field strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.crud-file-field em{color:var(--color-text-secondary);font-size:12px;font-style:normal}.crud-file-problem{color:var(--color-danger)}@media (max-width:1000px){.curriculum-outline{max-height:none}.curriculum-detail-page .curriculum-outline nav button{flex:0 0 170px}}.curriculum-live-slide.practice,.curriculum-student-slide.practice{text-align:left;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:clamp(8px,1.4vh,16px)}.practice-task{gap:6px;width:100%;display:grid}.practice-task h1{letter-spacing:-.02em;margin:0;font-size:clamp(19px,2.4vw,30px);font-weight:800}.practice-task p{color:var(--color-session-muted);white-space:pre-wrap;margin:0;font-size:clamp(12px,1.2vw,15px);line-height:1.55}.practice-panel{text-align:left;grid-template-columns:290px minmax(0,1fr);align-items:start;gap:14px;width:100%;height:100%;min-height:0;display:grid}.practice-brief{border:1px solid var(--color-session-border);background:var(--color-session-surface);border-radius:14px;align-content:start;gap:12px;min-width:0;max-height:100%;padding:14px;display:grid;overflow-y:auto}.practice-brief>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-kind{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.practice-brief>header strong{color:var(--color-points);font-size:13px;font-weight:800}.practice-rules{gap:5px;margin:0;padding:0;list-style:none;display:grid}.practice-rules li{background:var(--color-session-surface-raised);color:var(--color-session-muted);border-radius:8px;padding:6px 9px;font-size:11px}.curriculum-host-practice-rules li b,.practice-rules li b{color:var(--color-session-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.curriculum-host-practice-rules li.forbidden,.practice-rules li.forbidden{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.curriculum-host-practice-rules li.forbidden,.practice-rules li.forbidden{background:color-mix(in srgb,var(--color-danger) 18%,transparent)}}.curriculum-host-practice-rules li.forbidden,.practice-rules li.forbidden{color:var(--color-danger)}.practice-samples{gap:7px;display:grid}.practice-samples>strong{color:var(--color-session-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.practice-samples>div{background:var(--color-session-surface-raised);border-radius:9px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:5px 8px;padding:8px;display:grid}.practice-samples span{color:var(--color-session-muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px}.practice-results code,.practice-samples code{color:var(--color-session-text);white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-x:auto}.practice-paste-note{color:var(--color-warning);align-items:center;gap:7px;margin:0;font-size:10px;line-height:1.5;display:flex}.practice-work{grid-template-rows:minmax(160px,1fr) auto;align-content:start;gap:10px;min-width:0;height:100%;min-height:0;display:grid}.practice-code{border:1px solid var(--color-session-border);background:var(--color-session-background);border-radius:14px;grid-template-columns:42px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.practice-code:focus-within{border-color:var(--color-primary)}.practice-code-gutter{border-right:1px solid var(--color-session-border);background:var(--color-session-surface);color:var(--color-session-muted);text-align:right;-webkit-user-select:none;user-select:none;align-content:start;padding:12px 8px 12px 0;display:grid;overflow:hidden}.practice-code textarea,.practice-code-gutter{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55}.practice-code textarea{resize:none;min-height:0;color:var(--color-session-text);tab-size:4;background:0 0;border:0;padding:12px 14px}.practice-code textarea:focus-visible{outline:none}.practice-code textarea:disabled{opacity:.75}.practice-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-actions .ui-button{min-height:40px}.practice-tally{font-weight:700}.practice-notice,.practice-tally{color:var(--color-session-muted);font-size:12px}.practice-notice{background:var(--color-session-surface-raised);border-radius:10px;margin:0;padding:9px 12px;line-height:1.5}.practice-notice.warn{background:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.practice-notice.warn{background:color-mix(in srgb,var(--color-warning) 18%,transparent)}}.practice-notice.warn{color:var(--color-warning)}.practice-verdict{background:var(--color-session-surface-raised);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;display:flex}.practice-verdict>strong{letter-spacing:.04em;font-size:13px;font-weight:900}.practice-verdict>span{min-width:160px;color:var(--color-session-muted);flex:1;font-size:11px;line-height:1.5}.practice-verdict>b{color:var(--color-points);font-size:13px;font-weight:800}.practice-verdict.passed{background:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.practice-verdict.passed{background:color-mix(in srgb,var(--color-success) 22%,transparent)}}.practice-verdict.passed>strong{color:var(--color-success)}.practice-verdict.partial{background:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.practice-verdict.partial{background:color-mix(in srgb,var(--color-warning) 20%,transparent)}}.practice-verdict.partial>strong{color:var(--color-warning)}.practice-verdict.failed>strong,.practice-verdict.rejected>strong{color:var(--color-danger)}.practice-verdict.rejected{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.practice-verdict.rejected{background:color-mix(in srgb,var(--color-danger) 20%,transparent)}}.practice-results{gap:6px;max-height:30vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.practice-results li{background:var(--color-session-surface);border-radius:10px;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:8px 10px;display:grid}.practice-results li>div{gap:3px;min-width:0;display:grid}.practice-results strong{font-size:11px;font-weight:700}.practice-results small{color:var(--color-session-muted);font-size:10px}.practice-result-mark{border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.practice-results li.pass .practice-result-mark{background:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.practice-results li.pass .practice-result-mark{background:color-mix(in srgb,var(--color-success) 25%,transparent)}}.practice-results li.pass .practice-result-mark{color:var(--color-success)}.practice-results li.fail .practice-result-mark{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.practice-results li.fail .practice-result-mark{background:color-mix(in srgb,var(--color-danger) 25%,transparent)}}.practice-results li.fail .practice-result-mark{color:var(--color-danger)}.practice-error{font-size:11px;color:var(--color-danger)!important}.curriculum-host-practice-bar{flex-wrap:wrap;align-items:center;gap:14px;width:100%;display:flex}.curriculum-host-practice-kind{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.curriculum-host-practice-bar .curriculum-host-quiz-count:first-of-type{margin-left:auto}.curriculum-host-practice{text-align:left;align-content:center;gap:14px;width:min(1000px,100%);margin-inline:auto;display:grid}.curriculum-host-practice h2{letter-spacing:-.03em;margin:0;font-size:clamp(22px,3vw,40px);font-weight:850}.curriculum-host-practice p{color:var(--color-session-muted);white-space:pre-wrap;margin:0;font-size:clamp(13px,1.4vw,18px);line-height:1.5}.curriculum-host-practice-rules{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.curriculum-host-practice-rules li{background:var(--color-session-surface-raised);color:var(--color-session-muted);border-radius:999px;padding:7px 11px;font-size:12px}.curriculum-sequence-stage.practice{align-content:center}.curriculum-preview-practice{text-align:left;gap:11px;width:100%;display:grid}.curriculum-preview-practice h3{margin:0;font-size:clamp(18px,2vw,26px)}.curriculum-preview-practice p{color:var(--color-session-muted);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.55}.curriculum-preview-practice ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.curriculum-preview-practice li{background:var(--color-session-surface-raised);color:var(--color-session-muted);border-radius:999px;padding:6px 10px;font-size:11px}.curriculum-preview-practice li.forbidden{background:var(--color-danger)}@supports (color:color-mix(in lab,red,red)){.curriculum-preview-practice li.forbidden{background:color-mix(in srgb,var(--color-danger) 18%,transparent)}}.curriculum-preview-practice li.forbidden{color:var(--color-danger)}.curriculum-preview-practice b,.curriculum-preview-practice code{color:var(--color-session-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.curriculum-slide-card.practice{align-content:center;justify-items:center;gap:6px;display:grid}.curriculum-slide-card.practice code{color:var(--color-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;font-weight:800}.curriculum-editor-canvas.practice{align-content:start;padding:clamp(14px,2vw,24px);overflow-y:auto}.practice-editor{gap:14px;width:100%;display:grid}.practice-editor-test>label,.practice-editor>label{gap:6px;display:grid}.practice-editor-test>label>span,.practice-editor>label>span{color:var(--color-text-secondary);font-size:11px;font-weight:650}.practice-editor input,.practice-editor textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;color:var(--color-text-primary);font:inherit;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.55}.practice-editor .practice-editor-code,.practice-editor-test textarea{tab-size:4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.practice-editor-ai{border:1px dashed var(--color-points-strong);background:var(--color-points);border-radius:12px;gap:8px;padding:12px;display:grid}@supports (color:color-mix(in lab,red,red)){.practice-editor-ai{background:color-mix(in srgb,var(--color-points) 8%,var(--color-surface))}}.practice-editor-ai>button,.practice-editor-ai>div button{border:1px solid var(--color-points-strong);background:var(--color-points-strong);min-height:36px;color:var(--color-text-inverse);font:inherit;cursor:pointer;border-radius:10px;padding:0 12px;font-size:12px;font-weight:700}.practice-editor-ai>div{flex-wrap:wrap;gap:8px;display:flex}.practice-editor-ai>div button:last-child{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.practice-editor-ai>button:disabled,.practice-editor-ai>div button:disabled{opacity:.55;cursor:not-allowed}.practice-editor-ai>small{color:var(--color-text-secondary);font-size:11px;line-height:1.5}.practice-editor-note{color:var(--color-points-strong);margin:0;font-size:11px;font-weight:650;line-height:1.5}.practice-editor-tests{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:12px;gap:10px;padding:12px;display:grid}.practice-editor-tests>header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-editor-tests>header strong{font-size:13px}.practice-editor-tests>header small{min-width:180px;color:var(--color-text-secondary);flex:1;font-size:11px;line-height:1.45}.practice-editor-tests>header button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:34px;color:var(--color-text-inverse);font:inherit;cursor:pointer;border-radius:9px;padding:0 12px;font-size:12px;font-weight:650}.practice-editor-test{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.practice-editor-test>b{background:var(--color-primary-soft);width:26px;height:26px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:12px;display:grid}.practice-editor-test-tools{justify-items:center;gap:7px;display:grid}.practice-editor-toggle{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.practice-editor-toggle input{width:15px;height:15px}.practice-editor-test-tools button.danger{border:1px solid var(--color-danger);background:var(--color-danger-soft);width:28px;height:28px;color:var(--color-danger);font:inherit;cursor:pointer;border-radius:8px;padding:0}.practice-editor-test-tools button.danger:disabled{opacity:.45;cursor:not-allowed}@media (max-width:1100px){.practice-panel{grid-template-columns:minmax(0,1fr)}.practice-brief{max-height:none}.practice-editor-test{grid-template-columns:26px minmax(0,1fr)}.practice-editor-test-tools{grid-column:2;grid-auto-flow:column;justify-content:start;justify-items:start;gap:12px}}@media (max-width:640px){.practice-code{grid-template-columns:32px minmax(0,1fr)}.practice-code textarea,.practice-code-gutter{font-size:12px}.practice-actions .ui-button{flex:140px}.practice-results{max-height:34vh}.curriculum-host-practice-bar{gap:9px}.curriculum-host-practice-bar .curriculum-host-quiz-count:first-of-type{margin-left:0}}.session-history-tasks{gap:12px;display:grid}.session-history-tasks>article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;gap:12px;padding:16px;display:grid}.session-history-tasks>article>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.session-history-tasks>article>header>div:first-child{align-items:center;gap:12px;min-width:0;display:flex}.session-history-solutions{gap:7px;display:grid}.session-history-solutions details{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:11px}.session-history-solutions summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 13px;display:flex}.session-history-solutions summary strong{flex:1;min-width:120px;font-size:13px}.session-history-solutions summary em{font-size:12px;font-style:normal}.session-history-solutions details>small{color:var(--color-text-secondary);padding:0 13px;font-size:11px;line-height:1.5;display:block}.session-history-solutions pre{background:var(--color-session-background);color:var(--color-session-text);tab-size:4;border-radius:9px;margin:9px 13px 13px;padding:11px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;overflow-x:auto}.curriculum-detail-layout>*,.curriculum-lesson-card>*,.curriculum-month,.curriculum-month-heading>*,.curriculum-months>*,.curriculum-outline{min-width:0}.curriculum-detail-hero h2,.curriculum-detail-hero p,.curriculum-lesson-copy strong,.curriculum-month-heading h3,.curriculum-month-heading p,.curriculum-outline>div:first-child strong{overflow-wrap:anywhere}.curriculum-detail-hero dd{overflow-wrap:anywhere;white-space:normal}.curriculum-lesson-card .curriculum-lesson-meta span{min-width:0}.curriculum-student-live-screen.curriculum-session-ended{background:var(--color-background);color:var(--color-text-primary);gap:16px;padding:clamp(14px,3vh,30px)}.curriculum-session-ended .curriculum-student-finish{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card);border-radius:22px;gap:10px}.curriculum-session-ended .curriculum-student-finish h1{letter-spacing:-.025em;font-size:clamp(21px,4vw,27px);font-weight:820}.curriculum-session-ended .curriculum-student-finish p{color:var(--color-text-secondary);font-size:13px}.curriculum-finish-crest{background:var(--color-points-soft);width:62px;height:62px;color:var(--color-points-strong);border-radius:50%;place-items:center;margin-top:4px;font-size:27px;display:grid}.curriculum-finish-total{background:var(--color-points-soft);border-radius:16px;justify-items:center;gap:2px;width:100%;margin:6px 0 0;padding:16px;display:grid}.curriculum-finish-total strong{color:var(--color-points-strong);font-variant-numeric:tabular-nums;font-size:clamp(34px,8vw,46px);font-weight:900;line-height:1}.curriculum-finish-total small{color:var(--color-points-strong);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.curriculum-session-ended .curriculum-student-score{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin-top:10px}.curriculum-session-ended .curriculum-student-score div{border:1px solid var(--color-border);background:var(--color-surface-muted)}.curriculum-session-ended .curriculum-student-score dt{color:var(--color-text-secondary);font-size:11px}.curriculum-session-ended .curriculum-student-score dd{color:var(--color-text-primary);font-size:19px}.curriculum-session-ended .curriculum-student-finish .page-button{border-radius:12px;min-height:44px;margin-top:12px;text-decoration:none}.curriculum-session-ended .curriculum-student-score dd.negative{color:var(--color-danger)}.curriculum-session-ended .lesson-reflection{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px}.curriculum-session-ended .lesson-reflection-head h2{color:var(--color-text-primary)}.curriculum-spinner-winner{text-align:center;border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:58px;padding:8px 14px;display:flex}.curriculum-spinner-winner>strong{color:var(--color-text-secondary);font-size:clamp(15px,2vw,19px);font-weight:700}.curriculum-spinner-winner.picked{border:1px solid var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.curriculum-spinner-winner.picked{border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent)}}.curriculum-spinner-winner.picked{background:var(--color-primary-soft)}.curriculum-spinner-winner.picked>span{background:var(--color-primary);width:46px;height:46px;color:var(--color-text-inverse);border-radius:50%;flex:none;place-items:center;font-size:21px;font-weight:800;display:grid}.curriculum-spinner-winner.picked>div{text-align:left;gap:1px;min-width:0;display:grid}.curriculum-spinner-winner.picked small{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.curriculum-spinner-winner.picked strong{color:var(--color-text-primary);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(19px,3vw,27px);font-weight:850;overflow:hidden}.curriculum-spinner-options{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;display:flex}.curriculum-spinner-toggle{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:12px;font-weight:650;display:inline-flex}.curriculum-spinner-toggle:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.curriculum-spinner-left{background:var(--color-surface-muted);color:var(--color-text-secondary);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:650}.curriculum-timer-notebook{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:12px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px;display:grid!important}.curriculum-timer-notebook span{gap:3px;display:grid}.curriculum-timer-notebook b{font-size:13px;font-weight:700}.curriculum-timer-notebook small{color:var(--color-text-secondary);font-size:11px;line-height:1.45}.curriculum-task-timer-tag{background:var(--color-warning-soft);color:var(--color-warning);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:center;padding:4px 9px;font-size:10px;font-weight:800}.notebook-timer{z-index:70;background:var(--color-session-background);place-items:center;padding:20px;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.notebook-timer{background:color-mix(in srgb,var(--color-session-background) 88%,transparent)}}.notebook-timer{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:curriculum-banner-in .2s ease-out}.notebook-timer-card{border:1px solid var(--color-warning);background:var(--color-session-surface);width:min(460px,100%);color:var(--color-session-text);text-align:center;box-shadow:var(--shadow-dialog);border-radius:22px;justify-items:center;gap:12px;padding:28px 24px;display:grid}.notebook-timer-kicker{color:var(--color-warning);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}.notebook-timer-card h2{letter-spacing:-.02em;margin:0;font-size:clamp(24px,6vw,36px);font-weight:860}.notebook-timer-card p{color:var(--color-session-muted);margin:0;font-size:13px;line-height:1.55}.notebook-timer-card b{color:var(--color-session-text)}.notebook-timer.expired .notebook-timer-card{border-color:var(--color-danger);animation:curriculum-timer-flash 1s ease-in-out infinite}.notebook-timer.expired .notebook-timer-kicker{color:var(--color-danger)}.notebook-timer-penalty{background:var(--color-danger-soft);border-radius:16px;justify-items:center;gap:2px;width:100%;padding:14px;display:grid}.notebook-timer-penalty strong{color:var(--color-danger);font-variant-numeric:tabular-nums;font-size:clamp(34px,9vw,48px);font-weight:900;line-height:1}.notebook-timer-penalty small{color:var(--color-danger);font-size:11px;font-weight:700}.notebook-timer-floor{font-size:12px!important}.curriculum-host-notebook{border-top:1px solid var(--color-session-border);gap:9px;padding:13px 15px;display:grid}.curriculum-host-notebook>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.curriculum-host-notebook>header strong{font-size:12px}.curriculum-host-notebook>header b{color:var(--color-warning);font-size:11px;font-weight:800}.curriculum-host-notebook ul{gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.curriculum-host-notebook li{background:var(--color-session-surface-raised);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 9px;font-size:11px;display:flex}.curriculum-host-notebook li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-host-notebook li em{flex:none;font-style:normal;font-weight:800}.curriculum-host-notebook li.open em{color:var(--color-danger)}.curriculum-host-notebook li.late em{color:var(--color-warning)}.curriculum-host-notebook li.closed em{color:var(--color-points)}.curriculum-host-notebook small{color:var(--color-session-muted);font-size:10px;line-height:1.45}.curriculum-timer-tools{flex-wrap:wrap;justify-content:center}.curriculum-rank-penalty{background:var(--color-danger-soft);color:var(--color-danger);vertical-align:1px;border-radius:999px;margin-left:7px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}.curriculum-ranking-list.roster .curriculum-rank-penalty{margin-left:5px;padding:1px 5px;font-size:9px}.curriculum-session-ended dd.negative{color:var(--color-danger)}@font-face{font-family:Inter;src:url(/assets/fonts/InterVariable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Segoe UI,Roboto,Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button:not(:disabled),select{cursor:pointer}button:disabled{cursor:not-allowed}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}