.create-options{position:fixed;z-index:200;top:64px;left:clamp(12px,24vw,380px);width:min(340px,calc(100vw - 24px));padding:12px;background:var(--surface, white);border:1px solid var(--rule, #dfe4ed);border-radius:16px;box-shadow:0 12px 40px #172b4d24}.create-options-label{display:block;padding:5px 10px 10px;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted, #637087)}.create-options button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;border:0;border-radius:10px;background:transparent;color:var(--text, #26334b);text-align:left;font:inherit;cursor:pointer}.create-options button:hover,.create-options button[aria-current=page]{background:#f1f4fc}.create-options button:focus-visible{outline:2px solid var(--cobalt, #315cdb);outline-offset:-2px}.create-options strong,.create-options small{display:block}.create-options strong{font-size:14px}.create-options small{margin-top:4px;font-size:11px;color:var(--muted, #637087)}.create-option-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#e3f6ed;color:#257e5b}.create-option-icon.python{background:#ece6fc;color:#6854b9}@media (max-width: 640px){.create-options{left:12px;top:70px}}:root{--cobalt: #234bc0;--cobalt-ink: #1a3a99;--tint-50: #eef2fc;--tint-100: #dfe6f9;--tint-200: #c3d0f3;--mint: #a0f2d5;--mint-50: #e6faf2;--mint-ink: #0e6e4e;--yellow: #f9c85d;--yellow-50: #fef3d9;--yellow-ink: #6e4600;--red-50: #fde9e9;--red-ink: #a61b1b;--ground: #f7f9fc;--surface: #ffffff;--rule: #e4e9f2;--control: #cfd7e6;--text: #172b4d;--muted: #55657f;--faint: #8592a8;--font: "Inter", system-ui, sans-serif;--font-brand: "Nunito Sans", var(--font);--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .9375rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--sidebar: 248px;--rail: 264px;--bar: 56px;--appbar: 60px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:400 var(--fs-md) / 1.5 var(--font);color:var(--text);background:var(--ground);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--tint-200);color:var(--text)}:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px;border-radius:var(--r-sm)}*{scrollbar-width:thin;scrollbar-color:var(--control) transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.icon{flex:none;display:block}.boot{padding:32px;color:var(--muted)}.wordmark{font:900 1.5rem / 1 var(--font-brand);letter-spacing:-.02em;color:var(--cobalt)}.wordmark b{font-weight:900;color:#12a676}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border:0;border-radius:var(--r-pill);font-weight:600;font-size:var(--fs-md);transition:transform .14s var(--ease-out),background-color .15s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--cobalt);color:#fff}@media (hover: hover) and (pointer: fine){.btn-primary:hover:not(:disabled){background:var(--cobalt-ink)}}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-md);background:transparent;color:var(--muted);transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.icon-btn:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.icon-btn:hover{background:var(--tint-50);color:var(--cobalt-ink)}}.link{border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px}.hint{font-size:var(--fs-sm);color:var(--muted)}.banner{margin:12px 24px 0;padding:10px 14px;border-radius:var(--r-md);font-size:var(--fs-sm)}.banner-error{background:var(--red-50);color:var(--red-ink)}.empty{padding:24px;color:var(--muted)}.login{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);background:var(--surface)}.login-panel{padding:48px clamp(24px,6vw,96px);display:flex;flex-direction:column;gap:14px;max-width:640px}.login-panel h1{margin-top:40px;font:900 2rem / 1.05 var(--font-brand);letter-spacing:-.02em}.login-lede{color:var(--muted);max-width:44ch}.login-art{background:var(--tint-50);display:grid;place-content:center;justify-items:center;gap:24px;padding:48px}.login-art img{width:min(320px,70%);height:auto;border-radius:50%}.login-art p{font:900 1.75rem / 1.1 var(--font-brand);color:var(--cobalt);letter-spacing:-.02em}.login-form{display:grid;gap:14px;margin-top:16px;max-width:380px}.field{display:grid;gap:6px;font-size:var(--fs-sm);font-weight:500}.field input{height:42px;padding:0 12px;font-size:var(--fs-md);border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px var(--tint-100)}.form-error{color:var(--red-ink);font-size:var(--fs-sm)}.demo-note{padding:12px 14px;background:var(--yellow-50);color:var(--yellow-ink);border-radius:var(--r-md);font-size:var(--fs-sm)}.demo-picker{display:grid;gap:18px;margin-top:8px}.demo-picker h2{font-size:var(--fs-sm);font-weight:600;color:var(--muted);margin-bottom:6px}.demo-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px}.demo-people button{width:100%;display:grid;grid-template-columns:28px 1fr;column-gap:10px;align-items:center;padding:8px 10px;border:0;border-radius:var(--r-md);background:transparent;text-align:left;transition:background-color .15s ease,transform .14s var(--ease-out)}.demo-people button:active{transform:scale(.98)}.demo-people button>.avatar{grid-row:span 2}.demo-people span{font-weight:500}.demo-people small{color:var(--muted);font-size:var(--fs-xs)}@media (hover: hover) and (pointer: fine){.demo-people button:hover{background:var(--tint-50)}}.avatar{position:relative;flex:none;display:inline-grid;place-items:center;border-radius:50%;font-weight:600;letter-spacing:.01em;background:var(--tint-100);color:var(--cobalt-ink)}.avatar-teacher{background:var(--yellow-50);color:var(--yellow-ink)}.avatar-alumni{background:var(--mint-50);color:var(--mint-ink)}.avatar .dot{position:absolute;right:-1px;bottom:-1px;width:30%;height:30%;min-width:9px;min-height:9px;border-radius:50%;background:var(--control);box-shadow:0 0 0 2px var(--surface)}.avatar .dot.is-on{background:#1fb57f}.shell{height:100%;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr) var(--rail);grid-template-rows:var(--appbar) var(--bar) minmax(0,1fr);grid-template-areas:"app app app" "side bar bar" "side main rail"}.shell:not(:has(.rail)){grid-template-areas:"app app app" "side bar bar" "side main main"}.shell.is-page,.shell.is-page:not(:has(.rail)){grid-template-columns:minmax(0,1fr);grid-template-rows:var(--appbar) minmax(0,1fr);grid-template-areas:"app" "main"}.appbar{grid-area:app;min-width:0;display:flex;align-items:center;gap:20px;padding:0 20px 0 24px;background:var(--surface);border-bottom:1px solid var(--rule)}.appbar-mark{font-size:1.625rem;flex:none}.appbar-nav{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.appbar-nav ul{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.appbar-nav ul::-webkit-scrollbar{display:none}.appbar-tab{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:0;border-radius:var(--r-md);background:transparent;color:var(--muted);font-size:.9375rem;font-weight:500;white-space:nowrap;transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.appbar-tab .icon{color:var(--faint)}.appbar-tab:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.appbar-tab:hover{background:var(--ground);color:var(--text)}}.appbar-tab.is-active{background:var(--tint-50);color:var(--cobalt-ink);font-weight:600}.appbar-tab.is-active .icon{color:var(--cobalt)}.mochi-orb{flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--tint-50);display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--mint);transition:transform .16s var(--ease-out),box-shadow .16s ease}.mochi-orb img{width:38px;height:38px;border-radius:50%}.mochi-orb:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.mochi-orb:hover{transform:translateY(-1px) rotate(-4deg)}}.mochi-orb.is-open{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--cobalt)}.appbar-me{flex:none;display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--rule)}.appbar-me-name{display:grid;line-height:1.25}.appbar-me-name strong{font-size:.875rem;font-weight:600;white-space:nowrap}.appbar-me-name small{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.sidebar{grid-area:side;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--rule)}.sidebar-head{height:var(--bar);flex:none;align-items:center;justify-content:space-between;padding:0 12px 0 20px;border-bottom:1px solid var(--rule);font-weight:600}.sidebar-scroll{flex:1;overflow-y:auto;padding:8px 10px 16px}.nav-group{padding:18px 10px 6px;font-size:var(--fs-xs);font-weight:600;color:var(--faint)}.nav-item{width:100%;height:36px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:var(--r-md);background:transparent;color:var(--muted);font-size:.875rem;text-align:left;transition:background-color .15s ease,color .15s ease}.nav-item .icon{color:var(--faint)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover: hover) and (pointer: fine){.nav-item:hover{background:var(--ground);color:var(--text)}}.nav-item.is-active{background:var(--tint-50);color:var(--cobalt-ink);font-weight:600}.nav-item.is-active .icon{color:var(--cobalt)}.nav-empty{padding:4px 10px;font-size:var(--fs-sm);color:var(--faint)}.live-tag{padding:2px 8px;border-radius:var(--r-pill);background:var(--mint-50);color:var(--mint-ink);font-size:.6875rem;font-weight:600}.topbar{grid-area:bar;min-width:0;display:flex;align-items:center;gap:16px;padding:0 0 0 28px;background:var(--surface);border-bottom:1px solid var(--rule)}.topbar-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:14px}.topbar-title h1{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.topbar-title p{font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-online{display:flex;align-items:center;gap:6px;padding-right:24px;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.dot-on{width:8px;height:8px;border-radius:50%;background:#1fb57f}.canvas{grid-area:main;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.rail{grid-area:rail;min-height:0;overflow-y:auto;padding:8px 12px 20px;background:var(--surface);border-left:1px solid var(--rule)}.rail-title{padding:16px 8px 6px;font-size:var(--fs-xs);font-weight:600;color:var(--faint)}.member{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-md)}.member-name{flex:1;min-width:0;display:grid;font-size:.875rem;line-height:1.3}.member-name small{font-size:var(--fs-xs);color:var(--muted)}.member .icon-btn{opacity:0;transition:opacity .15s ease,background-color .15s ease}.member:hover .icon-btn,.member .icon-btn:focus-visible{opacity:1}@media (hover: none){.member .icon-btn{opacity:1}}.rail .is-off .member-name{color:var(--muted)}.only-phone,.sidebar-head{display:none}.chat{flex:1;min-height:0;display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;padding:20px 0 12px;display:flex;flex-direction:column}.messages>:first-child{margin-top:auto}.day-break{display:flex;align-items:center;gap:12px;padding:18px 28px 8px;font-size:var(--fs-xs);font-weight:600;color:var(--faint)}.day-break:after{content:"";flex:1;height:1px;background:var(--rule)}.day-break span:first-letter{text-transform:uppercase}.message{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:6px 28px 2px;transition:background-color .12s ease}.message.is-continued{padding-top:1px}.message-gutter{padding-top:2px}.message-time-hover{display:block;font-size:.6875rem;color:var(--faint);opacity:0;text-align:right;padding-top:3px;font-variant-numeric:tabular-nums}.message-meta{display:flex;align-items:baseline;gap:8px;line-height:1.4}.message-meta strong{font-weight:600}.message-meta .author-teacher{color:var(--cobalt-ink)}.message-meta time{font-size:var(--fs-xs);color:var(--faint);font-variant-numeric:tabular-nums}.role-tag{padding:1px 7px;border-radius:var(--r-pill);background:var(--tint-50);color:var(--cobalt-ink);font-size:.6875rem;font-weight:600}.message-text{max-width:72ch;white-space:pre-wrap;overflow-wrap:anywhere}.message-text.muted,.is-deleted .message-text{color:var(--faint);font-style:italic}.flag-note{margin-top:2px;font-size:var(--fs-xs);color:var(--red-ink);font-weight:500}.message-actions{position:absolute;top:-10px;right:24px;display:flex;gap:2px;padding:2px;background:var(--surface);border-radius:var(--r-md);box-shadow:0 2px 8px #172b4d1f;opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .16s var(--ease-out);pointer-events:none}.message:hover,.message:focus-within{background:#234bc009}.message:hover .message-time-hover{opacity:1}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1;transform:none;pointer-events:auto}@media (hover: none){.message-actions{position:static;grid-column:2;opacity:1;transform:none;pointer-events:auto;background:none;box-shadow:none;padding:0}}@starting-style{.message{opacity:0;transform:translateY(6px)}}.message{transition:background-color .12s ease,opacity .22s var(--ease-out),transform .22s var(--ease-out)}.composer{flex:none;display:flex;align-items:flex-end;gap:10px;margin:0 24px 20px;padding:8px 8px 8px 16px;background:var(--surface);border:1px solid var(--control);border-radius:var(--r-lg);transition:border-color .15s ease,box-shadow .15s ease}.composer:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--tint-100)}.composer textarea{flex:1;min-height:40px;max-height:160px;padding:9px 0;border:0;resize:none;outline:none;background:transparent;line-height:1.45;field-sizing:content}.composer textarea::placeholder{color:var(--faint)}.btn-send{height:38px;padding:0 14px}.composer-locked{margin:0 24px 20px;padding:12px 16px;border-radius:var(--r-lg);background:var(--tint-50);color:var(--cobalt-ink);font-size:var(--fs-sm)}.voice{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.voice.has-roll{grid-template-columns:minmax(0,1fr) 340px}.voice.has-roll.roll-min{grid-template-columns:minmax(0,1fr) 64px}.voice:has(>.banner){grid-template-rows:auto minmax(0,1fr)}.voice>.banner{grid-column:1 / -1;align-self:start;margin:12px 24px 0}.lobby{display:grid;place-items:center;padding:32px 24px}.lobby-card{max-width:460px;display:grid;justify-items:center;gap:12px;text-align:center}.lobby-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--tint-50);color:var(--cobalt)}.lobby-mark.is-live{background:var(--mint-50);color:var(--mint-ink)}.lobby-card h2{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em}.lobby-card>p:not(.hint){color:var(--muted)}.lobby-actions{display:flex;gap:10px;margin-top:8px}.shell.is-in-class,.shell.is-in-class:not(:has(.rail)){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"main"}.live{min-height:0;height:100%;padding:14px 20px 18px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:"head" "stage" "people" "hands" "ctrl"}.live.layout-stage{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"head" "stage" "hands" "ctrl"}.live.layout-grid{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"head" "people" "hands" "ctrl"}.live.layout-list{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"head head" "stage people" "hands people" "ctrl ctrl"}.live-head{grid-area:head;display:flex;align-items:center;gap:16px;min-height:44px}.live-title{flex:1;min-width:0}.live-title h1{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.live-title p{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.live-dot{width:8px;height:8px;border-radius:50%;background:#e05252;animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{50%{opacity:.35}}.seg-control{display:inline-flex;gap:2px;padding:3px;border-radius:var(--r-pill);background:var(--tint-50)}.seg-control button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--cobalt-ink);font-size:var(--fs-sm);font-weight:500;transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.seg-control button:active{transform:scale(.96)}.seg-control button.is-on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #172b4d24}@media (hover: hover) and (pointer: fine){.seg-control button:not(.is-on):hover{background:var(--tint-100)}}.stage{grid-area:stage;min-height:0;margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;background:#0f1d36;display:grid;place-items:center}.stage video{width:100%;height:100%;object-fit:contain}.stage:fullscreen{border-radius:0;background:#000}.stage figcaption{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:var(--r-pill);background:#0f1d36bf;color:#fff;font-size:var(--fs-xs)}.stage-full{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r-pill);background:#0f1d36bf;color:#fff;transition:background-color .15s ease,transform .14s var(--ease-out)}.stage-full:active{transform:scale(.94)}@media (hover: hover) and (pointer: fine){.stage-full:hover{background:#0f1d36f2}}.stage-empty{background:var(--tint-50);color:var(--cobalt-ink)}.stage-empty p{max-width:36ch;text-align:center;padding:24px}.hands{grid-area:hands;justify-self:start;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-pill);background:var(--yellow-50);color:var(--yellow-ink);font-size:var(--fs-sm);font-weight:500}.people{grid-area:people;min-height:0}.tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;align-items:center;padding:10px 12px;border-radius:var(--r-lg);background:var(--surface);transition:background-color .2s ease}.tile>.avatar{grid-row:span 2}.tile-name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-role{grid-column:2;font-size:var(--fs-xs);color:var(--muted)}.tile-icons{grid-column:3;grid-row:1 / span 2;display:flex;gap:4px;color:var(--muted)}.tile.has-hand{background:var(--yellow-50)}.tile.has-hand .tile-icons{color:var(--yellow-ink)}.people-featured{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.people-featured .tile{flex:none;width:216px}.people-featured .tile.has-video{height:122px}.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,300px));justify-content:center;align-content:center;gap:12px;overflow-y:auto}.people-grid .tile{aspect-ratio:4 / 3}.people-grid .tile{grid-template-columns:1fr;justify-items:center;align-content:center;row-gap:4px;text-align:center}.people-grid .tile>.avatar{grid-row:auto;margin-bottom:6px}.people-grid .tile-role,.people-grid .tile-icons{grid-column:1;grid-row:auto}.people-grid .tile-name{max-width:100%}.people-list{background:var(--surface);border-radius:var(--r-lg);padding:6px;overflow-y:auto}.people-list .tile{padding:6px 8px;background:transparent}.people-list .tile.has-hand{background:var(--yellow-50)}.tile.has-video{position:relative;overflow:hidden;padding:0;background:#0f1d36;color:#fff}.tile-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.is-mirrored{transform:scaleX(-1)}.tile.has-video .tile-name,.tile.has-video .tile-icons{position:absolute;bottom:8px;z-index:1;padding:2px 8px;border-radius:var(--r-pill);background:#0f1d36b8;color:#fff;font-size:var(--fs-xs)}.tile.has-video .tile-name{left:8px;max-width:calc(100% - 72px)}.tile.has-video .tile-icons{right:8px}.tile.has-video .tile-role{display:none}.tile.has-video.has-hand{box-shadow:inset 0 0 0 3px var(--yellow)}.people-count{padding:8px 8px 6px;font-size:var(--fs-xs);font-weight:600;color:var(--faint)}.controls{grid-area:ctrl;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px}.ctl{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--text);font-weight:500;font-size:.875rem;box-shadow:inset 0 0 0 1px var(--control);transition:background-color .15s ease,color .15s ease,transform .14s var(--ease-out)}.ctl:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.ctl:hover{background:var(--tint-50)}}.ctl.is-on{background:var(--yellow-50);color:var(--yellow-ink);box-shadow:none}.ctl.is-on-quiet{background:var(--tint-50);color:var(--cobalt-ink);box-shadow:none}.ctl-sm{height:38px;padding:0 14px}.ctl.is-off{background:var(--red-50);color:var(--red-ink);box-shadow:none}.ctl-leave{background:var(--text);color:#fff;box-shadow:none}@media (hover: hover) and (pointer: fine){.ctl-leave:hover{background:#0d1a30}}.ctl-end{background:var(--red-ink);color:#fff;box-shadow:none}@media (hover: hover) and (pointer: fine){.ctl-end:hover{background:#861515}}.roll{min-height:0;overflow-y:auto;background:var(--surface);border-left:1px solid var(--rule);display:flex;flex-direction:column}.roll-head{padding:20px 20px 14px;display:grid;gap:4px;border-bottom:1px solid var(--rule)}.roll-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-4px -8px 0 0}.roll-head h2{font-size:1rem;font-weight:600}.roll-mini{align-items:center;padding:10px 0;gap:12px}.roll-mini-btn{display:grid;justify-items:center;gap:6px;width:48px;padding:8px 0;border:0;border-radius:var(--r-md);background:transparent;color:var(--cobalt-ink);transition:background-color .15s ease,transform .14s var(--ease-out)}.roll-mini-btn:active{transform:scale(.96)}@media (hover: hover) and (pointer: fine){.roll-mini-btn:hover{background:var(--tint-50)}}.roll-mini-count{display:grid;justify-items:center;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.roll-mini-count strong{font-size:var(--fs-lg);font-weight:600}.roll-mini-count small{font-size:.6875rem;color:var(--muted)}.roll-mini-missing{display:grid;justify-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--rule);width:40px}.roll-mini-missing .avatar{opacity:.75}.roll-mini-more{font-size:var(--fs-xs);color:var(--muted)}.roll-head p{font-size:var(--fs-sm);color:var(--muted)}.roll-sum{color:var(--text)!important}.roll-sum strong{font-size:var(--fs-xl);font-weight:600;font-variant-numeric:tabular-nums}.t-wait{color:var(--muted)}.roll-bar{display:flex;gap:2px;height:8px;margin-top:8px;border-radius:var(--r-pill);overflow:hidden}.seg{min-width:6px;transition:flex-grow .3s var(--ease-out)}.seg-present{background:#1fb57f}.seg-late{background:var(--yellow)}.seg-excused{background:var(--tint-200)}.seg-absent{background:#e05252}.seg-pending{background:var(--rule)}.roll-list{padding:6px 10px}.roll-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md)}.roll-name{flex:1;min-width:0;display:grid;font-size:.875rem;font-weight:500;line-height:1.3}.roll-name small{font-weight:400;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.status-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:30px;padding:0 26px 0 10px;border:0;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;cursor:pointer;background:var(--chip-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23172b4d' stroke-width='1.6'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 10px center;color:var(--chip-ink)}.roll-foot{padding:12px 20px 20px;margin-top:auto}.st-pending{--chip-bg: #eef0f4;--chip-ink: var(--muted)}.st-present{--chip-bg: var(--mint-50);--chip-ink: var(--mint-ink)}.st-late{--chip-bg: var(--yellow-50);--chip-ink: var(--yellow-ink)}.st-absent{--chip-bg: var(--red-50);--chip-ink: var(--red-ink)}.st-excused{--chip-bg: var(--tint-50);--chip-ink: var(--cobalt-ink)}.pill,.mark{display:inline-block;padding:2px 9px;border-radius:var(--r-pill);background:var(--chip-bg);color:var(--chip-ink);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.attendance{flex:1;overflow-y:auto;padding:28px;display:grid;gap:32px;align-content:start}.att-summary h2,.att-group-head h2{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em}.att-summary p,.att-group-head p{color:var(--muted);margin-top:4px}.att-group{display:grid;gap:14px}.table-wrap{overflow-x:auto;background:var(--surface);border-radius:var(--r-lg)}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--r-lg);font-size:.875rem}.table th,.table td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--rule)}.table thead th{font-size:var(--fs-xs);font-weight:600;color:var(--muted)}.table tbody tr:last-child>*{border-bottom:0}.table tbody th{font-weight:500;white-space:nowrap}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .c{text-align:center;white-space:nowrap}.table thead th:first-letter{text-transform:uppercase}@media (max-width: 1180px){.shell,.shell:not(:has(.rail)){grid-template-columns:var(--sidebar) minmax(0,1fr);grid-template-areas:"app app" "side bar" "side main"}.appbar-me-name,.rail{display:none}.voice.has-roll{grid-template-columns:minmax(0,1fr) 300px}}@media (max-width: 900px){:root{--bar: 52px;--appbar: auto}.shell,.shell:not(:has(.rail)){grid-template-columns:minmax(0,1fr);grid-template-rows:auto var(--bar) minmax(0,1fr);grid-template-areas:"app" "bar" "main"}.shell.is-page,.shell.is-page:not(:has(.rail)){grid-template-rows:auto minmax(0,1fr)}.only-phone{display:inline-grid}.sidebar-head.only-phone{display:flex}.appbar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"mark me" "nav nav";gap:6px 8px;padding:10px 12px 8px}.appbar-mark{grid-area:mark;font-size:1.5rem}.appbar-me{grid-area:me;border:0;padding:0}.appbar-nav{grid-area:nav}.appbar-tab{height:36px;padding:0 12px;font-size:.875rem}.topbar-online{display:none}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:min(320px,86vw);transform:translate(-100%);transition:transform .28s var(--ease-drawer)}.menu-open .sidebar{transform:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;border:0;padding:0;background:#0f1d3659;transition:opacity .28s var(--ease-drawer)}@starting-style{.scrim{opacity:0}}.topbar{padding-left:8px;gap:8px}.topbar-title{display:grid;gap:0}.topbar-title h1{font-size:1rem}.topbar-title p{font-size:var(--fs-xs)}.topbar-scope{display:none}.message,.day-break{padding-left:16px;padding-right:16px}.composer,.composer-locked{margin:0 12px 12px}.btn-send span{display:none}.voice.has-roll{grid-template-columns:minmax(0,1fr);overflow-y:auto}.roll{border-left:0;border-top:1px solid var(--rule);overflow:visible}.live{padding:14px 12px}.live{height:auto;min-height:100%}.stage{min-height:0;aspect-ratio:16 / 10}.live.layout-list{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;grid-template-areas:"head" "stage" "people" "hands" "ctrl"}.live-head{flex-wrap:wrap;gap:8px}.seg-control span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.seg-control button{padding:0 11px}.people-featured .tile{width:168px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.ctl-sm span,.ctl span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ctl{width:48px;padding:0;justify-content:center}.attendance{padding:20px 12px}.login{grid-template-columns:1fr}.login-art{display:none}.login-panel{padding:32px 16px}.login-panel h1{margin-top:24px;font-size:1.875rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:0ms!important}@starting-style{.message{opacity:1;transform:none}}}.page{flex:1;overflow-y:auto;padding:28px 32px 48px;display:grid;gap:24px;align-content:start}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}.page-title h1{font-size:1.5rem;font-weight:600;letter-spacing:-.015em}.page-title p{margin-top:4px;color:var(--muted);max-width:64ch}.group-picker button{font-size:var(--fs-sm)}.page-body{display:grid;gap:24px;align-items:start}.page-body.has-aside{grid-template-columns:minmax(0,1fr) 340px}.page-empty{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center;background:var(--surface);border-radius:var(--r-lg)}.page-empty img{border-radius:50%;margin-bottom:8px}.page-empty h2{font-size:var(--fs-lg);font-weight:600}.page-empty p{color:var(--muted);max-width:44ch}.muted{color:var(--muted)}.btn-quiet{height:36px;padding:0 14px;background:var(--tint-50);color:var(--cobalt-ink);font-size:var(--fs-sm);text-decoration:none}@media (hover: hover) and (pointer: fine){.btn-quiet:hover{background:var(--tint-100)}}.icon-btn-sm{width:24px;height:24px}.icon-btn.is-on{color:var(--cobalt);background:var(--tint-50)}.materials{background:var(--surface);border-radius:var(--r-lg);padding:6px}.material{display:flex;align-items:center;gap:14px;padding:14px 12px;border-radius:var(--r-md)}.material+.material{box-shadow:0 -1px 0 var(--rule)}.material-kind{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md)}.kind-link{background:var(--tint-50);color:var(--cobalt)}.kind-file{background:var(--mint-50);color:var(--mint-ink)}.material-body{flex:1;min-width:0;display:grid;gap:2px}.material-body h2{font-size:1rem;font-weight:600}.material-body p{color:var(--text);font-size:.875rem}.material-body small{color:var(--muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-actions{flex:none;display:flex;align-items:center;gap:6px}.page-aside{position:sticky;top:0}.add-form{display:grid;gap:14px;padding:20px;background:var(--surface);border-radius:var(--r-lg)}.add-form h2{font-size:1rem;font-weight:600}.add-form .seg-control{justify-self:start}.field textarea,.field input[type=file],.inline-form input{font:inherit;font-size:var(--fs-md);border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface)}.field textarea{padding:10px 12px;resize:vertical}.field input[type=file]{padding:8px}.field textarea:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px var(--tint-100)}.inline-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:16px 20px;background:var(--surface);border-radius:var(--r-lg)}.inline-form .field{flex:1 1 260px}.inline-form .field-date{flex:0 0 170px}.inline-form input{height:42px;padding:0 12px}.grades-teacher,.grades-student{display:grid;gap:20px}.grade-matrix th.c{vertical-align:bottom;min-width:120px}.col-title{display:block;color:var(--text);font-size:var(--fs-sm);font-weight:600;white-space:normal}.col-date{display:block;font-weight:400}.grade-matrix .icon-btn-sm{margin-top:4px}.score{width:56px;height:36px;text-align:center;font:inherit;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface);transition:border-color .15s ease,background-color .15s ease}.score:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px var(--tint-100)}.score.is-error{border-color:var(--red-ink);background:var(--red-50)}.score.is-saving{opacity:.6}.score.band-destacado,.pill.band-destacado{background:var(--mint-50);color:var(--mint-ink);border-color:transparent}.score.band-logrado,.pill.band-logrado{background:var(--tint-50);color:var(--cobalt-ink);border-color:transparent}.score.band-aprobado,.pill.band-aprobado{background:#eef0f4;color:var(--text);border-color:transparent}.score.band-proceso,.pill.band-proceso{background:var(--yellow-50);color:var(--yellow-ink);border-color:transparent}.pill.band-destacado,.pill.band-logrado,.pill.band-aprobado,.pill.band-proceso{margin-right:6px}.t-low{color:var(--red-ink);font-weight:600}.grade-summary{display:grid;gap:6px;padding:20px 24px;background:var(--surface);border-radius:var(--r-lg)}.grade-big{font-size:var(--fs-xl);font-weight:600}.grade-big strong{font-size:2.25rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.grade-big span{color:var(--muted);font-weight:500;font-size:1rem}.attendance-body{display:grid;gap:20px}.mochi-panel{position:fixed;z-index:30;top:calc(var(--appbar) + 10px);right:16px;bottom:16px;width:min(400px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--surface);border-radius:16px;box-shadow:0 18px 48px #172b4d38,0 2px 6px #172b4d14;transform-origin:top left;transition:opacity .2s var(--ease-out),transform .24s var(--ease-out)}@starting-style{.mochi-panel{opacity:0;transform:translateY(-8px) scale(.98)}}.mochi-head{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;border-bottom:1px solid var(--rule)}.mochi-head img{border-radius:50%}.mochi-head div{flex:1;min-width:0}.mochi-head h2{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:8px}.mochi-head p{font-size:var(--fs-xs);color:var(--muted)}.exp-tag{padding:1px 8px;border-radius:var(--r-pill);background:var(--yellow-50);color:var(--yellow-ink);font-size:.6875rem;font-weight:600}.mochi-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.mochi-line{max-width:88%;display:grid;gap:4px}.mochi-line p{padding:10px 14px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:.9375rem}.from-mochi{align-self:flex-start}.from-mochi p{background:var(--tint-50);color:var(--text);border-bottom-left-radius:4px}.from-me{align-self:flex-end}.from-me p{background:var(--cobalt);color:#fff;border-bottom-right-radius:4px}.mochi-line small{display:flex;gap:10px;padding-left:6px;font-size:.6875rem;color:var(--faint)}.mochi-line small .link{color:var(--cobalt-ink)}.mochi-line{transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}@starting-style{.mochi-line{opacity:0;transform:translateY(6px)}}.is-thinking p{color:var(--muted);animation:live-pulse 1.4s ease-in-out infinite}.mochi-starters{display:flex;flex-wrap:wrap;gap:6px}.mochi-starters button{padding:7px 12px;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--cobalt-ink);box-shadow:inset 0 0 0 1px var(--tint-200);font-size:var(--fs-sm);text-align:left;transition:background-color .15s ease,transform .14s var(--ease-out)}.mochi-starters button:active{transform:scale(.97)}@media (hover: hover) and (pointer: fine){.mochi-starters button:hover{background:var(--tint-50)}}.mochi-panel>.banner{margin:0 16px 8px}.mochi-compose{display:flex;align-items:flex-end;gap:8px;margin:0 12px;padding:6px;border:1px solid var(--control);border-radius:var(--r-lg)}.mochi-compose:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--tint-100)}.mochi-compose textarea{flex:1;min-height:38px;max-height:140px;padding:8px 4px;border:0;outline:none;resize:none;background:transparent;field-sizing:content}.mic-btn{flex:none;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--tint-50);color:var(--cobalt-ink);transition:background-color .15s ease,transform .14s var(--ease-out)}.mic-btn:active{transform:scale(.94)}.mic-btn.is-listening{background:var(--red-ink);color:#fff;animation:live-pulse 1.2s ease-in-out infinite}.mochi-note{padding:8px 16px 12px;font-size:.6875rem;color:var(--muted)}@media (max-width: 900px){.page{padding:20px 12px 40px}.page-body.has-aside{grid-template-columns:minmax(0,1fr)}.page-aside{position:static;order:-1}.material{flex-wrap:wrap}.material-actions{width:100%;justify-content:flex-end}.mochi-panel{right:0;bottom:0;left:0;width:auto;border-radius:0;top:0}}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}button.appbar-me{border:0;border-left:1px solid var(--rule);background:transparent;text-align:left;cursor:pointer;border-radius:0;height:44px;transition:background-color .15s ease}@media (hover: hover) and (pointer: fine){button.appbar-me:hover{background:var(--ground)}}button.appbar-me.is-active .appbar-me-name strong{color:var(--cobalt-ink)}.appbar-tab{position:relative}.tab-dot{width:8px;height:8px;border-radius:50%;background:#e05252;margin-left:-2px;align-self:flex-start;margin-top:8px}.tab-count{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:#e05252;color:#fff;font-size:.6875rem;font-weight:700;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}.live-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--r-lg);background:var(--mint-50);color:var(--mint-ink)}.live-banner p{flex:1}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.home-main,.home-side{display:grid;gap:24px}.home h2{font-size:1rem;font-weight:600;margin-bottom:12px}.next-classes ul{display:grid;gap:10px}.next-class{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px 20px;background:var(--surface);border-radius:var(--r-lg)}.next-class h3{font-size:1.0625rem;font-weight:600}.next-class p{color:var(--muted);font-size:.875rem}.next-class p:first-letter{text-transform:uppercase}.next-class .countdown{font-size:var(--fs-xl);font-weight:600;color:var(--cobalt-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.next-class.is-live{box-shadow:inset 0 0 0 2px var(--mint)}.next-class.is-live .countdown{color:var(--mint-ink)}.news-list{background:var(--surface);border-radius:var(--r-lg);padding:4px 6px}.news-list li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 10px}.news-list li+li{box-shadow:0 -1px 0 var(--rule)}.news-list p{font-size:.875rem;color:var(--muted)}.news-list time{font-size:var(--fs-xs);color:var(--faint);white-space:nowrap}.news-kind{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-md)}.kind-aviso{background:var(--yellow-50);color:var(--yellow-ink)}.kind-grade{background:var(--mint-50);color:var(--mint-ink)}.link-strong{border:0;background:none;padding:0;font-weight:600;text-align:left;color:var(--text);cursor:pointer}@media (hover: hover) and (pointer: fine){.link-strong:hover{color:var(--cobalt-ink);text-decoration:underline;text-underline-offset:3px}}.mochi-cheer{display:flex;gap:14px;padding:18px;border-radius:var(--r-lg);background:var(--tint-50)}.mochi-cheer img{border-radius:50%;flex:none}.home .mochi-cheer h2{margin-bottom:6px;color:var(--cobalt-ink)}.mochi-cheer ul{display:grid;gap:8px;font-size:.9375rem}.todo{padding:18px;background:var(--surface);border-radius:var(--r-lg)}.todo ul{display:grid;gap:6px;margin-top:8px}.todo-count{margin-bottom:4px}.todo-count strong{font-size:var(--fs-xl);font-weight:600;color:var(--cobalt-ink)}.todo-item{width:100%;display:grid;gap:2px;padding:10px 12px;border:0;border-radius:var(--r-md);background:var(--ground);text-align:left;transition:background-color .15s ease}.todo-item span{font-size:var(--fs-xs);color:var(--muted)}@media (hover: hover) and (pointer: fine){.todo-item:hover{background:var(--tint-50)}}.task-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 20px;background:var(--surface);border-radius:var(--r-lg)}.task-form .field{flex:1 1 220px}.task-form .field-date{flex:0 0 180px}.task-form .task-instructions{flex:1 1 100%}.task-form input,.task-form select,.group-form input,.group-form select,.stack-form input,.stack-form select,.submit-form input:not([type=file]){height:42px;padding:0 12px;font:inherit;font-size:var(--fs-md);border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface)}.task-form input:focus,.task-form select:focus,.group-form input:focus,.group-form select:focus,.stack-form input:focus,.stack-form select:focus,.submit-form input:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px var(--tint-100)}.tasks{display:grid;gap:10px}.task{background:var(--surface);border-radius:var(--r-lg);overflow:hidden}.task-head{width:100%;display:flex;align-items:center;gap:16px;padding:16px 20px;border:0;background:transparent;text-align:left}button.task-head{cursor:pointer;transition:background-color .15s ease}@media (hover: hover) and (pointer: fine){button.task-head:hover{background:var(--ground)}}.task-title{flex:1;min-width:0;display:grid}.task-title strong{font-size:1rem;font-weight:600}.task-title small{color:var(--muted);font-size:var(--fs-xs)}.task-stats{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.task-body{display:grid;gap:14px;padding:0 20px 18px}.task-instr{white-space:pre-wrap;max-width:72ch}.sub-cell{display:grid;gap:2px}.sub-cell a{display:inline-flex;align-items:center;gap:6px;color:var(--cobalt-ink);font-weight:500}.sub-cell small{color:var(--muted);font-size:var(--fs-xs);display:flex;gap:6px;align-items:center}.sub-comment{max-width:28ch;font-size:.875rem}.my-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.my-sub a{color:var(--cobalt-ink);font-weight:500}.my-sub .icon{color:var(--mint-ink)}.submit-form{display:grid;gap:12px;max-width:520px}.submit-form .seg-control{justify-self:start}.form-row{display:flex;align-items:center;gap:14px}.danger-link{justify-self:start;color:var(--red-ink);font-size:var(--fs-sm)}.all-clear{display:flex;align-items:center;gap:8px;padding:14px 18px;border-radius:var(--r-lg);background:var(--mint-50);color:var(--mint-ink);font-weight:500}.reports{display:grid;gap:10px}.report{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;background:var(--surface);border-radius:var(--r-lg)}.report-msg{flex:1;min-width:0;display:grid;gap:8px}.report-meta{font-size:var(--fs-sm);color:var(--muted)}.report-meta strong{color:var(--text)}.report blockquote{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--red-50);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.report-who{font-size:var(--fs-sm);color:var(--muted);display:grid;gap:2px}.report-actions{flex:none;display:grid;gap:8px}.btn-danger{background:var(--red-ink);color:#fff;height:38px;font-size:var(--fs-sm)}@media (hover: hover) and (pointer: fine){.btn-danger:hover{background:#861515}}.resolved{margin-top:18px;color:var(--muted);font-size:var(--fs-sm)}.resolved summary{cursor:pointer;font-weight:600;color:var(--text)}.resolved ul{display:grid;gap:4px;margin-top:8px}.admin-accounts{display:grid;gap:16px}.check{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;cursor:pointer}.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--cobalt);flex:none}.secret{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--r-lg);background:var(--yellow-50);color:var(--yellow-ink)}.secret p{flex:1;color:var(--text)}.secret code{font-size:1.0625rem;font-weight:700;padding:2px 8px;border-radius:var(--r-sm);background:var(--surface);-webkit-user-select:all;user-select:all}.cell-sub{display:block;font-weight:400;font-size:var(--fs-xs);color:var(--muted)}.row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.row-actions .btn-quiet{height:32px}.table select{height:34px;padding:0 8px;border:1px solid var(--control);border-radius:var(--r-md);background:var(--surface);font:inherit;font-size:var(--fs-sm)}tr.is-inactive>*{opacity:.5}tr.is-inactive .row-actions{opacity:1}.groups-admin{display:grid;gap:10px}.group-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--surface);border-radius:var(--r-lg)}.group-row p{font-size:var(--fs-sm);margin-top:2px}.group-form{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;align-items:end}.gate{min-height:100%;display:grid;place-items:center;padding:32px 16px;background:var(--ground)}.gate-card{width:min(440px,100%);display:grid;gap:14px;padding:32px;background:var(--surface);border-radius:16px}.gate-card.is-wide{width:min(980px,100%)}.gate-card h1{font:900 1.75rem / 1.1 var(--font-brand);letter-spacing:-.02em;margin-top:12px}.gate-line{color:var(--muted);max-width:64ch}.gate-out{justify-self:start;color:var(--muted);font-size:var(--fs-sm)}.stack-form{display:grid;gap:14px;align-content:start}.consent{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.policy-box{max-height:520px;overflow-y:auto;padding:18px 20px;border-radius:var(--r-lg);background:var(--ground)}.policy-box:focus-visible{outline-offset:-2px}.policy{display:grid;gap:8px;font-size:.875rem;line-height:1.55}.policy h3{font-size:1rem;font-weight:600}.policy h4{font-size:.875rem;font-weight:600;margin-top:8px}.policy ul{list-style:disc;padding-left:20px;display:grid;gap:4px}.checks{border:0;padding:0;margin:0;display:grid;gap:10px}.checks legend{font-size:var(--fs-sm);font-weight:600;margin-bottom:6px}.check-required{padding:10px 12px;border-radius:var(--r-md);background:var(--tint-50)}.account-head{display:flex;align-items:center;gap:18px}.account-head div{flex:1}.account-head h1{font-size:1.5rem;font-weight:600;letter-spacing:-.015em}.account-head p{color:var(--muted)}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start}.card-plain{display:grid;gap:14px;padding:22px 24px;background:var(--surface);border-radius:var(--r-lg)}.card-plain h2{font-size:1rem;font-weight:600}.perm-list{display:grid;gap:8px}.perm-list li{display:flex;gap:8px;align-items:center}.policy-details summary{cursor:pointer;color:var(--cobalt-ink);font-weight:500;margin-bottom:10px}.tile{position:relative}.tile-mod{position:absolute;top:6px;right:6px;z-index:2;display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.tile:hover .tile-mod,.tile:focus-within .tile-mod{opacity:1}@media (hover: none){.tile-mod{opacity:1}}.tile-mod button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--text);color:#fff;transition:transform .14s var(--ease-out)}.tile-mod button:active{transform:scale(.92)}.room-notice{grid-area:hands;justify-self:start;display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:var(--r-pill);background:var(--tint-50);color:var(--cobalt-ink);font-size:var(--fs-sm)}.ctl:disabled{opacity:.55;cursor:not-allowed}.ctl:disabled:active{transform:none}@media (max-width: 1180px){.home-grid,.consent{grid-template-columns:minmax(0,1fr)}.policy-box{max-height:280px}}@media (max-width: 900px){.next-class{grid-template-columns:minmax(0,1fr) auto}.next-class .btn{grid-column:1 / -1}.report{flex-direction:column}.report-actions{display:flex}.gate-card{padding:24px 18px}button.appbar-me{border-left:0;height:auto}.row-actions{flex-wrap:wrap}}
