.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:var(--tool-visual-soft, #f0eafb);color:var(--tool-visual, #6540b5)}.create-option-icon.python{background:var(--tool-python-soft, #e3f5ec);color:var(--tool-python, #176b4a)}.create-option-icon.create-option-gallery{background:var(--tool-gallery-soft, #fff3d1);color:var(--tool-gallery, #815800)}@media (max-width: 640px){.create-options{left:12px;top:70px}}.mochi-call{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto auto;justify-items:center;gap:12px;padding:28px 20px 18px;background:radial-gradient(120% 80% at 50% 35%,#2c56cf 0%,var(--cobalt) 45%,#172b4d 100%);color:#fff;transition:opacity .22s var(--ease-out),transform .26s var(--ease-out)}@starting-style{.mochi-call{opacity:0;transform:scale(.98)}}.mochi-call-status{margin:0;font-weight:600;font-size:var(--fs-sm);color:#d8e3ff;text-align:center;min-height:1.4em}.mochi-call-orb{position:relative;align-self:center;width:200px;height:200px;border:0;padding:0;background:none;display:grid;place-items:center;cursor:default}.mochi-call-orb.is-hablando{cursor:pointer}.mochi-call-orb img{position:relative;border-radius:50%;background:#fff;box-shadow:0 10px 30px #00000040}.mochi-call-glow{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;background:radial-gradient(circle,#a0f2d5bf,#a0f2d500 70%);transition:transform 90ms linear,opacity .2s ease}.is-pensando .mochi-call-glow{animation:call-think 1.6s ease-in-out infinite;background:radial-gradient(circle,#f9c85dcc,#f9c85d00 70%)}.is-hablando .mochi-call-glow{animation:call-talk .9s ease-in-out infinite}.is-escuchando .mochi-call-glow{animation:call-listen 2.4s ease-in-out infinite}.is-silenciado .mochi-call-glow,.is-en-pausa .mochi-call-glow{opacity:.25}.mochi-call-orb.is-en-pausa{cursor:pointer}@keyframes call-listen{50%{transform:scale(1.1);opacity:.85}}@keyframes call-think{50%{transform:scale(1.18) rotate(8deg);opacity:.7}}@keyframes call-talk{0%,to{transform:scale(1.05)}50%{transform:scale(1.32)}}.mochi-call-caption{margin:0;max-width:32ch;min-height:4.5em;text-align:center;font-size:1.05rem;line-height:1.45;overflow-y:auto;max-height:9em}.mochi-call-caption .from-you{color:#d8e3ff;font-style:italic}.mochi-call-controls{display:flex;gap:22px}.mochi-call-btn{width:60px;height:60px;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffff29;color:#fff;transition:background-color .15s ease,transform .14s var(--ease-out)}.mochi-call-btn:active{transform:scale(.94)}.mochi-call-btn.is-on{background:#fff;color:var(--cobalt)}.mochi-call-btn.is-end{background:#e5484d}@media (hover: hover) and (pointer: fine){.mochi-call-btn:hover{background:#ffffff42}.mochi-call-btn.is-end:hover{background:#d13a40}}.mochi-call-note{margin:0;font-size:.6875rem;color:#b9c8ef;text-align:center;max-width:36ch}.call-btn{flex:none;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--cobalt);color:#fff;transition:transform .14s var(--ease-out),background-color .15s ease}.call-btn:active{transform:scale(.94)}@media (prefers-reduced-motion: reduce){.is-escuchando .mochi-call-glow,.is-pensando .mochi-call-glow,.is-hablando .mochi-call-glow{animation:none}}:root{--tool-python:#176b4a;--tool-python-soft:#e3f5ec;--tool-python-ink:#0f5539;--tool-visual:#6540b5;--tool-visual-soft:#f0eafb;--tool-visual-ink:#50318f;--tool-gallery:#815800;--tool-gallery-soft:#fff3d1;--motion-out:cubic-bezier(.23,1,.32,1)}::selection{background:#c7eadd;color:#12372b}button,input,textarea{caret-color:var(--cobalt)}.btn:active:not(:disabled),.home-tool:active,.gallery-star:active:not(:disabled){transform:scale(.97)}.tool-python{--tool-accent:var(--tool-python);--tool-soft:var(--tool-python-soft)}.tool-visual{--tool-accent:var(--tool-visual);--tool-soft:var(--tool-visual-soft)}.appbar-more,.appbar-more-menu{display:none}.appbar[data-tool=crear] .appbar-tab.is-active{background:var(--tool-visual-soft);color:var(--tool-visual)}.appbar[data-tool=crear] .appbar-tab.is-active .icon{color:var(--tool-visual)}.appbar[data-tool=python] .appbar-tab.is-active{background:var(--tool-python-soft);color:var(--tool-python)}.appbar[data-tool=python] .appbar-tab.is-active .icon{color:var(--tool-python)}.appbar[data-tool=galeria] .appbar-tab.is-active{background:var(--tool-gallery-soft);color:var(--tool-gallery)}.appbar[data-tool=galeria] .appbar-tab.is-active .icon{color:var(--tool-gallery)}.create-options[data-pointer=true]{transform-origin:top left;animation:atiq-popover .17s var(--motion-out)}@keyframes atiq-popover{0%{opacity:.5;transform:translateY(4px) scale(.98)}}.home{max-width:1440px;width:100%;margin:0 auto;gap:22px}.home .page-head{margin-bottom:0}.home .page-title h1{font-size:1.6rem;letter-spacing:-.025em}.home-mission{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:32px;padding:30px 34px 42px;background:#eaf5f0;border-radius:16px}.home .home-mission h2{font:800 1.65rem/1.2 var(--font-brand);letter-spacing:-.025em;margin:0 0 12px}.home-mission p{max-width:62ch;font-size:.95rem;color:#315a4d}.home-mission-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:22px}.home-continue{background:var(--tool-accent);color:#fff;min-height:46px;border-radius:12px;padding:0 18px;gap:10px}.home-continue:disabled{opacity:.6}.home-mission-actions .link-strong{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;min-height:44px}.home-mission .home-resume-label{font-size:.8rem;margin-top:12px}.home-mission .home-resume-error{font-size:.8rem;margin-top:12px;color:#7b3d18}.home-mission-mochi{width:160px;height:160px;object-fit:contain;justify-self:center}.atiq-weave{width:216px;height:24px;flex:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.atiq-weave .weave-visual{stroke:var(--tool-visual)}.atiq-weave .weave-python{stroke:var(--tool-python)}.atiq-weave .weave-gold{stroke:#b17a12;stroke-width:3}.home-mission>.atiq-weave{position:absolute;right:24px;bottom:10px;width:176px;height:20px;opacity:.85}.home-tools{display:flex;gap:16px}.home-tool{display:flex;align-items:center;gap:14px;flex:1;padding:16px 18px;border:1px solid var(--rule);background:var(--surface);border-radius:12px;color:var(--text);text-align:left;cursor:pointer;transition:transform .14s var(--motion-out),background-color .14s ease}.home-tool>.icon:first-child{width:22px;height:22px;color:var(--tool-accent)}.home-tool>span{flex:1;min-width:0}.home-tool strong{display:block;font-size:.95rem;font-weight:650}.home-tool small{display:block;margin-top:3px;font-size:.8rem;color:var(--muted)}.home-tool>.icon:last-child{color:var(--tool-accent)}.home .next-class{gap:16px}.home .next-class .countdown{font-size:1rem}.home .home-grid{grid-template-columns:minmax(0,1fr) 300px}.studio{--cobalt:var(--tool-visual);--cobalt-ink:var(--tool-visual-ink);--tint-50:var(--tool-visual-soft);--tint-100:#dfd2f7}.studio .studio-go{background:var(--tool-visual);color:#fff}.studio .studio-go:hover{background:var(--tool-visual-ink)}.studio .studio-status{display:inline-flex;align-items:center;gap:6px}.studio .studio-status.is-saved{color:var(--tool-python)}.save-confirmation{display:inline-flex;animation:atiq-save .24s var(--motion-out)}@keyframes atiq-save{0%{opacity:.4;transform:translateY(3px) scale(.9)}}.studio.is-focused{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"bar" "code"}.studio.is-focused .studio-side,.studio.is-focused .studio-switch{display:none}.studio.is-focused.show-bloques .studio-code,.studio.is-focused.show-juego .studio-code{display:flex}.studio .studio-characters{border-top:1px solid var(--rule);padding-top:14px}.studio-characters>summary{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:650;cursor:pointer;padding:8px 0;min-height:44px}.studio-characters>summary:after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.studio-characters[open]>summary:after{transform:rotate(225deg)}.studio-characters .studio-sprites{margin-top:10px}.python-lab{--lab-accent:var(--tool-python);--lab-soft:var(--tool-python-soft)}.python-lab .lab-header h1{font-size:2rem;letter-spacing:-.025em}.python-lab .lab-header-actions{align-items:center;flex-wrap:wrap}.python-lab .lab-save-success{display:inline-flex;align-items:center;gap:5px;color:var(--tool-python);font-size:.8rem;animation:atiq-save .24s var(--motion-out)}.python-lab.is-focused .lab-layout{grid-template-columns:minmax(0,1fr)}.python-lab.is-focused .lab-side{display:none}.python-lab .lab-workbench{border-radius:12px}.gallery .gallery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.gallery .gallery-head h1{font-size:1.75rem;letter-spacing:-.025em}.gallery .gallery-head p{max-width:68ch;font-size:.95rem;line-height:1.6}.gallery .gallery-head .atiq-weave{width:160px;height:18px;margin-top:18px;opacity:.7}.gallery .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:22px}.gallery .gallery-card{border-radius:14px;box-shadow:none}.gallery .gallery-cover{aspect-ratio:16/10;background:#edf0f8;min-height:0;overflow:hidden}.gallery .gallery-cover img{position:absolute;top:0;right:0;bottom:0;left:0;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.gallery .gallery-cover>.icon{width:56px;height:56px;color:var(--tool-visual)}.gallery .gallery-play{padding:9px 16px;left:14px;bottom:14px;background:var(--deep,#172b4d);color:#fff;box-shadow:none;min-height:40px}.gallery .gallery-info{padding:18px 18px 0}.gallery .gallery-info h3{font-size:1.1rem;font-weight:750}.gallery .gallery-info p{margin-top:6px}.gallery .gallery-actions{padding:14px 18px 18px;gap:10px}.gallery .gallery-star{min-height:40px;border-color:var(--rule);font-variant-numeric:tabular-nums}.gallery .gallery-star.is-on{color:var(--tool-gallery);background:var(--tool-gallery-soft)}.gallery .gallery-star.is-on .icon{fill:currentColor}.gallery .gallery-star.is-celebrating .icon{animation:atiq-star .32s var(--motion-out)}@keyframes atiq-star{0%{transform:scale(.85) rotate(-12deg)}55%{transform:scale(1.18) rotate(8deg)}to{transform:none}}.gallery .gallery-feedback{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:.875rem;color:var(--tool-gallery)}.gallery-empty{max-width:560px;padding:30px 0;display:grid;justify-items:start;gap:16px}.gallery-empty>.icon{color:var(--tool-gallery)}.gallery-empty h3{margin:0;font-size:1.25rem}.gallery-empty p{color:var(--muted);line-height:1.6}.gallery-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-loading>span{grid-column:1/-1;color:var(--muted);font-size:.875rem}.gallery-loading>div{height:180px;background:#edf0f5;border-radius:12px}@media (hover:hover) and (pointer:fine){.home-tool:hover{background:var(--tool-soft)}.home-continue:hover:not(:disabled){filter:brightness(.95)}}@media (max-width:1100px){.home .home-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.appbar{grid-template-areas:"mark orb me";padding:8px 16px;min-height:60px}.appbar-nav .mobile-bottom-nav{position:fixed;z-index:90;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;gap:4px;margin:0;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--rule)}.appbar-nav .appbar-secondary{display:none}.appbar-nav .appbar-more{display:list-item}.appbar-nav .appbar-tab{height:54px;font-size:.72rem;gap:5px;padding:6px 2px;border-radius:10px}.appbar-nav .appbar-tab-label{overflow:visible;text-overflow:clip}.shell:not(.is-in-class)>.canvas{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.appbar-more-menu{position:fixed;display:grid;z-index:110;bottom:calc(82px + env(safe-area-inset-bottom));right:12px;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 172px);overflow-y:auto;padding:10px;background:var(--surface);border-radius:14px;box-shadow:0 12px 40px #172b4d2e;transform-origin:bottom right}.appbar-more-menu[data-pointer=true]{animation:atiq-popover .17s var(--motion-out)}.appbar-more-menu>button{display:flex;align-items:center;gap:14px;background:transparent;border:0;border-radius:8px;min-height:48px;padding:10px 12px;text-align:left;color:var(--text);font:inherit;font-size:.9rem}.appbar-more-menu>button[aria-current=page]{color:var(--cobalt-ink);background:var(--tint-50)}.more-menu-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px;font-size:.8rem;color:var(--muted)}.appbar-more-menu .tab-dot{margin-left:auto}.create-options[data-pointer=true]{transform-origin:bottom center}}@media (max-width:600px){.home-mission{padding:22px 20px 34px;grid-template-columns:minmax(0,1fr);gap:0}.home .home-mission h2{font-size:1.4rem;max-width:18ch}.home-mission-mochi{position:absolute;right:12px;top:14px;width:70px;height:70px;opacity:.95}.home-mission-copy>h2{padding-right:54px}.home>.page-head{order:0}.home>.home-mission{order:1}.home>.live-banner{order:2}.home>.home-grid{order:3}.home>.home-tools{order:4}.home-mission-actions{align-items:stretch;gap:12px}.home-continue{width:100%;justify-content:center}.home-mission-actions .link-strong{font-size:.8rem}.home-tools{flex-direction:column;gap:10px}.home-tool{padding:14px}.home .next-class{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:10px}.home .next-class h3{font-size:.95rem}.home .next-class .countdown{font-size:.875rem;white-space:normal;text-align:right}.home .next-class>.btn{grid-column:1/-1;width:100%}.gallery .gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery .gallery-head{flex-direction:column;gap:14px}.gallery .gallery-cover{aspect-ratio:16/9}.gallery-loading{grid-template-columns:1fr}.python-lab .lab-header{align-items:flex-start;gap:14px}.python-lab .lab-header-actions{width:100%;gap:8px}.python-lab .lab-header-actions button{min-height:40px}.python-lab .lab-header-actions button:first-child span{display:none}.studio.is-focused{grid-template-rows:auto minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.create-options,.appbar-more-menu,.save-confirmation,.lab-save-success,.gallery .gallery-star.is-celebrating .icon{animation:none!important}.btn,.home-tool,.appbar-tab,.gallery-card{transition:none!important}.btn:active,.home-tool:active,.gallery-star:active{transform:none!important}}:root{--ease-out-strong: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1)}.home .home-mission h1{margin:0 0 14px;font:800 2rem/1.1 var(--font-brand);letter-spacing:-.03em;color:var(--text);text-wrap:balance}.home-mochi-says{display:inline-block;max-width:46ch;margin:0;padding:12px 16px;border-radius:16px 16px 4px;background:var(--surface);color:#2b4a42;font-size:.95rem;line-height:1.5;box-shadow:0 1px 2px #172b4d0f,0 8px 20px -8px #172b4d24;text-wrap:pretty}.home .home-mission{padding-bottom:46px}.home .home-mission>.home-mission-weave{position:absolute;left:0;right:0;bottom:14px;width:100%;height:14px;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}.atiq-weave path{stroke-width:1.4;fill:none}.atiq-weave .weave-gold{stroke:none;fill:#e0a21c}.home-continue>.icon:last-child{transition:transform .2s var(--ease-out-strong)}@media (hover: hover) and (pointer: fine){.home-continue:hover:not(:disabled)>.icon:last-child{transform:translate(3px)}}.nav-indicator{display:none}@media (max-width: 900px){.appbar-nav .mobile-bottom-nav>.nav-indicator{display:block;position:absolute;z-index:0;top:6px;left:10px;height:54px;width:calc((100% - 36px)/5);border-radius:12px;background:var(--tint-50);pointer-events:none;transition:transform .34s var(--ease-drawer),background-color .22s ease,opacity .16s ease}.nav-indicator[data-hidden=true]{opacity:0}.appbar[data-tool=crear] .nav-indicator{background:var(--tool-visual-soft)}.appbar[data-tool=python] .nav-indicator{background:var(--tool-python-soft)}.appbar[data-tool=galeria] .nav-indicator{background:var(--tool-gallery-soft)}.appbar .mobile-bottom-nav .appbar-tab{position:relative;z-index:1;transition:color .2s ease,transform .14s var(--ease-out-strong)}.appbar[data-tool] .mobile-bottom-nav .appbar-tab.is-active,.appbar .mobile-bottom-nav .appbar-tab.is-active{background:transparent}.mochi-panel{transform-origin:top right}}.studio.is-arriving .studio-code,.studio.is-arriving .studio-side{animation:studio-arrive .28s var(--ease-out-strong) both}.studio.is-arriving .studio-side{animation-delay:40ms}@keyframes studio-arrive{0%{opacity:0;transform:translateY(6px);filter:blur(3px)}}.atiq-burst{position:fixed;z-index:1000;width:0;height:0;pointer-events:none}.atiq-burst-diamond,.atiq-burst-knot{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity}.atiq-burst-diamond{width:9px;height:9px;border-radius:2px}.atiq-burst-knot{width:6px;height:6px;border-radius:50%}.gallery .gallery-cover{aspect-ratio:4 / 3}.gallery .gallery-cover img{transition:transform .42s var(--ease-out-strong)}.gallery .gallery-cover img[src^="data:image/jpeg"]{object-fit:cover}.gallery .gallery-play{transition:transform .2s var(--ease-out-strong),background-color .15s ease}@media (hover: hover) and (pointer: fine){.gallery .gallery-cover:hover img{transform:scale(1.035)}.gallery .gallery-cover:hover .gallery-play{transform:translateY(-2px)}}.gallery .gallery-cover:active .gallery-play{transform:scale(.97)}.gallery .gallery-grid>.gallery-card{animation:gallery-card-in .32s var(--ease-out-strong) both}.gallery .gallery-grid>.gallery-card:nth-child(2){animation-delay:40ms}.gallery .gallery-grid>.gallery-card:nth-child(3){animation-delay:80ms}.gallery .gallery-grid>.gallery-card:nth-child(4){animation-delay:.12s}.gallery .gallery-grid>.gallery-card:nth-child(n+5){animation-delay:.16s}@keyframes gallery-card-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}@media (prefers-reduced-motion: reduce){.nav-indicator,.gallery .gallery-cover img,.gallery .gallery-play{transition:none!important}.studio.is-arriving .studio-code,.studio.is-arriving .studio-side{animation:studio-fade .16s ease both}.gallery .gallery-grid>.gallery-card{animation:none}@keyframes studio-fade{0%{opacity:0}}}: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 auto;grid-template-areas:"mark orb me" "nav nav nav";align-items:center;gap:4px 10px;padding:8px 10px 2px}.appbar-mark{grid-area:mark;font-size:1.5rem}.appbar-me{grid-area:me;border:0;padding:0}.appbar-nav{display:contents}.mochi-orb{grid-area:orb;width:38px;height:38px}.mochi-orb img{width:30px;height:30px}.appbar-nav ul{grid-area:nav;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;margin:0 -6px;overflow:visible}.appbar-nav li{min-width:0}.appbar-tab{width:100%;height:50px;padding:4px 1px;flex-direction:column;justify-content:center;gap:3px;font-size:.6875rem;font-weight:600;line-height:1.1}.appbar-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar-tab-caret{display:none}.appbar-tab .icon{width:20px;height:20px;flex:none}.appbar-tab .tab-count,.appbar-tab .tab-dot{position:absolute;top:4px;right:calc(50% - 18px);margin:0}.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;grid-template-columns:minmax(0,1fr)}.page>*{min-width:0}.grade-summary,.table-wrap{overflow-x:auto}.page .table{display:block;max-width:100%;overflow-x:auto}.grade-summary{padding:16px}.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}}.courses-admin{display:grid;gap:14px}.course-free{margin-left:8px;background:var(--mint-50);color:var(--mint-ink);font-size:var(--fs-xs);font-weight:700}.course-form{max-width:560px}
