@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--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,ui-sans-serif,system-ui,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{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{.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.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}}.hidden{display:none}.inline{display:inline}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stroke-1{stroke-width:1px}.stroke-2{stroke-width:2px}.stroke-3{stroke-width:3px}.italic{font-style:italic}.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{color-scheme:light;--canvas:#f5f5f2;--paper:#fbfbf8;--ink:#1d1d1b;--muted:#6d6d67;--rule:#deded8;--accent:#d65a38;--accent-soft:#d65a381f;--shadow:0 28px 80px #1d1d1b1f;--classroom-canvas:#ecece7;--field-focus:#fff;--surface-soft:#f2f2ee;--surface-muted:#e4e4df;--surface-toolbar:#f0f0eb;--placeholder:#8a8a83;--error-text:#8a3324;--on-dark:#fbfbf8;--on-accent:#fff;--overlay-toolbar:#fbfbf8f5;--ease:cubic-bezier(.2,.8,.2,1)}html[data-theme=dark]{color-scheme:dark;--canvas:#151614;--paper:#20211f;--ink:#f0f0eb;--muted:#aaa9a2;--rule:#3c3d39;--accent-soft:#d65a382e;--shadow:0 30px 90px #0708076b;--classroom-canvas:#111210;--field-focus:#272825;--surface-soft:#292a27;--surface-muted:#343531;--surface-toolbar:#292a27;--placeholder:#85877f;--error-text:#f0a596;--overlay-toolbar:#20211ff5}@media (prefers-color-scheme:dark){html:not([data-theme]){color-scheme:dark;--canvas:#151614;--paper:#20211f;--ink:#f0f0eb;--muted:#aaa9a2;--rule:#3c3d39;--accent-soft:#d65a382e;--classroom-canvas:#111210;--field-focus:#272825;--surface-soft:#292a27;--surface-muted:#343531;--surface-toolbar:#292a27;--placeholder:#85877f;--error-text:#f0a596;--overlay-toolbar:#20211ff5}}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--canvas);overflow-x:hidden}body{min-width:0;color:var(--ink);font-family:var(--font-geist-sans),"Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.themeToggle{right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:120;border:1px solid var(--rule);background:var(--paper);border-radius:4px;grid-template-columns:20px auto auto;align-items:center;gap:7px;min-height:44px;padding:0 12px;display:grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.themeToggle{background:color-mix(in srgb,var(--paper) 94%,transparent)}}.themeToggle{box-shadow:0 10px 30px var(--ink)}@supports (color:color-mix(in lab,red,red)){.themeToggle{box-shadow:0 10px 30px color-mix(in srgb,var(--ink) 12%,transparent)}}.themeToggle{color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease);font-size:10px}.themeToggle:hover{border-color:var(--accent)}.themeToggle:active{transform:translateY(1px)scale(.99)}.themeToggle strong{color:var(--ink);font-size:11px}.themeToggleIcon{border:1px solid var(--accent);border-radius:50%;width:18px;height:18px;display:block;position:relative}.themeToggleIcon:after{content:"";background:var(--accent);transition:transform .22s var(--ease),background .22s var(--ease);border-radius:50%;position:absolute;inset:3px}.theme-dark .themeToggleIcon:after{background:var(--paper);box-shadow:-3px 2px 0 1px var(--accent);transform:translate(3px,-2px)}.theme-system .themeToggleIcon{border-color:var(--muted);overflow:hidden}.theme-system .themeToggleIcon:after{background:var(--accent);border-radius:0;inset:-1px 8px -1px -1px}.themeToggleInline{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;flex:none;grid-template-columns:18px auto;position:static}.themeToggleInline>span,body:has(.classroomPage)>.themeToggle,body:has(.sheetBackdrop)>.themeToggle{display:none}.brand{letter-spacing:-.045em;align-items:center;gap:12px;width:fit-content;min-height:44px;font-size:20px;font-weight:730;display:inline-flex}.brandMark{background:var(--paper);border-radius:11px;place-items:center;width:40px;height:40px;display:grid;position:relative;overflow:hidden}.brandMark img{object-fit:contain;width:100%;height:100%;transform:scale(1.2)}.brandCompact{font-size:18px}.brandCompact .brandMark{border-radius:9px;width:34px;height:34px}.eyebrow{letter-spacing:.15em;margin:0;font-size:11px;font-weight:650}.eyebrow,.sectionIndex{color:var(--accent);font-family:var(--font-geist-mono),monospace}.sectionIndex{font-size:12px}.authPage{grid-template-columns:minmax(0,7fr) minmax(420px,5fr);min-height:100dvh;display:grid;overflow:hidden}.authStory{min-width:0;color:var(--on-dark);isolation:isolate;background:#1d1d1b;grid-template-rows:auto 1fr auto;padding:clamp(28px,4vw,62px);display:grid;position:relative}.authStory:after{content:"";z-index:-1;opacity:.1;background-image:repeating-linear-gradient(0deg,#0000 0 31px,#fbfbf82e 32px 33px);position:absolute;inset:0}.authStory .brand{color:var(--on-dark)}.authStoryBody{z-index:2;grid-template-columns:minmax(260px,.88fr) minmax(300px,1.12fr);align-items:center;gap:clamp(30px,4vw,70px);width:100%;padding:clamp(54px,8vh,100px) 0 34px;display:grid;position:relative}.authStoryCopy{min-width:0}.authStoryBody h1{letter-spacing:-.065em;margin:22px 0 28px;font-size:clamp(2.8rem,4.6vw,5.7rem);font-weight:710;line-height:.96}.authStoryBody h1 span{color:#c8c8c1}.authStoryCopy>p:last-child{color:#b1b1aa;word-break:keep-all;max-width:520px;margin:0;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.7}.authVisual{background:#171816;border:1px solid #fbfbf82b;grid-template-rows:minmax(360px,62vh) 48px;min-width:0;margin:0;display:grid;overflow:hidden;box-shadow:0 34px 90px #00000057}.authVisualFrame{min-height:0;position:relative;overflow:hidden}.authVisualFrame img{object-fit:cover;object-position:58% center;filter:saturate(.86)contrast(1.04);transition:transform 1.2s var(--ease),filter .6s var(--ease)}.authVisual:hover .authVisualFrame img{filter:saturate(.96)contrast(1.04);transform:scale(1.025)}.authVisual figcaption{color:#aaa9a2;font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.12em;align-items:center;gap:9px;padding:0 15px;display:flex}.authVisual figcaption i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:softPulse 2.5s ease-in-out infinite}.authFootnote{color:#8d8d87;font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;margin:0;font-size:11px}.lessonSketch{z-index:1;background:#fbfbf808;border:1px solid #fbfbf842;grid-template-columns:54px minmax(180px,26vw);width:min(420px,42vw);height:210px;display:grid;position:absolute;bottom:clamp(70px,10vh,120px);right:clamp(32px,6vw,96px);transform:rotate(-3deg)}.sketchRail{border-right:1px solid #fbfbf833;grid-template-rows:repeat(3,1fr);display:grid}.sketchRail i{border-bottom:1px solid #fbfbf829}.sketchRail i:last-child{border-bottom:0}.sketchBoard{position:relative}.sketchBoard b{background:var(--accent);color:var(--on-dark);font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.08em;padding:5px 8px;position:absolute;top:16px;right:16px}.sketchLine,.sketchUnderline{transform-origin:0;background:#fbfbf894;height:2px;position:absolute;left:18%}.sketchLineOne{width:52%;top:42%;transform:rotate(-5deg)}.sketchLineTwo{width:38%;top:57%;transform:rotate(4deg)}.sketchUnderline{background:var(--accent);width:28%;height:5px;top:73%;transform:rotate(-2deg)}.authPanel{background:var(--paper);align-items:center;padding:clamp(28px,5vw,78px);display:grid}.authPanelInner{width:min(100%,460px);margin-inline:auto}.authModeSwitch{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;margin-bottom:clamp(52px,8vh,96px);display:grid}.authModeSwitch button{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;font-size:14px}.authModeSwitch button[aria-selected=true]{color:var(--ink);border-color:var(--accent);font-weight:650}.authPanelHeader{margin-bottom:38px}.authPanelHeader h2{letter-spacing:-.045em;max-width:380px;margin:15px 0 10px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12}.authPanelHeader p{color:var(--muted);margin:0;line-height:1.6}.authForm{gap:20px;display:grid}.field{gap:9px;display:grid}.field>span,.modePicker legend{letter-spacing:-.01em;font-size:12px;font-weight:650}.field input,.field textarea{border:1px solid var(--rule);background:var(--paper);width:100%;min-height:52px;color:var(--ink);resize:vertical;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);border-radius:4px;outline:0;padding:14px 16px}.field textarea{line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:var(--placeholder)}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--field-focus)}.roleSelector{grid-template-columns:1fr 1fr;gap:8px;display:grid}.roleSelector button{border:1px solid var(--rule);text-align:left;cursor:pointer;background:0 0;border-radius:6px;gap:5px;min-height:70px;padding:12px 14px;display:grid}.roleSelector button span{font-weight:680}.roleSelector button small{color:var(--muted);font-size:11px}.roleSelector button.active{border-color:var(--accent);background:var(--accent-soft)}.formError{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink);margin:-4px 0 0;padding:12px 14px;font-size:13px;line-height:1.45}.primaryButton{background:var(--ink);width:100%;min-height:54px;color:var(--paper);cursor:pointer;transition:transform .22s var(--ease),background .22s var(--ease),opacity .22s var(--ease);border:0;border-radius:4px;justify-content:space-between;align-items:center;margin-top:6px;padding:0 18px;font-weight:650;display:flex}.primaryButton:hover:not(:disabled){background:var(--accent)}.primaryButton:active:not(:disabled){transform:translateY(1px)scale(.99)}.primaryButton:disabled{opacity:.55;cursor:wait}.primaryButton i{font-size:20px;font-style:normal}.securityNote{color:var(--muted);align-items:center;gap:9px;margin:24px 0 0;font-size:11px;line-height:1.5;display:flex}.securityNote i{border:1px solid var(--accent);width:7px;height:7px;box-shadow:inset 0 0 0 2px var(--paper);background:var(--accent);border-radius:50%}.teacherNotice{border-top:1px solid var(--rule);color:var(--muted);margin:18px 0 -8px;padding-top:15px;font-size:11px;line-height:1.55}.dashboardShell{grid-template-columns:260px minmax(0,1fr);min-height:100dvh;display:grid}.dashboardRail{border-right:1px solid var(--rule);background:var(--paper);grid-template-rows:auto 1fr auto;height:100dvh;padding:34px 28px 28px;display:grid;position:sticky;top:0}.dashboardNav{align-content:center;gap:4px;margin:56px -10px 0;display:grid}.dashboardNav a{min-height:48px;color:var(--muted);border-left:2px solid #0000;grid-template-columns:30px 1fr;align-items:center;padding:0 12px;font-size:13px;display:grid}.dashboardNav a span{font:500 9px/1 var(--font-geist-mono),monospace;color:#a5a59e}.dashboardNav a.active{border-color:var(--accent);color:var(--ink);background:var(--accent-soft);font-weight:650}.railAccount{border-top:1px solid var(--rule);grid-template-columns:38px 1fr;align-items:center;gap:11px;padding-top:20px;display:grid}.accountInitial{background:var(--ink);width:38px;height:38px;color:var(--paper);border-radius:50%;place-items:center;font-weight:680;display:grid}.railAccount div{min-width:0;display:grid}.railAccount strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.railAccount small{color:var(--muted);font-size:11px}.railAccountActions{grid-column:1/-1;align-items:center;gap:10px;display:flex}.railAccountActions form{margin:0}.railAccount button{min-height:44px;color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.dashboardMain{min-width:0;padding:clamp(34px,6vw,92px) clamp(26px,6vw,96px) 100px}.dashboardHeader{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;max-width:1280px;margin:0 auto clamp(54px,7vw,96px);display:grid}.dashboardHeader h1{letter-spacing:-.052em;word-break:keep-all;max-width:18ch;margin:15px 0 0;font-size:clamp(1.9rem,3vw,3rem);font-weight:690;line-height:1.02}.createButton{background:var(--accent);min-height:54px;color:var(--on-accent);cursor:pointer;transition:transform .22s var(--ease);border:0;border-radius:4px;align-items:center;gap:26px;padding:0 11px 0 20px;font-weight:650;display:inline-flex}.createButton i{border:1px solid #fbfbf859;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;font-style:normal;display:grid}.createButton:active{transform:translateY(1px)scale(.99)}.roomSection{max-width:1280px;margin:0 auto 94px}.sectionHeading{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:24px;display:grid}.sectionHeading>span{color:var(--accent);font:550 10px/1 var(--font-geist-mono),monospace}.sectionHeading h2{letter-spacing:-.025em;margin:0;font-size:17px}.sectionHeading small{color:var(--muted);font:500 10px/1 var(--font-geist-mono),monospace}.roomList{border-top:2px solid var(--ink)}.roomRow{--row-delay:0s;border-bottom:1px solid var(--rule);min-height:142px;animation:rowReveal .55s var(--ease) var(--row-delay) both;grid-template-columns:34px 118px minmax(230px,1.5fr) minmax(120px,.55fr) auto;align-items:center;gap:clamp(16px,3vw,42px);padding:24px 0;display:grid}@keyframes rowReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.roomModeIndex{color:var(--muted);font:500 11px/1 var(--font-geist-mono),monospace}.roomThumb{aspect-ratio:4/3;background:var(--ink);border-radius:3px;width:118px;position:relative;overflow:hidden}.roomThumb img{object-fit:cover;filter:saturate(.82)contrast(1.03);transition:transform .65s var(--ease),filter .4s var(--ease)}.roomRow:hover .roomThumb img{filter:saturate(.98)contrast(1.03);transform:scale(1.045)}.roomIdentity{min-width:0}.roomIdentity>small{color:var(--accent);font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;display:block}.roomIdentity h3{letter-spacing:-.04em;margin:0 0 7px;font-size:clamp(1.25rem,2.1vw,1.8rem)}.roomIdentity h3,.roomIdentity p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roomIdentity p{color:var(--muted);margin:0;font-size:13px}.roomMeta{grid-template-columns:auto auto auto;justify-content:start;align-items:baseline;gap:4px;display:grid}.roomMeta>span{color:var(--muted);font:550 9px/1 var(--font-geist-mono),monospace;grid-column:1/-1;align-items:center;gap:6px;margin-bottom:7px;display:inline-flex}.statusDot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:softPulse 2.5s ease-in-out infinite;display:block}@keyframes softPulse{0%,to{opacity:.45;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}.roomMeta strong{font:620 23px/1 var(--font-geist-mono),monospace}.roomMeta strong small{color:var(--muted);font-size:12px}.roomMeta em{color:var(--muted);font-size:11px;font-style:normal}.roomEnter{border:1px solid var(--ink);min-width:150px;min-height:46px;color:var(--ink);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);background:0 0;border-radius:3px;justify-content:space-between;align-items:center;gap:22px;padding:0 14px;font-size:12px;font-weight:620;display:inline-flex}.roomEnter:hover{background:var(--ink);color:var(--paper)}.roomEnter:active{transform:translateY(1px)}.roomEnter span{font-size:17px}.roomActions{grid-template-columns:auto auto;align-items:center;gap:7px;display:grid}.roomActions .roomEnter{min-width:118px}.roomEdit{border:1px solid var(--rule);min-height:46px;color:var(--muted);cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);background:0 0;border-radius:3px;padding:0 12px;font-size:11px;font-weight:620}.roomEdit:hover{border-color:var(--ink);color:var(--ink)}.roomEdit:active{transform:translateY(1px)}.dashboardNotice{border-left:3px solid var(--accent);background:var(--accent-soft);max-width:1280px;color:var(--ink);margin:-58px auto 48px;padding:14px 16px;font-size:12px}.roomEmpty{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:160px minmax(0,1fr) auto;align-items:center;gap:30px;padding:42px 0;display:grid}.emptyBoard{aspect-ratio:16/10;background:var(--ink);border-radius:3px;width:160px;position:relative;overflow:hidden}.emptyBoard img{object-fit:cover;filter:saturate(.72)contrast(1.04)}.roomEmpty h3{letter-spacing:-.03em;margin:0 0 8px;font-size:18px}.roomEmpty p{max-width:560px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.roomEmpty button{border:1px solid var(--ink);cursor:pointer;background:0 0;min-height:46px;padding:0 16px;font-size:12px}.quietEmpty{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);color:var(--muted);margin:0;padding:36px 0;font-size:13px}.discoverSection{margin-bottom:130px}.modeManifest{border-top:1px solid var(--rule);grid-template-columns:minmax(260px,.62fr) minmax(520px,1.38fr);align-items:start;gap:clamp(52px,7vw,110px);max-width:1280px;margin:0 auto;padding-top:80px;display:grid}.modeManifestIntro h2{letter-spacing:-.06em;margin:18px 0 0;font-size:clamp(2rem,4vw,4rem);line-height:1.02}.modeManifestRows{gap:34px;display:grid}.modeManifestRow{border-bottom:1px solid var(--rule);grid-template-columns:minmax(260px,1.4fr) minmax(150px,.6fr);align-items:end;gap:22px;padding-bottom:34px;display:grid}.modeVisual{background:var(--ink);grid-template-rows:minmax(0,1fr) 40px;min-width:0;margin:0;display:grid;overflow:hidden}.modeVisualFrame{aspect-ratio:16/9;min-height:0;position:relative;overflow:hidden}.modeVisualFrame img{object-fit:cover;filter:saturate(.78)contrast(1.04);transition:transform .8s var(--ease),filter .5s var(--ease)}.modeManifestRow:hover .modeVisualFrame img{filter:saturate(.96)contrast(1.04);transform:scale(1.035)}.modeVisual figcaption{color:#aaa9a2;font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.1em;align-items:center;padding:0 13px;display:flex}.modeManifestCopy{align-content:end;gap:9px;padding-bottom:40px;display:grid}.modeManifestCopy span{color:var(--accent);font:550 10px/1 var(--font-geist-mono),monospace}.modeManifestCopy strong{letter-spacing:-.035em;font-size:clamp(1.15rem,2vw,1.55rem)}.modeManifestCopy p{color:var(--ink);margin:7px 0 0;font-size:12px}.modeManifestCopy small{color:var(--muted);font-size:11px}.sheetBackdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d1d1b6b;justify-items:end;display:grid;position:fixed;inset:0}.actionSheet{background:var(--paper);width:min(100%,590px);height:100dvh;box-shadow:var(--shadow);animation:sheetIn .45s var(--ease) both;padding:clamp(34px,6vw,76px);position:relative;overflow-y:auto}@keyframes sheetIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.sheetClose{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;display:grid;position:absolute;top:24px;right:24px}.actionSheet form{gap:20px;display:grid}.actionSheet header{margin:30px 0 18px}.actionSheet header h2{letter-spacing:-.06em;margin:16px 0 13px;font-size:clamp(2.2rem,5vw,4rem);line-height:.98}.actionSheet header p:last-child{max-width:440px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.modePicker{border:0;gap:7px;margin:3px 0;padding:0;display:grid}.modePicker legend{margin-bottom:9px}.modePicker button{border:1px solid var(--rule);text-align:left;cursor:pointer;background:0 0;border-radius:4px;grid-template-columns:30px 1fr 18px;align-items:center;gap:8px;min-height:67px;padding:10px 12px;display:grid}.modePicker button b{color:var(--muted);font:500 9px/1 var(--font-geist-mono),monospace}.modePicker button span{gap:4px;display:grid}.modePicker button strong{font-size:13px}.modePicker button small{color:var(--muted);font-size:11px}.modePicker button i{border:1px solid var(--rule);width:14px;height:14px;box-shadow:inset 0 0 0 3px var(--paper);border-radius:50%}.modePicker button.active{border-color:var(--accent);background:var(--accent-soft)}.modePicker button.active i{border-color:var(--accent);background:var(--accent)}.coverUpload{border:1px dashed var(--rule);cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease);border-radius:4px;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:15px;padding:7px;display:grid;position:relative}.coverUpload:focus-within,.coverUpload:hover{border-color:var(--accent);background:var(--accent-soft)}.coverUploadPreview{aspect-ratio:16/9;background:var(--surface-muted);place-items:center;width:150px;display:grid;position:relative;overflow:hidden}.coverUploadPreview img{object-fit:cover}.coverUploadPreview i{color:var(--muted);font:normal 300 27px/1 var(--font-geist-sans),sans-serif}.coverUploadCopy{gap:5px;padding-right:8px;display:grid}.coverUploadCopy strong{font-size:12px}.coverUploadCopy small{color:var(--muted);font-size:10px;line-height:1.45}.coverUpload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.editorField{gap:10px;display:grid}.editorField>div:first-child{gap:4px;display:grid}.editorField>div:first-child strong{font-size:12px}.editorField>div:first-child small{color:var(--muted);font-size:10px}.courseEditor{border:1px solid var(--rule);background:var(--paper);border-radius:4px;overflow:hidden}.courseEditor:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.courseEditorToolbar{border-bottom:1px solid var(--rule);background:var(--surface-toolbar);flex-wrap:wrap;gap:3px;padding:7px;display:flex}.courseEditorToolbar button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:0 9px;font-size:10px}.courseEditorToolbar button:hover{color:var(--ink);background:var(--paper)}.courseEditorToolbar button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.courseEditorSurface{min-height:230px;color:var(--ink);outline:0;padding:18px;font-size:13px;line-height:1.7}.courseEditorSurface>:first-child{margin-top:0}.courseEditorSurface>:last-child{margin-bottom:0}.courseEditorSurface h2{letter-spacing:-.035em;margin:1.2em 0 .55em;font-size:1.45rem;line-height:1.2}.courseEditorSurface h3{margin:1.1em 0 .5em;font-size:1.1rem;line-height:1.3}.courseEditorSurface ol,.courseEditorSurface ul{padding-left:1.4rem}.courseEditorSurface blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1em 0;padding:3px 0 3px 14px}.courseEditorSurface a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.courseEditorSurface p.is-editor-empty:first-child:before{content:"수업 목표, 진행 방식, 준비물 등을 자세히 소개해 주세요.";float:left;height:0;color:var(--placeholder);pointer-events:none}.courseEditorLoading{border:1px solid var(--rule);background:linear-gradient(100deg,var(--surface-muted) 25%,var(--paper) 45%,var(--surface-muted) 65%);min-height:310px;animation:editorShimmer 1.4s var(--ease) infinite;background-size:200% 100%;border-radius:4px}@keyframes editorShimmer{to{background-position:-200% 0}}.formGrid{grid-template-columns:1fr 1.5fr;gap:12px;display:grid}.joinSummary{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:18px 0;display:grid}.joinSummary>span{color:var(--accent);font:550 11px/1 var(--font-geist-mono),monospace}.joinSummary div{gap:4px;display:grid}.joinSummary strong{font-size:13px}.joinSummary small{color:var(--muted);font-size:11px}.editRoomMode{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;padding:17px 0;display:grid}.editRoomMode>span{color:var(--accent);font:550 11px/1 var(--font-geist-mono),monospace}.editRoomMode div{gap:4px;display:grid}.editRoomMode strong{font-size:13px}.editRoomMode small{color:var(--muted);font-size:11px}.adminPage{background:var(--canvas);min-height:100dvh}.adminTopbar{border-bottom:1px solid var(--rule);background:var(--paper);grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;min-height:70px;padding:0 clamp(20px,4vw,60px);display:grid}.adminTopbar>.adminIdentity{justify-items:center;gap:3px;display:grid}.adminTopbar>.adminIdentity span{color:var(--accent);font:600 8px/1 var(--font-geist-mono),monospace;letter-spacing:.12em}.adminTopbar>.adminIdentity strong{font-size:11px}.adminActions{align-items:center;gap:12px;display:flex}.adminActions,.adminTopbar form{justify-self:end}.adminTopbar button{min-height:44px;color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:11px;text-decoration:underline}.adminMain{max-width:1400px;margin:0 auto;padding:clamp(50px,8vw,120px) clamp(20px,6vw,88px) 100px}.adminHero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-bottom:clamp(90px,12vw,160px);display:grid}.adminHero h1{letter-spacing:-.07em;margin:20px 0 0;font-size:clamp(3rem,7vw,7rem);font-weight:710;line-height:.91}.teacherRegistry{width:100%}.teacherTable{border-top:2px solid var(--ink)}.teacherTable article,.teacherTableHead{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) 100px minmax(110px,.7fr);align-items:center;gap:24px;display:grid}.teacherTableHead{border-bottom:1px solid var(--rule);min-height:44px;color:var(--muted);font:550 9px/1 var(--font-geist-mono),monospace;letter-spacing:.06em}.teacherTable article{border-bottom:1px solid var(--rule);min-height:94px;animation:rowReveal .55s var(--ease) var(--row-delay) both}.teacherTable article>div{align-items:center;gap:12px;display:flex}.teacherTable article>div i{background:var(--ink);width:38px;height:38px;color:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:12px;font-style:normal;display:grid}.teacherTable article strong{font-size:13px}.teacherTable article>span,.teacherTable time{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.teacherStatus{align-items:center;gap:7px;color:var(--ink)!important;display:inline-flex!important}.teacherStatus i{background:var(--accent);border-radius:50%;width:7px;height:7px}.adminEmpty{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:48px minmax(0,1fr);gap:18px;padding:44px 0;display:grid}.adminEmpty>span{color:var(--accent);font:550 10px/1 var(--font-geist-mono),monospace}.adminEmpty h3{margin:0 0 8px;font-size:18px}.adminEmpty p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.classroomPage{background:var(--classroom-canvas);grid-template-rows:72px minmax(0,1fr);min-height:100dvh;display:grid}.classroomTopbar{border-bottom:1px solid var(--rule);background:var(--paper);grid-template-columns:260px minmax(0,1fr) auto;align-items:center;gap:22px;padding:0 20px;display:grid}.classroomTitle{align-items:center;gap:14px;min-width:0;display:flex}.classroomTitle span{color:var(--accent);font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase;flex:none}.classroomTitle strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.classroomActions{align-items:center;gap:10px;display:flex}.secureStatus{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:inline-flex}.secureStatus i{background:var(--accent);border-radius:50%;width:7px;height:7px}.classroomActions a,.classroomIntroButton{border:1px solid var(--rule);cursor:pointer;white-space:nowrap;background:0 0;border-radius:3px;place-items:center;min-height:44px;padding:0 13px;font-size:12px;display:grid}.classroomIntroButton{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.classroomIntroButton{border-color:color-mix(in srgb,var(--accent) 46%,var(--rule))}}.classroomIntroButton{color:var(--ink)}.classroomActions a:hover,.classroomIntroButton:hover{border-color:var(--accent)}.classroomGrid{grid-template-columns:clamp(360px,29vw,440px) minmax(0,1fr);padding:10px}.classroomGrid,.classroomSide{gap:10px;min-height:0;display:grid}.classroomSide{grid-template-rows:minmax(300px,1.08fr) minmax(280px,1fr)}.mediaStage,.sideChat,.sideResource,.teacherStage,.workspaceStage{border:1px solid var(--rule);background:var(--paper);border-radius:5px;min-height:0;overflow:hidden}.teacherStage{grid-template-rows:minmax(0,1fr) auto;display:grid}.videoPlaceholder{background:var(--ink);place-items:center;min-height:150px;display:grid;position:relative;overflow:hidden}.videoPlaceholder>img{object-fit:cover;opacity:.72;filter:saturate(.66)contrast(1.08)}.videoPlaceholder>span{z-index:2;width:58px;height:58px;color:var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d1d1b94;border:1px solid #fbfbf880;border-radius:50%;place-items:center;font-size:22px;font-weight:650;display:grid;position:relative}.videoScan{animation:videoScan 5s var(--ease) infinite;background:linear-gradient(#0000,#d65a3817,#0000);position:absolute;inset:0;transform:translateY(-100%)}@keyframes videoScan{0%,55%{transform:translateY(-100%)}to{transform:translateY(100%)}}.teacherCaption{justify-content:space-between;align-items:center;min-height:58px;padding:0 14px;display:flex}.teacherCaption>div{gap:3px;display:grid}.teacherCaption small{color:var(--muted);font:500 9px/1 var(--font-geist-mono),monospace;letter-spacing:.1em}.teacherCaption strong{font-size:13px}.teacherCaption>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.teacherCaption>span i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:softPulse 2.5s ease-in-out infinite}.mediaStage{grid-template-rows:minmax(0,1fr) auto auto auto;position:relative}.mediaStage,.mediaTiles{background:#181917;display:grid}.mediaTiles{min-height:210px;overflow:hidden}.mediaTiles.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mediaJoinCard,.mediaTile{background:#20211f;min-width:0;min-height:210px;position:relative;overflow:hidden}.mediaTile+.mediaTile{border-left:1px solid #fbfbf824}.mediaJoinCard>img,.mediaTile>img{object-fit:cover}.mediaTile video{object-fit:cover;width:100%;height:100%}.mediaTile video.mirrored{transform:scaleX(-1)}.mediaTile.cameraOff:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#1213112e,#121311cc);position:absolute;inset:0}.mediaCameraOffState{z-index:2;color:var(--on-dark);text-align:center;place-content:center;justify-items:center;gap:5px;padding:18px;display:grid;position:absolute;inset:0 0 42px}.mediaCameraOffState small{color:var(--accent);font:650 8px/1 var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase}.mediaCameraOffState strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(1.05rem,2vw,1.35rem);overflow:hidden}.mediaCameraOffState span{color:#bbbcb5;font-size:10px}.mediaTile footer{z-index:2;min-height:42px;color:var(--on-dark);background:linear-gradient(#0000,#0c0d0ce6);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 12px;display:grid;position:absolute;inset:auto 0 0}.mediaTile footer>span{color:var(--accent);font:600 8px/1 var(--font-geist-mono),monospace;letter-spacing:.08em}.mediaTile footer strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.voiceLevelMeter{color:#85877f;width:31px;height:22px;transition:border-color .16s var(--ease),color .16s var(--ease);background:#131412b8;border:1px solid #fbfbf833;border-radius:3px;flex:none;place-items:center;padding:2px 4px;display:inline-grid}.voiceLevelBars{justify-content:center;align-items:end;gap:2px;width:100%;height:17px;display:flex}.voiceLevelBars i{opacity:.34;transform-origin:bottom;width:2px;transition:transform .14s var(--ease),opacity .14s var(--ease),background-color .14s var(--ease);background:currentColor;border-radius:2px 2px 0 0;flex:none;display:block;transform:scaleY(.28)}.voiceLevelBars i:first-child{height:5px}.voiceLevelBars i:nth-child(2){height:8px}.voiceLevelBars i:nth-child(3){height:11px}.voiceLevelBars i:nth-child(4){height:14px}.voiceLevelBars i:nth-child(5){height:17px}.voiceLevelMeter[data-level="1"] .voiceLevelBars i:nth-child(-n+1),.voiceLevelMeter[data-level="2"] .voiceLevelBars i:nth-child(-n+2),.voiceLevelMeter[data-level="3"] .voiceLevelBars i:nth-child(-n+3),.voiceLevelMeter[data-level="4"] .voiceLevelBars i:nth-child(-n+4),.voiceLevelMeter[data-level="5"] .voiceLevelBars i:nth-child(-n+5){background:var(--accent);opacity:1;transform:scaleY(1)}.voiceLevelMeter[data-speaking=true]{border-color:var(--accent)}.voiceLevelMeterCompact{width:27px;height:19px;padding:1px 3px}.voiceLevelMeterCompact .voiceLevelBars{transform-origin:bottom;height:14px;transform:scaleY(.82)}.oneToOneRemoteTiles,.oneToOneRemoteTiles>.mediaJoinCard,.oneToOneRemoteTiles>.mediaTile{height:100%}.oneToOneRemoteTiles>.mediaJoinCard,.oneToOneRemoteTiles>.mediaTile{min-height:240px}.oneToOneWaitingCard>img{object-position:center 38%}.mediaJoinCard>img{opacity:.78;filter:saturate(.78)contrast(1.06)}.mediaJoinCard:after{content:"";background:linear-gradient(#0000 22%,#0f100ec2);position:absolute;inset:0}.mediaJoinCard>div{z-index:2;color:var(--on-dark);gap:5px;display:grid;position:absolute;inset:auto 16px 18px}.mediaJoinCard small,.mediaStagePending small{color:var(--accent);font:600 7px/1 var(--font-geist-mono),monospace;letter-spacing:.1em}.mediaJoinCard strong,.mediaStagePending strong{font-size:13px}.mediaJoinCard span,.mediaStagePending span{color:#c3c3bc;font-size:10px;line-height:1.45}.mediaControls{background:#20211f;border-top:1px solid #fbfbf81f;flex-wrap:wrap;align-items:center;gap:5px;min-height:54px;padding:5px 7px;display:flex}.mediaControls button{color:#d3d3cc;cursor:pointer;background:0 0;border:1px solid #fbfbf833;border-radius:3px;min-height:44px;padding:0 10px;font-size:11px}.mediaControls button.active,.mediaControls button:hover:not(:disabled){border-color:var(--accent);color:var(--on-dark)}.mediaControls button:disabled{cursor:wait;opacity:.6}.mediaControls .mediaJoinButton{border-color:var(--accent);background:var(--accent);color:#fff;flex:1;font-weight:650}.mediaMicControl{background:#18191773;border:1px solid #fbfbf833;border-radius:3px;align-items:center;min-height:44px;padding-right:7px;display:flex}.mediaMicControl.active{border-color:var(--accent)}.mediaControls .mediaMicControl>button{border:0;min-height:42px}.mediaMicControl>.voiceLevelMeter{background:0 0}.avatarPicker{background:#20211f;border-top:1px solid #fbfbf81f;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;max-height:122px;padding:6px;display:grid;overflow-y:auto}.avatarPicker button{color:#adada6;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-items:center;gap:3px;padding:3px;font-size:7px;display:grid}.avatarPicker button.active{border-color:var(--accent);color:var(--on-dark)}.avatarPicker img{object-fit:cover;border-radius:50%;width:34px;height:34px}.mediaError{color:#f4bbb0;background:#2b211e;border-top:1px solid #d65a384d;margin:0;padding:7px 9px;font-size:8px;line-height:1.4}.mediaStage .teacherCaption{background:var(--paper);border-top:1px solid #fbfbf81f;min-height:54px}.mediaStagePending{min-height:150px;display:block}.mediaStagePending>img{object-fit:cover;opacity:.72;filter:saturate(.72)}.mediaStagePending:after{content:"";background:linear-gradient(#0000 25%,#0f100ed1);position:absolute;inset:0}.mediaStagePending>div{z-index:2;color:var(--on-dark);gap:5px;display:grid;position:absolute;inset:auto 16px 18px}.groupMediaStage{grid-template-rows:minmax(0,1fr) auto auto auto auto}.groupTeacherTile{min-height:0;overflow:hidden}.groupTeacherTile .mediaJoinCard,.groupTeacherTile .mediaTile{height:100%}.groupAudioRoster{scrollbar-width:thin;background:#20211f;border-top:1px solid #fbfbf81f;align-items:center;gap:7px;min-height:52px;padding:6px 8px;display:flex;overflow-x:auto}.groupAudioParticipant{min-width:92px;max-width:138px;min-height:38px;color:var(--on-dark);background:#191a18;border:1px solid #fbfbf81c;border-radius:3px;flex:none;grid-template-columns:28px minmax(48px,auto);align-items:center;gap:6px;padding:4px 6px 4px 4px;display:grid}.groupAudioParticipant>img{object-fit:cover;border-radius:50%;width:28px;height:28px}.groupAudioParticipant>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.groupAudioParticipant strong{text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:600;overflow:hidden}.groupAudioRoster small{color:#aaa;font:500 7px/1 var(--font-geist-mono),monospace;white-space:nowrap;margin-left:auto}.broadcastMediaStage{grid-template-rows:minmax(0,1fr) auto auto auto auto}.broadcastUplinkVisual{background:#171816;min-height:150px;position:relative;overflow:hidden}.broadcastUplinkVisual>img{object-fit:cover;opacity:.74;filter:saturate(.68)contrast(1.08)}.broadcastUplinkVisual:after{content:"";background:linear-gradient(#0000 30%,#0e0f0dd6);position:absolute;inset:0}.broadcastUplinkVisual>div{z-index:2;color:var(--on-dark);gap:5px;display:grid;position:absolute;inset:auto 16px 18px}.broadcastUplinkVisual small{color:var(--accent);font:600 7px/1 var(--font-geist-mono),monospace;letter-spacing:.1em}.broadcastUplinkVisual strong{font-size:11px}.broadcastUplinkVisual span{color:#bebeb7;font-size:8px}.sideChat,.sideResource{grid-template-rows:48px minmax(0,1fr);display:grid}.sideChat>header,.sideResource>header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;padding:0 13px;display:flex}.sideChat header span,.sideResource header span{font-size:12px;font-weight:650}.sideChat header small,.sideResource header small{color:var(--muted);font:500 8px/1 var(--font-geist-mono),monospace;letter-spacing:.08em}.resourceEmpty{text-align:center;align-content:center;place-items:center;gap:5px;min-height:0;padding:15px;display:grid}.resourceEmpty i{border:1px solid var(--ink);width:28px;height:34px;margin-bottom:5px;position:relative}.resourceEmpty i:after{content:"";background:var(--accent);width:14px;height:1px;box-shadow:0 6px 0 var(--rule),0 12px 0 var(--rule);position:absolute;top:9px;left:6px}.resourceEmpty p{margin:0;font-size:10px}.resourceEmpty small{color:var(--muted);font-size:9px}.courseIntro{scrollbar-width:thin;min-height:0;padding:15px;font-size:10px;line-height:1.65;overflow-y:auto}.courseIntro>:first-child{margin-top:0}.courseIntro>:last-child{margin-bottom:0}.courseIntro h2{letter-spacing:-.025em;margin:1em 0 .45em;font-size:14px;line-height:1.25}.courseIntro h3{margin:.9em 0 .4em;font-size:12px;line-height:1.3}.courseIntro p{margin:.65em 0}.courseIntro ol,.courseIntro ul{margin:.65em 0;padding-left:1.15rem}.courseIntro blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:.8em 0;padding-left:9px}.courseIntro a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.courseIntroBackdrop{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFade .22s var(--ease) both;background:#0f100eb3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.courseIntroDialog{border:1px solid var(--rule);background:var(--paper);width:min(760px,100%);max-height:min(820px,84dvh);box-shadow:var(--shadow);animation:modalRise .3s var(--ease) both;border-radius:7px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}@keyframes modalRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.courseIntroDialog>header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:18px 22px;display:flex}.courseIntroDialog>header>div{min-width:0}.courseIntroDialog header small{color:var(--accent);font:600 9px/1 var(--font-geist-mono),monospace;letter-spacing:.12em;margin-bottom:7px;display:block}.courseIntroDialog header h2{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.15;overflow:hidden}.courseIntroDialog header button{border:1px solid var(--rule);cursor:pointer;width:44px;height:44px;color:var(--muted);background:0 0;border-radius:50%;flex:none;place-items:center;font-size:22px;display:grid}.courseIntroDialog header button:hover{border-color:var(--accent);color:var(--ink)}.courseIntroModalContent{padding:clamp(24px,5vw,54px);font-size:15px;line-height:1.75}.courseIntroModalContent h2{font-size:clamp(1.35rem,2.5vw,1.8rem)}.courseIntroModalContent h3{font-size:clamp(1.1rem,2vw,1.35rem)}.courseIntroModalEmpty{text-align:center;align-content:center;place-items:center;gap:8px;min-height:320px;padding:40px;display:grid}.courseIntroModalEmpty i{border:1px solid var(--ink);width:42px;height:52px;box-shadow:7px 7px 0 var(--accent-soft);margin-bottom:8px}.courseIntroModalEmpty strong{font-size:15px}.courseIntroModalEmpty span{color:var(--muted);font-size:13px}.sideChat{grid-template-rows:48px minmax(0,1fr) 56px}.chatNotice{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:7px;padding:16px;font-size:12px;display:flex}.chatNotice i{border:1px solid var(--accent);border-radius:50%;width:6px;height:6px}.chatComposer{border-top:1px solid var(--rule);color:var(--placeholder);grid-template-columns:1fr 44px;align-items:center;gap:6px;padding:6px;font-size:12px;display:grid}.chatComposer span{padding-left:9px}.chatComposer button{background:var(--surface-muted);width:44px;height:44px;color:var(--muted);border:0;border-radius:3px}.communicationTabs{align-items:stretch;height:100%;display:flex}.communicationTabs button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:12px;position:relative}.communicationTabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.communicationTabs button.active{color:var(--ink);font-weight:650}.communicationTabs button.active:after{background:var(--accent)}.chatMessages{scrollbar-width:thin;min-height:0;padding:9px 12px 14px;overflow-y:auto}.chatMessages>article{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:9px;padding:9px 0;display:grid}.chatMessages>article.own{direction:rtl}.chatMessages>article>img{object-fit:cover;border-radius:50%;width:32px;height:32px}.chatMessages>article>div{direction:ltr;min-width:0}.chatMessages article header{justify-content:space-between;align-items:center;gap:7px;display:flex}.chatMessages article header strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.chatMessages article header time{color:var(--muted);font:500 9px/1 var(--font-geist-mono),monospace}.chatMessages article p{border:1px solid var(--rule);background:var(--surface-soft);overflow-wrap:anywhere;border-radius:2px 7px 7px;max-width:100%;margin:4px 0 0;padding:8px 9px;font-size:12px;line-height:1.5;display:inline-block}.chatMessages article.own p{background:var(--accent-soft);border-color:#d65a3838;border-radius:7px 2px 7px 7px}.chatComposer input{min-width:0;height:44px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 10px;font-size:12px}.chatComposer input::placeholder{color:var(--placeholder)}.chatComposer button:not(:disabled){background:var(--accent);color:#fff;cursor:pointer}.filePanel{grid-row:2/4;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.filePolicy{border-bottom:1px solid var(--rule);gap:3px;padding:10px 12px;display:grid}.filePolicy strong{font-size:9px}.filePolicy span{color:var(--muted);font-size:7px;line-height:1.4}.fileUploadForm{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:7px;display:grid}.fileUploadForm label{border:1px dashed var(--rule);min-width:0;min-height:34px;color:var(--muted);cursor:pointer;align-items:center;padding:0 8px;font-size:8px;display:flex;position:relative;overflow:hidden}.fileUploadForm label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fileUploadForm input{opacity:0;width:1px;height:1px;position:absolute}.fileUploadForm button{background:var(--ink);color:var(--paper);cursor:pointer;border:0;border-radius:3px;padding:0 8px;font-size:8px}.fileUploadForm button:disabled{cursor:not-allowed;opacity:.45}.communicationError{background:var(--accent-soft);color:var(--error-text);border-bottom:1px solid #d65a3840;margin:0;padding:8px 10px;font-size:10px}.fileList{scrollbar-width:thin;min-height:0;padding:4px 8px 9px;overflow-y:auto}.fileList article{border-bottom:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 2px;display:grid}.fileKind{border:1px solid var(--rule);min-width:28px;min-height:22px;color:var(--muted);border-radius:2px;place-items:center;font-size:7px;display:grid}.fileKind.homework{color:var(--accent);border-color:#d65a3852}.fileList article>div{gap:2px;min-width:0;display:grid}.fileList article strong{font-size:8px}.fileList article small,.fileList article strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fileList article small{color:var(--muted);font-size:7px}.fileActions{align-items:center;gap:2px;display:flex}.fileActions button,.fileList article a{min-height:28px;color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px;font-size:7px}.fileActions button{border:1px solid var(--rule);color:var(--ink)}.fileEmpty{min-height:72px;color:var(--muted);text-align:center;place-items:center;font-size:8px;display:grid}.workspaceStage{grid-template-rows:auto minmax(0,1fr);display:grid}.workspaceTabs{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;min-height:62px;padding:0 12px;display:flex}.workspaceTabs>div{gap:2px;height:100%;display:flex}.workspaceTabs button{min-width:70px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 11px;font-size:12px}.workspaceTabs button.active{border-color:var(--accent);color:var(--ink);font-weight:650}.workspaceTabs>span{color:var(--muted);font:500 9px/1 var(--font-geist-mono),monospace}.workspaceCommands{justify-content:flex-end;align-items:center;gap:5px;height:100%;margin-left:auto;display:flex}.workspaceCommands button{border:1px solid var(--rule);white-space:nowrap;border-radius:3px;min-width:0;min-height:44px;padding:0 11px;font-size:12px;font-weight:620}.workspaceCommands button:hover:not(:disabled){border-color:var(--rule)}.workspaceCommands button.active{border-color:var(--accent);background:var(--accent-soft)}.workspaceCommands button.recording{border-color:var(--accent);color:var(--accent)}.workspaceCommands button.recording:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:5px;animation:softPulse 1.2s ease-in-out infinite;display:inline-block}.workspaceCommands span{color:var(--muted);font:500 8px/1 var(--font-geist-mono),monospace;white-space:nowrap;margin-left:5px}.screenWorkspace{isolation:isolate;background:#171816;min-height:0;position:relative;overflow:hidden}.sharedScreenLayer{z-index:0;background:#171816;place-items:center;display:grid;position:absolute;inset:0 0 70px;overflow:hidden;container-type:size}.sharedScreenFrame{background:#171816;width:min(100cqw,177.778cqh);height:min(100cqh,56.25cqw);position:relative;overflow:hidden}.sharedScreenFrame video{object-fit:contain;width:100%;height:100%}.sharedScreenFrame>img{object-fit:contain}.screenShareEmpty{color:#deded8;text-align:center;justify-items:center;gap:6px;padding:28px;display:grid}.screenShareEmpty i{border:1px solid #fbfbf86b;width:58px;height:38px;margin-bottom:8px;box-shadow:7px 7px #d65a383d}.screenShareEmpty strong{font-size:13px}.screenShareEmpty span{color:#8f918b;font-size:9px}.screenWorkspace>.whiteboardWorkspace{z-index:1;background:0 0;position:absolute;inset:0}.surface-overlay .whiteboardCanvasShell{background:0 0}.surface-overlay .whiteboardCanvasShell:before{display:none}.surface-overlay .whiteboardStatus{color:#d8d8d1;background:#1d1d1b94;border-color:#fbfbf838}.surface-overlay .whiteboardToolbar{background:var(--overlay-toolbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:nowrap;height:70px;overflow:auto hidden}.captureWorkspace .sharedScreenLayer{background:#262724}.materialViewer{background:#e9e7e0;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.materialViewer>img{object-fit:contain;width:100%;height:100%;display:block}.materialViewer .react-pdf__Document,.materialViewer .react-pdf__Page{place-items:center;width:100%;height:100%;display:grid}.materialViewer .react-pdf__Page__canvas{max-width:100%;max-height:100%;box-shadow:0 12px 34px #00000038;width:auto!important;height:auto!important}.materialLoading{z-index:2;color:#5d5e59;text-align:center;background:#e9e7e0;place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.materialLoading i{border:2px solid #1d1d1b2e;border-top:2px solid var(--accent);border-radius:50%;width:22px;height:22px;animation:spin .8s linear infinite}.materialLoading strong{font-size:11px}.materialLoading.error{color:var(--error-text)}.materialPager,.materialWorkspacePager{color:#1d1d1b;min-height:34px;font:600 9px/1 var(--font-geist-mono),monospace;background:#fbfbf8f0;border:1px solid #1d1d1b2e;border-radius:3px;align-items:center;gap:6px;padding:4px 6px;display:inline-flex;box-shadow:0 6px 18px #0000001f}.materialPager{z-index:3;position:absolute;bottom:12px;left:12px}.materialWorkspacePager{z-index:4;position:absolute;top:12px;left:12px}.materialPager button,.materialWorkspacePager button{color:#1d1d1b;cursor:pointer;background:#fff;border:1px solid #1d1d1b29;border-radius:2px;min-width:42px;min-height:28px;padding:0 7px;font-size:9px}.materialPager button:disabled,.materialWorkspacePager button:disabled{cursor:not-allowed;opacity:.38}@keyframes spin{to{transform:rotate(1turn)}}.recordingsWorkspace{background:var(--paper);min-height:0;padding:clamp(22px,4vw,54px);overflow-y:auto}.recordingsWorkspace>header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:18px;display:flex}.recordingsWorkspace>header>div{gap:5px;display:grid}.recordingsWorkspace header small{color:var(--accent);font:600 8px/1 var(--font-geist-mono),monospace;letter-spacing:.1em}.recordingsWorkspace header strong{letter-spacing:-.04em;font-size:clamp(1.5rem,3vw,2.7rem)}.recordingsWorkspace header button{border:1px solid var(--rule);cursor:pointer;background:0 0;min-height:36px;padding:0 10px;font-size:9px}.recordingList article{border-bottom:1px solid var(--rule);grid-template-columns:42px minmax(180px,1fr) minmax(220px,.85fr);align-items:center;gap:18px;padding:18px 0;display:grid}.recordingIndex{color:var(--accent);font:600 9px/1 var(--font-geist-mono),monospace}.recordingList article>div:nth-child(2){gap:5px;display:grid}.recordingList article small{color:var(--muted);font-size:8px}.recordingList article strong{font-size:13px}.recordingList article span{color:var(--muted);font-size:8px}.recordingList video{background:var(--ink);border-radius:3px;width:100%;max-height:140px}.recordingStatus{border:1px solid var(--rule);color:var(--muted);font:normal 600 7px/1 var(--font-geist-mono),monospace;text-transform:uppercase;border-radius:999px;justify-self:end;padding:7px 9px}.recordingStatus.recording{border-color:var(--accent);color:var(--accent)}.recordingStatus.failed{color:#9b4e43}.recordingEmpty{border-bottom:1px solid var(--rule);text-align:center;justify-items:center;gap:7px;padding:70px 20px;display:grid}.recordingEmpty i{border:1px solid var(--ink);width:48px;height:34px;box-shadow:7px 7px 0 var(--accent-soft);margin-bottom:8px}.recordingEmpty strong{font-size:13px}.recordingEmpty span{color:var(--muted);font-size:9px}.broadcastWorkspace{min-height:0;color:var(--on-dark);background:#171816;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);display:grid}.broadcastPlayer{background:#0d0e0c;border-right:1px solid #fbfbf821;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.broadcastPlayer video{object-fit:contain;background:#0d0e0c;width:100%;height:100%}.broadcastStandby{text-align:center;justify-items:center;gap:8px;width:min(500px,78%);display:grid}.broadcastStandby>i{border:1px solid #fbfbf86b;width:88px;height:56px;margin-bottom:18px;position:relative}.broadcastStandby>i:after{content:"";z-index:-1;border:1px solid #d65a3885;position:absolute;inset:7px -9px -9px 7px}.broadcastStandby small{color:var(--accent);font:600 8px/1 var(--font-geist-mono),monospace;letter-spacing:.12em}.broadcastStandby strong{letter-spacing:-.045em;font-size:clamp(1.5rem,3vw,3.3rem)}.broadcastStandby span{color:#8f918b;max-width:420px;font-size:10px;line-height:1.6}.broadcastBadge{color:#999b94;font:600 8px/1 var(--font-geist-mono),monospace;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141513a8;border:1px solid #fbfbf833;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex;position:absolute;top:14px;left:14px}.broadcastBadge i{background:#777871;border-radius:50%;width:6px;height:6px}.broadcastBadge.live{color:#fff;border-color:#d65a38a6}.broadcastBadge.live i{background:var(--accent);animation:softPulse 1.1s ease-in-out infinite}.broadcastManifest{background:#20211f;flex-direction:column;padding:clamp(28px,4vw,60px) clamp(22px,3vw,42px);display:flex}.broadcastManifest>small{color:var(--accent);font:600 8px/1 var(--font-geist-mono),monospace;letter-spacing:.12em}.broadcastManifest h2{letter-spacing:-.055em;word-break:keep-all;margin:22px 0 17px;font-size:clamp(2rem,3.1vw,3.45rem);line-height:.98}.broadcastManifest>p{color:#a7a8a1;margin:0;font-size:10px;line-height:1.7}.broadcastManifest dl{border-top:1px solid #fbfbf82b;gap:0;margin:36px 0 0;display:grid}.broadcastManifest dl div{border-bottom:1px solid #fbfbf81f;justify-content:space-between;gap:14px;padding:13px 0;display:flex}.broadcastManifest dt{color:#777971;font:500 8px/1 var(--font-geist-mono),monospace}.broadcastManifest dd{margin:0;font-size:9px}.broadcastControls{gap:8px;margin-top:auto;padding-top:28px;display:grid}.broadcastControls button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:3px;min-height:48px;font-size:10px;font-weight:650}.broadcastControls button.stop{border:1px solid var(--accent);color:var(--accent);background:0 0}.broadcastControls button:disabled{cursor:not-allowed;opacity:.42}.broadcastControls span{color:#85877f;text-align:center;font-size:8px}.whiteboardWorkspace{background:var(--paper);grid-template-rows:minmax(360px,1fr) auto;min-height:0;display:grid}.whiteboardCanvasArea{background:var(--paper);place-items:center;min-width:0;min-height:360px;display:grid;overflow:hidden;container-type:size}.surface-overlay .whiteboardCanvasArea{background:0 0}.whiteboardCanvasShell{background:var(--board-color);isolation:isolate;width:min(100cqw,177.778cqh);height:min(100cqh,56.25cqw);min-height:0;position:relative;overflow:hidden}.whiteboardCanvasShell:before{content:"";z-index:0;pointer-events:none;opacity:.18;background-image:radial-gradient(circle at 20% 30%,#ffffff24 0 1px,#0000 1.3px),radial-gradient(circle at 70% 60%,#ffffff17 0 1px,#0000 1.2px);background-size:19px 23px,29px 31px;position:absolute;inset:0}.whiteboardWorkspace.board-white .whiteboardCanvasShell:before{opacity:.38;background-image:linear-gradient(#1d1d1b0e 1px,#0000 0),linear-gradient(90deg,#1d1d1b0e 1px,#0000 0);background-size:28px 28px}.whiteboardCanvasShell canvas{z-index:1;touch-action:none;display:block;position:absolute;inset:0}.whiteboardCanvasShell canvas.editable{cursor:crosshair}.whiteboardCanvasShell canvas.readonly{cursor:default;touch-action:pan-y}.whiteboardStatus{z-index:2;color:#d8d8d1;min-height:30px;font:550 8px/1 var(--font-geist-mono),monospace;letter-spacing:.06em;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none;background:#1d1d1b80;border:1px solid #fbfbf838;border-radius:999px;align-items:center;gap:7px;padding:0 10px;display:inline-flex;position:absolute;top:13px;right:13px}.board-white .whiteboardStatus{color:var(--muted);background:#fbfbf8d1;border-color:#1d1d1b21}.whiteboardStatus i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:softPulse 2.5s ease-in-out infinite}.whiteboardStatus span{opacity:.7;border-left:1px solid;padding-left:7px}.whiteboardToolbar{border-top:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;align-items:center;gap:7px;min-height:70px;padding:9px 11px;display:flex}.whiteboardToolbar button{min-height:38px;color:var(--muted);cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);background:0 0;border:1px solid #0000;border-radius:3px;padding:0 10px;font-size:10px}.whiteboardToolbar button:hover:not(:disabled){border-color:var(--rule);color:var(--ink)}.whiteboardToolbar button:active:not(:disabled){transform:translateY(1px)}.whiteboardToolbar button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.whiteboardToolbar button:disabled{cursor:not-allowed;opacity:.42}.boardBackgrounds,.boardHistory,.boardPalette,.boardTools{align-items:center;gap:3px;display:flex}.boardBackgrounds button{align-items:center;gap:6px;padding-inline:8px;display:inline-flex}.boardBackgrounds button i{border:1px solid #1d1d1b3d;border-radius:50%;width:12px;height:12px}.boardToolbarRule{background:var(--rule);width:1px;height:25px;margin:0 2px}.boardPalette{padding:0 4px}.boardPalette button{background:var(--swatch);border-radius:50%;width:29px;min-height:29px;padding:0;box-shadow:inset 0 0 0 1px #1d1d1b29}.boardPalette button:hover:not(:disabled){border-color:var(--ink)}.boardPalette button.active{border-color:var(--paper);box-shadow:0 0 0 2px var(--accent),inset 0 0 0 1px #1d1d1b1f}.boardWidth{color:var(--muted);align-items:center;gap:7px;padding:0 6px;font-size:9px;display:flex}.boardWidth>span{gap:2px;min-width:42px;display:grid}.boardWidth output{color:var(--ink);font:600 8px/1 var(--font-geist-mono),monospace}.boardWidth input{width:74px;accent-color:var(--accent)}.boardHistory{margin-left:auto}.boardHistory button:last-child{border-color:var(--ink);color:var(--ink)}.blackboardPreview{color:#eeeeea;background:#222521;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.blackboardPreview:before{content:"";border:1px solid #eeeeea21;position:absolute;inset:22px}.boardGrain{opacity:.18;background-image:repeating-linear-gradient(18deg,#0000 0 5px,#eeeeea0f 6px 7px);position:absolute;inset:0}.boardContent{z-index:1;width:min(680px,78%);padding:40px 0;position:relative}.boardContent>p{color:#b5b8b1;font:550 9px/1 var(--font-geist-mono),monospace;letter-spacing:.16em;margin:0 0 18px}.boardContent h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,5.2vw,5.8rem);font-weight:620;line-height:1}.chalkRule{background:var(--accent);opacity:.9;width:min(340px,62%);height:6px;margin:23px 0 34px;display:block;transform:rotate(-1deg)}.boardChecklist{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.boardChecklist span{color:#d1d3ce;border-top:1px solid #eeeeea47;gap:10px;padding-top:13px;font-size:11px;display:grid}.boardChecklist i{color:var(--accent);font:normal 500 9px/1 var(--font-geist-mono),monospace}.boardContent>small{color:#8e928a;margin-top:38px;font-size:10px;display:block}.boardToolbar{border-top:1px solid var(--rule);align-items:center;gap:5px;padding:8px 12px;display:flex}.boardToolbar button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:0 10px;font-size:10px;display:inline-flex}.boardToolbar button i{border:1px solid;width:14px;height:14px;display:block;transform:rotate(-28deg)}.boardToolbar .toolHighlighter{border-width:3px 1px}.boardToolbar .toolEraser{border-radius:4px 4px 1px 1px}.toolbarDivider{background:var(--rule);width:1px;height:20px;margin:0 6px}.boardToolbar p{color:var(--muted);font:500 9px/1 var(--font-geist-mono),monospace;margin:0 0 0 auto}@media (max-width:1180px){.classroomGrid{grid-template-columns:320px minmax(0,1fr)}.workspaceTabs{grid-template-columns:1fr;gap:6px;padding-block:7px;display:grid}.workspaceTabs>div:first-child{width:100%;height:44px}.workspaceTabs>div:first-child button{flex:1;min-width:0}.workspaceCommands{width:100%;height:44px;margin-left:0}.workspaceCommands button{flex:1}.workspaceCommands span{display:none}}@media (max-width:980px){.authPage{grid-template-columns:1fr;overflow:visible}.authStory{min-height:72dvh}.authStoryBody{padding:64px 0 34px}.lessonSketch{width:min(390px,55vw)}.authPanel{min-height:100dvh}.dashboardShell{grid-template-columns:86px minmax(0,1fr)}.dashboardRail{padding-inline:16px}.dashboardNav a.active,.dashboardNav a:not(.active),.dashboardRail .brandWord{font-size:0}.dashboardNav a{grid-template-columns:1fr;place-items:center;padding:0}.dashboardNav a span{font-size:10px}.railAccount{grid-template-columns:1fr;justify-items:center}.railAccount div{display:none}.railAccount button{font-size:9px}.roomRow{grid-template-columns:34px 96px minmax(0,1fr) auto}.roomThumb{width:96px}.roomMeta{display:none}.roomEmpty{grid-template-columns:160px 1fr}.roomEmpty button{grid-column:2;justify-self:start}.modeManifest{grid-template-columns:1fr}.classroomTopbar{grid-template-columns:auto minmax(0,1fr) auto}.classroomTopbar .brandWord,.secureStatus{display:none}.classroomGrid{grid-template-columns:300px minmax(0,1fr)}.boardChecklist{grid-template-columns:1fr;gap:8px}.boardChecklist span{grid-template-columns:28px 1fr;gap:3px}.teacherTable article,.teacherTableHead{grid-template-columns:minmax(160px,1fr) minmax(200px,1.2fr) 80px}.teacherTable article time,.teacherTableHead span:last-child{display:none}}@media (max-width:767px){.authStory{min-height:68dvh;padding:24px}.authStoryBody{grid-template-columns:1fr;gap:34px;padding:64px 0 30px}.authStoryBody h1{font-size:clamp(2.7rem,13vw,4.6rem)}.authVisual{grid-template-rows:minmax(0,1fr) 44px}.authVisualFrame{aspect-ratio:4/3;min-height:0}.lessonSketch{grid-template-columns:36px 1fr;width:230px;height:120px;bottom:55px;right:20px}.authFootnote{z-index:2;position:relative}.authPanel{min-height:auto;padding:56px 22px 72px}.authModeSwitch{margin-bottom:52px}.roleSelector{grid-template-columns:1fr}.dashboardShell{display:block}.dashboardRail{border-right:0;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;width:100%;height:70px;padding:0 18px;display:flex;position:static}.dashboardRail .brandWord{font-size:18px;display:inline}.dashboardNav{display:none}.railAccount{border:0;padding:0;display:flex}.railAccount .accountInitial{width:34px;height:34px}.railAccountActions{display:none}.dashboardMain{padding:48px 18px 72px}.dashboardHeader{grid-template-columns:1fr;margin-bottom:76px}.dashboardHeader h1{max-width:16ch;font-size:clamp(1.8rem,7.2vw,2.4rem);line-height:1.04}.createButton{justify-content:space-between;width:100%}.roomSection{margin-bottom:70px}.sectionHeading{grid-template-columns:28px 1fr auto}.roomRow{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:24px 0}.roomThumb{aspect-ratio:16/9;width:min(100%,300px)}.roomIdentity,.roomThumb{grid-column:2}.roomIdentity h3,.roomIdentity p{white-space:normal}.roomIdentity p{line-height:1.5}.roomEnter{min-width:0}.roomActions,.roomEnter{grid-column:2;width:100%}.roomActions{grid-template-columns:1fr 1.35fr}.roomActions .roomEnter{grid-column:auto;min-width:0}.roomEdit{width:100%}.roomEmpty{grid-template-columns:1fr}.emptyBoard{width:min(100%,300px)}.roomEmpty button{grid-column:1}.discoverSection{margin-bottom:90px}.modeManifest{gap:48px;padding-top:56px}.modeManifestRow{grid-template-columns:1fr;gap:18px;padding-bottom:28px}.modeManifestCopy{grid-template-columns:28px 1fr;align-items:center;gap:7px;padding-bottom:0}.modeManifestCopy strong{font-size:1.25rem}.modeManifestCopy p,.modeManifestCopy small{grid-column:2}.actionSheet{width:100%;padding:52px 20px 40px}.actionSheet header h2{font-size:2.8rem}.formGrid{grid-template-columns:1fr}.coverUpload{grid-template-columns:120px minmax(0,1fr)}.coverUploadPreview{width:120px}.classroomPage{display:block}.classroomTopbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;min-height:64px;padding:8px 10px}.classroomTitle span{display:none}.classroomTitle strong{font-size:12px}.classroomActions{gap:4px}.classroomActions a,.classroomIntroButton{padding:0 8px;font-size:10px}.classroomActions .themeToggleInline{grid-template-columns:18px;place-content:center;width:44px;padding:0}.classroomActions .themeToggleInline strong{display:none}.classroomGrid{grid-template-columns:1fr;padding:6px;display:grid}.classroomSide{grid-template-rows:minmax(320px,auto) minmax(360px,46dvh);grid-template-columns:1fr}.mediaJoinCard,.mediaTile,.mediaTiles{min-height:230px}.sideChat{grid-column:auto}.workspaceStage{min-height:680px}.workspaceTabs{grid-template-columns:1fr;gap:7px;padding:8px;display:grid;overflow:visible}.workspaceTabs>div:first-child{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;display:grid}.workspaceTabs>div:first-child button{min-width:0;min-height:44px;padding:0 4px}.workspaceCommands{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;margin:0;display:grid}.workspaceCommands button{white-space:normal;min-width:0;padding:0 5px;font-size:11px}.whiteboardWorkspace{grid-template-rows:minmax(420px,1fr) auto}.whiteboardCanvasArea{min-height:420px}.whiteboardToolbar{align-items:flex-start;padding:8px}.boardBackgrounds{width:100%}.boardBackgrounds button{flex:1;justify-content:center}.boardToolbarRule{display:none}.boardPalette{flex-wrap:wrap}.boardHistory{width:100%;margin-left:0}.boardHistory button{flex:1}.surface-overlay .whiteboardToolbar{scrollbar-width:thin;flex-wrap:nowrap;align-items:center;height:auto;overflow:auto hidden}.surface-overlay .boardHistory,.surface-overlay .boardPalette,.surface-overlay .boardTools,.surface-overlay .boardWidth{flex:none;width:auto}.surface-overlay .boardHistory button,.surface-overlay .boardTools button{white-space:nowrap;flex:none}.surface-overlay .boardPalette{flex-wrap:nowrap}.boardContent{width:82%}.boardContent h1{font-size:clamp(2.3rem,12vw,4rem)}.boardChecklist{grid-template-columns:1fr}.boardToolbar p{display:none}.workspaceTabs{align-items:stretch}.workspaceCommands span{display:none}.broadcastWorkspace{grid-template-rows:minmax(420px,58dvh) auto;grid-template-columns:1fr;overflow-y:auto}.broadcastPlayer{border-bottom:1px solid #fbfbf821;border-right:0;min-height:420px}.broadcastManifest h2{font-size:clamp(2.5rem,13vw,4rem)}.recordingList article{grid-template-columns:32px minmax(0,1fr)}.recordingList video,.recordingStatus{grid-column:2;justify-self:stretch}.adminTopbar{grid-template-columns:1fr auto}.adminTopbar>.adminIdentity{display:none}.adminHero{grid-template-columns:1fr;margin-bottom:78px}.adminHero h1{font-size:clamp(2.9rem,14vw,5rem)}.adminHero .createButton{width:100%}.teacherTableHead{display:none}.teacherTable article{grid-template-columns:1fr auto;gap:8px;padding:18px 0}.teacherTable article>span:not(.teacherStatus){grid-column:1/-1;padding-left:50px}.teacherTable article time{display:none}.courseIntroBackdrop{padding:6px}.courseIntroDialog{width:100%;max-height:92dvh}.courseIntroDialog>header{min-height:76px;padding:14px 16px}.courseIntroDialog header h2{font-size:1.2rem}.courseIntroModalContent{padding:24px 18px 34px;font-size:14px}.themeToggle{right:10px;bottom:max(10px,env(safe-area-inset-bottom));grid-template-columns:18px auto;padding:0 11px}.themeToggle>span{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}