.hypsen-logo{display:inline-flex;align-items:center;gap:.55rem;color:var(--hypsen-accent, #89a9f5)}.hypsen-logo-mark{flex-shrink:0;color:var(--hypsen-accent, #89a9f5)}.hypsen-logo-word{font-family:Outfit,system-ui,sans-serif;font-size:var(--logo-word-size, 1.55rem);font-weight:500;letter-spacing:.02em;color:var(--hypsen-text, #ffffff);line-height:1}.hypsen-logo-ai{font-size:var(--logo-ai-size, .68rem);color:var(--hypsen-accent, #89a9f5);vertical-align:super;margin-left:.05em}.lang-switcher{position:fixed;top:1rem;right:1rem;z-index:200;display:flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:999px;background:#161922b8;border:1px solid rgba(137,169,245,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lang-switcher-btn{border:none;background:transparent;color:var(--hypsen-text-dim);font-size:.72rem;font-weight:600;letter-spacing:.04em;cursor:pointer;padding:.15rem .25rem;font-family:var(--hypsen-font-sans)}.lang-switcher-btn:hover{color:var(--hypsen-text-muted)}.lang-switcher-btn--active{color:var(--hypsen-accent)}.lang-switcher-sep{color:var(--hypsen-text-dim);font-size:.65rem;opacity:.6}.academy-login{min-height:100vh;position:relative;overflow:hidden;background:var(--hypsen-bg);color:var(--hypsen-text)}.academy-login-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.academy-login-mesh{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 25%,rgba(137,169,245,.12) 0%,transparent 42%),radial-gradient(circle at 85% 15%,rgba(137,169,245,.06) 0%,transparent 38%),radial-gradient(circle at 55% 85%,rgba(137,169,245,.05) 0%,transparent 45%)}.academy-login-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;animation:float 14s ease-in-out infinite}.academy-login-orb--1{width:400px;height:400px;background:#89a9f5;top:-100px;left:-60px}.academy-login-orb--2{width:280px;height:280px;background:#6b8fd4;bottom:-40px;right:8%;animation-delay:-5s}.academy-login-orb--3{width:180px;height:180px;background:#a8c0f8;top:45%;right:-30px;animation-delay:-9s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(16px,-12px) scale(1.04)}}.academy-login-layout{position:relative;z-index:2;min-height:100vh;display:flex;justify-content:space-between}.academy-login-hero{flex:1;display:flex;align-items:center;padding:4rem 4rem 4rem 5rem;position:relative}.academy-login-hero-inner{max-width:560px;position:relative;z-index:3}.academy-hero-logo-container{margin-bottom:1.75rem;filter:drop-shadow(0 4px 20px rgba(0,0,0,.6))}.academy-login-hero-inner .hypsen-logo{margin-bottom:0}.academy-login-eyebrow{font-family:var(--hypsen-font-sans);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--hypsen-accent);margin:0 0 1rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.7)}.academy-login-hero h1{font-family:var(--hypsen-font-display);font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1.12;margin:0 0 1.25rem;font-weight:700;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.85)}.academy-login-hero h1 span{color:#a8c0f8;text-shadow:0 4px 24px rgba(0,0,0,.85)}.academy-login-lead{color:#ffffffe6;font-size:1.1rem;line-height:1.65;margin:0;font-weight:450;text-shadow:0 2px 16px rgba(0,0,0,.85)}@media(max-width:960px){.academy-login-hero{display:none}}.academy-hero-slideshow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.academy-hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out}.academy-hero-slide.active{opacity:1}.academy-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0c0e16a6,#0c0e1659 45%,#0c0e1699);z-index:1;pointer-events:none}.academy-login-panel{width:100%;max-width:500px;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2.5rem;background:#0c0e1673;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border-left:1px solid rgba(255,255,255,.12);box-shadow:-24px 0 80px #00000080;position:relative;z-index:2}@media(max-width:960px){.academy-login-panel{max-width:100%;border-left:none;background:#0c0e16bf}}.academy-login-card{width:100%;max-width:400px;padding:2.5rem 2.25rem;border-radius:20px;background:#161926a6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(137,169,245,.2);box-shadow:0 24px 60px #00000073,0 0 30px #89a9f514}.academy-login-card-head h2{font-family:var(--hypsen-font-display);font-size:1.75rem;font-weight:600;margin:0 0 .35rem;color:var(--hypsen-text)}.academy-login-card-head p,.academy-login-welcome{color:var(--hypsen-text-muted);font-size:.9rem;margin:0 0 .25rem}.academy-login-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.15rem}.academy-field{display:flex;flex-direction:column;gap:.4rem}.academy-field>span{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--hypsen-text-muted)}.academy-field input{width:100%;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg);color:var(--hypsen-text);font-size:.95rem;font-family:var(--hypsen-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.academy-field input:focus{border-color:var(--hypsen-accent-border);box-shadow:0 0 0 3px var(--hypsen-accent-soft)}.academy-field input:disabled{opacity:.55}.academy-password-wrap{position:relative}.academy-password-wrap input{padding-right:2.75rem}.academy-toggle-pw{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--hypsen-text-dim);cursor:pointer;font-size:1rem}.academy-login-alert{padding:.75rem .9rem;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.28);color:#f0a0a0;font-size:.88rem}.academy-submit{margin-top:.5rem;padding:.9rem 1rem;border:none;border-radius:10px;background:var(--hypsen-accent);color:var(--hypsen-bg);font-family:var(--hypsen-font-sans);font-weight:600;font-size:.95rem;cursor:pointer;transition:opacity .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;min-height:48px}.academy-submit:hover:not(:disabled){box-shadow:0 8px 28px #89a9f559}.academy-submit:disabled{opacity:.5;cursor:not-allowed}.academy-submit-spinner{width:22px;height:22px;border:2px solid rgba(18,20,29,.2);border-top-color:var(--hypsen-bg);border-radius:50%;animation:spin .7s linear infinite}.academy-login-foot{margin:1.5rem 0 0;text-align:center;font-size:.82rem;color:var(--hypsen-text-dim)}.academy-login-foot a{color:var(--hypsen-accent);text-decoration:none}.academy-login-foot a:hover{text-decoration:underline}.academy-tenant-picker{margin-top:1.5rem;display:flex;flex-direction:column;gap:.65rem}.academy-tenant-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.9rem 1rem;border-radius:10px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg);color:var(--hypsen-text);cursor:pointer;text-align:left;font-family:var(--hypsen-font-sans);transition:border-color .15s,background .15s}.academy-tenant-option:hover:not(:disabled){border-color:var(--hypsen-accent-border);background:var(--hypsen-accent-soft)}.academy-tenant-option strong{font-weight:600;font-size:.95rem}.academy-tenant-option span{font-size:.78rem;color:var(--hypsen-text-dim)}.academy-tenant-option:disabled{opacity:.55;cursor:not-allowed}.academy-tenant-back{margin-top:.5rem;background:none;border:none;color:var(--hypsen-text-muted);font-size:.85rem;cursor:pointer;padding:.35rem 0;font-family:var(--hypsen-font-sans)}.academy-tenant-back:hover{color:var(--hypsen-accent)}.tl-page{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--lp-bg, #0b1026);color:var(--lp-text, #f8fafc);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.tl-slider{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.tl-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.2s ease;overflow:hidden}.tl-slide.is-active{opacity:1;z-index:1}.tl-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.tl-slide.is-active img{animation:tlKenBurns 7s ease-out both}@keyframes tlKenBurns{0%{transform:scale(1.12) translate(1.5%)}to{transform:scale(1)}}.tl-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:var(--lp-gradient, linear-gradient(135deg, rgba(11, 16, 38, .85), rgba(76, 29, 149, .55))),linear-gradient(180deg,#00000059,#0000008c 55%,#000000b8)}.tl-layout{position:relative;z-index:3;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.25rem,4vw,3.5rem);max-width:1200px;margin:0 auto}.tl-brand{display:flex;flex-direction:column;gap:1.25rem;max-width:34rem}.tl-brand-logo{display:inline-flex;align-items:center;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}.tl-brand-logo img{max-height:96px;width:auto;max-width:min(100%,320px);object-fit:contain}.tl-slogan{margin:0;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lp-accent-2, #38bdf8);text-shadow:0 2px 16px rgba(0,0,0,.35)}.tl-display-name{margin:0;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;text-shadow:0 8px 32px rgba(0,0,0,.45)}.tl-glass-card{width:min(100%,420px);justify-self:end;background:var(--lp-glass-bg, rgba(255, 255, 255, .08));backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--lp-glass-border, rgba(255, 255, 255, .18));border-radius:24px;box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff26;padding:clamp(1.5rem,3vw,2rem)}.tl-title{margin:0 0 .5rem;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}.tl-subtitle{margin:0 0 1.5rem;color:var(--lp-muted, rgba(248, 250, 252, .72));font-size:.98rem;line-height:1.45}.tl-form{display:flex;flex-direction:column;gap:.9rem}.tl-field{display:flex;flex-direction:column;gap:.35rem}.tl-field label{font-size:.8rem;font-weight:600;color:var(--lp-muted, rgba(248, 250, 252, .72))}.tl-field input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#00000047;color:var(--lp-text, #f8fafc);padding:.8rem .95rem;font-size:.95rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.tl-field input:focus{border-color:var(--lp-accent, #7c5cff);box-shadow:0 0 0 3px color-mix(in srgb,var(--lp-accent, #7c5cff) 35%,transparent)}.tl-password-row{display:flex;gap:.5rem;align-items:stretch}.tl-password-row input{flex:1}.tl-toggle-pw{border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--lp-text, #f8fafc);border-radius:12px;padding:0 .85rem;font-size:.8rem;font-weight:600;cursor:pointer}.tl-error{margin:0;padding:.7rem .85rem;border-radius:12px;background:#ef44442e;border:1px solid rgba(252,165,165,.35);color:#fecaca;font-size:.88rem}.tl-submit{margin-top:.35rem;border:none;border-radius:14px;padding:.9rem 1rem;font-size:1rem;font-weight:700;cursor:pointer;color:var(--lp-btn-text, #ffffff);background:var(--lp-btn-bg, linear-gradient(135deg, #7c5cff, #38bdf8));box-shadow:0 10px 28px #00000047;transition:transform .15s ease,filter .15s ease}.tl-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.tl-submit:disabled{opacity:.65;cursor:wait}.tl-loading,.tl-fallback{min-height:100vh;display:grid;place-items:center;background:#0b1026;color:#f8fafc;font-weight:600}.tl-page--ready{animation:tlReveal .55s ease both}@keyframes tlReveal{0%{opacity:0}to{opacity:1}}.tl-preloader{position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;overflow:hidden;background:var(--lp-bg, #0b1026)}.tl-preloader-aurora{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--lp-accent, #7c5cff) 45%,transparent),transparent 42%),radial-gradient(circle at 70% 55%,color-mix(in srgb,var(--lp-accent-2, #38bdf8) 40%,transparent),transparent 45%),radial-gradient(circle at 50% 80%,rgba(255,255,255,.06),transparent 50%);animation:tlAuroraDrift 6s ease-in-out infinite alternate;filter:blur(8px)}.tl-preloader-core{position:relative;width:120px;height:120px;z-index:1}.tl-preloader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent}.tl-preloader-ring--a{border-top-color:var(--lp-accent, #7c5cff);border-right-color:color-mix(in srgb,var(--lp-accent, #7c5cff) 35%,transparent);animation:tlSpin 1.1s linear infinite}.tl-preloader-ring--b{top:12px;right:12px;bottom:12px;left:12px;border-bottom-color:var(--lp-accent-2, #38bdf8);border-left-color:color-mix(in srgb,var(--lp-accent-2, #38bdf8) 35%,transparent);animation:tlSpin 1.6s linear infinite reverse}.tl-preloader-ring--c{top:26px;right:26px;bottom:26px;left:26px;border:1px solid color-mix(in srgb,var(--lp-text, #fff) 18%,transparent);animation:tlPulseRing 1.8s ease-in-out infinite}.tl-preloader-orb{position:absolute;top:38px;right:38px;bottom:38px;left:38px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.85),transparent 40%),linear-gradient(145deg,var(--lp-accent, #7c5cff),var(--lp-accent-2, #38bdf8));box-shadow:0 0 28px color-mix(in srgb,var(--lp-accent, #7c5cff) 55%,transparent),0 0 60px color-mix(in srgb,var(--lp-accent-2, #38bdf8) 35%,transparent);animation:tlOrbPulse 1.4s ease-in-out infinite}.tl-preloader-bars{position:absolute;bottom:max(2.5rem,8vh);display:flex;gap:6px;align-items:flex-end;height:28px;z-index:1}.tl-preloader-bars span{width:4px;border-radius:999px;background:linear-gradient(180deg,var(--lp-accent-2, #38bdf8),var(--lp-accent, #7c5cff));animation:tlBar .9s ease-in-out infinite}.tl-preloader-bars span:nth-child(1){height:10px;animation-delay:0s}.tl-preloader-bars span:nth-child(2){height:18px;animation-delay:.1s}.tl-preloader-bars span:nth-child(3){height:26px;animation-delay:.2s}.tl-preloader-bars span:nth-child(4){height:16px;animation-delay:.3s}.tl-preloader-bars span:nth-child(5){height:12px;animation-delay:.4s}@keyframes tlSpin{to{transform:rotate(360deg)}}@keyframes tlPulseRing{0%,to{opacity:.35;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes tlOrbPulse{0%,to{transform:scale(.92);filter:brightness(.95)}50%{transform:scale(1);filter:brightness(1.12)}}@keyframes tlBar{0%,to{transform:scaleY(.45);opacity:.55}50%{transform:scaleY(1);opacity:1}}@keyframes tlAuroraDrift{0%{transform:translate(-2%,-1%) scale(1)}to{transform:translate(2%,2%) scale(1.06)}}@media(prefers-reduced-motion:reduce){.tl-preloader-ring,.tl-preloader-orb,.tl-preloader-bars span,.tl-preloader-aurora,.tl-page--ready{animation:none!important}}.tl-dots{display:flex;gap:.45rem;justify-content:center;margin-top:1.25rem}.tl-dot{width:7px;height:7px;border-radius:999px;background:#ffffff59;transition:width .2s ease,background .2s ease}.tl-dot.is-active{width:22px;background:var(--lp-accent, #7c5cff)}@media(max-width:900px){.tl-layout{grid-template-columns:1fr;align-content:center;padding-top:4.5rem;padding-bottom:2rem}.tl-brand{text-align:center;align-items:center;max-width:none}.tl-glass-card{justify-self:center;width:min(100%,440px)}}@media(prefers-reduced-motion:reduce){.tl-slide,.tl-slide img{animation:none!important;transition:none!important}.tl-slide.is-active img{transform:none}}.academy-shell{min-height:100vh;background:var(--hypsen-bg);color:var(--hypsen-text);font-family:var(--hypsen-font-sans)}.academy-header{display:flex;align-items:center;gap:1.5rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--hypsen-border);background:var(--hypsen-header-bg, rgba(18, 20, 29, .95));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.academy-header-brand{display:flex;align-items:center;gap:1rem;min-width:220px}.academy-header-tenant strong{display:block;font-family:var(--hypsen-font-display);font-size:.95rem;font-weight:500;color:var(--hypsen-text)}.academy-header-tenant small{color:var(--hypsen-text-dim);font-size:.72rem}.academy-nav{display:flex;gap:.35rem;flex:1}.academy-nav-link{padding:.45rem .85rem;border-radius:999px;font-size:.85rem;color:var(--hypsen-text-muted);text-decoration:none}.academy-nav-link--active{background:var(--hypsen-accent-soft);color:var(--hypsen-accent)}.academy-nav-link--soon{opacity:.4;cursor:default}.academy-header-user{display:flex;align-items:center;gap:.75rem}.academy-user-meta{display:flex;flex-direction:column;align-items:flex-end;font-size:.82rem;color:var(--hypsen-text-muted)}.academy-badge{font-style:normal;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--hypsen-accent)}.academy-btn-ghost{background:transparent;border:1px solid var(--hypsen-border);color:var(--hypsen-text-muted);padding:.4rem .85rem;border-radius:8px;cursor:pointer;font-size:.82rem;font-family:var(--hypsen-font-sans)}.academy-btn-ghost:hover{border-color:var(--hypsen-accent-border);color:var(--hypsen-accent)}.academy-main{padding:2rem 1.5rem 3rem;max-width:1400px;margin:0 auto}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--hypsen-bg);color:var(--hypsen-text-muted)}.app-spinner{width:40px;height:40px;border:3px solid var(--hypsen-accent-soft);border-top-color:var(--hypsen-accent);border-radius:50%;animation:spin .7s linear infinite}.academy-burger,.academy-menu-backdrop,.academy-menu-panel{display:none}@media(max-width:768px){.academy-shell{--academy-mobile-header-h: calc(42px + 1.1rem + env(safe-area-inset-top, 0px)) }.academy-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;padding-top:max(.55rem,env(safe-area-inset-top));z-index:60}.academy-header-brand{min-width:0;gap:.5rem;flex:0 1 auto}.academy-header-tenant,.academy-nav{display:none}.academy-header-user{gap:.2rem!important;flex-shrink:0}.academy-user-meta{display:none!important}.academy-btn-ghost{padding:.32rem .5rem;font-size:.7rem}.academy-main{padding:1rem .85rem calc(1.25rem + env(safe-area-inset-bottom));width:100%;max-width:none;margin:0;box-sizing:border-box;overflow-x:hidden}.academy-burger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;padding:0;border:1px solid var(--hypsen-border);border-radius:12px;background:#ffffff0a;cursor:pointer;flex-shrink:0;transition:background .2s ease,border-color .2s ease,transform .2s ease}.academy-burger:active{transform:scale(.96)}.academy-burger-line{display:block;width:18px;height:2px;border-radius:2px;background:var(--hypsen-text);transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease,width .25s ease;transform-origin:center}.academy-burger--open{border-color:color-mix(in srgb,var(--hypsen-accent) 50%,transparent);background:var(--hypsen-accent-soft)}.academy-burger--open .academy-burger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.academy-burger--open .academy-burger-line:nth-child(2){opacity:0;width:0}.academy-burger--open .academy-burger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.academy-menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0608108c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .32s ease}.academy-menu-backdrop--open{opacity:1;pointer-events:auto}.academy-menu-panel{display:flex;flex-direction:column;position:fixed;top:var(--academy-mobile-header-h, 3.75rem);left:0;right:0;z-index:55;max-height:min(calc(100vh - var(--academy-mobile-header-h, 3.75rem) - .75rem),620px);padding:.85rem .9rem;border-radius:0 0 24px 24px;background:linear-gradient(175deg,#121521f7,#0d0f19fa,#0a0c14fc);border-bottom:1px solid color-mix(in srgb,var(--hypsen-accent) 40%,rgba(255,255,255,.12));box-shadow:0 32px 64px #000000a6,0 1px #ffffff14 inset;transform:translateY(calc(-100% - 24px));opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .25s ease;will-change:transform,opacity}.academy-menu-panel--open{transform:translateY(0);opacity:1;pointer-events:auto}.academy-menu-panel-head{margin-bottom:.65rem}.academy-menu-panel-user{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border-radius:16px;background:#ffffff09;border:1px solid rgba(255,255,255,.06)}.academy-menu-panel-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid color-mix(in srgb,var(--hypsen-accent) 60%,transparent);flex-shrink:0}.academy-menu-panel-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--hypsen-accent),#4f46e5);color:#fff;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.academy-menu-panel-user-info{min-width:0;flex:1}.academy-menu-panel-user-info strong{display:block;font-size:.88rem;font-weight:600;color:var(--hypsen-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.academy-menu-panel-user-info small{display:block;margin-top:.1rem;color:var(--hypsen-text-dim);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.academy-menu-panel-links{display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;-webkit-overflow-scrolling:touch;padding-right:2px}.academy-menu-panel-links::-webkit-scrollbar{width:4px}.academy-menu-panel-links::-webkit-scrollbar-track{background:transparent}.academy-menu-panel-links::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.academy-menu-panel-link{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:14px;text-decoration:none;color:var(--hypsen-text-dim);border:1px solid transparent;background:transparent;opacity:0;transform:translateY(-8px);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease}.academy-menu-panel-link:active{background:#ffffff0d}.academy-menu-panel--open .academy-menu-panel-link{opacity:1;transform:translateY(0);transition-delay:calc(.04s + var(--i, 0) * 35ms)}.academy-menu-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#ffffff0a;color:var(--hypsen-text-muted);flex-shrink:0;transition:background .18s ease,color .18s ease,transform .18s ease}.academy-menu-panel-icon svg{width:18px;height:18px}.academy-menu-panel-label{flex:1;font-size:.88rem;font-weight:500;letter-spacing:-.01em}.academy-menu-panel-arrow{width:14px;height:14px;color:#ffffff40;flex-shrink:0;transition:transform .18s ease,color .18s ease}.academy-menu-panel-link--active{color:#fff;border-color:color-mix(in srgb,var(--hypsen-accent) 45%,rgba(255,255,255,.08));background:linear-gradient(90deg,color-mix(in srgb,var(--hypsen-accent) 20%,rgba(255,255,255,.04)),#ffffff05)}.academy-menu-panel-link--active .academy-menu-panel-label{font-weight:600}.academy-menu-panel-link--active .academy-menu-panel-icon{color:#fff;background:var(--hypsen-accent);box-shadow:0 2px 10px color-mix(in srgb,var(--hypsen-accent) 45%,transparent)}.academy-menu-panel-link--active .academy-menu-panel-arrow{color:var(--hypsen-accent);transform:translate(2px)}.academy-menu-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.07)}.academy-menu-foot-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--hypsen-text);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s ease}.academy-menu-foot-btn:active{background:#ffffff14}.academy-menu-foot-btn svg{width:15px;height:15px;color:var(--hypsen-text-muted)}.academy-menu-foot-actions{display:flex;align-items:center;gap:.5rem}.academy-menu-foot-logout{padding:.45rem .75rem;border-radius:10px;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#f87171;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease}.academy-menu-foot-logout:active{background:#ef44442e}.academy-menu-panel-link--active .academy-menu-panel-icon{color:#fff;background:color-mix(in srgb,var(--hypsen-accent) 35%,transparent)}.academy-nav-mobile{display:none!important}}[data-theme=light] .academy-menu-panel{background:linear-gradient(175deg,#fffffffa,#f8fafcfc,#f3f4f6);border-bottom:1px solid var(--hypsen-border);box-shadow:0 24px 48px #0f172a1f,0 1px #fffc inset}[data-theme=light] .academy-menu-panel-user{background:#0f172a0a;border-color:var(--hypsen-border)}[data-theme=light] .academy-menu-panel-icon{background:#0f172a0d;color:var(--hypsen-text-muted)}[data-theme=light] .academy-menu-panel-arrow{color:#0f172a47}[data-theme=light] .academy-menu-panel-link--active{color:var(--hypsen-text);border-color:var(--hypsen-accent-border);background:linear-gradient(90deg,var(--hypsen-accent-soft) 0%,rgba(59,130,246,.04) 100%)}[data-theme=light] .academy-menu-panel-link--active .academy-menu-panel-icon{color:#fff;background:var(--hypsen-accent);box-shadow:0 2px 10px color-mix(in srgb,var(--hypsen-accent) 35%,transparent)}[data-theme=light] .academy-menu-panel-foot{border-top-color:var(--hypsen-border)}[data-theme=light] .academy-menu-foot-btn{border-color:var(--hypsen-border);background:#fff;color:var(--hypsen-text)}[data-theme=light] .academy-menu-foot-btn:active{background:#f3f4f6}[data-theme=light] .academy-menu-panel-links{scrollbar-color:rgba(15,23,42,.2) transparent}[data-theme=light] .academy-menu-panel-links::-webkit-scrollbar-thumb{background:#0f172a2e}.campus-page{display:flex;flex-direction:column;gap:1.5rem}.campus-page-head h1{font-family:var(--hypsen-font-display);font-size:1.75rem;font-weight:600;margin:0 0 .35rem}.campus-page-head p{margin:0;color:var(--hypsen-text-muted);font-size:.95rem}.campus-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}@media(max-width:768px){.campus-page{gap:1rem}.campus-page-head h1{font-size:1.35rem}.campus-kpi-grid{grid-template-columns:1fr}.campus-card{padding:1rem}.campus-hero-cta{padding:1rem!important}}@media(min-width:480px)and (max-width:768px){.campus-kpi-grid{grid-template-columns:repeat(2,1fr)}.campus-kpi-grid .campus-kpi:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:768px){.alumno-home-head{gap:.85rem!important;margin-bottom:1rem!important}.alumno-home-avatar{width:56px!important;height:56px!important;font-size:1.6rem!important}.alumno-home-head h1{font-size:1.25rem!important}.alumno-home-head p{font-size:.82rem!important;line-height:1.35}.sesiones-program-grid{gap:1rem!important;margin-top:1rem!important}}.campus-kpi{padding:1.15rem 1.25rem;border-radius:12px;background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border)}.campus-kpi span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--hypsen-text-dim);margin-bottom:.35rem}.campus-kpi strong{font-family:var(--hypsen-font-display);font-size:1.85rem;font-weight:600;color:var(--hypsen-accent)}.campus-card{padding:1.25rem;border-radius:12px;background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border)}.campus-card h2{font-family:var(--hypsen-font-display);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.campus-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.campus-btn-primary{padding:.55rem 1rem;border:none;border-radius:8px;background:var(--hypsen-accent);color:var(--hypsen-bg);font-weight:600;font-size:.88rem;cursor:pointer;font-family:var(--hypsen-font-sans)}.campus-btn-primary:hover{box-shadow:0 4px 16px #89a9f559}.campus-program-row-hover{transition:all .2s ease!important}.campus-program-row-hover:hover{background:#ffffff0a!important;border-color:var(--hypsen-accent)!important;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.campus-btn-secondary{padding:.55rem 1rem;border:1px solid var(--hypsen-border);border-radius:8px;background:transparent;color:var(--hypsen-text-muted);font-size:.88rem;cursor:pointer;font-family:var(--hypsen-font-sans)}.campus-table-wrap{overflow-x:auto}.campus-progress-cell{display:flex;flex-direction:column;gap:.3rem;min-width:150px}.campus-learners-mobile{display:none}@media(max-width:768px){.campus-toolbar--alumnos{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.65rem}.campus-toolbar--alumnos>span:first-child{grid-column:1}.campus-toolbar--alumnos>label{grid-column:2;justify-self:end}.campus-toolbar--alumnos>.campus-btn-secondary,.campus-toolbar--alumnos>.campus-btn-primary{width:100%;text-align:center;box-sizing:border-box}.campus-learners-desktop{display:none!important}.campus-learners-mobile{display:flex;flex-direction:column;gap:.75rem}.campus-learner-card{display:flex;flex-direction:column;gap:.65rem;padding:.9rem 1rem;border:1px solid var(--hypsen-border);border-radius:12px;background:var(--hypsen-surface, rgba(255, 255, 255, .02))}.campus-learner-card__top{display:flex;align-items:flex-start;gap:.7rem;min-width:0}.campus-learner-card__avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:1px solid var(--hypsen-border);background:var(--hypsen-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.campus-learner-card__avatar img{width:100%;height:100%;object-fit:cover}.campus-learner-card__meta{min-width:0;flex:1}.campus-learner-card__name{margin:0;font-size:.95rem;font-weight:600;color:var(--hypsen-accent);word-break:break-word;cursor:pointer;text-decoration:underline}.campus-learner-card__email{margin:.15rem 0 0;font-size:.8rem;color:var(--hypsen-text-muted);word-break:break-all}.campus-learner-card__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem}.campus-learner-card__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--hypsen-text-dim);width:100%}.campus-progress-cell{min-width:0;width:100%}.campus-learner-card__actions{display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.25rem;border-top:1px solid var(--hypsen-border)}.campus-learner-card__actions .campus-btn-link{padding:.35rem .55rem}.campus-tabs{flex-wrap:wrap}.campus-tabs .campus-btn-secondary{flex:1 1 auto;text-align:center}}.campus-table{width:100%;border-collapse:collapse;font-size:.88rem}.campus-table th{text-align:left;padding:.65rem .85rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--hypsen-text-dim);border-bottom:1px solid var(--hypsen-border)}.campus-table td{padding:.75rem .85rem;border-bottom:1px solid var(--hypsen-border);color:var(--hypsen-text-muted)}.campus-table tr:hover td{background:#89a9f50a}.campus-table-actions{text-align:right;white-space:nowrap;padding-left:.5rem}.campus-actions-flex{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;white-space:nowrap}.campus-btn-link{padding:.25rem .5rem;border:none;border-radius:6px;background:transparent;color:var(--hypsen-accent);font-size:.82rem;font-weight:600;cursor:pointer;font-family:var(--hypsen-font-sans)}.campus-btn-link:hover{background:var(--hypsen-accent-soft)}.campus-btn-link--danger{color:#f87171}.campus-btn-link--danger:hover{background:#f871711f}.campus-btn-danger{padding:.55rem 1rem;border:none;border-radius:8px;background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.35);font-weight:600;font-size:.88rem;cursor:pointer;font-family:var(--hypsen-font-sans)}.campus-btn-danger:hover:not(:disabled){background:#ef444440}.campus-btn-danger:disabled{opacity:.45;cursor:not-allowed}.campus-modal--danger h2{color:#fca5a5}.campus-pill{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--hypsen-accent-soft);color:var(--hypsen-accent);border:1px solid var(--hypsen-accent-border)}.campus-pill--muted{background:#5c647833;color:var(--hypsen-text-dim);border-color:var(--hypsen-border)}.campus-pill--success{background:#22c55e1f;color:#86efac;border-color:#22c55e4d}.campus-pill--warn{background:#eab3081f;color:#fde047;border-color:#eab3084d}.campus-eval-history{--hypsen-text: #f8fafc;--hypsen-text-muted: #94a3b8;--hypsen-text-dim: #64748b;--hypsen-accent: #38bdf8;--hypsen-border: rgba(255, 255, 255, .1);margin-top:1.5rem;padding:1.25rem;background:#0f172aeb;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e2e8f0;box-shadow:0 12px 28px #00000040}.campus-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.campus-quick-card{padding:1.15rem;border-radius:12px;background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border);text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.campus-quick-card:hover{border-color:var(--hypsen-accent-border);transform:translateY(-2px)}.campus-quick-card h3{font-family:var(--hypsen-font-display);font-size:1rem;margin:0 0 .35rem}.campus-quick-card p{margin:0;font-size:.82rem;color:var(--hypsen-text-dim)}.campus-form{display:flex;flex-direction:column;gap:1rem;max-width:480px}.campus-field label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--hypsen-text-muted);margin-bottom:.35rem}.campus-field input,.campus-field select,.campus-field textarea{width:100%;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg);color:var(--hypsen-text);font-family:var(--hypsen-font-sans);font-size:.9rem}.campus-field textarea{min-height:80px;resize:vertical}.campus-dropzone{border:2px dashed var(--hypsen-border);border-radius:12px;padding:2.5rem 1.5rem;text-align:center;color:var(--hypsen-text-dim);font-size:.9rem}.campus-dropzone strong{display:block;color:var(--hypsen-accent);margin-bottom:.35rem}.campus-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.campus-modal{width:100%;max-width:440px;max-height:min(88vh,760px);overflow-y:auto;padding:1.5rem;border-radius:14px;background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border);box-sizing:border-box}.campus-modal--wide{max-width:720px;max-height:min(88vh,760px);overflow-y:auto}.campus-modal--wide .campus-form{max-width:none}.campus-modal--wide .campus-checkbox-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.5rem;padding:.85rem 1rem;border:1px solid var(--hypsen-border);border-radius:10px;background:var(--hypsen-bg-elevated);box-sizing:border-box}.campus-modal h2{font-family:var(--hypsen-font-display);font-size:1.25rem;margin:0 0 1.25rem}.campus-modal-actions{display:flex;gap:.65rem;justify-content:flex-end;margin-top:1.25rem}.campus-hero-cta{padding:1.5rem;border-radius:14px;background:linear-gradient(135deg,var(--hypsen-accent-soft),var(--hypsen-bg-elevated));border:1px solid var(--hypsen-accent-border)}.campus-hero-cta h2{font-family:var(--hypsen-font-display);font-size:1.35rem;margin:0 0 .5rem}.campus-hero-cta p{margin:0 0 1rem;color:var(--hypsen-text-muted);font-size:.92rem}.campus-progress-bar{height:6px;border-radius:999px;background:var(--hypsen-bg);overflow:hidden;margin-top:.5rem}.campus-progress-bar span{display:block;height:100%;background:var(--hypsen-accent);border-radius:999px}.campus-module{border:1px solid var(--hypsen-border);border-radius:10px;overflow:hidden;margin-bottom:.75rem}.campus-module-head{padding:.75rem 1rem;background:var(--hypsen-bg-elevated);font-weight:600;font-size:.9rem}.campus-pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.campus-pill-row--compact{gap:.35rem}.campus-pill-row--compact .campus-pill{font-size:.68rem}.campus-field-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--hypsen-text-dim);margin-bottom:.45rem}.campus-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.55rem 1rem;margin-bottom:.35rem}.campus-checkbox-item{display:flex;align-items:flex-start;gap:.65rem;width:100%;min-height:2.25rem;padding:.45rem .25rem;font-size:.86rem;line-height:1.35;color:var(--hypsen-text-muted);cursor:pointer;border-radius:8px;transition:background .15s ease;box-sizing:border-box}.campus-field .campus-checkbox-item{display:flex;margin-bottom:0;font-weight:400;text-transform:none;letter-spacing:normal}.campus-checkbox-item:hover{background:#89a9f50f}.campus-checkbox-item input[type=checkbox]{flex-shrink:0;width:1.05rem;height:1.05rem;min-width:1.05rem;margin:.12rem 0 0;padding:0;border:1px solid var(--hypsen-border);border-radius:4px;background:var(--hypsen-bg);accent-color:var(--hypsen-accent);cursor:pointer}.campus-field .campus-checkbox-item input[type=checkbox]{width:1.05rem;min-width:1.05rem}.campus-checkbox-item span{flex:1;min-width:0;word-break:break-word}.campus-field--positions{margin-top:.25rem;width:100%}.campus-field--positions .campus-checkbox-grid{width:100%}.campus-field--positions .campus-field-label{margin-bottom:.6rem}@media(max-width:640px){.campus-modal-backdrop{padding:.65rem}.campus-modal{padding:1rem;max-height:min(92vh,760px)}.campus-modal--wide{max-width:min(100%,680px)}.campus-modal--wide .campus-checkbox-grid{grid-template-columns:1fr}}.campus-lesson-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-top:1px solid var(--hypsen-border);font-size:.85rem}.campus-lesson-row span{color:var(--hypsen-text-dim);font-size:.78rem}.dash-home-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.dash-head-actions{display:flex;gap:.6rem;flex-wrap:wrap}.dash-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dash-kpi-hint{display:block;margin-top:.35rem;font-size:.72rem;font-style:normal;color:var(--hypsen-text-dim)}.org-scope-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:0 0 1.1rem;padding:.65rem .85rem;border-radius:12px;background:linear-gradient(120deg,#60a5fa14,#34d3990f);border:1px solid rgba(148,163,184,.18)}.org-scope-bar--muted{opacity:.85}.org-scope-label{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--hypsen-text-muted);text-transform:uppercase}.org-scope-select{min-width:min(280px,100%);max-width:420px;padding:.45rem .7rem;border-radius:8px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg-elevated);color:var(--hypsen-text);font-size:.9rem}.org-scope-chip{font-size:.78rem;color:var(--hypsen-text-dim);padding:.25rem .55rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(148,163,184,.15)}.dash-home--refreshing{opacity:.82;transition:opacity .2s ease}.dash-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dash-funnel-row{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.dash-funnel-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--hypsen-text-muted)}.dash-funnel-meta strong{color:var(--hypsen-text);font-weight:600}.dash-funnel-track{height:8px;border-radius:999px;background:#ffffff0f;overflow:hidden}.dash-funnel-fill{height:100%;border-radius:999px;min-width:0;transition:width .35s ease}.dash-catalog-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.dash-catalog-item{padding:.9rem 1rem;border-radius:10px;border:1px solid var(--hypsen-border);background:#ffffff05}.dash-catalog-item span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--hypsen-text-dim);margin-bottom:.25rem}.dash-catalog-item strong{font-size:1.25rem;color:var(--hypsen-text)}.dash-empty{margin:0;color:var(--hypsen-text-muted);font-size:.9rem}.dash-attention-list,.dash-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.dash-attention-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--hypsen-border);background:#ffffff05}.dash-attention-item p{margin:.3rem 0 0;font-size:.8rem;color:var(--hypsen-text-muted);line-height:1.35}.dash-attention-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;font-weight:600;font-size:.9rem}.dash-sev{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:4px;font-weight:700}.dash-sev-critical{background:#f8717126;color:#f87171}.dash-sev-warning{background:#fbbf2426;color:#fbbf24}.dash-sev-info{background:#60a5fa26;color:#60a5fa}.dash-activity-list li{display:flex;justify-content:space-between;gap:.75rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.06)}.dash-activity-list li:last-child{border-bottom:none;padding-bottom:0}.dash-activity-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dash-activity-main strong{font-size:.9rem}.dash-activity-main span{font-size:.78rem;color:var(--hypsen-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-activity-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.75rem;color:var(--hypsen-text-dim);flex-shrink:0}.dash-status{font-weight:600}.dash-status.status-completed{color:#34d399}.dash-status.status-failed{color:#f87171}.dash-status.status-in_progress{color:#60a5fa}.dash-status.status-not_started{color:#94a3b8}.dash-section-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem}.dash-program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.dash-program-card{display:flex;flex-direction:column;gap:.55rem;padding:1rem;border-radius:10px;border:1px solid var(--hypsen-border);background:#ffffff05;text-decoration:none;color:inherit;transition:border-color .15s ease,background .15s ease}.dash-program-card:hover{border-color:#60a5fa73;background:#60a5fa0f}.dash-program-top{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.dash-program-top h3{margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.dash-pill{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;padding:.18rem .4rem;border-radius:999px;flex-shrink:0;font-weight:700}.dash-pill.ok{background:#34d39926;color:#34d399}.dash-pill.muted{background:#94a3b81f;color:#94a3b8}.dash-program-stats{margin:0;font-size:.78rem;color:var(--hypsen-text-dim)}.dash-program-progress{display:flex;flex-direction:column;gap:.35rem}.dash-program-progress span{font-size:.72rem;color:var(--hypsen-text-muted)}.dash-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.dash-skeleton-card{height:88px;border-radius:12px;border:1px solid var(--hypsen-border);background:linear-gradient(90deg,#ffffff08,#ffffff12,#ffffff08);background-size:200% 100%;animation:dashShimmer 1.2s ease-in-out infinite}@keyframes dashShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:900px){.dash-split,.dash-catalog-strip{grid-template-columns:1fr}}.heme-container{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;margin-top:1.5rem;height:calc(100vh - 180px);min-height:580px}@media(max-width:1100px){.heme-container{grid-template-columns:1fr;height:auto}}.heme-sidebar{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.5rem}.heme-chat-panel{display:flex;flex-direction:column;background:var(--hypsen-card-bg, #111);border:1px solid var(--hypsen-border);border-radius:12px;overflow:hidden;height:100%}.heme-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.2rem}@media(max-width:768px){.heme-stats-grid{grid-template-columns:repeat(2,1fr)}}.heme-stat-card{background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border);border-radius:10px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.25rem}.heme-stat-val{font-size:1.35rem;font-weight:700;color:var(--hypsen-accent, #00f2fe)}.heme-stat-lbl{font-size:.72rem;color:var(--hypsen-text-muted)}.heme-search-bar{display:flex;background:var(--hypsen-bg);border:1px solid var(--hypsen-border);border-radius:8px;padding:.5rem .8rem;align-items:center;gap:.5rem}.heme-search-input{background:transparent;border:none;outline:none;color:var(--hypsen-text);width:100%;font-size:.88rem}.heme-card{background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border);border-radius:10px;padding:1rem;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;gap:.75rem}.heme-card:hover{transform:translateY(-2px);background:var(--hypsen-bg-elevated);border-color:var(--hypsen-accent-border);box-shadow:0 4px 15px #0000001f}.heme-card.active{border-color:var(--hypsen-accent, #00f2fe);background:var(--hypsen-accent-soft)}.heme-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.heme-card-title{font-size:.95rem;font-weight:600;color:var(--hypsen-text);word-break:break-all}.heme-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.75rem}.heme-card-desc{font-size:.82rem;color:var(--hypsen-text-muted);line-height:1.4;border-left:2px solid var(--hypsen-border);padding-left:.6rem;margin:.2rem 0}.heme-node-badge{font-size:.7rem;background:var(--hypsen-accent-soft);color:var(--hypsen-text);padding:.15rem .4rem;border-radius:4px;border:1px solid var(--hypsen-border)}.heme-node-badge:hover{background:var(--hypsen-accent-soft);border-color:var(--hypsen-accent-border)}.heme-node-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.heme-chat-header{padding:1rem;border-bottom:1px solid var(--hypsen-border);display:flex;align-items:center;gap:.75rem;background:var(--hypsen-bg)}.heme-chat-glow-dot{width:8px;height:8px;background:#00f2fe;border-radius:50%;box-shadow:0 0 10px #00f2fe,0 0 20px #00f2fe;animation:hemePulse 2s infinite}@keyframes hemePulse{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.1);opacity:1}to{transform:scale(.9);opacity:.6}}.heme-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.heme-msg-bubble{max-width:85%;padding:.8rem 1rem;border-radius:10px;font-size:.88rem;line-height:1.5}.heme-msg-bubble.user{background:var(--hypsen-accent);color:#fff;border:1px solid var(--hypsen-accent-border);align-self:flex-end;border-bottom-right-radius:2px}.heme-msg-bubble.assistant{background:var(--hypsen-bg);color:var(--hypsen-text);border:1px solid var(--hypsen-border);align-self:flex-start;border-bottom-left-radius:2px}.heme-msg-citations{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem;border-top:1px solid rgba(255,255,255,.06);padding-top:.5rem}.heme-citation-card{font-size:.72rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);padding:.2rem .5rem;border-radius:4px;cursor:pointer;color:var(--hypsen-accent, #00f2fe);display:flex;align-items:center;gap:.3rem}.heme-citation-card:hover{background:#00f2fe14;border-color:#00f2fe4d}.heme-chat-input-area{padding:1rem;border-top:1px solid var(--hypsen-border);background:var(--hypsen-bg);display:flex;gap:.75rem;align-items:center}.heme-chat-input{flex:1;background:var(--hypsen-bg-elevated);border:1px solid var(--hypsen-border);border-radius:8px;padding:.6rem .8rem;color:var(--hypsen-text);outline:none;font-size:.88rem}.heme-chat-input:focus{border-color:var(--hypsen-accent, #00f2fe)}.heme-quick-prompts{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;background:var(--hypsen-bg);border-bottom:1px solid var(--hypsen-border)}.heme-quick-btn{font-size:.78rem;background:transparent;border:1px solid var(--hypsen-border);color:var(--hypsen-text-muted);text-align:left;padding:.4rem .8rem;border-radius:6px;cursor:pointer;transition:all .2s ease}.heme-quick-btn:hover{background:var(--hypsen-accent-soft);color:var(--hypsen-text);border-color:var(--hypsen-accent-border)}.heme-node-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999}.heme-node-detail-modal{background:var(--hypsen-bg-elevated);border:1px solid var(--hypsen-border);border-radius:12px;padding:1.5rem;max-width:500px;width:90%;display:flex;flex-direction:column;gap:1rem}.heme-node-detail-header{font-size:1.1rem;font-weight:700;color:var(--hypsen-text)}.heme-node-detail-body{font-size:.88rem;color:var(--hypsen-text-muted);line-height:1.5;white-space:pre-wrap}@keyframes campus-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.campus-btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:var(--hypsen-accent);border-radius:50%;animation:campus-spin .8s linear infinite;margin-right:6px;vertical-align:middle}.campus-btn-generating{background:#60a5fa26!important;color:var(--hypsen-accent)!important;border-color:var(--hypsen-accent)!important;cursor:not-allowed!important;opacity:.8;font-weight:700}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background-color:#fff!important;color:#111827!important;border-color:#d1d5db!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#9ca3af!important}[data-theme=light] option{background-color:#fff!important;color:#111827!important}[data-theme=light] .campus-modal,[data-theme=light] .heme-node-detail-modal{background-color:#fff!important;color:#111827!important;border-color:#e5e7eb!important;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}[data-theme=light] .campus-modal h2,[data-theme=light] .campus-modal h3,[data-theme=light] .heme-node-detail-header,[data-theme=light] .academy-user-meta span{color:#111827!important}[data-theme=light] .campus-modal-backdrop,[data-theme=light] .heme-node-detail-overlay{background:#0006!important}[data-theme=light] .campus-btn-primary{background:var(--hypsen-accent)!important;color:#fff!important}[data-theme=light] .campus-btn-secondary{border-color:#d1d5db!important;color:#374151!important;background:#fff!important}[data-theme=light] .campus-btn-secondary:hover{background:#f9fafb!important;border-color:#9ca3af!important}[data-theme=light] .campus-card:not(.jr-course-card),[data-theme=light] .campus-kpi,[data-theme=light] .campus-quick-card,[data-theme=light] .program-wizard-panel,[data-theme=light] .program-source-item,[data-theme=light] .dash-catalog-item,[data-theme=light] .dash-program-card,[data-theme=light] .dash-attention-item,[data-theme=light] .heme-card,[data-theme=light] .heme-chat-panel,[data-theme=light] .heme-stat-card{background-color:#fff!important;border-color:#e5e7eb!important;color:#111827!important;box-shadow:0 1px 3px #0000000d!important}[data-theme=light] .jr-course-card{background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,#89a9f5 16%,transparent),transparent 55%),linear-gradient(165deg,#161c2afa,#0c101afc)!important;border-color:#89a9f538!important;color:#e8edf7!important;box-shadow:0 14px 32px #00000047!important}[data-theme=light] .campus-card h2,[data-theme=light] .campus-quick-card h3,[data-theme=light] .dash-catalog-item strong,[data-theme=light] .dash-program-top h3,[data-theme=light] .dash-funnel-meta strong,[data-theme=light] .heme-card-title{color:#111827!important}[data-theme=light] .campus-pill--success{background:#16a34a1f!important;color:#15803d!important;border-color:#16a34a59!important}[data-theme=light] .campus-pill--warn{background:#ca8a041f!important;color:#a16207!important;border-color:#ca8a0459!important}[data-theme=light] .campus-pill--muted{background:#6b72801f!important;color:#4b5563!important;border-color:#d1d5db!important}[data-theme=light] .campus-eval-history{background:#0f172af0!important;border-color:#ffffff1a!important;color:#e2e8f0!important;box-shadow:0 14px 32px #0003!important}@keyframes pulse-red-anim{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.pulse-red{animation:pulse-red-anim 1.5s infinite}.diagnostic-results-scroll,.diagnostic-topics-scroll{scrollbar-width:thin;scrollbar-color:rgba(96,165,250,.55) rgba(255,255,255,.06)}.diagnostic-results-scroll::-webkit-scrollbar,.diagnostic-topics-scroll::-webkit-scrollbar{width:8px}.diagnostic-results-scroll::-webkit-scrollbar-track,.diagnostic-topics-scroll::-webkit-scrollbar-track{background:#ffffff0f;border-radius:8px}.diagnostic-results-scroll::-webkit-scrollbar-thumb,.diagnostic-topics-scroll::-webkit-scrollbar-thumb{background:#60a5fa73;border-radius:8px}.diagnostic-results-scroll::-webkit-scrollbar-thumb:hover,.diagnostic-topics-scroll::-webkit-scrollbar-thumb:hover{background:#60a5fab3}.campus-progress-indeterminate{height:6px;border-radius:999px;overflow:hidden;background:#ffffff14}.campus-progress-indeterminate__bar{width:40%;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c5cff,#38bdf8);animation:campus-indeterminate 1.2s ease-in-out infinite}@keyframes campus-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}.tutor-chat-wrapper{height:calc(100vh - 120px);min-height:520px;display:flex;flex-direction:column}.tutor-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.tutor-chat-window{flex:1;background:#ffffff05;border:1px solid var(--hypsen-border);border-radius:12px;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.tutor-msg-row{display:flex;gap:.75rem;align-items:flex-start}.tutor-msg-row--user{display:flex;justify-content:flex-end;gap:.75rem;align-items:flex-start}.tutor-msg-row--model{display:flex;justify-content:flex-start;gap:.75rem;align-items:flex-start}.tutor-msg-bubble{max-width:78%;background:#ffffff0d;color:var(--hypsen-text);border:1px solid var(--hypsen-border);border-radius:16px 16px 16px 0;padding:.85rem 1.15rem;box-shadow:0 2px 8px #0000001a;position:relative;word-break:break-word}.tutor-msg-bubble--user{max-width:78%;background:var(--hypsen-accent);color:#fff;border:none;border-radius:16px 16px 0;padding:.85rem 1.15rem;box-shadow:0 2px 8px #0000001a;position:relative;word-break:break-word}[data-theme=light] .tutor-msg-bubble{background:#f3f4f6;border-color:#e5e7eb;color:#111827;box-shadow:0 1px 3px #0000000f}.tutor-input-form{display:flex;gap:.75rem}@media(max-width:768px){.tutor-chat-wrapper{height:calc(100dvh - 150px);min-height:360px}.tutor-header-bar{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.tutor-header-title{font-size:1.2rem!important}.tutor-chat-window{padding:.75rem .5rem;gap:.75rem;margin-bottom:.6rem}.tutor-msg-row--user,.tutor-msg-row--model{gap:.4rem}.tutor-avatar-img{width:30px!important;height:30px!important}.tutor-msg-bubble,.tutor-msg-bubble--user{max-width:92%!important;padding:.75rem .85rem!important}.tutor-input-form{gap:.4rem}.tutor-input-field{padding:.65rem .75rem!important;font-size:.88rem!important}.tutor-send-btn{padding:.65rem 1rem!important;font-size:.88rem!important}}@media(max-width:480px){.tutor-msg-bubble,.tutor-msg-bubble--user{max-width:94%!important;padding:.65rem .75rem!important;font-size:.88rem!important}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.org-hierarchy{padding:1.25rem;margin-bottom:1.5rem}.org-hierarchy__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.org-hierarchy__head h2{margin:0 0 .25rem;font-family:var(--hypsen-font-display);font-size:1.15rem}.org-hierarchy__head p{margin:0;color:var(--hypsen-text-dim);font-size:.88rem;max-width:42rem}.org-hierarchy__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.org-hierarchy__toggle{display:inline-flex;padding:3px;border-radius:10px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg)}.org-hierarchy__toggle button{border:none;background:transparent;color:var(--hypsen-text-muted);font-family:var(--hypsen-font-sans);font-size:.82rem;font-weight:600;padding:.4rem .85rem;border-radius:8px;cursor:pointer}.org-hierarchy__toggle button.is-active{background:var(--hypsen-accent-soft);color:var(--hypsen-accent)}.org-hierarchy__check{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--hypsen-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.org-hierarchy__error{color:#fca5a5;margin:0 0 .75rem;font-size:.88rem}.org-hierarchy__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:280px;border:1px dashed var(--hypsen-border);border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--hypsen-bg-card) 88%,var(--hypsen-accent) 12%),var(--hypsen-bg-card));text-align:center;padding:2rem 1.25rem}.org-hierarchy__empty-mark{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--hypsen-accent-soft);border:1px solid var(--hypsen-accent-border);color:var(--hypsen-accent);font-family:var(--hypsen-font-display);font-size:1.4rem;font-weight:700}.org-hierarchy__empty h3{margin:0;font-family:var(--hypsen-font-display);font-size:1.05rem}.org-hierarchy__empty p{margin:0;max-width:28rem;color:var(--hypsen-text-dim);font-size:.88rem}.org-flow-canvas{height:min(62vh,560px);min-height:360px;border-radius:14px;border:1px solid var(--hypsen-border);overflow:hidden;background:var(--hypsen-bg)}.org-flow-canvas .react-flow__controls{box-shadow:none;border:1px solid var(--hypsen-border);border-radius:10px;overflow:hidden}.org-flow-canvas .react-flow__controls-button{background:var(--hypsen-bg-card);border-bottom-color:var(--hypsen-border);fill:var(--hypsen-text-muted)}.org-flow-canvas .react-flow__minimap{border-radius:10px;overflow:hidden;border:1px solid var(--hypsen-border);background:var(--hypsen-bg-card)!important}.org-unit-node{width:240px;padding:.7rem .8rem .65rem;border-radius:12px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg-card);box-shadow:0 8px 24px #0000002e;font-family:var(--hypsen-font-sans);position:relative}.org-unit-node--region{border-top:3px solid #38bdf8}.org-unit-node--zone{border-top:3px solid #34d399}.org-unit-node--team{border-top:3px solid var(--hypsen-accent)}.org-unit-node--branch{border-top:3px solid #fbbf24}.org-unit-node__top{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.35rem}.org-unit-node__type{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--hypsen-text-dim)}.org-unit-node__actions{display:flex;gap:.2rem}.org-unit-node__actions button{width:26px;height:26px;border-radius:7px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg);color:var(--hypsen-text-muted);cursor:pointer;font-size:.85rem;line-height:1;display:grid;place-items:center}.org-unit-node__actions button:hover{border-color:var(--hypsen-accent-border);color:var(--hypsen-accent)}.org-unit-node__actions button.is-danger:hover{border-color:#f871718c;color:#fca5a5}.org-unit-node__name{margin:0;font-family:var(--hypsen-font-display);font-size:.95rem;font-weight:650;color:var(--hypsen-text);line-height:1.25}.org-unit-node__meta{margin-top:.4rem;display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--hypsen-text-dim)}.org-unit-node__members-btn{align-self:flex-start;border:none;background:transparent;padding:0;margin:0;color:var(--hypsen-accent);font:inherit;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.org-unit-node__members-btn:hover{color:var(--hypsen-text)}.org-members-link{border:none;background:transparent;padding:0;margin:0;color:var(--hypsen-accent);font:inherit;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.org-members-link:hover{color:var(--hypsen-text)}.org-members-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.org-members-modal__head h2{margin:0 0 .25rem;font-size:1.1rem}.org-members-modal__head p{margin:0;font-size:.85rem;color:var(--hypsen-text-dim)}.org-members-modal__empty{padding:1.25rem;border:1px dashed var(--hypsen-border);border-radius:12px;color:var(--hypsen-text-dim);text-align:center}.org-members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;max-height:min(55vh,420px);overflow:auto}.org-members-list__item{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--hypsen-border);border-radius:12px;background:var(--hypsen-bg)}.org-members-list__avatar{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0}.org-members-list__avatar--fallback{display:grid;place-items:center;background:#3b82f640;color:#fff;font-weight:700}.org-members-list__body{min-width:0;flex:1}.org-members-list__name{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;color:var(--hypsen-text);font-weight:650;font-size:.92rem}.org-members-list__meta{margin-top:.15rem;font-size:.78rem;color:var(--hypsen-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-unit-node .react-flow__handle{width:8px;height:8px;background:var(--hypsen-accent);border:2px solid var(--hypsen-bg-card)}.org-table-wrap{overflow-x:auto}.org-table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem}.org-table-wrap th{text-align:left;color:var(--hypsen-text-dim);font-weight:600;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:.55rem .65rem;border-bottom:1px solid var(--hypsen-border)}.org-table-wrap td{padding:.7rem .65rem;border-bottom:1px solid var(--hypsen-border);color:var(--hypsen-text-muted);vertical-align:middle}.org-table-wrap td strong{color:var(--hypsen-text);font-weight:600}.org-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:650;border:1px solid var(--hypsen-border)}.org-badge--ok{color:#6ee7b7;border-color:#34d39959;background:#34d3991f}.org-badge--off{color:var(--hypsen-text-dim);background:#94a3b81f}.org-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.org-row-actions button{border:none;background:transparent;color:var(--hypsen-accent);font-size:.82rem;font-weight:600;cursor:pointer;padding:.15rem .25rem}.org-row-actions button.is-danger{color:#fca5a5}.jr-fifa-card,.jr-course-card{--hypsen-text: #ffffff;--hypsen-text-muted: #8b95a8;--hypsen-text-dim: #94a3b8;--hypsen-accent: #89a9f5;--hypsen-border: rgba(137, 169, 245, .18);color:#e8edf7}.jr-fifa-card{position:relative;display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.2rem 1.25rem;border-radius:18px;border:1px solid color-mix(in srgb,var(--hypsen-accent) 35%,var(--hypsen-border));background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--hypsen-accent) 22%,transparent),transparent 55%),linear-gradient(165deg,#161c2afa,#0c101afc);box-shadow:0 18px 40px #00000059;overflow:visible;min-height:280px}.jr-course-card{border-radius:18px;border:1px solid color-mix(in srgb,var(--hypsen-accent) 28%,var(--hypsen-border));background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--hypsen-accent) 16%,transparent),transparent 55%),linear-gradient(165deg,#161c2afa,#0c101afc);box-shadow:0 14px 32px #00000047}.jr-course-title{font-size:1rem;font-weight:700;color:#fff}.jr-course-meta{font-size:.75rem;color:var(--hypsen-text-muted)}.jr-course-badge{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.12)}.jr-course-badge--ok{border-color:#4ade8066;color:#86efac}.jr-course-badge--pending{border-color:#fb923c73;color:#fdba74}.jr-course-badge--exit{border-color:#38bdf873;color:#7dd3fc}.jr-fifa-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.04) 50%,transparent 60%);pointer-events:none;overflow:hidden}.jr-fifa-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;position:relative;z-index:1}.jr-fifa-overall{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.jr-fifa-overall-score{font-size:2.75rem;font-weight:800;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}.jr-fifa-overall-arrow{display:inline-block;margin:0 .2em;font-size:.55em;font-weight:700;opacity:.65;vertical-align:middle}.jr-fifa-delta{margin-top:.35rem;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.jr-fifa-delta--up{color:#86efac}.jr-fifa-delta--down{color:#fdba74}.jr-fifa-legend{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.55rem}.jr-fifa-legend-item{font-size:.68rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;color:var(--hypsen-text-muted)}.jr-fifa-legend-item:before{content:"";width:14px;height:3px;border-radius:2px}.jr-fifa-legend-item--baseline:before{background:#94a3b8e6;border-top:0;background-image:linear-gradient(90deg,rgba(148,163,184,.95) 40%,transparent 40%,transparent 60%,rgba(148,163,184,.95) 60%)}.jr-fifa-legend-item--exit:before{background:#38bdf8}.jr-fifa-overall-label{margin-top:.25rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hypsen-text-dim)}.jr-fifa-badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--hypsen-text);white-space:nowrap}.jr-fifa-badge--ready{border-color:#4ade8073;background:#22c55e26;color:#86efac}.jr-fifa-badge--almost{border-color:#facc1573;background:#eab30824;color:#fde047}.jr-fifa-badge--needs{border-color:#fb923c73;background:#f9731624;color:#fdba74}.jr-fifa-badge--not{border-color:#f8717173;background:#ef444424;color:#fca5a5}.jr-fifa-body{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.jr-fifa-avatar{width:72px;height:72px;border-radius:16px;object-fit:cover;border:2px solid color-mix(in srgb,var(--hypsen-accent) 55%,transparent);flex-shrink:0;background:#ffffff0a}.jr-fifa-avatar-fallback{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--hypsen-accent),#0ea5e9);flex-shrink:0;box-shadow:0 6px 18px #00000059}.jr-fifa-meta{min-width:0;flex:1}.jr-fifa-role{margin:0;font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:-.02em}.jr-fifa-sub{margin:.25rem 0 0;font-size:.78rem;color:var(--hypsen-text-dim)}.jr-fifa-score-hint{margin:.45rem 0 0;font-size:.72rem;line-height:1.35;color:var(--hypsen-text-muted);max-width:28rem}.jr-fifa-radar-wrap{display:flex;justify-content:center;align-items:center;color:var(--hypsen-text-muted);position:relative;z-index:1;min-height:240px;overflow:visible;padding:.35rem}.jr-fifa-empty{margin:0;padding:1.25rem 1rem;max-width:16rem;text-align:center;font-size:.85rem;line-height:1.4;opacity:.6}.jr-fifa-radar-wrap .skills-radar{width:min(100%,300px);height:auto;max-width:100%;overflow:visible}.jr-fifa-chips{display:flex;flex-wrap:wrap;gap:.35rem;position:relative;z-index:1}.jr-fifa-chip{font-size:.68rem;font-weight:600;padding:.22rem .55rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--hypsen-text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jr-fifa-chip--gap{border-color:#fb923c59;color:#fdba74}.jr-fifa-chip--ok{border-color:#4ade8059;color:#86efac}.jr-course-overall{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:4.5rem;padding:.35rem .5rem;line-height:1}.jr-course-overall-score{font-size:1.85rem;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.jr-course-overall-score--dual{font-size:1.25rem}.jr-course-overall-label{margin-top:.28rem;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hypsen-text-dim);text-align:center;max-width:5.5rem}.jr-course-radar{overflow:visible;padding:.25rem}.jr-course-radar .skills-radar{overflow:visible;display:block}@media(max-width:820px){.jr-course-card{grid-template-columns:auto minmax(0,1fr)!important}.jr-course-radar{grid-column:1 / -1;justify-self:center}}@media(min-width:820px){.jr-fifa-card:not(.jr-fifa-card--stack){display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.35fr);grid-template-areas:"top radar" "body radar" "chips radar";column-gap:1.25rem;row-gap:.75rem;align-items:center;min-height:420px;padding:1.35rem 1.5rem 1.4rem}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-card-top{grid-area:top}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-body{grid-area:body}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-radar-wrap{grid-area:radar;min-height:380px;justify-content:center}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-radar-wrap .skills-radar{width:min(100%,420px)}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-chips{grid-area:chips}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-overall-score{font-size:3.25rem}}.jr-fifa-card--stack{display:flex!important;flex-direction:column!important;min-height:0;padding:1.1rem 1.15rem 1.2rem}.jr-fifa-card--stack .jr-fifa-card-top,.jr-fifa-card--stack .jr-fifa-body,.jr-fifa-card--stack .jr-fifa-radar-wrap,.jr-fifa-card--stack .jr-fifa-chips{grid-area:auto!important}.jr-fifa-card--stack .jr-fifa-overall-score{font-size:2.1rem!important}.jr-fifa-card--stack .jr-fifa-radar-wrap{min-height:112px;padding:.5rem .25rem .75rem}.jr-fifa-card--stack .jr-fifa-radar-wrap .skills-radar{width:min(100%,260px)}.jr-fifa-card--loading{min-height:420px}.jr-fifa-card--loading .jr-fifa-radar-wrap--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;min-height:220px;padding:1.25rem .5rem 1rem}.jr-fifa-skel{display:block;border-radius:8px;background:linear-gradient(100deg,#89a9f514 20%,#89a9f538,#89a9f514 60%);background-size:200% 100%;animation:jr-fifa-shimmer 1.35s ease-in-out infinite}.jr-fifa-skel--score{width:4.5rem;height:2.1rem;border-radius:10px;margin-bottom:.35rem}.jr-fifa-skel--badge{width:4.75rem;height:1.35rem;border-radius:999px}.jr-fifa-loader{position:relative;width:72px;height:72px}.jr-fifa-loader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent}.jr-fifa-loader-ring--a{border-top-color:#89a9f5f2;border-right-color:#89a9f540;animation:jr-fifa-spin .9s linear infinite}.jr-fifa-loader-ring--b{top:8px;right:8px;bottom:8px;left:8px;border-bottom-color:#7dd3fcd9;border-left-color:#7dd3fc33;animation:jr-fifa-spin-rev 1.25s linear infinite}.jr-fifa-loader-core{position:absolute;top:24px;right:24px;bottom:24px;left:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b8c9f5,#5b7fd4 70%);box-shadow:0 0 18px #89a9f573;animation:jr-fifa-pulse 1.4s ease-in-out infinite}.jr-fifa-loader-label{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--hypsen-text-muted);text-align:center}@keyframes jr-fifa-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes jr-fifa-spin{to{transform:rotate(360deg)}}@keyframes jr-fifa-spin-rev{to{transform:rotate(-360deg)}}@keyframes jr-fifa-pulse{0%,to{transform:scale(.92);opacity:.85}50%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.jr-fifa-skel,.jr-fifa-loader-ring--a,.jr-fifa-loader-ring--b,.jr-fifa-loader-core{animation:none}}@media(min-width:1100px){.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-radar-wrap{min-height:440px}.jr-fifa-card:not(.jr-fifa-card--stack) .jr-fifa-radar-wrap .skills-radar{width:min(100%,460px)}}.program-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:1rem 1.15rem;border-radius:12px;background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border)}.program-filters .campus-field{margin:0;min-width:160px;flex:1}.program-filters .campus-field label{margin-bottom:.3rem}.program-filters input,.program-filters select{width:100%;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg);color:var(--hypsen-text);font-size:.88rem}.program-table-card{padding:0;overflow:hidden}.program-table-card .campus-table th:first-child,.program-table-card .campus-table td:first-child{padding-left:1.25rem}.program-table-card .campus-table th:last-child,.program-table-card .campus-table td:last-child{padding-right:1.25rem}.program-row-title{display:flex;flex-direction:column;gap:.2rem}.program-row-title strong{color:var(--hypsen-text);font-size:.95rem}.program-row-title small{color:var(--hypsen-text-dim);font-size:.78rem;line-height:1.35}.program-metrics{display:flex;gap:.65rem;flex-wrap:wrap}.program-metric{font-size:.78rem;color:var(--hypsen-text-dim)}.program-metric strong{color:var(--hypsen-accent);font-weight:600}.program-empty{padding:3rem 1.5rem;text-align:center;color:var(--hypsen-text-muted)}.program-empty h3{font-family:var(--hypsen-font-display);margin:0 0 .5rem;color:var(--hypsen-text)}.program-wizard{display:flex;flex-direction:column;gap:1.5rem}.program-wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap}.program-wizard-step{display:flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--hypsen-border);color:var(--hypsen-text-dim);background:transparent}.program-wizard-step--active{border-color:var(--hypsen-accent-border);background:var(--hypsen-accent-soft);color:var(--hypsen-accent)}.program-wizard-step--done{border-color:#22c55e59;color:#86efac}.program-wizard-panel{padding:1.35rem;border-radius:12px;background:var(--hypsen-bg-card);border:1px solid var(--hypsen-border)}.program-wizard-panel .campus-form{max-width:none}.program-upload-zone{border:2px dashed var(--hypsen-border);border-radius:12px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.program-upload-zone:hover,.program-upload-zone--drag{border-color:var(--hypsen-accent);background:#89a9f50f}.program-upload-zone input{display:none}.program-source-list{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}.program-source-item{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg-elevated)}.program-source-item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.program-source-item-main strong{font-size:.88rem;color:var(--hypsen-text)}.program-source-item-main p{margin:.25rem 0 0;font-size:.78rem;color:var(--hypsen-text-dim);line-height:1.4}.program-source-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.program-source-delete{width:1.75rem;height:1.75rem;border-radius:6px;border:1px solid var(--hypsen-border);background:transparent;color:var(--hypsen-text-muted);font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.program-source-delete:hover:not(:disabled){color:#fca5a5;border-color:#fca5a573;background:#fca5a514}.program-source-delete:disabled{opacity:.45;cursor:not-allowed}.program-source-enrichment{border-top:1px solid var(--hypsen-border);padding-top:.75rem}.program-source-enrichment-options{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.program-source-checkbox{font-size:.82rem}.program-enrichment-quota{margin:.5rem 0 0;font-size:.72rem;color:var(--hypsen-text-dim)}.program-enrichment-loading{margin:.5rem 0 0;font-size:.82rem;color:var(--hypsen-accent);animation:program-pulse 1.2s ease-in-out infinite}@keyframes program-pulse{0%,to{opacity:1}50%{opacity:.5}}.program-enrichment-error{margin:.5rem 0 0;font-size:.82rem;color:#fca5a5}.program-enrichment-results{margin-top:.85rem;border-top:1px solid var(--hypsen-border);padding-top:.85rem}.program-enrichment-tabs{display:flex;gap:.35rem;margin-bottom:1rem;padding:.25rem;border-radius:10px;background:var(--hypsen-bg-elevated);border:1px solid var(--hypsen-border)}.program-enrichment-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .75rem;border:none;border-radius:8px;background:transparent;color:var(--hypsen-text-muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.program-enrichment-tab:hover{color:var(--hypsen-text)}.program-enrichment-tab--active{background:var(--hypsen-bg);color:var(--hypsen-text);box-shadow:0 1px 4px #00000026}.program-enrichment-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--hypsen-accent);color:#fff;font-size:.68rem;font-weight:700}.program-enrichment-persist-hint{margin:.75rem 0 0;font-size:.78rem;color:var(--hypsen-text-dim);line-height:1.45}.program-suggestion-card--added{border-color:color-mix(in srgb,var(--hypsen-accent) 35%,var(--hypsen-border))}.program-suggestion-list{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}.program-enrichment-section{margin-top:.85rem}.program-enrichment-section-title{margin:0 0 .5rem;font-size:.78rem;font-weight:600;color:var(--hypsen-text-muted);text-transform:uppercase;letter-spacing:.04em}.program-youtube-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.program-enrichment-empty{margin:.65rem 0 0;font-size:.8rem;color:var(--hypsen-text-dim);font-style:italic}.program-enrichment-empty-box{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1rem;border:1px dashed var(--hypsen-border);border-radius:10px;background:color-mix(in srgb,var(--hypsen-bg-elevated) 80%,transparent);text-align:center}.program-enrichment-empty-box p{margin:0;font-size:.85rem;color:var(--hypsen-text-muted)}.program-enrichment-retry{padding:.45rem 1rem;font-size:.82rem}.program-enrichment-more{width:100%;margin-top:.75rem;padding:.65rem 1rem;font-size:.85rem}.program-enrichment-more:disabled{opacity:.85}.program-skeleton-card{pointer-events:none;overflow:hidden;border-color:color-mix(in srgb,var(--hypsen-border) 70%,var(--hypsen-accent) 30%);animation:program-skeleton-card-glow 2s ease-in-out infinite}@keyframes program-skeleton-card-glow{0%,to{box-shadow:0 0 0 0 transparent;border-color:var(--hypsen-border)}50%{box-shadow:0 0 18px -4px color-mix(in srgb,var(--hypsen-accent) 35%,transparent);border-color:color-mix(in srgb,var(--hypsen-border) 55%,var(--hypsen-accent) 45%)}}.program-skeleton-shimmer{background:linear-gradient(105deg,var(--hypsen-bg-elevated) 0%,var(--hypsen-bg-elevated) 38%,color-mix(in srgb,var(--hypsen-accent) 18%,var(--hypsen-bg-elevated)) 50%,var(--hypsen-bg-elevated) 62%,var(--hypsen-bg-elevated) 100%);background-size:220% 100%;animation:program-skeleton-wave 1.6s ease-in-out infinite;border-radius:6px}@keyframes program-skeleton-wave{0%{background-position:120% 0}to{background-position:-120% 0}}.program-skeleton-body{display:flex;flex-direction:column;gap:.45rem;flex:1;min-width:0}.program-skeleton-body--web{width:100%}.program-skeleton-thumb{width:100%;border-radius:8px}.program-skeleton-thumb--youtube{aspect-ratio:16 / 9;max-height:160px}.program-skeleton-pill{width:4.5rem;height:1.15rem;border-radius:999px}.program-skeleton-pill--web{width:2.75rem}.program-skeleton-line{height:.72rem;width:100%}.program-skeleton-line--title{height:.85rem;margin-top:.15rem}.program-skeleton-line--title-short{width:72%;height:.85rem}.program-skeleton-line--domain{height:.9rem;width:38%}.program-skeleton-line--short{width:55%}.program-skeleton-actions{display:flex;gap:.45rem;margin-top:.35rem;flex-wrap:wrap}.program-skeleton-btn{width:4.25rem;height:1.65rem;border-radius:6px}.program-skeleton-btn--secondary{width:4.5rem;opacity:.75;animation-delay:.15s}.program-skeleton-link{width:3.5rem;height:.85rem;border-radius:4px;align-self:center;opacity:.6;animation-delay:.25s}.program-skeleton-card:nth-child(2) .program-skeleton-shimmer{animation-delay:.12s}.program-skeleton-card:nth-child(3) .program-skeleton-shimmer{animation-delay:.24s}.program-skeleton-card:nth-child(4) .program-skeleton-shimmer{animation-delay:.08s}.program-skeleton-card:nth-child(5) .program-skeleton-shimmer{animation-delay:.18s}.program-skeleton-card:nth-child(6) .program-skeleton-shimmer{animation-delay:.28s}.program-suggestion-card{display:flex;gap:.85rem;padding:.75rem;border-radius:10px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg)}.program-suggestion-card--youtube{flex-direction:column;height:100%}.program-suggestion-thumb-link{display:block;flex-shrink:0}.program-suggestion-thumb{width:120px;height:68px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--hypsen-bg-elevated)}.program-suggestion-thumb--youtube{width:100%;height:auto;aspect-ratio:16 / 9;max-height:160px;border-radius:8px}.program-suggestion-body{flex:1;min-width:0}.program-suggestion-body strong{display:block;font-size:.85rem;color:var(--hypsen-text);margin-bottom:.25rem}.program-suggestion-body p{margin:0 0 .5rem;font-size:.78rem;color:var(--hypsen-text-muted);line-height:1.4}.program-suggestion-why{font-size:.8rem!important;color:var(--hypsen-text)!important}.program-suggestion-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.program-suggestion-topic{font-size:.72rem;color:var(--hypsen-text-dim)}.program-suggestion-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.program-theme-picker{margin-top:.35rem}.program-theme-picker-hint{margin:0 0 .85rem;font-size:.82rem;color:var(--hypsen-text-muted);line-height:1.45}.program-theme-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem}.program-theme-filters{display:flex;gap:.45rem;flex-wrap:wrap;flex:1;min-width:0}.program-theme-filter-btn{padding:.4rem .95rem;border-radius:999px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg-elevated);color:var(--hypsen-text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.program-theme-filter-btn:hover:not(:disabled){border-color:var(--hypsen-accent-border);color:var(--hypsen-text)}.program-theme-filter-btn--active{background:var(--hypsen-accent);color:#fff;border-color:var(--hypsen-accent);box-shadow:0 2px 8px #89a9f559}.program-theme-search{display:flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--hypsen-border);background:var(--hypsen-bg-elevated);min-width:140px}.program-theme-search-icon{color:var(--hypsen-text-dim);font-size:.95rem;line-height:1}.program-theme-search input{border:none;background:transparent;color:var(--hypsen-text);font-size:.8rem;width:120px;outline:none}.program-theme-search input::placeholder{color:var(--hypsen-text-dim)}.program-theme-empty{margin:0;padding:1.5rem;text-align:center;font-size:.85rem;color:var(--hypsen-text-dim);font-style:italic;border:1px dashed var(--hypsen-border);border-radius:10px}.program-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-height:420px;overflow-y:auto;padding:.15rem .25rem .5rem 0;scrollbar-width:thin}.program-theme-card{display:flex;flex-direction:column;gap:.5rem;padding:0;border:none;border-radius:0;cursor:pointer;background:transparent;text-align:left;transition:transform .15s ease}.program-theme-card:hover:not(:disabled){transform:translateY(-2px)}.program-theme-card:focus-visible .program-theme-preview{outline:2px solid var(--hypsen-accent);outline-offset:2px}.program-theme-card--selected .program-theme-preview{box-shadow:0 0 0 2px var(--hypsen-accent),0 8px 24px #00000040}.program-theme-preview{aspect-ratio:16 / 10;border-radius:10px;padding:.75rem .85rem;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;position:relative;overflow:hidden;border:1px solid rgba(128,128,128,.25);box-shadow:0 4px 14px #0000002e;transition:box-shadow .15s ease}.program-theme-preview--light{border-color:#00000014}.program-theme-preview-glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(24px);opacity:.55}.program-theme-preview-glow--borealis{width:70%;height:50%;top:-10%;left:15%;background:radial-gradient(circle,#22d3ee 0%,transparent 70%)}.program-theme-preview-glow--flamingo{width:80%;height:40%;bottom:-5%;right:-10%;background:radial-gradient(circle,#fb923c 0%,transparent 65%)}.program-theme-preview-glow--electric{width:60%;height:60%;top:10%;right:-15%;background:radial-gradient(circle,#e879f9 0%,transparent 70%)}.program-theme-preview-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:.35rem}.program-theme-preview-inner--serif .program-theme-preview-title{font-family:Georgia,Times New Roman,serif}.program-theme-preview-title{font-size:.95rem;font-weight:700;line-height:1.2;color:inherit}.program-theme-preview-body{font-size:.68rem;line-height:1.35;opacity:.88;color:inherit}.program-theme-preview-link{color:var(--theme-accent);text-decoration:underline;text-underline-offset:2px}.program-theme-card-footer{display:flex;align-items:center;gap:.35rem;padding:0 .15rem;min-height:1.25rem}.program-theme-check{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--hypsen-accent);color:#fff;font-size:.65rem;font-weight:700;flex-shrink:0}.program-theme-card-name{font-size:.78rem;font-weight:600;color:var(--hypsen-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.program-generate-box{padding:1.25rem;border-radius:12px;background:linear-gradient(135deg,#89a9f51f,#16192299);border:1px solid var(--hypsen-accent-border);text-align:center}.program-generate-box p{margin:0 0 1rem;color:var(--hypsen-text-muted);font-size:.9rem}.program-url-row{display:flex;gap:.5rem;margin-top:1rem}.program-url-row input{flex:1}.program-upload-zone--disabled{opacity:.55;pointer-events:none;cursor:not-allowed}.program-upload-zone--uploading{border-color:#38bdf8!important;background:linear-gradient(135deg,#38bdf814,#6366f11a)!important;box-shadow:0 0 24px #38bdf840,inset 0 0 15px #38bdf81a!important;animation:uploadZonePulse 2s infinite ease-in-out}@keyframes uploadZonePulse{0%,to{box-shadow:0 0 20px #38bdf833,inset 0 0 10px #38bdf814}50%{box-shadow:0 0 35px #38bdf866,inset 0 0 20px #38bdf833}}.program-upload-active{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:.5rem 0}.program-upload-spinner-container{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.program-upload-spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid rgba(56,189,248,.15);border-top-color:#38bdf8;border-right-color:#818cf8;animation:spinGlow 1.2s linear infinite;box-shadow:0 0 12px #38bdf866}@keyframes spinGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.program-upload-spinner-core{font-size:2rem;animation:floatPulse 2s infinite ease-in-out;z-index:1}@keyframes floatPulse{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.15) translateY(-3px)}}.program-upload-active-info{width:100%;max-width:480px;display:flex;flex-direction:column;gap:.4rem;text-align:center}.program-upload-filename{font-size:.95rem;color:var(--hypsen-text);word-break:break-word}.program-upload-subtext{margin:0;font-size:.82rem;color:var(--hypsen-text-dim, #94a3b8)}.program-upload-progress-bar-wrap{width:100%;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;margin-top:.4rem;border:1px solid rgba(255,255,255,.05)}.program-upload-progress-bar-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8,#38bdf8);background-size:200% 100%;animation:shimmerMove 1.8s infinite linear;box-shadow:0 0 10px #38bdf899;border-radius:4px;transition:width .35s ease}@keyframes shimmerMove{0%{background-position:0% 0%}to{background-position:200% 0%}}.program-upload-progress-text{display:flex;justify-content:space-between;font-size:.75rem;color:var(--hypsen-text-dim, #94a3b8);font-weight:500;margin-top:.15rem}.program-file-upload-banner{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;border-radius:12px;background:var(--hypsen-bg-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(56,189,248,.35);box-shadow:0 8px 32px #0000001f,0 0 15px #38bdf81a;animation:bannerSlideIn .3s ease-out}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.program-url-ingest-status{display:flex;align-items:flex-start;gap:.85rem;margin-top:.85rem;padding:.9rem 1rem;border-radius:10px;border:1px solid rgba(96,165,250,.35);background:#2563eb1f;color:var(--hypsen-text)}.program-url-ingest-status strong{display:block;font-size:.92rem;margin-bottom:.2rem}.program-url-ingest-status p{margin:0;font-size:.82rem;color:var(--hypsen-text-muted);line-height:1.4}.program-url-ingest-spinner{flex-shrink:0;width:22px;height:22px;margin-top:2px;border:2.5px solid rgba(147,197,253,.25);border-top-color:#60a5fa;border-radius:50%;animation:campus-spin .8s linear infinite}.academy-main:has(.program-wizard){max-width:1400px;width:100%}.program-generate-layout{display:block;width:100%}.program-generate-preview-col{display:flex;flex-direction:column;gap:1rem;width:100%}.program-generate-preview-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.25rem}.program-generate-actions{display:flex;gap:.75rem;align-items:center}.program-generate-preview-head h3{margin:0;font-family:var(--hypsen-font-display);font-size:1.25rem}.program-generate-preview-head p{margin:.5rem 0 0;color:var(--hypsen-text-muted);font-size:.9rem;line-height:1.5}.program-generate-slide-frame{position:relative;z-index:1;border-radius:14px;overflow:hidden;border:1px solid var(--hypsen-border);background:#0f1117;box-shadow:0 16px 45px #00000073;width:100%;margin:0 auto;display:flex;flex-direction:column}.program-generate-slide-iframe{position:relative;width:100%;flex:1;display:flex;flex-direction:column;border:none;background:transparent}.program-generate-slide-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--hypsen-text-dim);font-size:.88rem}.program-generate-brief-outline{padding:1rem 1.25rem;border-radius:12px;background:#ffffff05;border:1px solid var(--hypsen-border);font-size:.88rem;color:var(--hypsen-text-muted);margin-top:.5rem}.program-generate-brief-outline strong{display:block;margin-bottom:.5rem;color:var(--hypsen-text);font-size:.95rem}.program-generate-brief-outline ul{margin:0;padding-left:1.25rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.4rem 1.5rem}.program-generate-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0f99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.program-generate-drawer-backdrop--open{opacity:1;pointer-events:auto}.program-generate-drawer{position:fixed;top:0;right:0;height:100vh;width:460px;max-width:100vw;background:var(--hypsen-bg-card);border-left:1px solid var(--hypsen-border);box-shadow:-12px 0 45px #0000008c;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}.program-generate-drawer--open{transform:translate(0)}.program-generate-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--hypsen-border)}.program-generate-drawer-header h3{margin:0;font-family:var(--hypsen-font-display);font-size:1.15rem}.program-generate-drawer-close{background:transparent;border:none;color:var(--hypsen-text-muted);font-size:1.85rem;cursor:pointer;line-height:1;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .15s}.program-generate-drawer-close:hover{color:var(--hypsen-text)}.program-generate-drawer-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.program-generate-drawer-hint{margin:0;font-size:.85rem;color:var(--hypsen-text-muted);line-height:1.45}.program-generate-drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--hypsen-border);background:#0f111766}.program-generate-drawer .program-theme-picker--sidebar .program-theme-grid{grid-template-columns:1fr 1fr;max-height:none;overflow-y:visible;padding-right:0}.program-generate-continue-btn{width:100%}.program-generate-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:3rem 1.5rem;text-align:center;color:var(--hypsen-text-muted)}.program-generate-loading-orbit{width:56px;height:56px;border-radius:50%;border:3px solid rgba(137,169,245,.2);border-top-color:var(--hypsen-accent);animation:program-orbit-spin .9s linear infinite}@keyframes program-orbit-spin{to{transform:rotate(360deg)}}.program-generate-result h2{margin:0 0 .5rem;font-size:1.05rem}.program-generate-result p{margin:0;color:var(--hypsen-text-muted);font-size:.88rem}.program-generate-result-note{margin-top:.75rem!important;font-size:.82rem!important;color:var(--hypsen-text-dim)!important}.program-generation-progress{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1.5rem 1.5rem;border-radius:14px;background:linear-gradient(160deg,#89a9f514,#0f1117d9);border:1px solid var(--hypsen-accent-border)}.program-generation-gauge{position:relative;width:140px;height:140px}.program-generation-gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.program-generation-gauge-track{fill:none;stroke:#89a9f526;stroke-width:8}.program-generation-gauge-fill{fill:none;stroke:var(--hypsen-accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:calc(326.7 - (326.7 * var(--gen-pct, 0) / 100));transition:stroke-dashoffset .6s ease;filter:drop-shadow(0 0 6px rgba(137,169,245,.45))}.program-generation-gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.program-generation-gauge-pct{font-size:1.65rem;font-weight:700;font-family:var(--hypsen-font-display);color:var(--hypsen-text)}.program-generation-gauge-label{font-size:.72rem;color:var(--hypsen-text-dim);text-transform:uppercase;letter-spacing:.06em}.program-generation-gauge-pulse{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid rgba(137,169,245,.25);animation:program-gauge-pulse 2s ease-out infinite;pointer-events:none}@keyframes program-gauge-pulse{0%{transform:scale(.92);opacity:.7}to{transform:scale(1.15);opacity:0}}.program-generation-status{text-align:center;max-width:420px}.program-generation-status-main{margin:0 0 .35rem;font-size:.95rem;color:var(--hypsen-text);line-height:1.45}.program-generation-status-detail{margin:0 0 .5rem;font-size:.82rem;color:var(--hypsen-accent)}.program-generation-status-hint{margin:0;font-size:.78rem;color:var(--hypsen-text-dim)}.program-generation-steps{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.program-generation-step{font-size:.72rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--hypsen-border);color:var(--hypsen-text-dim);transition:all .25s ease}.program-generation-step--active{border-color:var(--hypsen-accent);color:var(--hypsen-accent);background:#89a9f51a}.program-generation-step--done{border-color:#22c55e59;color:#86efac}.program-gen-spinner-wrap{display:inline-flex;align-items:center;gap:.45rem}.program-gen-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(137,169,245,.25);border-top-color:var(--hypsen-accent);animation:program-orbit-spin .75s linear infinite;flex-shrink:0}.program-gen-spinner-label{font-size:.78rem;color:var(--hypsen-accent);font-weight:600}.campus-btn-link--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.rpg-fullscreen-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-width:100vw;background-color:#030712;background-image:linear-gradient(rgba(18,24,38,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(18,24,38,.5) 1px,transparent 1px);background-size:30px 30px;z-index:99999;display:flex;align-items:center;justify-content:center;font-family:Courier New,Courier,monospace;color:#f3f4f6;overflow:hidden;overflow-x:hidden;box-sizing:border-box}.rpg-fullscreen-container:before{content:" ";display:block;position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);z-index:2;background-size:100% 4px,6px 100%;pointer-events:none}.rpg-deck{width:96%;max-width:1400px;height:92%;max-height:850px;background:#0a0f1e66;border:2px solid #38bdf8;box-shadow:0 0 30px #38bdf840,inset 0 0 30px #38bdf81a;border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;padding:1.5rem;position:relative;z-index:10;overflow:hidden}.rpg-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(56,189,248,.3);padding-bottom:1rem;margin-bottom:1rem;position:relative;z-index:10}.rpg-header-right{display:flex;align-items:center;gap:.85rem}.rpg-signal{display:flex;align-items:flex-end;gap:3px;height:22px;padding:.35rem .55rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#05081473;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rpg-signal-bar{width:4px;border-radius:2px;background:#94a3b847;transition:background .25s ease,box-shadow .25s ease}.rpg-signal--4 .rpg-signal-bar.is-on{background:#22c55e;box-shadow:0 0 6px #22c55e8c}.rpg-signal--3 .rpg-signal-bar.is-on{background:#eab308;box-shadow:0 0 6px #eab30873}.rpg-signal--2 .rpg-signal-bar.is-on{background:#f59e0b;box-shadow:0 0 6px #f59e0b73}.rpg-signal--1 .rpg-signal-bar.is-on{background:#ef4444;box-shadow:0 0 6px #ef44448c}.rpg-title-glowing{font-size:1.5rem;font-weight:900;color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.6);letter-spacing:2px;margin:0;display:flex;align-items:center;gap:.75rem}.rpg-timer-glowing{font-size:1.4rem;font-weight:700;padding:.4rem 1rem;border-radius:8px;border:1px solid rgba(56,189,248,.4);text-shadow:0 0 8px currentColor;box-shadow:0 0 10px #38bdf81a;letter-spacing:1px}.rpg-bg-stack{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.rpg-bg-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;filter:brightness(.6) contrast(1.15) saturate(1.1);transition:opacity .45s ease;pointer-events:none}.rpg-bg-image.is-active{opacity:1;z-index:2}.rpg-farewell-banner{position:absolute;left:50%;bottom:1.75rem;transform:translate(-50%);z-index:120;display:flex;align-items:center;gap:.65rem;padding:.7rem 1.15rem;border-radius:999px;border:1px solid rgba(56,189,248,.35);background:#050814b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e2e8f0;font-size:.92rem;letter-spacing:.02em;box-shadow:0 8px 24px #00000059;pointer-events:none;max-width:min(90%,520px);text-align:center}.rpg-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0a0f1e80,#0a0f1e33 60%,#0a0f1ed9);z-index:2;pointer-events:none}.rpg-bg-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#0f172af2,#050814fa);z-index:1}.rpg-content-overlay{position:relative;z-index:10;display:flex;flex-direction:column;height:100%;width:100%;justify-content:space-between;gap:1rem;min-height:0}.rpg-middle-section{display:grid;grid-template-columns:350px 1fr;gap:2rem;flex:1;min-height:0;align-items:center}.rpg-char-card{background:#0a0f1ebf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(56,189,248,.25);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;box-shadow:0 8px 32px #0009,inset 0 0 15px #38bdf80d;position:relative;height:fit-content}.rpg-voice-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:1.5px;color:#10b981;text-transform:uppercase}.rpg-scene-space{position:relative;height:100%;border:1px solid rgba(56,189,248,.15);background:#0a0f1e26;border-radius:12px;box-shadow:inset 0 0 30px #00000080;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1rem;padding:1.5rem;pointer-events:auto;overflow:hidden}.rpg-situation-panel{flex:1;display:flex;flex-direction:column;background:#050814eb;border:1px solid rgba(56,189,248,.15);border-radius:8px;padding:1rem;overflow:hidden;box-shadow:0 4px 20px #0006;max-width:100%;width:100%;min-width:0;box-sizing:border-box}.rpg-situation-panel-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;border-bottom:1px solid rgba(56,189,248,.15);padding-bottom:.5rem;margin-bottom:.75rem;flex-shrink:0}.rpg-situation-header{font-size:.8rem;font-weight:700;color:#38bdf8;text-transform:uppercase;letter-spacing:1.5px;text-shadow:0 0 5px rgba(56,189,248,.3);border:none;margin:0;padding:0;min-width:0}.rpg-situation-close{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(148,163,184,.35);border-radius:8px;color:#e2e8f0;font-size:1.1rem;line-height:1;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.rpg-situation-close:hover,.rpg-situation-close:focus-visible{color:#fecaca;border-color:#ef44448c;background:#ef44441f;outline:none}.rpg-situation-body{flex:1;font-size:.9rem;line-height:1.5;color:#e5e7eb;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;min-height:0;overflow-wrap:anywhere;word-break:break-word;scrollbar-width:thin;scrollbar-color:rgba(56,189,248,.3) transparent}.rpg-situation-body::-webkit-scrollbar{width:4px}.rpg-situation-body::-webkit-scrollbar-thumb{background:#38bdf84d;border-radius:2px}.rpg-situation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;z-index:20;animation:slideInRight .3s cubic-bezier(.16,1,.3,1);padding:1.5rem;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.rpg-closed-captions{display:flex;justify-content:center;align-items:center;width:100%;padding:0 2rem;margin-bottom:.5rem;pointer-events:none;z-index:15}.rpg-cc-box{background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:6px;padding:.75rem 1.5rem;max-width:80%;text-align:center;box-shadow:0 4px 20px #00000080;border:1px solid rgba(255,255,255,.08);animation:cc-fade-in .2s ease-out}.rpg-cc-text{font-family:system-ui,-apple-system,sans-serif;font-size:1.15rem;font-weight:500;color:#fff;line-height:1.5;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.9)}@keyframes cc-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.rpg-subtitle-placeholder{font-size:.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.rpg-subtitle-placeholder.thinking{color:#f59e0b;text-shadow:0 0 8px rgba(245,158,11,.4);animation:rpg-pulse 1.5s infinite}.rpg-subtitle-placeholder.speaking{color:#ec4899;text-shadow:0 0 8px rgba(236,72,153,.4);animation:rpg-pulse 1s infinite}.rpg-subtitle-placeholder.listening{color:#10b981;text-shadow:0 0 8px rgba(16,185,129,.4);animation:rpg-pulse 1.5s infinite}.rpg-subtitle-placeholder.idle{color:#64748b;text-shadow:0 0 5px rgba(100,116,139,.2)}@keyframes rpg-pulse{0%,to{opacity:.6}50%{opacity:1}}.rpg-scene-tag{font-size:.7rem;font-weight:700;color:#38bdf899;letter-spacing:2px;text-shadow:0 0 5px rgba(56,189,248,.3);font-family:monospace;align-self:flex-end;margin-top:auto}.rpg-scene-frame-corner{position:absolute;width:15px;height:15px;border:2px solid rgba(56,189,248,.4);pointer-events:none}.rpg-scene-frame-corner.top-left{top:-1px;left:-1px;border-right:none;border-bottom:none}.rpg-scene-frame-corner.top-right{top:-1px;right:-1px;border-left:none;border-bottom:none}.rpg-scene-frame-corner.bottom-left{bottom:-1px;left:-1px;border-right:none;border-top:none}.rpg-scene-frame-corner.bottom-right{bottom:-1px;right:-1px;border-left:none;border-top:none}.rpg-holo-container{width:180px;height:180px;position:relative;display:flex;align-items:center;justify-content:center}.rpg-holo-ring-outer{width:180px;height:180px;border-radius:50%;border:2px dashed rgba(56,189,248,.4);position:absolute;animation:rotate-clockwise 25s linear infinite;pointer-events:none}.rpg-holo-ring-inner{width:155px;height:155px;border-radius:50%;border:2px dotted rgba(56,189,248,.6);position:absolute;animation:rotate-counter 15s linear infinite;pointer-events:none}.rpg-holo-avatar{width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:4.5rem;position:absolute;z-index:3;transition:all .5s ease;animation:float 4s ease-in-out infinite}.rpg-holo-avatar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.3) 50%);background-size:100% 6px;pointer-events:none}.rpg-hud-bottom{background:#0a0f1ebf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(56,189,248,.25);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 8px 32px #00000080;position:relative;z-index:10}.rpg-hud-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:center}.rpg-hud-label{font-size:.75rem;font-weight:900;letter-spacing:2px;color:#94a3b8;text-transform:uppercase;margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem}.rpg-badge-glowing{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border:1px solid currentColor;box-shadow:0 0 10px #ffffff0d;transition:all .5s ease}.rpg-progress-track{width:100%;height:16px;background:#090d16;border-radius:8px;overflow:hidden;border:1px solid rgba(56,189,248,.2);position:relative;box-shadow:inset 0 0 10px #000c}.rpg-progress-fill{height:100%;border-radius:8px;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative}.rpg-progress-glow{position:absolute;top:0;right:0;bottom:0;width:10px;background:#fff;opacity:.8;filter:blur(4px);animation:pulse-width 1.5s ease-in-out infinite}@keyframes rotate-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-counter{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes pulse-width{0%,to{opacity:.4}50%{opacity:.9}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rpg-audio-unlock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;padding:1rem 1.75rem;border:1px solid rgba(56,189,248,.6);border-radius:12px;background:#080f23f2;color:#e0f2fe;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 0 24px #38bdf859;animation:fadeIn .25s ease-in-out}.rpg-audio-unlock:hover{background:#0e1e3cfa;border-color:#38bdf8}.rpg-thinking-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#030712bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease-in-out}.rpg-thinking-box{background:#0a0f1ef2;border:4px double #38bdf8;box-shadow:0 0 40px #38bdf866,inset 0 0 25px #38bdf840;border-radius:16px;padding:3rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:480px;width:90%;text-align:center;position:relative}.rpg-thinking-radar{width:110px;height:110px;border-radius:50%;border:2px solid rgba(56,189,248,.15);position:relative;display:flex;align-items:center;justify-content:center}.rpg-thinking-radar:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid #38bdf8;border-top-color:transparent;border-bottom-color:transparent;animation:rotate-clockwise 2s linear infinite}.rpg-thinking-radar:after{content:"";position:absolute;width:75%;height:75%;border-radius:50%;border:2px dashed #ec4899;border-left-color:transparent;border-right-color:transparent;animation:rotate-counter 1.5s linear infinite}.rpg-thinking-dot{width:14px;height:14px;background-color:#38bdf8;border-radius:50%;box-shadow:0 0 20px #38bdf8;animation:float 1.2s ease-in-out infinite}.rpg-thinking-title{font-size:1.25rem;font-weight:900;color:#38bdf8;text-shadow:0 0 12px rgba(56,189,248,.7);letter-spacing:4px;margin:0;text-transform:uppercase}.rpg-thinking-subtitle{font-size:.85rem;color:#94a3b8;letter-spacing:2px;margin:0;font-family:monospace;animation:pulse-width 1.5s infinite}.rpg-results-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2rem;text-align:center;gap:1.5rem}.rpg-results-card{background:#0f172acc;border:2px solid #10b981;box-shadow:0 0 25px #10b98133;border-radius:16px;padding:2.5rem;max-width:650px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.rpg-results-card.failed{border-color:#ef4444;box-shadow:0 0 25px #ef444433}.rpg-score-circle{width:140px;height:140px;border-radius:50%;border:4px solid #10b981;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:900;color:#10b981;text-shadow:0 0 10px rgba(16,185,129,.4);box-shadow:0 0 20px #10b9811a}.rpg-score-circle.failed{border-color:#ef4444;color:#ef4444;text-shadow:0 0 10px rgba(239,68,68,.4)}.rpg-loader-box{text-align:center;padding:40px;border:2px solid #38bdf8;background:#0a0f1ee6;box-shadow:0 0 40px #38bdf866;border-radius:12px;max-width:600px;width:90%;z-index:10}.rpg-loader-spinner{width:80px;height:80px;border:4px solid rgba(56,189,248,.1);border-left-color:#38bdf8;border-radius:50%;margin:0 auto 30px;animation:rpg-spin 1.5s linear infinite;position:relative}.rpg-loader-spinner:after{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:4px solid rgba(236,72,153,.1);border-right-color:#ec4899;border-radius:50%;animation:rpg-spin-reverse 1s linear infinite}@keyframes rpg-spin{to{transform:rotate(360deg)}}@keyframes rpg-spin-reverse{to{transform:rotate(-360deg)}}.rpg-loader-title{font-size:1.4rem;color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.5);margin-bottom:15px;letter-spacing:2px}.rpg-loader-text{font-size:.95rem;color:#94a3b8;min-height:24px;letter-spacing:1px}.rpg-loader-bar-bg{width:100%;height:6px;background:#ffffff0d;border-radius:3px;margin-top:25px;overflow:hidden}.rpg-loader-bar-fill{height:100%;background:linear-gradient(90deg,#38bdf8,#ec4899);transition:width .5s ease-in-out;box-shadow:0 0 10px #38bdf8}.rpg-error-box{text-align:center;padding:40px;border:2px solid #ef4444;background:#0a0f1ee6;box-shadow:0 0 40px #ef444459;border-radius:12px;max-width:600px;width:90%;z-index:10}.rpg-error-title{font-size:1.4rem;color:#ef4444;text-shadow:0 0 10px rgba(239,68,68,.5);margin-bottom:15px;letter-spacing:2px}.rpg-mission-block,.rpg-thermo-block{display:flex;flex-direction:column;min-width:0}.rpg-mission-label{justify-content:space-between;gap:.5rem;width:100%}.rpg-mission-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;background:#38bdf81a;border:1px solid rgba(56,189,248,.35);color:#7dd3fc;border-radius:999px;padding:.2rem .65rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;flex-shrink:0}.rpg-mission-toggle:hover,.rpg-mission-toggle:focus-visible{background:#38bdf833;outline:none}.rpg-mission-toggle-text{display:none}.rpg-mission-goal{display:flex;align-items:flex-start;gap:.75rem;background:#05081499;padding:.6rem 1rem;border-radius:8px;border:1px solid rgba(56,189,248,.15);box-shadow:inset 0 0 10px #00000080;min-width:0}.rpg-mission-block.is-collapsed .rpg-mission-goal{display:none}.rpg-hud-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(56,189,248,.15);padding-top:.75rem;gap:1rem;flex-wrap:wrap}.rpg-hud-controls-hint{margin:0;font-size:.8rem;color:#94a3b8;display:flex;align-items:center;gap:.5rem}.rpg-hud-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.rpg-ptt-btn{min-width:150px;min-height:54px;padding:.65rem 1.4rem;border-radius:999px;color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.04em;-webkit-user-select:none;user-select:none;touch-action:none;transition:background .15s,box-shadow .15s,transform .15s;cursor:pointer}.rpg-ptt-btn.is-talking{border:2px solid #34d399;background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 0 24px #10b9818c;transform:scale(1.04)}.rpg-ptt-btn:not(.is-talking){border:2px solid #f87171;background:linear-gradient(135deg,#b91c1c,#ef4444);box-shadow:0 0 18px #ef444461}.rpg-ptt-btn:disabled{cursor:not-allowed;opacity:.5}.rpg-ptt-hint{display:block;margin-top:.15rem;font-size:.65rem;font-weight:600;opacity:.85;letter-spacing:0}.rpg-hud-secondary{display:flex;gap:1rem;align-items:center}.rpg-btn-situation,.rpg-btn-end{padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:.5rem;border-radius:8px;cursor:pointer;transition:all .2s;background:transparent}.rpg-btn-situation{border:1px solid #38bdf8;color:#38bdf8;box-shadow:0 0 10px #38bdf81a}.rpg-btn-situation.active{background:#38bdf826}.rpg-btn-end{border:1px solid #ef4444;color:#ef4444;box-shadow:0 0 10px #ef44441a;padding:.5rem 1.5rem}@media(max-width:768px){.rpg-deck{width:100%;height:100%;max-width:100vw;max-height:none;border-radius:0;padding:.6rem;border-left:none;border-right:none;overflow-x:hidden;box-sizing:border-box}.rpg-content-overlay,.rpg-middle-section,.rpg-hud-bottom,.rpg-scene-space{max-width:100%;min-width:0;box-sizing:border-box}.rpg-situation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;width:100vw;max-width:100vw;height:100%;padding:.75rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px));background:#0307129e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:rpgSituationSheetIn .28s ease-out;justify-content:flex-end}@keyframes rpgSituationSheetIn{0%{opacity:0}to{opacity:1}}.rpg-situation-panel{max-height:min(68vh,520px);width:100%;max-width:100%;border-radius:14px 14px 10px 10px;padding:.85rem;background:#050814f5}.rpg-situation-header{font-size:.72rem;letter-spacing:1px}.rpg-situation-body{font-size:.88rem;max-height:none}.rpg-mission-toggle-text{display:inline}.rpg-mission-block.is-collapsed{gap:0}.rpg-mission-goal{max-height:7.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.rpg-mission-goal span:last-child{font-size:.85rem!important}.rpg-header{padding-bottom:.55rem;margin-bottom:.55rem;gap:.5rem}.rpg-header-right{gap:.5rem;flex-shrink:0}.rpg-signal{padding:.25rem .4rem;height:18px}.rpg-signal-bar{width:3px}.rpg-title-glowing{font-size:1rem;letter-spacing:1px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpg-timer-glowing{font-size:1rem;padding:.3rem .65rem;flex-shrink:0}.rpg-content-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch;gap:.65rem}.rpg-middle-section{grid-template-columns:1fr;gap:.6rem;align-items:stretch}.rpg-char-card{padding:.75rem;gap:.65rem;flex-direction:row;justify-content:flex-start}.rpg-holo-container,.rpg-holo-ring-outer{width:96px;height:96px}.rpg-holo-ring-inner{width:82px;height:82px}.rpg-holo-avatar{width:70px;height:70px;font-size:2.2rem}.rpg-scene-space{padding:.75rem;min-height:120px;overflow:hidden}.rpg-hud-bottom{padding:.75rem;gap:.65rem;flex-shrink:0;max-width:100%;overflow:hidden}.rpg-hud-grid{grid-template-columns:1fr;gap:.65rem}.rpg-hud-controls{flex-direction:column;align-items:stretch;gap:.5rem}.rpg-hud-controls-hint{font-size:.72rem}.rpg-hud-actions{flex-direction:column;width:100%;gap:.5rem}.rpg-ptt-btn{width:100%;min-height:52px}.rpg-hud-secondary{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.5rem}.rpg-btn-situation,.rpg-btn-end{justify-content:center;width:100%;padding:.55rem .5rem;font-size:.78rem}.rpg-cc-box{max-width:95%;padding:.5rem .85rem}.rpg-cc-text{font-size:.95rem}.rpg-closed-captions{padding:0 .5rem}.rpg-results-card{padding:1.25rem}.rpg-score-circle{width:100px;height:100px;font-size:2.2rem}}.rpg-error-icon{font-size:3rem;color:#ef4444;margin-bottom:20px;text-shadow:0 0 10px rgba(239,68,68,.5)}.rpg-error-text{font-size:.95rem;color:#fca5a5;margin-bottom:25px;line-height:1.5}.rpg-error-btn{background:#ef4444;color:#fff;border:none;padding:10px 25px;border-radius:6px;font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .2s;box-shadow:0 0 15px #ef444466}.rpg-error-btn:hover{background:#dc2626;box-shadow:0 0 25px #ef444499}.classroom-container{display:flex;flex-direction:column;height:100vh;width:100vw;background:#0b0d13;color:#f1f5f9;font-family:inherit;overflow:hidden;position:fixed;top:0;left:0;z-index:9999}.classroom-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#0f111a;border-bottom:1px solid #1e293b}.classroom-header h1{font-size:1.25rem;font-weight:700;margin:0;color:#f8fafc}.classroom-header p{font-size:.85rem;color:#94a3b8;margin:.2rem 0 0}.classroom-exit-btn{background:#ef4444;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .15s ease}.classroom-exit-btn:hover{background:#dc2626}.classroom-layout{display:flex;flex:1;overflow:hidden;position:relative}.classroom-main-col{flex:1;position:relative;overflow:hidden;background:#000;transition:all .4s cubic-bezier(.16,1,.3,1)}.classroom-slide-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#000;overflow:hidden;z-index:1}.classroom-slide-wrapper--fullscreen{background:#0a0a0a}.classroom-fullscreen-btn{position:absolute;top:.85rem;right:.85rem;z-index:12;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0f111ab8;color:#f8fafc;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:.55;transition:opacity .2s ease,background .2s ease,transform .15s ease}.classroom-slide-wrapper:hover .classroom-fullscreen-btn,.classroom-fullscreen-btn:focus-visible,.classroom-slide-wrapper--fullscreen .classroom-fullscreen-btn{opacity:1}.classroom-fullscreen-btn:hover{background:#2563ebd9;transform:scale(1.04)}.classroom-slide-iframe{width:100%;height:100%;border:none;display:flex;flex-direction:column}.classroom-controls-trigger{position:absolute;bottom:0;left:0;right:0;height:140px;z-index:9;background:transparent}.classroom-controls{position:absolute;bottom:-120px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;width:90%;max-width:850px;background:#0f111ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:.85rem 2rem;border-radius:40px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #0009;gap:1.5rem;z-index:10;opacity:0;pointer-events:none;transition:bottom .4s cubic-bezier(.16,1,.3,1),opacity .4s ease}.classroom-controls-trigger:hover~.classroom-controls,.classroom-controls:hover,.classroom-controls.visible{bottom:2rem;opacity:1;pointer-events:auto}.classroom-controls-left,.classroom-controls-right{display:flex;align-items:center;gap:1rem}.classroom-controls-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.classroom-nav-btn{background:#ffffff0d;color:#f8fafc;border:1px solid rgba(255,255,255,.08);padding:.5rem 1.25rem;border-radius:20px;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.classroom-nav-btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.classroom-nav-btn:disabled{opacity:.25;cursor:not-allowed}.classroom-play-btn{background:#10b981;color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #10b9814d}.classroom-play-btn:hover{background:#059669;transform:scale(1.08);box-shadow:0 6px 16px #10b98166}.classroom-progress-text{font-size:.85rem;color:#94a3b8;font-weight:600;letter-spacing:.02em}.classroom-progress-bar-container{width:100%;max-width:300px;height:5px;background:#ffffff14;border-radius:10px;overflow:hidden}.classroom-progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:10px;transition:width .4s cubic-bezier(.16,1,.3,1)}.classroom-action-btn{background:#ffffff0d;color:#f1f5f9;border:1px solid rgba(255,255,255,.08);padding:.5rem 1.25rem;border-radius:20px;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.classroom-action-btn:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.hand-raise-btn-pill.active{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 4px 15px #ef444466;animation:pulse-red 2s infinite}.hand-raise-btn-pill{touch-action:none;user-select:none;-webkit-user-select:none}.sidebar-toggle-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 4px 15px #3b82f64d}.classroom-sidebar{width:380px;min-width:380px;background:#0f111a;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1)}.classroom-sidebar.closed{width:0px;min-width:0px;opacity:0;transform:translate(100%);border-left-color:transparent}.instructor-panel{padding:1.5rem;border-bottom:1px solid #1e293b;display:flex;flex-direction:column;align-items:center;background:#131622}.avatar-container{position:relative;width:100px;height:100px;margin-bottom:1rem;flex-shrink:0}.avatar-circle{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#10b981,#3b82f6);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;border:3px solid #1e293b;z-index:2;position:relative;box-shadow:0 4px 15px #0000004d}.avatar-pulse{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:#10b98166;z-index:1;animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite}.avatar-pulse-2{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:#3b82f64d;z-index:1;animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite;animation-delay:.5s}@keyframes pulse-ring{0%{transform:scale(.95);opacity:1}to{transform:scale(1.4);opacity:0}}.listening-waves{display:flex;gap:4px;align-items:center;height:20px;margin-top:.5rem}.listening-wave-bar{width:3px;height:8px;background:#3b82f6;border-radius:2px;animation:wave-bounce 1s ease-in-out infinite}.listening-wave-bar:nth-child(2){animation-delay:.15s}.listening-wave-bar:nth-child(3){animation-delay:.3s}.listening-wave-bar:nth-child(4){animation-delay:.45s}.listening-wave-bar:nth-child(5){animation-delay:.6s}@keyframes wave-bounce{0%,to{height:6px}50%{height:18px}}.thinking-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.instructor-name{font-size:1rem;font-weight:700;color:#f8fafc;margin:0 0 .25rem}.instructor-status{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.status-speaking{color:#10b981}.status-listening{color:#3b82f6}.status-thinking{color:#f59e0b}.status-loading{color:#10b981}.status-idle{color:#94a3b8}.hand-raise-btn{margin-top:1rem;width:100%;padding:.65rem;border-radius:8px;border:none;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.hand-raise-btn--inactive{background:#3b82f6;color:#fff}.hand-raise-btn--inactive:hover{background:#2563eb}.hand-raise-btn--active{background:#ef4444;color:#fff;animation:pulse-red 2s infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}.chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.chat-bubble{max-width:85%;padding:.75rem 1rem;border-radius:12px;font-size:.9rem;line-height:1.4}.chat-bubble--user{background:#1e293b;color:#f1f5f9;align-self:flex-end;border-bottom-right-radius:2px}.chat-bubble--assistant{background:#222533;color:#f1f5f9;align-self:flex-start;border-bottom-left-radius:2px;border:1px solid #2e3244}.chat-bubble--system{background:#3b82f61a;color:#93c5fd;align-self:center;max-width:95%;font-size:.8rem;text-align:center;border:1px solid rgba(59,130,246,.2)}.chat-input-area{padding:1rem;background:#131622;border-top:1px solid #1e293b;display:flex;gap:.5rem}.chat-input{flex:1;background:#0b0d13;border:1px solid #1e293b;border-radius:8px;padding:.65rem .85rem;color:#f1f5f9;font-size:.9rem;outline:none;transition:border-color .15s ease}.chat-input:focus{border-color:#3b82f6}.chat-send-btn{background:#3b82f6;color:#fff;border:none;padding:0 1.25rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s ease}.chat-send-btn:hover:not(:disabled){background:#2563eb}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.narration-loader{position:absolute;top:1rem;right:1rem;background:#0f111ad9;border:1px solid #1e293b;padding:.5rem 1rem;border-radius:20px;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#10b981;font-weight:600;z-index:10}.cap-eval-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f111ae6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cap-eval-modal{background:#0b0f19;border:1px solid rgba(255,255,255,.08);border-radius:16px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #000000b3;color:#f8fafc}.cap-eval-modal h2{font-size:1.5rem;font-weight:700;margin:0;padding:1.5rem 2rem;border-bottom:1px solid #1e293b;background:#1e293b40;border-top-left-radius:16px;border-top-right-radius:16px}.cap-eval-modal-subtitle{padding:.75rem 2rem;background:#1e293b20;font-size:.9rem;color:#94a3b8;border-bottom:1px solid #1e293b}.cap-eval-form{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.5rem}.cap-eval-question{border:1px solid #1e293b;border-radius:12px;padding:1.25rem;background:#1e293b30;margin:0}.cap-eval-question legend{font-weight:600;font-size:1rem;color:#f1f5f9;padding:0 .5rem;margin-bottom:.75rem}.cap-eval-options{display:flex;flex-direction:column;gap:.75rem}.cap-eval-options label{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid #334155;border-radius:8px;cursor:pointer;transition:all .15s ease;background:#1e293b20}.cap-eval-options label:hover{border-color:#3b82f6;background:#3b82f610}.cap-eval-options input[type=radio]{width:1.1rem;height:1.1rem;accent-color:#3b82f6;cursor:pointer}.cap-eval-textarea{width:100%;min-height:100px;background:#0f172a;border:1px solid #334155;border-radius:8px;padding:.75rem;color:#f8fafc;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .15s ease}.cap-eval-textarea:focus{outline:none;border-color:#3b82f6}.cap-eval-footer{padding:1.5rem 2rem;border-top:1px solid #1e293b;display:flex;justify-content:flex-end;gap:1rem;background:#1e293b40;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.cap-eval-btn-primary{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s ease}.cap-eval-btn-primary:hover:not(:disabled){background:#2563eb}.cap-eval-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cap-eval-btn-secondary{background:transparent;color:#94a3b8;border:1px solid #334155;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .15s ease}.cap-eval-btn-secondary:hover{color:#f8fafc;border-color:#475569;background:#33415530}.cap-eval-results{padding:2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:2rem}.cap-eval-score-card{display:flex;align-items:center;gap:2.5rem;padding:2.5rem;border-radius:16px;background:linear-gradient(135deg,#1e293bb3,#0f172acc);border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px -10px #00000080}.cap-eval-score-circle{width:110px;height:110px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:2.25rem;color:#fff;flex-shrink:0;text-shadow:0 2px 4px rgba(0,0,0,.3);box-shadow:0 0 20px #3b82f64d}.cap-eval-score-circle.passed{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 30px #10b98166;border:4px solid rgba(16,185,129,.3)}.cap-eval-score-circle.failed{background:linear-gradient(135deg,#f43f5e,#dc2626);box-shadow:0 0 30px #f43f5e66;border:4px solid rgba(244,63,94,.3)}.cap-eval-score-text h3{font-size:1.6rem;font-weight:700;margin:0 0 .75rem;color:#f8fafc}.cap-eval-score-text p{color:#cbd5e1;margin:0;font-size:1rem;line-height:1.6}.cap-eval-breakdown-title{font-size:1.2rem;font-weight:600;margin:0 0 1rem;color:#f1f5f9}.cap-eval-breakdown-list{display:flex;flex-direction:column;gap:1rem}.cap-eval-breakdown-item{border:1px solid #1e293b;border-radius:8px;padding:1rem;background:#1e293b20}.cap-eval-breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.cap-eval-breakdown-header h4{font-size:1rem;font-weight:600;margin:0;color:#f8fafc}.cap-eval-breakdown-score{font-weight:700;font-size:.9rem;padding:.25rem .75rem;border-radius:20px}.cap-eval-breakdown-score.correct{background:#10b98120;color:#34d399;border:1px solid #10b98140}.cap-eval-breakdown-score.incorrect{background:#ef444420;color:#f87171;border:1px solid #ef444440}.cap-eval-breakdown-feedback{font-size:.9rem;color:#94a3b8;margin:0;line-height:1.4}.classroom-welcome-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#111827,#030712);display:flex;align-items:center;justify-content:center;z-index:10000;padding:2rem}.classroom-welcome-card{background:#11182799;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);padding:3.5rem 3rem;border-radius:24px;max-width:600px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #000000b3;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.classroom-welcome-avatar{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:800;color:#fff;box-shadow:0 10px 25px -5px #3b82f680;margin-bottom:.5rem;position:relative}.classroom-welcome-avatar:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;border:2px solid #3b82f6;opacity:.5;animation:welcome-pulse 2s infinite}@keyframes welcome-pulse{0%{transform:scale(1);opacity:.5}50%{transform:scale(1.15);opacity:0}to{transform:scale(1);opacity:.5}}.classroom-welcome-card h2{font-size:1.8rem;font-weight:800;margin:0;color:#f8fafc;line-height:1.3}.classroom-welcome-card p{font-size:1rem;color:#94a3b8;margin:0;line-height:1.6}.classroom-welcome-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1rem 2.5rem;border-radius:50px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 20px -10px #10b98180;display:flex;align-items:center;gap:.75rem;margin-top:1rem}.classroom-welcome-btn:hover{transform:translateY(-2px);box-shadow:0 15px 25px -10px #10b98199;filter:brightness(1.1)}.classroom-welcome-btn:active{transform:translateY(0)}.classroom-welcome-exit{background:transparent;border:none;color:#94a3b8;font-size:.95rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;margin-top:.25rem;text-decoration:underline;text-underline-offset:3px}.classroom-welcome-exit:hover{color:#f8fafc}.classroom-voice-warning{position:fixed;top:5.25rem;left:50%;z-index:9000;width:min(680px,calc(100vw - 2rem));transform:translate(-50%);display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1px solid rgba(251,191,36,.45);border-radius:14px;color:#f8fafc;background:#1e293bf5;box-shadow:0 16px 40px #00000059}.classroom-voice-warning-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem;line-height:1.35}.classroom-voice-warning-copy span{color:#cbd5e1;font-size:.88rem}.classroom-voice-warning button{flex-shrink:0;border:0;border-radius:999px;padding:.55rem .9rem;color:#0f172a;background:#fbbf24;font-weight:750;cursor:pointer}.classroom-voice-warning .classroom-voice-warning-dismiss{width:2rem;height:2rem;padding:0;color:#cbd5e1;background:transparent;font-size:1.4rem}@media(max-width:640px){.classroom-voice-warning{align-items:flex-start;flex-wrap:wrap}.classroom-voice-warning-copy{flex-basis:calc(100% - 3rem)}}.classroom-sidebar-backdrop,.classroom-sheet-header{display:none}@media(max-width:768px){.classroom-header{flex-wrap:wrap;padding:.5rem .65rem;gap:.4rem;align-items:flex-start}.classroom-header h1{font-size:.9rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;max-width:calc(100% - 7rem)}.classroom-header p{font-size:.72rem;margin:.15rem 0 0}.classroom-exit-btn{padding:.35rem .65rem;font-size:.75rem;margin-left:auto}.classroom-layout{flex-direction:column;position:relative}.classroom-main-col{width:100%;min-width:0;flex:1}.classroom-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background:#0000008c;z-index:10040;cursor:pointer}.classroom-sidebar,.classroom-sidebar.classroom-sidebar--sheet{position:fixed;left:0;right:0;bottom:0;top:auto;height:min(88dvh,100%);width:100%!important;min-width:0!important;max-width:none;z-index:10050;border-radius:16px 16px 0 0;border-left:none;border-top:1px solid rgba(255,255,255,.12);transform:translateY(110%);opacity:1;transition:transform .25s ease;pointer-events:none}.classroom-sidebar:not(.closed){transform:translateY(0);pointer-events:auto}.classroom-sidebar.closed{width:100%!important;min-width:0!important;opacity:1;transform:translateY(110%);pointer-events:none}.classroom-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#131622;flex-shrink:0}.classroom-sheet-header span{font-size:.92rem;font-weight:700;color:#f1f5f9}.classroom-sheet-close{width:2rem;height:2rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#e2e8f0;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.instructor-panel{padding:.85rem 1rem}.avatar-container{width:64px;height:64px;margin-bottom:.5rem}.classroom-main-col{--classroom-mobile-dock-h: 9.5rem;padding-bottom:0}.classroom-mobile-progress .classroom-progress-text{display:none}.classroom-controls,.classroom-controls.classroom-controls--mobile,.classroom-controls.classroom-controls--mobile.visible{width:calc(100% - .75rem);max-width:none;left:50%;bottom:max(.35rem,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.4rem;padding:.55rem .65rem;border-radius:18px;opacity:1;pointer-events:auto;background:#0a0c14f0}.classroom-controls-left,.classroom-controls-right,.classroom-controls-center,.classroom-mobile-nav,.classroom-mobile-actions{display:flex;align-items:center;width:100%;gap:.45rem}.classroom-controls-center,.classroom-mobile-progress{order:0;flex:0 0 auto;flex-direction:column;gap:.25rem;min-width:0}.classroom-controls-left,.classroom-mobile-nav{order:1;justify-content:space-between}.classroom-controls-right,.classroom-mobile-actions{order:2;justify-content:space-between}.classroom-nav-btn,.classroom-action-btn{min-width:48px;min-height:48px;padding:.5rem .7rem;font-size:1.05rem;border-radius:14px;justify-content:center;flex:1 1 0}.classroom-mobile-nav .classroom-nav-btn{flex:1 1 38%;font-size:1.2rem;font-weight:800}.classroom-mobile-page{flex:0 0 auto;min-width:56px;text-align:center;font-size:.9rem;font-weight:800;color:#e2e8f0;letter-spacing:.02em}.classroom-action-btn.hand-raise-btn-pill{flex:1.6 1 0;min-height:48px;font-size:.92rem;font-weight:800;background:#4153c959;border-color:#6b7cff8c;color:#fff}.classroom-action-btn.hand-raise-btn-pill.active{background:#ef4444;border-color:#ef4444}.classroom-action-btn.sidebar-toggle-btn{flex:1.2 1 0;font-size:.85rem;font-weight:800}.classroom-progress-text{font-size:.75rem;font-weight:700;color:#cbd5e1}.classroom-progress-bar-container{max-width:none;width:100%;height:6px}.classroom-slide-wrapper{bottom:calc(var(--classroom-mobile-dock-h) + env(safe-area-inset-bottom,0px));height:auto;padding-bottom:0}.classroom-welcome-exit{min-height:44px;width:100%}.classroom-fullscreen-btn{width:48px;height:48px;opacity:.9}.classroom-welcome-overlay{padding:1rem}.classroom-welcome-card{padding:2rem 1.25rem;gap:1.1rem;border-radius:20px}.classroom-welcome-avatar{width:96px;height:96px;font-size:2rem}.classroom-welcome-card h2{font-size:1.25rem}.classroom-welcome-card p{font-size:.92rem}.classroom-welcome-btn{width:100%;min-height:56px;font-size:1.05rem;padding:1rem 1.25rem}.classroom-welcome-exit{margin-top:0}}.classroom-agent-error-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;background:#020617b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.classroom-agent-error-modal{width:min(520px,calc(100vw - 2rem));padding:2rem;border-radius:24px;background:#0f172a;border:1px solid rgba(248,113,113,.35);box-shadow:0 32px 80px #00000073;text-align:center}.classroom-agent-error-icon{font-size:2.5rem;margin-bottom:.75rem}.classroom-agent-error-modal h2{margin:0 0 .75rem;font-size:1.35rem;color:#f8fafc}.classroom-agent-error-modal p{margin:0 0 .75rem;color:#cbd5e1;line-height:1.5}.classroom-agent-error-hint{font-size:.9rem;color:#94a3b8!important}.classroom-agent-error-btn{margin-top:1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.85rem 1.75rem;border-radius:50px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease}.classroom-agent-error-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.instructor-panel--disabled{border-color:#94a3b833;background:#0f172ab8;text-align:center}.avatar-circle--disabled{background:#94a3b826!important;color:#94a3b8!important;font-size:1.4rem}.instructor-disabled-copy{font-size:.85rem;color:#94a3b8;line-height:1.5;margin:.5rem 0 0;padding:0 .5rem}.classroom-action-btn.disabled,.classroom-action-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}.equalizer-bar{width:4px;background:var(--hypsen-accent);border-radius:2px;animation:equalizer-pulse 1.2s infinite ease-in-out alternate}@keyframes equalizer-pulse{0%{height:6px}to{height:28px}}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--hypsen-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.diag-page{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#0a0a0c;overflow:hidden}.diag-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;background:#111114f2;border-bottom:1px solid var(--hypsen-border);flex-shrink:0;flex-wrap:wrap}.diag-header-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.diag-header-title{margin:0;font-size:1.05rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diag-body{flex:1;display:flex;overflow:hidden;min-height:0}.diag-sidebar{width:35%;max-width:420px;background:#0a0a0cf2;border-right:1px solid var(--hypsen-border);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;gap:1.5rem;flex-shrink:0}.diag-avatar{width:160px;height:160px;border-radius:50%;overflow:hidden;background:#ffffff0d;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.diag-main{flex:1;display:flex;flex-direction:column;background:#0d0d10fa;min-width:0;min-height:0}.diag-stage-bar{background:#ffffff08;border-bottom:1px solid var(--hypsen-border);padding:.5rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8rem;color:var(--hypsen-text-muted);flex-shrink:0}.diag-content{flex:1;padding:1.5rem 1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;justify-content:center;min-height:0}.diag-composer{padding:1rem 1.25rem;border-top:1px solid var(--hypsen-border);background:#111114f2;display:flex;flex-direction:column;gap:.75rem;align-items:stretch;flex-shrink:0}.diag-composer-row{display:flex;gap:.75rem;align-items:center;width:100%;min-width:0}.diag-vark-options{display:flex;flex-direction:column;gap:.55rem;width:100%}.diag-vark-hint{margin:0;font-size:.8rem;color:var(--hypsen-text-muted)}.diag-vark-option{text-align:left;background:#ffffff08;border:1px solid var(--hypsen-border);border-radius:10px;color:#fff;padding:.75rem 1rem;font-size:.95rem;cursor:pointer}.diag-vark-option.is-selected{background:#38bdf829;border-color:var(--hypsen-accent)}.diag-composer-mic{flex-shrink:0;white-space:nowrap}.diag-composer-input{flex:1;min-width:0}.diag-composer-submit{flex-shrink:0;white-space:nowrap}@media(max-width:900px){.diag-body{flex-direction:column}.diag-sidebar{width:100%;max-width:none;border-right:none;border-bottom:1px solid var(--hypsen-border);flex-direction:row;justify-content:flex-start;align-items:center;padding:.85rem 1rem;gap:.85rem}.diag-sidebar-stack{display:flex;flex-direction:row;align-items:center;gap:.85rem;width:100%}.diag-avatar{width:64px;height:64px;flex-shrink:0}.diag-sidebar-meta{text-align:left!important;flex:1;min-width:0}.diag-sidebar-meta h3{font-size:1rem!important;margin:0 0 .15rem!important}.diag-sidebar-meta p{font-size:.75rem!important}.diag-sidebar-status{height:auto!important;align-items:flex-end!important;margin-left:auto}.diag-header-title{font-size:.92rem}.diag-composer{padding:.85rem}.diag-composer-row{flex-wrap:wrap}.diag-composer-mic{order:1;width:100%;justify-content:center}.diag-composer-input{order:2;width:100%;flex:1 1 100%}.diag-composer-submit{order:3;width:100%}.diag-composer-submit.campus-btn-primary{width:100%}.diag-content{justify-content:flex-start;padding:1rem}.diag-stage-bar{padding:.5rem 1rem;flex-wrap:wrap}}@media(max-width:480px){.diag-header{padding:.65rem .85rem}.diag-header-left{gap:.5rem}.diag-avatar{width:56px;height:56px}}:root{--hypsen-bg: #12141d;--hypsen-bg-elevated: #1a1d28;--hypsen-bg-card: #161922;--hypsen-card-bg: #161922;--hypsen-accent: #89a9f5;--hypsen-accent-soft: rgba(137, 169, 245, .14);--hypsen-accent-border: rgba(137, 169, 245, .28);--hypsen-text: #ffffff;--hypsen-text-muted: #8b95a8;--hypsen-text-dim: #5c6478;--hypsen-border: rgba(137, 169, 245, .12);--hypsen-header-bg: rgba(18, 20, 29, .95);--hypsen-font-display: "Outfit", system-ui, sans-serif;--hypsen-font-sans: "Inter", system-ui, sans-serif}[data-theme=light]{--hypsen-bg: #f3f4f6;--hypsen-bg-elevated: #ffffff;--hypsen-bg-card: #ffffff;--hypsen-card-bg: #ffffff;--hypsen-accent: #3b82f6;--hypsen-accent-soft: rgba(59, 130, 246, .12);--hypsen-accent-border: rgba(59, 130, 246, .35);--hypsen-text: #111827;--hypsen-text-muted: #4b5563;--hypsen-text-dim: #6b7280;--hypsen-border: #e5e7eb;--hypsen-header-bg: rgba(255, 255, 255, .92)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--hypsen-bg);color:var(--hypsen-text);font-family:var(--hypsen-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--hypsen-accent)}
