.platform-home{--platform-header-height: 84px;--platform-ink: #10244a;--platform-ink-soft: #4a6284;--platform-blue: #2764e7;--platform-blue-deep: #1745ae;--platform-accent: #7b8cff;--platform-cyan: #67d7ff;--platform-mint: #62d8bd;--platform-line: rgba(126, 166, 224, .26);--platform-glass: rgba(255, 255, 255, .63);--platform-glass-strong: rgba(255, 255, 255, .78);--platform-shadow: 0 24px 70px rgba(27, 73, 148, .13), 0 4px 18px rgba(34, 92, 174, .08);--platform-shadow-soft: 0 16px 42px rgba(27, 73, 148, .1);position:relative;isolation:isolate;min-height:100vh;overflow:clip;color:var(--platform-ink);background:#f4f8ff;font-family:inherit}.platform-home:before,.platform-home:after{position:fixed;inset:0;display:block;pointer-events:none;content:""}.platform-home:before{z-index:-2;opacity:.2;background:var(--platform-ambient-bg) center / cover no-repeat}.platform-home:after{z-index:-1;opacity:.72;filter:blur(8px);background:linear-gradient(rgba(84,132,203,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(84,132,203,.11) 1px,transparent 1px),radial-gradient(circle at 92% 4%,rgba(95,169,255,.35),transparent 31%),radial-gradient(circle at 7% 94%,rgba(119,224,255,.22),transparent 34%);background-size:44px 44px,44px 44px,auto,auto;background-position:0 0,0 0,center,center}.platform-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.platform-skip-link{position:absolute;z-index:30;top:-100px;left:16px;padding:10px 14px;border:1px solid rgba(255,255,255,.8);border-radius:12px;color:var(--platform-ink);background:#ffffffe6;box-shadow:var(--platform-shadow-soft)}.platform-skip-link:focus{top:14px}.platform-header{position:fixed;right:0;left:0;z-index:10;top:0;min-height:var(--platform-header-height);padding-top:14px;background:transparent;pointer-events:none;transition:padding-top .26s cubic-bezier(.22,1,.36,1)}.platform-nav-wrap{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:66px;padding:10px 0;border:1px solid transparent;border-radius:0;background:transparent;box-shadow:none;pointer-events:auto;transition:width .26s cubic-bezier(.22,1,.36,1),min-height .26s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1),border-color .22s ease,border-radius .26s cubic-bezier(.22,1,.36,1),background-color .22s ease,box-shadow .22s ease}.platform-header.is-compact{padding-top:10px}.platform-header.is-compact .platform-nav-wrap,.platform-header.is-menu-open .platform-nav-wrap{border-color:#ffffffe0;background:#f8fcffe0;box-shadow:0 18px 46px #1b499429,0 3px 12px #225cae14;backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%)}.platform-header.is-compact .platform-nav-wrap{width:min(980px,calc(100% - 64px));min-height:58px;padding:6px 10px 6px 12px;border-radius:999px}.platform-header.is-menu-open .platform-nav-wrap{width:min(1180px,calc(100% - 48px))}.platform-brand{display:inline-flex;align-items:center;min-width:0;min-height:44px;max-width:55%;gap:11px;color:inherit;text-decoration:none}.platform-brand:focus-visible,.platform-menu-toggle:focus-visible{outline:3px solid rgba(39,100,231,.42);outline-offset:3px}.platform-brand-mark{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;overflow:hidden;border:1px solid transparent;border-radius:14px;color:#fff;background:transparent;box-shadow:none;font-size:22px;font-weight:850;transition:width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),border-radius .26s cubic-bezier(.22,1,.36,1)}.platform-brand-mark img{width:128%;height:128%;object-fit:contain;background:transparent}.platform-brand-name{display:block;min-width:0;overflow:hidden;color:var(--platform-ink);font-size:20px;font-weight:850;line-height:normal;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;transition:font-size .26s cubic-bezier(.22,1,.36,1)}.platform-header.is-compact .platform-brand-mark{width:38px;height:38px;border-radius:12px}.platform-header.is-compact .platform-brand-name{font-size:17px}.platform-nav{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid transparent;border-radius:999px;background:transparent}.platform-nav a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:38px;border-radius:999px;padding:0 14px;color:var(--platform-ink-soft);font-size:13px;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.platform-nav a:hover,.platform-nav a:focus-visible{color:var(--platform-blue-deep);background:#ffffffb8;box-shadow:0 5px 16px #1b49941a;transform:translateY(-1px)}.platform-nav a:focus-visible{outline:3px solid rgba(39,100,231,.42);outline-offset:3px}.platform-nav a.platform-nav-apply{color:#fff!important;-webkit-text-fill-color:#fff;background:linear-gradient(135deg,var(--platform-blue),var(--platform-blue-deep))!important;box-shadow:0 8px 18px color-mix(in srgb,var(--platform-blue) 27%,transparent)}.platform-nav a.platform-nav-apply:hover,.platform-nav a.platform-nav-apply:focus-visible,.platform-nav a.platform-nav-apply:active{color:#fff!important;-webkit-text-fill-color:#fff;background:linear-gradient(135deg,var(--platform-blue-deep),var(--platform-blue))!important;box-shadow:0 12px 24px color-mix(in srgb,var(--platform-blue) 35%,transparent)}.platform-nav a.platform-nav-partnership{color:var(--platform-ink-soft);background:transparent}.platform-nav a.platform-nav-partnership:hover,.platform-nav a.platform-nav-partnership:focus-visible{color:var(--platform-blue-deep);background:#ffffffd6}.platform-menu-toggle{display:none;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:14px;color:var(--platform-ink);background:transparent}.platform-menu-toggle svg{width:20px;height:20px}.platform-hero{position:relative;display:grid;align-items:center;box-sizing:border-box;height:100vh;height:100svh;min-height:100vh;min-height:100svh;padding:86px 0 116px;overflow:hidden;background:radial-gradient(circle at 76% 42%,rgba(111,191,255,.34),transparent 30%),radial-gradient(circle at 18% 18%,rgba(162,153,255,.18),transparent 28%)}.platform-hero-grid{position:relative;z-index:1;display:grid;min-height:0;max-height:100%;grid-template-columns:minmax(0,1fr) minmax(420px,.94fr);align-items:center;gap:clamp(40px,7vw,110px);overflow:visible}.platform-hero-copy{position:relative;z-index:1}.platform-kicker,.platform-section-label{margin:0 0 16px;color:var(--platform-blue-deep);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.platform-kicker span{margin-right:8px;color:#6e84ff}.platform-hero h1{max-width:680px;margin:0 0 24px;color:var(--platform-ink);font-size:clamp(43px,5.4vw,76px);font-weight:850;line-height:1.08;letter-spacing:-.055em}.platform-hero-lead{max-width:560px;margin:0;color:var(--platform-ink-soft);font-size:17px;line-height:1.85}.platform-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:34px}.platform-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid transparent;border-radius:999px;padding:0 21px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.platform-button svg{width:17px;height:17px}.platform-button:hover,.platform-button:focus-visible{transform:translateY(-2px)}.platform-button:focus-visible{outline:3px solid rgba(39,100,231,.42);outline-offset:3px}.platform-button-primary{color:#fff;background:linear-gradient(135deg,var(--platform-blue),var(--platform-blue-deep));box-shadow:0 14px 28px color-mix(in srgb,var(--platform-blue) 27%,transparent)}.platform-button-primary:hover,.platform-button-primary:focus-visible{box-shadow:0 18px 34px color-mix(in srgb,var(--platform-blue) 34%,transparent)}.platform-text-link{color:var(--platform-ink);font-size:14px;font-weight:750;text-decoration:none}.platform-text-link span{margin-left:8px;color:var(--platform-blue-deep)}.platform-text-link:hover,.platform-text-link:focus-visible{color:var(--platform-blue-deep)}.platform-text-link:focus-visible{outline:3px solid rgba(39,100,231,.42);outline-offset:3px}.platform-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;color:#6b7e9e;font-size:12px}.platform-trust span{display:inline-flex;align-items:center;gap:6px}.platform-trust svg{width:14px;color:#25ae9a}.platform-hero-art{position:relative;display:grid;place-items:center;min-height:470px;border:1px solid rgba(255,255,255,.7);border-radius:42px;overflow:hidden;background:linear-gradient(145deg,#ffffff9e,#e0eeff4d);box-shadow:var(--platform-shadow),inset 0 1px #ffffffd1;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.platform-hero-art:before{position:absolute;top:-18%;right:-13%;width:62%;height:58%;border-radius:50%;background:radial-gradient(circle,rgba(104,183,255,.42),transparent 68%);content:"";filter:blur(16px)}.platform-orbit{position:absolute;border:1px solid rgba(79,135,223,.34);border-radius:50%;transform:rotate(-20deg)}.platform-orbit-one{width:390px;height:250px}.platform-orbit-two{width:290px;height:370px;transform:rotate(35deg)}.platform-code-card{position:relative;z-index:1;width:min(370px,78%);padding:27px 28px 34px;border:1px solid rgba(173,217,255,.35);border-radius:24px;color:#dce9ff;background:linear-gradient(145deg,#133369f5,#194a92e6);box-shadow:0 28px 48px #15448e47,inset 0 1px #ffffff2e;transform:rotate(-4deg);transition:transform .3s ease,box-shadow .3s ease}.platform-hero-art:hover .platform-code-card{transform:rotate(-2deg) translateY(-5px);box-shadow:0 34px 58px #15448e54,inset 0 1px #fff3}.platform-window-dots{display:flex;gap:6px;margin-bottom:28px}.platform-window-dots i{width:8px;height:8px;border-radius:50%;background:#ff8c72}.platform-window-dots i:nth-child(2){background:#ffc94a}.platform-window-dots i:nth-child(3){background:#62d8bd}.platform-code-card code{font:15px/2 SFMono-Regular,Consolas,monospace}.platform-code-card code b{color:#75d5ff}.platform-code-card code span{color:#ffdc78}.platform-code-spark{position:absolute;right:24px;bottom:17px;color:#ffc94a;font-size:27px}.platform-float{position:absolute;z-index:2;padding:11px 15px;border:1px solid rgba(255,255,255,.74);border-radius:14px;color:var(--platform-ink);background:#ffffffa8;box-shadow:0 13px 25px #235aac21;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);font-size:12px;font-weight:800}.platform-float-yellow{top:17%;right:2%;color:#725200;background:#fff5c5b8}.platform-float-mint{bottom:16%;left:1%;color:#117b6e;background:#d9fff6b8}.platform-features,.platform-how,.platform-family{position:relative;display:grid;place-items:center;box-sizing:border-box;height:100vh;height:100svh;min-height:100vh;min-height:100svh;overflow:hidden;padding:clamp(72px,10vh,112px) 0}.platform-features:before,.platform-how:before,.platform-family:before{position:absolute;inset:0;pointer-events:none;content:"";opacity:.7}.platform-features:before{background:radial-gradient(circle at 84% 20%,rgba(111,191,255,.22),transparent 28%)}.platform-how:before{background:radial-gradient(circle at 15% 72%,rgba(139,150,255,.2),transparent 30%)}.platform-family:before{background:radial-gradient(circle at 86% 86%,rgba(105,224,255,.23),transparent 31%)}.platform-features>.platform-container,.platform-how>.platform-container,.platform-family>.platform-container{position:relative;z-index:1;min-height:0;max-height:100%;overflow:visible}.platform-features{background:#ffffff8a}.platform-features h2,.platform-how h2,.platform-family h2{margin:0;color:var(--platform-ink);font-size:clamp(32px,4vw,52px);font-weight:850;line-height:1.18;letter-spacing:-.045em}.platform-features h2 span,.platform-how h2 span,.platform-family h2 span{color:var(--platform-blue-deep)}.platform-feature-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:54px}.platform-feature-card{position:relative;min-height:230px;padding:28px;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:var(--platform-glass-strong);box-shadow:var(--platform-shadow-soft),inset 0 1px #ffffffd9;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.platform-feature-card:after{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #75b1ff14;content:"";pointer-events:none}.platform-feature-card:hover{border-color:#76b2ff85;box-shadow:0 26px 54px #1c4e9b2b,0 0 32px #65b0ff24;transform:translateY(-6px)}.platform-feature-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:25px;border:1px solid rgba(255,255,255,.68);border-radius:15px;color:var(--platform-blue-deep);background:#dbebffd1;box-shadow:0 8px 18px #2d6fd61a}.platform-feature-card:nth-child(2) .platform-feature-icon{color:#8a6900;background:#fff4c4d1}.platform-feature-card:nth-child(3) .platform-feature-icon{color:#087b6a;background:#d4faf2d6}.platform-feature-icon svg{width:22px;height:22px}.platform-feature-card h3{margin:0 0 10px;color:var(--platform-ink);font-size:20px}.platform-feature-card p{margin:0;color:var(--platform-ink-soft);font-size:14px;line-height:1.8}.platform-how{background:linear-gradient(135deg,#e0edffb8,#f2f7ff73)}.platform-how-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(48px,9vw,130px)}.platform-steps{margin:0;padding:0;list-style:none}.platform-steps li{display:flex;align-items:center;gap:24px;padding:24px 6px;border-top:1px solid rgba(106,151,215,.25)}.platform-steps li:last-child{border-bottom:1px solid rgba(106,151,215,.25)}.platform-steps span{color:var(--platform-blue-deep);font:800 15px/1 SFMono-Regular,Consolas,monospace}.platform-steps p{margin:0;color:var(--platform-ink);font-size:17px;font-weight:750}.platform-family{background:linear-gradient(135deg,#97b4ff94,#c8f2ff8c)}.platform-family-inner{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;padding:40px;border:1px solid rgba(255,255,255,.72);border-radius:32px;background:#ffffff61;box-shadow:var(--platform-shadow-soft),inset 0 1px #ffffffbd;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.platform-family .platform-section-label{color:var(--platform-blue-deep)}.platform-family-note p{max-width:500px;margin:0 0 28px;color:var(--platform-ink);font-size:19px;line-height:1.7}.platform-button-dark{color:#fff;background:var(--platform-ink);box-shadow:0 13px 28px #10244a2e}.platform-button-dark:hover,.platform-button-dark:focus-visible{background:#1d3d78}.platform-footer{padding:28px 0;color:#c9d8ef;background:#10244a;font-size:12px}.platform-footer .platform-container{display:flex;align-items:center;justify-content:space-between;gap:20px}.platform-footer-filing{color:#9fb6d6;text-decoration:none;transition:color .2s ease}.platform-footer-filing:hover,.platform-footer-filing:focus-visible{color:#fff;text-decoration:underline}.platform-footer-filing:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:3px}#features,#how-it-works,#for-families{scroll-margin-top:0}@supports not ((backdrop-filter: blur(1px))){.platform-header.is-compact .platform-nav-wrap,.platform-header.is-menu-open .platform-nav-wrap,.platform-hero-art,.platform-feature-card,.platform-family-inner,.platform-float{background:#f8fbff}}@media(min-width:901px)and (max-width:1100px){.platform-header.is-compact .platform-nav-wrap,.platform-header.is-menu-open .platform-nav-wrap{width:min(1180px,calc(100% - 48px))}.platform-brand{max-width:calc(100% - 54px)}.platform-menu-toggle{display:grid;flex:0 0 auto}.platform-nav{display:none;position:absolute;z-index:12;top:calc(100% + 8px);right:16px;left:16px;flex-direction:column;align-items:stretch;gap:3px;padding:8px;border:1px solid rgba(255,255,255,.9);border-radius:20px;background:#f8fcff;box-shadow:0 24px 54px #1b499433;backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%)}.platform-nav.is-open{display:flex}.platform-nav a{justify-content:center;min-height:44px}.platform-header.is-menu-open .platform-nav-wrap{height:auto;min-height:66px;flex-wrap:wrap;padding:10px 14px 10px 16px;border-radius:24px}.platform-header.is-menu-open .platform-nav{position:static;flex:0 0 100%;padding-inline:0;box-shadow:none}}@media(max-width:900px){.platform-home{--platform-header-height: 70px}.platform-container{width:min(600px,calc(100% - 32px))}.platform-header{padding-top:10px}.platform-nav-wrap{min-height:60px;padding:8px 0;border-radius:0}.platform-header.is-compact .platform-nav-wrap,.platform-header.is-menu-open .platform-nav-wrap{width:min(600px,calc(100% - 32px));min-height:58px;padding:6px 8px 6px 10px;border-radius:999px}.platform-brand{max-width:calc(100% - 54px);gap:9px}.platform-brand-mark{width:38px;height:38px;border-radius:12px;font-size:20px}.platform-brand-name{font-size:18px}.platform-menu-toggle{display:grid}.platform-nav{display:none;position:absolute;z-index:12;top:calc(100% + 8px);right:16px;left:16px;flex-direction:column;align-items:stretch;gap:3px;padding:8px;border:1px solid rgba(255,255,255,.9);border-radius:20px;background:#f8fcff;box-shadow:0 24px 54px #1b499433;backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%)}.platform-nav.is-open{display:flex}.platform-nav a{justify-content:center;min-height:44px}.platform-hero{min-height:100vh;min-height:100svh;padding:calc(var(--platform-header-height) + 24px) 0 84px}.platform-hero-grid,.platform-how-grid{grid-template-columns:1fr;gap:52px}.platform-hero-grid{max-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-color:rgba(39,100,231,.32) transparent;scrollbar-width:thin}.platform-hero h1{font-size:clamp(42px,11vw,62px)}.platform-hero-lead{font-size:15px}.platform-hero-art{min-height:360px;border-radius:30px}.platform-orbit-one{width:min(330px,82%);height:205px}.platform-orbit-two{width:min(245px,62%);height:300px}.platform-code-card{width:min(340px,78%)}.platform-float-yellow{top:10%;right:2%}.platform-float-mint{bottom:9%;left:2%}.platform-features,.platform-how,.platform-family{min-height:100vh;min-height:100svh;padding:82px 0}.platform-feature-grid{grid-template-columns:1fr;gap:15px;margin-top:36px}.platform-feature-card{min-height:0;padding:24px}.platform-family-inner{grid-template-columns:1fr;gap:30px;padding:28px;border-radius:26px}.platform-family-note p{font-size:17px}.platform-footer .platform-container,.platform-footer .platform-container span{display:block}.platform-footer .platform-container span+span{margin-top:8px}.platform-footer .platform-container .platform-footer-filing{display:block;margin-top:8px}}@media(max-width:420px){.platform-container,.platform-header.is-compact .platform-nav-wrap,.platform-header.is-menu-open .platform-nav-wrap{width:calc(100% - 24px)}.platform-hero{padding-top:calc(var(--platform-header-height) + 24px);padding-bottom:76px}.platform-hero-actions{align-items:stretch;flex-direction:column}.platform-button-primary{width:100%}.platform-text-link{text-align:center}.platform-hero-art{min-height:315px}.platform-code-card{width:86%;padding:22px 20px 28px}.platform-code-card code{font-size:12px}.platform-float{font-size:11px}.platform-features,.platform-how,.platform-family{padding:52px 0}.platform-feature-grid{gap:12px;margin-top:24px}.platform-feature-card{padding:18px}.platform-feature-icon{width:40px;height:40px;margin-bottom:14px}.platform-feature-card h3{margin-bottom:7px;font-size:18px}.platform-feature-card p{font-size:13px;line-height:1.55}}@media(max-width:360px){.platform-hero{padding:calc(var(--platform-header-height) + 18px) 0 6px}.platform-hero-grid{gap:18px}.platform-hero h1{margin-bottom:12px;font-size:clamp(34px,11vw,46px)}.platform-hero-lead{font-size:13px;line-height:1.45}.platform-hero-actions{gap:8px;margin-top:14px}.platform-trust{gap:8px;margin-top:12px;font-size:11px}.platform-hero-art{min-height:190px;border-radius:24px}.platform-orbit-one{width:230px;height:145px}.platform-orbit-two{width:170px;height:215px}.platform-code-card{width:88%;padding:16px 14px 20px}.platform-window-dots{margin-bottom:14px}.platform-code-card code{font-size:10px;line-height:1.6}.platform-float{padding:7px 9px;font-size:10px}}@media(min-width:560px)and (max-width:900px)and (max-height:600px){.platform-hero{padding:calc(var(--platform-header-height) + 12px) 0 18px}.platform-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:18px}.platform-kicker,.platform-section-label{margin-bottom:9px;font-size:10px}.platform-hero h1{margin-bottom:12px;font-size:clamp(30px,6vw,48px)}.platform-hero-lead{font-size:13px;line-height:1.45}.platform-hero-actions{gap:12px;margin-top:16px}.platform-trust{gap:12px;margin-top:14px}.platform-hero-art{min-height:220px;border-radius:24px}.platform-orbit-one{width:240px;height:150px}.platform-orbit-two{width:180px;height:230px}.platform-code-card{width:min(260px,78%);padding:18px 20px 24px}.platform-code-card code{font-size:11px;line-height:1.8}.platform-float{padding:8px 10px;font-size:10px}.platform-features,.platform-how,.platform-family{padding:24px 0}.platform-features h2,.platform-how h2,.platform-family h2{font-size:clamp(28px,4vw,40px)}.platform-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.platform-feature-card{min-height:0;padding:13px}.platform-feature-icon{width:34px;height:34px;margin-bottom:10px}.platform-feature-card h3{margin-bottom:6px;font-size:16px}.platform-feature-card p{font-size:11px;line-height:1.45}.platform-how-grid{gap:24px}.platform-steps li{gap:14px;padding:12px 4px}.platform-steps p{font-size:14px}.platform-family-inner{grid-template-columns:1fr 1fr;gap:24px;padding:22px}.platform-family-note p{margin-bottom:16px;font-size:14px;line-height:1.5}}@media(min-width:901px)and (max-height:700px){.platform-hero{padding:44px 0 52px}.platform-hero-art{min-height:360px}.platform-code-card{padding:22px 24px 28px}.platform-code-card code{font-size:13px}.platform-hero h1{margin-bottom:16px;font-size:clamp(38px,5vw,60px)}.platform-hero-lead{font-size:15px;line-height:1.6}.platform-hero-actions{margin-top:22px}.platform-trust{margin-top:18px}}@media(max-width:900px)and (max-height:700px){.platform-features>.platform-container,.platform-how>.platform-container{width:min(640px,calc(100% - 8px));padding:22px 20px;overflow-x:hidden;overflow-y:auto;scrollbar-color:rgba(39,100,231,.32) transparent;scrollbar-width:thin}.platform-family>.platform-container{max-height:calc(100% - 16px);overflow-x:hidden;overflow-y:auto;scrollbar-color:rgba(39,100,231,.32) transparent;scrollbar-width:thin}}@media(prefers-reduced-motion:reduce){.platform-header,.platform-nav-wrap,.platform-brand-mark,.platform-brand-name,.platform-nav a,.platform-button,.platform-feature-card,.platform-code-card{transition:none}.platform-nav a:hover,.platform-button:hover,.platform-feature-card:hover,.platform-code-card,.platform-hero-art:hover .platform-code-card{transform:none}}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(https://static.fengjixian.cn/react-assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(https://static.fengjixian.cn/react-assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(https://static.fengjixian.cn/react-assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(https://static.fengjixian.cn/react-assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(https://static.fengjixian.cn/react-assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#17243d;background:#f4f8ff;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #2d7eea;--blue-dark: #1559b8;--navy: #08285f;--orange: #f66b35;--yellow: #ffd33d;--mint: #37c996;--ink: #17243d;--muted: #53647f;--line: #dce6f5;--surface: #ffffff;--background: #f4f8ff;--shadow: 0 12px 36px rgba(20, 67, 129, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--background)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3,p,span,strong{overflow-wrap:anywhere}:focus-visible{outline:3px solid var(--ui-focus-color, rgba(45, 126, 234, .42));outline-offset:2px}.sr-only{position:absolute;width:1px;min-width:1px;height:1px;min-height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .9s linear infinite}@keyframes typing-note-fall{0%{opacity:0;transform:translate3d(0,-64px,0) scale(.96)}12%{opacity:1}76%{opacity:1;transform:translate3d(0,236px,0) scale(1)}to{opacity:0;transform:translate3d(0,306px,0) scale(.9)}}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.45)}to{opacity:1;transform:scale(1)}}@keyframes judgment-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}to{opacity:.84;transform:translate(-50%,-50%) scale(1)}}.brand{display:inline-flex;align-items:center;min-width:0;max-width:100%;gap:11px;color:var(--navy)}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:43px;height:43px;border-radius:14px;color:#fff;background:var(--blue);font-weight:900;font-size:24px;box-shadow:0 8px 18px #2d7eea3d}.brand-copy{display:flex;min-width:0;font-size:18px;font-weight:850;line-height:1.15;letter-spacing:.03em}.brand-copy>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-copy small{margin-top:4px;color:var(--muted);font-size:9px;letter-spacing:.13em}.eyebrow{display:block;margin-bottom:8px;color:var(--blue-dark);font-size:12px;font-weight:800;letter-spacing:.12em}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:var(--surface)}.login-story{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(42px,7vw,112px);overflow:hidden;color:#fff;background:linear-gradient(145deg,#092b65,#175aad 62%,#2d7eea)}.login-story:before,.login-story:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.login-story:before{width:420px;height:420px;top:-180px;right:-140px;background:#37c9962e}.login-story:after{width:360px;height:360px;bottom:-170px;left:-120px;background:#ffd33d24}.login-story .brand,.login-campus-brand{color:#fff}.login-story .brand-mark{color:var(--navy);background:var(--yellow)}.login-story .brand-copy small{color:#d9e8ff}.login-campus-brand{display:inline-flex;align-items:center;align-self:flex-start;gap:12px;width:min(560px,100%);margin-bottom:clamp(28px,4vw,46px)}.login-campus-logo{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border:2px solid rgba(255,255,255,.35);border-radius:18px;color:var(--navy);background:#fff;font-size:24px;font-weight:900;box-shadow:0 14px 30px #02102c2e;overflow:hidden}.login-campus-logo img{width:100%;height:100%;object-fit:cover;padding:8px}.login-story>*{position:relative;z-index:1}.login-story .eyebrow{color:#a8f1da}.login-story h1{max-width:720px;margin-bottom:22px;font-size:clamp(42px,5.2vw,72px);line-height:1.08;letter-spacing:-.04em}.login-story>p:not(.eyebrow){max-width:610px;color:#e8f1ff;font-size:18px;line-height:1.8}.login-news{display:grid;gap:10px;width:min(560px,100%);margin-top:34px}.login-news .eyebrow{margin-bottom:4px;color:#a8f1da}.login-news h2{margin:0;color:#fff;font-size:20px}.login-news article{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 28px #02102c24}.login-news article>img{width:72px;height:72px;border-radius:18px;object-fit:contain;padding:12px;background:#ffffffeb}.login-news article span{display:inline-flex;margin-bottom:6px;color:#a8f1da;font-size:12px;font-weight:850}.login-news article h3{margin:0 0 5px;color:#fff;font-size:15px;line-height:1.35}.login-news article p{margin:0;color:#e8f1ff;font-size:13px;line-height:1.55}.login-card{align-self:center;width:min(430px,calc(100% - 48px));margin:42px auto}.login-card h2{margin-bottom:8px;color:var(--navy);font-size:34px}.login-card>p{color:var(--muted)}.login-card label,.form-panel label,.campus-card label,.account-row label,.inline-reset-form label{display:grid;gap:7px;color:#31435f;font-size:13px;font-weight:750}.login-card label{margin-top:18px}input,select,textarea{width:100%;min-height:44px;border:1px solid #c9d8ed;border-radius:var(--ui-radius-control, 10px);padding:10px 12px;color:var(--ink);background:#fff;transition:border-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),box-shadow var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}textarea{resize:vertical;line-height:1.55}input:hover,select:hover,textarea:hover{border-color:#8eadda}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2d7eea24}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:24px 0 6px;padding:4px;border-radius:12px;background:#edf3fc}.segmented-control button{min-height:44px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-weight:750;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.segmented-control button.active{color:var(--navy);background:#fff;box-shadow:0 3px 10px #123e7517}.form-error{margin:14px 0 0;border-left:3px solid #d83b44;padding:9px 12px;color:#9d1e27!important;background:#fff1f2;font-size:13px}.login-hint{display:block;margin-top:12px;color:var(--muted);text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:var(--ui-radius-control, 10px);padding:10px 16px;font-weight:800;transition:color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),background-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),border-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),box-shadow var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),transform var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}.button svg{width:18px;height:18px}.button-primary{color:#fff;background:var(--orange);box-shadow:0 7px 16px #f66b352e}.button-primary:hover:not(:disabled){background:#dc5422;box-shadow:0 9px 20px #f66b3540}.button-secondary{color:var(--blue-dark);border-color:#bcd1ef;background:#f4f8ff}.button-secondary:hover:not(:disabled){border-color:var(--blue);background:#e8f2ff}.button-quiet{color:var(--muted);background:transparent}.button-quiet:hover:not(:disabled){color:var(--blue-dark);background:#edf4ff}.button-full{width:100%;margin-top:22px}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--ui-radius-control, 10px);color:#526681;background:transparent;transition:color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),background-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),border-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),box-shadow var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}.icon-button:hover{color:var(--blue-dark);background:#edf4ff}.text-link{min-height:44px;display:inline-flex;align-items:center;color:var(--blue-dark);font-weight:800}.text-link:hover{color:var(--orange)}.app-layout{--app-header-brand-font-size: 26px;--app-header-account-font-size: 14px;--app-header-surface: #fff;min-height:100vh;background:var(--ui-page-background, var(--background))}.app-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,max-content) minmax(300px,1fr);align-items:center;column-gap:18px;min-height:72px;border-bottom:1px solid rgba(195,213,237,.82);padding:10px 26px;background:var(--app-header-surface, var(--ui-surface-glass, rgba(255,255,255,.9)));box-shadow:var(--ui-shadow-header, 0 8px 28px rgba(24,67,126,.07));backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%);-webkit-backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%)}.app-header>.brand-link,.app-header>.header-campus,.app-header>.header-user{align-self:center}.brand-link{display:inline-flex;align-items:center;justify-self:start;width:fit-content;max-width:100%;min-width:0;height:max-content;border-radius:10px}.app-header .brand{align-items:center;min-height:0}.app-header .brand-mark{align-self:center}.app-header .brand-copy{display:inline-flex;align-items:center;font-size:var(--app-header-brand-font-size);font-weight:900;line-height:normal;letter-spacing:0}.app-header .brand-copy>span{line-height:inherit}.header-campus{display:flex;min-width:0;flex-direction:column;justify-content:center;overflow:hidden;line-height:normal}.header-campus span{font-size:14px;font-weight:800}.header-campus small{margin-top:2px;color:var(--muted);font-size:12px}.header-campus-slogan{align-items:center;justify-self:center;width:fit-content;max-width:100%;border-left:0;padding-left:0}.header-campus-slogan>span{display:block;max-width:100%;overflow:hidden;color:#27496f;font-size:var(--app-header-brand-font-size);font-weight:900;line-height:normal;letter-spacing:0;text-align:right;text-overflow:ellipsis;white-space:nowrap}.header-campus-slogan-rgznjy>span{display:-webkit-box;line-height:1.18;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:2}.header-user{display:flex;align-items:center;justify-content:flex-end;justify-self:stretch;width:100%;min-width:0;gap:6px}.header-feedback-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:auto;height:44px;min-width:72px;min-height:44px;gap:7px;border-radius:10px;padding:0 10px;color:var(--blue-dark);font-size:var(--app-header-account-font-size);font-weight:850;line-height:normal;text-decoration:none;white-space:nowrap}.header-feedback-link:hover,.header-feedback-link.active{background:#edf4ff}.header-feedback-link:focus-visible{background:#edf4ff;outline:3px solid rgba(45,126,234,.4);outline-offset:2px}.header-feedback-link svg{flex:0 0 auto;width:18px;height:18px}.user-avatar{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;overflow:hidden;border-radius:13px;color:#fff;background:var(--blue);font-weight:850}.user-avatar img{width:100%;height:100%;object-fit:cover}.header-feedback-link>span{line-height:inherit}.user-name{display:block;flex:0 1 auto;min-width:0;max-width:clamp(72px,10vw,160px);margin:0 6px;overflow:hidden;font-size:var(--app-header-account-font-size);font-weight:850;line-height:normal;text-overflow:ellipsis;white-space:nowrap}.app-body{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 72px)}.app-sidebar{position:sticky;top:72px;align-self:start;display:flex;flex-direction:column;height:calc(100vh - 72px);border-right:1px solid var(--line);padding:22px 16px;background:var(--ui-surface-solid, #fff);box-shadow:inset -1px 0 #ffffffb8;overflow-y:auto}.primary-nav{display:grid;gap:5px}.primary-nav a{display:flex;align-items:center;gap:12px;min-height:46px;border-radius:var(--ui-radius-sm, 12px);padding:9px 12px;color:#53647f;font-size:14px;font-weight:750;transition:color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),background-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),border-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),box-shadow var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}.primary-nav-icon{display:grid;place-items:center;flex:0 0 auto}.primary-nav-label{min-width:0}.primary-nav a svg{flex:0 0 auto;width:20px;height:20px}.primary-nav a:hover{color:var(--blue-dark);background:#f0f6ff}.primary-nav a.active{color:#0d57b3;background:#e5f0ff}.secondary-nav{display:grid;gap:3px;margin:20px 8px 0;border-top:1px solid var(--line);padding-top:16px}.secondary-nav>span{margin:0 8px 5px;color:#75849b;font-size:12px;font-weight:800}.secondary-nav a{display:flex;align-items:center;min-height:44px;border-radius:9px;padding:8px 10px;color:var(--muted);font-size:13px;font-weight:700}.secondary-nav a.active,.secondary-nav a:hover{color:var(--blue-dark);background:#edf4ff}.sidebar-status{display:flex;align-items:center;gap:10px;margin-top:auto;border-radius:12px;padding:12px;color:#3d5674;background:#f2f7ff}.sidebar-status>span{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #37c99626}.sidebar-status p{margin:0;font-size:12px;font-weight:800}.sidebar-status small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:500}.app-main{width:100%;max-width:1540px;min-width:0;margin:0 auto;padding:clamp(24px,3vw,46px)}.role-teacher .app-main,.role-principal .app-main,.role-owner .app-main,.role-student .app-main{font-size:14px}.navigation-hidden .app-body{display:block;min-height:calc(100vh - 72px)}.surface,.campus-card,.metric-card{border:1px solid var(--ui-border-subtle, var(--line));border-radius:var(--ui-radius-md, 18px);background:var(--ui-surface-solid, var(--surface));box-shadow:var(--ui-shadow-rest, var(--shadow))}.surface-solid{border:1px solid var(--ui-border-subtle, var(--line));border-radius:var(--ui-radius-md, 18px);background:var(--ui-surface-solid, #fff);box-shadow:var(--ui-shadow-rest, var(--shadow))}.surface-interactive{border:1px solid var(--ui-border-subtle, var(--line));border-radius:var(--ui-radius-md, 18px);background:var(--ui-surface-interactive, #fff);box-shadow:var(--ui-shadow-rest, var(--shadow));transition:border-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),box-shadow var(--ui-duration-base, .22s) var(--ui-ease-standard, ease),transform var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}.surface-interactive:hover{border-color:var(--ui-border-strong, #b9cfea);box-shadow:var(--ui-shadow-raised, 0 16px 36px rgba(24,67,126,.12));transform:translateY(-2px)}.surface-interactive:focus-visible{border-color:var(--blue);outline:0;box-shadow:var(--ui-focus-ring),var(--ui-shadow-raised, 0 16px 36px rgba(24,67,126,.12))}.surface-glass{border:1px solid rgba(255,255,255,.68);border-radius:var(--ui-radius-md, 18px);background:var(--ui-surface-glass, rgba(255,255,255,.9));box-shadow:var(--ui-shadow-raised, 0 16px 36px rgba(24,67,126,.12));backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%);-webkit-backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:28px}.page-heading h1{margin-bottom:8px;color:var(--navy);font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.025em}.page-heading p{margin-bottom:0;color:var(--muted);line-height:1.7}.heading-stat{display:grid;min-width:140px;border-radius:16px;padding:18px 24px;color:#fff;text-align:center;background:var(--navy)}.heading-stat strong{font-size:32px}.heading-stat span{color:#d9e8ff;font-size:12px}.principal-heading{justify-content:flex-start}.campus-heading-logo{display:grid;place-items:center;flex:0 0 auto;width:76px;height:76px;border-radius:20px;color:#fff;background:var(--blue);font-size:34px;font-weight:900;box-shadow:var(--shadow);overflow:hidden}.campus-heading-logo img{width:100%;height:100%;object-fit:cover}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-panel{display:grid;align-content:start;gap:15px;padding:24px}.panel-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:5px}.panel-heading h2{margin-bottom:5px;color:var(--navy);font-size:19px}.panel-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.step-mark{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;color:#fff;background:var(--blue)}.step-mark svg{width:19px}.form-panel .button{justify-self:start;margin-top:3px}.content-section{margin-top:36px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:17px}.section-heading h1,.section-heading h2{margin:0;color:var(--navy);font-size:23px}.section-heading p{max-width:560px;margin:0;color:var(--muted);line-height:1.6;text-align:right}.campus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.campus-card{display:grid;gap:14px;padding:20px}.campus-card header{display:flex;justify-content:space-between;align-items:center}.campus-code{color:var(--blue-dark);font-size:12px;font-weight:900;letter-spacing:.12em}.status-badge{display:inline-flex;align-items:center;width:max-content;min-height:27px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:850}.status-active{color:#087152;background:#e2f9f1}.status-muted{color:#46566e;background:#edf1f6}.status-warning{color:#a34219;background:#fff0e9}.switch-row{display:flex!important;align-items:center;min-height:44px;gap:10px!important;border-radius:12px;padding:8px 10px;cursor:pointer}.switch-row:hover{background:#f2f7ff}.switch-row input{width:22px;height:22px;min-height:22px;flex:0 0 auto;accent-color:var(--blue);cursor:pointer}.account-summary{display:flex;align-items:baseline;gap:6px;color:var(--muted)}.account-summary strong{color:var(--navy);font-size:22px}.section-tabs{display:flex;gap:7px;margin-bottom:24px;border-bottom:1px solid var(--line)}.section-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:48px;border:0;border-bottom:3px solid transparent;padding:9px 16px;color:var(--muted);background:transparent;font-weight:800}.section-tabs button svg{width:18px}.section-tabs button.active{color:var(--blue-dark);border-bottom-color:var(--blue)}.two-column-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.35fr);align-items:start;gap:22px}.principal-ops-content{min-width:0}.sticky-panel{position:sticky;top:98px}.account-list,.news-list{display:grid;gap:12px}.account-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1.3fr) auto auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.account-identity{display:flex;align-items:center;gap:10px}.account-identity div{display:grid;gap:3px}.account-identity small{color:var(--muted);font-size:12px}.row-actions{display:flex;gap:5px}.inline-reset-form{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;border-top:1px solid var(--line);padding-top:13px}.file-field{border:2px dashed #b9cae1;border-radius:12px;padding:18px;background:#f7faff}.file-field input{margin-top:8px;border:0;padding-left:0;background:transparent}.file-name{margin:0;color:var(--muted);font-size:12px}.news-editor{gap:16px}.news-cover-preview{display:flex;align-items:center;gap:12px;border:1px solid #d6e2f3;border-radius:14px;padding:12px;color:var(--muted);background:#f7faff;font-size:12px;line-height:1.5}.news-cover-preview img{width:72px;height:72px;border-radius:18px;object-fit:contain;padding:12px;background:#fff;box-shadow:0 8px 20px #14438114}.principal-news-preview{display:grid;gap:7px;border:1px solid #d8e5f4;border-radius:18px;padding:16px;background:radial-gradient(circle at 100% 0,rgba(255,211,61,.18),transparent 32%),#fff;box-shadow:0 10px 22px #0c37760f}.principal-news-preview span{color:var(--blue-dark);font-size:11px;font-weight:950;letter-spacing:.08em}.principal-news-preview h3{margin:0;color:var(--navy);font-size:20px;line-height:1.25}.principal-news-preview p{margin:0;color:#375776;line-height:1.65}.principal-news-preview small{color:var(--muted);line-height:1.6}.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.news-card{padding:20px}.news-card-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.news-card time{color:var(--muted);font-size:12px}.news-card h3{margin:16px 0 8px;color:var(--navy)}.news-card p{margin:0;color:var(--muted);line-height:1.65}.news-card .row-actions{margin-top:14px}.news-card-rich{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px}.news-card-rich>img{width:88px;height:88px;border-radius:22px;object-fit:contain;padding:16px;background:#f2f7ff}.page-state,.empty-state{display:grid;place-items:center;min-height:220px;border:1px dashed #b9cbe3;border-radius:16px;padding:30px;color:var(--muted);background:#ffffffb3;text-align:center}.page-state svg{width:32px;height:32px;color:var(--blue)}.page-state p,.empty-state p{max-width:480px;margin:8px 0 0;line-height:1.6}.page-state-error svg{color:#ca3540}.page-state .button{margin-top:10px}.fatal-error-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--page-bg, #f4f7fb)}.fatal-error-page .page-state{width:min(100%,620px);min-height:320px;background:#fff}.fatal-error-page h1{margin:4px 0 0;color:var(--ink);font-size:clamp(24px,4vw,34px)}.empty-state strong{color:var(--navy);font-size:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric-card{position:relative;display:grid;gap:7px;min-height:145px;padding:22px;overflow:hidden}.metric-card:after{content:"";position:absolute;top:0;right:0;width:6px;height:100%;background:var(--blue)}.metric-card.accent-orange:after{background:var(--orange)}.metric-card.accent-mint:after{background:var(--mint)}.metric-card.accent-navy:after{background:var(--navy)}.metric-card>span{color:var(--muted);font-size:13px;font-weight:750}.metric-card>strong{color:var(--navy);font-size:36px;line-height:1}.metric-card>small{color:var(--muted);font-size:12px}.dashboard-panel,.list-panel,.badge-panel{padding:24px}.class-list{display:grid;gap:9px}.class-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border-radius:12px;padding:13px;background:#f6f9fe}.class-icon,.card-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;color:var(--blue-dark);background:#e4efff}.class-list h2,.class-list h3{margin:0 0 4px;color:var(--navy);font-size:15px}.class-list p{margin:0;color:var(--muted);font-size:12px}.class-list article>strong{display:grid;color:var(--navy);font-size:21px;text-align:right}.class-list strong small{color:var(--muted);font-size:12px}.card-grid,.course-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.action-card,.course-card,.portfolio-card{display:flex;flex-direction:column;align-items:flex-start;min-height:270px;padding:23px}.action-card h2,.course-card h2,.portfolio-card h2{margin:17px 0 8px;color:var(--navy);font-size:20px}.action-card p,.course-card p,.portfolio-card p{color:var(--muted);line-height:1.65}.action-card .button,.course-card .button{margin-top:auto}.card-icon.orange{color:#ac4118;background:#fff0e8}.card-icon.yellow{color:#786000;background:#fff8cf}.list-panel{display:grid;gap:8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;border-bottom:1px solid var(--line);padding:12px 4px}.list-row:last-child{border-bottom:0}.list-row h3{margin:7px 0 0;color:var(--navy);font-size:15px}.list-row p{margin:4px 0 0;color:var(--muted);font-size:12px}.list-row>strong{display:grid;color:var(--navy);font-size:22px;text-align:right}.list-row strong small{color:var(--muted);font-size:12px}.list-row time{color:var(--muted);font-size:12px}.homework-class-module{display:grid;gap:8px;overflow:hidden;border:1px solid #dbe6f4;border-radius:18px;background:#fff}.homework-class-module>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;background:linear-gradient(135deg,#eef6ff,#fff8df)}.homework-class-module>header h3{margin:0 0 4px;color:var(--navy);font-size:17px}.homework-class-module>header p{margin:0;color:var(--muted);font-size:12px}.homework-class-module>header strong{display:grid;color:var(--blue-dark);font-size:22px;text-align:right}.homework-class-module>header small{color:var(--muted);font-size:11px}.homework-class-list{display:grid;padding:0 14px 4px}.compact-homework-row:last-child{border-bottom:0}.course-card>span{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.12em}.course-card>strong{margin-bottom:18px;color:var(--blue-dark)}.settings-form{width:min(560px,100%)}.student-classroom-stack,.student-personal-space{display:grid;gap:22px}.app-layout:has(.student-course-hub-shell),html:has(.student-course-hub-shell),body:has(.student-course-hub-shell){height:100dvh;min-height:0;overflow:hidden}.app-main:has(.student-course-hub-shell){height:100%;min-height:0;overflow:hidden}.student-course-hub-shell{grid-template-rows:minmax(0,1fr);gap:14px;height:100%;min-height:0;overflow:hidden}.student-course-view-tabs{display:flex;align-items:center;gap:10px;width:fit-content;border:1px solid #cbdcf0;border-radius:14px;padding:5px;background:#ffffffd1;box-shadow:0 8px 24px #0c377612;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.student-course-view-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:156px;min-height:46px;border:0;border-radius:10px;padding:8px 14px;color:#45627f;background:transparent;font:inherit;font-size:15px;font-weight:900;cursor:pointer;transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.student-course-view-tabs button:hover{color:var(--blue-dark);background:#eef5ff}.student-course-view-tabs button:active{transform:translateY(1px)}.student-course-view-tabs button.active{color:#fff;background:var(--blue);box-shadow:0 8px 18px #1666cc3d}.student-course-view-tabs button:focus-visible,.student-course-series-list button:focus-visible{outline:3px solid rgba(255,190,46,.72);outline-offset:2px}.student-course-view-tabs svg{width:20px;height:20px}.student-course-view-tabs button>strong{display:grid;place-items:center;min-width:27px;height:27px;border-radius:999px;padding-inline:6px;color:var(--blue-dark);background:#e5effd;font-size:13px;line-height:1}.student-course-view-tabs button.active>strong{color:var(--blue-dark);background:#fff}.student-course-view-panel{min-height:0;overflow:hidden;border:1px solid #cfdff1;border-radius:18px;background:#fffffff0;box-shadow:var(--shadow-sm)}.student-class-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:16px;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px}.student-class-overview-card{display:grid;align-content:start;gap:17px;min-width:0;border:1px solid #d5e3f2;border-radius:16px;padding:19px;background:linear-gradient(150deg,#fff,#f6faff 72%,#eef8f4);box-shadow:0 10px 28px #0c377612}.student-class-overview-card>header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px}.student-class-overview-card>header>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:var(--blue);box-shadow:0 8px 18px #1666cc33}.student-class-overview-card>header svg{width:23px;height:23px}.student-class-overview-card h2{margin:0;overflow-wrap:anywhere;color:var(--navy);font-size:20px;line-height:1.3}.student-class-overview-card header p{margin:4px 0 0;color:var(--muted);font-size:13px}.student-class-overview-card header>strong{align-self:start;border-radius:999px;padding:6px 10px;color:#075f48;background:#e1f8ee;font-size:13px;white-space:nowrap}.student-class-overview-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.student-class-overview-card dl>div{min-width:0;border-left:3px solid #c9daf0;padding:4px 8px}.student-class-overview-card dt{margin-bottom:5px;color:#6b8299;font-size:12px;font-weight:800}.student-class-overview-card dd{margin:0;overflow-wrap:anywhere;color:var(--navy);font-size:14px;font-weight:900;line-height:1.45}.student-course-browser{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);height:100%;min-height:0}.student-course-series-list{display:grid;align-content:start;gap:9px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid #dce6f2;padding:16px;background:#f6f9fd}.student-course-series-list button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:76px;border:1px solid #d5e2f0;border-radius:12px;padding:11px;text-align:left;color:inherit;background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.student-course-series-list button:hover{border-color:#9dbce3;transform:translateY(-1px)}.student-course-series-list button.active{border-color:#70a4e4;background:#edf5ff;box-shadow:inset 4px 0 0 var(--blue),0 8px 20px #0c377612}.student-course-series-list button>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--blue-dark);background:#e4effe}.student-course-series-list svg{width:21px;height:21px}.student-course-series-list button>div{min-width:0}.student-course-series-list button strong{display:block;overflow:hidden;color:var(--navy);font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.student-course-series-list button small{display:block;margin-top:5px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.student-course-series-list button em{border-radius:999px;padding:5px 8px;color:#075f48;background:#e1f8ee;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.student-course-preview{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.student-course-preview>header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;border-bottom:1px solid #dce6f2;padding:16px 20px;background:linear-gradient(100deg,#fff,#f1f7ff 68%,#effaf6)}.student-course-preview>header>div{min-width:0}.student-course-preview h2{margin:0;overflow-wrap:anywhere;color:var(--navy);font-size:23px}.student-course-preview header p{margin:7px 0 0;display:-webkit-box;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-course-preview>header>strong{flex:0 0 auto;border-radius:10px;padding:9px 12px;color:#075f48;background:#ddf7ec;font-size:14px}.student-preview-lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:11px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:16px 18px 20px}.student-preview-lesson-list article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;min-width:0;min-height:104px;border:1px solid #d9e5f2;border-radius:12px;padding:13px;background:#fff}.student-preview-lesson-list article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;color:var(--blue-dark);background:#e7f1ff;font-size:15px;font-weight:950}.student-preview-lesson-list h3{margin:1px 0 5px;overflow-wrap:anywhere;color:var(--navy);font-size:16px;line-height:1.35}.student-preview-lesson-list article strong{display:block;overflow:hidden;color:#15745c;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.student-preview-lesson-list p{margin:6px 0 0;display:-webkit-box;overflow:hidden;color:#5c7187;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-course-empty-state,.student-assignment-empty-state{display:grid;place-items:center;align-content:center;gap:10px;height:100%;min-height:220px;padding:28px;color:#6b8096;text-align:center}.student-course-empty-state svg,.student-assignment-empty-state>svg{width:52px;height:52px;border-radius:16px;padding:12px;color:var(--blue-dark);background:#e7f1ff}.student-course-empty-state strong,.student-assignment-empty-state strong{color:var(--navy);font-size:20px}.student-course-empty-state span,.student-assignment-empty-state p{margin:0;font-size:14px}.student-class-courses{display:grid;gap:16px;padding:clamp(18px,3vw,26px)}.student-class-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-class-course-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;min-width:0;border:1px solid #d8e5f4;border-radius:18px;padding:15px;background:linear-gradient(145deg,#fff,#f6faff)}.student-class-course-grid strong{display:block;color:var(--navy);font-size:17px}.student-class-course-grid small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.student-class-course-grid p{margin:8px 0 0;color:var(--ink);font-size:13px;line-height:1.5}.student-class-course-grid em{grid-column:2;width:fit-content;border-radius:999px;padding:6px 10px;color:var(--blue-dark);background:#e8f1ff;font-size:12px;font-style:normal;font-weight:900}.student-course-overview{overflow:hidden;border:1px solid #cddcf0;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.student-course-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:168px;padding:clamp(24px,4vw,42px);color:#fff;background:linear-gradient(135deg,#082c69,#1768c8)}.student-course-heading .eyebrow{color:#a9f1db}.student-course-heading h1{margin:8px 0 10px;font-size:clamp(30px,4vw,44px);letter-spacing:0}.student-course-heading p{max-width:640px;margin:0;color:#e7f0ff;font-size:16px;line-height:1.75}.course-total{display:grid;place-items:center;flex:0 0 auto;width:116px;height:116px;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:#ffffff1a}.course-total strong{font-size:40px;line-height:1}.course-total small{color:#e7f0ff;font-size:12px}.course-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:clamp(14px,2.4vw,24px) clamp(14px,2.4vw,24px) 0}.course-catalog-grid article{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;min-width:0;overflow:hidden;border:1px solid #d7e3f3;border-radius:18px;padding:14px;background:radial-gradient(circle at 100% 0,rgba(255,201,74,.18),transparent 34%),#f8fbff}.course-catalog-grid article.owned{border-color:#3ccb9a8c;background:radial-gradient(circle at 100% 0,rgba(60,203,154,.18),transparent 34%),#f5fffb}.course-catalog-grid img{width:54px;height:54px;border-radius:16px;padding:8px;object-fit:contain;background:#fff;box-shadow:0 10px 20px #0c377614}.course-catalog-grid span{color:var(--blue-dark);font-size:11px;font-weight:950;letter-spacing:.08em}.course-catalog-grid h2{margin:4px 0 5px;color:var(--navy);font-size:17px;line-height:1.25}.course-catalog-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.course-catalog-grid article>strong{grid-column:1 / -1;width:fit-content;border-radius:999px;padding:6px 10px;color:#075f48;background:#e1f8ee;font-size:12px}.course-catalog-grid article:not(.owned)>strong{color:#8a5a00;background:#fff3c4}.course-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:clamp(14px,2.4vw,24px)}.course-term-grid article{position:relative;display:grid;min-height:96px;border:1px solid #d7e3f3;border-radius:12px;padding:16px;background:#f8fbff;overflow:hidden}.term-index{position:absolute;right:10px;bottom:-7px;color:#e8f0fb;font-size:46px;font-weight:900;line-height:1}.term-icon{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#1559a9;background:#deebff}.term-icon svg{width:22px;height:22px}.course-term-grid article>div{position:relative;z-index:1}.course-term-grid small{color:#44617f;font-size:12px;font-weight:800}.course-term-grid h2{margin:7px 0 0;color:var(--navy);font-size:18px}.course-term-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.course-waiting-status{display:flex;align-items:center;gap:12px;margin:0 clamp(20px,3vw,34px) clamp(20px,3vw,34px);border:1px solid #bfe5d7;border-radius:14px;padding:15px 18px;background:#effbf6}.course-waiting-status>span{flex:0 0 auto;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:#078360;box-shadow:0 0 0 2px #078360}.course-waiting-status div{display:grid;gap:3px}.course-waiting-status strong{color:#075f48}.course-waiting-status small{color:#3f5d56;font-size:12px}.course-placeholder-panel{display:grid;gap:16px;padding:clamp(18px,3vw,26px)}.course-placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-placeholder-grid article{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;overflow:hidden;border:1px dashed #c8d9ef;border-radius:20px;padding:16px;background:radial-gradient(circle at 100% 0,rgba(255,211,61,.16),transparent 30%),#f8fbff}.course-placeholder-grid img{width:56px;height:56px;border-radius:17px;padding:8px;background:#fff;box-shadow:0 10px 20px #0c377614}.course-placeholder-grid span{color:var(--blue-dark);font-size:11px;font-weight:950;letter-spacing:.08em}.course-placeholder-grid h3{margin:4px 0 5px;color:var(--navy);font-size:18px}.course-placeholder-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.course-placeholder-grid strong{border-radius:999px;padding:6px 10px;color:#8a5a00;background:#fff3c4;font-size:12px}.student-campus-news{display:grid;gap:18px;overflow:hidden;padding:clamp(20px,3vw,30px)}.campus-space-page{background:radial-gradient(circle at 96% 0,rgba(55,201,150,.12),transparent 32%),#fff}.campus-star-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.campus-star-grid article{display:grid;grid-template-columns:60px minmax(0,1fr);gap:13px;align-items:center;border:1px solid #d8e5f4;border-radius:20px;padding:16px;background:linear-gradient(145deg,#fffdf4,#f5faff);box-shadow:0 10px 24px #0c37760f}.campus-star-grid img{width:58px;height:58px;border-radius:18px;padding:9px;background:#fff;box-shadow:0 10px 20px #0c377614}.campus-star-grid span{color:#bd6a00;font-size:11px;font-weight:950;letter-spacing:.08em}.campus-star-grid h3{margin:5px 0;color:var(--navy);font-size:17px}.campus-star-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.section-heading.compact{margin-top:4px}.student-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.student-news-grid>button{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;min-height:156px;overflow:hidden;border:1px solid #d8e5f4;border-radius:20px;padding:16px;color:inherit;background:radial-gradient(circle at 96% 0,rgba(255,211,61,.18),transparent 30%),linear-gradient(145deg,#fff,#f5f9ff);box-shadow:0 10px 24px #0c37760f;text-align:left;cursor:pointer}.student-news-grid>button:hover,.student-news-grid>button:focus-visible{border-color:#2d7eea8c;transform:translateY(-1px);box-shadow:0 14px 30px #0c37761f}.student-news-grid>button:after{content:"";position:absolute;right:-36px;bottom:-42px;width:112px;height:112px;border-radius:50%;background:#37c9961f;pointer-events:none}.student-news-grid img{position:relative;z-index:1;width:72px;height:72px;border-radius:18px;padding:10px;object-fit:contain;background:#eef7ff;box-shadow:0 10px 20px #0c377617}.student-news-grid div{position:relative;z-index:1;min-width:0}.student-news-grid span{color:var(--blue-dark);font-size:11px;font-weight:950;letter-spacing:.08em}.student-news-grid h3{margin:7px 0 6px;color:var(--navy);font-size:18px;line-height:1.28}.student-news-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.student-campus-article{display:grid;gap:20px;overflow:hidden;padding:clamp(22px,4vw,42px);background:radial-gradient(circle at 92% 0,rgba(255,211,61,.18),transparent 34%),linear-gradient(180deg,#fff,#f7fbff)}.student-campus-article>button{width:fit-content}.student-campus-article header{display:grid;grid-template-columns:128px minmax(0,1fr);gap:22px;align-items:center;border-bottom:1px solid #dbe7f5;padding-bottom:22px}.student-campus-article header img{width:128px;height:128px;border-radius:30px;padding:18px;object-fit:contain;background:#eef7ff;box-shadow:0 18px 35px #0c37761f}.student-campus-article h2{margin:8px 0;color:var(--navy);font-size:clamp(26px,4vw,42px);line-height:1.16;letter-spacing:-.03em}.student-campus-article header p{max-width:720px;margin:0 0 10px;color:#375776;font-size:17px;line-height:1.7}.student-campus-article time{color:var(--muted);font-size:13px}.student-campus-article-body{display:grid;gap:16px;max-width:760px;margin:0 auto;color:#233b55;font-size:17px;line-height:1.9}.student-campus-article-body p{margin:0}.student-news-placeholder{display:flex;align-items:center;gap:13px;min-height:118px;border:1px dashed #bed4ef;border-radius:18px;padding:18px;color:#43607e;background:#f7fbff}.student-news-placeholder svg{flex:0 0 auto;width:34px;height:34px;color:var(--blue-dark)}.student-news-placeholder strong{display:block;color:var(--navy)}.student-news-placeholder small{display:block;margin-top:4px;color:var(--muted)}.live-class-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 24px}.live-class-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;color:#fff;background:#1768c8}.live-class-summary h1{margin:4px 0;color:var(--navy);font-size:24px}.live-class-summary p{margin:0;color:var(--muted);font-size:13px}.live-class-summary>strong{display:grid;color:#08704d;text-align:right}.live-class-summary>strong small{color:var(--muted);font-size:12px}.student-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;min-width:0}.student-personal-grid>:nth-child(n+3){grid-column:1 / -1}.student-personal-grid.modular{grid-template-columns:1fr}.student-personal-grid.modular>*{grid-column:1}.student-personal-grid>.surface{min-width:0;overflow:visible}.student-personal-grid .list-row>div{min-width:0}.student-personal-grid .list-row .class-icon{flex:0 0 auto}.personal-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.personal-module-card{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;gap:3px 13px;min-height:132px;overflow:hidden;border:1px solid #d8e5f4;border-radius:22px;padding:16px;color:var(--navy);background:linear-gradient(145deg,#fff,#f5f9ff);text-align:left;cursor:pointer;box-shadow:0 10px 24px #0c377612;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.personal-module-card:after{content:"";position:absolute;right:-38px;bottom:-44px;width:118px;height:118px;border-radius:50%;background:#2d7eea14}.personal-module-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px #0c37761f}.personal-module-card.active{border-color:#2d7eea85;transform:translateY(-2px);box-shadow:inset 0 0 0 2px #2d7eea1a,0 16px 32px #0c37761f}.personal-module-card.active:before{content:"当前";position:absolute;top:10px;right:10px;z-index:2;border-radius:999px;padding:4px 8px;color:#fff;background:var(--blue);font-size:11px;font-weight:950}.personal-module-card img{position:relative;z-index:1;grid-row:1 / 4;width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(12,55,118,.14))}.personal-module-card span{position:relative;z-index:1;color:var(--blue-dark);font-size:11px;font-weight:950;letter-spacing:.08em}.personal-module-card .module-title{position:relative;z-index:1;color:var(--navy);font-size:22px;font-weight:950;line-height:1.05;letter-spacing:0}.personal-module-card small{position:relative;z-index:1;color:#526681;font-size:12px;line-height:1.3}.personal-module-card.module-homework{background:radial-gradient(circle at 88% 15%,rgba(255,211,61,.28),transparent 32%),linear-gradient(145deg,#fff,#fff7df)}.personal-module-card.module-records{background:radial-gradient(circle at 88% 15%,rgba(45,126,234,.16),transparent 32%),linear-gradient(145deg,#fff,#eff6ff)}.personal-module-card.module-achievements{background:radial-gradient(circle at 88% 15%,rgba(223,115,24,.18),transparent 32%),linear-gradient(145deg,#fff,#fff0e8)}.personal-module-card.module-ranking{background:radial-gradient(circle at 88% 15%,rgba(55,201,150,.2),transparent 32%),linear-gradient(145deg,#fff,#ebfff7)}.review-back-button{justify-self:start}.lesson-review-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;min-height:66px;border-top:1px solid var(--line);padding:11px 0}.lesson-review-row:first-of-type{border-top:0}.review-row-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--blue-dark);background:#edf4ff}.review-row-icon svg{width:19px;height:19px}.lesson-review-row h3{margin:5px 0 2px;color:var(--navy);font-size:15px}.lesson-review-row p{margin:0;color:var(--muted);font-size:12px}.lesson-review-row time{color:var(--muted);font-size:12px;white-space:nowrap}.lesson-review-row .preview-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;white-space:nowrap}.lesson-review-row .preview-button svg{width:15px;height:15px}.student-personal-grid .personal-list-action{min-width:72px;min-height:34px;border-color:transparent;border-radius:999px;padding:6px 12px;color:#1768c8;background:#f4f8ff;box-shadow:none;font-size:13px;line-height:1}.student-personal-grid .personal-list-action:hover{border-color:#bfd1ef;background:#eaf3ff}.personal-detail-panel{border-radius:24px}.personal-detail-panel>.section-heading{margin-bottom:16px}.personal-detail-panel .list-row,.personal-detail-panel .lesson-review-row{border:1px solid #e0e8f3;border-radius:16px;padding:12px;background:#fff}.personal-detail-panel .list-row+.list-row,.personal-detail-panel .lesson-review-row+.lesson-review-row{margin-top:10px}.personal-detail-panel .list-row:last-child{border-bottom:1px solid #e0e8f3}.personal-detail-panel .homework-class-list{gap:10px;padding:12px}.personal-detail-panel .compact-homework-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px}.personal-detail-panel .compact-homework-row>div{min-width:0}.student-hero,.typing-hero,.profile-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:250px;margin-bottom:22px;border-radius:22px;padding:clamp(28px,4vw,52px);color:#fff;background:linear-gradient(135deg,var(--navy),#1767c4);overflow:hidden}.student-hero:after,.typing-hero:after{content:"";position:absolute;right:-60px;bottom:-110px;width:310px;height:310px;border-radius:50%;background:#37c9962e}.student-hero>*,.typing-hero>*{position:relative;z-index:1}.student-hero .eyebrow,.typing-hero .eyebrow,.profile-hero .eyebrow{color:#a9f1db}.student-hero h1,.typing-hero h1,.profile-hero h1{margin-bottom:10px;font-size:clamp(30px,4vw,46px)}.student-hero p,.typing-hero p,.profile-hero p{margin-bottom:0;color:#e5effd;line-height:1.7}.student-hero .button{margin-top:22px}.level-orbit{display:grid;place-items:center;flex:0 0 auto;width:145px;height:145px;border:2px solid rgba(255,255,255,.32);border-radius:50%;background:#ffffff17}.level-orbit span{font-size:12px;letter-spacing:.16em}.level-orbit strong{font-size:50px;line-height:1}.level-orbit small{color:#bcebdc}.news-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.news-strip article{border-radius:13px;padding:17px;background:#f5f9ff}.news-strip time{color:var(--blue-dark);font-size:12px;font-weight:800}.news-strip h3{margin:10px 0 6px;color:var(--navy);font-size:16px}.news-strip p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.student-worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.class-world{display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:26px}.class-world>div:first-child{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:13px}.class-world h2{margin:20px 0 8px;color:var(--navy);font-size:24px}.class-world>p{color:var(--muted)}.session-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.session-pills span{border-radius:999px;padding:6px 10px;color:var(--blue-dark);background:#edf4ff;font-size:12px;font-weight:700}.class-world .button{margin-top:auto}.typing-hero{justify-content:flex-start;background:linear-gradient(135deg,#0c4b74,#138d86)}.typing-hero-art{flex:0 0 auto;width:76px;height:76px;border-radius:22px;padding:14px;object-fit:contain;background:#d8fff1;box-shadow:0 14px 34px #00000024}.typing-hero .button{margin-left:auto}.profile-hero{justify-content:space-between;background:linear-gradient(135deg,#103e7c,#2d7eea)}.profile-avatar{display:grid;place-items:center;flex:0 0 auto;width:110px;height:110px;border:4px solid rgba(255,255,255,.35);border-radius:34px;color:var(--navy);background:var(--yellow);font-size:48px;font-weight:900}.profile-avatar img{width:82px;height:82px;object-fit:cover;border-radius:26px}.avatar-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:12px;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:0 14px;color:#fff;background:#ffffff24;font-size:12px;font-weight:900;cursor:pointer}.avatar-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.profile-status-stack{display:grid;justify-items:end;gap:8px;margin-left:auto}.profile-status-stack .profile-level{margin:0}.profile-status-stack small{color:#c7d9f5;font-size:12px;font-weight:800}.profile-level{padding:9px 14px;color:var(--navy);border-radius:999px;background:var(--yellow);font-size:13px;font-weight:900}.level-progress{display:flex;align-items:center;gap:12px;margin:12px 0 22px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.level-progress>div{flex:1;height:10px;overflow:hidden;border-radius:999px;background:#e5ebf4}.level-progress>div span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--yellow))}.level-progress strong{color:var(--navy);font-size:12px}.growth-dashboard-card{position:relative;display:grid;grid-template-columns:126px minmax(0,1fr) minmax(260px,.72fr);align-items:center;gap:18px;overflow:hidden;border:1px solid #cfe0f5;border-radius:26px;padding:18px;background:radial-gradient(circle at 92% 8%,rgba(255,211,61,.24),transparent 30%),linear-gradient(135deg,#fff,#f4f9ff 64%,#ecfff8);box-shadow:0 18px 42px #0c377617}.growth-dashboard-card:after{content:"";position:absolute;right:-42px;bottom:-48px;width:150px;height:150px;border-radius:999px;background:#37c9961f;pointer-events:none}.growth-orbit{position:relative;z-index:1;display:grid;place-items:center;width:112px;height:112px;border:10px solid #e5f1ff;border-top-color:var(--yellow);border-right-color:var(--mint);border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #d9e7f7,0 14px 28px #0d418c1a}.growth-orbit span{color:var(--blue-dark);font-size:13px;font-weight:950}.growth-orbit strong{color:var(--navy);font-size:30px;line-height:1}.growth-orbit small{color:var(--muted);font-size:11px;font-weight:850}.growth-dashboard-copy{position:relative;z-index:1;min-width:0}.growth-dashboard-copy h2{margin:0 0 10px;color:var(--navy);font-size:clamp(22px,3vw,34px);line-height:1.18}.level-progress.compact{margin:0;padding:0;border:0;background:transparent;box-shadow:none}.growth-mini-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.growth-mini-stats span{display:grid;min-height:62px;border:1px solid #d8e6f5;border-radius:18px;padding:10px 12px;color:#526681;background:#ffffffc7;font-size:12px;font-weight:850;box-shadow:0 8px 18px #0c37760d}.growth-mini-stats strong{display:block;overflow:hidden;color:var(--blue-dark);font-size:20px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.achievement-gallery{grid-column:1 / -1;overflow:hidden;border:1px solid #d9e4f2;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.achievement-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:150px;padding:24px 28px;color:#fff;background:radial-gradient(circle at 82% 10%,rgba(255,211,61,.2),transparent 28%),linear-gradient(120deg,#082454,#0f5ca8 68%,#167b72)}.achievement-gallery-heading>div>span{color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.13em}.achievement-gallery-heading h2{margin:6px 0;color:#fff;font-size:30px}.achievement-gallery-heading p{margin:0;color:#d9e9ff;font-size:13px;line-height:1.6}.achievement-gallery-heading img{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(3,20,54,.28))}.achievement-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px;border-bottom:1px solid var(--line);background:#f6f9fd}.achievement-tab{display:flex;align-items:center;gap:9px;min-width:0;min-height:64px;border:1px solid transparent;border-radius:14px;padding:9px 11px;color:var(--navy);background:transparent;text-align:left;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.achievement-tab:hover{background:#fff}.achievement-tab.active{border-color:#b9d2f3;background:#fff;box-shadow:0 6px 15px #0d418c1a}.achievement-tab img{flex:0 0 auto;width:38px;height:38px;object-fit:contain}.achievement-tab span{display:grid;min-width:0;gap:3px}.achievement-tab strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.achievement-tab small{color:var(--muted);font-size:11px}.achievement-panel{--achievement-accent: var(--blue);--achievement-soft: #edf5ff;padding:18px}.achievement-panel>header{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:105px;border:1px solid #dce5f2;border-radius:17px;padding:16px 19px;background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--achievement-accent) 18%,transparent),transparent 30%),var(--achievement-soft)}.achievement-panel-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:17px;background:#fff;box-shadow:0 7px 18px #0d418c1a}.achievement-panel-icon img{width:52px;height:52px;object-fit:contain}.achievement-panel>header span{color:var(--achievement-accent);font-size:10px;font-weight:900;letter-spacing:.12em}.achievement-panel>header h2{margin:4px 0;color:var(--navy);font-size:24px}.achievement-panel>header p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.achievement-panel>header>strong{color:var(--achievement-accent);font-size:32px;line-height:1}.achievement-panel>header>strong small{color:var(--muted);font-size:13px}.achievement-blue{--achievement-accent: var(--blue);--achievement-soft: #edf5ff}.achievement-orange{--achievement-accent: var(--orange);--achievement-soft: #fff2e8}.achievement-mint{--achievement-accent: var(--mint);--achievement-soft: #ebfaf5}.achievement-yellow{--achievement-accent: #ad7900;--achievement-soft: #fff8df}.achievement-navy{--achievement-accent: var(--navy);--achievement-soft: #edf1f8}.achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.achievement-badge{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px;min-height:148px;overflow:hidden;border:1px solid #dfe6f0;border-top:4px solid #8da0ba;border-radius:15px;padding:14px;background:#f8fafd}.achievement-badge.rarity-uncommon{border-top-color:#2eaa81}.achievement-badge.rarity-rare{border-top-color:#297bd8}.achievement-badge.rarity-epic{border-top-color:#dc6c20}.achievement-badge.rarity-legendary{border-top-color:#d7a000;background:#fff9e7}.achievement-badge.unlocked{background:#fff;box-shadow:0 7px 18px #0a306c17}.achievement-rarity{position:absolute;top:8px;right:9px;border-radius:999px;padding:3px 6px;color:#526079;background:#e9eef5;font-size:10px;font-weight:900}.rarity-uncommon .achievement-rarity{color:#087254;background:#e2f7ef}.rarity-rare .achievement-rarity{color:#155aa7;background:#e7f1ff}.rarity-epic .achievement-rarity{color:#a84314;background:#ffecdf}.rarity-legendary .achievement-rarity{color:#815b00;background:#ffeda9}.achievement-medal{display:grid;place-items:center;width:56px;height:56px;margin-top:10px;border-radius:16px;background:#e8edf4}.achievement-medal img{width:48px;height:48px;object-fit:contain;filter:grayscale(1);opacity:.42}.achievement-badge.unlocked .achievement-medal{background:#fff7ca}.achievement-badge.unlocked .achievement-medal img{filter:none;opacity:1}.achievement-copy{align-self:center;min-width:0;padding-top:12px}.achievement-copy h3{margin:0;color:var(--navy);font-size:14px}.achievement-copy p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.achievement-progress{grid-column:1 / -1;align-self:end;height:6px;overflow:hidden;border-radius:999px;background:#e1e7ef}.achievement-progress i{display:block;height:100%;border-radius:inherit;background:var(--achievement-accent)}.achievement-badge>small{grid-column:1 / -1;color:var(--muted);font-size:11px;text-align:right}.achievement-badge.concealed{color:#fff;border-color:#244a7c;border-top-color:var(--yellow);background:linear-gradient(145deg,#0a2754,#123f77)}.achievement-badge.concealed .achievement-medal{background:#ffffff14}.achievement-badge.concealed .achievement-medal img{filter:grayscale(1) brightness(1.8);opacity:.28}.achievement-badge.concealed h3{color:#fff}.achievement-badge.concealed p,.achievement-badge.concealed>small{color:#b9cae3}.achievement-badge.concealed .achievement-progress{background:#ffffff1a}.portfolio-card>span:not(.card-icon){margin-top:16px;color:var(--blue-dark);font-size:12px;font-weight:800}.portfolio-card>strong{margin-top:auto;color:var(--orange);font-size:22px}.student-live-native{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.student-live-stage,.student-live-side{display:grid;gap:16px;overflow:hidden}.student-live-stage{position:relative}.student-live-stage>.section-heading,.student-live-side>.section-heading{padding:20px 24px 0}.student-live-stage>.student-ppt-native,.student-live-stage>.student-practice-native{margin:0 20px 20px}.student-live-side>pre,.student-live-side>.native-run-result,.student-live-side>.student-submit-summary{margin-inline:20px}.student-live-side>:last-child{margin-bottom:20px}.student-fullscreen-actions{display:flex;justify-content:center;margin:-20px 20px 20px}.student-fullscreen-toggle{min-width:138px;color:#174f91;border-color:#a9c9ed;border-radius:999px;background:linear-gradient(145deg,#fff,#eaf4ff);box-shadow:0 9px 22px #19549d24;cursor:pointer}.student-fullscreen-toggle:hover,.student-fullscreen-toggle:focus-visible{color:#0b4da2;border-color:#5b9ee7;background:#fff;box-shadow:0 11px 26px #19549d38,0 0 0 4px #458fe21f;outline:none}.student-fullscreen-context-menu{position:fixed;z-index:140;min-width:172px;overflow:hidden;border:1px solid rgba(158,183,217,.52);border-radius:14px;padding:6px;background:#fffffff5;box-shadow:0 18px 46px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.student-fullscreen-context-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;border:0;border-radius:10px;padding:8px 12px;color:#173e70;background:transparent;font-weight:850;cursor:pointer}.student-fullscreen-context-menu button:hover,.student-fullscreen-context-menu button:focus-visible{color:#fff;background:linear-gradient(135deg,#388fdf,#235fc4);outline:none}.student-fullscreen-context-menu svg{width:18px;height:18px}.student-immersive-classroom:fullscreen,.student-immersive-classroom.is-fullscreen{width:100vw;height:100vh;height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr);gap:0;overflow:hidden;background:#07111f}.student-immersive-classroom:fullscreen>.student-live-stage,.student-immersive-classroom.is-fullscreen>.student-live-stage{width:100%;height:100%;min-height:0;grid-template-rows:minmax(0,1fr);gap:0;border:0;border-radius:0;background:#07111f;box-shadow:none}.student-immersive-classroom:fullscreen .student-classroom-heading,.student-immersive-classroom:fullscreen>.student-submit-summary,.student-immersive-classroom.is-fullscreen .student-classroom-heading,.student-immersive-classroom.is-fullscreen>.student-submit-summary{display:none}.student-immersive-classroom:fullscreen .student-ppt-deck,.student-immersive-classroom.is-fullscreen .student-ppt-deck{position:relative;width:100%;height:100%;min-height:0;place-items:center;gap:0;margin:0;border:0;border-radius:0;padding:0;overflow:hidden;background:#07111f}.student-immersive-classroom:fullscreen .student-ppt-slide-viewport,.student-immersive-classroom.is-fullscreen .student-ppt-slide-viewport{width:min(100vw,calc(100dvh * 16 / 9));max-width:none;height:min(100dvh,56.25vw);border:0;border-radius:0;box-shadow:none}.student-immersive-classroom:fullscreen .student-ppt-slide-viewport .pptx-slide-frame,.student-immersive-classroom.is-fullscreen .student-ppt-slide-viewport .pptx-slide-frame{width:100%;max-width:none;height:100%;border:0;border-radius:0;box-shadow:none}.student-immersive-classroom:fullscreen .student-ppt-deck>small,.student-immersive-classroom.is-fullscreen .student-ppt-deck>small{position:absolute;left:18px;bottom:18px;z-index:3;margin:0;color:#fff;background:#041227b8;box-shadow:0 8px 22px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.student-immersive-classroom:fullscreen .student-ppt-native,.student-immersive-classroom.is-fullscreen .student-ppt-native{width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;padding:clamp(24px,6vw,72px);background:linear-gradient(145deg,#f7fbff,#eaf4ff)}.student-immersive-classroom:fullscreen .teacher-code-presentation,.student-immersive-classroom.is-fullscreen .teacher-code-presentation{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}.student-immersive-classroom:fullscreen .teacher-code-presentation .student-code-row,.student-immersive-classroom.is-fullscreen .teacher-code-presentation .student-code-row{--editor-height: 100%;height:100%;min-height:0}.student-immersive-classroom:fullscreen .student-practice-native,.student-immersive-classroom.is-fullscreen .student-practice-native{width:100%;height:100%;min-height:0;grid-template-columns:minmax(0,1fr);gap:0;margin:0}.student-immersive-classroom:fullscreen .student-practice-native .student-mission-native,.student-immersive-classroom.is-fullscreen .student-practice-native .student-mission-native{display:none}.student-immersive-classroom:fullscreen .student-practice-native .student-code-native,.student-immersive-classroom.is-fullscreen .student-practice-native .student-code-native{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.student-immersive-classroom:fullscreen .student-practice-native .editor-workspace,.student-immersive-classroom:fullscreen .student-practice-native .editor-code-area,.student-immersive-classroom.is-fullscreen .student-practice-native .editor-workspace,.student-immersive-classroom.is-fullscreen .student-practice-native .editor-code-area{height:100%;min-height:0;overflow:hidden}.student-immersive-classroom:fullscreen .student-practice-native .editor-workspace.quick-panel-open,.student-immersive-classroom.is-fullscreen .student-practice-native .editor-workspace.quick-panel-open{grid-template-columns:minmax(180px,250px) minmax(0,1fr)}.student-immersive-classroom:fullscreen .student-practice-native .editor-quick-panel,.student-immersive-classroom.is-fullscreen .student-practice-native .editor-quick-panel{height:100%;max-height:none}.student-immersive-classroom:fullscreen .student-practice-native .student-code-row,.student-immersive-classroom.is-fullscreen .student-practice-native .student-code-row{--editor-height: 100%;height:100%;min-height:0}.student-immersive-classroom:fullscreen .student-fullscreen-actions,.student-immersive-classroom.is-fullscreen .student-fullscreen-actions{position:absolute;right:18px;bottom:18px;z-index:12;margin:0}.student-immersive-classroom:fullscreen[data-classroom-mode=teacher-code] .student-fullscreen-actions,.student-immersive-classroom:fullscreen[data-classroom-mode=practice] .student-fullscreen-actions,.student-immersive-classroom.is-fullscreen[data-classroom-mode=teacher-code] .student-fullscreen-actions,.student-immersive-classroom.is-fullscreen[data-classroom-mode=practice] .student-fullscreen-actions{top:74px;bottom:auto}.student-immersive-classroom:fullscreen .student-fullscreen-toggle,.student-immersive-classroom.is-fullscreen .student-fullscreen-toggle{width:46px;min-width:46px;height:46px;padding:0;color:#fff;border-color:#ffffff47;background:#041227b8;box-shadow:0 10px 28px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.student-immersive-classroom:fullscreen .student-fullscreen-toggle span,.student-immersive-classroom.is-fullscreen .student-fullscreen-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.student-ppt-native{display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;align-items:center;min-height:310px;border:1px solid #d9e5f3;border-radius:18px;padding:24px;background:linear-gradient(135deg,#f7fbff,#eef7ff)}.student-ppt-native>svg{width:68px;height:68px;color:var(--blue)}.student-ppt-native h3{margin:6px 0 8px;color:var(--navy);font-size:clamp(24px,3vw,38px)}.student-ppt-native p{margin:0;color:var(--ink);font-size:16px;line-height:1.7}.student-ppt-native small{display:inline-block;margin-top:14px;border-radius:999px;padding:6px 10px;color:var(--blue-dark);background:#e0efff;font-size:12px;font-weight:900}.student-ppt-deck{display:grid;justify-items:center;gap:12px;margin:0 20px 20px;border:1px solid #d9e5f3;border-radius:18px;padding:18px;background:linear-gradient(135deg,#f7fbff,#eef7ff)}.student-ppt-deck>small{border-radius:999px;padding:6px 10px;color:var(--blue-dark);background:#e0efff;font-size:12px;font-weight:900}.student-ppt-slide-viewport{position:relative;width:min(100%,960px);aspect-ratio:16 / 9;overflow:hidden;border-radius:14px;background:#101828}.student-ppt-slide-viewport .pptx-slide-frame{width:100%;max-width:none;height:100%;border-radius:14px}.teacher-code-presentation{margin:0 20px 20px;overflow:hidden;border:1px solid #b9d4f3;border-radius:22px;background:#fff;box-shadow:0 18px 42px #235b9e24,inset 0 1px #ffffffe6}.teacher-code-presentation .student-code-row{--editor-height: 360px;grid-template-columns:54px minmax(0,1fr)}.student-live-side{position:sticky;top:92px}.student-live-side pre{max-height:270px;margin:0;overflow:auto;border:1px solid #223653;border-radius:15px;padding:14px;color:#dce7f8;background:#0d172b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.65;white-space:pre-wrap}.student-submit-summary{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fbff}.student-submit-summary strong{color:var(--navy);font-size:14px}.student-submit-summary small{color:var(--muted);font-size:12px}.student-practice-native{display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:18px;align-items:stretch}.student-practice-native.without-mission{grid-template-columns:minmax(0,1fr);width:min(100%,1480px);margin-inline:auto}.student-mission-native{position:relative;display:grid;align-content:start;gap:13px;overflow:hidden;border:1px solid rgba(74,133,214,.2);border-radius:20px;padding:18px;background:linear-gradient(145deg,#fff,#f4f9ff 52%,#eef7ff);box-shadow:0 14px 35px #14488a14}.student-mission-native:after{content:"";position:absolute;right:-30px;top:-34px;width:116px;height:116px;border-radius:999px;background:radial-gradient(circle,#54b5ff38,#54b5ff00 68%);pointer-events:none}.student-mission-native h3{position:relative;margin:0;color:var(--navy);font-size:18px;line-height:1.45;letter-spacing:-.01em}.student-mission-native div:not(.student-star-row){display:flex;flex-wrap:wrap;gap:7px}.student-mission-native code{border:1px solid rgba(45,126,234,.14);border-radius:999px;padding:6px 9px;color:var(--blue-dark);background:#e8f1ff;font-size:12px;font-weight:900;box-shadow:inset 0 1px #ffffffb8}.student-star-row{display:flex;gap:6px;color:#c6cfdb;font-size:24px}.student-star-row .lit{color:var(--orange)}.student-code-native{overflow:hidden;border:1px solid #b9d4f3;border-radius:24px;background:#fff;box-shadow:0 20px 46px #235b9e26,0 0 0 4px #4b8be80b,inset 0 1px #fffffff5}.student-code-row{--editor-font-size: 16px;--editor-line-height: 28px;--editor-padding-block: 22px;--editor-padding-inline: 22px;--editor-height: 410px;display:grid;grid-template-columns:62px minmax(0,1fr);height:var(--editor-height);min-height:var(--editor-height);overflow:hidden;background:#fbfdff}.student-code-row>pre:first-child{height:100%;margin:0;overflow:hidden;border-right:1px solid #c9def5;padding:var(--editor-padding-block) 6px var(--editor-padding-block) 4px;color:#5681b2;background:linear-gradient(180deg,#edf6ff,#f4f9ff);font-family:Cascadia Code,JetBrains Mono,Fira Code,Source Code Pro,Noto Sans Mono CJK SC,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-variant-ligatures:none;font-weight:750;line-height:var(--editor-line-height);text-align:right;-webkit-user-select:none;user-select:none}.python-line-numbers>span{position:relative;display:grid;align-items:center;justify-content:end;width:100%;height:var(--editor-line-height);padding-right:10px;line-height:var(--editor-line-height)}.python-line-numbers>span.active{color:#fff;background:linear-gradient(90deg,#35a9ef,#557ee7 82%,#6d6ee4);box-shadow:0 4px 12px #3176da3d;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%)}.python-code-input-shell{position:relative;min-width:0;height:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 92% 2%,rgba(130,112,229,.055),transparent 31%),repeating-linear-gradient(90deg,transparent 0 63px,rgba(80,127,184,.045) 63px 64px),linear-gradient(155deg,#fff,#f9fbff 56%,#f5f8ff);background-position:0,var(--editor-padding-inline) 0,0}.python-syntax-layer,.python-code-input,.python-code-readonly{margin:0;padding:var(--editor-padding-block) var(--editor-padding-inline);color:#1d3554;font-family:Cascadia Code,JetBrains Mono,Fira Code,Source Code Pro,Noto Sans Mono CJK SC,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--editor-font-size);font-feature-settings:"liga" 0,"calt" 0;font-variant-ligatures:none;font-weight:600;letter-spacing:.012em;line-height:var(--editor-line-height);tab-size:4;white-space:pre;overflow-wrap:normal}.python-syntax-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;scrollbar-width:none}.python-syntax-layer::-webkit-scrollbar{display:none}.python-code-input{position:relative;z-index:2;display:block;width:100%;height:100%;min-height:0;overflow:auto;border:0;border-radius:0;color:transparent;background:transparent;caret-color:#176fd1;resize:none;scrollbar-color:#a9c6e8 #f4f8ff;-webkit-text-fill-color:transparent}.python-code-input:hover,.python-code-input:focus{border:0;box-shadow:none;outline:none}.python-code-input::selection{color:transparent;background:#4d8fe640;-webkit-text-fill-color:transparent}.python-code-input-shell:focus-within{box-shadow:inset 0 0 0 2px #3691e04d,inset 0 0 42px #4f7fd10b}.python-code-readonly{height:100%;min-height:0;overflow:auto;border:0;border-radius:0;background:radial-gradient(circle at 92% 2%,rgba(130,112,229,.055),transparent 31%),repeating-linear-gradient(90deg,transparent 0 63px,rgba(80,127,184,.045) 63px 64px),linear-gradient(155deg,#fff,#f9fbff 56%,#f5f8ff);background-position:0,var(--editor-padding-inline) 0,0}.python-token.token-keyword{color:#d85f43;font-weight:800}.python-token.token-string{color:#16815b}.python-token.token-number{color:#ad5a15;font-weight:750}.python-token.token-constant{color:#a43f76;font-weight:750}.python-token.token-comment{color:#75859a;font-style:italic;font-weight:550}.python-token.token-builtin{color:#a23f9d;font-weight:800}.python-token.token-function,.python-token.token-definition{color:#714ac2;font-weight:850}.python-token.token-module{color:#1469aa;font-weight:750}.python-token.token-variable{color:#24578d}.python-token.token-operator{color:#596b82;font-weight:750}.python-token.token-punctuation{color:#63758c}.python-token.token-decorator{color:#8f6900;font-weight:750}.python-token.token-argument-1:is(.token-string,.token-number,.token-variable,.token-constant){color:#16815b}.python-token.token-argument-2:is(.token-string,.token-number,.token-variable,.token-constant){color:#c46120}.python-token.token-argument-3:is(.token-string,.token-number,.token-variable,.token-constant){color:#8150b8}.python-token.token-argument-4:is(.token-string,.token-number,.token-variable,.token-constant){color:#bd3f72}.run-result-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#0813267a}.run-result-modal>section{position:relative;display:grid;gap:14px;width:min(820px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:20px;padding:22px;background:#fff;box-shadow:0 28px 80px #061f4a52}.dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:999px;color:var(--muted);background:#eef3fb;cursor:pointer}.run-result-modal h2{margin:0;color:var(--navy)}.confirm-modal p{margin:0;color:var(--ink);font-weight:800}.confirm-modal small{color:var(--muted);line-height:1.6}.confirm-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.confirm-modal-actions button:not(.primary-action){min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 15px;color:var(--ink);background:#fff;font-weight:900;cursor:pointer}.confirm-modal-actions button.danger-action{min-height:44px;border:0;border-radius:12px;padding:0 15px;color:#963b2e;background:#ffe7df;font-weight:900}.danger-confirm-modal h2{color:#963b2e}.run-result-modal canvas{width:100%;height:auto;max-height:min(52vh,440px);border:1px solid #d9e5f3;border-radius:16px;background:#edf5ff;object-fit:contain}.run-result-loading{display:grid;place-items:center;width:100%;min-height:min(52vh,440px);border:1px solid #d9e5f3;border-radius:16px;color:#526783;background:#edf5ff;font-size:14px;font-weight:800}.run-result-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.run-result-summary>strong{display:grid;min-width:84px;border-radius:16px;padding:10px 14px;color:#fff;background:var(--blue);font-size:24px;text-align:center}.run-result-summary>strong small{font-size:11px}.run-result-summary p{margin:0;color:var(--ink);line-height:1.6}.run-output-console{display:grid;gap:8px;border:1px solid rgba(39,100,231,.18);border-radius:18px;padding:14px;color:#dce7f8;background:linear-gradient(135deg,#0d172b,#13284a);box-shadow:inset 0 1px #ffffff14}.run-output-console span{color:#93c5fd;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.run-output-console pre{max-height:min(34vh,260px);overflow:auto;margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.75}.run-error-text{color:#963b2e}.run-score-pill{width:fit-content;border-radius:999px;padding:8px 12px;color:#fff;background:var(--orange);font-size:22px;font-weight:900}.run-log-box{border-radius:14px;padding:14px;color:#dce7f8;background:#0d172b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.6}.run-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.run-check-grid span{border-radius:12px;padding:10px;color:var(--muted);background:#f1f4f8;font-size:13px;font-weight:800}.run-check-grid span.passed{color:#08704d;background:#dff8ee}.hbx-widget{--hbx-background: #eaf6ff;--hbx-accent: #2764e7;display:grid;gap:14px;min-width:0;border:1px solid color-mix(in srgb,var(--hbx-accent) 22%,white);border-radius:18px;padding:16px;background:#fff}.hbx-widget-heading{display:flex;gap:12px;align-items:center}.hbx-widget-heading>span{display:grid;flex:0 0 44px;place-items:center;width:44px;height:44px;border-radius:13px;color:#fff;background:var(--hbx-accent)}.hbx-widget-heading h3,.hbx-widget-heading p{margin:0}.hbx-widget-heading h3{color:var(--navy);font-size:20px}.hbx-widget-heading p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.5}.hbx-widget-stage{position:relative;isolation:isolate;display:grid;min-height:240px;place-content:center;overflow:hidden;border-radius:16px;padding:24px;color:var(--navy);background:var(--hbx-background);text-align:center}.hbx-widget-stage:before,.hbx-widget-stage:after{position:absolute;z-index:-1;border:10px solid color-mix(in srgb,var(--hbx-accent) 24%,transparent);border-radius:18px;content:""}.hbx-widget-stage:before{top:20px;left:22px;width:70px;height:70px;transform:rotate(12deg)}.hbx-widget-stage:after{right:24px;bottom:18px;width:48px;height:48px;transform:rotate(-18deg)}.hbx-widget-stage>strong{font-size:clamp(24px,5vw,38px)}.hbx-widget-stage>p{margin:8px 0 0;color:var(--ink);line-height:1.6}.hbx-widget-repeat{display:grid;gap:8px;width:min(100%,420px);margin:18px auto 0;border-radius:14px;padding:10px 12px;color:var(--navy);background:#ffffffd1;box-shadow:0 8px 22px #1831531a}.hbx-widget-sandbox>.hbx-widget-repeat{width:100%;margin:0;background:#f0f5fb;box-shadow:none}.hbx-widget-repeat>strong{font-size:13px}.hbx-widget-repeat-nodes{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;align-items:center}.hbx-widget-repeat-nodes i{width:9px;height:9px;border-radius:50%;background:var(--hbx-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hbx-accent) 14%,transparent)}.hbx-widget-repeat-nodes b{margin-left:3px;color:var(--hbx-accent);font-size:12px}.hbx-widget-orbit{position:absolute;top:50%;left:50%;z-index:-1;width:190px;height:190px;border:2px dashed color-mix(in srgb,var(--hbx-accent) 30%,transparent);border-radius:50%;transform:translate(-50%,-50%);animation:hbx-orbit 14s linear infinite}.hbx-widget-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hbx-widget-status>span{min-height:36px;border-radius:999px;padding:8px 12px;color:var(--ink);background:#f0f5fb;font-size:13px}.hbx-widget-state.success{color:#08704d;background:#dff8ee}.hbx-widget-state.failure{color:#963b2e;background:#ffe7df}.hbx-widget-controls{display:flex;flex-wrap:wrap;gap:10px}.hbx-widget-controls button{display:inline-flex;min-height:44px;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--hbx-accent) 30%,white);border-radius:12px;padding:8px 14px;color:var(--navy);background:#fff;font-weight:850;cursor:pointer}.hbx-widget-controls button:hover:not(:disabled),.hbx-widget-controls button:focus-visible{border-color:var(--hbx-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hbx-accent) 16%,transparent)}.hbx-widget-controls button:disabled{cursor:not-allowed;opacity:.58}.hbx-widget-controls kbd{border-radius:6px;padding:2px 6px;color:#fff;background:var(--hbx-accent);font-family:inherit}.hbx-widget-controls .hbx-widget-retry{color:#fff;background:var(--hbx-accent)}.hbx-choice-widget{gap:16px}.hbx-choice-stage{display:grid;min-height:310px;overflow:hidden;border:1px solid #d9e6f4;border-radius:16px;padding:22px}.hbx-choice-ready{align-content:center;gap:22px;background:#f3f8ff}.hbx-choice-intro{text-align:center}.hbx-choice-intro strong{color:var(--navy);font-size:22px}.hbx-choice-intro p{margin:7px 0 0;color:var(--muted);line-height:1.6}.hbx-choice-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(100%,680px);margin:0 auto}.hbx-choice-door{display:grid;min-height:148px;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center;border:2px solid transparent;border-radius:16px;padding:18px;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.hbx-choice-door>svg{width:42px;height:42px}.hbx-choice-door span{display:grid;gap:5px;min-width:0}.hbx-choice-door small{color:var(--muted);font-size:12px;font-weight:750}.hbx-choice-door strong{overflow-wrap:anywhere;color:var(--navy);font-size:21px;line-height:1.25}.hbx-choice-door-left{border-color:#9ad8bb;color:#147451;background:#e7f8ef}.hbx-choice-door-right{border-color:#a9c8f5;color:#2865b5;background:#e9f2ff}.hbx-choice-door:hover,.hbx-choice-door:focus-visible{transform:translateY(-3px);box-shadow:0 12px 26px #18315324}.hbx-choice-door-left:hover,.hbx-choice-door-left:focus-visible{border-color:#3ccb9a}.hbx-choice-door-right:hover,.hbx-choice-door-right:focus-visible{border-color:#2764e7}.hbx-choice-result{place-content:center;justify-items:center;min-height:310px;text-align:center}.hbx-choice-result.is-left{border-color:#8ed5b4;color:#105d43;background:#e2f7ec}.hbx-choice-result.is-right{border-color:#9dbfee;color:#174f99;background:#e5efff}.hbx-choice-result-icon{display:grid;width:68px;height:68px;place-items:center;border-radius:16px;color:#fff;box-shadow:0 10px 24px #18315329}.hbx-choice-result.is-left .hbx-choice-result-icon{background:#147451}.hbx-choice-result.is-right .hbx-choice-result-icon{background:#2865b5}.hbx-choice-result-icon svg{width:34px;height:34px;color:#fff}.hbx-choice-result>small{margin-top:16px;font-size:13px;font-weight:850}.hbx-choice-result>strong{margin-top:5px;overflow-wrap:anywhere;color:var(--navy);font-size:32px;line-height:1.2}.hbx-choice-result>p{max-width:520px;margin:10px 0 18px;color:var(--ink);line-height:1.65}.hbx-choice-result .hbx-widget-retry{display:inline-flex;min-height:44px;align-items:center;gap:8px;border:0;border-radius:12px;padding:9px 16px;color:#fff;background:var(--hbx-accent);font-weight:850;cursor:pointer}.hbx-choice-result .hbx-widget-retry:hover,.hbx-choice-result .hbx-widget-retry:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--hbx-accent) 20%,transparent)}.hbx-widget-sandbox iframe{width:100%;height:min(52vh,440px);border:1px solid var(--line);border-radius:16px;background:#f4f8ff}.hbx-widget-rejected{border:1px solid #ffc9bc;border-radius:16px;padding:16px;color:#7e3025;background:#fff1ee}.hbx-widget-rejected p{margin:6px 0 0;line-height:1.5}@keyframes hbx-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@media(prefers-reduced-motion:reduce){.hbx-widget-orbit{animation:none}}@media(max-width:640px){.hbx-choice-doors{grid-template-columns:1fr}.hbx-choice-door{min-height:112px}}@media(prefers-reduced-motion:reduce){.hbx-choice-door{transition:none}.hbx-choice-door:hover,.hbx-choice-door:focus-visible{transform:none}}.student-review-native{display:grid;gap:16px}.student-scratch-project-review>.classroom-official-scratch{width:100%;height:100%;min-width:0;min-height:0;border-radius:14px;overflow:hidden}.student-review-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;align-items:stretch}.student-review-grid article{display:grid;align-content:start;gap:10px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#f8fbff}.student-review-grid h3{margin:0;color:var(--navy);font-size:18px;line-height:1.45}.student-review-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.student-review-grid strong{display:grid;gap:3px;color:var(--orange);font-size:20px}.student-review-grid strong small{color:var(--muted);font-size:12px}.student-review-grid pre{min-height:320px;margin:0;overflow:auto;border:1px solid #223653;border-radius:16px;padding:16px;color:#dce7f8;background:#0d172b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.7;white-space:pre-wrap}.review-note{margin:0;color:var(--muted);font-size:13px}.typing-native-page{display:grid;gap:22px}.typing-native-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.typing-native-meta span,.typing-rank-pill{border-radius:999px;padding:6px 10px;color:#0e5b57;background:#d8fff1;font-size:12px;font-weight:900}.typing-rank-pill{display:grid;place-items:center;min-width:120px;min-height:104px;border:1px solid rgba(55,201,150,.38);border-radius:22px;font-size:20px;text-align:center;box-shadow:0 12px 24px #37c99629}.typing-rank-pill img{width:42px;height:42px;object-fit:contain}.typing-rank-pill small{display:block;margin-top:4px;color:#356a75;font-size:12px}.typing-native-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:16px;align-items:start}.typing-native-content{display:grid;gap:18px;min-width:0}.typing-island-native-list{display:grid;gap:14px;overflow:hidden}.typing-island-hub{padding:22px;background:radial-gradient(circle at 96% 0,rgba(255,211,61,.2),transparent 24%),linear-gradient(145deg,#fff,#f5f9ff)}.typing-island-scroll{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0}.typing-island-native-list button{position:relative;overflow:hidden;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:11px;min-height:158px;border:1px solid #d9e3f1;border-radius:20px;padding:15px;color:var(--ink);background:linear-gradient(145deg,#fff,#f4f9ff 72%);text-align:left;cursor:pointer;box-shadow:0 10px 24px #0c37760f;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.typing-island-native-list button:after{content:"";position:absolute;right:-34px;bottom:-42px;width:116px;height:116px;border-radius:50%;background:radial-gradient(circle,rgba(45,126,234,.12),transparent 68%);pointer-events:none}.typing-island-native-list button:not(:disabled):hover{border-color:#2d7eea6b;box-shadow:0 10px 20px #1443811a;transform:translateY(-1px)}.typing-island-dot{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border:1px solid #dbe8f5;border-radius:18px;color:var(--blue-dark);background:#fff;font-size:13px;font-weight:900;box-shadow:inset 0 -6px 12px #2d7eea0f,0 10px 18px #0c377614}.typing-island-dot img{width:42px;height:42px;object-fit:contain}.typing-island-native-list button>span:not(.typing-island-dot){position:relative;z-index:1;display:grid;gap:4px;min-width:0}.typing-island-native-list button>b{position:relative;z-index:1;grid-column:1 / -1;justify-self:start;border-radius:999px;padding:5px 9px;color:var(--blue-dark);background:#e9f2ff;font-size:12px}.typing-island-native-list button>i{grid-column:1 / -1;display:block;height:5px;overflow:hidden;border-radius:999px;background:#e5edf7}.typing-island-native-list button>i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--blue))}.typing-island-native-list button.active{border-color:#138d868c;background:radial-gradient(circle at 85% 15%,rgba(255,211,61,.26),transparent 32%),linear-gradient(135deg,#ecfff8,#e8f4ff);box-shadow:inset 0 0 0 2px #37c99629,0 14px 28px #138d8624}.typing-island-native-list button.active .typing-island-dot{color:#087052;border-color:#37c9968c;background:#dffaf0}.typing-island-native-list button:disabled{opacity:.55;cursor:not-allowed}.typing-island-native-list strong,.typing-challenge-picker strong{display:block;color:var(--navy);font-size:14px}.typing-island-native-list small,.typing-challenge-picker small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.typing-native-main{display:grid;gap:18px}.typing-level-route{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.typing-level-route:before{content:"";position:absolute;top:26px;right:18px;left:18px;height:3px;background:repeating-linear-gradient(90deg,#c7d9f1 0 14px,transparent 14px 22px);pointer-events:none}.typing-challenge-picker button{position:relative;z-index:1;overflow:hidden;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:start;min-height:92px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#f9fbfe;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.typing-challenge-picker button:after{content:"";position:absolute;right:-28px;top:-28px;width:92px;height:92px;border-radius:50%;background:#2d7eea0f;pointer-events:none}.typing-challenge-picker button:not(:disabled):hover{border-color:#2d7eea6b;box-shadow:0 10px 22px #1443811a;transform:translateY(-1px)}.typing-challenge-picker button.active,.typing-challenge-picker button.current{border-color:var(--orange);background:#fff8e9;box-shadow:0 8px 22px #df731824}.typing-challenge-picker button.passed,.typing-challenge-picker button.mastered{border-color:#aee0cf;background:#f0fbf7}.typing-challenge-picker button.locked{background:#f6f8fb}.typing-challenge-picker button:disabled{opacity:.5;cursor:not-allowed}.typing-level-node{display:grid;place-items:center;width:42px;height:42px;border:3px solid #fff;border-radius:50%;color:#fff;background:var(--blue);box-shadow:0 0 0 1px #bed3ee,0 7px 14px #134c922b;font-weight:950}.typing-challenge-picker button.passed .typing-level-node,.typing-challenge-picker button.mastered .typing-level-node{background:var(--mint)}.typing-challenge-picker button.locked .typing-level-node{color:#708096;background:#d8e1ee}.typing-level-copy{display:block;min-width:0}.typing-level-copy em{display:block;margin-top:4px;color:var(--ink);font-size:12px;font-style:normal;line-height:1.42}.typing-level-copy i{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;font-style:normal}.typing-level-copy i b{border-radius:999px;padding:3px 6px;color:#526681;background:#f1f6fd;font-size:10px}.typing-level-result{display:grid;justify-items:end;gap:3px;color:#c8d3e3}.typing-level-result b{font-size:15px;line-height:1}.typing-level-result b.lit{color:var(--yellow);text-shadow:0 1px #bb8500}.typing-level-result small{white-space:nowrap}.typing-practice-native{display:grid;gap:14px}.typing-game-board{position:relative;display:grid;gap:12px;overflow:hidden;border:1px solid #dbe7f5;border-radius:18px;padding:16px;background:linear-gradient(180deg,#f8fbff,#edf5ff);outline:none}.typing-game-board:focus-visible{box-shadow:0 0 0 3px #2d7eea40}.typing-game-board:before{content:"";position:absolute;right:20px;top:92px;z-index:0;width:118px;height:118px;background-image:var(--typing-stage-image);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.12;pointer-events:none}.typing-game-board>*{position:relative;z-index:1}.typing-game-header{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:stretch}.typing-game-header>div,.typing-game-header button{border:1px solid #d8e5f4;border-radius:14px;padding:12px;background:#fff}.typing-game-header span{display:block;color:var(--muted);font-size:12px;font-weight:850}.typing-game-header strong{display:block;margin-top:4px;color:var(--navy);font-size:24px;line-height:1}.typing-game-header small{display:block;margin-top:6px;color:#526681;font-size:12px}.typing-game-header button{min-height:44px;color:#fff;background:var(--blue);font-weight:900;cursor:pointer}.typing-game-header button:disabled{opacity:.75;cursor:default}.typing-start-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:132px}.typing-start-button svg{width:18px;height:18px}.typing-rhythm-board{position:relative;min-height:278px;overflow:hidden;border:1px solid #244e8d;border-radius:18px;background:radial-gradient(circle at 50% 110%,rgba(46,212,167,.28),transparent 34%),radial-gradient(circle at 10% 20%,rgba(255,211,61,.16),transparent 26%),repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(255,255,255,.08) calc(20% - 1px),rgba(255,255,255,.08) 20%),linear-gradient(#081b3d,#0d3973);box-shadow:inset 0 -35px 50px #07173773;transition:border-color .12s ease,box-shadow .12s ease}.typing-game-board.playing .typing-rhythm-board{border-color:#37c996d1;box-shadow:inset 0 -40px 62px #2ed4a752,0 0 0 3px #2ed4a71f}.typing-game-intro{position:absolute;inset:0;z-index:6;display:grid;place-content:center;justify-items:center;padding:22px;color:#fff;background:radial-gradient(circle at 50% 115%,rgba(46,212,167,.42),transparent 38%),#051634f2;text-align:center}.typing-game-intro img{width:72px;height:72px;margin-bottom:8px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28))}.typing-game-intro span{color:var(--yellow);font-size:12px;font-weight:950;letter-spacing:.14em}.typing-game-intro h3{margin:8px 0;color:#fff;font-size:28px}.typing-game-intro p{max-width:520px;margin:0;color:#c9d9f1;font-size:13px;line-height:1.65}.typing-game-intro button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:18px;border:0;border-radius:13px;padding:0 24px;color:var(--blue-dark);background:var(--yellow);font-weight:950;box-shadow:0 5px #a77a00}.typing-game-intro button svg{width:18px;height:18px}.typing-countdown{position:absolute;inset:0;z-index:7;display:grid;place-items:center;color:#fff;background:#05163457;font-size:72px;font-weight:950;text-shadow:0 7px 0 #06214e;pointer-events:none;animation:countdown-pop .42s ease both}.typing-countdown.go{color:var(--yellow);font-size:54px}.typing-judgment{position:absolute;top:42%;left:50%;z-index:2;min-width:160px;color:#fff;font-size:30px;font-weight:950;text-align:center;text-shadow:0 4px 0 rgba(0,0,0,.32);opacity:.74;transform:translate(-50%,-50%);pointer-events:none;animation:judgment-pop .28s ease both}.typing-judgment.perfect{color:var(--yellow)}.typing-judgment.miss{color:#ff917c}.typing-combo-energy{position:absolute;top:12px;right:14px;left:14px;z-index:2;display:flex;align-items:center;gap:10px;color:#dbeafe;font-size:11px;font-weight:900;letter-spacing:.1em}.typing-combo-energy i{display:block;flex:1;height:6px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,var(--mint),var(--yellow),var(--orange));box-shadow:0 0 12px var(--yellow)}.typing-rhythm-lanes{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}.typing-rhythm-lanes:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.12) calc(25% - 1px),rgba(255,255,255,.12) 25%)}.typing-rhythm-lanes span{position:absolute;left:calc(var(--lane) * 25% + 9%);top:-58px;display:grid;place-items:center;min-width:52px;height:44px;border:2px solid rgba(255,255,255,.55);border-radius:12px;color:#fff;background:var(--blue);font-size:14px;font-weight:950;box-shadow:0 7px #061b42,0 10px 22px #0000003d;opacity:0;will-change:transform,opacity;transition:opacity .08s linear,filter .12s ease}.typing-rhythm-lanes span:nth-child(2n){background:var(--orange)}.typing-rhythm-lanes span:nth-child(3n){color:var(--blue-dark);background:var(--yellow)}.typing-rhythm-lanes span.current{z-index:2;border-color:#fff;filter:drop-shadow(0 0 10px rgba(255,211,61,.45))}.typing-rhythm-board>b{position:absolute;right:6%;bottom:34px;left:6%;height:4px;border-radius:99px;color:#baf4df;background:var(--mint);box-shadow:0 0 16px var(--mint);font-size:0}.typing-rhythm-board>b:after{content:"HIT ZONE";position:absolute;right:0;bottom:8px;font-size:11px;font-weight:950;letter-spacing:.14em}.typing-target-stream{display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;max-height:190px;min-height:96px;overflow:auto;border:1px solid #dbe4ef;border-radius:14px;padding:14px;background:#fff}.typing-target-stream span{display:grid;place-items:center;min-width:30px;height:36px;border-radius:9px;color:#0f274d;background:#f1f6fd;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:17px;font-weight:850}.typing-target-stream span.line-break{flex-basis:100%;width:fit-content;min-width:42px;color:#526681;background:#edf4ff}.typing-target-stream span.tab-key{min-width:54px}.typing-target-stream span.current{color:#fff;background:var(--blue);box-shadow:0 0 0 3px #2d7eea29}.typing-target-stream span.done{color:#087052;background:#dffaf0}.typing-target-stream span.wrong{color:#9d1e27;background:#ffe3e5}.typing-keyboard-native{display:grid;gap:5px;overflow-x:auto;border-radius:14px;padding:12px;background:linear-gradient(#132d55,#071a39);box-shadow:0 8px #041229,0 16px 26px #04122938;scrollbar-width:thin}.typing-keyboard-native>div{display:flex;justify-content:center;gap:5px;min-width:max-content}.typing-keyboard-native kbd{display:grid;place-items:center;min-width:38px;height:36px;border:1px solid rgba(255,255,255,.22);border-radius:8px;color:#eaf2ff;background:linear-gradient(#365f98,#244875);font-family:inherit;font-size:11px;font-weight:850;box-shadow:0 4px #06162f,inset 0 1px #fff3}.typing-keyboard-native kbd.active{color:var(--blue-dark);border-color:#fff1a2;background:var(--yellow);box-shadow:0 2px #9d7200,0 0 17px #ffd33da6;transform:translateY(2px)}.typing-keyboard-native kbd:last-child:first-child{min-width:220px}.typing-result-overlay{position:absolute;inset:16px;z-index:8;display:grid;place-content:center;justify-items:center;padding:28px;border-radius:18px;background:#eef7fff7;text-align:center;animation:judgment-pop .25s ease both}.typing-result-overlay.mastered{background:linear-gradient(145deg,#effff8fa,#fff9dcfa)}.typing-result-overlay.passed{background:#effff8f7}.typing-result-overlay.retry{background:#fff8ebf7}.typing-result-overlay>span{color:var(--mint);font-size:13px;font-weight:950;letter-spacing:.1em}.typing-result-overlay h3{margin:8px 0;color:var(--navy);font-size:30px}.typing-result-overlay p{max-width:560px;margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.typing-result-overlay>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:14px}.typing-grade-badge{display:grid;place-items:center;width:58px;height:58px;margin:8px auto 2px;color:#fff;border:5px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px #bfd0ea,0 8px 20px #0d3a822e;font-size:27px;font-weight:950}.typing-result-overlay.mastered .typing-grade-badge{color:var(--navy);background:var(--yellow)}.typing-result-overlay.passed .typing-grade-badge{background:var(--mint)}.typing-result-stars{display:flex;gap:5px;margin:5px 0}.typing-result-stars i{color:#cbd4e2;font-size:30px;font-style:normal}.typing-result-stars i.lit{color:var(--yellow);text-shadow:0 2px #c38e00;animation:judgment-pop .35s ease both}.rhythm-result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;width:min(620px,90vw);margin:12px auto}.rhythm-result-grid>div{display:grid;gap:4px;padding:11px 9px;border:1px solid var(--line);border-radius:10px;background:#fff}.rhythm-result-grid strong{color:var(--navy);font-size:22px}.rhythm-result-grid span{color:#60738c;font-size:13px;font-weight:750}.typing-live-stats{display:flex;flex-wrap:wrap;gap:10px}.typing-live-stats span{border-radius:999px;padding:7px 11px;color:var(--blue-dark);background:#e8f1ff;font-size:13px;font-weight:800}.typing-leaderboard-native{display:grid;gap:10px}.typing-leaderboard-native.compact{position:sticky;top:88px;max-height:calc(100vh - 112px);overflow:auto;align-self:start;padding:18px}.typing-leaderboard-native.compact .section-heading{gap:8px}.typing-leaderboard-native.compact .section-heading p{max-width:160px;font-size:12px}.typing-leaderboard-native article{display:grid;grid-template-columns:36px 42px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.typing-rank-medal{display:grid;place-items:center;width:34px;height:34px;color:var(--blue-dark);font-weight:950}.typing-rank-medal img{width:30px;height:30px;object-fit:contain}.typing-rank-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:var(--blue);font-weight:950}.typing-rank-avatar.virtual{background:var(--mint)}.typing-leaderboard-native strong{color:var(--navy);font-size:14px}.typing-leaderboard-native small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.typing-leaderboard-native b{color:var(--orange);text-align:right}.text-button,.preview-button,.publish-button,.run-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:10px;padding:8px 13px;font-weight:900;text-decoration:none}.text-button{border:0;color:var(--blue-dark);background:transparent}.preview-button{border:1px solid #bfd1ef;color:var(--blue-dark);background:#edf5ff}.publish-button,.run-button{border:0;color:#fff;background:var(--blue);box-shadow:0 4px #0a3e88}.run-button{background:var(--orange);box-shadow:0 4px #9f3b18}.typing-session{min-width:0;max-width:1460px;margin-right:auto;margin-left:auto}.typing-session-bar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px;border:1px solid #d9e5f3;border-radius:12px;background:#fff;box-shadow:0 7px 20px #08285f14}.typing-session-bar>button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;margin:0}.typing-session-bar>button svg{width:18px;height:18px;flex:0 0 auto}.typing-session-back{padding-inline:10px 14px}.typing-session-restart{padding-inline:14px}.typing-stage{--typing-blue-ink: #17395c;--typing-blue-muted: #4b6078;--typing-blue: #3478ef;--typing-blue-deep: #2456ba;--typing-cyan: #52cde4;--typing-stage-border: #7faedb;--typing-shell-bg: radial-gradient(circle at 82% 5%, rgba(72,187,255,.25), transparent 35%), radial-gradient(circle at 8% 90%, rgba(120,104,216,.1), transparent 32%), linear-gradient(145deg, #f0f7ff 0%, #e7f2ff 52%, #dcecff 100%);--typing-shell-shadow: 0 16px 34px rgba(40,78,128,.13);--typing-board-border: #89b7df;--typing-board-bg: radial-gradient(circle at 78% 10%, rgba(75,182,242,.23), transparent 35%), radial-gradient(circle at 16% 92%, rgba(120,104,216,.08), transparent 36%), linear-gradient(155deg, #f3f8ff 0%, #e8f2ff 56%, #deedff 100%);--typing-board-shadow: inset 0 -42px 58px rgba(64,124,202,.1), 0 9px 22px rgba(52,96,154,.13);--typing-control-border: rgba(255,255,255,.88);--typing-control-bg: linear-gradient(145deg, #6b78e5 0%, #5966cb 100%);--typing-control-hover: linear-gradient(145deg, #7685ee 0%, #6370d9 100%);--typing-control-text: #fff;--typing-control-shadow: 0 8px 20px rgba(74,84,174,.28), inset 0 1px rgba(255,255,255,.26);--typing-hud-bg: rgba(240,247,255,.92);--typing-hud-border: #a9c8e8;--typing-hud-label: #446785;--typing-hud-value: #15385b;--typing-hud-muted: #537593;--typing-intro-bg: radial-gradient(circle at 18% 12%, rgba(74,157,235,.18), transparent 31%), radial-gradient(circle at 82% 92%, rgba(120,104,216,.09), transparent 34%), rgba(240,247,255,.97);--typing-intro-title: #17395c;--typing-intro-copy: #516981;--typing-intro-kicker: #2b67ae;--typing-pause-overlay-bg: rgba(224,236,253,.8);--typing-primary-bg: linear-gradient(135deg, #ffb43b, #ff794d);--typing-primary-text: #3b2400;--typing-primary-edge: #cf5d32;--typing-primary-shadow: 0 10px 24px rgba(231,107,48,.24);--typing-countdown-bg: rgba(235,243,255,.78);--typing-countdown-text: #245ca3;--typing-judgment-text: #234e7f;--typing-judgment-shadow: 0 2px 0 rgba(255,255,255,.9), 0 5px 16px rgba(38,84,145,.18);--typing-energy-label-bg: #efecff;--typing-energy-label-border: #b7ace7;--typing-energy-label-text: #584a9e;--typing-energy-track: rgba(58,108,166,.16);--typing-energy-fill: linear-gradient(90deg, #55d3bf 0%, #429eee 56%, #7868d8 100%);--typing-lane-grid: rgba(60,105,165,.12);--typing-danger: rgba(199,77,86,.48);--typing-hit-line: repeating-linear-gradient(135deg, #f3f8ff 0 11px, #b8d9f4 11px 22px, #6eb6ee 22px 33px, #e1edff 33px 44px);--typing-hit-line-edge: #739dc5;--typing-target-border: #8eafe0;--typing-target-bg: linear-gradient(120deg, #f3f8ff, #eaf2ff 56%, #e3edff);--typing-target-shadow: inset 0 1px rgba(255,255,255,.96), 0 8px 18px rgba(44,77,127,.09);--typing-text-pending: #4b6078;--typing-text-done: #0b6f61;--typing-text-done-bg: #ddf7f0;--typing-text-done-line: #38ad92;--typing-text-current: #123e84;--typing-text-current-bg: #dceaff;--typing-text-current-line: #246ddb;--typing-text-error: #9f2940;--typing-text-error-bg: #ffe7ec;--typing-text-error-line: #d8586c;--typing-text-error-flash: #ffd1d9;--typing-hit-border: #4bb7d9;--typing-hit-shadow: inset 0 -35px 60px rgba(73,182,216,.18), 0 0 0 3px rgba(73,182,216,.15);--typing-miss-border: #d27b84;--typing-miss-shadow: inset 0 -35px 60px rgba(210,123,132,.16);--typing-keyboard-bg: linear-gradient(145deg, #cfe3f5, #b9d7ef);--typing-keyboard-border: #7daacf;--typing-keyboard-edge: #5f90ba;--typing-keyboard-shadow: 0 18px 32px rgba(34,74,126,.17);--typing-keyboard-compact-shadow: 0 12px 22px rgba(11,45,98,.15);--typing-key-top: #f1f7fc;--typing-key-bottom: #dceaf6;--typing-key-edge: #6f9fc7;--typing-key-text: #17395c;--typing-key-border: rgba(255,255,255,.98);--typing-key-inset: inset 0 1px rgba(255,255,255,.8);--typing-key-marker: rgba(23,57,92,.5);--typing-key-current-bg: linear-gradient(145deg, #3aa9f3, #3476e8);--typing-key-current-text: #fff;--typing-key-current-edge: #2256b4;--typing-key-current-ring: rgba(255,255,255,.78);--typing-key-current-glow: rgba(52,120,239,.4);--typing-key-pressed-bg: linear-gradient(145deg, #63dfcc, #31bea9);--typing-key-pressed-text: #073a46;--typing-key-pressed-edge: #168675;--typing-key-pressed-ring: rgba(213,253,255,.92);--typing-key-pressed-glow: rgba(32,171,220,.58);--typing-key-ripple-core: rgba(245,255,255,.98);--typing-key-ripple-mid: rgba(82,213,232,.74);--typing-key-ripple-edge: rgba(44,126,232,.24);--typing-candy-0-main: #4a9df6;--typing-candy-0-dark: #2165b1;--typing-candy-0-light: #dceeff;--typing-candy-1-main: #38c5a4;--typing-candy-1-dark: #087a67;--typing-candy-1-light: #d9f8ef;--typing-candy-2-main: #ffb43b;--typing-candy-2-dark: #b96800;--typing-candy-2-light: #fff0c2;--typing-candy-3-main: #ff7768;--typing-candy-3-dark: #b83f3c;--typing-candy-3-light: #ffe1dd;--typing-candy-4-main: #8177df;--typing-candy-4-dark: #5245a8;--typing-candy-4-light: #e8e5ff;--typing-result-bg: rgba(238,247,255,.97);--typing-result-passed-bg: radial-gradient(circle at 50% 18%, rgba(56,197,164,.14), transparent 34%), rgba(239,255,248,.98);--typing-result-mastered-bg: radial-gradient(circle at 50% 18%, rgba(255,180,59,.18), transparent 34%), linear-gradient(145deg, rgba(239,255,248,.98), rgba(255,249,220,.98));--typing-result-retry-bg: radial-gradient(circle at 50% 18%, rgba(255,180,59,.14), transparent 34%), rgba(255,248,235,.98);--typing-result-kicker: #087052;--typing-result-title: #17395c;--typing-result-copy: #536a85;--typing-result-small: #2456ba;--typing-result-secondary-bg: #efecff;--typing-result-secondary-border: #b4aae4;--typing-result-secondary-text: #514399;--typing-result-secondary-edge: #9185c5;--typing-result-focus: rgba(45,126,234,.25);--typing-result-card-bg: rgba(255,255,255,.88);--typing-result-card-border: #c7d8eb;--typing-result-card-value: #17395c;--typing-result-card-label: #60738c;--typing-grade-bg: linear-gradient(145deg, #3aa9f3, #3476e8);--typing-grade-text: #fff;--typing-grade-border: #fff;--typing-grade-ring: #bfd0ea;--typing-grade-shadow: rgba(13,58,130,.18);--typing-grade-passed-bg: #38c5a4;--typing-grade-passed-text: #073a46;--typing-grade-mastered-bg: #ffb43b;--typing-grade-mastered-text: #3b2400;--typing-star-muted: #cbd4e2;--typing-star-lit: #f3b52c;--typing-star-edge: #a87400;--typing-failure-bg: radial-gradient(circle at 50% 78%, rgba(255,119,104,.14), transparent 38%), rgba(245,248,255,.98);--typing-failure-kicker: #9f2940;--typing-failure-title: #7d1f33;--typing-failure-copy: #4b6078;--typing-failure-icon: #d68a00;color-scheme:light;position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(260px,1fr) auto auto;grid-template-areas:"rhythm" "target" "keyboard";gap:10px;width:100%;min-width:0;max-width:100%;min-height:640px;margin-top:8px;padding:16px;border:1px solid var(--typing-stage-border);border-radius:18px;background:var(--typing-shell-bg);box-shadow:var(--typing-shell-shadow);outline:none}.typing-stage[data-typing-theme=dark]{--typing-blue-ink: #eaf3ff;--typing-blue-muted: #c4d1e2;--typing-blue: #63a8ff;--typing-blue-deep: #82b9ff;--typing-cyan: #69d9eb;--typing-stage-border: #526c9e;--typing-shell-bg: radial-gradient(circle at 80% 5%, rgba(116,129,236,.28), transparent 36%), radial-gradient(circle at 12% 88%, rgba(153,111,220,.18), transparent 34%), linear-gradient(145deg, #263457 0%, #1d2849 58%, #17213d 100%);--typing-shell-shadow: 0 18px 38px rgba(16,18,49,.32);--typing-board-border: #536f9f;--typing-board-bg: radial-gradient(circle at 76% 12%, rgba(105,154,235,.2), transparent 35%), radial-gradient(circle at 18% 84%, rgba(151,112,220,.15), transparent 38%), linear-gradient(155deg, #29375e 0%, #202b4e 58%, #19233f 100%);--typing-board-shadow: inset 0 -42px 58px rgba(75,66,145,.14), 0 9px 22px rgba(12,15,48,.28);--typing-control-border: rgba(239,242,255,.9);--typing-control-bg: linear-gradient(145deg, #6b78e5 0%, #5966cb 100%);--typing-control-hover: linear-gradient(145deg, #7685ee 0%, #6370d9 100%);--typing-control-text: #fff;--typing-control-shadow: 0 8px 20px rgba(9,12,47,.34), inset 0 1px rgba(255,255,255,.24);--typing-hud-bg: rgba(35,45,78,.9);--typing-hud-border: #536d9b;--typing-hud-label: #a9bdd2;--typing-hud-value: #f7faff;--typing-hud-muted: #a9bdd2;--typing-intro-bg: radial-gradient(circle at 18% 12%, rgba(112,132,226,.2), transparent 31%), radial-gradient(circle at 82% 92%, rgba(153,111,220,.14), transparent 34%), rgba(31,40,74,.97);--typing-intro-title: #f0f6ff;--typing-intro-copy: #b4c5d8;--typing-intro-kicker: #8fbfff;--typing-pause-overlay-bg: radial-gradient(circle at 78% 10%, rgba(118,119,224,.18), transparent 34%), radial-gradient(circle at 16% 88%, rgba(153,111,220,.14), transparent 36%), rgba(27,35,68,.84);--typing-primary-bg: linear-gradient(135deg, #f5a623, #f0783e);--typing-primary-text: #2f1a00;--typing-primary-edge: #9e481e;--typing-primary-shadow: 0 10px 24px rgba(240,120,62,.2);--typing-countdown-bg: radial-gradient(circle at 76% 12%, rgba(112,132,226,.2), transparent 34%), radial-gradient(circle at 18% 86%, rgba(153,111,220,.15), transparent 38%), rgba(28,36,72,.84);--typing-countdown-text: #91c7ff;--typing-judgment-text: #d7e8fb;--typing-judgment-shadow: 0 5px 16px rgba(0,0,0,.44);--typing-energy-label-bg: rgba(40,49,86,.9);--typing-energy-label-border: #6474ad;--typing-energy-label-text: #e2e7ff;--typing-energy-track: rgba(128,169,211,.18);--typing-energy-fill: linear-gradient(90deg, #65dbc4, #5aa8ff, #f5b43d);--typing-lane-grid: rgba(121,164,207,.12);--typing-danger: rgba(255,123,130,.52);--typing-hit-line: repeating-linear-gradient(135deg, #1b314d 0 11px, #315a82 11px 22px, #4b90c8 22px 33px, #254767 33px 44px);--typing-hit-line-edge: #18314e;--typing-target-border: #526c9e;--typing-target-bg: linear-gradient(120deg, #273253, #202b4b 58%, #1c2544);--typing-target-shadow: inset 0 1px rgba(255,255,255,.08), 0 8px 18px rgba(9,11,39,.26);--typing-text-pending: #c4d1e2;--typing-text-done: #8be1cc;--typing-text-done-bg: #17372f;--typing-text-done-line: #58c4a9;--typing-text-current: #fff;--typing-text-current-bg: #245ac7;--typing-text-current-line: #63caff;--typing-text-error: #ffd7dd;--typing-text-error-bg: #692332;--typing-text-error-line: #ff8994;--typing-text-error-flash: #7c2a3a;--typing-hit-border: #58d2b6;--typing-hit-shadow: inset 0 -35px 60px rgba(88,210,182,.13), 0 0 0 3px rgba(88,210,182,.14);--typing-miss-border: #ff7b82;--typing-miss-shadow: inset 0 -35px 60px rgba(255,123,130,.13);--typing-keyboard-bg: linear-gradient(145deg, #2b3c60, #223352);--typing-keyboard-border: #526c9e;--typing-keyboard-edge: #141c36;--typing-keyboard-shadow: 0 18px 34px rgba(10,12,38,.36);--typing-keyboard-compact-shadow: 0 12px 22px rgba(10,12,38,.3);--typing-key-top: #3a5374;--typing-key-bottom: #314866;--typing-key-edge: #17213a;--typing-key-text: #eaf3ff;--typing-key-border: rgba(126,164,202,.42);--typing-key-inset: inset 0 1px rgba(255,255,255,.14);--typing-key-marker: rgba(223,239,255,.58);--typing-key-current-bg: linear-gradient(145deg, #3aa9f3, #3476e8);--typing-key-current-text: #fff;--typing-key-current-edge: #163e8a;--typing-key-current-ring: rgba(100,198,255,.44);--typing-key-current-glow: rgba(73,167,255,.42);--typing-key-pressed-bg: linear-gradient(145deg, #8d9cff, #6475e8);--typing-key-pressed-text: #fff;--typing-key-pressed-edge: #3a409d;--typing-key-pressed-ring: rgba(183,235,255,.74);--typing-key-pressed-glow: rgba(130,140,255,.72);--typing-key-ripple-core: rgba(250,252,255,.98);--typing-key-ripple-mid: rgba(123,219,255,.78);--typing-key-ripple-edge: rgba(166,125,255,.36);--typing-result-bg: rgba(12,22,40,.97);--typing-result-passed-bg: radial-gradient(circle at 50% 18%, rgba(88,210,182,.12), transparent 36%), rgba(12,28,39,.98);--typing-result-mastered-bg: radial-gradient(circle at 50% 18%, rgba(245,166,35,.15), transparent 36%), linear-gradient(145deg, rgba(12,28,39,.98), rgba(33,31,25,.98));--typing-result-retry-bg: radial-gradient(circle at 50% 18%, rgba(245,166,35,.12), transparent 36%), rgba(28,25,25,.98);--typing-result-kicker: #8be1cc;--typing-result-title: #f0f6ff;--typing-result-copy: #c4d1e2;--typing-result-small: #9bc6ff;--typing-result-secondary-bg: #1d324e;--typing-result-secondary-border: #456b96;--typing-result-secondary-text: #eaf3ff;--typing-result-secondary-edge: #091525;--typing-result-focus: rgba(99,202,255,.32);--typing-result-card-bg: rgba(24,42,67,.94);--typing-result-card-border: #355477;--typing-result-card-value: #f0f6ff;--typing-result-card-label: #a9bdd2;--typing-grade-bg: linear-gradient(145deg, #3aa9f3, #3476e8);--typing-grade-text: #fff;--typing-grade-border: #456b96;--typing-grade-ring: #19324f;--typing-grade-shadow: rgba(0,7,20,.38);--typing-grade-passed-bg: #58d2b6;--typing-grade-passed-text: #073a46;--typing-grade-mastered-bg: #f5a623;--typing-grade-mastered-text: #2f1a00;--typing-star-muted: #536985;--typing-star-lit: #ffd36a;--typing-star-edge: #8d6200;--typing-failure-bg: radial-gradient(circle at 50% 80%, rgba(255,96,112,.2), transparent 38%), rgba(5,18,42,.97);--typing-failure-kicker: #ffc4c7;--typing-failure-title: #fff;--typing-failure-copy: #d7e4f7;--typing-failure-icon: #ffcf4a;color-scheme:dark}.typing-stage:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--typing-blue) 30%,transparent),var(--typing-shell-shadow)}.typing-rhythm-stage{position:relative;grid-area:rhythm;isolation:isolate;width:100%;height:100%;min-height:260px;margin:0;overflow:hidden;border:1px solid var(--typing-board-border);border-radius:18px;background:var(--typing-board-bg);box-shadow:var(--typing-board-shadow);transition:box-shadow .18s ease,border-color .18s ease,background-color .22s ease}.typing-rhythm-stage:before,.typing-rhythm-stage:after,.typing-game-intro:before,.typing-game-intro:after,.typing-countdown:before,.typing-countdown:after,.typing-pause-overlay:before,.typing-pause-overlay:after{position:absolute;inset:0;z-index:0;background-repeat:no-repeat;content:"";opacity:0;pointer-events:none;transition:opacity .16s ease}.typing-stage[data-typing-theme=dark] :is(.typing-rhythm-stage,.typing-game-intro,.typing-countdown,.typing-pause-overlay):before{background-image:radial-gradient(circle at 3% 9%,rgba(238,244,255,.28) 0 .45px,transparent 1.05px),radial-gradient(circle at 7% 27%,rgba(190,207,255,.62) 0 .8px,transparent 1.45px),radial-gradient(circle at 11% 54%,rgba(244,239,255,.42) 0 .6px,transparent 1.2px),radial-gradient(circle at 15% 16%,rgba(226,235,255,.74) 0 1.05px,transparent 1.75px),radial-gradient(circle at 18% 76%,rgba(174,198,255,.3) 0 .5px,transparent 1.1px),radial-gradient(circle at 22% 38%,rgba(241,236,255,.55) 0 .75px,transparent 1.4px),radial-gradient(circle at 25% 91%,rgba(191,215,255,.68) 0 .9px,transparent 1.6px),radial-gradient(circle at 29% 11%,rgba(246,242,255,.36) 0 .55px,transparent 1.15px),radial-gradient(circle at 32% 63%,rgba(178,201,255,.72) 0 1.1px,transparent 1.85px),radial-gradient(circle at 36% 29%,rgba(238,244,255,.48) 0 .7px,transparent 1.35px),radial-gradient(circle at 39% 82%,rgba(208,194,255,.34) 0 .5px,transparent 1.1px),radial-gradient(circle at 43% 7%,rgba(247,245,255,.64) 0 .85px,transparent 1.5px),radial-gradient(circle at 46% 48%,rgba(181,209,255,.4) 0 .6px,transparent 1.2px),radial-gradient(circle at 49% 72%,rgba(238,235,255,.76) 0 1px,transparent 1.7px),radial-gradient(circle at 53% 22%,rgba(173,203,255,.3) 0 .45px,transparent 1.05px),radial-gradient(circle at 56% 93%,rgba(244,241,255,.52) 0 .7px,transparent 1.35px),radial-gradient(circle at 59% 42%,rgba(189,215,255,.67) 0 .9px,transparent 1.55px),radial-gradient(circle at 62% 12%,rgba(238,232,255,.38) 0 .55px,transparent 1.15px),radial-gradient(circle at 65% 67%,rgba(222,235,255,.72) 0 1.1px,transparent 1.85px),radial-gradient(circle at 69% 31%,rgba(185,204,255,.5) 0 .65px,transparent 1.3px),radial-gradient(circle at 72% 86%,rgba(245,241,255,.3) 0 .45px,transparent 1px),radial-gradient(circle at 75% 6%,rgba(200,218,255,.58) 0 .8px,transparent 1.45px),radial-gradient(circle at 78% 56%,rgba(242,237,255,.74) 0 1px,transparent 1.7px),radial-gradient(circle at 82% 24%,rgba(181,209,255,.32) 0 .5px,transparent 1.1px),radial-gradient(circle at 85% 74%,rgba(235,241,255,.64) 0 .85px,transparent 1.5px),radial-gradient(circle at 88% 43%,rgba(209,194,255,.44) 0 .6px,transparent 1.2px),radial-gradient(circle at 91% 95%,rgba(186,215,255,.7) 0 1.05px,transparent 1.8px),radial-gradient(circle at 94% 14%,rgba(245,241,255,.54) 0 .75px,transparent 1.4px),radial-gradient(circle at 97% 62%,rgba(177,203,255,.3) 0 .45px,transparent 1.05px),radial-gradient(circle at 5% 88%,rgba(239,234,255,.66) 0 .9px,transparent 1.55px),radial-gradient(circle at 27% 51%,rgba(184,211,255,.34) 0 .5px,transparent 1.1px),radial-gradient(circle at 52% 84%,rgba(246,243,255,.6) 0 .8px,transparent 1.45px),radial-gradient(circle at 68% 54%,rgba(180,205,255,.42) 0 .65px,transparent 1.25px),radial-gradient(circle at 96% 36%,rgba(242,236,255,.7) 0 .95px,transparent 1.6px);opacity:.9}.typing-stage[data-typing-theme=dark] :is(.typing-rhythm-stage,.typing-game-intro,.typing-countdown,.typing-pause-overlay):after{background-image:radial-gradient(circle at 9% 42%,rgba(255,255,255,.96) 0 1.7px,rgba(165,198,255,.38) 1.9px 3.2px,transparent 4.3px),radial-gradient(circle at 17% 8%,rgba(235,241,255,.88) 0 1.25px,rgba(174,154,255,.28) 1.5px 2.8px,transparent 3.8px),radial-gradient(circle at 24% 69%,rgba(222,235,255,.78) 0 1.45px,rgba(108,170,255,.22) 1.7px 3px,transparent 4px),radial-gradient(circle at 34% 19%,rgba(255,252,255,.92) 0 2px,rgba(181,154,255,.3) 2.2px 3.8px,transparent 5px),radial-gradient(circle at 42% 91%,rgba(224,238,255,.75) 0 1.2px,rgba(126,181,255,.2) 1.45px 2.7px,transparent 3.7px),radial-gradient(circle at 51% 36%,rgba(250,248,255,.9) 0 1.55px,rgba(193,168,255,.3) 1.8px 3.1px,transparent 4.2px),radial-gradient(circle at 61% 77%,rgba(226,240,255,.82) 0 1.8px,rgba(126,180,255,.25) 2px 3.5px,transparent 4.6px),radial-gradient(circle at 70% 14%,rgba(255,253,255,.94) 0 1.35px,rgba(180,153,255,.32) 1.6px 2.9px,transparent 4px),radial-gradient(circle at 79% 48%,rgba(220,236,255,.72) 0 1.15px,rgba(109,170,255,.2) 1.4px 2.6px,transparent 3.6px),radial-gradient(circle at 86% 83%,rgba(249,247,255,.9) 0 1.9px,rgba(193,163,255,.28) 2.15px 3.7px,transparent 4.8px),radial-gradient(circle at 92% 28%,rgba(230,241,255,.84) 0 1.4px,rgba(121,180,255,.24) 1.65px 3px,transparent 4.1px),radial-gradient(circle at 98% 7%,rgba(255,253,255,.86) 0 1.1px,rgba(188,160,255,.22) 1.35px 2.5px,transparent 3.5px);opacity:.82}.typing-stage-utility-controls,.typing-stage-session-controls{position:absolute;top:calc(10px + env(safe-area-inset-top));z-index:12;display:flex;align-items:center;gap:8px}.typing-stage-utility-controls{left:calc(10px + env(safe-area-inset-left))}.typing-stage-session-controls{right:calc(10px + env(safe-area-inset-right))}.typing-stage-music-toggle,.typing-stage-theme-toggle,.typing-stage-pause-toggle,.typing-enter-fullscreen,.typing-exit-fullscreen{display:grid;width:44px;min-width:44px;height:44px;place-items:center;border:1px solid var(--typing-control-border);border-radius:10px;padding:0;color:var(--typing-control-text);background:var(--typing-control-bg);box-shadow:var(--typing-control-shadow);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:filter .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.typing-stage-music-toggle:hover,.typing-stage-music-toggle:focus-visible,.typing-stage-theme-toggle:hover,.typing-stage-theme-toggle:focus-visible,.typing-stage-pause-toggle:hover:not(:disabled),.typing-stage-pause-toggle:focus-visible:not(:disabled),.typing-enter-fullscreen:hover,.typing-enter-fullscreen:focus-visible,.typing-exit-fullscreen:hover,.typing-exit-fullscreen:focus-visible{border-color:var(--typing-control-text);background:var(--typing-control-hover);outline:3px solid color-mix(in srgb,var(--typing-cyan) 32%,transparent);outline-offset:2px}.typing-stage-pause-toggle:disabled{opacity:.52;filter:saturate(.45);box-shadow:none;cursor:not-allowed}.typing-stage-music-toggle svg,.typing-stage-theme-toggle svg,.typing-stage-pause-toggle svg,.typing-enter-fullscreen svg,.typing-exit-fullscreen svg{width:21px;height:21px}.typing-pause-overlay{position:absolute;inset:0;z-index:7;display:grid;isolation:isolate;place-items:center;overflow:hidden;padding:72px 18px 18px;color:var(--typing-intro-title);background:var(--typing-pause-overlay-bg);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.typing-pause-overlay>div{position:relative;z-index:1;display:grid;min-width:min(280px,76vw);place-items:center;gap:7px;border:1px solid var(--typing-control-border);border-radius:18px;padding:20px 24px;background:var(--typing-hud-bg);box-shadow:0 16px 38px #191e4d3d}.typing-pause-overlay svg{width:34px;height:34px;color:var(--typing-blue-deep)}.typing-pause-overlay strong{color:var(--typing-intro-title);font-size:clamp(24px,4vw,34px)}.typing-pause-overlay span{color:var(--typing-intro-copy);font-size:14px;font-weight:700}.typing-stage[data-game-phase=paused] .candy-head,.typing-stage[data-game-phase=paused] .candy-stick,.typing-stage[data-game-phase=paused] .candy-shards{animation-play-state:paused}.typing-rhythm-hud{position:absolute;top:62px;bottom:48px;z-index:6;display:grid;align-content:space-between;gap:7px;pointer-events:none}.typing-rhythm-hud.is-left{left:10px}.typing-rhythm-hud.is-right{right:10px}.typing-rhythm-hud article{display:grid;min-width:88px;gap:3px;border:1px solid var(--typing-hud-border);border-radius:8px;padding:7px 9px;color:var(--typing-hud-value);background:var(--typing-hud-bg);box-shadow:0 6px 18px #14315824;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.typing-rhythm-hud.is-right article{justify-items:end;text-align:right}.typing-rhythm-hud span{color:var(--typing-hud-label);font-size:12px;font-weight:800}.typing-rhythm-hud strong{color:var(--typing-hud-value);font-size:22px;font-variant-numeric:tabular-nums;line-height:1.05}.typing-rhythm-hud strong small{color:var(--typing-hud-muted);font-size:11px}.typing-game-intro{position:absolute;inset:0;z-index:8;display:grid;isolation:isolate;place-content:center;justify-items:center;overflow:hidden;padding:24px;color:var(--typing-intro-title);background:var(--typing-intro-bg);text-align:center;transition:opacity .25s,transform .25s,background-color .16s ease}.typing-game-intro>*{position:relative;z-index:1}.typing-game-intro.leaving{opacity:0;transform:scale(1.04);pointer-events:none}.typing-game-intro>span{color:var(--typing-intro-kicker);font-size:13px;font-weight:900;letter-spacing:.08em}.typing-game-intro .typing-game-intro-icon{display:grid;width:46px;height:46px;place-items:center;margin-bottom:8px;border:1px solid var(--typing-control-border);border-radius:50%;color:var(--typing-control-text);background:var(--typing-key-current-bg);box-shadow:0 6px 0 var(--typing-key-current-edge),0 10px 24px var(--typing-key-current-glow)}.typing-game-intro-icon svg{width:25px;height:25px}.typing-game-intro h2{margin:8px 0;color:var(--typing-intro-title);font-size:32px}.typing-game-intro p{max-width:520px;margin:0;color:var(--typing-intro-copy);font-size:14px;line-height:1.6}.typing-game-intro .typing-start-button{min-height:48px;margin-top:18px;border:1px solid var(--typing-control-border);border-radius:12px;padding:11px 28px;color:var(--typing-primary-text);background:var(--typing-primary-bg);box-shadow:0 5px 0 var(--typing-primary-edge),var(--typing-primary-shadow);font-size:16px;font-weight:900}.typing-game-intro .typing-start-button:hover,.typing-game-intro .typing-start-button:focus-visible{filter:saturate(1.06) brightness(1.03);outline:3px solid color-mix(in srgb,var(--typing-primary-edge) 38%,transparent);outline-offset:3px}.typing-countdown{position:absolute;inset:0;z-index:7;display:none;isolation:isolate;place-items:center;overflow:hidden;color:var(--typing-countdown-text);background:var(--typing-countdown-bg);font-size:72px;font-weight:900;text-shadow:0 8px 20px rgba(17,62,112,.24);pointer-events:none}.typing-countdown>span{position:relative;z-index:1}.typing-countdown.show{display:grid;animation:countdown-pop .5s ease both}.typing-countdown.go{color:var(--typing-intro-kicker);font-size:54px}.rhythm-judgment{position:absolute;top:43%;left:50%;z-index:5;min-width:160px;color:var(--typing-judgment-text);font-size:29px;font-weight:900;text-align:center;text-shadow:var(--typing-judgment-shadow);opacity:1;transform:translate(-50%,-50%);pointer-events:none}.rhythm-judgment.pop{animation:judgment-pop .28s ease both}.rhythm-judgment.perfect{color:var(--typing-blue-deep)}.rhythm-judgment.great{color:#16816f}.rhythm-judgment.good{color:var(--typing-judgment-text)}.rhythm-judgment.miss{color:#b13e50}.typing-stage[data-typing-theme=dark] .rhythm-judgment.perfect{color:#8ec5ff}.typing-stage[data-typing-theme=dark] .rhythm-judgment.great{color:#84e2ce}.typing-stage[data-typing-theme=dark] .rhythm-judgment.miss{color:#ff929b}.rhythm-combo-energy{position:absolute;top:10px;right:12px;left:116px;z-index:4;display:flex;align-items:center;gap:10px}.typing-stage:where([data-game-phase=playing],[data-game-phase=paused]) .rhythm-combo-energy{right:64px}.rhythm-combo-energy>span{border:1px solid var(--typing-energy-label-border);border-radius:999px;padding:3px 7px;color:var(--typing-energy-label-text);background:var(--typing-energy-label-bg);font-size:11px;font-weight:900;letter-spacing:.06em;box-shadow:0 4px 12px #1431581f}.rhythm-combo-energy>div{flex:1;height:5px;overflow:hidden;border-radius:99px;background:var(--typing-energy-track)}.rhythm-combo-energy i{display:block;width:0;height:100%;border-radius:inherit;background:var(--typing-energy-fill);box-shadow:0 0 10px color-mix(in srgb,var(--typing-cyan) 38%,transparent);transition:width .18s}.typing-rhythm-stage.hit{border-color:var(--typing-hit-border);box-shadow:var(--typing-hit-shadow)}.typing-rhythm-stage.miss{border-color:var(--typing-miss-border);box-shadow:var(--typing-miss-shadow)}.rhythm-danger-line{position:absolute;right:clamp(72px,13%,110px);left:clamp(72px,13%,110px);z-index:1;height:1px;border-top:1px dashed var(--typing-danger);box-shadow:0 0 7px color-mix(in srgb,var(--typing-danger) 36%,transparent);pointer-events:none}.rhythm-lanes{position:absolute;inset:0 clamp(72px,13%,110px);z-index:2;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),var(--typing-lane-grid) calc(20% - 1px),var(--typing-lane-grid) 20%);pointer-events:none}.rhythm-note.candy-note{--candy-main: var(--typing-candy-0-main);--candy-dark: var(--typing-candy-0-dark);--candy-light: var(--typing-candy-0-light);position:absolute;top:0;left:calc(var(--lane) * 20% + 10%);display:block;width:var(--candy-size, 42px);min-width:0;height:calc(var(--candy-size, 42px) + 16px);padding:0;color:#102a50;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:16px;will-change:transform,opacity;pointer-events:none;transition:opacity .08s linear}.rhythm-note.candy-note[data-flavor="1"]{--candy-main: var(--typing-candy-1-main);--candy-dark: var(--typing-candy-1-dark);--candy-light: var(--typing-candy-1-light)}.rhythm-note.candy-note[data-flavor="2"]{--candy-main: var(--typing-candy-2-main);--candy-dark: var(--typing-candy-2-dark);--candy-light: var(--typing-candy-2-light)}.rhythm-note.candy-note[data-flavor="3"]{--candy-main: var(--typing-candy-3-main);--candy-dark: var(--typing-candy-3-dark);--candy-light: var(--typing-candy-3-light)}.rhythm-note.candy-note[data-flavor="4"]{--candy-main: var(--typing-candy-4-main);--candy-dark: var(--typing-candy-4-dark);--candy-light: var(--typing-candy-4-light)}.candy-stick{position:absolute;top:calc(var(--candy-size, 42px) - 5px);left:50%;z-index:0;width:clamp(5px,calc(var(--candy-size, 42px) * .15),8px);height:21px;border:1px solid rgba(88,50,24,.3);border-radius:0 0 4px 4px;background:repeating-linear-gradient(90deg,#f7ddb8 0 3px,#d8b27c 3px 5px);box-shadow:2px 3px 5px #00000040;transform:translate(-50%);transform-origin:top}.candy-head{position:absolute;inset:0 auto auto 0;z-index:1;display:grid;width:var(--candy-size, 42px);height:var(--candy-size, 42px);place-items:center;overflow:hidden;border:3px solid rgba(255,255,255,.92);border-radius:50%;background:conic-gradient(from 15deg,var(--candy-main) 0 15%,var(--candy-light) 15% 27%,var(--candy-main) 27% 43%,#fff 43% 50%,var(--candy-main) 50% 68%,var(--candy-light) 68% 82%,var(--candy-main) 82% 100%);box-shadow:inset -5px -7px #13486f1f,inset 5px 5px #ffffff47,0 5px 0 var(--candy-dark),0 8px 14px #174e773d;transform-origin:50% 56%}.candy-swirl{position:absolute;inset:13%;border:3px solid rgba(255,255,255,.72);border-right-color:transparent;border-bottom-color:var(--candy-dark);border-radius:50%;transform:rotate(28deg)}.candy-head strong{position:relative;z-index:2;display:grid;min-width:52%;min-height:52%;place-items:center;border:2px solid rgba(255,255,255,.92);border-radius:50%;padding:2px;color:#102a50;background:#ffffffe6;box-shadow:0 2px 5px #0b234538;font-size:clamp(13px,calc(var(--candy-size, 42px) * .39),22px);font-weight:950;line-height:1;letter-spacing:0}.candy-note.is-long-label .candy-head strong{min-width:68%;min-height:42%;border-radius:6px;font-size:clamp(7px,calc(var(--candy-size, 42px) * .19),11px)}.candy-note.current{z-index:4}.candy-note.current .candy-head{border-color:#e9f9ff;box-shadow:inset -5px -7px #13486f1f,inset 5px 5px #ffffff4d,0 5px 0 var(--candy-dark),0 0 0 4px #4cb8e142,0 0 24px #2f86d87a}.candy-note.is-landed{z-index:3;transition:opacity .08s linear,transform .16s cubic-bezier(.2,.8,.2,1)}.candy-note.is-landed .candy-head{animation:candy-land .2s ease-out both}.candy-note.is-falling .candy-head{animation:candy-sway .72s ease-in-out infinite alternate}.candy-note.candy-burst{z-index:5}.candy-burst .candy-head{animation:candy-head-shatter .25s ease-out forwards}.candy-burst .candy-stick{animation:candy-stick-drop .34s ease-in forwards}.candy-shards{position:absolute;inset:0;z-index:4;pointer-events:none}.candy-shard{position:absolute;top:calc(var(--candy-size, 42px) * .42);left:calc(var(--candy-size, 42px) * .42);width:clamp(7px,calc(var(--candy-size, 42px) * .2),11px);height:clamp(7px,calc(var(--candy-size, 42px) * .18),10px);border:1px solid rgba(255,255,255,.65);background:linear-gradient(135deg,var(--candy-light),var(--candy-main) 54%,var(--candy-dark));box-shadow:0 2px 4px #00000038;clip-path:polygon(0 0,100% 18%,72% 100%,12% 72%);opacity:1;animation:candy-shard-fly .4s cubic-bezier(.16,.72,.24,1) var(--shard-delay) forwards}.rhythm-hit-line{position:absolute;right:clamp(72px,13%,110px);bottom:10px;left:clamp(72px,13%,110px);z-index:1;height:10px;border:1px solid var(--typing-control-border);border-radius:5px 5px 3px 3px;background:var(--typing-hit-line);box-shadow:0 4px 0 var(--typing-hit-line-edge),0 0 16px color-mix(in srgb,var(--typing-cyan) 28%,transparent)}.typing-target{grid-area:target;display:flex;width:100%;max-width:none;height:clamp(60px,8vh,76px);max-height:76px;min-height:60px;align-items:center;margin:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-gutter:stable;scrollbar-width:thin;border:1px solid var(--typing-target-border);border-radius:14px;padding:10px 16px;background:var(--typing-target-bg);box-shadow:var(--typing-target-shadow);font-family:JetBrains Mono Variable,Consolas,SFMono-Regular,SF Mono,Menlo,Monaco,Noto Sans Mono,DejaVu Sans Mono,Liberation Mono,monospace;font-size:clamp(23px,1.76vw,31px);font-weight:650;font-variant-ligatures:none;font-variant-numeric:slashed-zero tabular-nums;font-feature-settings:"liga" 0,"calt" 0,"zero" 1;letter-spacing:.035em;line-height:1.35}.typing-target .typing-code-line{display:flex;flex:0 0 auto;width:max-content;min-width:max-content;min-height:1.6em;flex-wrap:nowrap;align-items:center;color:inherit;border:0;text-align:left;white-space:nowrap}.typing-target .typing-code-line>span{flex:0 0 auto;min-width:.75em;border-bottom:3px solid transparent;border-radius:5px;color:var(--typing-text-pending);text-align:center;transition:color .12s ease,background-color .12s ease,box-shadow .12s ease}.typing-target .typing-code-line>span.typing-space-character{width:.82em;min-width:.82em;letter-spacing:0}.typing-target .typing-code-line>span.done{color:var(--typing-text-done);border-bottom-color:var(--typing-text-done-line);background:var(--typing-text-done-bg)}.typing-target .typing-code-line>span.current{color:var(--typing-text-current);border-bottom-color:var(--typing-text-current-line);background:var(--typing-text-current-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--typing-text-current-line) 22%,transparent)}.typing-target .typing-code-line>span.error{color:var(--typing-text-error);border-bottom-color:var(--typing-text-error-line);background:var(--typing-text-error-bg);animation:typing-error-flash .18s ease both}.typing-target .typing-code-line>span.line-break{width:1.4em;min-width:1.4em;color:var(--typing-intro-kicker);border:0}.typing-target .typing-code-line>span.line-break.done{color:var(--typing-text-done);background:var(--typing-text-done-bg)}.typing-target .typing-code-line>span.line-break.current{color:var(--typing-text-current);background:var(--typing-text-current-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--typing-text-current-line) 22%,transparent)}.typing-target .typing-code-line>span.line-break.error{color:var(--typing-text-error);background:var(--typing-text-error-bg)}.typing-rhythm-keyboard.realistic-keyboard{grid-area:keyboard;display:grid;width:100%;max-width:none;gap:6px;margin:0;padding:15px;border:1px solid var(--typing-keyboard-border);border-radius:15px;background:var(--typing-keyboard-bg);box-shadow:0 10px 0 var(--typing-keyboard-edge),var(--typing-keyboard-shadow),var(--typing-key-inset)}.realistic-keyboard .keyboard-row{display:flex;justify-content:stretch;gap:5px;width:100%}.realistic-keyboard kbd{position:relative;isolation:isolate;display:grid;place-items:center;flex:var(--key-width) 1 0;width:auto;min-width:0;height:45px;overflow:hidden;padding:0 3px;color:var(--typing-key-text);border:1px solid var(--typing-key-border);border-radius:8px;background:linear-gradient(145deg,var(--typing-key-top),var(--typing-key-bottom));box-shadow:0 4px 0 var(--typing-key-edge),var(--typing-key-inset);font-family:JetBrains Mono Variable,Consolas,SFMono-Regular,Menlo,Monaco,Noto Sans Mono,monospace;font-size:16px;font-weight:720;letter-spacing:0;white-space:nowrap;transition:color 90ms ease,border-color 90ms ease,background 90ms ease,box-shadow 90ms ease,transform 75ms ease}.realistic-keyboard kbd[data-legend=dual]{place-items:initial}.realistic-keyboard .typing-key-label{position:relative;z-index:2;display:grid;width:100%;height:100%;place-items:center;pointer-events:none;transition:transform 75ms ease,text-shadow 90ms ease}.realistic-keyboard .typing-key-effect{position:absolute;top:50%;left:50%;z-index:1;width:min(34px,72%);aspect-ratio:1;border:1px solid var(--typing-key-ripple-edge);border-radius:50%;pointer-events:none;background:radial-gradient(circle,var(--typing-key-ripple-core) 0 14%,var(--typing-key-ripple-mid) 32%,var(--typing-key-ripple-edge) 52%,transparent 72%);box-shadow:0 0 8px var(--typing-key-ripple-mid),inset 0 0 5px var(--typing-key-ripple-core);opacity:0;transform:translate(-50%,-50%) scale(.18);animation:typing-key-ripple .48s cubic-bezier(.16,.78,.28,1) forwards}.realistic-keyboard .typing-key-legend{position:absolute;inset:0;display:block;font-size:max(10px,.9em);line-height:1;pointer-events:none}.realistic-keyboard .typing-key-legend>span{position:absolute;display:grid;width:1em;height:1em;place-items:center;transform:translate(-50%,-50%)}.realistic-keyboard .typing-key-legend .is-shifted{top:32%;left:calc(50% - clamp(4px,13%,9px));opacity:.84;font-weight:700}.realistic-keyboard .typing-key-legend .is-base{top:68%;left:calc(50% + clamp(4px,13%,9px));font-weight:820}.realistic-keyboard kbd.shift-target .typing-key-legend .is-shifted{opacity:1;font-weight:850}.realistic-keyboard kbd.shift-target .typing-key-legend .is-base{opacity:.7;font-weight:700}.realistic-keyboard kbd.modifier-key,.realistic-keyboard kbd.space-key,.realistic-keyboard kbd[data-key=Tab],.realistic-keyboard kbd[data-key=CapsLock],.realistic-keyboard kbd[data-key=Enter],.realistic-keyboard kbd[data-key=Backspace],.realistic-keyboard kbd[data-key^=Control],.realistic-keyboard kbd[data-key^=Alt],.realistic-keyboard kbd[data-key=Fn]{color:var(--typing-key-text);font-size:13px}.realistic-keyboard kbd[data-key=f]:after,.realistic-keyboard kbd[data-key=j]:after{position:absolute;right:28%;bottom:6px;left:28%;z-index:3;height:2px;border-radius:99px;background:var(--typing-key-marker);content:""}.realistic-keyboard kbd.active{color:var(--typing-key-current-text);border-color:var(--typing-control-text);background:var(--typing-key-current-bg);box-shadow:0 2px 0 var(--typing-key-current-edge),0 0 0 3px var(--typing-key-current-ring),0 0 20px var(--typing-key-current-glow);transform:translateY(2px)}.realistic-keyboard kbd.pressed{color:var(--typing-key-pressed-text);border-color:var(--typing-key-pressed-ring);background:var(--typing-key-pressed-bg);box-shadow:0 1px 0 var(--typing-key-pressed-edge),0 0 0 2px color-mix(in srgb,var(--typing-key-pressed-ring) 72%,transparent),0 0 18px var(--typing-key-pressed-glow);transform:translateY(3px) scale(.985)}.realistic-keyboard kbd.pressed .typing-key-label{text-shadow:0 0 8px color-mix(in srgb,var(--typing-key-ripple-core) 72%,transparent);transform:translateY(1px) scale(.99)}@keyframes typing-key-ripple{0%{opacity:.96;transform:translate(-50%,-50%) scale(.18)}36%{opacity:.88}to{opacity:0;transform:translate(-50%,-50%) scale(2.7)}}.typing-stage:fullscreen{width:100vw;max-width:none;height:100dvh;max-height:none;min-height:0;margin:0;border:0;border-radius:0;padding:12px;overflow:hidden;background:var(--typing-shell-bg);box-shadow:none}.typing-stage:fullscreen .rhythm-combo-energy{right:calc(116px + env(safe-area-inset-right));left:calc(116px + env(safe-area-inset-left))}.typing-result{position:absolute;inset:0;z-index:9;display:grid;place-content:center;justify-items:center;overflow-y:auto;overscroll-behavior:contain;padding:30px;border-radius:22px;color:var(--typing-result-title);background:var(--typing-result-bg);text-align:center;animation:pop-in .25s ease}.typing-result>span{color:var(--typing-result-kicker);font-size:15px;font-weight:900;letter-spacing:.06em}.typing-result h2{margin:10px 0;color:var(--typing-result-title);font-size:36px}.typing-result p{max-width:680px;margin:7px 0 0;color:var(--typing-result-copy);font-size:16px;line-height:1.6}.typing-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px}.typing-result-button{display:inline-flex;min-width:168px;min-height:50px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:900;letter-spacing:0;cursor:pointer;transition:filter .16s ease,transform .16s ease,box-shadow .16s ease}.typing-result-button svg{width:19px;height:19px;flex:0 0 auto}.typing-result-button.is-primary{color:var(--typing-primary-text);background:var(--typing-primary-bg);box-shadow:0 4px 0 var(--typing-primary-edge)}.typing-result-button.is-next{color:var(--typing-control-text);background:var(--typing-key-current-bg);box-shadow:0 4px 0 var(--typing-key-current-edge)}.typing-result-button.is-secondary{border-color:var(--typing-result-secondary-border);color:var(--typing-result-secondary-text);background:var(--typing-result-secondary-bg);box-shadow:0 4px 0 var(--typing-result-secondary-edge)}.typing-result-button:hover,.typing-result-button:focus-visible{filter:brightness(1.04);outline:3px solid var(--typing-result-focus);outline-offset:2px;transform:translateY(-1px)}.typing-result-button:active{box-shadow:none;transform:translateY(3px)}.typing-result-stars{display:flex!important;gap:5px!important;margin:5px 0!important}.typing-result-stars i{color:var(--typing-star-muted);font-size:30px;font-style:normal}.typing-result-stars i.lit{color:var(--typing-star-lit);text-shadow:0 2px var(--typing-star-edge);animation:star-pop .35s ease both}.typing-result .typing-grade-badge{color:var(--typing-grade-text);border-color:var(--typing-grade-border);background:var(--typing-grade-bg);box-shadow:0 0 0 2px var(--typing-grade-ring),0 8px 20px var(--typing-grade-shadow)}.typing-result.passed .typing-grade-badge{color:var(--typing-grade-passed-text);background:var(--typing-grade-passed-bg)}.typing-result.mastered .typing-grade-badge{color:var(--typing-grade-mastered-text);background:var(--typing-grade-mastered-bg)}.typing-result .rhythm-result-grid>div{border-color:var(--typing-result-card-border);background:var(--typing-result-card-bg)}.typing-result .rhythm-result-grid strong{color:var(--typing-result-card-value)}.typing-result .rhythm-result-grid span{color:var(--typing-result-card-label)}.typing-result.passed{background:var(--typing-result-passed-bg)}.typing-result.mastered{background:var(--typing-result-mastered-bg)}.typing-result.retry{background:var(--typing-result-retry-bg)}.typing-result.saving{background:var(--typing-result-bg)}.typing-result>small{color:var(--typing-result-small);font-size:13px;font-weight:850}.typing-result.typing-pile-failure{z-index:20;color:var(--typing-failure-title);background:var(--typing-failure-bg)}.typing-pile-failure .typing-failure-icon{width:50px;height:50px;margin-bottom:6px;color:var(--typing-failure-icon);filter:drop-shadow(0 5px 0 rgba(0,0,0,.25))}.typing-result.typing-pile-failure>span{color:var(--typing-failure-kicker);font-size:15px}.typing-result.typing-pile-failure h2{color:var(--typing-failure-title);font-size:clamp(27px,4vw,42px)}.typing-result.typing-pile-failure p{max-width:620px;color:var(--typing-failure-copy);font-size:16px;line-height:1.65}.typing-pile-failure .typing-result-actions{gap:12px}.typing-pile-failure .typing-result-button{min-width:168px;min-height:50px;gap:8px}.typing-pile-failure button svg{width:18px;height:18px}@keyframes rhythm-note-hit{55%{opacity:1;filter:brightness(1.9) drop-shadow(0 0 12px var(--typing-cyan))}to{opacity:0;filter:brightness(2.2)}}@keyframes candy-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@keyframes candy-land{0%{transform:translateY(-5px) scale(.96)}70%{transform:translateY(2px) scale(1.04,.96)}to{transform:none}}@keyframes candy-head-shatter{35%{filter:brightness(1.8);transform:scale(1.12)}to{filter:brightness(2);opacity:0;transform:scale(.28) rotate(18deg)}}@keyframes candy-stick-drop{to{opacity:0;transform:translate(-50%,22px) rotate(24deg)}}@keyframes candy-shard-fly{72%{opacity:1}to{opacity:0;transform:translate(var(--shard-x),var(--shard-y)) rotate(var(--shard-r)) scale(.35)}}@keyframes typing-error-flash{50%{color:var(--typing-text-error);background:var(--typing-text-error-flash);transform:translateY(-1px)}}@keyframes island-node-pulse{50%{box-shadow:0 0 0 8px #ffbe2333,0 0 0 1px #dd9c00;transform:translateY(-2px)}}@media(min-width:901px){.typing-session{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;width:100%;max-width:none;min-height:0;height:100%;margin:0 auto}.typing-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto auto;grid-template-areas:"rhythm" "target" "keyboard";gap:9px;min-height:0;height:100%;margin:0;padding:11px 13px 10px;overflow:hidden;border:1px solid var(--typing-stage-border);border-radius:18px;background:var(--typing-shell-bg);box-shadow:var(--typing-shell-shadow)}.typing-rhythm-stage{grid-area:rhythm;align-self:stretch;width:100%;height:100%;min-height:150px;max-height:none;margin:0;border-radius:14px}.typing-target{align-self:center;width:100%;max-width:none;height:clamp(60px,8vh,76px);min-height:60px;max-height:76px;margin:0;padding:10px 16px;overflow-x:auto;overflow-y:hidden;border-radius:13px;font-size:clamp(22px,1.65vw,28px);line-height:1.35}.typing-rhythm-keyboard.realistic-keyboard{align-self:end;width:100%;max-width:none;gap:5px;margin:0;padding:10px 12px;border-radius:13px;box-shadow:0 7px 0 var(--typing-keyboard-edge),var(--typing-keyboard-compact-shadow)}.realistic-keyboard .keyboard-row{gap:4px}.realistic-keyboard kbd{height:clamp(38px,4.8vh,48px);border-radius:6px;font-size:clamp(15px,1vw,16px)}.realistic-keyboard kbd.modifier-key,.realistic-keyboard kbd.space-key,.realistic-keyboard kbd[data-key=Tab],.realistic-keyboard kbd[data-key=CapsLock],.realistic-keyboard kbd[data-key=Enter],.realistic-keyboard kbd[data-key=Backspace]{font-size:clamp(12px,.78vw,13px)}}@media(min-width:901px)and (max-height:700px){.typing-session-bar{min-height:46px}.typing-session-bar>button{min-height:44px}.typing-stage{grid-template-rows:minmax(110px,1fr) auto auto;gap:6px;padding:7px 9px 8px}.typing-rhythm-stage{min-height:110px}.typing-target{height:52px;min-height:52px;max-height:52px;padding:7px 12px;font-size:clamp(19px,1.45vw,24px)}.typing-rhythm-keyboard.realistic-keyboard{gap:3px;padding:7px 9px;box-shadow:0 5px 0 var(--typing-keyboard-edge),var(--typing-keyboard-compact-shadow)}.realistic-keyboard .keyboard-row{gap:3px}.realistic-keyboard kbd{height:clamp(30px,5.2dvh,35px);font-size:15px}.realistic-keyboard kbd.modifier-key,.realistic-keyboard kbd.space-key,.realistic-keyboard kbd[data-key=Tab],.realistic-keyboard kbd[data-key=CapsLock],.realistic-keyboard kbd[data-key=Enter],.realistic-keyboard kbd[data-key=Backspace]{font-size:12px}}@media(max-width:1023px){.typing-stage:fullscreen{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto auto;grid-template-areas:"rhythm" "target" "keyboard";gap:8px}.typing-stage:fullscreen .typing-rhythm-stage{grid-area:rhythm;width:100%;height:100%;min-height:0;margin:0}.typing-stage:fullscreen .typing-rhythm-hud{top:54px;bottom:8px;gap:2px}.typing-stage:fullscreen .typing-rhythm-hud article{min-width:68px;gap:0;padding:2px 5px}.typing-stage:fullscreen .typing-rhythm-hud span{font-size:8px;line-height:1}.typing-stage:fullscreen .typing-rhythm-hud strong{font-size:14px;line-height:1.05}.typing-stage:fullscreen .typing-rhythm-hud strong small{font-size:7px}.typing-stage:fullscreen .typing-target{grid-area:target;width:100%;max-width:none;height:clamp(52px,10dvh,68px);min-height:52px;max-height:68px;margin:0;padding:9px 12px}.typing-stage:fullscreen .typing-rhythm-keyboard{grid-area:keyboard;width:100%;max-width:none;margin:0}}@media(max-width:600px){.typing-rhythm-hud article{min-width:60px;padding:5px 6px}.typing-rhythm-hud span{font-size:9px}.typing-rhythm-hud strong{font-size:16px}.typing-rhythm-hud strong small{font-size:8px}.typing-rhythm-keyboard.realistic-keyboard kbd[data-key=Backspace]{font-size:0}.typing-rhythm-keyboard.realistic-keyboard kbd[data-key=Backspace]:before{position:relative;z-index:3;content:"⌫";font-size:16px;line-height:1}}.app-layout:has(.teacher-classes-native),html:has(.teacher-classes-native),body:has(.teacher-classes-native){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.teacher-classes-native){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teacher-classes-native)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.teacher-classes-native){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.teacher-classes-native,.teacher-live-native{display:grid;gap:18px}.teacher-classes-native{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;gap:14px}.teacher-classes-native>:not(.teacher-class-page-nav){min-height:0}.teacher-class-page-nav{display:inline-flex;width:max-content;max-width:100%;gap:6px;border:1px solid #d5e2f2;border-radius:16px;padding:5px;background:#fff;box-shadow:0 8px 22px #0c37760f}.teacher-class-page-nav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:11px;padding:9px 16px;color:#526681;font-weight:900;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.teacher-class-page-nav a:hover{color:var(--blue-dark);background:#f2f7ff}.teacher-class-page-nav a.active{color:#fff;background:var(--blue);box-shadow:0 7px 16px #2d7eea38}.teacher-class-page-nav svg{width:18px;height:18px}.teacher-class-catalogue{display:grid;align-content:start;gap:18px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,3vw,28px);scrollbar-gutter:stable;scrollbar-width:thin}.teacher-class-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.teacher-class-overview-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:122px;border:1px solid #d7e4f3;border-top:5px solid var(--blue);border-radius:18px;padding:16px;color:var(--ink);background:linear-gradient(145deg,#fff,#f4f9ff);box-shadow:0 10px 24px #0c377612;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.teacher-class-overview-card:nth-child(3n+2){border-top-color:var(--mint)}.teacher-class-overview-card:nth-child(3n){border-top-color:var(--yellow)}.teacher-class-overview-card:hover{border-color:#a9c5ea;transform:translateY(-2px);box-shadow:0 15px 30px #0c37761c}.teacher-class-card-mark{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--blue),#4b8fff);font-size:22px;font-weight:950;box-shadow:0 8px 16px #2d7eea33}.teacher-class-overview-card>div{min-width:0}.teacher-class-overview-card strong{display:block;overflow:hidden;color:var(--navy);font-size:18px;text-overflow:ellipsis;white-space:nowrap}.teacher-class-overview-card span:not(.teacher-class-card-mark),.teacher-class-overview-card small{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--muted);font-size:12px}.teacher-class-overview-card span svg,.teacher-class-overview-card small svg{flex:0 0 auto;width:15px;height:15px}.teacher-class-overview-card>svg{width:20px;height:20px;color:#7d93b1}.teacher-class-create-panel{width:100%;min-width:0;min-height:0;margin-inline:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.teacher-class-create-form{display:grid;grid-template-columns:minmax(320px,.62fr) minmax(0,1.5fr);gap:16px;align-items:stretch;min-width:0}.teacher-class-setup-panel{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;border:1px solid #d7e4f3;border-radius:16px;padding:12px;background:#fff;box-shadow:var(--shadow)}.teacher-class-setup-scroll{display:grid;align-content:start;gap:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 2px 2px;scrollbar-gutter:stable;scrollbar-width:thin}.teacher-class-name-field{display:grid;gap:6px;min-width:0;color:var(--navy);font-weight:900}.teacher-class-name-field input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:#fff;font:inherit}.teacher-class-create-form .teacher-class-course-choice{min-width:0;gap:8px}.teacher-class-create-form .teacher-class-course-choice legend{margin-bottom:6px}.teacher-class-create-form .teacher-class-course-option{min-height:76px;gap:9px;padding:10px}.teacher-class-create-form .teacher-class-course-option>span{width:40px;height:40px;border-radius:12px}.teacher-class-create-form .teacher-class-course-option svg{width:21px;height:21px}.teacher-class-create-form .teacher-class-course-option strong{font-size:14px}.teacher-class-create-form .teacher-class-course-option small{margin-top:2px;font-size:10px}.teacher-schedule-fieldset{display:grid;gap:12px;min-width:0;margin:0;border:1px solid #d7e4f3;border-radius:18px;padding:18px;background:#f7fbff}.teacher-schedule-fieldset legend{display:inline-flex;align-items:center;gap:8px;padding:0 7px;color:var(--navy);font-weight:900}.teacher-schedule-fieldset legend svg{width:18px;height:18px;color:var(--blue)}.teacher-schedule-fieldset small{color:var(--muted);line-height:1.5}.teacher-class-create-form .teacher-schedule-fieldset{gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-radius:16px;padding:10px 12px 12px;scrollbar-gutter:stable;scrollbar-width:thin}.teacher-class-create-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;border-top:1px solid var(--line);padding-top:12px;background:#fff}.teacher-class-back-link{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:10px;color:var(--blue-dark);background:#edf5ff}.teacher-class-back-link:hover{background:#e1edff}.teacher-class-back-link svg{width:18px;height:18px}.teacher-class-detail-hero{display:flex;align-items:center;gap:11px;min-width:0;min-height:68px;border:1px solid #cfe0f5;border-radius:16px;padding:9px 12px;background:linear-gradient(135deg,#fff,#eef6ff)}.teacher-class-detail-hero .teacher-class-card-mark{width:42px;height:42px;border-radius:12px;font-size:18px}.teacher-class-detail-summary{min-width:0}.teacher-class-detail-summary h2{margin:0;overflow:hidden;color:var(--navy);font-size:20px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.teacher-class-detail-summary>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;margin-top:5px}.teacher-class-detail-summary>div>span:not(.class-course-badge){display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.teacher-class-detail-summary svg{width:13px;height:13px}.teacher-class-detail-summary .class-course-badge{margin:0;padding:3px 7px;font-size:10px}.teacher-class-hero-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}.teacher-class-delete-button{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid #efc9bf;border-radius:11px;color:#a23e30;background:#fff3ee;cursor:pointer}.teacher-class-delete-button:hover,.teacher-class-delete-button:focus-visible{border-color:#dc8e7b;outline:0;box-shadow:0 0 0 3px #d9685524}.teacher-class-delete-button:disabled{opacity:.55;cursor:wait}.teacher-class-delete-button svg{width:19px;height:19px}.teacher-class-settings-button{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid #c9dcf4;border-radius:11px;color:var(--blue-dark);background:#edf5ff;cursor:pointer}.teacher-class-settings-button:hover,.teacher-class-settings-button:focus-visible{border-color:#8db7ec;outline:0;box-shadow:0 0 0 3px #2d7eea1f}.teacher-class-settings-button:disabled{opacity:.55;cursor:wait}.teacher-class-settings-button svg{width:19px;height:19px}.teacher-live-stack{display:grid;gap:18px;min-width:0}.teacher-native-grid,.teacher-live-native-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;align-items:start;min-width:0}.teacher-live-class-board{display:grid;gap:18px;padding:clamp(18px,2.2vw,26px)}.teacher-class-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teacher-start-class-card{display:grid;gap:14px;align-content:start;min-width:0;border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:0 10px 26px #0d418c12}.teacher-start-class-card.active{border-color:#2d7eea7a;box-shadow:inset 0 0 0 2px #2d7eea1a,0 12px 30px #0d418c1a}.teacher-start-class-card>div{display:grid;gap:6px;min-width:0}.teacher-start-class-card strong{color:var(--navy);font-size:18px}.teacher-start-class-card small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.teacher-start-class-card label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:900}.teacher-start-class-card select{min-height:44px;min-width:0;border:1px solid var(--line);border-radius:12px;padding:0 11px;color:var(--ink);background:#fff;font:inherit}.teacher-start-class-card>.teacher-class-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-class-card-actions>button{min-width:0;min-height:44px;border:1px solid #c9dcf4;border-radius:12px;padding:0 10px;color:var(--blue-dark);background:#edf5ff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.teacher-class-card-actions>.primary-action{color:#fff;background:var(--blue)}.teacher-class-card-actions>button:disabled{opacity:.5;cursor:default}.teacher-review-modal>section{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;width:min(1120px,calc(100vw - 32px));max-width:none;height:min(780px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden}.teacher-review-heading{display:flex;align-items:center;gap:12px;min-width:0;border-bottom:1px solid var(--line);padding:16px}.teacher-review-heading>div{flex:1;min-width:0}.teacher-review-heading h2{margin:0;font-size:20px}.teacher-review-heading p{margin:4px 0 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.teacher-review-heading>button{flex-shrink:0;width:44px;height:44px}.teacher-review-body{display:grid;min-width:0;min-height:0;padding:16px;overflow-y:auto;overscroll-behavior:contain}.teacher-review-session-list{display:grid;align-content:start;gap:10px}.teacher-review-session-list>button{display:flex;align-items:center;gap:12px;min-width:0;min-height:76px;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--ink);background:#f8fbff;text-align:left;cursor:pointer}.teacher-review-session-list>button>span{flex-shrink:0;border-radius:10px;padding:10px;color:var(--blue-dark);background:#e8f1ff;font-weight:900}.teacher-review-session-list>button>div{flex:1;min-width:0;overflow-wrap:anywhere}.teacher-review-session-list strong,.teacher-review-session-list small{display:block}.teacher-review-session-list small{margin-top:4px;color:var(--muted);font-size:12px}.teacher-review-session-list svg{flex-shrink:0;width:18px}.teacher-review-player{display:grid;align-content:center;min-height:0;min-width:0}.teacher-review-player>[role=alert]{padding:10px;color:#963b2e}.teacher-review-player .teacher-ppt-stage{width:min(100%,calc((100dvh - 200px) * 16 / 9));justify-self:center}.teacher-review-player .teacher-ppt-stage:fullscreen{width:100%;height:100%;max-height:none;aspect-ratio:auto;border:0;border-radius:0}.teacher-review-player .teacher-ppt-stage:fullscreen .teacher-ppt-slide-viewport{width:min(100vw,calc(100dvh * 16 / 9));height:min(100dvh,56.25vw)}.teacher-review-modal .ppt-annotation-canvas{width:100%;height:100%;max-height:none;border:0;border-radius:0;background:transparent}.teacher-review-slide-controls{position:absolute;z-index:8;left:50%;bottom:10px;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:4px;border-radius:12px;color:#fff;background:#091627e5}.teacher-review-slide-controls>button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;padding:8px;color:#fff;background:transparent;cursor:pointer}.teacher-review-slide-controls>button:disabled{opacity:.4;cursor:default}.teacher-review-slide-controls>span{min-width:56px;font-size:12px;text-align:center}.teacher-live-picker,.teacher-live-picker .teacher-live-stack,.teacher-live-picker .teacher-live-class-board{min-height:0}.teacher-live-picker .teacher-live-stack{height:100%;grid-template-rows:minmax(0,1fr)}.teacher-live-picker .teacher-live-class-board{height:100%;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden}.teacher-live-picker .teacher-live-class-board>.section-heading{margin-bottom:0}.teacher-live-picker .teacher-class-card-grid{min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:stretch;padding:0 8px 0 1px;scrollbar-gutter:stable;scrollbar-width:thin}.teacher-live-picker .teacher-class-card-grid>.empty-state{grid-column:1 / -1;grid-row:1 / -1;min-height:0}.teacher-live-picker .teacher-start-class-card{height:auto;min-height:248px;grid-template-rows:auto auto auto;align-content:space-between}.teacher-live-picker .teacher-start-class-card strong{display:block;line-height:1.3}.teacher-live-picker .teacher-start-class-card small{display:block;line-height:1.5}.teacher-class-list{position:sticky;top:92px;display:grid;gap:16px;min-width:0}.teacher-class-buttons{display:grid;gap:8px}.teacher-class-buttons button{min-height:68px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);background:#f8fbff;text-align:left;cursor:pointer}.teacher-class-buttons button.active{border-color:#2d7eea8c;background:#eaf3ff;box-shadow:inset 4px 0 0 var(--blue)}.teacher-class-buttons strong,.native-student-row strong,.native-session-list strong{display:block;color:var(--navy);font-size:14px}.teacher-class-buttons small,.native-student-row small,.native-session-list small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.teacher-class-detail{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;overflow:hidden}.teacher-class-detail-tabs{display:none}.teacher-class-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;height:100%;min-width:0;min-height:0}.teacher-class-detail-grid>.surface{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;min-width:0;min-height:0;overflow:hidden;padding:0}.class-workspace-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border-bottom:1px solid var(--line);padding:12px 14px}.class-workspace-panel-heading>div{display:flex;align-items:baseline;gap:8px;min-width:0}.class-workspace-panel-heading h2{margin:0;color:var(--navy);font-size:18px}.class-workspace-panel-heading small{color:var(--blue-dark);font-size:15px;font-weight:900;white-space:nowrap}.class-workspace-panel-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.class-workspace-panel-heading button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:44px;border:1px solid #c9dcf4;border-radius:10px;padding:0 11px;color:var(--blue-dark);background:#edf5ff;font-size:12px;font-weight:900;cursor:pointer}.class-workspace-panel-heading button:hover,.class-workspace-panel-heading button:focus-visible{border-color:#8db7ec;outline:0;box-shadow:0 0 0 3px #2d7eea1f}.class-workspace-panel-heading button:disabled{opacity:.5;cursor:wait}.class-workspace-panel-heading button svg{width:15px;height:15px}.class-workspace-panel-body{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px;scrollbar-gutter:stable;scrollbar-width:thin}.class-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:16px 10px;align-content:start;min-width:0}.class-member-grid article{display:grid;justify-items:center;gap:7px;min-width:0;text-align:center}.class-member-grid .profile-avatar{width:54px;height:54px;border-radius:16px;font-size:20px}.class-member-grid article:nth-child(4n+2) .profile-avatar{color:#087152;border-color:#9adfc6;background:#e2f9f1}.class-member-grid article:nth-child(4n+3) .profile-avatar{color:#7d5c00;border-color:#f4d675;background:#fff7d7}.class-member-grid article:nth-child(4n) .profile-avatar{color:#7a466f;border-color:#dec0d9;background:#faedf8}.class-member-grid strong{max-width:100%;overflow:hidden;color:var(--navy);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.class-workspace-empty-action{display:grid;place-items:center;align-content:center;gap:14px;width:100%;min-height:100%;border:1px dashed #a9c9ed;border-radius:14px;padding:24px;color:var(--blue-dark);background:#f8fbff;text-align:center;cursor:pointer}.class-workspace-empty-action:hover,.class-workspace-empty-action:focus-visible{border-color:var(--blue);outline:0;background:#edf5ff;box-shadow:inset 0 0 0 2px #2d7eea14}.class-workspace-empty-action:disabled{opacity:.55;cursor:wait}.class-workspace-empty-action svg{width:38px;height:38px}.class-workspace-empty-action strong{font-size:15px;line-height:1.6}.class-workspace-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin:0}.class-workspace-course-grid .class-session-card{min-height:104px;padding:11px}.class-workspace-course-grid .class-session-card>span{width:42px;height:42px}.class-course-version-card>span{display:grid;place-items:center}.class-course-version-card>span svg{width:21px;height:21px}.class-management-modal>section{grid-template-rows:auto minmax(0,1fr);width:min(720px,100%);height:min(680px,calc(100dvh - 40px));overflow:hidden;padding:0}.class-management-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:18px 20px 14px}.class-management-dialog-heading>div{min-width:0}.class-management-dialog-heading h2{font-size:20px}.class-management-dialog-heading p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.class-management-dialog-heading>button{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;cursor:pointer}.class-management-dialog-heading>button:disabled{opacity:.5;cursor:wait}.class-management-dialog-heading>button svg{width:18px;height:18px}.class-management-dialog-form{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-height:0;padding:14px 20px 18px}.class-management-dialog-form:has(>.class-management-dialog-options){grid-template-rows:auto minmax(0,1fr) auto}.class-management-dialog-options{display:grid;gap:12px}.class-management-dialog-form .batch-selection-fieldset{grid-template-rows:auto minmax(0,1fr);min-height:0}.class-management-dialog-form .batch-selection-list{max-height:none;min-height:0}.class-management-dialog-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:12px}.class-management-dialog-actions>button:not(.primary-action){min-height:44px;border:1px solid var(--line);border-radius:11px;padding:0 14px;color:var(--ink);background:#fff;font-weight:900;cursor:pointer}.class-management-dialog-actions>button:disabled{opacity:.55;cursor:wait}.class-settings-modal>section{width:min(520px,100%);overflow:hidden;padding:0}.class-settings-form{display:grid;gap:18px;padding:20px}.class-settings-form label{display:grid;gap:7px;color:var(--navy);font-size:13px;font-weight:900}.class-settings-form input{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:#fff;font:inherit}.class-settings-form input:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #2d7eea1f}.teacher-live-main{display:grid;gap:18px}.compact-form{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px}.compact-form strong{color:var(--navy);font-size:14px}.compact-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.compact-form input,.compact-form select,.inline-create-form input,.inline-create-form select,.native-student-row input{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:#fff;font:inherit}.primary-action,.danger-action,.native-student-row form button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:12px;padding:0 14px;font-weight:900;cursor:pointer}.primary-action{color:#fff;background:var(--blue)}.primary-action:disabled,.danger-action:disabled,.native-student-row form button:disabled{opacity:.58;cursor:wait}.danger-action{color:#963b2e;background:#ffe7df}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;border:1px solid #ffd3c6;border-radius:16px;padding:16px;background:#fff7f3}.danger-zone strong{display:block;color:#963b2e}.danger-zone small{display:block;margin-top:5px;color:#7b4a40;line-height:1.55}.native-student-list,.native-session-list{display:grid;gap:10px;min-width:0}.native-student-row{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(150px,230px) auto;gap:10px;align-items:center;min-width:0;border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fbff}.student-account-note{border-radius:999px;padding:7px 10px;color:#49637f;background:#eef4fb;text-align:center}.profile-avatar.small{width:46px;height:46px;border-width:2px;border-radius:15px;font-size:20px}.native-student-row form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;min-width:0}.native-student-row form button{color:var(--blue-dark);background:#e8f1ff}.batch-add-form{display:grid;gap:12px;min-width:0;margin-top:2px}.batch-add-form>.primary-action{justify-self:end}.batch-selection-fieldset{display:grid;gap:9px;min-width:0;margin:0;border:0;padding:0}.batch-selection-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;min-width:0}.batch-selection-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;min-width:0}.batch-selection-toolbar label{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--blue-dark);font-size:13px;font-weight:900;cursor:pointer}.batch-selection-toolbar label:has(input:disabled){color:var(--muted);cursor:default;opacity:.68}.batch-selection-toolbar small{margin-left:auto;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.batch-selection-fieldset input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--blue);cursor:pointer}.batch-selection-fieldset input[type=checkbox]:disabled{cursor:default;opacity:.45}.batch-selection-list{max-height:min(310px,42vh);min-width:0;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d7e4f3;border-radius:12px;background:#fff;scrollbar-gutter:stable;scrollbar-width:thin}.batch-selection-list>label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:58px;padding:9px 11px;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.batch-selection-list>label+label{border-top:1px solid #e2ebf6}.batch-selection-list>label:hover{background:#f5f9ff}.batch-selection-list>label.selected{background:#edf5ff;box-shadow:inset 3px 0 0 var(--blue)}.batch-selection-list>label>span{min-width:0}.batch-selection-list strong,.batch-selection-list small{display:block;overflow-wrap:anywhere}.batch-selection-list strong{color:var(--navy);font-size:13px}.batch-selection-list small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.batch-selection-empty{display:grid;place-items:center;min-height:76px;margin:0;border:1px dashed #c9d9ed;border-radius:12px;padding:12px;color:var(--muted);background:#fbfdff;font-size:12px;text-align:center}.inline-create-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;min-width:0;margin-top:16px}.inline-create-form select{grid-column:span 3}.class-edit-form{grid-template-columns:minmax(170px,.9fr) minmax(280px,1.25fr) auto;align-items:end;margin-top:0}.class-edit-form input{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:#fff;font:inherit}.teacher-schedule-editor{display:grid;gap:14px;min-width:0}.teacher-schedule-name{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:900}.teacher-schedule-name input{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);background:#fff;font:inherit}.teacher-schedule-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:stretch;overflow:hidden;border:1px solid #d7e5f6;border-radius:18px;padding:12px;background:linear-gradient(135deg,#f4f9ff,#fff8df)}.teacher-calendar-card{display:grid;place-items:center;align-content:center;min-height:104px;border-radius:16px;color:#fff;background:linear-gradient(180deg,var(--blue),#164aa8);box-shadow:inset 0 -8px #1831532e}.teacher-calendar-card span{font-size:12px;font-weight:900;opacity:.9}.teacher-calendar-card strong{font-size:42px;line-height:.95}.teacher-calendar-card small{margin-top:5px;color:#dceaff;font-size:12px;font-weight:900}.teacher-calendar-summary{display:flex;align-items:center;gap:12px;min-width:0;border-radius:16px;padding:14px;background:#ffffffb8}.teacher-calendar-summary svg{flex:0 0 auto;width:30px;height:30px;color:var(--blue)}.teacher-calendar-summary strong{display:block;color:var(--navy);font-size:clamp(20px,3vw,28px);line-height:1.1}.teacher-calendar-summary small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.5}.teacher-schedule-controls{display:grid;gap:10px;min-width:0;margin:0;border:1px dashed #c9d9ed;border-radius:16px;padding:13px;background:#fbfdff}.teacher-schedule-controls legend{padding:0 6px;color:var(--blue-dark);font-size:12px;font-weight:950}.teacher-schedule-controls .primary-action{justify-self:end}.schedule-form-grid{display:grid;grid-template-columns:minmax(92px,.8fr) repeat(2,minmax(108px,1fr));gap:8px;min-width:0}.schedule-form-grid.compact{grid-template-columns:1fr}.schedule-form-grid select,.schedule-form-grid input{grid-column:auto;min-width:0}.class-schedule-planner{display:grid;gap:16px;min-width:0}.class-schedule-basics{display:grid;grid-template-columns:minmax(150px,.8fr) repeat(2,minmax(150px,1fr));gap:10px;min-width:0}.class-schedule-basics label{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:12px;font-weight:900}.class-schedule-basics select,.class-schedule-basics input,.class-schedule-slot select,.class-schedule-slot input,.class-schedule-extra-list input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 11px;color:var(--ink);background:#fff;font:inherit}.class-schedule-date-control{position:relative;display:block;min-width:0}.class-schedule-date-control input{padding-right:38px;cursor:pointer}.class-schedule-date-control>svg{position:absolute;top:50%;right:11px;width:18px;height:18px;color:var(--blue);pointer-events:none;transform:translateY(-50%)}.class-schedule-date-control input:focus-visible{border-color:#72a8ee;outline:0;box-shadow:0 0 0 3px #2d7eea29}.class-schedule-date-layer{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:4px;background:#0b234147;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.class-schedule-date-picker{display:grid;gap:13px;width:min(382px,calc(100vw - 8px));border:1px solid #cdddf0;border-radius:14px;padding:12px;color:var(--ink);background:#fff;box-shadow:0 24px 64px #08234c3d}.class-schedule-date-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-schedule-date-picker-heading h3{margin:0;color:var(--navy);font-size:18px}.class-schedule-date-picker-heading>div{display:flex;gap:6px}.class-schedule-date-picker-heading button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #cdddf0;border-radius:9px;color:var(--blue-dark);background:#f8fbff;cursor:pointer}.class-schedule-date-picker-heading button:hover:not(:disabled),.class-schedule-date-picker-heading button:focus-visible{border-color:#72a8ee;outline:0;box-shadow:0 0 0 3px #2d7eea24}.class-schedule-date-picker-heading button:disabled{opacity:.38;cursor:default}.class-schedule-date-picker-heading svg{width:18px;height:18px}.class-schedule-date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(40px,1fr));gap:5px;min-width:0}.class-schedule-date-picker-grid>span:not(.class-schedule-date-placeholder){padding:4px 0;color:#647b98;font-size:12px;font-weight:900;text-align:center}.class-schedule-date-picker-grid button{display:grid;place-items:center;min-width:0;min-height:44px;border:1px solid transparent;border-radius:9px;color:#425b78;background:#f3f7fc;font:inherit;font-size:13px;font-weight:850;cursor:pointer}.class-schedule-date-picker-grid button:hover:not(:disabled),.class-schedule-date-picker-grid button:focus-visible{border-color:#72a8ee;outline:0;color:var(--blue-dark);background:#eaf3ff;box-shadow:0 0 0 3px #2d7eea24}.class-schedule-date-picker-grid button[aria-current=date]{border-color:var(--blue);color:#fff;background:var(--blue)}.class-schedule-date-picker-grid button:disabled{color:#aebac9;background:#fafbfd;cursor:default;opacity:.5}.class-schedule-date-placeholder{min-height:44px}@media(max-width:340px){.class-schedule-date-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.class-schedule-date-picker-grid button,.class-schedule-date-placeholder{min-height:40px}}.class-schedule-slot input[aria-invalid=true],.class-schedule-extra-list input[aria-invalid=true]{border-color:#d96855;box-shadow:0 0 0 3px #d968551f}.class-schedule-weekly{display:grid;gap:9px;min-width:0;margin:0;border:1px solid #d7e4f3;border-radius:16px;padding:14px;background:#f7fbff}.class-schedule-weekly legend{padding:0 7px;color:var(--navy);font-size:13px;font-weight:900}.class-schedule-slot{display:grid;grid-template-columns:34px minmax(100px,.72fr) minmax(105px,1fr) auto minmax(105px,1fr);gap:8px;align-items:center;min-width:0}.class-schedule-slot>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--blue-dark);background:#dfedff;font-size:13px;font-weight:950}.class-schedule-slot>i,.class-schedule-extra-list i{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.class-schedule-calendar{display:grid;gap:12px;min-width:0;border:1px solid #d6e4f4;border-radius:20px;padding:16px;background:linear-gradient(145deg,#fff,#f6faff);box-shadow:0 10px 24px #0c37760f}.class-schedule-calendar-heading,.class-schedule-overrides-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-schedule-calendar-heading h3,.class-schedule-overrides-heading h3{margin:3px 0 0;color:var(--navy);font-size:20px}.class-schedule-calendar-heading>div:last-child{display:flex;gap:7px}.class-schedule-calendar-heading button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #cdddf0;border-radius:11px;color:var(--blue-dark);background:#fff;cursor:pointer}.class-schedule-calendar-heading button:disabled{opacity:.38;cursor:default}.class-schedule-calendar-heading button svg{width:18px;height:18px}.class-schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:6px;min-width:0}.class-schedule-weekday{padding:3px 0 5px;color:#647b98;font-size:12px;font-weight:900;text-align:center}.class-schedule-calendar-grid button{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;min-height:38px;overflow:hidden;border:1px solid transparent;border-radius:12px;color:#50647e;background:#f5f8fc;font:inherit;font-size:13px;font-weight:850;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.class-schedule-calendar-placeholder{display:block;aspect-ratio:1;min-width:0;min-height:38px}.class-schedule-calendar-grid button:hover:not(:disabled),.class-schedule-calendar-grid button:focus-visible{z-index:1;border-color:#72a8ee;outline:0;box-shadow:0 0 0 3px #2d7eea29;transform:translateY(-1px)}.class-schedule-calendar-grid button:disabled{color:#aebac9;background:#fafbfd;cursor:default;opacity:.46}.class-schedule-calendar-grid button.regular{border-color:#4b8fe8;color:#fff;background:linear-gradient(145deg,var(--blue),#1760c3);box-shadow:0 5px 12px #2d7eea33}.class-schedule-calendar-grid button.extra{border-color:#32a87c;color:#075d43;background:linear-gradient(145deg,#c9f6e5,#99e5c8);box-shadow:0 5px 12px #219c7129}.class-schedule-calendar-grid button.excluded{border-color:#e1a493;color:#9b4535;background:repeating-linear-gradient(135deg,#fff3ee,#fff3ee 5px,#ffe1d7 5px 10px)}.class-schedule-calendar-grid button small{position:absolute;right:4px;bottom:3px;font-size:8px;font-weight:950;opacity:.9}.class-schedule-legend{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:11px;font-weight:800}.class-schedule-legend span{display:inline-flex;align-items:center;gap:6px}.class-schedule-legend i{width:10px;height:10px;border-radius:3px;background:var(--blue)}.class-schedule-legend i.extra{background:#78d8b4}.class-schedule-legend i.excluded{border:1px solid #e1a493;background:#ffe1d7}.class-schedule-calendar-help{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.class-schedule-overrides{display:grid;gap:12px;min-width:0;border:1px dashed #c5d9ef;border-radius:16px;padding:14px;background:#fbfdff}.class-schedule-overrides-heading>button{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:0;border-radius:10px;padding:0 10px;color:#6c5777;background:#f4ebf8;font-weight:850;cursor:pointer}.class-schedule-overrides-heading>button svg{width:15px;height:15px}.class-schedule-cancellations,.class-schedule-extra-list{display:grid;gap:8px;min-width:0}.class-schedule-cancellations>strong,.class-schedule-extra-list>strong{color:var(--navy);font-size:12px}.class-schedule-cancellations>div{display:flex;flex-wrap:wrap;gap:7px}.class-schedule-cancellations button{min-height:44px;border:1px solid #efc5b9;border-radius:999px;padding:0 12px;color:#914333;background:#fff3ee;font-size:11px;font-weight:850;cursor:pointer}.class-schedule-extra-list>div{display:grid;grid-template-columns:minmax(60px,auto) minmax(100px,1fr) auto minmax(100px,1fr) auto;gap:8px;align-items:center;min-width:0}.class-schedule-extra-list>div>span{color:#08704d;font-size:12px;font-weight:900}.class-schedule-extra-list>div>button{min-height:44px;border:0;border-radius:10px;padding:0 10px;color:#963b2e;background:#ffe9e3;font-weight:850;cursor:pointer}.class-schedule-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0;border:1px solid #cfe1f6;border-radius:16px;padding:14px;background:linear-gradient(135deg,#edf6ff,#fff8dc)}.class-schedule-summary>svg{width:28px;height:28px;color:var(--blue)}.class-schedule-summary strong{display:block;color:var(--navy);font-size:15px}.class-schedule-summary small{display:block;margin-top:5px;overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.5}.teacher-class-create-form .class-schedule-planner{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(356px,1.15fr);grid-template-areas:"basics calendar" "weekly calendar" "summary calendar" "overrides overrides";gap:8px 10px;align-items:start}.teacher-class-create-form .class-schedule-basics{grid-area:basics;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.teacher-class-create-form .class-schedule-basics>:first-child{grid-column:1 / -1}.teacher-class-create-form .class-schedule-basics label{gap:4px;font-size:11px}.teacher-class-create-form .class-schedule-weekly{grid-area:weekly;gap:6px;border-radius:13px;padding:9px}.teacher-class-create-form .class-schedule-weekly legend{font-size:12px}.teacher-class-create-form .class-schedule-slot{grid-template-columns:30px minmax(64px,.75fr) minmax(82px,1fr) 12px minmax(82px,1fr);gap:5px}.teacher-class-create-form .class-schedule-slot>span{width:28px;height:28px;border-radius:9px;font-size:12px}.teacher-class-create-form .class-schedule-slot input,.teacher-class-create-form .class-schedule-slot select,.teacher-class-create-form .class-schedule-basics input,.teacher-class-create-form .class-schedule-basics select{min-height:44px;padding-inline:8px}.teacher-class-create-form .class-schedule-date-control input{padding-right:34px}.teacher-class-create-form .class-schedule-calendar{grid-area:calendar;gap:6px;border-radius:15px;padding:10px;box-shadow:none}.teacher-class-create-form .class-schedule-calendar-heading .eyebrow{display:none}.teacher-class-create-form .class-schedule-calendar-heading h3{margin:0;font-size:17px}.teacher-class-create-form .class-schedule-calendar-grid{gap:4px}.teacher-class-create-form .class-schedule-weekday{padding:0 0 2px}.teacher-class-create-form .class-schedule-calendar-grid button,.teacher-class-create-form .class-schedule-calendar-placeholder{height:44px;min-height:44px;aspect-ratio:auto;border-radius:9px}.teacher-class-create-form .class-schedule-legend{gap:5px 10px}.teacher-class-create-form .class-schedule-calendar-help{font-size:11px;line-height:1.35}.teacher-class-create-form .class-schedule-overrides{grid-area:overrides}.teacher-class-create-form .class-schedule-summary{grid-area:summary;gap:8px;border-radius:13px;padding:9px 10px}.teacher-class-create-form .class-schedule-summary>svg{width:22px;height:22px}.teacher-class-create-form .class-schedule-summary strong{font-size:13px}.teacher-class-create-form .class-schedule-summary small{margin-top:2px;font-size:9px;line-height:1.35}@media(min-width:1381px){.app-body:has(.teacher-class-create-panel){min-height:calc(100dvh - 76px)}.app-body:has(.teacher-class-create-panel)>.app-sidebar{top:76px;height:calc(100dvh - 76px)}.teacher-class-create-form .teacher-schedule-fieldset>small{display:none}}@media(min-width:901px){.app-body:has(.teacher-live-picker),.app-body:has(.teacher-live-active){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teacher-live-picker)>.app-sidebar,.app-body:has(.teacher-live-active)>.app-sidebar{top:76px;height:calc(100dvh - 76px)}.app-main:has(.teacher-live-picker),.app-main:has(.teacher-live-active){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-main:has(.teacher-live-active){max-width:none;padding:16px clamp(16px,2vw,28px)}.teacher-live-picker,.teacher-live-active{height:100%}.teacher-live-picker .teacher-class-card-grid{grid-template-rows:repeat(2,max(248px,calc((100% - 20px)/2)));grid-auto-rows:max(248px,calc((100% - 20px)/2))}.app-body:has(.teacher-class-detail){min-height:calc(100dvh - 76px)}.app-body:has(.teacher-class-detail)>.app-sidebar{top:76px;height:calc(100dvh - 76px)}}@media(min-width:1381px)and (min-height:720px){.teacher-class-create-form{height:min(644px,calc(100dvh - 256px))}}.form-helper{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.form-helper.error{color:#963b2e}.native-session-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}.native-session-list.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.native-session-list.compact button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:70px;border:1px solid var(--line);border-radius:14px;padding:10px;color:inherit;background:#fff;text-align:left;cursor:pointer}.native-session-list.compact button.active{border-color:#2d7eea8c;background:#eef6ff;box-shadow:inset 0 0 0 2px #2d7eea1f}.native-session-list article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--blue-dark);background:#e8f1ff;font-weight:900}.native-session-list.compact button>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--blue-dark);background:var(--yellow);font-weight:900}.class-session-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:12px}.class-session-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;min-height:108px;border:1px solid #d8e5f4;border-radius:18px;padding:14px;background:radial-gradient(circle at 100% 0,rgba(45,126,234,.12),transparent 34%),#fff;box-shadow:0 10px 22px #0c37760f}.class-session-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:var(--blue-dark);background:var(--yellow);font-weight:950}.class-session-card strong{display:block;color:var(--navy);font-size:15px;line-height:1.35}.class-session-card small{display:block;margin-top:6px;color:var(--muted);font-size:12px}.class-session-card em{display:inline-flex;width:fit-content;margin-top:10px;border-radius:999px;padding:4px 9px;color:#08704d;background:#e1f8ee;font-size:12px;font-style:normal;font-weight:900}.native-live-console{display:grid;gap:16px}.teacher-live-active,.teacher-live-active .teacher-live-stack,.teacher-live-active .teacher-live-main{min-width:0;min-height:0}.teacher-live-active .teacher-live-stack,.teacher-live-active .teacher-live-main{height:100%}.teacher-live-active .teacher-live-stack,.teacher-live-active .teacher-live-main{grid-template-rows:minmax(0,1fr);gap:0}.teacher-live-active .native-live-console{--classroom-students-column: clamp(240px, 22vw, 300px);grid-template-rows:minmax(0,1fr);gap:0;height:100%;min-width:0;min-height:0;overflow:hidden}.teacher-classroom-workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--classroom-students-column);gap:12px;height:100%;min-width:0;min-height:0;overflow:hidden;padding:12px 14px 14px;background:#eef3f9}.teacher-classroom-playback-controls{position:absolute;right:auto;bottom:16px;left:50%;z-index:8;display:flex;align-items:center;justify-content:center;gap:8px;max-width:calc(100% - 32px);min-width:0;overflow-x:auto;border:1px solid rgba(133,161,200,.28);border-radius:999px;padding:6px;background:#ffffffe0;box-shadow:0 14px 34px #0d326633;opacity:0;pointer-events:none;transform:translate(-50%,10px);visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;scrollbar-width:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.teacher-classroom-playback-controls::-webkit-scrollbar{display:none}.teacher-ppt-control:hover>.teacher-classroom-playback-controls,.teacher-ppt-control:focus-within>.teacher-classroom-playback-controls{opacity:1;pointer-events:auto;transform:translate(-50%);visibility:visible}.teacher-classroom-stage:fullscreen .teacher-classroom-playback-controls{display:none}.teacher-classroom-playback-controls>span{flex:0 0 auto;border-radius:999px;padding:6px 10px;color:var(--blue-dark);background:#d9ebff;font-size:12px;font-weight:850;line-height:1.2;white-space:nowrap}.teacher-classroom-playback-controls .primary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:68px;min-height:36px;border-radius:12px;padding-inline:12px;font-size:13px}.teacher-classroom-playback-controls .ppt-fullscreen-button{min-width:92px}.teacher-classroom-playback-controls svg{width:16px;height:16px}.classroom-exit-confirm-modal>section{width:min(430px,100%)}.compact-live-summary .native-session-list.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.native-live-actions{display:flex;gap:8px}.native-live-editor{position:relative;overflow:hidden;border:1px solid #b9d4f3;border-radius:24px;background:#fff;box-shadow:0 20px 46px #235b9e26,0 0 0 4px #4b8be80b,inset 0 1px #fffffff5}.native-editor-bar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;min-height:62px;padding:10px 16px;color:#fff;border-bottom:1px solid rgba(31,102,185,.18);background:radial-gradient(circle at 12% 0,rgba(255,255,255,.22),transparent 26%),radial-gradient(circle at 88% 10%,rgba(192,157,255,.18),transparent 31%),linear-gradient(135deg,#39aee9,#438ee5 48%,#6971de);font-size:13px}.native-live-editor .native-editor-bar,.student-code-native .native-editor-bar,.teacher-code-presentation .native-editor-bar{background:radial-gradient(circle at 12% 0,rgba(255,255,255,.22),transparent 26%),radial-gradient(circle at 88% 10%,rgba(192,157,255,.18),transparent 31%),linear-gradient(135deg,#39aee9,#438ee5 48%,#6971de)}.native-editor-bar:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:linear-gradient(90deg,#55d4f2,#7ed7ba 38%,#ffd46b 66%,#bb91ed);opacity:.92;pointer-events:none}.native-editor-bar>small{border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:5px 10px;color:#fff;background:#1e40902e;font-weight:750;line-height:1.25}.editor-file-label{display:inline-flex;align-items:center;gap:9px;min-width:0;border:1px solid rgba(255,255,255,.32);border-radius:12px;padding:6px 12px 6px 7px;color:#fff;background:#19459633;box-shadow:inset 0 1px #fff3;font-family:Cascadia Code,JetBrains Mono,Fira Code,Source Code Pro,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;font-weight:800;letter-spacing:.015em}.editor-file-label i{display:grid;place-items:center;flex:0 0 auto;width:29px;height:29px;border-radius:9px;color:#152443;background:linear-gradient(145deg,#ffe27b,#ffab68);box-shadow:0 5px 14px #ffab6838,inset 0 1px #ffffffb8;font-size:9px;font-style:normal;font-weight:950;letter-spacing:-.02em}.editor-file-label i:after{content:"Py"}.editor-meta{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.editor-meta small,.save-state{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 9px;color:#fff;background:#1e40902e;font-size:12px;font-weight:750;line-height:1.2}.save-state.saved,.save-state.idle{color:#eafff6;border-color:#c2ffe76b;background:#0a714f33}.save-state.editing,.save-state.saving{color:#fff8d6;border-color:#ffefa475;background:#9364002e}.save-state.failed{color:#fff0ec;border-color:#ffcabe7a;background:#9f2d2033}.native-live-editor .teacher-code-row{--editor-height: 340px}.editor-workspace{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;background:#fff}.editor-workspace.quick-panel-open{grid-template-columns:minmax(190px,250px) minmax(0,1fr)}.editor-code-area{min-width:0}.editor-quick-panel{display:grid;align-content:start;gap:18px;min-width:0;max-height:440px;overflow:auto;border-right:1px solid #c9def5;padding:18px 14px;color:#23466f;background:#fff;scrollbar-color:#a7c5e6 transparent}.editor-quick-panel>div{display:grid;gap:5px}.editor-quick-panel strong{color:#123d70;font-size:16px;letter-spacing:.02em}.editor-quick-panel small,.editor-quick-panel>p{margin:0;color:#5f7692;font-size:12px;line-height:1.6}.editor-quick-panel section{display:grid;gap:8px}.editor-quick-panel h3{margin:0;color:#1978bd;font-size:12px;letter-spacing:.1em}.editor-quick-panel section>div{display:grid;gap:8px}.editor-quick-panel button{display:grid;gap:2px;min-height:44px;max-width:100%;overflow:hidden;border:1px solid #b7d3f1;border-radius:13px;padding:9px 11px;color:#24558c;background:linear-gradient(135deg,#fff,#f1f6ff);box-shadow:0 4px 12px #2762a812,inset 0 1px #fffffff5;font:800 12px/1.35 Cascadia Code,JetBrains Mono,Fira Code,Source Code Pro,ui-monospace,SFMono-Regular,Consolas,monospace;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}.editor-quick-panel button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-quick-panel button.position-limited>small{overflow:hidden;color:#6182a7;font:700 10px/1.35 ui-sans-serif,system-ui,sans-serif;text-overflow:ellipsis;white-space:nowrap}.editor-quick-panel button:hover:not(:disabled),.editor-quick-panel button:focus-visible:not(:disabled){transform:translateY(-1px);border-color:#58a8e3;background:linear-gradient(135deg,#f5fbff,#edf0ff);box-shadow:0 8px 18px #2762a821,0 0 0 3px #4297dd1a;outline:none}.editor-quick-panel button:disabled{color:#7d91a8;border-color:#d8e2ed;background:#f4f7fa;box-shadow:none;opacity:.62;cursor:not-allowed}.editor-quick-panel button:disabled>small{color:#91a1b3}.editor-quick-panel .editor-quick-status{border:1px solid #d8e7f6;border-radius:12px;padding:9px 10px;color:#506f91;background:#f7fbff}.native-editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #c9def5;padding:13px 14px;background:radial-gradient(circle at 85% 100%,rgba(150,111,255,.07),transparent 32%),linear-gradient(180deg,#f9fbff,#edf5ff)}.editor-utility-actions,.editor-primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.editor-utility-actions button{display:inline-flex;align-items:center;gap:7px}.editor-utility-actions svg{width:18px;height:18px}.native-editor-actions button:not(.primary-action){min-height:44px;border:1px solid #b8cce5;border-radius:14px;padding:0 15px;color:#31577f;background:#ffffffd1;box-shadow:0 4px 10px #2b578b12,inset 0 1px #fffffff5;font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.native-editor-actions button:not(.primary-action):hover:not(:disabled),.native-editor-actions button:not(.primary-action):focus-visible{transform:translateY(-1px);border-color:#69a9dc;background:#fff;outline:none}.native-editor-actions .primary-action{min-height:44px;border:0;border-radius:14px;padding-inline:18px;color:#132544;background:linear-gradient(135deg,#ffe071,#ffac62);box-shadow:0 8px 18px #ffab5b38,inset 0 1px #ffffffb8}.native-editor-actions .primary-action:hover:not(:disabled),.native-editor-actions .primary-action:focus-visible{transform:translateY(-1px);background:linear-gradient(135deg,#ffe991,#ffbd78);box-shadow:0 10px 22px #ffab5b4d,0 0 0 3px #ffd6691f;outline:none}.native-editor-actions button:disabled{opacity:.52;cursor:not-allowed}.native-run-result{border-radius:15px;padding:14px 16px;background:#effaf6;border:1px solid #b7e8d7}.native-run-result.error{background:#fff1ee;border-color:#ffc9bc}.native-run-result strong{display:block;color:var(--navy)}.native-run-result p{margin:6px 0;color:var(--ink);font-size:13px;line-height:1.55}.native-run-result small{color:var(--muted);font-size:12px}.teacher-classroom-stage{position:relative;width:100%;height:clamp(480px,min(62vw,calc(100dvh - 250px)),680px);min-height:0}.teacher-live-active .teacher-classroom-stage{height:100%}.teacher-classroom-stage>.teacher-ppt-control,.teacher-classroom-stage>.native-live-editor{width:100%;height:100%;min-height:0}.teacher-classroom-stage>.teacher-ppt-control[hidden]{display:none}.teacher-classroom-stage>.native-live-editor{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.teacher-classroom-stage>.native-live-editor:has(>.python-lab-workspace){grid-template-rows:minmax(0,1fr)}.teacher-classroom-stage>.native-live-editor .editor-workspace{height:100%;min-height:0;overflow:hidden}.teacher-classroom-stage>.native-live-editor .editor-code-area{height:100%;min-height:0}.teacher-classroom-stage>.native-live-editor .teacher-code-row{--editor-height: 100%;height:100%;min-height:0}.teacher-classroom-stage>.native-live-editor .editor-quick-panel{height:100%;max-height:none}.teacher-classroom-stage:fullscreen{width:100vw;height:100vh;max-height:none;background:#07111f}.teacher-classroom-stage:fullscreen>.teacher-ppt-control{border:0;border-radius:0;background:#07111f;box-shadow:none}.teacher-classroom-stage:fullscreen>.teacher-ppt-control.has-pptx{grid-template-rows:minmax(0,1fr);gap:0;padding:0}.teacher-classroom-stage:fullscreen>.teacher-ppt-control>small,.teacher-classroom-stage:fullscreen>.teacher-ppt-control>.teacher-ppt-actions{display:none}.teacher-classroom-stage:fullscreen>.native-live-editor{border:0;border-radius:0;box-shadow:none}.teacher-ppt-control{position:relative;display:grid;place-items:center;min-height:330px;border:1px solid #d9e5f3;border-radius:18px;padding:30px;color:var(--navy);background:radial-gradient(circle at 50% 20%,#fff 0,#edf7ff 58%,#e2effd);text-align:center}.teacher-ppt-control>strong{max-width:720px;font-size:clamp(28px,4vw,48px)}.teacher-ppt-control>p{max-width:680px;margin:0;color:var(--ink);font-size:17px;line-height:1.7}.teacher-ppt-control>small{border-radius:999px;padding:7px 12px;color:var(--blue-dark);background:#d9ebff;font-weight:800}.teacher-ppt-control.has-pptx{grid-template-rows:minmax(0,1fr);gap:0;overflow:hidden;padding:14px}.teacher-ppt-stage{position:relative;display:grid;place-items:center;align-self:center;width:100%;max-width:100%;height:auto;max-height:100%;min-height:0;aspect-ratio:16 / 9;overflow:hidden;border:1px solid #cad8ea;border-radius:14px;background:#101828;box-shadow:0 18px 42px #0f264c2e}.teacher-ppt-slide-viewport{position:relative;width:100%;height:100%;overflow:hidden;background:#101828}.teacher-ppt-stage .pptx-slide-frame{width:100%;max-width:none;height:100%;border:0;border-radius:0;box-shadow:none}.teacher-classroom-stage:fullscreen .teacher-ppt-stage{width:100%;max-width:none;height:100%;max-height:none;aspect-ratio:auto;border:0;border-radius:0;background:#07111f;box-shadow:none}.teacher-classroom-stage:fullscreen .teacher-ppt-slide-viewport{width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw)}.fullscreen-ppt-nav{position:absolute;top:0;bottom:0;z-index:2;width:50%;border:0;padding:0;background:transparent;cursor:pointer;transition:background .16s ease}.fullscreen-ppt-nav.previous{left:0}.fullscreen-ppt-nav.next{right:0}.fullscreen-ppt-nav.previous:hover:not(:disabled),.fullscreen-ppt-nav.previous:focus-visible{background:linear-gradient(90deg,rgba(25,88,176,.14),transparent 24%);outline:none}.fullscreen-ppt-nav.next:hover:not(:disabled),.fullscreen-ppt-nav.next:focus-visible{background:linear-gradient(270deg,rgba(25,88,176,.14),transparent 24%);outline:none}.fullscreen-ppt-nav:disabled{opacity:0;cursor:default}.ppt-annotation-canvas{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;touch-action:none}.ppt-annotation-canvas[data-tool=pen]{pointer-events:auto;cursor:crosshair}.ppt-annotation-canvas[data-tool=eraser]{pointer-events:auto;cursor:cell}.ppt-annotation-mode{position:absolute;top:18px;left:50%;z-index:5;transform:translate(-50%);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 12px;color:#fff;background:#041227a8;box-shadow:0 8px 22px #0003;font-size:12px;font-weight:850;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ppt-annotation-mode.pen{background:#be2435d1}.ppt-annotation-mode.eraser{background:#264370d6}.ppt-tool-trigger{position:absolute;top:18px;right:20px;z-index:7;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.38);border-radius:50%;padding:0;color:#fff;background:#041227a8;box-shadow:0 9px 24px #0000003d;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ppt-tool-trigger:hover,.ppt-tool-trigger:focus-visible{background:#1f70d4e6;outline:3px solid rgba(255,255,255,.26)}.ppt-tool-trigger svg{width:21px;height:21px}.ppt-tool-menu{position:absolute;z-index:8;display:grid;gap:7px;width:198px;border:1px solid rgba(255,255,255,.34);border-radius:17px;padding:12px;color:#fff;background:#071831eb;box-shadow:0 20px 50px #00000061;text-align:left;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ppt-tool-menu strong{padding:3px 5px 5px;color:#fff;font-size:14px}.ppt-tool-menu button{display:flex;align-items:center;gap:9px;min-height:44px;border:1px solid rgba(166,201,242,.2);border-radius:12px;padding:8px 10px;color:#eaf3ff;background:#ffffff12;font-weight:800;cursor:pointer}.ppt-tool-menu button:hover:not(:disabled),.ppt-tool-menu button:focus-visible,.ppt-tool-menu button.active{border-color:#6ac2ffad;background:#3989e047;outline:none}.ppt-tool-menu button:disabled{opacity:.42;cursor:not-allowed}.ppt-tool-menu svg{width:18px;height:18px}.pptx-slide-frame{position:relative;width:min(100%,960px);aspect-ratio:16 / 9;overflow:hidden;border:1px solid #cad8ea;border-radius:14px;background:#101828;box-shadow:0 18px 42px #0f264c2e;text-align:left}.pptx-slide-picture,.pptx-slide-image{display:block;width:100%;height:100%}.pptx-slide-image{object-fit:contain;background:#101828}.pptx-slide-renderer,.pptx-slide-renderer>.pptx-preview-wrapper{width:100%;height:100%}.pptx-slide-renderer>.pptx-preview-wrapper{margin:0!important;overflow:hidden!important}.pptx-slide-status{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;margin:0;padding:24px;color:#dce7f8;background:#101828;font-size:15px;font-weight:800;text-align:center}.pptx-slide-status.error{color:#fff;background:#6f1d2a}.pptx-slide-status a{color:#fff2a8}.teacher-ppt-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.teacher-ppt-actions button{min-width:74px;min-height:44px}.teacher-ppt-actions .ppt-fullscreen-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.teacher-ppt-actions .ppt-fullscreen-button svg{width:18px;height:18px}.teacher-classroom-view-controls{position:absolute;right:18px;bottom:18px;z-index:6;display:flex;gap:7px;padding:5px;border:1px solid rgba(104,143,194,.34);border-radius:999px;background:#fffffff0;box-shadow:0 10px 26px #0d326629;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.teacher-classroom-view-controls.editor{bottom:74px;border-color:#7ba9dd57;background:#ffffffeb;box-shadow:0 14px 32px #1b4d8b33}.teacher-classroom-stage:fullscreen .teacher-classroom-view-controls{right:22px;bottom:22px;z-index:7;background:#ffffffe0;box-shadow:0 14px 36px #00000047}.teacher-classroom-stage:fullscreen .teacher-classroom-view-controls.editor{bottom:74px}.teacher-classroom-view-controls button{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid #c3d6ed;border-radius:50%;padding:0;color:var(--blue-dark);background:#f7faff;box-shadow:0 3px 9px #0f41851f;cursor:pointer;transition:transform .16s ease,color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.teacher-classroom-view-controls button:hover:not(:disabled),.teacher-classroom-view-controls button:focus-visible{transform:translateY(-2px);border-color:#2d7eeaad;box-shadow:0 8px 20px #0f41853d,0 0 0 4px #2d7eea1f;outline:none}.teacher-classroom-view-controls button.active{color:#fff;border-color:#1767d7;background:linear-gradient(145deg,#3d91eb,#1557d5);box-shadow:0 8px 22px #1557d561,0 0 0 4px #4391eb2e}.teacher-classroom-view-controls button.active.practice{border-color:#068562;background:linear-gradient(145deg,#30c69a,#078360);box-shadow:0 8px 22px #07836057,0 0 0 4px #30c69a2e}.teacher-live-active .native-live-console,.teacher-live-active .teacher-classroom-workspace{background:#eef3f9}.teacher-live-active .teacher-classroom-stage>.native-live-editor,.teacher-live-active .classroom-students-panel{border-color:#cfdeed;border-radius:18px;background:#fff;box-shadow:0 8px 24px #18437e14}.teacher-classroom-stage .python-lab-workspace .lesson-work{border-color:#007aff38;border-radius:18px;background:#fff;box-shadow:0 10px 30px #1c273a14}.teacher-classroom-stage .python-lab-workspace .lesson-work:before{height:4px;background:#007aff;opacity:.88}.teacher-classroom-stage .python-lab-workspace .editor-toolbar{color:#183153;border-color:#d7e3f0;background:#f7fafef5;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%)}.teacher-classroom-stage .python-lab-workspace .program-select select,.teacher-classroom-stage .python-lab-workspace .editor-toolbar button{border-color:#c5d6e9;border-radius:8px;box-shadow:none}.teacher-classroom-stage .python-lab-workspace .editor-toolbar .run,.teacher-classroom-stage .python-lab-workspace .editor-toolbar .keyboard-toggle.active,.teacher-classroom-stage .python-lab-workspace .editor-toolbar .materials-toggle.active{color:#fff;border-color:#007aff;background:#007aff}.teacher-classroom-stage .python-lab-workspace .python-lab-host-actions{border-color:#3c3c431f;background:#f7f7f9f5}.teacher-classroom-view-controls button:disabled{opacity:.45;cursor:not-allowed}.teacher-classroom-view-controls svg{width:21px;height:21px;stroke-width:2.25}.teacher-classroom-stage>.native-live-editor.python-live-editor{grid-template-rows:auto minmax(0,1fr)}.python-classroom-toolbar{display:flex;justify-content:flex-end;padding:8px 12px;border-bottom:1px solid #d7e3f0;background:#f7faff}.teacher-classroom-stage .python-classroom-toolbar .teacher-classroom-view-controls{position:static;flex-wrap:wrap;border:0;padding:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.python-classroom-toolbar .teacher-classroom-view-controls button{display:inline-flex;gap:6px;width:auto;height:auto;min-height:40px;padding:7px 12px;border-radius:10px;font-size:13px}.python-live-editor .python-lab-workspace .workspace{overflow:auto}.python-live-editor .python-lab-workspace .lesson-work{display:flex;flex-direction:column;min-height:480px;overflow:visible}.python-live-editor .python-lab-workspace .lesson-work>*{flex-shrink:0}.python-live-editor .python-lab-workspace .lesson-work>.editor-workspace{flex:1 0 160px;height:auto;min-height:160px}.python-live-editor .python-lab-workspace .editor-toolbar-compact{display:flex;flex-wrap:wrap;height:auto;min-height:56px;overflow:visible}.python-live-editor .python-lab-workspace .editor-toolbar-compact button{width:auto;flex:0 0 auto}.python-live-editor .python-lab-workspace .editor-toolbar-compact .editor-icon-action{width:40px;flex-basis:40px}.python-live-editor .python-lab-workspace .program-select{flex:1 1 240px;min-width:0;grid-template-columns:auto minmax(0,1fr)}.python-live-editor .python-lab-workspace .program-select>span{display:inline-flex}.python-live-editor .python-lab-workspace .program-select select{grid-column:2;min-width:0;width:100%}.python-live-editor .python-lab-workspace .python-lab-host-actions{padding:8px 14px}.teacher-python-task-controls{padding:10px 14px;border-bottom:1px solid #d7e3f0;background:#f7faff}.teacher-python-task-controls summary{cursor:pointer;color:#244c7c;font-weight:700}.teacher-python-task-controls fieldset{display:flex;flex-wrap:wrap;align-items:end;gap:10px;border:0;padding:8px 0 0;margin:0;min-width:0}.teacher-python-task-controls label{flex:1 1 180px;display:grid;gap:4px;font-size:12px}.teacher-python-task-controls input,.teacher-python-task-controls textarea{width:100%;min-width:0;border:1px solid #c5d6e9;border-radius:8px;padding:8px;color:#183153;background:#fff}.teacher-python-task-controls fieldset>details{flex:1 0 100%}.teacher-python-task-controls p{margin:6px 0;font-size:12px}.teacher-python-task-controls textarea{margin-top:8px;resize:vertical;font:13px/1.6 Consolas,monospace}.teacher-python-task-controls button{min-height:36px;border:1px solid #c5d6e9;border-radius:8px;padding:6px 12px;background:#fff;color:#184d89;cursor:pointer}.teacher-python-task-controls button:disabled{opacity:.5;cursor:default}.teacher-python-task-controls>summary{display:flex;align-items:center;gap:10px;min-width:0;list-style:none}.teacher-python-task-controls>summary:before{content:"›";font-size:20px;line-height:1;transition:transform .15s ease}.teacher-python-task-controls[open]>summary:before{transform:rotate(90deg)}.teacher-python-task-controls>summary::-webkit-details-marker{display:none}.teacher-python-task-controls>summary>span:first-of-type{flex-shrink:0}.teacher-task-summary{overflow:hidden;color:#66758a;font-size:12px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.role-teacher .teacher-content-window:has(.python-classroom-console){border-color:#dce3eb;border-radius:12px;box-shadow:0 4px 18px #182d4b0a}.role-teacher .teacher-content-window>.teacher-live-active:has(.python-classroom-console){padding:0}.role-teacher .teacher-live-active .native-live-console.python-classroom-console{padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}.teacher-live-active .python-classroom-console .teacher-classroom-workspace{gap:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}.python-classroom-console .teacher-classroom-stage>.python-live-editor,.python-classroom-console .teacher-classroom-stage .python-lab-workspace,.python-classroom-console .teacher-classroom-stage .python-lab-workspace .lesson-work{border:0;border-radius:0;background:#fff;box-shadow:none}.python-classroom-console .teacher-classroom-stage .python-lab-workspace{min-height:0;height:100%}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .workspace{height:100%;min-height:0;padding:0;overflow:auto}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .lesson-work{height:100%;min-height:480px;overflow:visible}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .lesson-work:before{display:none}.python-classroom-console .python-classroom-toolbar{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;min-height:56px;padding:8px 16px;border-color:#e6eaf0;background:#fff}.python-classroom-identity{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.python-classroom-identity strong{color:#24344a;font-size:14px}.python-classroom-identity>span{color:#708095;font-size:11px}.python-classroom-console .python-classroom-toolbar button{box-shadow:none;min-height:36px;border-radius:7px}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .editor-toolbar{padding:10px 16px;gap:8px;border-color:#e6eaf0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.python-classroom-console .python-live-editor .program-select>small{display:none}.python-classroom-console .teacher-python-task-controls{padding:12px 16px;border-color:#e6eaf0;background:#f8fafc}.python-classroom-console .teacher-python-task-controls fieldset{padding-top:12px}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .lesson-work>.editor-workspace{flex:1 0 240px;min-height:240px}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .checks{padding:8px 16px;border-color:#e6eaf0;background:#fafbfc}.python-classroom-console .python-lab-workspace .checks.collapsed header small,.python-classroom-console .python-lab-workspace .checks.collapsed .check-progress{display:none}.python-classroom-console .teacher-classroom-stage .python-lab-workspace .python-lab-host-actions{min-height:46px;padding:6px 16px;border-color:#e6eaf0;background:#fff}.python-classroom-console .python-lab-host-actions button{min-height:32px;box-shadow:none}.teacher-live-active .python-classroom-console .classroom-students-panel{border:0;border-left:1px solid #e6eaf0;border-radius:0;background:#fff;box-shadow:none}.python-classroom-console .classroom-students-heading{min-height:56px;border-color:#e6eaf0;background:#fff}.python-classroom-console .classroom-students-list{gap:0;padding:8px 12px}.python-classroom-console .classroom-student-item{border:0;border-bottom:1px solid #eef1f5;border-radius:0;background:transparent;box-shadow:none}.role-teacher .python-classroom-console .classroom-students-panel :is(.page-state,.empty-state){margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}@media(max-width:520px){.python-classroom-console .python-classroom-toolbar{padding:10px 12px}.python-classroom-console .python-classroom-toolbar .teacher-classroom-view-controls{width:100%;justify-content:flex-start}.teacher-live-active .python-classroom-console .classroom-students-panel{border-left:0;border-top:1px solid #e6eaf0}}.student-python-task{min-width:0;min-height:0;height:100%}.student-python-task .python-lab-workspace{min-height:0;height:100%}.python-student-focus .workspace{padding:12px;overflow:auto}.python-student-focus .lesson-work{display:flex;flex-direction:column;height:100%;min-height:440px}.python-student-focus .lesson-work>*{flex-shrink:0}.python-student-focus .lesson-work>.editor-workspace{flex:1 0 200px;min-height:200px;height:auto}.python-student-focus .editor-toolbar{display:flex;flex-wrap:wrap;min-height:56px;overflow:visible}.python-student-focus .editor-toolbar button{width:auto}.python-student-focus .runtime-status{flex:1 1 100px}.python-student-focus .runtime-status small{display:none}.python-task-goal{padding:14px 18px;background:#f5f9ff}.python-task-goal h2{margin:0;color:#173e6e;font-size:18px}.python-task-goal p{margin:5px 0 0;font-size:15px;color:#31577f}.python-provided-code{padding:8px 16px;border-bottom:1px solid #d7e3f0;background:#f6f9fc}.python-provided-code strong{display:block;margin-bottom:4px;font-size:12px;color:#526e8d}.python-provided-code pre{max-height:120px;overflow:auto;margin:0;font-size:14px}.python-task-waiting{display:grid;place-content:center;min-height:320px;color:#526e8d;background:#fff;font-size:20px}.courseware-visual-editor{display:grid;gap:16px;min-width:0}.courseware-visual-editor>.section-heading,.courseware-visual-actions,.courseware-advanced-json,.courseware-visual-editor>.validation-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.courseware-visual-actions{display:flex;flex-wrap:wrap;gap:10px}.courseware-workbench-native{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:16px;align-items:start;min-width:0}.courseware-timeline-native,.courseware-toolbox-native{display:grid;gap:14px;min-width:0}.courseware-timeline-native>article,.courseware-toolbox-native>section{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.courseware-timeline-native>article.active{border-color:#8fc5ff;box-shadow:0 0 0 3px #3d91eb1a}.courseware-section-heading{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;border:0;padding:16px;color:var(--navy);background:#f7fbff;text-align:left;cursor:pointer}.courseware-section-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:var(--blue);font-weight:900}.courseware-section-heading strong,.courseware-section-heading small{display:block}.courseware-section-heading small{margin-top:3px;color:var(--muted)}.courseware-block-list-native{display:grid;gap:9px;padding:13px}.courseware-block-list-native>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;border:1px solid #d9e5f3;border-radius:14px;padding:8px;background:#fff}.courseware-block-list-native>div.selected{border-color:var(--blue);background:#f2f8ff}.courseware-block-list-native>div.disabled{opacity:.58}.courseware-block-list-native>div>button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 9px;align-items:center;min-width:0;border:0;padding:7px;color:var(--navy);background:transparent;text-align:left;cursor:pointer}.courseware-block-list-native>div>button span{grid-row:1 / 3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--blue-dark);background:#e3f1ff;font-size:12px;font-weight:900}.courseware-block-list-native>div>button small{color:var(--muted)}.courseware-block-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.courseware-block-actions button{min-width:36px;min-height:36px;border:1px solid #d9e5f3;border-radius:9px;color:var(--ink);background:#fff;cursor:pointer}.courseware-toolbox-native{position:sticky;top:92px}.courseware-toolbox-native>section{padding:17px}.courseware-toolbox-native h3{margin:4px 0 6px;color:var(--navy)}.courseware-toolbox-native p{color:var(--muted);line-height:1.55}.courseware-atom-group{display:grid;gap:7px;margin-top:16px}.courseware-atom-group>strong{color:var(--navy);font-size:13px}.courseware-atom-group>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;border:1px solid #d9e5f3;border-radius:12px;padding:10px 12px;color:var(--navy);background:#fff;text-align:left;cursor:pointer}.courseware-atom-group>button small{color:var(--muted);font-size:12px}.courseware-atom-group>button b{grid-column:2;grid-row:1 / 3;font-size:20px}.courseware-inspector-native{display:grid;gap:13px}.courseware-inspector-native label{display:grid;gap:6px;color:var(--ink);font-size:13px;font-weight:800}.courseware-inspector-native textarea{min-height:92px}.courseware-advanced-json summary{color:var(--navy);font-weight:900;cursor:pointer}.courseware-advanced-json textarea{width:100%;min-height:360px;margin-top:12px;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.homework-publisher-native{grid-column:1 / -1;display:grid;gap:16px;padding:20px}.homework-publisher-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.homework-publisher-toolbar label{display:grid;gap:6px;color:var(--ink);font-weight:800}.homework-publish-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.homework-publish-grid article{display:grid;align-content:start;gap:8px;border:1px solid var(--line);border-radius:15px;padding:15px;background:#f9fcff}.homework-publish-grid h3,.published-homework-native h3{margin:0;color:var(--navy)}.homework-publish-grid p{margin:0;color:var(--muted)}.homework-publish-grid button{margin-top:6px}.published-homework-native{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:16px}.published-homework-native>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.published-homework-native strong,.published-homework-native small{display:block}.published-homework-native small{margin-top:4px;color:var(--muted)}.student-independent-workspace{overflow:hidden}.student-independent-workspace>.section-heading{padding:22px 24px 0}.student-independent-workspace>.student-practice-native{margin:18px 22px 22px}.native-monitor-panel{display:grid;gap:12px}.native-monitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.native-monitor-grid article{display:grid;gap:5px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.native-monitor-grid strong{color:var(--navy);font-size:14px}.native-monitor-grid small,.native-monitor-grid em{color:var(--muted);font-size:12px;font-style:normal}.native-monitor-grid span{width:fit-content;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}.native-monitor-grid span.present{color:#08704d;background:#dff8ee}.native-monitor-grid span.absent{color:#963b2e;background:#ffe4dc}.native-monitor-grid p{margin:4px 0 0;color:#963b2e;font-size:12px}.classroom-students-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border:1px solid #cfdeed;border-radius:18px;background:#fff;box-shadow:0 10px 26px #18437e14}.classroom-students-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;border-bottom:1px solid #dce7f2;padding:11px 12px;background:#f5f9fe}.classroom-students-heading .eyebrow{display:none}.classroom-students-heading h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px;margin:0;color:var(--navy);font-size:17px;line-height:1.25}.classroom-students-inline-count{color:#526984;font-size:12px;font-weight:850;white-space:nowrap}.teacher-live-sync-state{margin:3px 0 0;overflow:hidden;color:#60738c;font-size:11px;font-weight:750;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.classroom-students-actions{display:grid;justify-items:end}.classroom-students-actions .primary-action{min-width:104px;min-height:40px;border-radius:8px;padding-inline:15px;font-size:13px;box-shadow:0 4px 10px #2764e72e}.classroom-students-list{display:grid;align-content:start;gap:7px;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:9px;scrollbar-gutter:stable;scrollbar-width:thin}.classroom-students-list:focus-visible{border-radius:10px;outline:3px solid rgba(45,126,234,.38);outline-offset:-4px}.classroom-student-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:56px;border:1px solid #dce6f1;border-radius:10px;padding:7px 9px;background:#fff;transition:border-color .16s ease,background .16s ease}.classroom-student-item:hover{border-color:#b7cde6;background:#f8fbff}.classroom-student-info{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-width:0}.classroom-student-info strong{max-width:100%;overflow:hidden;color:var(--navy);font-size:13px;line-height:1.25;text-align:left;text-overflow:ellipsis;white-space:nowrap}.classroom-student-avatar{display:grid;place-items:center;width:36px;height:36px;overflow:hidden;border:1px solid #bdd3ec;border-radius:9px;color:#24558c;background:#eaf3ff;font-size:15px;font-weight:950}.classroom-student-avatar img{width:100%;height:100%;object-fit:cover}.classroom-student-presence{display:inline-flex;align-items:center;gap:5px;min-width:40px;color:#6a7789;font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.classroom-student-presence:before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:currentColor}.classroom-student-presence.online{color:#08704d}.classroom-student-presence.offline{color:#b14435}.classroom-student-presence.online:before{box-shadow:0 0 0 3px #08704d21}.classroom-student-presence.offline:before{box-shadow:0 0 0 3px #b144351f}.classroom-students-panel>.page-state,.classroom-students-panel>.empty-state{min-height:0;margin:9px;overflow-y:auto;padding:16px}.teacher-course-native{display:grid;gap:18px;min-width:0}.teacher-course-tabs{display:flex;flex-wrap:wrap;gap:10px}.teacher-course-tabs button{min-height:44px;border:1px solid var(--line);border-radius:999px;padding:0 16px;color:var(--muted);background:#fff;font-weight:900;cursor:pointer}.teacher-course-tabs button.active{color:var(--blue-dark);border-color:#2d7eea80;background:#eaf3ff}.teacher-course-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start;min-width:0}.teacher-course-list{position:sticky;top:92px;display:grid;gap:14px;min-width:0}.teacher-lesson-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;border-top:1px solid var(--line);padding-top:14px}.teacher-lesson-buttons button{display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:8px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.teacher-lesson-buttons button.active{border-color:#2d7eea80;background:#eef6ff}.teacher-lesson-buttons span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--blue-dark);background:var(--yellow);font-weight:900}.courseware-json-editor,.teacher-exercise-native,.exercise-editor-native,.exercise-list-native{display:grid;gap:14px}.courseware-json-editor>textarea,.exercise-editor-native textarea,.exercise-editor-native input{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--ink);background:#fff;font:inherit}.courseware-json-editor>textarea,.exercise-editor-native textarea.code-field{min-height:420px;color:#dce7f8;background:#0d172b;border-color:#223653;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.65;tab-size:2}.exercise-editor-native label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900}.exercise-editor-native textarea{min-height:92px;resize:vertical}.teacher-exercise-native{grid-template-columns:minmax(250px,320px) minmax(0,1fr)}.app-layout:has(.teacher-prep-center),html:has(.teacher-prep-center),body:has(.teacher-prep-center){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.teacher-prep-center){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teacher-prep-center)>.app-sidebar{top:76px;height:calc(100dvh - 76px)}.app-main:has(.teacher-prep-center){height:calc(100dvh - 76px);min-height:0;max-width:none;overflow:hidden;padding:18px clamp(18px,2.4vw,34px)}.teacher-prep-center{display:grid;gap:14px;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.teacher-prep-overview{grid-template-rows:minmax(0,1fr)}.teacher-prep-templates,.teacher-prep-exercises{grid-template-rows:auto minmax(0,1fr)}.teacher-prep-workspace{grid-template-rows:auto auto minmax(0,1fr)}.teacher-prep-scroll-region{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.teacher-prep-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;border-bottom:1px solid var(--line);padding:0 0 13px}.teacher-prep-toolbar:has(>.icon-button:first-child){grid-template-columns:auto minmax(0,1fr) auto}.teacher-prep-toolbar>div{min-width:0}.teacher-prep-toolbar .eyebrow{margin-bottom:3px;font-size:10px}.teacher-prep-toolbar h1{margin:0;overflow:hidden;color:var(--navy);font-size:24px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.teacher-prep-toolbar p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.teacher-prep-toolbar>button:not(.icon-button),.teacher-prep-toolbar-actions>button,.teacher-prep-presentation-upload>button,.teacher-prep-exercise-editor .native-editor-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #c8d9ee;border-radius:10px;padding:0 13px;color:var(--blue-dark);background:#fff;font-weight:850}.teacher-prep-toolbar button svg,.teacher-prep-presentation-upload button svg,.teacher-prep-exercise-editor .native-editor-actions button svg{flex:0 0 auto;width:17px;height:17px}.teacher-prep-toolbar .primary-action,.teacher-prep-toolbar-actions .primary-action{color:#fff;border-color:var(--blue);background:var(--blue)}.teacher-prep-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.teacher-prep-toolbar-actions label{display:grid;grid-template-columns:auto minmax(170px,260px);align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:850}.teacher-prep-toolbar-actions select{min-height:44px}.teacher-prep-overview-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.8fr);gap:14px;min-width:0;min-height:0}.teacher-prep-course-panel,.teacher-prep-lesson-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;padding:0}.teacher-prep-course-panel>.section-heading,.teacher-prep-lesson-panel>.section-heading,.teacher-prep-exercise-list>.section-heading,.teacher-prep-exercise-editor>.section-heading{align-items:center;margin:0;border-bottom:1px solid var(--line);padding:14px 16px}.teacher-prep-course-panel .section-heading h2,.teacher-prep-lesson-panel .section-heading h2,.teacher-prep-exercise-body .section-heading h2{font-size:18px}.teacher-prep-course-panel .section-heading p,.teacher-prep-lesson-panel .section-heading p{max-width:620px;margin-top:4px;font-size:11px;text-align:left}.teacher-prep-course-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.teacher-prep-course-heading-actions .primary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;border-radius:10px;padding:0 12px;color:#fff;background:var(--blue);font-weight:850}.teacher-prep-course-heading-actions .primary-action svg{width:17px;height:17px}.teacher-prep-panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px}.teacher-prep-panel-heading>div:first-child{min-width:0}.teacher-prep-panel-heading h2{font-size:18px;font-weight:900;line-height:1.25}.teacher-prep-panel-heading p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-prep-panel-heading .teacher-prep-course-heading-actions{flex-wrap:nowrap;min-width:0}.teacher-prep-course-list{display:grid;align-content:start;gap:7px;padding:10px}.teacher-prep-course-item{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;min-width:0;min-height:62px;border:1px solid transparent;border-radius:10px;color:var(--ink);background:#f7faff}.teacher-prep-course-item:hover{border-color:#bed4ee;background:#f0f6ff}.teacher-prep-course-item.active{color:var(--navy);border-color:#9fc4ee;background:#eaf3ff;box-shadow:inset 3px 0 0 var(--blue)}.teacher-prep-course-select{display:grid;gap:4px;min-width:0;min-height:60px;border:0;padding:10px 6px 10px 12px;color:inherit;background:transparent;text-align:left}.teacher-prep-course-delete{width:44px;height:44px;color:#a13e3e;background:transparent}.teacher-prep-course-delete:hover:not(:disabled),.teacher-prep-course-delete:focus-visible{color:#8d2929;background:#ffe8e8}.teacher-prep-course-delete svg{width:16px;height:16px}.teacher-prep-course-list strong,.teacher-prep-course-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-prep-course-list strong{font-size:14px}.teacher-prep-course-list small{color:var(--muted);font-size:11px}.teacher-prep-panel-actions{display:flex;align-items:center;gap:6px}.teacher-prep-lesson-list{display:grid;align-content:start;gap:8px;padding:10px 12px 12px}.teacher-prep-lesson-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;border:1px solid #dbe6f3;border-radius:12px;padding:8px 9px;background:#fff}.teacher-prep-lesson-position{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--blue-dark);background:#e7f2ff;font-size:12px;font-weight:900}.teacher-prep-lesson-summary{display:grid;gap:3px;min-width:0;padding:4px 0;color:var(--ink);text-align:left}.teacher-prep-lesson-summary strong,.teacher-prep-lesson-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-prep-lesson-summary strong{color:var(--navy);font-size:14px}.teacher-prep-lesson-summary small{color:var(--muted);font-size:11px}.teacher-prep-lesson-actions{display:flex;align-items:center;gap:2px}.teacher-prep-lesson-actions .icon-button{width:38px;height:38px}.teacher-prep-template-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-content:start;gap:12px;padding:1px 6px 4px 1px}.teacher-prep-template-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0;padding:18px}.teacher-prep-template-item h2{margin:9px 0 5px;color:var(--navy);font-size:18px}.teacher-prep-template-item p{margin:0 0 8px;color:var(--muted);line-height:1.55}.teacher-prep-template-item small{color:var(--muted)}.teacher-prep-empty{display:grid;place-content:center;justify-items:center;min-height:0;padding:28px;text-align:center}.teacher-prep-empty>svg{width:42px;height:42px;color:var(--blue)}.teacher-prep-empty h2{margin:12px 0 6px;color:var(--navy)}.teacher-prep-empty p{margin-bottom:16px;color:var(--muted)}.teacher-prep-empty>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.teacher-prep-empty button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #c8d9ee;border-radius:10px;padding:0 14px;color:var(--blue-dark);background:#fff;font-weight:850}.teacher-prep-empty .primary-action{color:#fff;border-color:var(--blue);background:var(--blue)}.teacher-prep-workspace-tabs{display:flex;width:max-content;max-width:100%;gap:4px;border:1px solid #d4e1f0;border-radius:11px;padding:4px;background:#edf3fb}.teacher-prep-workspace-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:132px;min-height:44px;border:0;border-radius:8px;padding:0 14px;color:var(--muted);background:transparent;font-weight:850}.teacher-prep-workspace-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 3px 10px #123e7517}.teacher-prep-workspace-tabs svg{width:17px;height:17px}.teacher-prep-workspace-body,.teacher-prep-exercise-grid{min-width:0;min-height:0;overflow:hidden}.teacher-prep-flow-editor{align-content:start;height:100%;padding:0 6px 2px 1px}.teacher-prep-flow-editor .courseware-workbench-native{min-height:0}.teacher-prep-flow-editor .courseware-toolbox-native{position:static}.teacher-prep-flow-list,.teacher-prep-toolbox{max-height:min(620px,calc(100dvh - 315px));padding-right:4px}.teacher-prep-content-editor{height:100%;padding:18px}.teacher-prep-content-editor form{display:grid;gap:16px}.teacher-prep-content-editor form>.section-heading{align-items:center;margin:0}.teacher-prep-content-editor form>.section-heading p{margin-top:4px;font-size:12px;text-align:left}.teacher-prep-content-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-prep-content-fields label{display:grid;gap:6px;min-width:0;color:#31435f;font-size:12px;font-weight:850}.teacher-prep-content-fields textarea{min-height:88px;resize:vertical}.teacher-prep-content-fields .teacher-prep-code-field{grid-column:1 / -1}.teacher-prep-content-fields .code-field{min-height:260px;color:#dce7f8;border-color:#223653;background:#0d172b;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}.teacher-prep-presentation-upload{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #c9dcf2;border-radius:12px;padding:14px 16px;background:#f6faff}.teacher-prep-presentation-upload h3{margin:0 0 4px;color:var(--navy);font-size:15px}.teacher-prep-presentation-upload p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.teacher-prep-exercise-body{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:14px;height:100%;min-height:0}.teacher-prep-exercise-list,.teacher-prep-exercise-editor{align-content:start;min-height:0;padding:0 16px 16px}.teacher-prep-exercise-list>.section-heading,.teacher-prep-exercise-editor>.section-heading{margin-inline:-16px}.teacher-prep-exercise-list .teacher-class-buttons{padding-top:14px}.teacher-prep-exercise-editor{padding-top:0}.teacher-prep-exercise-editor>label:first-of-type{margin-top:14px}.teacher-prep-exercise-editor textarea.code-field{min-height:260px}.teacher-prep-exercise-editor .native-editor-actions{position:sticky;bottom:-16px;margin:0 -16px -16px;border-top:1px solid var(--line);padding:12px 16px;background:#fffffff5}.teacher-prep-publish-modal>section{width:min(860px,100%);max-height:calc(100dvh - 40px);overflow-y:auto}.class-course-version-field{display:grid;gap:6px;min-width:0;border:1px solid #d5e3f2;border-radius:12px;padding:10px 12px;color:var(--navy);background:#f7fbff;font-size:12px;font-weight:900}.class-course-version-field select{min-width:0;min-height:42px;background:#fff}.class-course-version-field small{color:var(--muted);font-size:11px;font-weight:600;line-height:1.45}.class-management-dialog-form:has(.class-course-version-field){grid-template-rows:auto minmax(0,1fr) auto}.validation-box{display:grid;gap:6px;border:1px solid #b7e8d7;border-radius:14px;padding:12px;color:#08704d;background:#effaf6}.validation-box.error{border-color:#ffc9bc;color:#963b2e;background:#fff1ee}.validation-box p{margin:0;font-size:13px;line-height:1.45}.notification-region{position:fixed;top:86px;right:18px;z-index:100;display:grid;gap:10px;width:min(390px,calc(100vw - 36px));pointer-events:none}body:has(.teacher-live-active)>.notification-region{right:calc(clamp(240px,22vw,300px) + clamp(40px,4vw,58px))}.teacher-classroom-stage:fullscreen>.notification-region{display:none}.notification{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:58px;border:1px solid rgba(198,216,239,.9);border-left:4px solid var(--blue);border-radius:var(--ui-radius-sm, 12px);padding:7px 8px 7px 13px;color:var(--ink);background:var(--ui-surface-glass-strong, rgba(255,255,255,.94));box-shadow:var(--ui-shadow-floating, 0 24px 64px rgba(13,43,84,.18));pointer-events:auto;backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(120%);-webkit-backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(120%)}.notification p{margin:0;font-size:13px;line-height:1.45}.notification-success{border-left-color:var(--mint)}.notification-success>svg{color:#078360}.notification-error{border-left-color:#d83b44}.notification-error>svg{color:#bd2934}.student-immersive-classroom:fullscreen>.notification-region,.student-immersive-classroom.is-fullscreen>.notification-region{top:50%;right:auto;left:50%;z-index:2147483000;width:min(440px,calc(100vw - 40px));transform:translate(-50%,-50%)}.student-immersive-classroom:fullscreen>.notification-region .notification,.student-immersive-classroom.is-fullscreen>.notification-region .notification{min-height:70px;border-radius:15px;padding:11px 12px 11px 16px;box-shadow:0 20px 54px #00000052}.student-immersive-classroom:fullscreen>.notification-region .notification p,.student-immersive-classroom.is-fullscreen>.notification-region .notification p{font-size:15px;font-weight:700;text-align:center}.teacher-hand-raise-region{position:fixed;top:84px;right:18px;z-index:2147483000;display:grid;gap:10px;width:min(360px,calc(100vw - 36px));max-height:calc(100dvh - 108px);overflow:hidden;pointer-events:none}.teacher-hand-raise-region:empty{display:none}.teacher-classroom-stage:fullscreen>.teacher-hand-raise-region{top:50%;right:auto;left:50%;width:min(440px,calc(100vw - 40px));max-height:min(70dvh,520px);overflow-y:auto;pointer-events:auto;transform:translate(-50%,-50%)}.teacher-hand-raise-notice{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:11px;min-height:66px;border:1px solid #c8dcf3;border-left:4px solid #f1b72d;border-radius:var(--ui-radius-sm, 12px);padding:9px 8px 9px 10px;color:#173354;background:var(--ui-surface-glass-strong, rgba(255,255,255,.94));box-shadow:var(--ui-shadow-floating, 0 24px 64px rgba(13,43,84,.18));pointer-events:auto;animation:hand-raise-notice-in var(--ui-duration-base, .22s) ease-out both;backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(120%);-webkit-backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(120%)}.teacher-hand-raise-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#735400;background:#fff1ac}.teacher-hand-raise-icon svg{width:23px;height:23px}.teacher-hand-raise-copy{display:grid;gap:2px;min-width:0}.teacher-hand-raise-notice strong{font-size:15px;line-height:1.35}.teacher-hand-raise-notice small{overflow:hidden;color:#61758e;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.teacher-hand-raise-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;padding:0;color:#62758d;background:transparent;cursor:pointer;transition:color .16s ease,background-color .16s ease,transform .16s ease}.teacher-hand-raise-close svg{width:20px;height:20px}.teacher-hand-raise-close:hover{color:#173354;background:#edf4fb}.teacher-hand-raise-close:active{transform:scale(.94)}.teacher-hand-raise-close:focus-visible{outline:3px solid rgba(41,112,210,.34);outline-offset:1px}.student-hand-raise-button{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(84px,calc(env(safe-area-inset-bottom) + 84px));z-index:48;display:grid;place-items:center;width:62px;height:62px;min-width:62px;border:2px solid #e4af2f;border-radius:50%;padding:0;color:#654900;background:#fff0a8;box-shadow:0 12px 28px #684c003d,inset 0 1px #fffc;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.student-hand-raise-button svg{width:29px;height:29px;stroke-width:2.3}.student-hand-raise-button:hover:not(:disabled){background:#ffe47b;box-shadow:0 15px 32px #684c004d,inset 0 1px #fffc;transform:translateY(-2px)}.student-hand-raise-button:active:not(:disabled){transform:translateY(0) scale(.96)}.student-hand-raise-button:focus-visible{outline:3px solid rgba(41,112,210,.34);outline-offset:3px}.student-hand-raise-button:disabled{cursor:wait;opacity:.72}.student-hand-raise-button[data-cooling=true]{border-color:#d9c98d;color:#8c7d4a;background:#eee6c8;box-shadow:0 8px 18px #3f371924;cursor:not-allowed;opacity:.68}@keyframes hand-raise-notice-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media(max-width:1180px){.app-layout:has(.teacher-live-active) .app-body{grid-template-columns:minmax(0,1fr)}.app-layout:has(.teacher-live-active) .app-sidebar{display:none}.app-layout:has(.teacher-live-active) .app-header .brand-copy{display:none}.app-layout:has(.teacher-live-active) .app-main{padding:12px 14px 14px}.teacher-live-active .native-live-console{--classroom-students-column: clamp(220px, 24vw, 250px)}.teacher-live-active .teacher-classroom-workspace{gap:10px;padding:8px 10px 10px}.campus-grid,.card-grid,.course-grid,.portfolio-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-dashboard-card{grid-template-columns:104px minmax(0,1fr)}.growth-mini-stats{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.growth-orbit{width:96px;height:96px;border-width:8px}.growth-orbit strong{font-size:26px}.personal-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.typing-island-scroll{grid-template-columns:repeat(3,minmax(0,1fr))}.student-personal-grid{grid-template-columns:1fr}.student-personal-grid>:nth-child(n+3){grid-column:auto}.account-row{grid-template-columns:1fr 1fr}.account-row .row-actions{justify-content:flex-end}.achievement-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-course-grid,.teacher-native-grid{grid-template-columns:1fr}.teacher-class-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-live-picker .teacher-start-class-card{gap:10px;padding:12px}.teacher-live-picker .teacher-start-class-card strong{font-size:16px}.student-class-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-course-list,.teacher-class-list{position:static}.courseware-workbench-native,.teacher-exercise-native{grid-template-columns:1fr}.courseware-toolbox-native{position:static}.native-student-row{grid-template-columns:auto minmax(0,1fr)}.student-account-note,.native-student-row .danger-action{grid-column:1 / -1;justify-self:stretch}.inline-create-form{grid-template-columns:repeat(3,minmax(0,1fr))}.class-edit-form{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.inline-create-form select,.inline-create-form .primary-action{grid-column:1 / -1}}@media(max-width:900px){.courseware-workbench-native{grid-template-columns:1fr}.courseware-toolbox-native{position:static}.login-page{grid-template-columns:1fr}.login-story{min-height:auto;padding:120px 36px 48px}.login-story .brand{left:36px}.login-story h1{font-size:42px}.login-card{width:min(520px,calc(100% - 48px))}.app-body{display:block}.app-sidebar{position:sticky;top:64px;z-index:15;display:block;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 12px;overflow:visible}.app-header{min-height:64px}.primary-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.primary-nav a{flex:0 0 auto;padding-inline:13px}.secondary-nav{display:flex;margin:6px 0 0;border-top:1px solid var(--line);padding:6px 0 0;overflow-x:auto}.secondary-nav>span{display:none}.secondary-nav a{flex:0 0 auto}.sidebar-status{display:none}.two-column-layout,.student-personal-grid,.student-live-native,.student-practice-native{grid-template-columns:1fr}.student-mission-native{order:-1}.student-live-side{position:static}.student-ppt-native,.run-check-grid,.student-review-grid,.teacher-native-grid,.teacher-live-native-grid,.teacher-class-card-grid,.compact-live-summary .native-session-list.compact{grid-template-columns:1fr}.teacher-class-list{position:static}.typing-native-grid{grid-template-columns:1fr}.typing-leaderboard-native.compact{position:static;max-height:none;overflow:visible}.typing-leaderboard-native.compact .section-heading p{max-width:none}.typing-island-native-list{position:static}.typing-island-scroll{display:flex;gap:10px;margin-inline:-2px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.typing-island-scroll button{flex:0 0 min(260px,78vw);scroll-snap-align:start}.typing-level-route{grid-template-columns:1fr}.typing-level-route:before{top:18px;bottom:18px;left:34px;width:3px;height:auto;background:repeating-linear-gradient(180deg,#c7d9f1 0 14px,transparent 14px 22px)}.typing-challenge-picker button{grid-template-columns:44px minmax(0,1fr)}.typing-level-result{grid-column:2;justify-items:start}.typing-game-header{grid-template-columns:1fr 1fr}.typing-game-header button{grid-column:1 / -1}.typing-leaderboard-native article{grid-template-columns:34px 42px minmax(0,1fr)}.typing-leaderboard-native b{text-align:left}.native-student-row{grid-template-columns:auto minmax(0,1fr)}.student-account-note,.native-student-row .danger-action{grid-column:1 / -1;justify-self:stretch}.native-student-row form{grid-column:2;justify-self:stretch}.native-student-row form{grid-template-columns:minmax(0,1fr) auto}.inline-create-form{grid-template-columns:1fr}.inline-create-form select,.inline-create-form .primary-action{grid-column:auto}.native-session-list.compact,.native-monitor-grid{grid-template-columns:1fr}.student-personal-grid>:nth-child(n+3){grid-column:auto}.lesson-review-row{grid-template-columns:auto minmax(0,1fr)}.lesson-review-row time,.lesson-review-row .preview-button{grid-column:2;justify-self:start}.sticky-panel{position:static}.news-strip,.student-news-grid,.student-class-course-grid,.course-catalog-grid,.course-placeholder-grid,.campus-star-grid,.course-term-grid{grid-template-columns:1fr}.course-term-grid article{min-height:150px}}@media(max-width:700px){.student-course-view-tabs{width:100%}.student-course-view-tabs button{flex:1;min-width:0}.student-class-overview-grid{grid-template-columns:1fr;padding:14px}.student-class-overview-card>header{grid-template-columns:44px minmax(0,1fr)}.student-class-overview-card>header>span{width:44px;height:44px}.student-class-overview-card header>strong{grid-column:2;justify-self:start}.student-class-overview-card dl{grid-template-columns:1fr 1fr}.student-class-overview-card dl>div:first-child{grid-column:1 / -1}.student-course-browser{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.student-course-series-list{display:flex;gap:9px;min-height:0;border-right:0;border-bottom:1px solid #dce6f2;padding:10px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto;scroll-snap-type:x proximity}.student-course-series-list button{flex:0 0 min(270px,78vw);min-height:68px;scroll-snap-align:start}.student-course-preview>header{min-height:80px;padding:13px 15px}.student-course-preview h2{font-size:20px}.student-preview-lesson-list{grid-template-columns:1fr;padding:12px}.teacher-class-page-nav{width:100%}.teacher-class-page-nav a{flex:1;padding-inline:10px}.teacher-class-overview-grid{grid-template-columns:1fr}.teacher-class-create-panel{padding:0}.teacher-schedule-fieldset .schedule-form-grid,.teacher-schedule-card{grid-template-columns:1fr}.teacher-calendar-card{min-height:88px}.teacher-schedule-controls .schedule-form-grid{grid-template-columns:1fr}.teacher-schedule-controls .primary-action{justify-self:stretch}.teacher-class-create-actions{display:grid;grid-template-columns:1fr}.teacher-class-create-actions>*{width:100%}.teacher-class-detail-hero .teacher-class-card-mark{display:none}.teacher-class-detail-summary h2{font-size:17px}.teacher-class-detail-summary>div{gap:3px 8px}.class-workspace-panel-heading{padding:10px 12px}.class-workspace-panel-body{padding:12px}.class-management-dialog-heading{padding-inline:15px}.class-management-dialog-form{padding:12px 15px 15px}.class-management-dialog-actions{display:grid;grid-template-columns:1fr}.class-management-dialog-actions .primary-action{order:-1;width:100%}.homework-publisher-toolbar{grid-template-columns:1fr}.published-homework-native>article{grid-template-columns:1fr}.login-story{padding:42px 24px 36px}.login-campus-brand{margin-bottom:28px}.login-campus-logo{width:48px;height:48px;border-radius:16px}.login-story h1{font-size:34px}.login-story>p:not(.eyebrow){font-size:16px}.login-news article{grid-template-columns:60px minmax(0,1fr)}.login-news article>img{width:60px;height:60px;border-radius:15px;padding:10px}.login-card{width:calc(100% - 36px);margin-block:34px}.login-card h2{font-size:28px}.app-main{padding:24px 16px 40px}.teacher-classroom-stage{height:440px}.teacher-hand-raise-region{top:76px;right:12px;width:min(340px,calc(100vw - 24px))}.student-hand-raise-button{right:max(14px,env(safe-area-inset-right));bottom:max(76px,calc(env(safe-area-inset-bottom) + 76px));width:56px;height:56px;min-width:56px}.student-hand-raise-button svg{width:26px;height:26px}.teacher-ppt-control.has-pptx{gap:8px;padding:8px}.student-code-row{--editor-font-size: 14px;--editor-line-height: 25px;--editor-padding-block: 16px;--editor-padding-inline: 14px;--editor-height: 330px;grid-template-columns:48px minmax(0,1fr)}.student-code-row>pre:first-child{padding:var(--editor-padding-block) 8px var(--editor-padding-block) 4px;font-size:12px}.native-live-editor .teacher-code-row{--editor-height: 330px}.native-editor-bar{align-items:flex-start;padding:10px 12px}.editor-file-label{max-width:100%;font-size:13px}.teacher-classroom-view-controls{right:12px;bottom:12px;padding:5px}.teacher-classroom-view-controls.editor{inset:auto auto 6px 10px}.teacher-classroom-view-controls button{width:44px;height:44px}.editor-meta{justify-content:flex-start}.page-heading{align-items:flex-start}.heading-stat{display:none}.form-grid,.campus-grid,.card-grid,.course-grid,.portfolio-grid,.student-worlds{grid-template-columns:1fr}.metric-grid{gap:10px}.growth-dashboard-card{grid-template-columns:1fr;justify-items:start;padding:16px}.growth-mini-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.personal-module-grid{grid-template-columns:1fr;gap:10px}.personal-module-card{min-height:132px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:14px}.personal-module-card img{grid-row:span 3;width:50px;height:50px}.personal-module-card span,.personal-module-card .module-title,.personal-module-card small{margin-top:0}.personal-detail-panel>.section-heading{margin-bottom:12px}.metric-card{min-height:128px;padding:18px}.metric-card>strong{font-size:31px}.section-heading{align-items:flex-start;flex-direction:column;gap:7px}.section-heading p{text-align:left}.section-tabs{overflow-x:auto}.section-tabs button{flex:0 0 auto}.account-row{grid-template-columns:1fr}.account-row .row-actions{justify-content:flex-start}.student-news-grid>button{grid-template-columns:60px minmax(0,1fr);min-height:132px;padding:14px}.student-news-grid img{width:60px;height:60px;border-radius:15px;padding:9px}.student-campus-article header{grid-template-columns:1fr}.student-campus-article header img{width:92px;height:92px;border-radius:24px}.news-card-rich{grid-template-columns:1fr}.news-card-rich>img{width:72px;height:72px}.inline-reset-form{grid-template-columns:1fr}.inline-reset-form .button{width:100%}.student-hero,.typing-hero,.profile-hero{align-items:flex-start;flex-direction:column;min-height:0}.typing-hero-art{width:64px;height:64px;border-radius:18px;padding:12px}.typing-game-board{padding:12px}.typing-game-board:before{right:10px;top:132px;width:86px;height:86px}.typing-rhythm-board{min-height:214px}.typing-rhythm-lanes span{left:calc(var(--lane) * 25% + 6%);min-width:44px;height:40px;font-size:12px}.typing-target-stream{max-height:210px;padding:10px}.typing-target-stream span{min-width:28px;height:34px;font-size:15px}.typing-practice-native>.primary-action{width:100%}.teacher-course-tabs button,.courseware-visual-actions button{width:100%;justify-content:center}.teacher-lesson-buttons{grid-template-columns:1fr}.courseware-section-heading{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px}.courseware-section-heading>span{width:34px;height:34px}.courseware-section-heading b{grid-column:2;width:max-content;border-radius:999px;padding:4px 9px;background:#e7f2ff;color:var(--blue-dark);font-size:12px}.courseware-block-list-native{padding:10px}.courseware-block-list-native>div{grid-template-columns:1fr}.courseware-block-list-native>div>button{width:100%}.courseware-block-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch}.courseware-block-actions button{min-width:0;min-height:44px}.courseware-toolbox-native>section,.courseware-visual-editor>.section-heading,.courseware-visual-actions,.courseware-advanced-json,.courseware-visual-editor>.validation-box{padding:14px}.student-course-heading{align-items:flex-start;flex-direction:column;min-height:0}.course-total{width:100%;height:auto;grid-template-columns:auto auto;justify-content:start;gap:10px;border-radius:14px;padding:14px 18px}.course-total strong{font-size:32px}.live-class-summary{grid-template-columns:auto 1fr}.live-class-summary>strong{grid-column:2;text-align:left}.level-orbit{width:112px;height:112px}.level-orbit strong{font-size:38px}.typing-hero .button{width:100%;margin-left:0}.profile-status-stack{justify-items:start;width:100%;margin-left:0}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone .danger-action{width:100%}.achievement-gallery-heading{min-height:130px;padding:19px}.achievement-gallery-heading h2{font-size:24px}.achievement-gallery-heading img{width:72px;height:72px}.achievement-tabs{display:flex;padding-right:18px;overflow-x:auto;scroll-snap-type:x mandatory}.achievement-tab{flex:0 0 160px;scroll-snap-align:start}.achievement-panel{padding:12px}.achievement-panel>header{grid-template-columns:58px 1fr auto;padding:13px}.achievement-panel-icon{width:52px;height:52px}.achievement-panel-icon img{width:43px;height:43px}.achievement-panel>header h2{font-size:20px}.achievement-panel>header>strong{font-size:24px}.achievement-grid{grid-template-columns:1fr}.achievement-badge{min-height:132px}}@media(max-width:430px){html,body{max-width:100%;overflow-x:hidden}.brand-mark{width:40px;height:40px}.app-header{padding-inline:10px}.header-user{gap:0}.header-user .user-avatar{width:34px;height:34px;border-radius:11px}.primary-nav a{min-width:68px;flex-direction:column;justify-content:center;gap:3px;padding:5px 10px;font-size:12px}.student-course-view-tabs{gap:4px;padding:4px}.student-course-view-tabs button{gap:6px;min-height:44px;padding-inline:8px;font-size:13px}.student-course-view-tabs button>strong{min-width:24px;height:24px;font-size:12px}.student-course-view-tabs svg{width:18px;height:18px}.student-class-overview-card{padding:15px}.student-class-overview-card dl{grid-template-columns:1fr}.student-class-overview-card dl>div:first-child{grid-column:auto}.student-course-preview>header{align-items:flex-start}.student-course-preview>header>strong{padding:7px 9px;font-size:12px}.primary-nav a svg{width:18px;height:18px}.student-class-course-grid article,.course-catalog-grid article,.course-placeholder-grid article,.campus-star-grid article{grid-template-columns:46px minmax(0,1fr)}.student-class-course-grid em,.course-catalog-grid article>strong,.course-placeholder-grid strong{grid-column:2;justify-self:start}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:112px}.page-heading h1{font-size:28px}.form-panel,.dashboard-panel,.list-panel,.badge-panel{padding:18px}.achievement-gallery-heading{align-items:flex-start;flex-direction:column}.achievement-panel>header{grid-template-columns:1fr}.achievement-panel>header>strong{justify-self:start}.class-list article{grid-template-columns:auto 1fr}.class-list article>strong{grid-column:2;text-align:left}.student-personal-grid .list-row{align-items:flex-start;flex-wrap:wrap}.student-personal-grid .list-row>strong,.student-personal-grid .list-row>time{text-align:left}.personal-detail-panel .compact-homework-row{grid-template-columns:minmax(0,1fr) auto}.personal-detail-panel .compact-homework-row>strong{grid-column:1}.personal-detail-panel .compact-homework-row>.personal-list-action{grid-column:2;grid-row:1 / span 2;align-self:center}.student-personal-grid .personal-list-action{min-width:86px;min-height:40px}.class-edit-form{grid-template-columns:1fr}.typing-island-scroll button{flex-basis:min(220px,84vw)}.typing-keyboard-native{margin-inline:-2px;padding:9px}.typing-keyboard-native kbd{min-width:34px;height:34px;font-size:10px}.typing-keyboard-native kbd:last-child:first-child{min-width:178px}.typing-rhythm-keyboard.realistic-keyboard{max-width:100%;gap:3px;overflow:hidden;padding:8px 7px;border-radius:12px;box-shadow:0 6px 0 var(--typing-keyboard-edge),var(--typing-keyboard-compact-shadow)}.realistic-keyboard .keyboard-row{gap:3px}.realistic-keyboard .keyboard-row:first-child{gap:2px}.realistic-keyboard kbd{height:34px;padding:0;border-radius:6px;font-size:11px;box-shadow:0 3px 0 var(--typing-key-edge),var(--typing-key-inset)}.realistic-keyboard kbd.modifier-key,.realistic-keyboard kbd.space-key,.realistic-keyboard kbd[data-key=Tab],.realistic-keyboard kbd[data-key=CapsLock],.realistic-keyboard kbd[data-key=Enter],.realistic-keyboard kbd[data-key^=Control],.realistic-keyboard kbd[data-key^=Alt],.realistic-keyboard kbd[data-key=Fn]{font-size:10px}.typing-stage:fullscreen .typing-target{padding-block:9px}.native-student-row form{grid-template-columns:1fr}.native-student-row form,.student-account-note,.native-student-row .danger-action{grid-column:1 / -1}.native-student-row{grid-template-columns:auto minmax(0,1fr);padding:10px}.native-editor-actions{flex-direction:column}.editor-utility-actions,.editor-primary-actions{width:100%}.editor-primary-actions{justify-content:flex-end}.editor-workspace.quick-panel-open{grid-template-columns:1fr}.editor-quick-panel{max-height:250px;border-right:0;border-bottom:1px solid #c9def5}.switch-row{margin-inline:-4px}}@media(max-width:1023px)and (orientation:landscape){.typing-stage:fullscreen{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(96px,1fr) auto auto;grid-template-areas:"rhythm" "target" "keyboard";gap:4px;padding:4px 6px}.typing-stage:fullscreen .typing-rhythm-stage{min-height:96px}.typing-stage:fullscreen .typing-rhythm-hud{top:58px;bottom:auto;z-index:1;display:flex;align-content:normal;gap:4px}.typing-stage:fullscreen .typing-rhythm-hud article{min-width:60px;padding:1px 4px}.typing-stage:fullscreen .typing-rhythm-hud span{font-size:7px}.typing-stage:fullscreen .typing-rhythm-hud strong{font-size:12px}.typing-stage:fullscreen .typing-rhythm-hud strong small{font-size:6px}.typing-stage:fullscreen[data-typing-theme=dark] :is(.typing-rhythm-stage,.typing-game-intro,.typing-countdown,.typing-pause-overlay):before{opacity:.82}.typing-stage:fullscreen[data-typing-theme=dark] :is(.typing-rhythm-stage,.typing-game-intro,.typing-countdown,.typing-pause-overlay):after{opacity:.78}.typing-stage:fullscreen .typing-pause-overlay{align-items:start;padding:58px 8px 4px}.typing-stage:fullscreen .typing-pause-overlay>div{display:flex;min-width:0;gap:7px;border-radius:11px;padding:5px 12px}.typing-stage:fullscreen .typing-pause-overlay svg{width:20px;height:20px}.typing-stage:fullscreen .typing-pause-overlay strong{font-size:18px}.typing-stage:fullscreen .typing-pause-overlay span{font-size:11px}.typing-stage:fullscreen .typing-target{align-self:center;height:clamp(42px,13dvh,50px);min-height:42px;max-height:50px;padding:5px 10px;font-size:clamp(16px,3vw,20px)}.typing-stage:fullscreen .typing-rhythm-keyboard.realistic-keyboard{width:100%;gap:2px;padding:5px 6px;box-shadow:0 5px 0 var(--typing-keyboard-edge),var(--typing-keyboard-compact-shadow)}.typing-stage:fullscreen .realistic-keyboard .keyboard-row{gap:3px}.typing-stage:fullscreen .realistic-keyboard kbd{height:clamp(22px,7dvh,26px);font-size:13px}.typing-stage:fullscreen .realistic-keyboard kbd.modifier-key,.typing-stage:fullscreen .realistic-keyboard kbd.space-key,.typing-stage:fullscreen .realistic-keyboard kbd[data-key=Tab],.typing-stage:fullscreen .realistic-keyboard kbd[data-key=CapsLock],.typing-stage:fullscreen .realistic-keyboard kbd[data-key=Enter],.typing-stage:fullscreen .realistic-keyboard kbd[data-key=Backspace],.typing-stage:fullscreen .realistic-keyboard kbd[data-key^=Control],.typing-stage:fullscreen .realistic-keyboard kbd[data-key^=Alt],.typing-stage:fullscreen .realistic-keyboard kbd[data-key=Fn]{font-size:11px}}@media(max-width:600px)and (orientation:landscape){.typing-stage:fullscreen .typing-rhythm-keyboard.realistic-keyboard kbd[data-key=Backspace]{font-size:0}.typing-stage:fullscreen .typing-rhythm-keyboard.realistic-keyboard kbd[data-key=Backspace]:before{font-size:16px}}@media(max-width:1023px)and (max-height:380px)and (orientation:landscape){.typing-stage:fullscreen .realistic-keyboard kbd{height:clamp(24px,7.5dvh,26px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.surface-interactive:hover{transform:none}.realistic-keyboard .typing-key-effect{display:none}.realistic-keyboard kbd.pressed{box-shadow:0 2px 0 var(--typing-key-pressed-edge),0 0 0 3px var(--typing-key-pressed-ring),0 0 12px var(--typing-key-pressed-glow);transform:none}.realistic-keyboard kbd.pressed .typing-key-label{transform:none}}.classroom-official-scratch{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#e9edf3;isolation:isolate}.classroom-official-scratch-frame{display:block;width:100%;height:100%;min-width:0;min-height:0;border:0;background:#e9edf3}.classroom-official-scratch-error{position:absolute;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;color:#5b254f;text-align:center;background:#fffffff0}.classroom-official-scratch-error p{max-width:560px;margin:0;line-height:1.6}.teacher-classroom-stage .classroom-official-scratch,.teacher-code-presentation.scratch-code-presentation>.classroom-official-scratch,.native-live-editor.scratch-live-editor>.classroom-official-scratch{height:100%}.classroom-scratch-practice-overlay{position:fixed;inset:0;z-index:2147482000;width:100vw;height:100vh;height:100dvh;min-width:0;min-height:0;overflow:hidden;background:#e9edf3}.classroom-scratch-practice-overlay>.classroom-official-scratch{position:absolute;inset:0}.classroom-scratch-practice-actions{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:2147482100;display:flex;align-items:center;gap:10px;max-width:min(620px,calc(100vw - 32px));padding:8px 10px 8px 14px;border:1px solid rgb(255 255 255 / 78%);border-radius:999px;color:#2f3152;background:#ffffffeb;box-shadow:0 10px 30px #2025482e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.classroom-scratch-practice-actions .classroom-scratch-save-state{position:static;overflow:hidden;max-width:320px;text-overflow:ellipsis;white-space:nowrap}.classroom-scratch-practice-actions button{flex:0 0 auto}.classroom-scratch-save-state{position:absolute;right:16px;bottom:16px;z-index:15;margin:0;padding:7px 12px;border-radius:999px;color:#4a4266;font-size:13px;line-height:1.3;background:#ffffffe0;box-shadow:0 5px 18px #2d274e1f;pointer-events:none}@media(max-width:900px),(max-height:720px){.classroom-scratch-practice-actions{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));gap:8px;max-width:calc(100vw - 20px);padding:6px 8px 6px 10px}.classroom-scratch-practice-actions .classroom-scratch-save-state{max-width:210px;font-size:12px}}:root{--lab-cream: #f7faff;--lab-blue: #2764e7;--lab-blue-deep: #1748b5;--lab-sky: #46bfe8;--lab-coral: #ff7657;--lab-coral-deep: #d94d31;--lab-yellow: #ffc94a;--lab-mint: #3ccb9a;--lab-ink: #183153;--lab-muted: #53657e;--lab-line: #d6e3f3;--lab-panel: #ffffff;--lab-soft-blue: #eaf2ff;--lab-soft-yellow: #fff6d8;--lab-soft-mint: #e8fbf5;--lab-soft-coral: #fff0eb;--lab-radius-sm: 12px;--lab-radius-md: 18px;--lab-radius-lg: 26px;--lab-shadow-sm: 0 8px 22px rgba(24, 67, 126, .08);--lab-shadow-md: 0 18px 44px rgba(24, 67, 126, .12);--lab-focus: 0 0 0 4px rgba(39, 100, 231, .18);--ui-radius-control: 10px;--ui-radius-sm: 12px;--ui-radius-md: 18px;--ui-radius-lg: 24px;--ui-radius-pill: 999px;--ui-shadow-rest: 0 8px 22px rgba(24, 67, 126, .08);--ui-shadow-raised: 0 16px 36px rgba(24, 67, 126, .12);--ui-shadow-floating: 0 24px 64px rgba(13, 43, 84, .18);--ui-shadow-header: 0 8px 28px rgba(24, 67, 126, .07);--ui-focus-color: rgba(39, 100, 231, .42);--ui-focus-ring: 0 0 0 4px rgba(39, 100, 231, .18);--ui-duration-fast: .16s;--ui-duration-base: .22s;--ui-ease-standard: cubic-bezier(.2, .8, .2, 1);--ui-surface-solid: #ffffff;--ui-surface-subtle: #f8fbff;--ui-surface-interactive: #ffffff;--ui-surface-glass: rgba(255, 255, 255, .9);--ui-surface-glass-strong: rgba(255, 255, 255, .94);--ui-border-subtle: #d6e3f3;--ui-border-strong: #b9cfea;--ui-glass-blur: 16px;--ui-glass-blur-strong: 26px;--ui-page-background: radial-gradient(72rem 38rem at 102% -12%, rgba(39, 100, 231, .09), transparent 58%), radial-gradient(58rem 34rem at -10% 108%, rgba(60, 203, 154, .065), transparent 60%), var(--lab-cream);--blue: var(--lab-blue);--blue-dark: var(--lab-blue-deep);--navy: var(--lab-ink);--orange: var(--lab-coral);--yellow: var(--lab-yellow);--mint: var(--lab-mint);--ink: var(--lab-ink);--muted: var(--lab-muted);--line: var(--lab-line);--surface: var(--lab-panel);--background: var(--lab-cream);--shadow: var(--ui-shadow-rest);--shadow-sm: var(--ui-shadow-rest)}html{scroll-behavior:smooth}body{color:var(--lab-ink);background:radial-gradient(circle at 1px 1px,rgba(39,100,231,.055) 1px,transparent 1.5px) 0 0 / 24px 24px,var(--lab-cream)}button,a,input,select,textarea{touch-action:manipulation}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:3px solid rgba(39,100,231,.42);outline-offset:3px}.skip-link{position:fixed;top:10px;left:12px;z-index:1000;transform:translateY(-150%);border-radius:var(--ui-radius-sm, 12px);padding:11px 16px;color:#fff;background:var(--lab-ink);font-weight:900;transition:transform var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}.skip-link:focus{transform:translateY(0)}.brand{gap:12px}.brand-mark{position:relative;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--lab-blue),#4b8fff);box-shadow:0 9px #1748b521,0 14px 26px #2764e733}.brand-mark:before,.brand-mark:after{content:"";position:absolute;top:-4px;width:9px;height:7px;border-radius:5px 5px 2px 2px;background:#73a7ff}.brand-mark:before{left:9px}.brand-mark:after{right:9px}.brand-copy{color:var(--lab-ink);font-weight:950;letter-spacing:.015em}.brand-copy small{color:#62748d;font-weight:800}.eyebrow{color:var(--lab-blue-deep);font-weight:950;letter-spacing:.13em}.app-header{min-height:76px;border-bottom-color:#c3d5edd1;background:var(--app-header-surface, #fff);box-shadow:var(--ui-shadow-header, 0 8px 28px rgba(24,67,126,.07))}.header-campus{border-left-color:#dce7f5}.header-campus span{color:var(--lab-ink)}.user-avatar{border:3px solid #fff;border-radius:15px;background:linear-gradient(145deg,var(--lab-sky),var(--lab-blue));box-shadow:0 7px 16px #2764e72e}.icon-button{border:1px solid transparent;border-radius:13px}.icon-button:hover,.icon-button:focus-visible{border-color:#d3e2f5;color:var(--lab-blue-deep);background:var(--lab-soft-blue)}.app-body{grid-template-columns:250px minmax(0,1fr)}.app-sidebar{border-right-color:#dce7f5;background:var(--ui-surface-solid, #fff)}.primary-nav{gap:8px}.primary-nav a{position:relative;min-height:48px;border:1px solid transparent;border-radius:15px;font-weight:850}.primary-nav a:hover{border-color:#d6e5f8;background:#f2f7ff}.primary-nav a.active{border-color:#c6daf8;color:var(--lab-blue-deep);background:linear-gradient(135deg,#e7f0ff,#f8fbff);box-shadow:inset 4px 0 var(--lab-blue),var(--lab-shadow-sm)}.sidebar-status{border:1px solid #d8e7f4;border-radius:16px;background:linear-gradient(145deg,#f5faff,#fff)}.app-main{padding-block:clamp(24px,3vw,46px) 64px}.surface,.campus-card,.metric-card,.class-session-card,.teacher-class-card,.student-class-course-card{border-color:var(--lab-line);border-radius:var(--lab-radius-md);box-shadow:var(--lab-shadow-sm)}.surface,.campus-card,.metric-card{background:#fffffff5}.page-heading{position:relative;min-height:128px;overflow:hidden;border:1px solid #d4e3f5;border-radius:var(--lab-radius-lg);padding:clamp(22px,3vw,34px);background:linear-gradient(135deg,#fffffffa,#eaf2ffeb);box-shadow:var(--lab-shadow-sm)}.page-heading:after{content:"";position:absolute;right:28px;bottom:-18px;width:118px;height:64px;opacity:.32;background:radial-gradient(circle,var(--lab-blue) 5px,transparent 6px) 0 0 / 26px 26px;pointer-events:none}.page-heading>*{position:relative;z-index:1}.page-heading h1{color:var(--lab-ink);font-weight:950}.heading-stat{border:1px solid rgba(255,255,255,.3);border-radius:20px;background:linear-gradient(145deg,var(--lab-ink),#28518b);box-shadow:0 12px 28px #18315333}.section-heading h1,.section-heading h2,.panel-heading h2{color:var(--lab-ink);font-weight:950}.panel-heading{align-items:center}.step-mark{position:relative;border-radius:13px;background:linear-gradient(145deg,var(--lab-blue),#4a8eff);box-shadow:0 7px 15px #2764e72b}.step-mark:before{content:"";position:absolute;top:-3px;left:8px;width:8px;height:5px;border-radius:4px 4px 1px 1px;background:#79aaff}.form-panel,.campus-card,.news-card,.account-row{border-color:#d7e4f3}.form-panel{border-top:5px solid var(--lab-blue)}.form-panel:nth-child(2n){border-top-color:var(--lab-sky)}.form-panel label,.campus-card label,.account-row label{color:#354c6b;font-weight:850}input,select,textarea{border-color:#c8d9ed;border-radius:13px;background:#fbfdff}input:hover,select:hover,textarea:hover{border-color:#82a8dc}input:focus,select:focus,textarea:focus{border-color:var(--lab-blue);box-shadow:var(--lab-focus)}.button,.primary-action,.secondary-action,.text-button{border-radius:13px;font-weight:900}.button-primary,.primary-action{background:linear-gradient(145deg,var(--lab-coral),#ff8a68);box-shadow:0 8px 18px #ff76573d}.button-primary:hover:not(:disabled),.primary-action:hover:not(:disabled){background:linear-gradient(145deg,#e85d40,var(--lab-coral));box-shadow:0 10px 22px #ff76574d}:is(.role-teacher,.role-student) .primary-action{background:linear-gradient(145deg,var(--lab-blue),#4b8fff);box-shadow:0 8px 18px #2764e738}:is(.role-teacher,.role-student) .primary-action:hover:not(:disabled){background:linear-gradient(145deg,#1f55ca,var(--lab-blue));box-shadow:0 10px 22px #2764e747}.button-secondary{border-color:#bed3f0;background:var(--lab-soft-blue)}.button-quiet:hover:not(:disabled){background:#eef5ff}.status-badge{border:1px solid transparent;font-weight:900}.status-active{border-color:#b9ead9;background:var(--lab-soft-mint)}.status-warning{border-color:#ffd2c5;background:var(--lab-soft-coral)}.status-muted{border-color:#d9e1eb}.login-page{background:var(--lab-cream)}.login-story{background:radial-gradient(circle at 15% 18%,rgba(255,201,74,.3),transparent 18%),radial-gradient(circle at 86% 82%,rgba(60,203,154,.22),transparent 21%),linear-gradient(145deg,#173e8a 0%,var(--lab-blue) 58%,#398de9 100%)}.login-story:before{border-radius:28px;transform:rotate(18deg);background:#ffffff14}.login-story:after{border-radius:42px;transform:rotate(-16deg);background:#ffc94a24}.login-story h1{max-width:680px;font-weight:950;letter-spacing:-.045em}.login-campus-logo{border-radius:16px;box-shadow:0 9px #06225a26,0 18px 38px #02102c38}.login-news article{border-color:#ffffff3d;background:#ffffff21;box-shadow:0 12px 30px #051c4c2e}.login-card{border:1px solid #d6e4f4;border-radius:28px;padding:clamp(26px,4vw,40px);background:#fffffff5;box-shadow:var(--lab-shadow-md)}.login-card h2{color:var(--lab-ink);font-weight:950}.campus-card{border-top:5px solid var(--lab-sky)}.news-card-rich{border-left:5px solid var(--lab-yellow)}.principal-news-preview{border-color:#d6e4f3;background:radial-gradient(circle at 100% 0,rgba(255,201,74,.22),transparent 34%),#fff}.file-field{border-color:#a9c3e4;border-radius:16px;background:#f5f9ff}.teacher-class-card-grid,.student-class-course-grid,.class-session-card-grid{gap:18px}.teacher-class-card{position:relative;overflow:hidden;border-top:6px solid var(--lab-blue);background:linear-gradient(145deg,#fff,#f5f9ff)}.teacher-class-card:nth-child(3n+2){border-top-color:var(--lab-mint)}.teacher-class-card:nth-child(3n){border-top-color:var(--lab-yellow)}.native-live-console,.teacher-native-grid>section,.courseware-visual-editor>section{border-radius:22px}.classroom-live-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:0;border-bottom:1px solid #d8e6f6;padding:20px 24px 18px;background:linear-gradient(110deg,#2764e714,#46bfe80a 58%,#ffc94a1a)}.classroom-live-heading>div:first-child{min-width:0}.classroom-live-heading .eyebrow{letter-spacing:0}.classroom-live-heading h1,.classroom-live-heading h2{margin-top:5px;font-size:clamp(24px,2.2vw,30px);line-height:1.2}.classroom-live-heading p{margin-top:6px;color:#526984;font-size:14px;text-align:left}.classroom-live-heading .status-badge{min-height:36px;padding-inline:13px}.student-live-stage>.classroom-live-heading{padding:20px 24px 18px}.student-live-stage>.student-ppt-deck{margin-top:0}.courseware-visual-actions button,.courseware-block-actions button,.courseware-atom-library button{min-width:44px;min-height:44px}.teacher-ppt-control{border-radius:22px;background:radial-gradient(circle at 20% 10%,rgba(255,201,74,.2),transparent 26%),linear-gradient(145deg,#fff,#eef6ff)}.teacher-class-detail-grid>.surface{border-radius:20px}.teacher-class-schedule-panel{border-top:5px solid var(--lab-blue)}.teacher-class-students-panel{border-top:5px solid var(--lab-mint)}.teacher-class-courses-panel{border-top:5px solid var(--lab-sky)}.teacher-classroom-view-controls{border-color:#cadcf1}.native-monitor-panel{border:1px solid var(--lab-line);border-radius:20px;padding:20px;background:#fff}.native-student-row{border-radius:15px;background:#f8fbff}.class-session-card{border-top:4px solid var(--lab-sky);background:linear-gradient(145deg,#fff,#f6faff)}.danger-zone{border:1px solid #ffd1c5;border-radius:18px;background:var(--lab-soft-coral)}.student-class-course-card{position:relative;overflow:hidden;border-top:6px solid var(--lab-blue);background:linear-gradient(145deg,#fff,#f1f6ff)}.student-class-course-card:after{content:"";position:absolute;right:-16px;bottom:-16px;width:74px;height:48px;opacity:.18;background:radial-gradient(circle,var(--lab-blue) 5px,transparent 6px) 0 0/22px 22px}.current-course-hero,.profile-hero,.typing-hero{border:1px solid #cfe0f4;border-radius:28px;box-shadow:var(--lab-shadow-md)}.course-term-card,.course-placeholder-card,.personal-module-card,.typing-island-card{border-radius:20px}.course-term-card{border-top:5px solid var(--lab-blue)}.course-term-card:nth-child(2){border-top-color:var(--lab-mint)}.course-term-card:nth-child(3){border-top-color:var(--lab-coral)}.personal-module-card{border:1px solid #d4e2f2;background:linear-gradient(145deg,#fff,#f6faff);box-shadow:var(--lab-shadow-sm)}.personal-module-card:nth-child(2){background:linear-gradient(145deg,#fff,var(--lab-soft-yellow))}.personal-module-card:nth-child(3){background:linear-gradient(145deg,#fff,var(--lab-soft-mint))}.personal-module-card:nth-child(4){background:linear-gradient(145deg,#fff,var(--lab-soft-coral))}.personal-module-card.active{border-color:#9bbce8;box-shadow:0 12px 28px #2764e724,inset 0 -4px var(--lab-blue)}.growth-dashboard-card{border:1px solid #cfe0f4;border-radius:24px;background:radial-gradient(circle at 88% 12%,rgba(255,201,74,.25),transparent 24%),linear-gradient(145deg,#fff,#edf5ff);box-shadow:var(--lab-shadow-md)}.growth-orbit{background:linear-gradient(145deg,var(--lab-blue),#4d92f5);box-shadow:0 12px 26px #2764e73d}.achievement-gallery,.personal-detail-panel{border-radius:22px}.achievement-card{border-radius:18px}.student-news-grid>button,.campus-star-card{border-radius:20px}.student-news-grid>button{border-top:5px solid var(--lab-yellow);background:linear-gradient(145deg,#fff,#fffaf0)}.campus-star-card{border:1px solid #d6e4f3;background:linear-gradient(145deg,#fff,#eef8ff)}.typing-hero{background:radial-gradient(circle at 10% 10%,rgba(255,201,74,.28),transparent 24%),linear-gradient(145deg,#173e8a,var(--lab-blue))}.typing-island-card{border:1px solid #d3e2f3;background:linear-gradient(145deg,#fff,#f4f8ff)}.typing-island-card.active{border-color:#8eb4e8;box-shadow:0 12px 28px #2764e726,inset 0 -4px var(--lab-blue)}.typing-stage{border:1px solid #d3e2f3;background:linear-gradient(145deg,#edf4ff,#fff)}.typing-game-board{border-radius:22px;background:linear-gradient(180deg,#f9fcff,#edf5ff)}.typing-campus-rank{border:1px solid #d6e3f1;border-radius:22px;background:#fffffff5;box-shadow:var(--lab-shadow-sm)}.typing-result{border-radius:24px}.native-live-editor,.student-code-editor{border-radius:22px;box-shadow:0 16px 38px #06163038}.native-editor-bar{background:linear-gradient(180deg,#19304d,#10233c)}.editor-quick-panel{background:#fff}.run-result-modal{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#0b1e3aad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain}.run-result-modal>section{border-radius:24px;box-shadow:0 26px 80px #04122a57}.confirm-modal>section{position:relative;overflow:hidden}.dialog-block-mark{display:block;width:54px;height:12px;margin-bottom:18px;border-radius:7px;background:linear-gradient(90deg,var(--lab-blue) 0 29%,transparent 29% 35%,var(--lab-yellow) 35% 64%,transparent 64% 70%,var(--lab-mint) 70%)}.notification{border-radius:var(--ui-radius-md, 18px);box-shadow:var(--ui-shadow-floating, 0 24px 64px rgba(13,43,84,.18))}.page-state,.empty-state{border:1px dashed #afc7e4;border-radius:20px;padding:28px;background:#ffffffdb}.page-state svg,.empty-state:before{color:var(--lab-blue)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skip-link,.primary-nav a{transition:none}}.app-layout:has(.platform-course-detail-page),html:has(.platform-course-detail-page),body:has(.platform-course-detail-page){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.platform-course-detail-page){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.platform-course-detail-page)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.platform-course-detail-page){height:calc(100dvh - 76px);min-height:0;max-width:none;overflow:hidden;padding:18px clamp(18px,2.4vw,34px)}.app-main:has(.platform-course-overview){height:100%;min-height:0;max-width:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px clamp(18px,2.4vw,34px) 34px}.platform-course-library{--platform-series-panel-padding: clamp(18px,2.4vw,28px);display:grid;gap:16px;min-width:0;min-height:0;height:100%}.platform-course-overview{grid-template-rows:auto;align-content:start;height:auto;min-height:100%;overflow:visible}.platform-series-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-width:0;padding:4px 4px 0}.platform-series-heading>div{min-width:0}.platform-series-heading>div>span{color:var(--blue-dark);font-size:11px;font-weight:950;letter-spacing:.12em}.platform-series-heading h1{margin:5px 0 4px;color:var(--navy);font-size:28px;line-height:1.15}.platform-series-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.platform-series-heading>strong{display:grid;place-items:center;flex:0 0 auto;min-width:74px;min-height:62px;border:1px solid var(--ui-border-subtle,#d6e3f3);border-radius:var(--ui-radius-md,18px);padding:8px 14px;color:var(--blue-dark);background:var(--ui-surface-solid,#fff);box-shadow:var(--ui-shadow-rest,0 8px 22px rgba(24,67,126,.08));font-size:24px;line-height:1}.platform-series-heading>strong small{color:var(--muted);font-size:11px;font-weight:800}.platform-series-panel{align-self:start;min-width:0;min-height:0;overflow:visible;border:1px solid var(--ui-border-subtle,#d6e3f3);border-radius:var(--ui-radius-lg,24px);padding:var(--platform-series-panel-padding);background:var(--ui-surface-solid,#fff);box-shadow:var(--ui-shadow-rest,0 8px 22px rgba(24,67,126,.08))}.platform-series-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:0 2px 14px;border-bottom:1px solid #e5edf7}.platform-series-panel-heading>div{display:flex;align-items:center;min-width:0;gap:9px}.platform-series-panel-heading svg{flex:0 0 auto;width:20px;height:20px;color:var(--blue-dark,#1748b5)}.platform-series-panel-heading h2{margin:0;color:var(--navy);font-size:17px;line-height:1.3}.platform-series-panel-heading>span{flex:0 0 auto;color:var(--muted);font-size:12px;font-weight:850}.platform-series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;min-width:0}.platform-series-grid>div{min-width:0}.platform-series-card{position:relative;display:grid;grid-template-columns:clamp(96px,10vw,128px) minmax(0,1fr) auto 22px;align-items:center;gap:20px;width:100%;min-height:220px;overflow:hidden;border:2px solid transparent;border-radius:var(--ui-radius-lg,24px);padding:22px;color:var(--ink);background:var(--ui-surface-interactive,#fff);box-shadow:var(--ui-shadow-rest,0 8px 22px rgba(24,67,126,.08));text-align:left;cursor:pointer;transition:transform var(--ui-duration-fast,.16s) var(--ui-ease-standard,ease),border-color var(--ui-duration-fast,.16s) var(--ui-ease-standard,ease),box-shadow var(--ui-duration-base,.22s) var(--ui-ease-standard,ease)}.platform-series-card:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;opacity:.9;pointer-events:none}.platform-series-card.python:before{background:radial-gradient(circle at 100% 0,rgba(73,155,255,.17),transparent 38%),linear-gradient(145deg,#fff,#f2f8ff)}.platform-series-card.scratch:before{background:radial-gradient(circle at 100% 0,rgba(255,149,72,.2),transparent 38%),linear-gradient(145deg,#fff,#fff7ef)}.platform-series-card.cpp:before{background:radial-gradient(circle at 100% 0,rgba(18,154,139,.18),transparent 38%),linear-gradient(145deg,#fff,#eefaf6)}.platform-series-card.future:before{background:radial-gradient(circle at 100% 0,rgba(99,102,241,.16),transparent 38%),linear-gradient(145deg,#fff,#f6f5ff)}.platform-series-card>*{position:relative;z-index:1}.platform-series-card:hover{border-color:var(--ui-border-strong,#b9cfea);transform:translateY(-2px);box-shadow:var(--ui-shadow-raised,0 16px 36px rgba(24,67,126,.12))}.platform-series-card:focus-visible{border-color:var(--blue);outline:none;box-shadow:var(--ui-focus-ring),var(--ui-shadow-raised,0 16px 36px rgba(24,67,126,.12))}.platform-series-card:active{transform:translateY(0)}.platform-series-icon{display:grid;place-items:center;width:86px;height:86px;justify-self:center;border-radius:24px;color:#fff;box-shadow:inset 0 1px #ffffff4d,0 10px 22px #275aaa33}.platform-series-card.python .platform-series-icon{background:linear-gradient(145deg,#43b6ec,#376ee2)}.platform-series-card.scratch .platform-series-icon{background:linear-gradient(145deg,#ffbd52,#f06f48)}.platform-series-card.cpp .platform-series-icon{background:linear-gradient(145deg,#20b99f,#1678a6)}.platform-series-card.future .platform-series-icon{background:linear-gradient(145deg,#7c8cff,#624bd9)}.platform-series-icon svg{width:38px;height:38px}.platform-series-cover{display:block;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:22px;background:#edf3fb;box-shadow:0 14px 30px #275aaa33}.platform-series-cover img{display:block;width:100%;height:100%;object-fit:cover}.platform-series-card>div{min-width:0}.platform-series-card>div>small{color:#6682a7;font-size:11px;font-weight:950;letter-spacing:.12em}.platform-series-card>div>strong{display:block;margin-top:5px;color:var(--navy);font-size:21px}.platform-series-card p{margin:8px 0;color:var(--muted);font-size:13px;line-height:1.55}.platform-series-card em{color:#315f94;font-size:12px;font-style:normal;font-weight:850}.platform-series-count{display:grid;justify-items:center;min-width:60px;border:1px solid #d7e5f5;border-radius:var(--ui-radius-md,18px);padding:10px;background:var(--ui-surface-solid,#fff)}.platform-series-count strong{color:var(--navy);font-size:22px}.platform-series-count small{color:var(--muted);font-size:11px}.platform-series-card>svg{color:#7a91b1}.platform-course-detail-page{grid-template-rows:auto minmax(0,1fr);gap:12px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.platform-stage-toolbar{--stage-accent: #2764e7;display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;min-height:56px;padding:0 calc(var(--platform-series-panel-padding) + 3px) 12px 0;border-bottom:1px solid #e5edf7}.platform-stage-grid{display:flex;align-self:start;gap:14px;min-width:0;min-height:0;width:100%;height:min(100%,620px);max-height:620px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-gutter:auto;scrollbar-width:thin}.platform-stage-card{--stage-accent: #1f5fa7;--stage-soft: #eaf4ff;display:grid;grid-template-rows:auto minmax(0,1fr);flex:0 0 calc((100% - 28px)/3);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:1px solid #d5e2f0;border-top:5px solid var(--stage-accent);border-radius:18px;background:#fff;box-shadow:0 12px 28px #1b498714;scroll-snap-align:start}.platform-stage-card:nth-child(3n+2){--stage-accent: #0f6e57;--stage-soft: #e8f7f2}.platform-stage-card:nth-child(3n){--stage-accent: #8f4a12;--stage-soft: #fff2e4}.platform-stage-card>header{position:relative;min-height:166px;border-bottom:1px solid #e2eaf3;padding:17px 18px 15px;background:linear-gradient(180deg,var(--stage-soft),#fff)}.platform-stage-back{position:static;flex:0 0 auto;width:44px;height:44px;border-color:color-mix(in srgb,var(--stage-accent,#2764e7) 22%,#fff);color:var(--stage-accent,#2764e7);background:#ffffffe0;box-shadow:0 5px 14px #1c48871a}.platform-stage-back:hover,.platform-stage-back:focus-visible{border-color:var(--stage-accent,#2764e7);background:#fff}.platform-stage-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.platform-stage-title-row>span{color:var(--stage-accent);font-size:12px;font-weight:900}.platform-stage-title-row>strong{flex:0 0 auto;border-radius:999px;padding:5px 9px;color:var(--stage-accent);background:color-mix(in srgb,var(--stage-soft) 78%,#fff);font-size:12px}.platform-stage-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:8px 0 9px}.platform-stage-card h2{min-width:0;margin:0;overflow:hidden;color:var(--navy);font-size:20px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.cpp-course-catalog .platform-stage-heading-row{grid-template-columns:minmax(0,1fr)}.cpp-course-catalog .platform-stage-card h2{white-space:normal;overflow-wrap:anywhere;line-height:1.4}.cpp-course-catalog .platform-stage-card header p+p{margin-top:10px}.cpp-course-catalog .platform-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;height:auto;max-height:100%;overflow-x:hidden;overflow-y:auto}.cpp-course-catalog .platform-stage-card{height:auto}.cpp-course-catalog .platform-stage-lessons{overflow:visible}@media(max-width:780px){.cpp-course-catalog .platform-stage-grid{grid-template-columns:minmax(0,1fr)}}.platform-stage-add-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;border:1px solid var(--stage-accent);border-radius:9px;padding:0 10px;color:#fff;background:var(--stage-accent);font-size:12px;font-weight:850;white-space:nowrap}.platform-stage-add-button:hover:not(:disabled),.platform-stage-add-button:focus-visible:not(:disabled){filter:brightness(.94);box-shadow:0 6px 14px color-mix(in srgb,var(--stage-accent) 20%,transparent)}.platform-stage-add-button:disabled{cursor:not-allowed;opacity:.62}.platform-stage-add-button svg{width:16px;height:16px}.platform-stage-card header p{display:grid;gap:3px;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.platform-stage-card header p>strong{color:#405b7c;font-size:12px}.platform-stage-card header p>span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.platform-stage-lessons{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;margin:0;padding:4px 14px 12px;list-style:none}.platform-stage-lessons:focus-visible{outline:3px solid color-mix(in srgb,var(--stage-accent) 34%,transparent);outline-offset:-3px}.platform-stage-lessons li{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;border-bottom:1px solid #e6edf5;padding:8px 2px}.platform-stage-lessons li:last-child{border-bottom:0}.platform-stage-lessons li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--stage-accent);background:var(--stage-soft);font-size:12px;font-weight:900}.platform-stage-lessons li>div{min-width:0}.platform-stage-lessons strong{display:block;overflow:hidden;color:var(--navy);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.platform-stage-lessons small{display:block;overflow:hidden;margin-top:4px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.platform-stage-empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:0;padding:24px;color:var(--muted);text-align:center}.platform-stage-empty svg{width:34px;height:34px;color:var(--stage-accent)}.platform-stage-empty strong{color:var(--navy);font-size:15px}.platform-stage-empty span{font-size:13px}.teacher-class-course-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:0}.teacher-class-course-choice legend{margin-bottom:9px;color:var(--navy);font-weight:900}.teacher-class-course-option{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;min-height:88px;border:2px solid #dce7f3;border-radius:17px;padding:13px;background:#fff;cursor:pointer}.teacher-class-course-option:has(input:checked){border-color:#438de8;background:#f1f7ff;box-shadow:0 0 0 4px #438de817}.teacher-class-course-option.scratch:has(input:checked){border-color:#f58b45;background:#fff7ef;box-shadow:0 0 0 4px #f58b4517}.teacher-class-course-option input{position:absolute;opacity:0;pointer-events:none}.teacher-class-course-option>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#43b6ec,#376ee2)}.teacher-class-course-option.scratch>span{background:linear-gradient(145deg,#ffbd52,#f06f48)}.teacher-class-course-option svg{width:23px;height:23px}.teacher-class-course-option strong{display:block;color:var(--navy);font-size:15px}.teacher-class-course-option small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.class-course-badge{display:inline-flex;align-items:center;width:fit-content;margin-top:7px;border-radius:999px;padding:4px 9px;color:#2262a5;background:#e7f2ff;font-size:11px;font-style:normal;font-weight:900}.class-course-badge.scratch{color:#bd5a25;background:#fff0e4}@media(max-width:850px){.platform-series-grid{grid-template-columns:1fr}.platform-stage-card{flex-basis:290px}}@media(max-width:600px){.platform-course-library{--platform-series-panel-padding: 14px}.platform-course-overview{gap:12px}.platform-series-heading{align-items:center;padding-inline:2px}.platform-series-heading h1{font-size:24px}.platform-series-heading p{max-width:240px;font-size:12px}.platform-series-heading>strong{min-width:62px;min-height:56px;border-radius:var(--ui-radius-sm,12px);padding:7px 10px;font-size:21px}.platform-series-panel{border-radius:var(--ui-radius-md,18px);padding:14px}.platform-series-panel-heading{margin-bottom:12px;padding-bottom:11px}.platform-series-card{grid-template-columns:68px minmax(0,1fr);min-height:0;gap:13px;padding:16px}.platform-series-card>div>strong{font-size:19px;line-height:1.25}.platform-series-icon{width:58px;height:58px;border-radius:17px}.platform-series-icon svg{width:27px;height:27px}.platform-series-cover{width:68px;border-radius:17px}.platform-series-count,.platform-series-card>svg{display:none}.platform-stage-toolbar{min-height:44px;padding-bottom:10px}.platform-stage-grid{gap:10px;max-height:560px}.platform-stage-card{flex-basis:278px}.platform-stage-card>header{min-height:160px;padding:15px 16px 13px}.platform-stage-heading-row{grid-template-columns:minmax(0,1fr);align-items:start}.platform-stage-add-button{width:100%;min-height:44px;padding-inline:8px}.platform-stage-lessons{padding-right:10px;padding-left:10px}.teacher-class-course-choice{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.platform-series-card{transition:none}.platform-series-card:hover,.platform-series-card:active{transform:none}}.app-layout:has(.assignment-center),html:has(.assignment-center),body:has(.assignment-center){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.assignment-center){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.assignment-center)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.assignment-center){height:calc(100dvh - 76px);min-height:0;max-width:none;padding:16px clamp(16px,2vw,30px);overflow:hidden}.assignment-center{display:grid;min-width:0;min-height:0;height:100%;gap:12px;color:var(--ink)}.assignment-center .button-primary{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 7px 16px #2d7eea33}.assignment-center .button-primary:hover:not(:disabled),.assignment-center .button-primary:focus-visible:not(:disabled){color:#fff;border-color:var(--blue-dark);background:var(--blue-dark);box-shadow:0 9px 20px #2d7eea47}.assignment-overview,.assignment-workspace{grid-template-rows:auto minmax(0,1fr)}.assignment-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0;min-height:58px}.assignment-toolbar>div:first-child{min-width:0}.assignment-overview>.assignment-toolbar{align-items:end}.assignment-title-group{display:grid;justify-items:start;min-width:0}.assignment-toolbar h1{margin:0;overflow:hidden;color:var(--navy);font-size:25px;line-height:1.2;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.assignment-toolbar p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.assignment-overview-tabs{display:inline-grid;grid-template-columns:repeat(2,auto);gap:3px;margin-top:9px;border:1px solid #d2e1f2;border-radius:7px;padding:3px;background:#eaf2fc}.assignment-overview-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:34px;border:0;border-radius:5px;padding:6px 13px;color:#516b89;background:transparent;font-size:14px;font-weight:850;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.assignment-overview-tabs button:hover{color:var(--blue-dark);background:#ffffffb8}.assignment-overview-tabs button:focus-visible{outline:3px solid rgba(45,126,234,.22);outline-offset:2px}.assignment-overview-tabs button[aria-selected=true]{color:#fff;background:var(--blue);box-shadow:0 4px 10px #2d7eea33}.assignment-overview-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;padding:0 6px;color:#4e6988;background:#ffffffd1;font-size:12px;font-weight:900}.assignment-overview-tabs button[aria-selected=true] span{color:var(--blue-dark);background:#fff}.assignment-toolbar-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px}.assignment-toolbar-actions>label{display:grid;grid-template-columns:auto minmax(140px,200px);align-items:center;gap:8px}.assignment-toolbar-actions label>span{color:#5e7390;font-size:12px;font-weight:850}.assignment-toolbar-actions select,.assignment-toolbar-actions .button{min-height:42px}.assignment-detail-toolbar{grid-template-columns:auto minmax(0,1fr) auto;border-bottom:1px solid #d7e3f1;padding-bottom:10px}.assignment-list-panel{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;border-radius:8px;padding:18px}.assignment-list-panel>.empty-state{min-height:100%;border:0;background:transparent}.assignment-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px}.assignment-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:158px;overflow:hidden;border:1px solid #d6e3f2;border-radius:8px;padding:16px 18px;color:var(--ink);background:#fff;text-align:left;box-shadow:0 8px 22px #19427b12;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.assignment-card:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:#438de8}.assignment-card.student:before{background:#24a77b}.assignment-card:hover,.assignment-card:focus-visible{transform:translateY(-2px);border-color:#8eb9ec;outline:none;box-shadow:0 12px 26px #19427b1f}.assignment-card>div{min-width:0;padding-right:72px}.assignment-card small{color:#537395;font-size:13px;font-weight:850}.assignment-card h2{margin:7px 0;overflow:hidden;color:var(--navy);font-size:20px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.assignment-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-card>svg{align-self:center;color:#849ab7}.assignment-card footer{grid-column:1 / -1;display:flex;align-items:center;gap:18px;min-width:0;border-top:1px solid #edf2f8;padding-top:10px;color:#4f6d90;font-size:14px;font-weight:750;line-height:1.35}.assignment-card footer span{display:inline-flex;align-items:center;gap:5px;min-width:0}.assignment-card footer svg{flex:0 0 auto;width:16px;height:16px}.assignment-status{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:999px;padding:5px 9px;color:#315f94;background:#e9f3ff;font-size:12px;font-weight:900}.assignment-card>.assignment-status{position:absolute;top:15px;right:18px}.assignment-status.draft{color:#8b5513;background:#fff3ce}.assignment-status.published,.assignment-status.submitted{color:#087152;background:#dff8ee}.assignment-status.expired{color:#9b3d33;background:#ffebe8}.assignment-status.in_progress,.assignment-status.pending{color:#245f9d;background:#e6f1ff}.assignment-save-state{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:#5d718b;font-size:12px;font-weight:850;white-space:nowrap}.assignment-save-state svg{width:16px;height:16px}.assignment-save-state.saved{color:#087152}.assignment-save-state.failed{color:#b02c37}.assignment-editor-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:12px;min-width:0;min-height:0}.assignment-settings-panel,.assignment-question-panel,.assignment-report-panel,.student-assignment-summary,.student-question-panel{min-width:0;min-height:0;border-radius:8px;box-shadow:0 8px 24px #19427b12}.assignment-settings-panel{align-content:start;display:grid;gap:12px;overflow-y:auto;scrollbar-width:thin;padding:16px}.assignment-settings-panel>label,.assignment-question-editor>label,.assignment-review-dialog label{display:grid;gap:6px;color:#48627f;font-size:13px;font-weight:850}.assignment-deadline-field{display:grid;gap:6px;min-width:0;margin:0;border:0;padding:0}.assignment-deadline-field legend{margin-bottom:6px;padding:0;color:#48627f;font-size:13px;font-weight:850}.assignment-deadline-picker{display:grid;grid-template-columns:minmax(124px,1fr) minmax(76px,.58fr) minmax(76px,.58fr);gap:6px;min-width:0}.assignment-deadline-picker label{display:grid;gap:4px;min-width:0;color:#607691;font-size:13px;font-weight:850}.assignment-deadline-picker input,.assignment-deadline-picker select{width:100%;min-width:0;min-height:40px;padding-inline:8px;font-size:13px}.assignment-settings-panel textarea,.assignment-question-editor textarea,.assignment-review-dialog textarea{resize:none}.assignment-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e2eaf4;padding-bottom:12px}.assignment-panel-heading>div{display:flex;align-items:center;gap:9px}.assignment-panel-heading>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;color:#fff;background:#2f75cf;font-size:11px;font-weight:900}.assignment-panel-heading h2{margin:0;color:var(--navy);font-size:17px}.assignment-panel-heading small{color:#087152;font-size:12px;font-weight:850}.assignment-language-note{display:flex;align-items:center;gap:10px;border:1px solid #d9e7f5;border-radius:8px;padding:11px;background:#f4f9ff}.assignment-language-note>svg{flex:0 0 auto;width:24px;height:24px;color:#2f75cf}.assignment-language-note strong,.assignment-language-note small{display:block}.assignment-language-note strong{color:var(--navy);font-size:13px}.assignment-language-note small{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.4}.assignment-publish-check{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-top:1px solid #e2eaf4;padding-top:12px}.assignment-publish-check>strong{grid-column:1 / -1;color:var(--navy);font-size:13px}.assignment-publish-check span{position:relative;padding-left:19px;color:#71839b;font-size:12px}.assignment-publish-check span:before{content:"";position:absolute;top:1px;left:0;width:12px;height:12px;border:1px solid #aebdce;border-radius:50%}.assignment-publish-check span.done{color:#087152}.assignment-publish-check span.done:before{border-color:#26a77b;background:#26a77b;box-shadow:inset 0 0 0 3px #fff}.assignment-question-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.assignment-question-panel>header,.student-question-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dce6f2;padding:13px 16px}.assignment-question-panel>header h2,.student-question-panel>header h2{margin:0;color:var(--navy);font-size:17px}.assignment-question-panel>header p,.student-question-panel>header p{margin:3px 0 0;color:var(--muted);font-size:12px}.assignment-question-panel>header>div:last-child{display:flex;gap:7px}.assignment-question-panel>header .button{min-height:38px;padding:7px 11px;font-size:13px}.assignment-question-scroll,.student-question-scroll,.assignment-review-scroll{contain:layout paint;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.assignment-question-scroll{display:grid;align-content:start;gap:10px;padding:12px}.assignment-question-editor{display:grid;gap:11px;border:1px solid #dce6f2;border-radius:8px;padding:14px;background:#fff}.assignment-question-editor>header{display:grid;grid-template-columns:auto minmax(180px,250px) 90px auto;align-items:center;gap:10px}.assignment-question-editor>header>span{color:var(--navy);font-size:13px;font-weight:900}.assignment-question-editor .segmented-control{margin:0}.assignment-question-editor .segmented-control button{min-height:34px;font-size:13px}.assignment-question-editor>header>label{display:grid;grid-template-columns:auto 54px;align-items:center;gap:6px;color:#607691;font-size:13px;font-weight:850}.assignment-question-editor>header input{min-height:34px;padding:5px 7px}.assignment-question-editor fieldset{display:grid;gap:7px;margin:0;border:0;padding:0}.assignment-question-editor legend{margin-bottom:3px;color:#48627f;font-size:13px;font-weight:850}.assignment-option-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px}.assignment-option-row input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:#2d7eea}.assignment-option-row .icon-button{width:36px;height:36px}.assignment-question-editor fieldset>.button{justify-self:start;min-height:34px;padding:5px 9px;font-size:12px}.assignment-report-layout{display:grid;grid-template-rows:auto minmax(0,1fr);gap:11px;min-height:0}.assignment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.assignment-metrics article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 8px;border:1px solid #dce6f2;border-radius:8px;padding:12px 14px;background:#fff}.assignment-metrics span,.assignment-metrics small{color:var(--muted);font-size:10px}.assignment-metrics strong{grid-column:2;grid-row:1 / 3;color:var(--navy);font-size:24px}.assignment-report-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.assignment-report-tabs{display:flex;gap:5px;border-bottom:1px solid #dce6f2;padding:8px 12px}.assignment-report-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:0;border-radius:7px;padding:7px 11px;color:#60748f;background:transparent;font-size:11px;font-weight:850}.assignment-report-tabs button.active{color:#175cae;background:#e9f3ff}.assignment-report-tabs svg{width:15px;height:15px}.assignment-student-table,.assignment-question-stats{min-height:0;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin}.assignment-student-table>header,.assignment-student-table>article{display:grid;grid-template-columns:minmax(220px,1fr) 120px 100px 100px;align-items:center;gap:12px;min-width:650px;padding:10px 15px}.assignment-student-table>header{position:sticky;top:0;z-index:1;color:#71839b;background:#f6f9fd;font-size:10px;font-weight:850}.assignment-student-table>article{border-bottom:1px solid #edf2f7}.assignment-student-table>article>div{display:flex;align-items:center;gap:9px}.assignment-rank{width:22px;color:#71839b;font-size:11px;text-align:center}.assignment-avatar{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;overflow:hidden;border-radius:7px;color:#fff;background:#3487df;font-size:12px;font-weight:900}.assignment-avatar img{width:100%;height:100%;object-fit:cover}.assignment-student-table article>strong{color:var(--navy);font-size:14px}.assignment-student-table .button{min-height:34px;padding:5px 9px;font-size:10px}.assignment-student-status{width:max-content;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850}.assignment-student-status.submitted{color:#087152;background:#dff8ee}.assignment-student-status.in_progress{color:#8b5513;background:#fff3ce}.assignment-student-status.not_started{color:#68798f;background:#edf1f6}.assignment-question-stats{display:grid;align-content:start;gap:8px;padding:12px}.assignment-question-stats article{display:grid;grid-template-columns:60px minmax(180px,1fr) minmax(120px,.7fr) 70px;align-items:center;gap:12px;border:1px solid #dce6f2;border-radius:8px;padding:12px}.assignment-question-stats article>span{color:#35699f;font-size:11px;font-weight:900}.assignment-question-stats strong,.assignment-question-stats small{display:block}.assignment-question-stats strong{overflow:hidden;color:var(--navy);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assignment-question-stats small{margin-top:3px;color:var(--muted);font-size:10px}.assignment-wrong-bar{height:7px;overflow:hidden;border-radius:999px;background:#e7edf4}.assignment-wrong-bar i{display:block;height:100%;border-radius:inherit;background:#e86d56}.assignment-question-stats b{color:#a94336;font-size:17px;text-align:right}.assignment-question-stats b small{font-weight:500}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0a1b357a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.assignment-dialog{display:grid;justify-items:center;width:min(430px,100%);border:1px solid #dce6f2;border-radius:8px;padding:26px;background:#fff;box-shadow:0 24px 70px #081d3b40;text-align:center}.assignment-dialog>svg{width:38px;height:38px;color:#e47a34}.assignment-delete-dialog .button-danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #c84d42;border-radius:8px;padding:8px 14px;color:#fff;background:#c84d42;font-weight:850}.assignment-delete-dialog .button-danger:hover:not(:disabled),.assignment-delete-dialog .button-danger:focus-visible:not(:disabled){background:#a93831}.assignment-delete-dialog .button-danger svg{width:16px;height:16px}.assignment-dialog h2{margin:13px 0 7px;color:var(--navy);font-size:20px}.assignment-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.assignment-dialog>div{display:flex;justify-content:center;gap:8px;margin-top:20px}.assignment-create-dialog label{display:grid;gap:6px;width:100%;margin-top:18px;color:#48627f;font-size:13px;font-weight:850;text-align:left}.assignment-create-dialog select{width:100%;min-height:44px}.assignment-review-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,100%);max-height:min(88dvh,760px);overflow:hidden;border-radius:8px;background:#f7faff;box-shadow:0 24px 70px #081d3b47}.assignment-review-dialog>header,.assignment-review-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;background:#fff}.assignment-review-dialog>header{border-bottom:1px solid #dce6f2}.assignment-review-dialog>header>div{display:flex;align-items:center;gap:10px}.assignment-review-dialog h2{margin:0;color:var(--navy);font-size:17px}.assignment-review-dialog header p{margin:3px 0 0;color:var(--muted);font-size:10px}.assignment-review-dialog>footer{justify-content:flex-end;border-top:1px solid #dce6f2}.assignment-review-scroll{display:grid;align-content:start;gap:10px;padding:13px}.assignment-review-scroll>label,.assignment-review-scroll>article{border:1px solid #dce6f2;border-radius:8px;padding:13px;background:#fff}.assignment-review-scroll article{display:grid;gap:9px}.assignment-review-scroll article>header{display:flex;justify-content:space-between}.assignment-review-scroll article>header span{color:#35699f;font-size:11px;font-weight:900}.assignment-review-scroll article>header strong{font-size:10px}.assignment-review-scroll .correct{color:#087152}.assignment-review-scroll .wrong{color:#b13b34}.assignment-review-scroll article>p{margin:0;color:var(--navy);font-size:13px;font-weight:800}.assignment-review-scroll dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.assignment-review-scroll dl>div{border-radius:7px;padding:8px;background:#f3f7fc}.assignment-review-scroll dt{color:var(--muted);font-size:9px}.assignment-review-scroll dd{margin:3px 0 0;color:var(--ink);font-size:11px}.role-student .app-main:has(.assignment-center){height:100%;min-height:0;padding:14px clamp(16px,3vw,36px);overflow:hidden}.student-assignment-layout{display:grid;grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:12px;min-width:0;min-height:0}.student-assignment-summary{display:grid;align-content:start;justify-items:center;gap:15px;overflow-y:auto;scrollbar-width:thin;padding:18px;text-align:center}.assignment-progress-ring{--progress: 0%;display:grid;place-items:center;align-content:center;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#fff 57%,transparent 59%),conic-gradient(#2ea77d var(--progress),#e5edf5 0)}.assignment-progress-ring strong{color:var(--navy);font-size:20px}.assignment-progress-ring small{color:var(--muted);font-size:9px}.student-assignment-summary h2{margin:5px 0 7px;color:var(--navy);font-size:17px;line-height:1.35}.student-assignment-summary p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.student-assignment-summary>.button{width:100%}.student-score-panel{width:100%;border-top:1px solid #dce6f2;padding-top:14px}.student-score-panel>span{color:var(--muted);font-size:10px}.student-score-panel>strong{display:block;margin:4px 0 10px;color:#087152;font-size:38px}.student-score-panel>strong small{color:#71839b;font-size:14px}.student-score-panel p{border-radius:7px;padding:10px;background:#eff9f5;text-align:left}.student-score-panel p b{display:block;margin-bottom:3px;color:#087152}.assignment-deadline-note{display:flex;align-items:center;gap:9px;border:1px solid #f1c6c0;border-radius:8px;padding:10px;color:#a4453a;background:#fff3f1;text-align:left}.assignment-deadline-note svg{flex:0 0 auto;width:20px}.assignment-deadline-note strong,.assignment-deadline-note small{display:block}.assignment-deadline-note strong{font-size:11px}.assignment-deadline-note small{margin-top:2px;font-size:9px;line-height:1.45}.student-question-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.student-question-panel>header>span{display:inline-flex;align-items:center;gap:5px;color:#087152;font-size:10px;font-weight:850}.student-question-panel>header svg{width:14px}.student-question-scroll{display:grid;align-content:start;gap:10px;padding:12px}.student-assignment-question{display:grid;gap:13px;border:1px solid #dce6f2;border-radius:8px;padding:16px;background:#fff}.student-assignment-question.correct{border-left:4px solid #2eaa7e}.student-assignment-question.wrong{border-left:4px solid #e16954}.student-assignment-question>header{display:flex;align-items:center;gap:10px}.student-assignment-question>header span{color:#35699f;font-size:11px;font-weight:900}.student-assignment-question>header strong{margin-left:auto;color:#607691;font-size:11px}.student-assignment-question>header b{border-radius:999px;padding:4px 7px;color:#355f50;background:#e4f7ef;font-size:9px}.student-assignment-question.wrong>header b{color:#a4453a;background:#ffebe8}.student-assignment-question h3{margin:0;color:var(--navy);font-size:15px;line-height:1.55}.student-assignment-question fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;border:0;padding:0}.student-assignment-question fieldset label{display:grid;grid-template-columns:18px 28px minmax(0,1fr);align-items:center;gap:8px;min-height:45px;border:1px solid #dce6f2;border-radius:7px;padding:7px 10px;cursor:pointer}.student-assignment-question fieldset label:has(input:checked){border-color:#438de8;background:#edf6ff;box-shadow:0 0 0 2px #438de81a}.student-assignment-question fieldset input{width:17px;height:17px;min-height:17px;accent-color:#2d7eea}.student-assignment-question fieldset label>span{display:grid;place-items:center;width:25px;height:25px;border-radius:6px;color:#35699f;background:#e8f2ff;font-size:10px;font-weight:900}.student-assignment-question fieldset label>strong{color:var(--ink);font-size:11px;line-height:1.4}.student-fill-answer{display:grid;gap:6px;color:#48627f;font-size:10px;font-weight:850}.student-answer-review{display:grid;gap:8px;border-top:1px solid #e1e9f3;padding-top:11px}.student-answer-review dl{display:grid;gap:7px;margin:0}.student-answer-review dl>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;border-radius:7px;padding:8px 10px;background:#f4f8fc}.student-answer-review dt{color:#607691;font-size:10px;font-weight:850}.student-answer-review dd{margin:0;color:var(--ink);font-size:11px}.student-answer-review>p{display:flex;gap:8px;margin:0;border:1px solid #bee6d6;border-radius:7px;padding:9px;color:#176a51;background:#effaf6;font-size:10px}.student-answer-review>p svg{flex:0 0 auto;width:16px}.student-answer-review>p b,.student-answer-review>p span{display:block}.student-answer-review>p b{margin-bottom:2px}@media(max-width:1100px){.assignment-card-grid{grid-template-columns:1fr}.assignment-editor-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr)}.assignment-question-editor>header{grid-template-columns:auto minmax(150px,1fr) 80px auto}}@media(max-width:900px){.app-body:has(.assignment-center){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.assignment-center)>.app-sidebar{position:static;height:auto}.app-main:has(.assignment-center){height:100%;padding:12px 14px}.assignment-editor-layout,.student-assignment-layout{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.assignment-toolbar-actions label>span{display:none}.assignment-question-editor>header{grid-template-columns:auto minmax(120px,1fr) auto}.assignment-question-editor>header>label{display:none}.assignment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-assignment-question fieldset{grid-template-columns:1fr}}@media(max-width:700px){.app-body:has(.assignment-center){height:calc(100dvh - 68px)}.assignment-toolbar{grid-template-columns:minmax(0,1fr) auto}.assignment-toolbar>.assignment-toolbar-actions{grid-column:1 / -1;justify-content:stretch}.assignment-toolbar-actions>label{flex:1;grid-template-columns:minmax(0,1fr)}.assignment-toolbar-actions .button{flex:1}.assignment-detail-toolbar{grid-template-columns:auto minmax(0,1fr)}.assignment-detail-toolbar>.assignment-toolbar-actions,.assignment-detail-toolbar>.assignment-save-state,.assignment-detail-toolbar>.assignment-status{grid-column:1 / -1;justify-self:stretch}.assignment-detail-toolbar>.assignment-toolbar-actions{display:grid;grid-template-columns:auto 1fr 1fr}.assignment-editor-layout,.student-assignment-layout{grid-template-columns:1fr;grid-template-rows:minmax(130px,.36fr) minmax(0,1fr)}.assignment-settings-panel{display:grid;grid-template-columns:1fr 1fr;align-content:start}.assignment-settings-panel .assignment-panel-heading,.assignment-settings-panel>label:last-of-type,.assignment-language-note,.assignment-publish-check{display:none}.student-assignment-summary{grid-template-columns:80px minmax(0,1fr) auto;align-items:center;justify-items:stretch;overflow:hidden;padding:11px;text-align:left}.assignment-progress-ring{width:72px;height:72px}.student-assignment-summary .eyebrow,.student-assignment-summary p{display:none}.student-assignment-summary h2{margin:0;font-size:14px}.student-assignment-summary>.button{width:auto}.student-score-panel,.assignment-deadline-note{grid-column:1 / -1}.student-score-panel>strong{display:inline;margin-left:8px;font-size:24px}.student-score-panel p{margin-top:8px}.assignment-card footer{flex-wrap:wrap;gap:7px 12px}.assignment-review-dialog{max-height:94dvh}}@media(max-width:480px){.assignment-toolbar h1{font-size:20px}.assignment-toolbar p{display:none}.assignment-list-panel{padding:9px}.assignment-card{min-height:155px;padding:15px}.assignment-card>div{padding-right:64px}.assignment-card>.assignment-status{top:13px;right:15px}.assignment-question-panel>header{align-items:flex-start}.assignment-question-panel>header>div:last-child{display:grid}.assignment-question-panel>header .button{min-height:34px}.assignment-question-editor>header{grid-template-columns:auto minmax(110px,1fr) auto}.assignment-question-editor{padding:11px}.assignment-settings-panel{grid-template-columns:1fr}.assignment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-metrics article{padding:8px}.assignment-metrics strong{font-size:19px}.student-assignment-summary{grid-template-columns:68px minmax(0,1fr)}.student-assignment-summary>.button{grid-column:1 / -1;width:100%;min-height:38px}.assignment-progress-ring{width:62px;height:62px}.student-question-scroll{padding:8px}.student-assignment-question{padding:12px}.assignment-dialog{padding:22px 16px}.assignment-dialog>div{width:100%}.assignment-dialog .button{flex:1}}.assignment-student-table>header,.assignment-student-table>article{grid-template-columns:minmax(150px,1fr) 100px 80px minmax(150px,auto)}.assignment-row-actions{flex-wrap:wrap;justify-content:flex-end}.assignment-dialog>label{display:grid;gap:8px;width:100%;margin-top:16px;text-align:left}.assignment-dialog input[type=datetime-local]{min-width:0;width:100%;padding:10px;border:1px solid #cdddf0;border-radius:8px;color:var(--navy);background:#f7faff}.assignment-student-status.returned,.assignment-status.returned{color:#986018;background:#fff4d9}.student-assignment-workspace:has(.assignment-returned-note){grid-template-rows:auto auto minmax(0,1fr)}.assignment-returned-note{margin:0;padding:9px 12px;border-radius:8px;background:#fff4d9;color:#80521e;font-size:13px}.assignment-review-scroll details{margin-bottom:14px;padding:12px;border:1px solid #dce6f2;border-radius:8px}.assignment-makeup-deadline{display:block;margin-top:4px;color:#647a97;font-size:10px;line-height:1.4}@media(max-width:600px){.assignment-student-table{overflow-x:hidden}.assignment-student-table>header{display:none}.assignment-student-table>article{min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 12px}.assignment-student-table>article>div:first-child{grid-column:1 / -1;min-width:0}.assignment-student-table>article>div:first-child strong{overflow-wrap:anywhere}.assignment-student-table .assignment-row-actions{grid-column:1 / -1;justify-content:flex-start}.assignment-student-table .assignment-row-actions .button{min-height:40px;font-size:12px}}.app-layout:has(.feedback-center){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.feedback-center){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-main:has(.feedback-center){height:100%;min-height:0;padding:14px 18px;overflow:hidden}.principal-ops-content:has(>.feedback-center){height:100%;min-height:0}.feedback-center{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;height:100%;min-height:0;color:#263b57}.feedback-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}.feedback-toolbar>div{display:flex;align-items:center;gap:11px;min-width:0}.feedback-toolbar-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#fff;background:#2d7eea}.feedback-toolbar-icon svg{width:20px;height:20px}.feedback-toolbar h1{margin:0;color:var(--navy);font-size:24px;letter-spacing:0}.feedback-new-button,.feedback-submit-button,.feedback-approve-button{color:#fff;background:#2d7eea;box-shadow:0 7px 16px #2d7eea2e}.feedback-new-button:hover:not(:disabled),.feedback-new-button:focus-visible:not(:disabled),.feedback-submit-button:hover:not(:disabled),.feedback-submit-button:focus-visible:not(:disabled),.feedback-approve-button:hover:not(:disabled),.feedback-approve-button:focus-visible:not(:disabled){background:#1d68c9;box-shadow:0 9px 20px #2d7eea3d}.feedback-view-tabs{display:flex;gap:5px;width:max-content;border:1px solid #d7e3f1;border-radius:8px;padding:4px;background:#eef4fb}.feedback-view-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:0;border-radius:6px;padding:7px 14px;color:#4f6582;background:transparent;font-size:14px;font-weight:850}.feedback-view-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:6px;padding:0 5px;color:#60748e;background:#dfe9f5;font-size:12px}.feedback-view-tabs button.active{color:#165fac;background:#fff;box-shadow:0 3px 10px #123e7517}.feedback-view-tabs button.active span{color:#fff;background:#2d7eea}.feedback-workspace{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);gap:12px;min-height:0}.feedback-list-panel,.feedback-detail-panel{min-width:0;min-height:0;overflow:hidden;border:1px solid #d6e2f0;border-radius:8px;background:#fff;box-shadow:0 8px 24px #143b6d0f}.feedback-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.feedback-list-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid #e1e9f3;padding:10px 14px}.feedback-list-panel>header strong{color:var(--navy);font-size:15px}.feedback-list-panel>header span{color:#586d87;font-size:13px}.feedback-list-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.feedback-list-scroll>button{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:78px;border:0;border-bottom:1px solid #edf2f7;padding:12px 13px;color:inherit;background:#fff;text-align:left}.feedback-list-scroll>button:hover,.feedback-list-scroll>button:focus-visible{background:#f5f9ff}.feedback-list-scroll>button.active{background:#edf5ff;box-shadow:inset 3px 0 #2d7eea}.feedback-list-copy{display:grid;gap:6px;min-width:0}.feedback-list-copy strong{overflow:hidden;color:#173a67;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.feedback-list-copy small{overflow:hidden;color:#536b88;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.feedback-status-dot{width:9px;height:9px;border-radius:50%;background:#9aa8b9}.feedback-status-dot.pending{background:#d98a22;box-shadow:0 0 0 4px #d98a2221}.feedback-status-dot.processing{background:#2d7eea;box-shadow:0 0 0 4px #2d7eea21}.feedback-status-dot.resolved{background:#26a77b;box-shadow:0 0 0 4px #26a77b21}.feedback-status-dot.rejected{background:#c9564c;box-shadow:0 0 0 4px #c9564c1f}.feedback-status-badge{width:max-content;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:850;white-space:nowrap}.feedback-status-badge.pending{color:#86500d;background:#fff1cf}.feedback-status-badge.processing{color:#185fae;background:#e5f0ff}.feedback-status-badge.resolved{color:#087152;background:#dff8ee}.feedback-status-badge.rejected{color:#a33c34;background:#ffe9e6}.feedback-list-scroll .empty-state{min-height:100%;border:0;box-shadow:none}.feedback-detail-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.feedback-detail-panel>.empty-state{align-self:center;border:0;box-shadow:none}.feedback-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:82px;border-bottom:1px solid #e1e9f3;padding:14px 18px}.feedback-detail-heading>div{min-width:0}.feedback-detail-heading>div>span{color:#2a6fbf;font-size:12px;font-weight:850}.feedback-detail-heading h2{margin:4px 0;overflow:hidden;color:var(--navy);font-size:19px;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.feedback-detail-heading small{color:#586d87;font-size:12px}.feedback-detail-scroll{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:14px 18px 18px}.feedback-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid #dce7f3;border-radius:8px;padding:13px 12px;background:#f8fbff;list-style:none}.feedback-progress:has(li:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-progress li{position:relative;display:grid;justify-items:center;gap:6px;min-width:0;color:#8a99aa;text-align:center}.feedback-progress li>span{position:relative;z-index:1;display:grid;place-items:center;width:27px;height:27px;border:2px solid #c5d0dd;border-radius:50%;background:#fff}.feedback-progress li>span svg{width:14px;height:14px}.feedback-progress li small{overflow:hidden;width:100%;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.feedback-progress li i{position:absolute;z-index:0;top:13px;left:calc(50% + 13px);width:calc(100% - 26px);height:2px;background:#d2dbe6}.feedback-progress li.done{color:#087152}.feedback-progress li.done>span{color:#fff;border-color:#26a77b;background:#26a77b}.feedback-progress li.done i{background:#7dceb1}.feedback-progress li.active{color:#175fae}.feedback-progress li.active>span{color:#2d7eea;border-color:#2d7eea;box-shadow:0 0 0 4px #2d7eea1a}.feedback-progress li.rejected{color:#a33c34}.feedback-progress li.rejected>span{color:#fff;border-color:#c9564c;background:#c9564c}.feedback-detail-section,.feedback-message,.feedback-action-panel{border:1px solid #dce6f2;border-radius:8px;padding:14px 15px;background:#fff}.feedback-detail-section h3,.feedback-message h3,.feedback-action-panel h3{margin:0 0 8px;color:#22486f;font-size:14px}.feedback-detail-section p,.feedback-message p{margin:0;color:#344d69;font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-screenshot h3{display:flex;align-items:center;gap:7px}.feedback-screenshot h3 svg{width:17px;height:17px;color:#2d7eea}.feedback-screenshot a{display:block;width:max-content;max-width:100%;border-radius:6px}.feedback-screenshot img{display:block;width:auto;max-width:min(100%,720px);max-height:360px;margin-top:10px;border:1px solid #d9e4f0;border-radius:6px;object-fit:contain}.feedback-message{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px}.feedback-message>svg{width:24px;height:24px;color:#26a77b}.feedback-message.rejected{border-color:#f0c7c2;background:#fff7f6}.feedback-message.rejected>svg{color:#c9564c}.feedback-message.platform-reply{border-color:#bfe1d5;background:#f2fbf8}.feedback-message h3{margin-bottom:5px}.feedback-message small{display:block;margin-top:7px;color:#586d87;font-size:12px}.feedback-action-panel{display:grid;gap:10px;border-color:#bfd4ee;background:#f7fbff}.feedback-action-panel label{display:grid;gap:6px;color:#48627f;font-size:13px;font-weight:850}.feedback-action-panel textarea{resize:vertical}.feedback-action-panel>div{display:flex;justify-content:flex-end;gap:8px}.feedback-reject-button{color:#a33c34;border:1px solid #e3aaa4;background:#fff5f4}.feedback-reject-button:hover:not(:disabled),.feedback-reject-button:focus-visible:not(:disabled){background:#ffe8e5}.feedback-modal-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:#0a1b3585;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feedback-create-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(88dvh,760px);overflow:hidden;border:1px solid #d5e1ef;border-radius:8px;background:#fff;box-shadow:0 26px 80px #04122a4d}.feedback-create-dialog>header,.feedback-create-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.feedback-create-dialog>header{border-bottom:1px solid #dce6f2}.feedback-create-dialog>header>div{display:flex;align-items:center;gap:9px}.feedback-create-dialog>header>div>svg{width:21px;height:21px;color:#2d7eea}.feedback-create-dialog h2{margin:0;color:var(--navy);font-size:20px}.feedback-create-dialog>footer{justify-content:flex-end;border-top:1px solid #dce6f2;background:#f8fbff}.feedback-create-fields{display:grid;align-content:start;gap:14px;min-height:0;overflow-y:auto;padding:18px}.feedback-create-fields>label{display:grid;gap:7px;color:#3f5874;font-size:14px;font-weight:850}.feedback-create-fields textarea{resize:vertical}.feedback-upload-field{display:grid;gap:8px}.feedback-upload-field>span{color:#3f5874;font-size:14px;font-weight:850}.feedback-upload-field>span small{color:#74869d;font-size:12px;font-weight:650}.feedback-upload-button{display:grid;place-items:center;align-content:center;gap:8px;min-height:112px;border:1px dashed #9fb9d8;border-radius:8px;color:#2a6fbd;background:#f5f9ff;cursor:pointer}.feedback-upload-button:hover,.feedback-upload-button:focus-within{border-color:#2d7eea;background:#edf5ff}.feedback-upload-button svg{width:25px;height:25px}.feedback-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.feedback-upload-preview{position:relative;width:max-content;max-width:100%}.feedback-upload-preview img{display:block;max-width:100%;max-height:220px;border:1px solid #d5e1ef;border-radius:8px;object-fit:contain}.feedback-upload-preview .icon-button{position:absolute;top:7px;right:7px;color:#fff;background:#102746c7}@media(max-width:900px){.app-body:has(.feedback-center){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.feedback-center)>.app-sidebar{position:static;height:auto}.app-main:has(.feedback-center){height:100%;padding:12px 14px}.feedback-workspace{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr)}.feedback-list-scroll>button{grid-template-columns:9px minmax(0,1fr)}.feedback-list-scroll .feedback-status-badge{grid-column:2}}@media(max-width:700px){.app-body:has(.feedback-center){height:calc(100dvh - 68px)}.header-feedback-link{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}.header-feedback-link span{display:none}.feedback-toolbar{min-height:46px}.feedback-toolbar-icon{width:34px;height:34px}.feedback-toolbar h1{font-size:21px}.feedback-new-button{min-height:40px;padding:7px 10px}.feedback-workspace{grid-template-columns:1fr;grid-template-rows:minmax(150px,.42fr) minmax(0,1fr)}.feedback-list-panel>header{min-height:42px}.feedback-list-scroll>button{min-height:66px}.feedback-detail-heading{min-height:72px;padding:11px 13px}.feedback-detail-heading h2{max-width:220px;font-size:16px}.feedback-detail-scroll{padding:11px}.feedback-progress{padding-inline:5px}.feedback-progress li small{font-size:10px}.feedback-create-dialog{max-height:calc(100dvh - 20px)}.feedback-modal-backdrop{padding:10px}}@media(max-width:430px){.feedback-toolbar .feedback-new-button{width:42px;min-width:42px;padding:0;font-size:0}.feedback-toolbar .feedback-new-button svg{width:19px;height:19px}.feedback-view-tabs{width:100%}.feedback-view-tabs button{flex:1;justify-content:center;padding-inline:8px}.feedback-detail-heading>.feedback-status-badge{display:none}.feedback-action-panel>div{display:grid;grid-template-columns:1fr 1fr}}.scratch-editor{--scratch-border: #c9d9eb;display:grid;grid-template-rows:auto auto minmax(0,1fr);width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid #b8cde5;border-radius:18px;color:#273c55;background:#f7fbff;box-shadow:0 14px 32px #30558024}.scratch-editor button,.scratch-editor input,.scratch-editor select{font:inherit}.scratch-editor button{min-width:0}.scratch-editor-topbar{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 10px;color:#fff;background:linear-gradient(135deg,#4a91ee,#5a83df);box-shadow:inset 0 -1px #1038702e}.scratch-editor-brand{display:flex;align-items:center;gap:7px;flex:0 0 auto}.scratch-editor-brand>span{display:grid;place-items:center;width:34px;height:34px;border:2px solid rgba(255,255,255,.8);border-radius:11px;color:#4f86e5;background:#fff;font-size:18px;font-weight:950;transform:rotate(-3deg)}.scratch-editor-brand strong{font-size:14px;white-space:nowrap}.scratch-editor-topbar nav{display:flex;align-items:center;gap:2px}.scratch-editor-topbar nav button{min-height:36px;border:0;border-radius:9px;padding:0 10px;color:#fff;background:transparent;font-size:12px;font-weight:800}.scratch-editor-topbar nav button:hover,.scratch-editor-topbar nav button:focus-visible{outline:2px solid rgba(255,255,255,.8);background:#ffffff24}.scratch-project-title{display:flex;align-items:center;gap:7px;min-width:140px;margin-left:auto;font-size:11px;font-weight:800;white-space:nowrap}.scratch-project-title input{width:min(190px,18vw);min-height:34px;border:1px solid rgba(255,255,255,.45);border-radius:9px;padding:0 9px;color:#23466e;background:#fffffff0;font-weight:750}.scratch-project-title input:disabled{color:#fff;background:#ffffff29;opacity:1}.scratch-run-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto}.scratch-run-controls button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;color:#fff;box-shadow:0 4px 10px #123d7233}.scratch-run-controls button svg{width:19px;height:19px;fill:currentColor}.scratch-green-flag{background:#31b96b}.scratch-stop{background:#ef6b72}.scratch-run-controls button:disabled{opacity:.48;box-shadow:none}.scratch-run-controls small{min-width:76px;color:#ffffffe0;font-size:10px;font-weight:750}.scratch-editor-actions{display:flex;align-items:center;gap:6px}.scratch-editor-actions button{min-height:36px;border:1px solid rgba(255,255,255,.42);border-radius:10px;padding:0 10px;color:#fff;background:#ffffff24;font-size:11px;font-weight:850}.scratch-editor-actions button.primary-action{color:#23517e;background:#fff}.scratch-editor-error{border-bottom:1px solid #f2c1c3;padding:7px 12px;color:#9d3740;background:#fff0f1;font-size:11px;font-weight:750}.scratch-editor-workspace{display:grid;grid-template-columns:62px minmax(155px,190px) minmax(300px,1.3fr) minmax(290px,.9fr);min-height:0;overflow:hidden}.scratch-category-rail{display:flex;flex-direction:column;gap:3px;overflow-y:auto;border-right:1px solid var(--scratch-border);padding:7px 5px;background:#f7f9fc}.scratch-category-rail button{display:grid;justify-items:center;gap:3px;min-height:54px;border:0;border-radius:11px;padding:5px 2px;color:#52667e;background:transparent;font-size:10px;font-weight:800}.scratch-category-rail button>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:var(--category-color);font-size:11px;box-shadow:inset 0 1px #ffffff4d}.scratch-category-rail button.active{color:#244d77;background:#e8f2ff;box-shadow:inset 3px 0 var(--category-color)}.scratch-category-rail button:focus-visible{outline:2px solid #2f78d8;outline-offset:-2px}.scratch-block-palette{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;border-right:1px solid var(--scratch-border);padding:10px;background:#fff}.scratch-palette-heading{display:grid;gap:2px;border-bottom:1px solid #e2eaf3;padding:2px 2px 9px}.scratch-palette-heading strong{color:#274968;font-size:14px}.scratch-palette-heading small{color:#8192a5;font-size:9px}.scratch-palette-block{display:flex;align-items:center;gap:5px;width:fit-content;max-width:100%;min-height:34px;border:0;border-radius:8px;padding:7px 9px;color:#fff;font-size:11px;font-weight:800;line-height:1.3;text-align:left;box-shadow:inset 0 -2px #0000001f,0 3px 7px #2f4d6f1f}.scratch-palette-block svg{flex:0 0 auto;width:13px;height:13px}.scratch-palette-block.motion,.scratch-program-block.motion{background:#4c97ff}.scratch-palette-block.looks,.scratch-program-block.looks{background:#96f}.scratch-palette-block.events,.scratch-event-hat{background:#e6a800}.scratch-palette-block.control,.scratch-program-block.control{background:#f59d19}.scratch-palette-block.sensing,.scratch-program-block.sensing{background:#48a5ca}.scratch-palette-block.variables,.scratch-program-block.variables{background:#ed8122}.scratch-palette-block.sound,.scratch-program-block.sound{background:#bd6bc5}.scratch-palette-block:hover:not(:disabled),.scratch-palette-block:focus-visible{filter:brightness(1.06);transform:translateY(-1px);outline:2px solid rgba(49,104,173,.25);outline-offset:2px}.scratch-palette-block:disabled{opacity:.65}.scratch-sound-placeholder{display:grid;justify-items:center;gap:7px;margin-top:8px;border:1px dashed #d5b3db;border-radius:14px;padding:18px 10px;color:#78557f;background:#fdf7ff;text-align:center}.scratch-sound-placeholder>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:#bd6bc5;font-size:22px}.scratch-sound-placeholder strong{font-size:12px}.scratch-sound-placeholder small{color:#94799a;font-size:10px;line-height:1.5}.scratch-script-area{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;background-color:#eef5fb;background-image:radial-gradient(#c9d7e6 1px,transparent 1px);background-size:18px 18px}.scratch-script-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;border-bottom:1px solid #cbd9e8;padding:6px 10px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scratch-script-toolbar>div{display:grid;gap:2px;min-width:0}.scratch-script-toolbar strong{overflow:hidden;color:#274968;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.scratch-script-toolbar small{color:#7e8fa3;font-size:9px}.scratch-script-toolbar button{display:flex;align-items:center;gap:4px;min-height:32px;border:1px solid #c5d7e9;border-radius:9px;padding:0 8px;color:#41617f;background:#fff;font-size:10px;font-weight:800}.scratch-script-toolbar button svg{width:14px;height:14px}.scratch-script-canvas{display:grid;align-content:start;gap:16px;min-height:0;overflow:auto;padding:18px 18px 70px}.scratch-script-stack{position:relative;display:grid;justify-items:start;width:fit-content;max-width:100%;border:2px solid transparent;border-radius:14px;padding:6px}.scratch-script-stack.active{border-color:#3774be52;background:#ffffff73;box-shadow:0 7px 18px #30537e17}.scratch-event-hat{display:flex;align-items:center;gap:6px;min-height:35px;border:0;border-radius:14px 14px 7px 7px;padding:7px 12px;color:#fff;font-size:11px;font-weight:850;box-shadow:inset 0 -2px #0000001f}.scratch-event-hat svg{width:15px;height:15px;fill:#46bc6d}.scratch-stack-blocks{display:grid;justify-items:start;gap:2px;padding-left:4px}.scratch-program-block{max-width:min(100%,420px);border-radius:7px;color:#fff;font-size:11px;font-weight:800;box-shadow:inset 0 -2px #00000021,0 3px 6px #2c48691f}.scratch-block-main{display:flex;align-items:center;gap:5px;min-height:34px;padding:5px 7px}.scratch-block-main>span:not(.scratch-block-actions){display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.scratch-block-grip{flex:0 0 auto;width:13px;height:13px;opacity:.72;cursor:grab}.scratch-program-block input,.scratch-program-block select{width:54px;height:25px;border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:0 7px;color:#2e4660;background:#fff;font-size:10px;font-weight:800}.scratch-program-block input[type=text]{width:min(150px,18vw)}.scratch-program-block select{width:auto;max-width:90px}.scratch-program-block input:disabled,.scratch-program-block select:disabled{opacity:.92}.scratch-block-actions{display:flex;align-items:center;gap:1px;margin-left:auto;opacity:0;transition:opacity .15s ease}.scratch-program-block:hover>.scratch-block-main .scratch-block-actions,.scratch-program-block:focus-within>.scratch-block-main .scratch-block-actions{opacity:1}.scratch-block-actions button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;padding:0;color:#fff;background:#00000026}.scratch-block-actions button:disabled{opacity:.35}.scratch-block-actions svg{width:12px;height:12px}.scratch-program-block.c-block{min-width:210px;padding-bottom:7px}.scratch-c-block-body{display:grid;justify-items:start;gap:2px;min-width:170px;min-height:36px;margin:0 10px 0 23px;border-left:14px solid rgba(255,255,255,.18);border-radius:4px;padding:5px 5px 5px 8px;background:#ffffff21}.scratch-c-block-body.active{outline:3px solid rgba(255,255,255,.72);outline-offset:2px}.scratch-c-block-body>span{padding:6px;color:#ffffffdb;font-size:9px}.scratch-empty-stack{min-width:160px;min-height:35px;border:1px dashed #9eb8d5;border-radius:8px;color:#6482a2;background:#ffffffb3;font-size:10px}.scratch-delete-script{position:absolute;top:8px;right:-30px;display:grid;place-items:center;width:26px;height:26px;border:1px solid #d5dee8;border-radius:8px;color:#ad5260;background:#fff}.scratch-delete-script svg{width:13px;height:13px}.scratch-stage-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--scratch-border);background:#f7faff}.scratch-stage-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:39px;border-bottom:1px solid var(--scratch-border);padding:5px 9px;background:#fff}.scratch-stage-toolbar span{display:flex;align-items:center;gap:5px;color:#355678;font-size:12px;font-weight:850}.scratch-stage-toolbar svg{width:15px;height:15px;color:#31b96b;fill:currentColor}.scratch-stage-toolbar small{color:#8494a7;font-size:9px}.scratch-stage{position:relative;min-height:210px;overflow:hidden;outline:none;background:linear-gradient(#dff3ff 0 64%,#cce9bc 64%);box-shadow:inset 0 0 0 1px #57779a2e}.scratch-stage.backdrop-sky{background:linear-gradient(#d8efff 0 74%,#f8e4a7 74%)}.scratch-stage.backdrop-space{background:radial-gradient(circle at 20% 24%,#fff 0 2px,transparent 3px),radial-gradient(circle at 76% 16%,#ffe9a7 0 2px,transparent 3px),linear-gradient(145deg,#182b56,#405b9a);background-size:90px 80px,120px 100px,auto}.scratch-stage.backdrop-ocean{background:linear-gradient(#c9f1ff,#4bb7dc)}.scratch-stage:focus-visible{box-shadow:inset 0 0 0 4px #5f9ef0}.scratch-variable-monitors{position:absolute;z-index:3;top:9px;left:9px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 18px)}.scratch-variable-monitors span{border:1px solid rgba(42,83,126,.18);border-radius:9px;padding:4px 7px;color:#395b7d;background:#ffffffeb;font-size:9px;font-weight:800;box-shadow:0 3px 9px #3258801f}.scratch-variable-monitors strong{margin-left:2px;color:#e47720;font-size:12px}.scratch-stage-sprite{position:absolute;z-index:2;min-width:34px;min-height:34px;border:0;padding:0;background:transparent;transition:left .12s linear,top .12s linear,transform .12s linear}.scratch-stage-sprite.selected:after{content:"";position:absolute;inset:-4px;border:2px dashed rgba(54,112,181,.6);border-radius:12px}.scratch-stage-sprite img{display:block;width:100%;height:auto;max-height:120px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(35,63,88,.2))}.scratch-speech{position:absolute;z-index:4;left:70%;bottom:82%;width:max-content;max-width:150px;border:1px solid #c9d7e6;border-radius:12px 12px 12px 3px;padding:6px 8px;color:#304d68;background:#fff;font-size:9px;font-weight:750;box-shadow:0 5px 12px #35506e24;transform:rotate(0)}.scratch-stage-hint{position:absolute;right:8px;bottom:7px;border-radius:999px;padding:4px 7px;color:#52708e;background:#ffffffc7;font-size:8px;font-weight:750}.scratch-sprite-properties{display:flex;align-items:center;gap:7px;min-height:43px;overflow-x:auto;border-top:1px solid var(--scratch-border);border-bottom:1px solid var(--scratch-border);padding:5px 8px;background:#fff}.scratch-sprite-properties>strong{min-width:56px;overflow:hidden;color:#355778;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.scratch-sprite-properties label{display:flex;align-items:center;gap:3px;color:#75889c;font-size:9px;font-weight:800;white-space:nowrap}.scratch-sprite-properties input{width:48px;height:28px;border:1px solid #d2dfec;border-radius:8px;padding:0 5px;color:#355778;background:#f8fbfe;font-size:10px}.scratch-sprite-list{display:flex;align-items:stretch;gap:7px;min-height:76px;overflow-x:auto;padding:7px;background:#edf4fb}.scratch-sprite-list button{display:grid;grid-template-rows:42px auto;justify-items:center;gap:3px;flex:0 0 65px;border:2px solid transparent;border-radius:11px;padding:4px;color:#48637f;background:#fff;font-size:9px;font-weight:800}.scratch-sprite-list button.active{border-color:#4b91ec;box-shadow:0 0 0 3px #4b91ec1f}.scratch-sprite-list img{width:42px;height:42px;object-fit:contain}.scratch-editor[data-readonly=true] .scratch-block-actions,.scratch-editor[data-readonly=true] .scratch-block-grip{display:none}.scratch-editor[data-readonly=true] .scratch-script-canvas{padding-bottom:18px}.native-live-editor.scratch-live-editor{background:#eef5fb}.teacher-classroom-stage>.native-live-editor.scratch-live-editor{display:block}.native-live-editor.scratch-live-editor>.scratch-editor{border:0;border-radius:0;box-shadow:none}.teacher-code-presentation.scratch-code-presentation{height:min(620px,calc(100dvh - 250px));min-height:480px;overflow:hidden;background:#eef5fb}.teacher-code-presentation.scratch-code-presentation>.scratch-editor{border:0;border-radius:0;box-shadow:none}.student-code-native.scratch-student-code{overflow:hidden}.student-code-native.scratch-student-code>.scratch-editor{height:clamp(480px,min(62vw,calc(100dvh - 250px)),680px);min-height:480px;border:0;border-radius:0;box-shadow:none}.teacher-classroom-stage:fullscreen .scratch-editor,.student-immersive-classroom:fullscreen .scratch-editor,.student-immersive-classroom.is-fullscreen .scratch-editor{border:0;border-radius:0}.student-immersive-classroom:fullscreen .teacher-code-presentation.scratch-code-presentation,.student-immersive-classroom.is-fullscreen .teacher-code-presentation.scratch-code-presentation,.student-immersive-classroom:fullscreen .student-code-native.scratch-student-code,.student-immersive-classroom.is-fullscreen .student-code-native.scratch-student-code{display:block}.student-immersive-classroom:fullscreen .scratch-code-presentation>.scratch-editor,.student-immersive-classroom.is-fullscreen .scratch-code-presentation>.scratch-editor,.student-immersive-classroom:fullscreen .scratch-student-code>.scratch-editor,.student-immersive-classroom.is-fullscreen .scratch-student-code>.scratch-editor{width:100%;height:100%;min-height:0}.teacher-classroom-stage:fullscreen .scratch-editor-workspace,.student-immersive-classroom:fullscreen .scratch-editor-workspace,.student-immersive-classroom.is-fullscreen .scratch-editor-workspace{grid-template-columns:70px minmax(180px,230px) minmax(360px,1.35fr) minmax(340px,.9fr)}@media(max-width:1180px){.student-practice-native.scratch-practice-native{grid-template-columns:minmax(0,1fr)}.scratch-practice-native .student-mission-native{min-height:0;padding-block:14px}.scratch-editor-workspace{grid-template-columns:56px minmax(135px,165px) minmax(260px,1.15fr) minmax(250px,.9fr)}.scratch-category-rail button{min-height:49px}.scratch-project-title{display:none}.scratch-program-block{max-width:min(100%,330px)}.scratch-block-actions button{width:22px}}@media(max-width:850px){.scratch-editor{overflow:auto}.scratch-editor-topbar{position:sticky;z-index:8;top:0}.scratch-editor-brand strong,.scratch-editor-topbar nav,.scratch-run-controls small{display:none}.scratch-editor-workspace{grid-template-columns:54px 145px minmax(360px,1fr);grid-template-rows:minmax(430px,1fr) 330px;min-width:720px;overflow:visible}.scratch-stage-panel{grid-column:2 / 4;grid-row:2;border-top:1px solid var(--scratch-border);border-left:0}.scratch-stage{min-height:200px}.student-code-native.scratch-student-code>.scratch-editor{height:clamp(480px,calc(100dvh - 210px),620px)}}@media(prefers-reduced-motion:reduce){.scratch-stage-sprite,.scratch-palette-block{transition:none}}@media(max-width:1380px){.teacher-class-create-form{grid-template-columns:1fr}.teacher-class-setup-panel{grid-template-rows:auto auto}.teacher-class-setup-scroll,.teacher-class-create-form .teacher-schedule-fieldset{overflow-y:visible;scrollbar-gutter:auto}}@media(max-width:1180px){.app-body{grid-template-columns:188px minmax(0,1fr)}.app-header{grid-template-columns:minmax(300px,1fr) minmax(0,max-content) minmax(300px,1fr)}.role-teacher .app-main{padding:22px 20px 54px}.app-main:has(.teacher-live-active){padding:14px 16px}.teacher-live-active .native-live-console{--classroom-students-column: clamp(220px, 24vw, 260px)}.teacher-classroom-workspace{gap:10px;padding:10px 12px 12px}.teacher-classroom-playback-controls{gap:6px}.teacher-classroom-playback-controls .primary-action{min-width:60px;padding-inline:10px}.teacher-classroom-playback-controls .ppt-fullscreen-button{min-width:84px}body:has(.teacher-live-active)>.notification-region{right:calc(clamp(220px,24vw,260px) + 32px)}.teacher-ppt-control.has-pptx{padding:12px}.campus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-class-create-form .class-schedule-planner{grid-template-columns:1fr;grid-template-areas:"basics" "weekly" "calendar" "overrides" "summary"}.app-main:has(.teacher-prep-center){padding:16px 18px}.teacher-prep-overview-grid{grid-template-columns:minmax(220px,.65fr) minmax(0,1.5fr)}.teacher-prep-lesson-item{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}.teacher-prep-lesson-actions{display:grid;grid-template-columns:repeat(2,38px)}.teacher-prep-flow-list,.teacher-prep-toolbox{max-height:calc(100dvh - 315px)}}@media(max-width:900px){.app-header{grid-template-columns:minmax(300px,1fr) minmax(0,max-content) minmax(300px,1fr);padding-inline:16px}.app-header .user-name{max-width:60px}.app-body{grid-template-columns:1fr}.app-body:has(.teacher-live-picker),.app-body:has(.teacher-live-active){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teacher-prep-center),.app-body:has(.teacher-classes-native),.app-body:has(.platform-course-overview),.app-body:has(.platform-course-detail-page){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teacher-live-picker)>.app-sidebar,.app-body:has(.teacher-live-active)>.app-sidebar{position:static;top:auto;height:auto}.app-body:has(.teacher-prep-center)>.app-sidebar,.app-body:has(.teacher-classes-native)>.app-sidebar,.app-body:has(.platform-course-overview)>.app-sidebar,.app-body:has(.platform-course-detail-page)>.app-sidebar{position:static;top:76px;height:auto}.app-sidebar{position:sticky;top:76px;z-index:18;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--lab-line);padding:10px 16px;overflow-x:auto}.app-sidebar .primary-nav{display:flex;min-width:max-content}.app-sidebar .primary-nav a{min-width:116px;justify-content:center}.app-sidebar .sidebar-status{display:none}.app-main{padding:24px 20px 54px}.app-main:has(.teacher-live-picker),.app-main:has(.teacher-live-active){height:100%;min-height:0;padding-block:16px;overflow:hidden}.app-main:has(.teacher-live-active){padding-inline:16px}.app-main:has(.teacher-prep-center),.app-main:has(.teacher-classes-native),.app-main:has(.platform-course-detail-page){height:100%;min-height:0;padding:14px 16px;overflow:hidden}.app-main:has(.platform-course-overview){height:100%;min-height:0;padding:14px 16px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-live-picker,.teacher-live-active{height:100%;min-height:0;overflow:hidden}.teacher-live-picker .teacher-class-card-grid{grid-template-rows:none;grid-auto-rows:minmax(248px,auto)}.two-column-layout,.teacher-native-grid,.teacher-course-grid,.teacher-class-detail-grid{grid-template-columns:1fr}.teacher-class-students-panel,.teacher-class-courses-panel{grid-column:auto;grid-row:auto}.teacher-class-detail-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border:1px solid #d5e2f2;border-radius:13px;padding:4px;background:#fff}.teacher-class-detail-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-weight:900;cursor:pointer}.teacher-class-detail-tabs button[aria-selected=true]{color:#fff;background:var(--blue)}.teacher-class-detail-tabs button svg{width:16px;height:16px}.teacher-class-detail-grid{height:clamp(300px,calc(100dvh - 450px),520px)}.teacher-class-detail-panel.mobile-panel-hidden{display:none}.class-schedule-basics{grid-template-columns:1fr 1fr}.class-schedule-basics>:first-child{grid-column:1 / -1}.sticky-panel{position:static}.teacher-prep-toolbar{gap:10px}.teacher-prep-toolbar h1{font-size:21px}.teacher-prep-toolbar p{max-width:520px}.teacher-prep-toolbar-actions>button{padding-inline:10px}.teacher-prep-content-fields{grid-template-columns:1fr}.teacher-prep-content-fields .teacher-prep-code-field{grid-column:auto}.teacher-prep-exercise-body{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}}@media(min-width:701px)and (max-width:900px){.app-header .brand-copy,.app-header .header-campus{display:flex}.app-header .user-name{display:block}.app-sidebar .primary-nav{justify-content:center}.typing-island-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;overflow:visible;scroll-snap-type:none}.typing-island-scroll button{width:100%;min-width:0;flex:none;scroll-snap-align:none}}@media(max-width:700px){.login-page{grid-template-columns:1fr}.login-story{min-height:auto;padding:32px 22px 38px}.login-story h1{font-size:clamp(36px,12vw,52px)}.login-news{margin-top:24px}.login-card{width:calc(100% - 28px);margin:18px auto 28px;padding:24px 20px}.app-header{grid-template-columns:minmax(0,1fr) max-content;column-gap:10px;min-height:68px;padding-inline:10px}.app-header .brand-copy{display:flex}.app-body:has(.teacher-live-picker),.app-body:has(.teacher-live-active){height:calc(100dvh - 68px)}body:has(.teacher-live-active)>.notification-region{top:auto;right:10px;bottom:10px}.app-body:has(.teacher-prep-center),.app-body:has(.teacher-classes-native),.app-body:has(.platform-course-overview),.app-body:has(.platform-course-detail-page){height:calc(100dvh - 68px)}.app-body:has(.teacher-prep-center)>.app-sidebar,.app-body:has(.teacher-classes-native)>.app-sidebar,.app-body:has(.platform-course-overview)>.app-sidebar,.app-body:has(.platform-course-detail-page)>.app-sidebar{top:68px;height:auto}.header-campus,.user-name{display:none}.app-sidebar{top:68px;padding-inline:6px;overflow-x:hidden}.app-sidebar .primary-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;min-width:0;gap:2px}.app-sidebar .primary-nav a{min-width:0;min-height:54px;flex-direction:column;justify-content:center;gap:3px;padding:5px 2px;font-size:10px;line-height:1.15;text-align:center}.app-sidebar .primary-nav a svg{width:18px;height:18px}.page-heading{min-height:0;padding:22px 18px}.page-heading:after,.heading-stat{display:none}.form-grid,.campus-grid,.course-term-grid,.course-catalog-grid,.course-placeholder-grid,.student-class-course-grid,.teacher-class-card-grid,.class-session-card-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading p{text-align:left}.classroom-live-heading{grid-template-columns:1fr;padding:18px}.teacher-classroom-playback-controls{max-width:calc(100% - 20px);gap:5px;padding:5px}.teacher-classroom-playback-controls>span{display:none}.teacher-classroom-playback-controls .primary-action{width:auto;min-width:60px;padding-inline:10px}.teacher-classroom-playback-controls .ppt-fullscreen-button{min-width:84px}.batch-add-form>.primary-action{justify-self:stretch;width:100%}.teacher-schedule-card,.teacher-schedule-controls .schedule-form-grid{grid-template-columns:1fr}.teacher-schedule-controls .primary-action{justify-self:stretch}.teacher-class-create-form .class-schedule-basics{grid-template-columns:1fr}.teacher-class-create-form .class-schedule-basics>:first-child{grid-column:auto}.teacher-class-create-form .class-schedule-slot{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);gap:8px}.teacher-class-create-form .class-schedule-slot>label:first-of-type{grid-column:2 / -1}.class-schedule-slot>label:nth-of-type(2){grid-column:2}.class-schedule-slot>label:nth-of-type(3){grid-column:3}.teacher-class-create-form .class-schedule-slot>i{display:none}.class-schedule-slot{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr)}.class-schedule-slot>label:first-of-type{grid-column:2 / -1}.class-schedule-slot>i{display:none}.class-schedule-calendar{padding:12px}.class-schedule-calendar-grid{gap:4px}.class-schedule-calendar-grid button{min-height:44px;border-radius:10px}.class-schedule-extra-list>div{grid-template-columns:minmax(62px,auto) minmax(0,1fr) minmax(0,1fr)}.class-schedule-extra-list>div>i{display:none}.class-schedule-extra-list>div>button{grid-column:2 / -1}.growth-dashboard-card{grid-template-columns:1fr}.profile-hero{gap:18px;padding:24px 22px}.profile-status-stack{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;width:100%}.profile-status-stack small{flex:1 1 130px}.profile-status-stack .avatar-upload-button{margin-top:0}.run-result-modal{align-items:flex-end;padding:10px}.run-result-modal>section{max-height:min(90vh,820px);border-radius:22px 22px 14px 14px}.app-main:has(.teacher-prep-center){padding:10px 12px}.teacher-prep-center{gap:9px}.teacher-prep-templates,.teacher-prep-exercises{grid-template-rows:auto minmax(0,1fr)}.teacher-prep-toolbar,.teacher-prep-toolbar:has(>.icon-button:first-child){grid-template-columns:auto minmax(0,1fr);padding-bottom:9px}.teacher-prep-overview .teacher-prep-toolbar{grid-template-columns:minmax(0,1fr)}.teacher-prep-toolbar>.status-badge{grid-column:2;grid-row:1;justify-self:end}.teacher-prep-toolbar>button:not(.icon-button){grid-column:1 / -1;width:100%;min-height:44px}.teacher-prep-toolbar p{display:none}.teacher-prep-toolbar-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.teacher-prep-toolbar-actions>button{min-width:0;min-height:44px;padding-inline:7px;font-size:11px}.teacher-prep-toolbar-actions label{grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr)}.teacher-prep-toolbar-actions select{min-height:44px}.teacher-prep-overview-grid{grid-template-columns:1fr;grid-template-rows:minmax(118px,.34fr) minmax(0,1fr);gap:9px}.teacher-prep-panel-heading{grid-template-columns:minmax(0,1fr) auto;min-height:72px;padding:10px 12px}.teacher-prep-panel-heading .teacher-prep-course-heading-actions{flex-wrap:nowrap}.teacher-prep-course-list{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:8px;scrollbar-gutter:auto}.teacher-prep-course-item{flex:0 0 min(250px,80vw);min-height:56px}.teacher-prep-course-select{min-height:54px}.teacher-prep-panel-actions .primary-action{min-height:44px;padding-inline:10px;font-size:11px}.teacher-prep-lesson-list{padding:8px}.teacher-prep-lesson-item{grid-template-columns:36px minmax(0,1fr) auto;padding:6px}.teacher-prep-lesson-position{width:34px;height:34px}.teacher-prep-lesson-link{align-content:center;min-height:44px}.teacher-prep-lesson-actions{grid-template-columns:repeat(2,44px)}.teacher-prep-lesson-actions .icon-button{width:44px;height:44px}.teacher-prep-template-list{grid-template-columns:1fr}.teacher-prep-template-item{grid-template-columns:1fr;gap:12px}.teacher-prep-template-item .primary-action,.teacher-prep-workspace-tabs{width:100%}.teacher-prep-workspace-tabs button{flex:1 1 50%;min-width:0}.teacher-prep-flow-list,.teacher-prep-toolbox{max-height:none;overflow:visible}.teacher-prep-flow-editor{overflow-y:auto}.teacher-prep-flow-editor .courseware-workbench-native{grid-template-columns:1fr}.teacher-prep-content-editor{padding:12px}.teacher-prep-presentation-upload{align-items:stretch;flex-direction:column}.teacher-prep-exercise-body{grid-template-columns:1fr;grid-template-rows:minmax(116px,.32fr) minmax(0,1fr);gap:9px}.teacher-prep-exercise-list .teacher-class-buttons{display:flex;gap:7px;overflow-x:auto;padding-top:10px}.teacher-prep-exercise-list .teacher-class-buttons>button{flex:0 0 min(250px,78vw)}}@media(max-width:520px){.app-main:has(.teacher-live-active){padding:10px}.teacher-live-active .native-live-console{gap:8px}.teacher-classroom-playback-controls>span{padding:5px 8px;font-size:11px}.teacher-classroom-playback-controls .primary-action{min-height:34px;min-width:58px;border-radius:10px;padding-inline:9px;font-size:12px}.teacher-classroom-playback-controls .ppt-fullscreen-button{min-width:78px}.teacher-classroom-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(260px,1.7fr) minmax(165px,.8fr);gap:8px;padding:8px}.classroom-students-heading{padding:8px 10px}.classroom-students-heading h2{font-size:15px}.classroom-students-inline-count{font-size:11px}.classroom-students-actions .primary-action{min-width:86px;min-height:36px;padding-inline:10px}.classroom-students-list{gap:6px;padding:7px}.classroom-student-item{min-height:62px}}@media(max-width:520px)and (max-height:650px){.teacher-classroom-workspace{grid-template-rows:minmax(0,1.55fr) minmax(0,.8fr)}}@media(max-width:430px){.app-main{padding-inline:14px}.app-main:has(.teacher-live-picker){padding-block:12px}.teacher-live-picker .teacher-live-class-board{gap:10px;padding:14px}.brand-copy{display:none}.login-news article{grid-template-columns:58px minmax(0,1fr)}.login-news article>img{width:58px;height:58px;padding:9px}.personal-module-grid,.growth-mini-stats{grid-template-columns:1fr 1fr}.growth-dashboard-card{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px}.growth-orbit{width:78px;height:78px;border-width:7px}.growth-orbit strong{font-size:23px}.growth-dashboard-copy h2{font-size:22px}.growth-mini-stats{grid-column:1 / -1}.personal-module-card{grid-template-columns:44px minmax(0,1fr)}.class-schedule-basics{grid-template-columns:1fr}.class-schedule-basics>:first-child{grid-column:auto}.class-schedule-calendar-heading,.class-schedule-overrides-heading{align-items:flex-start}.class-schedule-overrides-heading{flex-direction:column}.class-schedule-calendar-grid{grid-template-columns:repeat(7,44px);gap:3px;padding-bottom:4px;overflow-x:auto;scrollbar-width:thin}.class-schedule-calendar-grid button{min-width:44px;min-height:44px;border-radius:8px;font-size:11px}.class-schedule-calendar-grid button small{right:2px;bottom:1px;font-size:7px}.teacher-prep-toolbar h1{font-size:19px}.teacher-prep-toolbar-actions{grid-template-columns:1fr 1fr}.teacher-prep-toolbar-actions>button:last-child{grid-column:1 / -1}.teacher-prep-lesson-link small,.teacher-prep-course-panel .section-heading .eyebrow,.teacher-prep-lesson-panel .section-heading .eyebrow{display:none}.teacher-prep-course-panel .section-heading h2,.teacher-prep-lesson-panel .section-heading h2{font-size:16px}.teacher-prep-panel-actions .icon-button{display:none}}.app-layout:has(.principal-account-workspace),html:has(.principal-account-workspace),body:has(.principal-account-workspace){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.principal-account-workspace){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.principal-account-workspace)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.principal-account-workspace){height:calc(100dvh - 76px);min-height:0;max-width:none;padding:18px clamp(18px,2.4vw,34px);overflow:hidden}.principal-ops-content:has(>.principal-account-workspace){height:100%;min-height:0}.principal-account-workspace{display:grid;grid-template-columns:minmax(330px,380px) minmax(0,1fr);gap:18px;width:100%;height:100%;min-height:0}.principal-account-mobile-switch{display:none}.principal-account-panel{height:100%;min-height:0;border-radius:8px;overflow:hidden}.principal-account-create{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;padding:20px}.principal-account-create .panel-heading,.principal-account-manage-heading{margin:0}.principal-account-create .panel-heading h2,.principal-account-manage-heading h2{margin:0;color:var(--navy);font-size:22px;line-height:1.25}.principal-account-create .panel-heading p,.principal-account-manage-heading p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.principal-account-create .step-mark{border-radius:8px;color:#fff;background:var(--blue);box-shadow:0 7px 16px #2d7eea33}.principal-role-picker,.principal-account-tabs,.principal-account-mobile-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;margin:0;border:1px solid #d5e2f2;border-radius:8px;padding:4px;background:#f3f7fc}.principal-role-picker{display:grid}.principal-role-picker button,.principal-account-tabs button,.principal-account-mobile-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:42px;border:0;border-radius:6px;padding:0 12px;color:#53677f;background:transparent;font:inherit;font-weight:850;cursor:pointer}.principal-role-picker button:hover,.principal-account-tabs button:hover,.principal-account-mobile-switch button:hover{color:var(--blue-dark);background:#e9f2ff}.principal-role-picker button.active,.principal-account-tabs button.active,.principal-account-mobile-switch button.active{color:#fff;background:var(--blue);box-shadow:0 5px 12px #2d7eea33}.principal-account-create-fields{display:grid;align-content:start;gap:13px;min-height:0;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.principal-account-create-fields>label,.principal-password-control,.principal-password-field>label,.principal-account-edit-form>label,.principal-account-row .inline-reset-form>label{display:grid;gap:7px;min-width:0;color:#41556d;font-size:13px;font-weight:850}.principal-account-create-fields input:not([type=checkbox]),.principal-account-edit-form input,.principal-account-search input,.principal-account-row .inline-reset-form input{width:100%;min-width:0;min-height:44px;border:1px solid #cbd9ea;border-radius:7px;padding:0 12px;color:var(--ink);background:#fff;font:inherit}.principal-account-create-fields input[aria-invalid=true],.principal-account-edit-form input[aria-invalid=true],.principal-account-row .inline-reset-form input[aria-invalid=true]{border-color:#d93838;box-shadow:0 0 0 3px #d938381a}.principal-account-create-fields input[readonly]{color:#52677f;background:#f3f7fd;cursor:default}.principal-field-hint,.principal-field-error{font-size:12px;font-weight:700;line-height:1.45}.principal-field-hint{color:#536a83}.principal-field-error{margin:0;color:#c52d2d}.principal-password-field{display:grid;gap:8px}.principal-default-password{display:flex!important;align-items:center;gap:8px!important;width:fit-content;color:#52677f!important;font-size:12px!important;font-weight:750!important;cursor:pointer}.principal-default-password input{width:17px;height:17px;min-height:0;margin:0;accent-color:var(--blue)}.principal-phone-input,.principal-password-input,.principal-account-search{position:relative;min-width:0}.principal-phone-input,.principal-password-input{display:block}.principal-account-search{display:flex;align-items:center;height:44px}.principal-phone-input>svg,.principal-account-search>svg{position:absolute;top:50%;left:12px;z-index:1;width:17px;height:17px;color:#7288a2;transform:translateY(-50%);pointer-events:none}.principal-account-search>svg{top:auto;transform:none}.principal-account-create-fields .principal-phone-input input,.principal-account-edit-form .principal-phone-input input,.principal-account-search input{padding-left:39px}.principal-account-create-fields .principal-password-input input{padding-right:44px}.principal-password-input button{position:absolute;top:50%;right:5px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:6px;padding:0;color:#536a83;background:transparent;transform:translateY(-50%);cursor:pointer}.principal-password-input button:hover,.principal-password-input button:focus-visible{color:var(--blue-dark);background:#eaf3ff}.principal-password-input button svg{width:18px;height:18px}.principal-account-create-button,.principal-account-workspace .button-primary{color:#fff;background:var(--blue);box-shadow:0 7px 16px #2d7eea33}.principal-account-workspace .button-primary:hover:not(:disabled),.principal-account-workspace .button-primary:focus-visible:not(:disabled){color:#fff;background:var(--blue-dark);box-shadow:0 9px 20px #2d7eea47}.principal-account-create-button{width:100%;min-height:46px}.principal-account-manage{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:20px}.principal-account-manage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.principal-account-total{flex:0 0 auto;border-radius:7px;padding:7px 10px;color:var(--blue-dark);background:#eaf3ff;font-size:12px;font-weight:900}.principal-account-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);align-items:stretch;gap:12px;min-width:0}.principal-account-tabs{display:grid;height:48px;padding:3px}.principal-account-tabs button{min-height:40px}.principal-account-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:6px;padding:0 5px;color:inherit;background:#ffffffa8;font-size:11px}.principal-account-tabs button.active span{color:#fff;background:#164aa8}.principal-account-filters{display:block;min-width:0}.principal-account-filters>label{min-width:0}.principal-account-filters .principal-account-search,.principal-account-filters .principal-account-search input{height:48px;min-height:48px}.principal-account-list{display:grid;align-content:start;gap:10px;min-height:0;padding-right:5px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}.principal-account-list>.page-state,.principal-account-list>.empty-state{height:100%;min-height:220px;border-radius:8px}.principal-account-row{display:grid;gap:10px;min-width:0;border:1px solid #d5e1ef;border-radius:8px;padding:11px 12px;background:#fff;box-shadow:0 5px 14px #1842740e}.principal-account-row-main{display:grid;grid-template-columns:minmax(142px,1.05fr) minmax(110px,.85fr) minmax(128px,.85fr) auto;align-items:center;gap:12px;min-width:0}.principal-account-row .account-identity{min-width:0}.principal-account-row .account-identity strong,.principal-account-row .account-identity small{max-width:min(200px,19vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.principal-account-row .account-identity strong{color:var(--navy);font-size:15px}.principal-account-row .account-identity small{color:var(--muted);font-size:12px}.principal-account-fact{display:grid;gap:3px;min-width:0}.principal-account-fact span{color:#536a83;font-size:11px;font-weight:750}.principal-account-fact strong{min-width:0;overflow:hidden;color:#263d59;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.principal-account-row .row-actions{flex-wrap:wrap;justify-content:flex-end}.principal-account-row .button{min-height:34px;border-radius:7px;padding:6px 10px;font-size:12px}.principal-account-row .button svg{width:16px;height:16px}.principal-account-row-actions{flex-wrap:nowrap!important;white-space:nowrap}.principal-account-delete-button{color:#8c3c3c}.principal-account-edit-form,.principal-account-row .inline-reset-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1fr) auto;align-items:end;gap:10px;border-top:1px solid #e3ebf4;padding-top:10px}.principal-account-edit-actions,.principal-account-reset-actions{flex-wrap:nowrap!important;padding-bottom:1px}.principal-account-edit-form label,.principal-account-row .inline-reset-form label{gap:6px;color:#41556d;font-size:13px;font-weight:850}.principal-account-row .inline-reset-form .principal-field-error{grid-column:1 / -1}@media(max-width:1450px){.principal-account-row-main{grid-template-columns:minmax(142px,1.05fr) minmax(110px,.85fr) minmax(128px,.85fr)}.principal-account-row-actions{grid-column:1 / -1;border-top:1px solid #e7edf5;padding-top:8px}}@media(max-width:1120px){.principal-account-workspace{grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:14px}.principal-account-toolbar{grid-template-columns:1fr}.principal-account-row-main{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr)}.principal-account-row-actions{grid-column:1 / -1}.principal-account-edit-form,.principal-account-row .inline-reset-form{grid-template-columns:1fr 1fr}.principal-account-edit-actions,.principal-account-reset-actions{grid-column:1 / -1}}@media(max-width:900px){.app-body:has(.principal-account-workspace){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.principal-account-workspace)>.app-sidebar{position:static;height:auto}.app-main:has(.principal-account-workspace){height:100%;padding:14px 16px}.principal-account-workspace{grid-template-columns:minmax(280px,320px) minmax(0,1fr)}.principal-account-create,.principal-account-manage{padding:16px}}@media(max-width:720px){.app-body:has(.principal-account-workspace){height:calc(100dvh - 68px)}.app-main:has(.principal-account-workspace){padding:10px 12px}.principal-account-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px}.principal-account-mobile-switch{display:grid}.principal-account-panel[data-mobile-visible=false]{display:none}.principal-account-panel[data-mobile-visible=true]{height:100%}.principal-account-create,.principal-account-manage{padding:14px}}@media(max-width:480px){.principal-account-manage-heading p,.principal-account-create .panel-heading p{display:none}.principal-account-create .panel-heading h2,.principal-account-manage-heading h2{font-size:19px}.principal-account-manage{gap:10px}.principal-account-row .row-actions{justify-content:flex-start}.principal-account-row-main{grid-template-columns:minmax(0,1fr);align-items:start}.principal-account-row .account-identity{grid-column:1;grid-row:1}.principal-account-fact,.principal-account-row-actions{grid-column:1 / -1}.principal-account-edit-form,.principal-account-row .inline-reset-form{grid-template-columns:1fr}.principal-account-edit-actions,.principal-account-reset-actions{grid-column:auto}}.app-body:has(.principal-content-center){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.principal-content-center)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.principal-content-center){height:calc(100dvh - 76px);min-height:0;max-width:none;padding:16px clamp(18px,2.4vw,34px);overflow:hidden}.principal-ops-content:has(>.principal-content-center),.principal-content-center{height:100%;min-height:0}.principal-content-center{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.principal-content-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.principal-content-tabs,.principal-content-mobile-switch,.student-campus-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;border:1px solid #d5e2f2;border-radius:8px;padding:4px;background:#edf3fa}.principal-content-tabs button,.principal-content-mobile-switch button,.student-campus-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;border:0;border-radius:6px;padding:0 16px;color:#53677f;background:transparent;font-weight:850;white-space:nowrap}.principal-content-tabs button.active,.principal-content-mobile-switch button.active,.student-campus-tabs button.active{color:var(--blue-dark);background:#fff;box-shadow:0 3px 10px #12427c1a}.principal-content-tabs svg,.principal-content-mobile-switch svg,.student-campus-tabs svg{flex:0 0 auto;width:18px;height:18px}.principal-content-count{color:var(--muted);font-size:13px;font-weight:800}.principal-content-mobile-switch{display:none}.principal-content-workspace{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:16px;min-height:0}.principal-content-panel{min-height:0;border-radius:8px;overflow:hidden}.principal-content-editor{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.principal-content-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:70px;border-bottom:1px solid #e2eaf4;padding:16px 18px 13px}.principal-content-panel>header h2{margin:0;color:var(--navy);font-size:20px;line-height:1.3}.principal-content-panel>header p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.principal-content-panel>header .button{flex:0 0 auto;min-height:38px}.principal-content-editor-scroll{display:grid;align-content:start;gap:13px;min-height:0;padding:15px 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.principal-content-editor-scroll>label,.principal-content-system-image{display:grid;gap:6px;color:#31435f;font-size:13px;font-weight:800}.principal-content-editor-scroll textarea{resize:vertical}.principal-content-image-field{display:grid;gap:8px;color:#31435f;font-size:13px;font-weight:800}.principal-content-image-row{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;border:1px solid #d7e3f2;border-radius:8px;padding:10px;background:#f7faff}.principal-content-image-row.is-news{grid-template-columns:124px minmax(0,1fr)}.principal-content-image-row>div:last-child{display:grid;gap:8px;min-width:0}.principal-content-image-preview{display:grid;place-items:center;width:92px;aspect-ratio:1;overflow:hidden;border-radius:7px;color:#7991ad;background:#eaf1fa}.principal-content-image-row.is-news .principal-content-image-preview{width:124px;aspect-ratio:4 / 3}.principal-content-image-preview img{width:100%;height:100%;object-fit:cover}.principal-content-image-preview svg{width:30px;height:30px}.principal-content-system-image select{min-height:40px;padding-block:7px}.principal-content-upload{position:relative;justify-self:start;margin:0;overflow:hidden}.principal-content-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.principal-content-image-row small{color:var(--muted);font-size:12px;font-weight:500}.principal-content-editor>footer{border-top:1px solid #e2eaf4;padding:12px 18px;background:#fff}.principal-content-editor>footer .button{width:100%;min-height:44px}.principal-content-editor>footer .button-primary{color:#fff;background:var(--blue);box-shadow:0 8px 18px #2d7eea38}.principal-content-editor>footer .button-primary:hover:not(:disabled),.principal-content-editor>footer .button-primary:focus-visible:not(:disabled){background:var(--blue-dark);box-shadow:0 10px 22px #2d7eea4d}.principal-content-manage{display:grid;grid-template-rows:auto minmax(0,1fr)}.principal-content-list{display:grid;align-content:start;gap:9px;min-height:0;padding:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.principal-content-card{display:grid;grid-template-columns:84px minmax(0,1fr) 126px;align-items:center;gap:13px;min-height:112px;border:1px solid #dce6f3;border-radius:8px;padding:12px;background:#fbfdff}.principal-content-card>img{width:84px;height:84px;border-radius:7px;object-fit:cover;background:#edf3fa}.principal-content-card.is-news{grid-template-columns:112px minmax(0,1fr) 126px}.principal-content-card.is-news>img{width:112px;height:84px}.principal-content-card-body{min-width:0}.principal-content-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}.principal-content-card-meta time{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.principal-content-pin-badge{display:inline-flex;align-items:center;gap:3px;color:#815c00;font-size:12px;font-weight:850}.principal-content-pin-badge svg{width:13px;height:13px}.principal-content-card h3{margin:7px 0 4px;overflow:hidden;color:var(--navy);font-size:16px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.principal-content-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.principal-content-card-actions{display:grid;grid-template-columns:repeat(3,38px);gap:5px;justify-content:end}.principal-content-card-actions .icon-button{width:38px;height:38px;border-radius:7px;color:#345675;background:#edf4fc}.principal-content-card-actions .icon-button:hover:not(:disabled){color:var(--blue-dark);background:#dfeeff}.principal-content-card-actions .icon-button.danger{color:#9a3b3b}.principal-content-card-actions .icon-button.danger:hover:not(:disabled){background:#ffe8e8}.principal-content-card-actions svg{width:17px;height:17px}.campus-share-modal>section{position:relative;display:grid;justify-items:center;gap:15px;width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:28px;text-align:center}.campus-share-modal h2{margin:0 34px 8px;color:var(--navy);font-size:22px}.campus-share-modal p{margin:0;color:var(--muted);line-height:1.65}.campus-share-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:8px;color:var(--muted);background:#edf3fa}.campus-share-close svg{width:20px}.campus-share-qr,.campus-share-qr-placeholder{width:220px;height:220px;border:1px solid #d9e4f1;border-radius:8px;padding:8px;background:#fff}.campus-share-qr-placeholder{background:#eef3f9}.campus-share-link{display:grid;gap:6px;width:100%;color:#405671;font-size:13px;font-weight:800;text-align:left}.campus-share-link input{font-size:13px}.campus-share-actions{display:flex;justify-content:center;gap:8px;width:100%}.campus-share-actions .button{min-height:44px}.role-student .app-main:has(.student-campus-workspace){height:100%;min-height:0;padding:16px clamp(16px,3vw,42px);overflow:hidden}.student-campus-workspace{height:100%;min-height:0;border-radius:8px}.student-campus-news{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0}.student-campus-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;border-bottom:1px solid #dfe8f3;padding:12px 18px}.student-campus-header .eyebrow{margin-bottom:2px;font-size:11px}.student-campus-header h2{margin:0;color:var(--navy);font-size:23px}.student-campus-tabs button span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;color:var(--blue-dark);background:#e4efff;font-size:12px}.student-campus-content-scroll{min-height:0;padding:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-campus-content-scroll .campus-star-grid,.student-campus-content-scroll .student-news-grid{grid-template-columns:repeat(3,minmax(250px,1fr));align-content:start}.student-campus-content-scroll .student-campus-card{position:relative;display:block;min-width:0;min-height:150px;overflow:hidden;border:1px solid #d8e5f4;border-radius:8px;padding:0;background:#fbfdff;box-shadow:0 8px 22px #0c37760f}.student-campus-card-open{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:13px;width:100%;height:100%;min-height:150px;overflow:hidden;border:0;border-radius:0;padding:16px 60px 16px 16px;color:inherit;background:transparent;box-shadow:none;text-align:left;cursor:pointer}.student-campus-card-open:after{content:none}.student-campus-card-open:hover,.student-campus-card-open:focus-visible{background:#f2f7ff;box-shadow:none;transform:none}.student-campus-card-open img{position:static;width:88px;height:112px;border-radius:7px;padding:0;object-fit:cover;background:#edf4fc;box-shadow:none}.student-campus-card-open>div{position:static;z-index:auto;min-width:0}.student-campus-card-open span{color:var(--blue-dark);font-size:12px;font-weight:850;letter-spacing:0}.student-campus-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 9px;min-width:0}.student-campus-card-meta time{color:#6b7f95;font-size:12px;font-weight:700;line-height:1.35;white-space:nowrap}.student-campus-star-card .student-campus-card-open span{color:#a65c00}.student-campus-card-open h3{margin:7px 0 6px;color:var(--navy);font-size:18px;line-height:1.35}.student-campus-card-open p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}.student-campus-card-arrow{position:absolute;right:16px;bottom:17px;width:18px;height:18px;color:#6d829a}.student-campus-card>.icon-button{position:absolute;top:10px;right:10px;z-index:2;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;gap:0;width:44px;min-width:44px;height:44px;min-height:44px;border:0;border-radius:8px;padding:0;color:var(--blue-dark);background:#e8f2ff;box-shadow:none;transform:none}.student-campus-card>.icon-button svg{grid-area:1 / 1;width:20px;height:20px}.student-campus-card>.icon-button:after{content:none}.student-campus-content-scroll .student-news-grid article{position:relative;min-width:0;min-height:150px;overflow:hidden;border:1px solid #d8e5f4;border-radius:8px;background:#fbfdff}.student-news-open{grid-template-columns:120px minmax(0,1fr);border:0;background:transparent}.student-news-open:hover,.student-news-open:focus-visible{background:#f2f7ff}.student-news-open img{width:120px;height:90px;border-radius:7px;padding:0;object-fit:cover}.student-campus-article{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;background:#fff}.student-campus-article-actions{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e0e9f4;padding:10px 16px}.student-campus-article-actions .button{min-height:44px}.student-campus-article-actions svg{width:18px;height:18px}.student-campus-article-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-campus-article-scroll:focus-visible{outline:3px solid rgba(45,126,234,.45);outline-offset:-3px}.student-campus-article-layout{width:min(880px,calc(100% - 48px));margin:0 auto;padding:38px 0 56px}.student-campus-article-layout>header{display:block;border:0;padding:0}.student-campus-article-kind{color:#1960b8;font-size:14px;font-weight:850}.student-campus-article h2{margin:10px 0 14px;font-size:clamp(30px,4vw,44px);line-height:1.22;letter-spacing:0;text-wrap:balance}.student-campus-article-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:#597087;font-size:14px}.student-campus-article-meta strong{color:#31516f}.student-campus-article-layout>header>p{margin:26px 0 0;border-left:3px solid #2d7eea;padding:4px 0 4px 18px;color:#405c7c;font-size:18px;line-height:1.75}.student-campus-article-cover{display:block;width:100%;height:auto;max-height:500px;margin:30px 0;border-radius:8px;object-fit:contain;background:#f3f6fa}.student-campus-article-cover[data-kind=stars]{width:min(520px,100%);max-height:560px;margin-inline:auto}.student-campus-article-body{display:grid;align-content:start;gap:18px;width:100%;max-width:none;margin:0;border-top:1px solid #e2e9f1;padding:28px 0 0;color:#263e5b;font-size:17px;line-height:1.95}@media(max-width:1180px){.principal-content-card{grid-template-columns:72px minmax(0,1fr)}.principal-content-card>img{width:72px;height:72px}.principal-content-card.is-news{grid-template-columns:92px minmax(0,1fr)}.principal-content-card.is-news>img{width:92px;height:69px}.principal-content-card-actions{grid-column:1 / -1;grid-template-columns:repeat(6,38px);justify-content:start}.student-campus-content-scroll .campus-star-grid,.student-campus-content-scroll .student-news-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}}@media(max-width:1020px){.app-body:has(.principal-content-center){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.principal-content-center)>.app-sidebar{position:static;height:auto}.app-main:has(.principal-content-center){height:100%;padding:12px 16px}.principal-content-workspace{grid-template-columns:minmax(300px,350px) minmax(0,1fr)}}@media(max-width:720px){.app-body:has(.principal-content-center){height:calc(100dvh - 68px)}.app-main:has(.principal-content-center),.role-student .app-main:has(.student-campus-workspace){padding:8px 10px}.principal-content-center{grid-template-rows:auto auto minmax(0,1fr);gap:7px}.principal-content-topbar{gap:8px}.principal-content-tabs{flex:1 1 auto}.principal-content-tabs button{padding-inline:8px}.principal-content-count{display:none}.principal-content-mobile-switch{display:grid}.principal-content-workspace{display:block}.principal-content-panel[data-mobile-visible=false]{display:none}.principal-content-panel[data-mobile-visible=true]{display:grid;height:100%}.principal-content-card{grid-template-columns:64px minmax(0,1fr);min-height:104px}.principal-content-card>img{width:64px;height:72px}.principal-content-card.is-news{grid-template-columns:84px minmax(0,1fr)}.principal-content-card.is-news>img{width:84px;height:63px}.principal-content-card-actions{grid-template-columns:repeat(4,minmax(36px,1fr))}.principal-content-card-actions .icon-button{width:100%}.student-campus-header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 12px}.student-campus-header>div:first-child{display:none}.student-campus-tabs{width:100%}.student-campus-tabs button{padding-inline:8px}.student-campus-content-scroll{padding:10px}.student-campus-content-scroll .campus-star-grid,.student-campus-content-scroll .student-news-grid{grid-template-columns:minmax(0,1fr)}.student-campus-card-open{grid-template-columns:72px minmax(0,1fr);min-height:122px;padding:12px 56px 12px 12px}.student-campus-card-open img,.student-news-open img{width:72px;height:92px}.student-news-open{grid-template-columns:84px minmax(0,1fr)}.student-news-open img{width:84px;height:63px}.student-campus-article-layout{width:calc(100% - 28px);padding:26px 0 38px}.student-campus-article h2{font-size:28px}.student-campus-article-layout>header>p{margin-top:20px;padding-left:14px;font-size:16px}.student-campus-article-body{padding-top:22px;font-size:16px}.student-campus-article-cover{margin-block:24px}.campus-share-modal>section{padding:24px 16px 18px}.campus-share-actions{flex-direction:column}.campus-share-actions .button{width:100%}}@media(max-height:700px){.principal-content-panel>header{min-height:58px;padding-block:10px}.principal-content-panel>header p{display:none}.principal-content-editor-scroll{padding-block:10px}.student-campus-header{min-height:62px;padding-block:8px}}.app-layout:has(.campus-branding-center),html:has(.campus-branding-center),body:has(.campus-branding-center){height:100dvh;min-height:0;overflow:hidden}.brand-campus .brand-mark{border:1px solid rgba(45,126,234,.18);color:var(--blue-dark);background:#eef5ff;box-shadow:0 4px 14px #0f458d24,0 -2px 9px #2d7eea0f;overflow:hidden}.brand-campus .brand-mark img{width:100%;height:100%;padding:5px;object-fit:contain;background:#fff}.brand-campus .brand-mark:before,.brand-campus .brand-mark:after{content:none}.brand-campus .brand-copy{flex:1 1 auto;max-width:none}.app-body:has(.campus-branding-center){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.campus-branding-center)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.campus-branding-center){height:calc(100dvh - 76px);min-height:0;max-width:none;padding:14px clamp(18px,2.3vw,34px);overflow:hidden}.principal-ops-content:has(>.campus-branding-center),.campus-branding-center{height:100%;min-height:0}.campus-branding-center{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.campus-branding-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px}.campus-branding-toolbar>div{display:flex;align-items:center;gap:11px;min-width:0}.campus-branding-toolbar>div>svg{flex:0 0 auto;width:38px;height:38px;border-radius:12px;padding:9px;color:#fff;background:var(--blue);box-shadow:0 8px 18px #2d7eea33}.campus-branding-toolbar h1{margin:0;color:var(--navy);font-size:23px}.campus-branding-toolbar p{margin:3px 0 0;color:var(--muted);font-size:13px}.campus-branding-toolbar>span{color:#47617e;font-size:13px;font-weight:800}.campus-branding-mobile-switch{display:none;grid-template-columns:1fr 1fr;gap:4px;border:1px solid #d5e2f2;border-radius:9px;padding:4px;background:#edf3fa}.campus-branding-mobile-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-weight:850}.campus-branding-mobile-switch button.active{color:var(--blue-dark);background:#fff;box-shadow:0 3px 10px #12427c1a}.campus-branding-mobile-switch svg{width:18px}.campus-branding-workspace{display:grid;grid-template-columns:minmax(350px,410px) minmax(0,1fr);gap:16px;min-height:0}.campus-brand-settings,.campus-brand-preview,.campus-brand-preview-pane{min-height:0}.campus-brand-settings{display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:10px;overflow:hidden}.campus-brand-settings>header,.campus-brand-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:74px;border-bottom:1px solid #e2eaf4;padding:14px 18px}.campus-brand-settings .eyebrow,.campus-brand-preview .eyebrow{margin-bottom:2px;font-size:10px}.campus-brand-settings h2,.campus-brand-preview h2{margin:0;color:var(--navy);font-size:20px}.campus-brand-settings header p{margin:3px 0 0;color:var(--muted);font-size:12px}.campus-brand-settings-scroll{display:grid;align-content:start;gap:14px;min-height:0;padding:15px 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.campus-brand-settings-scroll>label{display:grid;gap:6px;color:#31435f;font-size:13px;font-weight:800}.campus-brand-settings-scroll>label small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.45}.campus-brand-settings-scroll textarea{min-height:70px;resize:vertical}.campus-brand-settings>footer{border-top:1px solid #e2eaf4;padding:12px 18px;background:#fff}.campus-brand-settings>footer .button{width:100%;min-height:44px;color:#fff;background:var(--blue);box-shadow:0 8px 18px #2d7eea38}.campus-brand-settings>footer .button:hover:not(:disabled),.campus-brand-settings>footer .button:focus-visible:not(:disabled){background:var(--blue-dark);box-shadow:0 10px 22px #2d7eea4d}.campus-brand-preview-pane,.campus-brand-preview{height:100%}.campus-brand-preview{display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:10px;overflow:hidden}.campus-brand-preview>header{align-items:center}.campus-brand-preview>header>span{display:inline-flex;align-items:center;gap:6px;min-height:34px;border-radius:999px;padding:6px 11px;color:var(--blue-dark);background:#eaf3ff;font-size:12px;font-weight:800}.campus-brand-preview>header svg{width:16px}.campus-brand-preview-scroll{display:grid;align-content:start;gap:14px;min-height:0;padding:clamp(14px,2vw,22px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#eef4fb}.brand-preview-browser,.brand-preview-app{overflow:hidden;border:1px solid #d3dfed;border-radius:12px;background:#fff;box-shadow:0 12px 30px #123c6f1a}.brand-preview-browser-bar{display:flex;align-items:center;gap:5px;min-height:32px;padding:0 11px;color:#445a73;background:#e9eef5;font-size:10px}.brand-preview-browser-bar i{width:7px;height:7px;border-radius:50%;background:#9eb0c5}.brand-preview-browser-bar span{margin-left:8px}.brand-preview-login{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.42fr);grid-template-rows:auto minmax(150px,auto);gap:18px;min-height:330px;padding:clamp(20px,3vw,34px);color:#fff;background-color:#172832;background-image:var(--public-login-background-image);background-position:center;background-size:cover}.brand-preview-login:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(90deg,#071019a8,#08161e80 56%,#0c171e52)}.brand-preview-login>*{position:relative;z-index:1}.brand-preview-identity{display:flex;align-items:center;gap:10px;min-width:0}.brand-preview-identity>span{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;overflow:hidden;border-radius:12px;color:var(--navy);background:#fff;font-size:18px;font-weight:900}.brand-preview-identity img{width:100%;height:100%;padding:5px;object-fit:contain}.brand-preview-identity strong{display:grid;gap:3px;min-width:0;font-size:15px}.brand-preview-identity small{overflow:hidden;color:#ffffffd1;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.brand-preview-message{align-self:center;min-width:0}.brand-preview-message>span{color:#9de8d2;font-size:10px;font-weight:850;letter-spacing:.08em}.brand-preview-message h3{max-width:520px;margin:0 0 10px;color:#fff;font-size:clamp(26px,3.3vw,46px);line-height:1.08;letter-spacing:0}.brand-preview-message-rgznjy h3{overflow-wrap:anywhere;white-space:pre-line}.brand-preview-message p{margin:0;color:#ffffffdb;font-size:12px}.brand-preview-login-card{grid-column:2;grid-row:1 / -1;align-self:center;display:grid;gap:12px;min-height:190px;border:1px solid rgba(255,255,255,.62);border-radius:8px;padding:21px;color:var(--navy);background:linear-gradient(145deg,#ffffffc7,#ebf4fba3);box-shadow:0 18px 38px #02102442,inset 0 1px #fffc;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.brand-preview-login-card b{font-size:15px}.brand-preview-login-card>span{height:34px;border:1px solid #d0dcea;border-radius:7px;background:#fff}.brand-preview-login-card button{min-height:36px;border:0;border-radius:7px;color:#fff;background:var(--blue);font-size:11px;font-weight:800;pointer-events:none}.brand-preview-login-campus-v2{color:#06265f;background-color:#d9efff;background-position:center}.brand-preview-login-campus-v2:before{background:linear-gradient(90deg,#ffffffd6,#ffffff7a 46%,#ffffff14 68%)}.brand-preview-login-campus-v2 .brand-preview-identity strong,.brand-preview-login-campus-v2 .brand-preview-message h3{color:#06265f}.brand-preview-login-campus-v2 .brand-preview-message h3{white-space:pre-line}.brand-preview-login-campus-v2 .brand-preview-login-card{border-color:#ffffffdb;background:#eff8ffe0;box-shadow:0 18px 38px #15519a33,inset 0 1px #fffffff5}.brand-preview-login-campus-v2 .brand-preview-login-card>small{overflow:hidden;color:#315a8a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.brand-preview-login-campus-v2 .brand-preview-login-field{display:flex;align-items:center;gap:8px;padding:0 10px}.brand-preview-login-campus-v2 .brand-preview-login-field>svg{width:15px;color:#5b6fa4}.brand-preview-login-campus-v2 .brand-preview-login-field>i{width:58%;height:3px;border-radius:99px;background:#d4dfed}.brand-preview-login-campus-v2 .brand-preview-login-card button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(100deg,#0aaee8,#7937f2)}.brand-preview-login-campus-v2 .brand-preview-login-card button svg{width:14px}.brand-preview-login-rgznjy{grid-template-columns:minmax(0,58fr) minmax(190px,42fr);grid-template-rows:minmax(0,1fr);gap:0;padding:0;background-color:#050d26;background-position:center;background-repeat:no-repeat;background-size:cover}.brand-preview-login-rgznjy:before{right:0;background:linear-gradient(99deg,#02081c14 36%,#02081c2e 47%,#010513b3 70%,#01040ff0)}.brand-preview-login-rgznjy:after{content:"";position:absolute;z-index:0;inset:-9%;pointer-events:none;background:#010512a8;clip-path:polygon(56% 0,100% 0,100% 100%,51% 100%,54% 84%,52% 68%,55% 51%,52% 34%,55% 17%);filter:blur(22px);opacity:.44}.brand-preview-rgznjy-story{position:relative;z-index:1;grid-column:1;grid-row:1;display:grid;align-content:start;gap:clamp(12px,1.6vw,18px);min-width:0;height:100%;padding:clamp(52px,6vw,72px) clamp(22px,3vw,38px) clamp(18px,2.5vw,30px) clamp(38px,4.8vw,64px);transform:none}.brand-preview-rgznjy-story .brand-preview-identity{gap:12px}.brand-preview-rgznjy-story .brand-preview-identity>span{width:48px;height:48px;border:1px solid rgba(125,211,252,.38);box-shadow:0 10px 26px #04123947}.brand-preview-rgznjy-story .brand-preview-identity strong{color:#f8fbff;font-size:clamp(15px,1.55vw,20px);line-height:1.3}.brand-preview-rgznjy-story .brand-preview-message{align-self:start}.brand-preview-rgznjy-story .brand-preview-message h3{max-width:440px;margin:0;color:#fff;font-size:clamp(26px,3vw,42px);line-height:1.16;text-shadow:0 8px 28px rgba(3,13,42,.42)}.brand-preview-login-rgznjy .brand-preview-login-card{--brand-preview-panel-shape: polygon( 22px 0, calc(50% - 38px) 0, calc(50% - 30px) 7px, calc(50% + 30px) 7px, calc(50% + 38px) 0, calc(100% - 22px) 0, 100% 22px, 100% calc(50% - 30px) , calc(100% - 6px) calc(50% - 23px) , calc(100% - 6px) calc(50% + 23px) , 100% calc(50% + 30px) , 100% calc(100% - 22px) , calc(100% - 22px) 100%, calc(50% + 38px) 100%, calc(50% + 30px) calc(100% - 7px) , calc(50% - 30px) calc(100% - 7px) , calc(50% - 38px) 100%, 22px 100%, 0 calc(100% - 22px) , 0 calc(50% + 30px) , 6px calc(50% + 23px) , 6px calc(50% - 23px) , 0 calc(50% - 30px) , 0 22px );position:relative;isolation:isolate;grid-column:2;grid-row:1;align-self:center;align-content:center;gap:10px;min-height:250px;margin:18px;overflow:visible;border:0;border-radius:0;padding:clamp(25px,3vw,32px) clamp(27px,3.2vw,36px);color:#f8fbff;background:transparent;box-shadow:none;filter:drop-shadow(0 20px 24px rgba(1,5,24,.42)) drop-shadow(0 0 12px rgba(74,205,255,.18));backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%)}.brand-preview-login-card-rgznjy:before,.brand-preview-login-card-rgznjy:after{content:"";position:absolute;pointer-events:none;clip-path:var(--brand-preview-panel-shape)}.brand-preview-login-card-rgznjy:before{z-index:1;inset:0 10px;background:linear-gradient(90deg,#63e8ff,#658fff 26%,#907cff,#658fff 74%,#63e8ff);box-shadow:0 0 18px #57ddff57}.brand-preview-login-card-rgznjy:after{z-index:1;inset:1px 11px;background:radial-gradient(ellipse at 50% 0%,rgba(76,174,255,.18),transparent 44%),linear-gradient(90deg,#071c44fc,#0e123dfc 50%,#071c44fc);box-shadow:inset 10px 0 22px #40d3ff0d,inset -10px 0 22px #40d3ff0d}.brand-preview-login-card-rgznjy>:not(.brand-preview-panel-wing):not(.brand-preview-energy-cap){position:relative;z-index:3}.brand-preview-panel-wing{position:absolute;z-index:0;top:50%;width:30px;height:142px;background:linear-gradient(180deg,#63eaff14,#5de0ffc7 48%,#7e68ff1f),linear-gradient(90deg,#4de5ffc7,#2d59c31f);box-shadow:inset 5px 0 10px #a7f8ff52,0 0 16px #42d5ff4d;clip-path:polygon(100% 0,52% 9%,22% 32%,0 50%,22% 68%,52% 91%,100% 100%,72% 74%,60% 50%,72% 26%);transform:translateY(-50%)}.brand-preview-panel-wing-left{left:0}.brand-preview-panel-wing-right{right:0;transform:translateY(-50%) scaleX(-1)}.brand-preview-energy-cap{position:absolute;z-index:4;left:50%;width:112px;height:14px;background:linear-gradient(90deg,#53e3ff42,#669dffe6 28%,#907cff,#669dffe6 72%,#53e3ff42);box-shadow:0 0 14px #5bdaff61;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,9px 100%,0 50%);transform:translate(-50%)}.brand-preview-energy-cap:after{content:"";position:absolute;top:50%;left:15px;width:calc(100% - 30px);height:2px;background:#c8faff;box-shadow:0 0 9px #88f0ffe6;transform:translateY(-50%) scaleX(.45);animation:brand-preview-panel-energy 2.8s ease-in-out infinite alternate}.brand-preview-energy-cap-top{top:-1px}.brand-preview-energy-cap-bottom{bottom:-1px}.brand-preview-login-card-rgznjy b{color:#fff;font-size:clamp(13px,1.4vw,17px);line-height:1.35;text-align:center}.brand-preview-login-card-rgznjy>small{margin-top:-4px;color:#aabedf;font-size:9px;line-height:1.45;text-align:center}.brand-preview-login-card-rgznjy>.brand-preview-login-field{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;height:36px;border:1px solid rgba(107,222,255,.58);border-radius:0;padding:0 11px;background:linear-gradient(90deg,#03122fe0,#081030f0 50%,#03122fe0);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}.brand-preview-login-field>svg{width:15px;height:15px;color:#72d5ff;stroke-width:1.8}.brand-preview-login-field>i{width:min(78px,72%);height:5px;border-radius:3px;background:#b4cceb57}.brand-preview-login-card-rgznjy button{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:0;border:1px solid rgba(142,214,255,.3);background:linear-gradient(90deg,#1877f2,#654fe8);box-shadow:0 9px 24px #2169ef47,inset 0 1px #fff3;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}.brand-preview-login-card-rgznjy button svg{width:13px;height:13px}@keyframes brand-preview-panel-energy{0%{opacity:.5;transform:translateY(-50%) scaleX(.45)}to{opacity:1;transform:translateY(-50%) scaleX(1)}}.brand-preview-app-header{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:10px 18px;background:#fffffff5;background-position:center;background-size:cover}.brand-preview-app-brand{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center;min-width:0;gap:16px}.brand-preview-identity.light{color:var(--navy)}.brand-preview-identity.light strong,.brand-preview-app-slogan{overflow:hidden;font-size:15px;line-height:normal;text-overflow:ellipsis;white-space:nowrap}.brand-preview-app-slogan{min-width:0;border-left:1px solid #dce6f3;padding-left:16px;color:var(--navy)}.brand-preview-app-slogan-rgznjy{white-space:pre-line}.brand-preview-app-header>i{width:34px;height:34px;border-radius:11px;background:var(--blue)}.brand-preview-app-body{display:grid;grid-template-columns:110px minmax(0,1fr);min-height:170px;border-top:1px solid #dce6f3;background:#f4f8ff}.brand-preview-app-body aside{display:grid;align-content:start;gap:10px;border-right:1px solid #dce6f3;padding:18px 12px;background:#fff}.brand-preview-app-body aside span{height:24px;border-radius:6px;background:#e8f1fd}.brand-preview-app-body>div{padding:26px}.brand-preview-app-body b{color:var(--navy);font-size:18px}.brand-preview-app-body p{margin:7px 0 18px;color:var(--muted);font-size:12px}.brand-preview-app-body>div>span{display:block;height:62px;border:1px solid #dce6f3;border-radius:9px;background:#fff}@media(max-width:1020px){.app-body:has(.campus-branding-center){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.campus-branding-center)>.app-sidebar{position:static;height:auto}.app-main:has(.campus-branding-center){height:auto;align-self:stretch;padding:12px 16px}.campus-branding-workspace{grid-template-columns:minmax(320px,370px) minmax(0,1fr)}.brand-preview-login{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.brand-preview-login-card{display:none}.brand-preview-login-rgznjy{padding:20px;background-position:center;background-size:cover}.brand-preview-login-rgznjy:before{right:0}.brand-preview-rgznjy-story{grid-column:1;padding:0;transform:none}.brand-preview-login-rgznjy:after{display:none}.brand-preview-login-rgznjy .brand-preview-identity,.brand-preview-login-rgznjy .brand-preview-message{padding:0}}@media(max-width:720px){.app-body:has(.campus-branding-center){height:calc(100dvh - 68px)}.app-main:has(.campus-branding-center){padding:8px 10px}.campus-branding-center{grid-template-rows:auto auto minmax(0,1fr);gap:7px}.campus-branding-toolbar{min-height:42px}.campus-branding-toolbar>span,.campus-branding-toolbar p,.campus-branding-toolbar>div>svg{display:none}.campus-branding-toolbar h1{font-size:21px}.campus-branding-mobile-switch{display:grid}.campus-branding-workspace{display:block}.campus-brand-settings[data-mobile-visible=false],.campus-brand-preview-pane[data-mobile-visible=false]{display:none}.campus-brand-settings[data-mobile-visible=true],.campus-brand-preview-pane[data-mobile-visible=true]{display:grid;height:100%}.campus-brand-preview-pane[data-mobile-visible=true]{min-height:0}.brand-preview-login{min-height:290px;padding:20px}.brand-preview-message h3{font-size:30px}.brand-preview-app-body{grid-template-columns:76px minmax(0,1fr)}}@media(max-height:700px){.campus-brand-settings>header,.campus-brand-preview>header{min-height:58px;padding-block:10px}.campus-brand-settings header p,.campus-brand-preview>header>span{display:none}.campus-brand-settings-scroll,.campus-brand-preview-scroll{padding-block:10px}}@media(prefers-reduced-motion:reduce){.brand-preview-energy-cap:after{animation:none;opacity:.8;transform:translateY(-50%) scaleX(1)}}html:has(.teaching-analytics-dashboard),body:has(.teaching-analytics-dashboard),body:has(.teaching-analytics-dashboard) #root,body:has(.teaching-analytics-dashboard) .app-layout{height:100%;min-height:0;overflow:hidden}.app-body:has(.teaching-analytics-dashboard){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teaching-analytics-dashboard)>.app-sidebar{height:calc(100dvh - 76px)}.app-main:has(.teaching-analytics-dashboard){width:100%;height:calc(100dvh - 76px);min-height:0;max-width:none;padding:14px clamp(14px,1.8vw,26px);overflow:hidden}.principal-ops-content:has(>.teaching-analytics-dashboard){height:100%;min-height:0}.teaching-analytics-dashboard{--analytics-blue: #2764e7;--analytics-blue-deep: #1748b5;--analytics-indigo: #5968de;--analytics-cyan: #1599c7;--analytics-mint: #20a97a;--analytics-violet: #8461d9;--analytics-amber: #d58a15;--analytics-coral: #db5b5b;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:11px;width:100%;height:100%;min-height:0;color:#1d3556;font-variant-numeric:tabular-nums}.analytics-dashboard-state{place-items:center}.analytics-filterbar{position:relative;z-index:5;display:grid;grid-template-columns:minmax(172px,.64fr) minmax(490px,2.2fr) auto;align-items:center;gap:14px;min-width:0;border-color:#cddcf0;border-radius:14px;padding:10px 12px;background:radial-gradient(circle at 0 50%,rgba(39,100,231,.12),transparent 27%),linear-gradient(132deg,#fffffffc,#f4f8fffa);box-shadow:0 12px 30px #16427e14}.analytics-filter-title,.analytics-filter-title>span,.analytics-filter-actions,.analytics-refreshing,.analytics-reset-button,.analytics-methodology summary,.analytics-search-control,.analytics-panel-heading,.analytics-kpi,.analytics-insight,.analytics-coverage-note{display:flex;align-items:center}.analytics-filter-title{min-width:0;gap:10px}.analytics-filter-title>span{justify-content:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--analytics-blue),#5593ff);box-shadow:0 8px 18px #2764e738}.analytics-filter-title svg{width:21px;height:21px}.analytics-filter-title h1,.analytics-filter-title p,.analytics-panel-heading h2,.analytics-panel-heading p,.analytics-insight,.analytics-coverage-note{margin:0}.analytics-filter-title h1{color:#17355e;font-size:21px;line-height:1.15;letter-spacing:-.02em}.analytics-filter-title p{max-width:210px;margin-top:4px;overflow:hidden;color:#6a7d96;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.analytics-filter-fields{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(160px,.9fr) minmax(210px,1.25fr);gap:9px;min-width:0}.analytics-filter-fields>label{display:grid;gap:4px;min-width:0;color:#526982;font-size:11px;font-weight:850}.analytics-filter-fields select,.analytics-filter-fields input{width:100%;min-width:0;height:40px;min-height:40px;border:1px solid #c8d8ed;border-radius:10px;padding:0 11px;color:#1e3b61;background-color:#fffffff5;font-size:13px;font-weight:750}.analytics-filter-fields select:disabled,.analytics-filter-fields input:disabled{color:#92a0b2;background:#f1f4f8}.analytics-search-control{position:relative;min-width:0}.analytics-search-control>svg{position:absolute;left:11px;z-index:1;width:16px;height:16px;color:#6d83a0;pointer-events:none}.analytics-filter-fields .analytics-search-control input{padding-left:34px}.analytics-filter-actions{justify-content:flex-end;gap:8px;min-width:88px}.analytics-refreshing{gap:5px;color:var(--analytics-blue-deep);font-size:11px;font-weight:850;white-space:nowrap}.analytics-refreshing svg{width:15px;height:15px}.analytics-reset-button{justify-content:center;gap:5px;min-height:40px;border:1px solid #cbdcf1;border-radius:10px;padding:0 9px;color:var(--analytics-blue-deep);background:#fff;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.analytics-reset-button:hover:not(:disabled),.analytics-reset-button:focus-visible:not(:disabled){border-color:#91b1df;background:#edf4ff}.analytics-reset-button:disabled{color:#9aa8b8;background:#f3f5f8;cursor:not-allowed}.analytics-reset-button svg{width:14px;height:14px}.analytics-methodology{position:relative}.analytics-methodology summary{justify-content:center;gap:6px;min-height:40px;border:1px solid #cbdcf1;border-radius:10px;padding:0 10px;color:var(--analytics-blue-deep);background:#f3f7ff;font-size:12px;font-weight:850;cursor:pointer;list-style:none;white-space:nowrap}.analytics-methodology summary::-webkit-details-marker{display:none}.analytics-methodology summary svg{width:15px;height:15px}.analytics-methodology summary svg:last-child{transition:transform .18s ease}.analytics-methodology[open] summary svg:last-child{transform:rotate(180deg)}.analytics-methodology>div{position:absolute;top:calc(100% + 8px);right:0;width:min(410px,calc(100vw - 32px));border:1px solid #c8d8ed;border-radius:13px;padding:14px 16px;color:#425a79;background:#fffffffc;box-shadow:0 18px 45px #183a6733}.analytics-methodology>div strong{color:#17355e}.analytics-methodology ul{display:grid;gap:7px;margin:9px 0 0;padding-left:18px;font-size:12px;line-height:1.55}.analytics-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:9px;min-width:0}.analytics-kpi{position:relative;min-width:0;min-height:84px;gap:10px;overflow:hidden;border:1px solid #d5e1f0;border-radius:13px;padding:11px 12px;background:#fffffff5;box-shadow:0 8px 20px #19437c0f;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.analytics-kpi:after{content:"";position:absolute;top:-25px;right:-20px;width:72px;height:72px;border-radius:50%;background:currentColor;opacity:.055}.analytics-kpi:hover{transform:translateY(-2px);border-color:#adc5e7;box-shadow:0 12px 26px #19437c1c}.analytics-kpi-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:11px;color:#fff;background:currentColor;box-shadow:0 7px 15px color-mix(in srgb,currentColor 25%,transparent)}.analytics-kpi-icon svg{width:18px;height:18px}.analytics-kpi>div{display:grid;min-width:0}.analytics-kpi>div>span{color:#64778f;font-size:11px;font-weight:850}.analytics-kpi strong{overflow:hidden;color:#18375f;font-size:clamp(20px,1.7vw,27px);line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.analytics-kpi small{overflow:hidden;color:#7b8ba0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.analytics-kpi-blue{color:var(--analytics-blue)}.analytics-kpi-indigo{color:var(--analytics-indigo)}.analytics-kpi-cyan{color:var(--analytics-cyan)}.analytics-kpi-violet{color:var(--analytics-violet)}.analytics-kpi-amber{color:var(--analytics-amber)}.analytics-visual-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.78fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;min-width:0;min-height:0;overflow:hidden}.analytics-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-color:#d4e1f0;border-radius:14px;padding:13px 14px;background:linear-gradient(150deg,#fffffffc,#f8fbfffa);box-shadow:0 9px 24px #18427c11}.analytics-panel-heading{gap:9px;min-height:40px;margin-bottom:7px}.analytics-panel-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid #c7d9f2;border-radius:10px;color:var(--analytics-blue-deep);background:#edf4ff}.analytics-panel-icon svg{width:17px;height:17px}.analytics-panel-heading h2{color:#19385f;font-size:15px;line-height:1.15}.analytics-panel-heading p{margin-top:3px;color:#75869b;font-size:11px;line-height:1.25}.analytics-trend-panel{grid-column:1;grid-row:1}.analytics-comparison-panel{grid-column:1;grid-row:2}.analytics-attendance-panel{grid-column:2;grid-row:1}.analytics-outcome-panel{grid-column:2;grid-row:2}.analytics-empty-visual{display:grid;place-content:center;justify-items:center;min-height:0;height:100%;border:1px dashed #cbd9ec;border-radius:11px;padding:16px;color:#74869c;text-align:center;background:#f4f8feb3}.analytics-empty-visual svg{width:28px;height:28px;margin-bottom:7px;color:#88a3c5}.analytics-empty-visual strong{color:#3d5878;font-size:13px}.analytics-empty-visual span{max-width:320px;margin-top:4px;font-size:11px;line-height:1.5}.analytics-trend-body,.analytics-comparison-body,.analytics-attendance-body,.analytics-outcome-body{min-width:0;min-height:0}.analytics-trend-body{display:grid;grid-template-rows:auto minmax(0,1fr)}.analytics-chart-legend{display:flex;justify-content:flex-end;gap:14px;margin:-33px 2px 3px 120px;padding:0;list-style:none;color:#526681;font-size:10px;font-weight:750}.analytics-chart-legend li{display:flex;align-items:center;gap:5px;white-space:nowrap}.analytics-chart-legend i{width:9px;height:9px;border-radius:50%;background:var(--analytics-blue)}.analytics-chart-legend .completion i{border-radius:2px;background:var(--analytics-violet)}.analytics-chart-legend .score i{clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0;background:var(--analytics-mint)}.analytics-trend-canvas{min-width:0;min-height:0}.analytics-trend-canvas svg{display:block;width:100%;height:100%;min-height:130px;overflow:visible}.analytics-axis-tick line{stroke:#dce6f2;stroke-width:1;stroke-dasharray:3 4}.analytics-axis-tick text,.analytics-axis-label{fill:#7b8ca1;font-size:11px;font-weight:700}.analytics-trend-series polyline{fill:none;stroke:var(--analytics-blue);stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.analytics-trend-series.completion polyline{stroke:var(--analytics-violet)}.analytics-trend-series.score polyline{stroke:var(--analytics-mint)}.analytics-trend-series circle,.analytics-trend-series rect,.analytics-trend-series path{fill:#fff;stroke:var(--analytics-blue);stroke-width:2.4;transition:transform .18s ease,filter .18s ease}.analytics-trend-series.completion circle,.analytics-trend-series.completion rect,.analytics-trend-series.completion path{stroke:var(--analytics-violet)}.analytics-trend-series.score circle,.analytics-trend-series.score rect,.analytics-trend-series.score path{stroke:var(--analytics-mint)}.analytics-trend-point:focus-visible{outline:none}.analytics-trend-point:hover>:not(.analytics-svg-tooltip),.analytics-trend-point:focus>:not(.analytics-svg-tooltip){transform:scale(1.35);filter:drop-shadow(0 3px 4px rgba(23,72,181,.25))}.analytics-svg-tooltip{opacity:0;pointer-events:none;transition:opacity .16s ease}.analytics-svg-tooltip rect{fill:#17355e;stroke:none}.analytics-svg-tooltip text{fill:#fff;font-size:10px;font-weight:800}.analytics-trend-point:hover .analytics-svg-tooltip,.analytics-trend-point:focus .analytics-svg-tooltip{opacity:1}.analytics-comparison-body{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px}.analytics-insight{gap:6px;min-height:28px;border-radius:9px;padding:5px 9px;color:#38577e;background:linear-gradient(90deg,#eef5ff,#f8fbff);font-size:11px}.analytics-insight svg{flex:0 0 auto;width:15px;height:15px;color:var(--analytics-amber)}.analytics-comparison-list{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:7px;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.analytics-comparison-list>article{display:grid;gap:6px;min-width:0;min-height:88px;border:1px solid #d9e4f1;border-radius:10px;padding:8px 9px;background:#ffffffe0;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.analytics-comparison-list>article:hover,.analytics-comparison-list>article:focus-visible{transform:translateY(-1px);border-color:#9dbce6;background:#fff}.analytics-comparison-list article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.analytics-comparison-list article>header>div{min-width:0}.analytics-comparison-list article>header strong,.analytics-comparison-list article>header span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-comparison-list article>header strong{color:#243f63;font-size:13px}.analytics-comparison-list article>header span{margin-top:2px;color:#76879d;font-size:10px}.analytics-comparison-list article>header b{flex:0 0 auto;color:var(--analytics-mint);font-size:14px;text-align:right}.analytics-comparison-list article>header b small{display:block;color:#8290a2;font-size:9px;font-weight:650}.analytics-comparison-metric{display:grid;grid-template-columns:50px minmax(45px,1fr) 40px;align-items:center;gap:6px;color:#667990;font-size:10px}.analytics-comparison-metric>div{height:6px;overflow:hidden;border-radius:999px;background:#e8eef6}.analytics-comparison-metric>div i{display:block;width:var(--analytics-value);height:100%;border-radius:inherit;background:var(--analytics-cyan);transition:width .24s ease}.analytics-comparison-metric.completion>div i{background:var(--analytics-violet)}.analytics-comparison-metric>div.is-empty i{width:0}.analytics-comparison-metric strong{color:#3c5675;font-size:10px;text-align:right}.analytics-attendance-body{display:grid;grid-template-columns:minmax(118px,.92fr) minmax(126px,1.08fr);grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:4px 10px;height:100%}.analytics-donut-wrap{position:relative;display:grid;place-items:center;min-width:0;min-height:0}.analytics-donut{width:min(100%,160px);max-height:150px;overflow:visible}.analytics-donut-track,.analytics-donut-segment{fill:none;stroke-width:15}.analytics-donut-track{stroke:#e9eff7}.analytics-donut-segment{stroke:var(--analytics-blue);transition:stroke-width .18s ease,filter .18s ease}.analytics-donut-segment.segment-late{stroke:var(--analytics-amber)}.analytics-donut-segment.segment-leave{stroke:var(--analytics-cyan)}.analytics-donut-segment.segment-absent{stroke:var(--analytics-coral)}.analytics-donut-segment.segment-unrecorded{stroke:#a3afbf}.analytics-donut-segment:hover,.analytics-donut-segment:focus-visible{stroke-width:19;filter:drop-shadow(0 3px 4px rgba(27,66,117,.22));outline:none}.analytics-donut-wrap>div{position:absolute;display:grid;place-items:center;pointer-events:none}.analytics-donut-wrap>div strong{color:#18375f;font-size:19px;line-height:1}.analytics-donut-wrap>div span{margin-top:4px;color:#77889e;font-size:9px}.analytics-breakdown-list{display:grid;align-content:center;gap:4px;min-height:0;margin:0;padding:0;list-style:none}.analytics-breakdown-list li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:25px;border-radius:7px;padding:3px 6px;color:#435d7c;background:#f4f8fdb8}.analytics-breakdown-list li:focus-visible,.analytics-breakdown-list li:hover{background:#edf4ff}.analytics-breakdown-list li>i{width:7px;height:7px;border-radius:50%;background:var(--analytics-blue)}.analytics-breakdown-list li.segment-late>i{background:var(--analytics-amber)}.analytics-breakdown-list li.segment-leave>i{background:var(--analytics-cyan)}.analytics-breakdown-list li.segment-absent>i{background:var(--analytics-coral)}.analytics-breakdown-list li.segment-unrecorded>i{background:#a3afbf}.analytics-breakdown-list li span{font-size:11px;font-weight:750}.analytics-breakdown-list li small{margin-left:4px;color:#8392a5;font-size:9px}.analytics-breakdown-list li strong{font-size:12px}.analytics-coverage-note{grid-column:1 / -1;justify-content:center;gap:5px;border-radius:8px;padding:5px 8px;color:#5d718b;background:#f0f5fb;font-size:10px}.analytics-coverage-note svg{width:13px;height:13px;color:var(--analytics-blue)}.analytics-outcome-body{display:grid;grid-template-columns:minmax(120px,.82fr) minmax(145px,1.18fr);align-items:stretch;gap:10px;height:100%}.analytics-completion-summary,.analytics-score-distribution{min-width:0;border:1px solid #dce6f2;border-radius:10px;padding:9px;background:#ffffffd6}.analytics-completion-summary{display:grid;align-content:center;gap:10px}.analytics-completion-summary header,.analytics-completion-summary>div:last-child,.analytics-score-distribution header{display:flex;align-items:center;justify-content:space-between;gap:6px}.analytics-completion-summary header span,.analytics-score-distribution header span{color:#526a88;font-size:11px;font-weight:850}.analytics-completion-summary header strong{color:var(--analytics-violet);font-size:19px}.analytics-completion-track{height:9px;overflow:hidden;border-radius:999px;background:#e9edf5}.analytics-completion-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--analytics-violet),#a88be8);transition:width .24s ease}.analytics-completion-summary>div:last-child{align-items:flex-start;color:#63768e;font-size:10px}.analytics-completion-summary>div:last-child span{display:grid;grid-template-columns:6px auto;gap:2px 4px}.analytics-completion-summary>div:last-child i{align-self:center;width:6px;height:6px;border-radius:50%;background:var(--analytics-violet)}.analytics-completion-summary>div:last-child i.pending{background:#a7b2c2}.analytics-completion-summary>div:last-child b{grid-column:2;color:#344f70;font-size:13px}.analytics-score-distribution{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px}.analytics-score-distribution header small{color:#8593a5;font-size:9px}.analytics-score-distribution ul{display:grid;align-content:center;gap:4px;min-height:0;margin:0;padding:0;list-style:none}.analytics-score-distribution li{display:grid;grid-template-columns:39px minmax(32px,1fr) 18px;align-items:center;gap:5px;min-height:21px;border-radius:6px;color:#61758e;font-size:10px}.analytics-score-distribution li:hover,.analytics-score-distribution li:focus-visible{color:#2c4a70;background:#f2f7ff}.analytics-score-distribution li>div{height:6px;overflow:hidden;border-radius:999px;background:#edf1f6}.analytics-score-distribution li>div i{display:block;height:100%;border-radius:inherit;background:var(--analytics-mint);transition:width .24s ease}.analytics-score-distribution li.band-good>div i{background:var(--analytics-blue)}.analytics-score-distribution li.band-medium>div i{background:var(--analytics-cyan)}.analytics-score-distribution li.band-pass>div i{background:var(--analytics-amber)}.analytics-score-distribution li.band-review>div i{background:var(--analytics-coral)}.analytics-score-distribution li strong{color:#344f70;text-align:right}@media(max-width:1180px){.analytics-filterbar{grid-template-columns:minmax(150px,.5fr) minmax(430px,2fr) auto;gap:9px}.analytics-filter-title>span{width:38px;height:38px}.analytics-filter-title h1{font-size:19px}.analytics-filter-title p{max-width:145px}.analytics-kpi{padding-inline:9px}.analytics-kpi-icon{width:32px;height:32px}.analytics-kpi small{display:none}.analytics-comparison-list{grid-template-columns:minmax(250px,1fr)}}@media(max-width:1050px){.analytics-filterbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto}.analytics-filter-title{grid-column:1;grid-row:1}.analytics-filter-fields{grid-column:1 / -1;grid-row:2}.analytics-filter-actions{grid-column:2;grid-row:1}.analytics-filter-title p{max-width:320px}}@media(max-width:900px){.app-body:has(.teaching-analytics-dashboard){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.teaching-analytics-dashboard)>.app-sidebar{position:static;top:auto;height:auto}.app-main:has(.teaching-analytics-dashboard){height:100%;padding:10px 12px}.teaching-analytics-dashboard{gap:8px}.analytics-filterbar{grid-template-columns:minmax(0,1fr) auto;padding:8px 9px}.analytics-filter-title>span{display:none}.analytics-filter-fields{grid-template-columns:minmax(130px,.8fr) minmax(140px,.9fr) minmax(190px,1.25fr)}.analytics-filter-fields select,.analytics-filter-fields input{height:38px;min-height:38px}.analytics-kpi-grid{grid-template-columns:repeat(5,minmax(170px,1fr));overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-gutter:stable}.analytics-kpi{min-height:76px}.analytics-visual-grid{grid-template-columns:minmax(420px,1.35fr) minmax(285px,.85fr);grid-template-rows:repeat(2,minmax(245px,auto));overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}}@media(max-width:700px){.app-body:has(.teaching-analytics-dashboard){height:calc(100dvh - 68px)}.app-main:has(.teaching-analytics-dashboard){padding:8px 9px}.analytics-filterbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:7px}.analytics-filter-title h1{font-size:18px}.analytics-filter-title p{max-width:min(56vw,260px)}.analytics-filter-fields{grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(3,minmax(156px,1fr));overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.analytics-filter-fields>label{font-size:10px}.analytics-filter-actions{grid-column:2;grid-row:1}.analytics-refreshing{position:absolute;top:6px;right:175px}.analytics-methodology summary{min-height:38px}.analytics-kpi-grid{grid-template-columns:repeat(5,minmax(155px,1fr))}.analytics-kpi{min-height:70px;padding-block:8px}.analytics-kpi strong{font-size:20px}.analytics-visual-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(245px,auto)}.analytics-trend-panel,.analytics-comparison-panel,.analytics-attendance-panel,.analytics-outcome-panel{grid-column:1;grid-row:auto}.analytics-panel{min-height:245px}.analytics-comparison-list{grid-template-columns:minmax(240px,1fr)}}@media(max-width:430px){.analytics-filter-title p{max-width:48vw}.analytics-methodology summary{padding-inline:8px}.analytics-methodology summary svg:last-child{display:none}.analytics-chart-legend{gap:8px;margin-left:90px}.analytics-attendance-body{grid-template-columns:minmax(108px,.8fr) minmax(130px,1.2fr)}.analytics-outcome-body{grid-template-columns:minmax(108px,.76fr) minmax(140px,1.24fr);gap:7px}.analytics-panel{padding:11px}}@media(prefers-reduced-motion:reduce){.teaching-analytics-dashboard *,.teaching-analytics-dashboard *:before,.teaching-analytics-dashboard *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--app-header-height: 72px}html:has(.login-page),body:has(.login-page),body:has(.login-page) #root,html:has(.app-layout),body:has(.app-layout),body:has(.app-layout) #root{width:100%;height:100dvh;min-height:0;overflow:hidden}.login-page{width:100%;height:100%;min-height:0;overflow:hidden}.login-story{height:100%;min-height:0;padding:clamp(28px,4vh,48px) clamp(40px,6vw,88px)}.login-campus-brand{gap:16px;margin-bottom:clamp(16px,2.5vh,26px)}.login-campus-logo{width:60px;height:60px;border-radius:18px}.login-campus-brand>.brand-copy{display:flex;min-width:0;color:#fff;font-size:36px;font-weight:900;line-height:normal;letter-spacing:0;text-shadow:0 2px 12px rgba(2,16,44,.34)}.login-campus-brand>.brand-copy>span{overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.login-story h1{margin-bottom:14px;font-size:48px;line-height:1.1;letter-spacing:0}.login-news{gap:7px;min-height:0;margin-top:clamp(16px,2.5vh,24px)}.login-news h2{font-size:18px}.login-news article{grid-template-columns:56px minmax(0,1fr);gap:11px;min-height:70px;padding:7px 9px;border-radius:14px}.login-news article>img{width:56px;height:56px;padding:8px;border-radius:13px}.login-news article span{margin-bottom:2px;font-size:11px}.login-news article h3,.login-news article p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.login-news article h3{margin-bottom:2px;font-size:14px;-webkit-line-clamp:1}.login-news article p{font-size:12px;line-height:1.4;-webkit-line-clamp:1}.login-card{max-height:calc(100% - 40px);margin-block:20px;overflow-y:auto;overscroll-behavior:contain}.app-layout{display:grid;grid-template-rows:var(--app-header-height) minmax(0,1fr);width:100%;height:100%;min-height:0;overflow:hidden}.app-layout .app-header{position:relative;top:auto;height:var(--app-header-height);min-height:0}.app-layout .app-body{width:100%;height:100%;min-height:0;overflow:hidden}.app-layout .app-body>.app-sidebar{position:relative;top:auto;align-self:stretch;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-layout .app-main{height:100%;min-height:0;overflow:hidden}.app-layout.navigation-hidden .app-body{display:block;height:100%}.app-main>.page-heading:not(:has(.eyebrow)){min-height:104px;padding:18px 24px}.app-main>.page-heading:not(:has(.eyebrow)) h1{margin-bottom:6px}.app-main:has(>.page-heading.principal-heading),.app-main:has(>.settings-form){display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.app-main>.page-heading.principal-heading,.app-main:has(>.settings-form)>.page-heading{min-height:0;margin-bottom:0}.app-main:has(>.page-heading.principal-heading)>:not(.page-heading),.app-main>.settings-form{min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain}.app-main>.page-heading.principal-heading{min-height:96px;padding-block:12px}.app-main>.page-heading.principal-heading .campus-heading-logo{width:64px;height:64px;border-radius:16px}.app-layout.role-student .app-main>:is(.student-classroom-stack,.typing-native-page,.student-personal-space,.fengjixian-editor-page){width:100%;height:100%;min-height:0;overflow:hidden}.student-classroom-stack:has(>.student-course-overview){grid-template-rows:minmax(154px,.68fr) minmax(0,1.32fr);gap:14px}.student-classroom-stack>.student-class-courses{grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.student-classroom-stack .student-class-course-grid,.student-classroom-stack>.student-course-overview{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-classroom-stack .student-class-course-grid{align-content:start}.student-classroom-stack .student-course-heading{min-height:112px;padding:18px 22px}.student-classroom-stack .student-course-heading h1{margin:0 0 6px;font-size:30px}.student-classroom-stack .student-course-heading p{font-size:14px;line-height:1.55}.student-classroom-stack .course-total{width:82px;height:82px}.student-classroom-stack .course-total strong{font-size:31px}.student-classroom-stack:has(>.student-immersive-classroom){grid-template-rows:minmax(0,1fr)}.student-classroom-stack>.student-immersive-classroom{min-height:0;overflow-y:auto;overscroll-behavior:contain}.typing-native-page{grid-template-rows:auto auto minmax(0,1fr);gap:14px}.typing-native-page>.typing-hero{min-height:112px;margin:0;padding:16px 22px}.typing-native-page>.typing-hero h1{margin-bottom:5px;font-size:30px}.typing-native-page>.typing-hero p{line-height:1.5}.typing-native-page .typing-rank-pill{min-width:104px;min-height:78px;border-radius:18px;font-size:17px}.typing-native-page .typing-rank-pill img{width:30px;height:30px}.typing-native-page>.metric-grid{gap:12px;margin:0}.typing-native-page>.metric-grid .metric-card{min-height:86px;gap:4px;padding:13px 16px}.typing-native-page>.metric-grid .metric-card>strong{font-size:28px}.typing-native-page>.typing-native-grid{min-height:0;align-items:stretch;overflow:hidden}.typing-native-page .typing-native-content,.typing-native-page .typing-leaderboard-native.compact{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.typing-native-page .typing-leaderboard-native.compact{position:static;align-self:stretch}.student-personal-space:has(>.profile-hero){grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);grid-template-rows:auto auto minmax(0,1fr);gap:12px}.student-personal-space>.profile-hero{min-height:118px;margin:0;padding:16px 20px}.student-personal-space>.profile-hero h1{margin-bottom:5px;font-size:30px}.student-personal-space>.growth-dashboard-card{min-height:118px;grid-template-columns:90px minmax(0,1fr) minmax(220px,.72fr);gap:13px;padding:13px}.student-personal-space .growth-orbit{width:82px;height:82px;border-width:7px}.student-personal-space .growth-orbit strong{font-size:23px}.student-personal-space .growth-dashboard-copy h2{margin-bottom:7px;font-size:22px}.student-personal-space .growth-mini-stats{gap:6px}.student-personal-space .growth-mini-stats span{min-height:43px;border-radius:12px;padding:6px 8px}.student-personal-space .growth-mini-stats strong{font-size:17px}.student-personal-space>.personal-module-grid{grid-column:1 / -1;gap:10px}.student-personal-space .personal-module-card{grid-template-columns:44px minmax(0,1fr);min-height:86px;gap:2px 10px;border-radius:16px;padding:10px 12px}.student-personal-space .personal-module-card img{width:42px;height:42px}.student-personal-space .personal-module-card .module-title{font-size:18px}.student-personal-space>.student-personal-grid.modular{grid-column:1 / -1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-personal-space:not(:has(>.profile-hero)){grid-template-rows:auto minmax(0,1fr);gap:10px}.student-personal-space:not(:has(>.profile-hero))>:last-child{min-height:0;overflow-y:auto;overscroll-behavior:contain}@media(max-width:900px){.app-layout:not(.navigation-hidden) .app-body{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.app-layout:not(.navigation-hidden) .app-sidebar{align-self:auto;width:100%;height:auto;overflow-x:auto;overflow-y:hidden}.app-layout.role-student .app-main>:is(.student-classroom-stack,.typing-native-page,.student-personal-space,.fengjixian-editor-page){align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.typing-native-page{display:block}.typing-native-page>*+*{margin-top:14px}.typing-native-page>.typing-native-grid,.typing-native-page .typing-native-content,.typing-native-page .typing-leaderboard-native.compact{overflow:visible;scrollbar-gutter:auto}.student-personal-space:has(>.profile-hero){display:flex;flex-direction:column}.student-personal-space>:is(.profile-hero,.growth-dashboard-card,.personal-module-grid,.student-personal-grid.modular){flex:0 0 auto;width:100%}.student-personal-space>.profile-hero{min-height:max-content;height:auto}.student-personal-space>.growth-dashboard-card{grid-template-columns:82px minmax(0,1fr);align-items:center}.student-personal-space .growth-mini-stats{grid-column:1 / -1}.student-personal-space>.student-personal-grid.modular{overflow:visible;scrollbar-gutter:auto}}@media(max-width:800px){.login-page{grid-template-columns:1fr;grid-template-rows:minmax(210px,.78fr) minmax(380px,1.22fr)}.login-story{justify-content:center;height:100%;padding:20px 24px}.login-campus-brand{margin-bottom:14px}.login-campus-logo{width:52px;height:52px;border-radius:16px}.login-campus-brand>.brand-copy{font-size:30px}.login-story h1{margin-bottom:10px;font-size:34px}.login-news{display:none}.login-card{align-self:center;width:min(430px,calc(100% - 28px));max-height:calc(100% - 16px);margin:8px auto;padding:22px 20px;scrollbar-gutter:auto}.login-card h2{margin-bottom:5px;font-size:28px}.login-card>p{margin-bottom:0}.login-card label{margin-top:12px}.login-card .button-full{margin-top:16px}}@media(max-width:700px){:root{--app-header-height: 68px}}@media(max-width:800px)and (max-height:680px){.login-page{grid-template-rows:168px minmax(0,1fr)}.login-campus-brand{margin-bottom:9px}.login-campus-logo{width:46px;height:46px}.login-campus-brand>.brand-copy{font-size:27px}.login-story h1{margin:0;font-size:28px}.login-card{padding-block:14px}.login-card .eyebrow,.login-hint{display:none}}@media(min-width:801px)and (max-height:760px){.login-story h1{font-size:42px}.login-news article:nth-of-type(n+3){display:none}}@media(min-width:801px)and (max-height:640px){.login-news{display:none}}.app-main:has(.typing-native-page){max-width:none;padding:14px clamp(14px,2vw,28px)}.app-main:has(.typing-session){max-width:none;padding:8px clamp(12px,1.4vw,22px) 12px;overflow:hidden}.app-layout.role-student .app-main>.typing-session{width:100%;height:100%;min-height:0;overflow:hidden}.app-layout.role-student .typing-session-bar{position:relative;z-index:2}.app-layout.role-student .typing-stage{isolation:isolate;z-index:1}.app-layout.role-student .typing-stage:not(:fullscreen){border-color:var(--typing-stage-border);background:var(--typing-shell-bg);box-shadow:var(--typing-shell-shadow)}.app-layout.role-student .typing-stage>.virtual-keyboard{position:relative;z-index:0}.app-layout.role-student .typing-stage>.typing-result{grid-area:1 / 1 / -1 / -1;width:100%;height:100%;z-index:30}.app-layout.role-student .typing-stage:fullscreen>.typing-result{position:fixed;inset:0}.typing-native-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;height:100%;min-height:0;overflow:hidden}.typing-growth-strip{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(4,minmax(105px,1fr));gap:8px;min-width:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.typing-growth-strip article{--typing-stat: var(--lab-blue);--typing-stat-soft: var(--lab-soft-blue);display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;min-width:0;min-height:68px;border:1px solid color-mix(in srgb,var(--typing-stat) 19%,white);border-radius:14px;padding:9px 11px;background:linear-gradient(145deg,#fff 25%,var(--typing-stat-soft));box-shadow:inset 0 -4px color-mix(in srgb,var(--typing-stat) 9%,transparent),0 8px 20px #18437e14}.typing-growth-strip article.tone-gold{--typing-stat: #c98600;--typing-stat-soft: var(--lab-soft-yellow)}.typing-growth-strip article.tone-mint{--typing-stat: #13866c;--typing-stat-soft: var(--lab-soft-mint)}.typing-growth-strip article.tone-coral{--typing-stat: var(--lab-coral-deep);--typing-stat-soft: var(--lab-soft-coral)}.typing-growth-strip .typing-growth-rank{--typing-stat: #8d6500;--typing-stat-soft: #fff6d8;grid-template-columns:48px minmax(0,1fr) auto;border-color:#f0d06f;background:linear-gradient(145deg,#fffdf5,#fff2bd);box-shadow:inset 0 -4px #d5a11424,0 7px 18px #a3710014}.typing-growth-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--typing-stat) 25%,white);border-radius:13px;color:var(--typing-stat);background:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--typing-stat) 14%,transparent)}.typing-growth-rank .typing-growth-icon{width:48px;height:48px}.typing-growth-icon svg{width:24px;height:24px;stroke-width:2.4}.typing-growth-strip article>span:not(.typing-growth-icon){display:grid;gap:2px;min-width:0}.typing-growth-strip small{color:#60738c;font-size:12px;font-weight:800;line-height:1.2}.typing-growth-strip strong{color:var(--lab-ink);font-size:22px;line-height:1.05;letter-spacing:0;white-space:nowrap}.typing-growth-strip strong em{margin-left:3px;color:#687b93;font-size:11px;font-style:normal;font-weight:800}.typing-growth-rank>b{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;color:#765500;background:#ffffffbf;font-size:12px;white-space:nowrap}.typing-growth-rank>b svg{width:15px;height:15px}.typing-adventure-map{position:relative;display:grid;grid-template-rows:64px minmax(0,1fr) auto;min-height:0;overflow:hidden;border:1px solid #bdd8ea;border-radius:18px;background:#bde8f7;box-shadow:0 16px 36px #18437e24}.typing-map-viewport{position:relative;grid-row:2;container-type:size;display:grid;width:100%;height:100%;min-height:0;place-items:center;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#c9edf8}.typing-map-viewport:focus-visible{outline:3px solid #2764e7;outline-offset:-3px}.typing-map-canvas{--typing-marker-size: clamp(54px, 6.4cqw, 76px);position:relative;width:min(100cqw,150cqh);height:min(66.6667cqw,100cqh);aspect-ratio:3 / 2;min-width:0;min-height:0;overflow:hidden;isolation:isolate;background-color:#a8dff1;background-image:var(--typing-map-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;animation:typing-map-arrive .26s ease-out both}.typing-adventure-map.map-i03 .typing-map-canvas,.typing-adventure-map.map-i07 .typing-map-canvas{--typing-marker-size: clamp(50px, 5.8cqw, 68px)}.typing-map-wash{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 45%,rgba(7,42,76,.12));pointer-events:none;transition:background-color .22s ease,backdrop-filter .22s ease}.typing-adventure-map.is-preview-locked .typing-map-wash{background:linear-gradient(180deg,#10234452,#091a3380);-webkit-backdrop-filter:grayscale(.48) saturate(.58);backdrop-filter:grayscale(.48) saturate(.58)}.typing-map-title{position:relative;grid-row:1;grid-column:1;align-self:center;justify-self:center;z-index:12;display:flex;align-items:center;max-width:calc(100% - 168px);min-height:46px;gap:10px;border:1px solid rgba(255,255,255,.76);border-radius:14px;padding:7px 10px 7px 12px;color:#fff;background:#0e3154b8;box-shadow:0 9px 24px #05214233;-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);white-space:nowrap}.typing-map-title>span{color:#d8efff;font-size:11px;font-weight:900}.typing-map-title h2{min-width:0;margin:0;overflow:hidden;color:#fff;font-size:22px;line-height:1.1;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.typing-map-title p{display:inline-flex;align-items:center;gap:5px;margin:0;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;flex-shrink:0}.typing-map-title p.lit{color:#d9fff1;background:#0d8060c2}.typing-map-title p.locked{color:#f3f6fa;background:#404e62db}.typing-map-title p.preparing{color:#fff4c7;background:#825312e0}.typing-map-title p svg{width:14px;height:14px;stroke-width:2.7}.typing-map-edge-navigation{position:relative;grid-row:1;grid-column:1;z-index:14;display:flex;min-width:0;align-items:center;justify-content:space-between;padding:6px 12px;pointer-events:none}.typing-map-edge-arrow{position:relative;display:grid;width:52px;height:52px;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;color:#154f91;background:#ffffffe6;box-shadow:0 10px 24px #092d563d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;transform:none;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.typing-map-edge-arrow svg{width:28px;height:28px;stroke-width:2.6}.typing-map-edge-arrow:hover:not(:disabled),.typing-map-edge-arrow:focus-visible{color:#fff;background:#2764e7;box-shadow:0 12px 28px #0f49a552;outline:none;transform:scale(1.06)}.typing-map-edge-arrow:focus-visible{outline:3px solid #fff;outline-offset:3px}.typing-map-edge-arrow:disabled{color:#68798b;background:#e2eaf2cc;box-shadow:0 5px 12px #1331501f;cursor:not-allowed;opacity:.52}.typing-map-level{position:absolute;left:var(--map-left);top:var(--map-top);z-index:3;width:var(--typing-marker-size);height:var(--typing-marker-size);border:0;padding:0;color:inherit;background:transparent;cursor:pointer;transform:translate(-50%,-50%)}.typing-map-level:hover,.typing-map-level:focus-visible{z-index:50}.typing-map-level[aria-disabled=true]{cursor:not-allowed}.typing-map-level-badge{position:relative;display:grid;width:100%;height:100%;margin-inline:auto;place-items:center;border-radius:50%;transition:filter .18s ease,transform .18s ease}.typing-map-level-badge:before{content:"";position:absolute;inset:10%;z-index:0;border:3px solid transparent;border-radius:50%;pointer-events:none}.typing-map-level-art{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(8,35,67,.3));transition:filter .18s ease,opacity .18s ease;-webkit-user-select:none;user-select:none}.typing-map-level-badge>b{position:relative;z-index:2;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.56);border-radius:50%;color:#fff;background:#0826486b;box-shadow:0 3px 8px #051c3a33;font-size:20px;line-height:1;text-shadow:0 1px 2px rgba(2,22,45,.72)}.typing-map-level-badge>i{position:absolute;right:-2px;bottom:-1px;z-index:3;display:grid;width:24px;height:24px;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:var(--lab-coral);box-shadow:0 3px 7px #12375d3d}.typing-map-level-badge>i svg{width:12px;height:12px;fill:currentColor;stroke-width:3}.typing-level-stars{position:absolute;top:calc(100% - 1px);left:50%;z-index:4;display:inline-flex;min-width:54px;height:20px;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:2px 5px;color:#ffffffb8;background:#152d45b3;box-shadow:0 4px 10px #07203b2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform:translate(-50%)}.typing-level-stars svg{width:13px;height:13px;fill:transparent;stroke-width:2.4}.typing-level-stars svg.earned{color:#ffd54a;fill:#ffd54a;filter:drop-shadow(0 1px 2px rgba(112,65,0,.5))}.typing-map-level.passed .typing-map-level-badge:before{border-color:#68f6c2f5;box-shadow:0 0 0 3px #0c6e4e40,0 0 18px #4ee8aeb8}.typing-map-level.mastered .typing-map-level-badge:before{border-color:#ffe36f;box-shadow:0 0 0 3px #7e4e0038,0 0 20px #ffd640e6}.typing-map-level.mastered .typing-map-level-badge>i,.typing-map-level.passed .typing-map-level-badge>i{color:#573b00;background:#ffd54a}.typing-map-level.current .typing-map-level-badge{filter:saturate(1.08)}.typing-map-level.current .typing-map-level-badge:before{border-color:#fff18a;box-shadow:0 0 0 4px #ffdc4a6b,0 0 22px #ffd334e6;animation:typing-current-level 1.8s ease-in-out infinite}.typing-map-level.current .typing-map-level-badge>i{color:#fff;background:var(--lab-coral)}.typing-map-level.locked{cursor:not-allowed}.typing-map-level.preparing{cursor:help}.typing-map-level.locked .typing-map-level-art{filter:grayscale(.38) saturate(.68) brightness(.8) drop-shadow(0 7px 7px rgba(8,26,46,.28));opacity:.94}.typing-map-level.preparing .typing-map-level-art{filter:grayscale(.16) saturate(.86) brightness(.88) drop-shadow(0 7px 7px rgba(8,26,46,.28));opacity:.96}.typing-map-level.locked .typing-map-level-badge>b,.typing-map-level.preparing .typing-map-level-badge>b{border-color:#ffffff6b;background:#2d3c4cad}.typing-map-level.locked .typing-map-level-badge>i{background:#6e8095}.typing-map-level.preparing .typing-map-level-badge>i{background:#52657a}.typing-map-level.locked .typing-level-stars,.typing-map-level.preparing .typing-level-stars{opacity:.72}.typing-map-level:hover:not(:disabled) .typing-map-level-badge,.typing-map-level:focus-visible .typing-map-level-badge{filter:saturate(1.08) brightness(1.04);outline:none;transform:translateY(-4px) scale(1.06)}.typing-map-level:focus-visible{border-radius:36px;outline:3px solid rgba(255,255,255,.96);outline-offset:5px}.typing-map-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:60;display:grid;width:196px;gap:2px;border:1px solid rgba(255,255,255,.88);border-radius:11px;padding:8px 10px;color:var(--lab-ink);background:#fffffff5;box-shadow:0 9px 22px #0e2f583d;text-align:left;opacity:0;transform:translate(-50%,5px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.typing-map-tooltip small,.typing-map-tooltip em{overflow:hidden;color:#52708d;font-size:10px;font-style:normal;font-weight:750;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.typing-map-tooltip strong{overflow:hidden;font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.typing-map-level:hover .typing-map-tooltip,.typing-map-level:focus-visible .typing-map-tooltip{opacity:1;transform:translate(-50%)}.typing-map-level.tooltip-below .typing-map-tooltip{top:calc(100% + 4px);bottom:auto}.typing-map-level.tooltip-below:hover .typing-map-tooltip,.typing-map-level.tooltip-below:focus-visible .typing-map-tooltip{transform:translate(-50%)}.typing-map-level.tooltip-align-right .typing-map-tooltip{right:auto;left:0;transform:translateY(5px)}.typing-map-level.tooltip-align-left .typing-map-tooltip{right:0;left:auto;transform:translateY(5px)}.typing-map-level.tooltip-align-right:hover .typing-map-tooltip,.typing-map-level.tooltip-align-right:focus-visible .typing-map-tooltip,.typing-map-level.tooltip-align-left:hover .typing-map-tooltip,.typing-map-level.tooltip-align-left:focus-visible .typing-map-tooltip{transform:translate(0)}.typing-map-star-guide{position:relative;grid-row:3;justify-self:start;z-index:10;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.76);border-radius:11px;padding:6px 8px;color:#fff;background:#10314eb8;box-shadow:0 7px 18px #0825442e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;font-weight:850;margin:6px 10px 8px}.typing-map-star-guide>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.typing-map-star-guide>span.failed{border-right:1px solid rgba(255,255,255,.32);padding-right:8px;color:#ffd8d8}.typing-map-star-guide svg{width:12px;height:12px;color:#ffd54a;fill:#ffd54a;stroke-width:2.2}.typing-map-star-guide .double-star,.typing-map-star-guide .triple-star{display:inline-flex;gap:0}.typing-map-star-guide .double-star svg,.typing-map-star-guide .triple-star svg{margin-right:-3px}.typing-map-preview-note{position:relative;grid-row:3;justify-self:start;z-index:10;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.72);border-radius:11px;padding:7px 10px;color:#eff6fc;background:#142a42c7;box-shadow:0 7px 18px #0825442e;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);margin:6px 10px 8px}.typing-map-preview-note>img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(4,25,48,.28))}.typing-map-preview-note>span{display:grid;gap:1px;font-size:10px;font-weight:800}.typing-map-preview-note strong{color:#fff;font-size:12px}@keyframes typing-map-arrive{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes typing-current-level{0%,to{opacity:.72;transform:scale(.96)}50%{opacity:1;transform:scale(1.12)}}@media(max-width:900px){.app-main:has(.typing-native-page){padding:10px 12px}.app-main:has(.typing-session){padding:8px 10px 16px;overflow-y:auto}.app-layout.role-student .app-main>.typing-session{height:auto;overflow:visible}.app-layout.role-student .typing-session-bar{position:sticky;top:0;z-index:3}.app-layout.role-student .typing-stage:not(:fullscreen){overflow:hidden}.typing-growth-strip{grid-template-columns:minmax(180px,1.35fr) repeat(4,minmax(95px,1fr))}.typing-map-edge-arrow{width:48px;height:48px}}@media(max-width:680px){.typing-native-page{gap:8px}.typing-growth-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.typing-growth-strip .typing-growth-rank{grid-column:1 / -1;min-height:54px}.typing-growth-strip article:not(.typing-growth-rank){grid-template-columns:34px minmax(0,1fr);gap:6px;min-height:58px;padding:7px}.typing-growth-strip article:not(.typing-growth-rank) .typing-growth-icon{width:34px;height:34px;border-radius:10px}.typing-growth-strip article:not(.typing-growth-rank) .typing-growth-icon svg{width:19px;height:19px}.typing-growth-strip strong{font-size:18px}.typing-growth-strip small{font-size:10px}.typing-map-title{max-width:calc(100% - 144px)}.typing-map-title h2{font-size:19px}.typing-map-title>span{display:none}.typing-map-title p{font-size:10px}.typing-map-level-badge>b{width:30px;height:30px;font-size:17px}.typing-map-level-badge>i{width:21px;height:21px}.typing-map-star-guide{gap:5px;font-size:9px}}@media(max-width:600px){.app-main:has(.typing-native-page){padding:8px}.typing-growth-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.typing-growth-strip .typing-growth-rank{grid-column:1 / -1}.typing-growth-rank>b{padding-inline:7px}.typing-growth-strip article:not(.typing-growth-rank){min-height:50px}.typing-map-viewport{place-items:start;overflow:auto;scrollbar-gutter:auto;touch-action:pan-x pan-y}.typing-map-canvas{width:720px;height:480px;min-width:720px;min-height:480px}.typing-map-title{max-width:calc(100% - 124px);min-height:44px;gap:7px;padding-inline:9px}.typing-map-title h2{font-size:17px}.typing-map-title p{padding:4px 6px}.typing-map-level-badge>b{width:28px;height:28px;font-size:15px}.typing-map-level-badge>i{right:-7px;width:19px;height:19px}.typing-level-stars{min-width:50px;height:18px;padding-inline:4px}.typing-level-stars svg{width:11px;height:11px}.typing-map-tooltip{display:none}.typing-map-star-guide,.typing-map-preview-note{justify-self:center;max-width:calc(100% - 20px)}.typing-map-edge-arrow{width:46px;height:46px}}@media(max-height:480px){.app-layout.role-student .typing-stage:fullscreen>.typing-result{place-content:start center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.app-layout.role-student .typing-stage:fullscreen>.typing-result h2{margin-block:4px;font-size:clamp(26px,8dvh,34px)}.app-layout.role-student .typing-stage:fullscreen>.typing-result p{margin-top:3px;font-size:14px;line-height:1.4}.app-layout.role-student .typing-stage:fullscreen>.typing-result .typing-failure-icon{width:40px;height:40px;margin-bottom:2px}.app-layout.role-student .typing-stage:fullscreen>.typing-result .typing-result-actions{margin-top:9px}.app-layout.role-student .typing-stage:fullscreen>.typing-result .typing-result-button{min-height:44px}}@media(prefers-reduced-motion:reduce){.typing-map-canvas,.typing-map-level.current .typing-map-level-badge:before{animation:none}.typing-map-edge-arrow,.typing-map-level-badge,.typing-map-level-art,.typing-map-tooltip,.typing-map-wash{transition:none}}.login-page{--login-shell-width: 1222px;--login-shell-edge: max(48px, calc((100vw - var(--login-shell-width)) / 2));--login-card-width: 420px;--login-column-gap: 112px;--login-card-center-y: -50%;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) var(--login-card-width);grid-template-rows:minmax(0,1fr);width:100%;height:100dvh;min-height:0;overflow:hidden;color:#fff;background:#dff4ff}.login-story{position:relative;z-index:0;grid-column:1 / -1;grid-row:1;display:block;width:100%;height:100%;min-height:0;padding:clamp(40px,5vh,64px) var(--login-shell-edge);overflow:hidden;color:#fff;background-color:#72bee7;background-image:var(--public-login-background-image);background-position:center;background-size:cover}.login-story:before,.login-story:after{content:"";position:absolute;inset:0;width:auto;height:auto;border-radius:0;pointer-events:none;transform:none}.login-story:before{z-index:1;background:linear-gradient(90deg,#072d67d6,#0e589db3 43%,#267ebc45 68%,#d8f3ff0f)}.login-story:after{z-index:1;background:linear-gradient(180deg,rgba(6,39,87,.08) 0%,transparent 54%,rgba(4,35,78,.24) 100%),radial-gradient(circle at 14% 12%,rgba(88,239,255,.16),transparent 28%)}.login-story-content{position:relative;z-index:2;display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;width:min(680px,calc(100vw - var(--login-shell-edge) - var(--login-shell-edge) - var(--login-card-width) - var(--login-column-gap)));height:100%;min-width:0;min-height:0}.login-campus-brand{display:inline-flex;align-items:center;align-self:start;width:min(680px,100%);margin:0;gap:18px;animation:login-fade .6s ease-out 80ms both}.login-campus-brand-placeholder{display:block;width:min(680px,100%);height:76px}.login-campus-logo{position:relative;display:grid;place-items:center;flex:0 0 auto;width:76px;height:76px;border:2px solid rgba(255,255,255,.76);border-radius:22px;color:#123968;background:#fffffff5;font-size:30px;font-weight:950;box-shadow:0 14px 34px #07387038,inset 0 1px #fffffff5;overflow:hidden}.login-campus-logo img{position:absolute;inset:0;width:100%;height:100%;padding:9px;object-fit:contain;background:#fffffff5}.login-campus-brand>.brand-copy{display:flex;min-width:0;color:#fff;font-size:40px;font-weight:950;line-height:normal;letter-spacing:0;text-shadow:0 3px 18px rgba(7,43,91,.3)}.login-campus-brand>.brand-copy>span{min-width:0;overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.login-story-intro{margin-top:clamp(34px,5vh,58px);animation:login-fade .64s ease-out .15s both}.login-story-intro-placeholder{display:block;height:64px;margin-top:clamp(34px,5vh,58px)}.login-story h1,.login-story-intro h1{max-width:720px;margin:0;color:#fff;font-size:54px;font-weight:950;line-height:1.16;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 4px 22px rgba(7,43,91,.3)}.login-title-phrase{display:inline-block;white-space:nowrap}.login-title-line{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal}.login-news{align-self:stretch;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;width:min(680px,100%);height:100%;min-height:0;margin-top:clamp(24px,4vh,42px);overflow:hidden;animation:login-rise .68s cubic-bezier(.22,1,.36,1) .22s both}.login-news-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px}.login-news-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid rgba(255,255,255,.62);border-radius:14px;padding:4px;background:#09458252;box-shadow:0 8px 22px #0730641f;backdrop-filter:blur(10px) saturate(112%);-webkit-backdrop-filter:blur(10px) saturate(112%)}.login-news-tabs button,.login-news-more{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:0;border-radius:10px;color:#ffffffe6;background:transparent;font-size:14px;font-weight:850;text-decoration:none;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.login-news-tabs button{padding:0 15px}.login-news-tabs button:hover,.login-news-tabs button:focus-visible{color:#fff;background:#ffffff1f}.login-news-tabs button:focus-visible{transform:translateY(-1px)}.login-news-tabs button.active{color:#0b3a71;background:#6ee7ed;box-shadow:0 5px 14px #19b5c63d,inset 0 1px #ffffffb3;text-shadow:none}.login-news-tabs button:focus-visible,.login-news-more:focus-visible,.login-news-list>a:focus-visible{outline:3px solid #ffd66a;outline-offset:2px}.login-news-tabs svg,.login-news-more svg{width:17px;height:17px}.login-news-more{flex:0 0 auto;min-width:72px;min-height:44px;padding:0 8px;color:#fff}.login-news-more:hover,.login-news-more:focus-visible{background:#ffffff1f}.login-news-more:focus-visible{transform:translateY(-1px)}.login-news-more svg{transition:transform .18s ease}.login-news-more:focus-visible svg{transform:translate(3px)}.login-news-list{display:grid;align-content:start;gap:9px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.login-news-list>a{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:13px;min-height:76px;padding:9px 42px 9px 11px;border:1px solid rgba(255,255,255,.58);border-radius:15px;color:inherit;background:#07447e52;box-shadow:0 10px 26px #0730641f,inset 0 1px #ffffff24;backdrop-filter:blur(10px) saturate(110%);-webkit-backdrop-filter:blur(10px) saturate(110%);text-decoration:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.login-news-list>a.has-cover{grid-template-columns:78px minmax(0,1fr)}.login-news-list>a:hover,.login-news-list>a:focus-visible{border-color:#ffffffdb;background:#07447e70;box-shadow:0 14px 30px #0730642b,inset 0 1px #fff3}.login-news-list>a:focus-visible{transform:translateY(-2px)}.login-news-list>a>img{width:78px;height:58px;border:2px solid rgba(255,255,255,.76);border-radius:12px;object-fit:cover;background:#f4fbff}.login-news-item-copy{display:block;min-width:0}.login-news-item-meta{display:flex;flex-wrap:wrap;gap:2px 8px;margin:0 0 2px;color:#d7f8ff;font-size:12px;font-weight:800;line-height:1.25}.login-news-item-meta time{color:#ffffffe6;white-space:nowrap}.login-news-item-copy>strong,.login-news-item-copy>small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.login-news-item-copy>strong{margin:0 0 3px;color:#fff;font-size:15px;font-weight:850;line-height:1.35;-webkit-line-clamp:1}.login-news-item-copy>small{margin:0;color:#ffffffe6;font-size:13px;line-height:1.4;-webkit-line-clamp:1}.login-news-item-arrow{position:absolute;top:50%;right:13px;width:18px;height:18px;color:#ffffffd1;transform:translateY(-50%);transition:color .18s ease,transform .18s ease}.login-news-list>a:hover .login-news-item-arrow,.login-news-list>a:focus-visible .login-news-item-arrow{color:#fff}.login-news-list>a:focus-visible .login-news-item-arrow{transform:translate(3px,-50%)}.login-news-empty{display:grid;place-items:center;min-height:86px;margin:0;border:1px dashed rgba(255,255,255,.72);border-radius:15px;padding:14px;color:#fff;background:#07447e38;box-shadow:inset 0 1px #ffffff1a;font-size:14px;font-weight:750;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.login-card-shell{position:absolute;z-index:2;isolation:isolate;top:50%;right:var(--login-shell-edge);grid-column:2;grid-row:1;align-self:center;justify-self:auto;display:flex;width:var(--login-card-width);max-height:calc(100% - 64px);margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:28px;color:#17345a;background:linear-gradient(145deg,#fffffff7,#eff9ffeb);box-shadow:0 26px 68px #0f42773d,inset 0 1px #fffffff5;backdrop-filter:blur(20px) saturate(116%);-webkit-backdrop-filter:blur(20px) saturate(116%);clip-path:none;filter:none;transform:translateY(var(--login-card-center-y));animation:login-card-enter .72s cubic-bezier(.22,1,.36,1) .12s both;transition:border-color .22s ease,box-shadow .22s ease}.login-card-shell:before,.login-card-shell:after{content:"";position:absolute;z-index:0;pointer-events:none}.login-card-shell:before{top:20px;right:26px;width:82px;height:14px;border-radius:4px;background:linear-gradient(#37c996,#37c996) 0 0 / 14px 14px no-repeat,linear-gradient(#ffd33d,#ffd33d) 24px 0 / 14px 14px no-repeat,linear-gradient(#ff8064,#ff8064) 48px 0 / 14px 14px no-repeat,linear-gradient(#5cc9ee,#5cc9ee) 72px 0 / 10px 14px no-repeat;opacity:.72}.login-card-shell:after{inset:9px;border:1px solid rgba(45,119,190,.26);border-radius:20px}.login-card-orbit-light{position:absolute;z-index:2;inset:0;display:none;box-sizing:border-box;border-radius:inherit;padding:2px;pointer-events:none;opacity:0;background:conic-gradient(from var(--login-edge-angle),transparent 0deg 300deg,rgba(20,104,197,.14) 315deg,rgba(20,104,197,.38) 329deg,rgba(20,104,197,.68) 343deg,rgba(80,194,248,.86) 351deg,rgba(20,104,197,.54) 356deg,transparent 360deg);filter:drop-shadow(0 0 6px rgba(20,104,197,.58));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;transition:opacity .24s ease}@property --login-edge-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@supports (mask-composite: exclude) or (-webkit-mask-composite: xor){.login-card-orbit-light{display:block}}.login-card-shell:hover,.login-card-shell:focus-within{border-color:#fffffffa;box-shadow:0 30px 76px #0f427747,inset 0 1px #fffffffa}.login-card{position:relative;z-index:1;width:100%;min-height:0;max-height:inherit;margin:0;border:0;border-radius:0;padding:42px 36px 40px;overflow-y:auto;overscroll-behavior:contain;color:inherit;background:transparent;box-shadow:none;scrollbar-gutter:stable}.login-card-frame{display:contents;max-height:inherit}.login-card-filing{margin:14px 0 0;color:#6b88a8;font-size:12px;line-height:1.5;text-align:center}.login-card-filing a{color:inherit;text-decoration:none}.login-card-filing a:hover,.login-card-filing a:focus-visible{color:#1971b9;text-decoration:underline}.login-card .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 9px;color:#1971b9;font-size:12px;font-weight:900;letter-spacing:.08em}.login-card .eyebrow:before{content:"";width:10px;height:10px;border-radius:3px;background:#37c996;box-shadow:15px 0 #ffd33d;margin-right:15px}.login-card h2{margin:0 0 9px;padding-right:68px;color:#123968;font-size:34px;font-weight:950;line-height:1.22;letter-spacing:-.02em}.login-card-title-placeholder{display:block;width:min(260px,calc(100% - 68px));height:76px}.login-card>p{margin:0;color:#526b89;font-size:14px;line-height:1.65}.login-card label{display:grid;gap:7px;margin-top:17px;color:#314f72;font-size:14px;font-weight:850;transition:color .18s ease}.login-card label:focus-within,.login-password-group:focus-within>label{color:#1559b8}.login-password-group{display:grid;gap:7px;margin-top:17px}.login-card .login-password-group>label{margin-top:0}.login-card input{width:100%;min-height:50px;border:1px solid #b9cee5;border-radius:14px;padding:11px 13px;color:#183153;caret-color:#2764e7;background:#fffffff0;box-shadow:inset 0 1px 2px #1443810a;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.login-card input:hover{border-color:#7fa7d1;background:#fff}.login-card input:focus{border-color:#2764e7;outline:none;background:#fff;box-shadow:0 0 0 4px #2764e729}.login-password-field{position:relative;display:block}.login-password-field input{padding-right:54px}.login-password-field button{position:absolute;top:50%;right:5px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:11px;color:#537394;background:transparent;transform:translateY(-50%);transition:color .18s ease,background-color .18s ease,transform .18s ease}.login-password-field button:hover,.login-password-field button:focus-visible{color:#1559b8;background:#e8f2ff}.login-password-field button:focus-visible{transform:translateY(-50%) scale(1.04)}.login-password-field button:focus-visible{outline:3px solid rgba(39,100,231,.34);outline-offset:1px}.login-password-field button svg{width:20px;height:20px}.login-card input:-webkit-autofill,.login-card input:-webkit-autofill:hover,.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#183153;-webkit-box-shadow:0 0 0 1000px #fff inset;caret-color:#2764e7}.login-card .button-full{position:relative;min-height:50px;margin-top:20px;overflow:hidden;border:1px solid rgba(194,103,42,.14);border-radius:14px;color:#102f56;background:linear-gradient(100deg,#ff8064,#ffb84d 62%,#ffd35a);box-shadow:0 12px 24px #de733238;font-size:16px;font-weight:950;transition:border-color .18s ease,box-shadow .18s ease,filter .18s ease,transform .18s ease}.login-card .button-full:hover:not(:disabled){border-color:#a44e1838;background:linear-gradient(100deg,#ff8064,#ffb84d 62%,#ffd35a);box-shadow:0 15px 30px #de733247;filter:saturate(1.06)}.login-card .button-full:focus-visible{outline:3px solid rgba(39,100,231,.42);outline-offset:3px}.login-card .button-full:focus-visible:not(:disabled){transform:translateY(-1px)}.login-card .button-full:active:not(:disabled){filter:saturate(1.06) brightness(.97);transform:translateY(0)}.login-card .button-full svg{width:18px;height:18px;transition:transform .22s cubic-bezier(.22,1,.36,1)}.login-card .button-full:focus-visible:not(:disabled) svg{transform:translate(4px)}.login-card .form-error{margin:14px 0 0;border:1px solid #f4b6bd;border-left:4px solid #cf3343;border-radius:10px;padding:9px 11px;color:#8f1f2b!important;background:#fff1f3;font-size:13px}@keyframes login-fade{0%{opacity:0}to{opacity:1}}@keyframes login-rise{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}@keyframes login-card-enter{0%{opacity:0;transform:translate(clamp(180px,24vw,360px),var(--login-card-center-y))}to{opacity:1;transform:translateY(var(--login-card-center-y))}}@keyframes login-edge-sweep{to{--login-edge-angle: 1turn}}@media(max-width:1199px){.login-page{--login-shell-edge: clamp(28px, 4vw, 48px);--login-card-width: clamp(360px, 36vw, 390px);--login-column-gap: clamp(28px, 4vw, 48px)}.login-story{padding-inline:var(--login-shell-edge)}.login-campus-logo{width:66px;height:66px;border-radius:19px}.login-campus-brand>.brand-copy{font-size:34px}.login-story h1,.login-story-intro h1{font-size:46px}.login-card-shell{right:var(--login-shell-edge)}.login-card{padding-inline:30px}.login-card h2{font-size:31px}}@media(max-width:960px)and (min-height:601px){.login-page{--login-card-width: 350px;--login-column-gap: 28px}.login-campus-brand{gap:13px}.login-campus-logo{width:58px;height:58px;border-radius:17px}.login-campus-brand>.brand-copy{font-size:29px}.login-story-intro{margin-top:28px}.login-story h1,.login-story-intro h1{font-size:40px}.login-card{padding:34px 25px 28px}.login-card h2{padding-right:48px;font-size:28px}}@media(max-width:820px){.login-page{--login-card-center-y: 0%;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(155px,.48fr) minmax(360px,1.52fr) 124px}.login-story{grid-column:1;grid-row:1 / -1;padding:28px 32px;background-position:center}.login-story:before{background:linear-gradient(180deg,#08356fc7,#1468a975 42%,#083b7794)}.login-story:after{background:linear-gradient(180deg,rgba(8,51,102,.04) 0%,transparent 48%,rgba(7,48,98,.24) 100%),radial-gradient(circle at 16% 8%,rgba(88,239,255,.14),transparent 34%)}.login-story-content{width:100%;height:100%}.login-campus-brand{gap:14px}.login-campus-logo{width:58px;height:58px;border-radius:18px}.login-campus-brand>.brand-copy{font-size:32px}.login-story-intro{margin-top:20px}.login-story h1,.login-story-intro h1{max-width:720px;font-size:36px;line-height:1.16}.login-news{position:absolute;right:0;bottom:0;left:0;display:grid;height:124px;margin-top:0;gap:5px}.login-news-heading{min-height:42px}.login-news-tabs button,.login-news-more{min-height:40px;font-size:13px}.login-news-tabs button{padding-inline:10px}.login-news-more{min-width:66px}.login-news-list{gap:4px}.login-news-list>a{min-height:60px;padding:7px 34px 7px 8px;border-radius:13px}.login-news-list>a.has-cover{grid-template-columns:58px minmax(0,1fr);gap:9px}.login-news-list>a>img{width:58px;height:44px;border-radius:10px}.login-news-list>a:nth-of-type(n+2){display:none}.login-news-item-campus,.login-news-item-copy>small{display:none}.login-news-item-meta{margin-bottom:1px;font-size:11px}.login-news-item-copy>strong{margin:0;font-size:14px}.login-news-empty{min-height:60px;border-radius:13px;font-size:13px}.login-card-shell{position:relative;top:auto;right:auto;grid-column:1;grid-row:2;align-self:center;justify-self:center;width:min(430px,calc(100% - 32px));max-height:calc(100% - 20px);margin:10px auto;border-radius:24px;transform:translateY(var(--login-card-center-y))}.login-card-shell:after{border-radius:17px}.login-card{padding:30px 26px 26px}}@media(max-width:560px){.login-page{grid-template-rows:minmax(155px,.48fr) minmax(350px,1.52fr) 124px}.login-story{padding:22px 20px;background-position:48% center}.login-campus-logo{width:52px;height:52px;border-radius:16px}.login-campus-logo img{padding:7px}.login-campus-brand>.brand-copy{font-size:28px}.login-story-intro{margin-top:16px}.login-story h1,.login-story-intro h1{font-size:35px}.login-news{height:124px}.login-card-shell{width:calc(100% - 24px);max-height:calc(100% - 14px);margin:7px auto}.login-card-shell:before{top:16px;right:20px}.login-card{padding:23px 20px 20px}.login-card .eyebrow{margin-bottom:6px}.login-card h2{margin-bottom:6px;padding-right:60px;font-size:27px;line-height:1.16}.login-card>p{font-size:13px;line-height:1.45}.login-card label,.login-password-group{margin-top:12px}.login-card label,.login-password-group{gap:5px}.login-card input{min-height:46px}.login-card .button-full{min-height:46px;margin-top:14px}}@media(max-width:390px){.login-campus-brand{gap:11px}.login-campus-brand>.brand-copy{font-size:26px}.login-story h1,.login-story-intro h1{font-size:33px}.login-card h2{font-size:26px}}@media(min-width:540px)and (max-width:960px)and (max-height:600px){.login-page{--login-landscape-card-column: clamp(300px, 40vw, 340px);--login-card-center-y: -50%;grid-template-columns:minmax(0,1fr) var(--login-landscape-card-column);grid-template-rows:minmax(0,1fr)}.login-story{grid-column:1 / -1;grid-row:1;padding:20px;background-position:center}.login-story:before{background:linear-gradient(90deg,#08356fcc,#1468a98f 58%,#ddf5ff0f)}.login-story-content{width:calc(100vw - var(--login-landscape-card-column) - 44px)}.login-campus-brand{gap:10px}.login-campus-logo{width:48px;height:48px;border-radius:14px}.login-campus-brand>.brand-copy{font-size:26px}.login-story-intro{margin-top:12px}.login-story h1,.login-story-intro h1{font-size:31px}.login-news{position:static;inset:auto;display:grid;height:100%;margin-top:10px;gap:4px}.login-news-heading,.login-news-tabs button,.login-news-more{min-height:40px}.login-news-tabs button{padding-inline:8px}.login-news-list>a{min-height:54px;padding-block:5px}.login-news-list>a:nth-of-type(n+2){display:none}.login-news-list>a.has-cover{grid-template-columns:54px minmax(0,1fr)}.login-news-list>a>img{width:54px;height:40px}.login-news-empty{min-height:54px}.login-card-shell{position:absolute;top:50%;right:8px;grid-column:2;grid-row:1;align-self:auto;justify-self:auto;width:calc(var(--login-landscape-card-column) - 16px);max-height:calc(100% - 16px);margin:0;border-radius:22px;transform:translateY(var(--login-card-center-y))}.login-card-shell:before{top:14px;right:17px}.login-card{padding:18px 20px 16px}.login-card .eyebrow{margin-bottom:4px}.login-card h2{margin-bottom:5px;padding-right:54px;font-size:24px}.login-card>.login-card-description{display:none}.login-card label,.login-password-group{gap:4px;margin-top:9px;font-size:13px}.login-card input{min-height:42px;padding-block:8px}.login-card .button-full{min-height:44px;margin-top:12px}}@media(min-width:540px)and (max-width:680px)and (max-height:600px){.login-campus-brand>.brand-copy{font-size:21px}.login-story h1,.login-story-intro h1{font-size:27px}.login-card{padding-inline:16px}.login-card h2{font-size:22px}}@media(min-width:961px)and (max-height:760px){.login-story{padding-block:28px}.login-campus-logo{width:58px;height:58px}.login-campus-brand>.brand-copy{font-size:32px}.login-story-intro{margin-top:24px}.login-story h1,.login-story-intro h1{font-size:38px}.login-news{margin-top:20px}.login-news-list>a:nth-of-type(n+3){display:none}.login-card-shell{max-height:calc(100% - 32px)}.login-card{padding-block:28px 24px}.login-card h2{font-size:29px}.login-card label,.login-password-group{margin-top:12px}.login-card .button-full{margin-top:15px}}@media(min-width:961px)and (max-height:620px){.login-news-list>a:nth-of-type(n+2){display:none}.login-card .eyebrow{margin-bottom:4px}.login-card>p{font-size:13px}.login-card input,.login-card .button-full{min-height:44px}}@media(hover:hover)and (pointer:fine){.login-card-shell:hover .login-card-orbit-light,.login-card-shell:focus-within .login-card-orbit-light{opacity:.86;animation:login-edge-sweep 3.8s linear infinite}.login-news-tabs button:hover,.login-news-more:hover{transform:translateY(-1px)}.login-news-list>a:hover{transform:translateY(-2px)}.login-news-more:hover svg{transform:translate(3px)}.login-news-list>a:hover .login-news-item-arrow{transform:translate(3px,-50%)}.login-password-field button:hover{transform:translateY(-50%) scale(1.04)}.login-card .button-full:hover:not(:disabled){transform:translateY(-1px)}.login-card .button-full:hover:not(:disabled) svg{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.login-card-orbit-light{animation:none!important;opacity:0!important;transition:none!important}.login-campus-brand,.login-story-intro,.login-news,.login-card-shell{animation:none}.login-news-tabs button,.login-news-more,.login-news-more svg,.login-news-list>a,.login-news-item-arrow,.login-card-shell,.login-card label,.login-card input,.login-password-field button,.login-card .button-full,.login-card .button-full svg{transition-duration:.01ms}.login-news-tabs button:hover,.login-news-tabs button:focus-visible,.login-news-more:hover,.login-news-more:focus-visible,.login-news-list>a:hover,.login-news-list>a:focus-visible,.login-password-field button:hover,.login-password-field button:focus-visible,.login-card .button-full:hover:not(:disabled),.login-card .button-full:focus-visible:not(:disabled),.login-card .button-full:active:not(:disabled){transform:none}.login-news-more:hover svg,.login-news-more:focus-visible svg,.login-news-list>a:hover .login-news-item-arrow,.login-news-list>a:focus-visible .login-news-item-arrow,.login-card .button-full:hover:not(:disabled) svg,.login-card .button-full:focus-visible:not(:disabled) svg{transform:none}}@media(forced-colors:active){.login-card-orbit-light{display:none}}.login-page-rgznjy .login-story-content{inset:0;display:block;width:100%;max-width:none;height:100%}.rgznjy-hero-copy{position:absolute;inset:0;color:#fff;pointer-events:none}.rgznjy-hero-brand{position:absolute;top:34px;left:clamp(32px,4vw,64px);display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 64px);filter:drop-shadow(0 5px 16px rgba(0,10,48,.48))}.rgznjy-hero-brand>img{flex:0 0 auto;width:62px;height:62px;object-fit:contain}.rgznjy-hero-brand-text{display:grid;min-width:0;gap:4px}.rgznjy-hero-brand-text strong{color:#fff;font-size:27px;font-weight:900;line-height:1.12;letter-spacing:0;white-space:nowrap;text-shadow:0 3px 18px rgba(0,13,62,.76),0 0 16px rgba(72,213,255,.24)}.rgznjy-hero-brand-text small{color:#9feaff;font-size:10px;font-weight:750;line-height:1.2;letter-spacing:0;white-space:nowrap;text-shadow:0 2px 10px rgba(0,13,62,.72)}.rgznjy-hero-headline{position:absolute;top:42px;left:50%;display:grid;justify-items:center;width:max-content;max-width:calc(100vw - 880px);transform:translate(-50%);text-align:center}.rgznjy-hero-headline h1{margin:0;color:#fff;font-size:42px;font-weight:900;line-height:1.18;letter-spacing:0;white-space:nowrap;text-shadow:0 5px 24px rgba(0,8,45,.72),0 0 24px rgba(95,222,255,.26)}.rgznjy-hero-headline p{margin:9px 0 0;color:#bceeff;font-size:17px;font-weight:700;line-height:1.35;letter-spacing:0;white-space:nowrap;text-shadow:0 3px 16px rgba(0,8,45,.72)}.rgznjy-side-copy{display:none}.rgznjy-copy-group{position:absolute;display:grid;align-content:start;width:210px;padding-left:18px;color:#e6faffeb;text-shadow:0 3px 16px rgba(0,9,44,.72)}.rgznjy-copy-group:before{content:"";position:absolute;top:5px;bottom:5px;left:0;width:3px;background:linear-gradient(180deg,#a5f5ff,#3ecfff24);box-shadow:0 0 12px #5be4ff85}.rgznjy-copy-group strong,.rgznjy-copy-group span,.rgznjy-copy-group small{display:block;letter-spacing:0}.rgznjy-copy-group strong{color:#fff;font-size:26px;font-weight:900;line-height:1.04}.rgznjy-copy-group span{margin-top:4px;font-size:19px;font-weight:800;line-height:1.18}.rgznjy-copy-group small{margin-top:7px;color:#8ce8ff;font-size:11px;font-weight:800;line-height:1.3}.rgznjy-copy-left-top{top:190px;left:clamp(52px,6vw,92px)}.rgznjy-copy-left-bottom{top:455px;left:clamp(76px,8vw,122px)}.rgznjy-copy-right-top,.rgznjy-copy-right-bottom{justify-items:end;padding-right:18px;padding-left:0;text-align:right}.rgznjy-copy-right-top:before,.rgznjy-copy-right-bottom:before{right:0;left:auto}.rgznjy-copy-right-top{top:190px;right:clamp(52px,6vw,92px)}.rgznjy-copy-right-bottom{top:455px;right:clamp(76px,8vw,122px)}.login-page-rgznjy .login-card-shell{top:49%;width:min(488px,calc(100vw - 40px));padding-inline:20px}@media(min-width:1200px)and (min-height:760px){.rgznjy-side-copy{display:block}}@media(max-width:1199px)and (min-width:821px){.rgznjy-hero-brand{top:24px;left:28px;gap:10px}.rgznjy-hero-brand>img{width:48px;height:48px}.rgznjy-hero-brand-text{gap:2px}.rgznjy-hero-brand-text strong{font-size:20px}.rgznjy-hero-brand-text small{font-size:8px}.rgznjy-hero-headline{top:32px;max-width:calc(100vw - 560px)}.rgznjy-hero-headline h1{font-size:32px}.rgznjy-hero-headline p{margin-top:6px;font-size:14px}.login-page-rgznjy .login-card-shell{top:48%;width:min(438px,calc(100vw - 32px));padding-inline:18px}.login-page-rgznjy .login-card-frame-rgznjy{width:min(402px,100%);min-height:416px}.login-page-rgznjy .login-card{min-height:398px;padding:24px 29px 23px}}@media(min-width:821px)and (max-width:920px){.rgznjy-hero-headline{top:88px;max-width:calc(100vw - 48px)}}@media(max-width:820px){.rgznjy-hero-brand{top:14px;left:50%;justify-content:center;gap:10px;max-width:calc(100vw - 28px);transform:translate(-50%)}.rgznjy-hero-brand>img{width:46px;height:46px}.rgznjy-hero-brand-text{gap:2px}.rgznjy-hero-brand-text strong{font-size:20px}.rgznjy-hero-brand-text small{font-size:8px}.rgznjy-hero-headline{top:78px;width:calc(100vw - 32px);max-width:520px}.rgznjy-hero-headline h1{font-size:28px;white-space:normal}.rgznjy-hero-headline p{margin-top:5px;font-size:13px;white-space:normal}.login-page-rgznjy .login-card-shell{top:50%;width:min(438px,calc(100vw - 16px));max-height:calc(100dvh - 174px);padding-inline:10px}.login-page-rgznjy .login-card-frame-rgznjy{width:min(418px,100%);min-height:408px;padding-inline:13px}.login-page-rgznjy .login-card-frame-rgznjy:before{inset-inline:11px}.login-page-rgznjy .login-card{min-height:390px;padding:23px 27px 22px}}@media(max-width:430px){.rgznjy-hero-brand{top:11px;gap:8px;max-width:calc(100vw - 24px)}.rgznjy-hero-brand>img{width:40px;height:40px}.rgznjy-hero-brand-text strong{font-size:18px}.rgznjy-hero-brand-text small{font-size:7px}.rgznjy-hero-headline{top:66px;width:calc(100vw - 24px)}.rgznjy-hero-headline h1{font-size:25px}.rgznjy-hero-headline p{font-size:12px}.login-page-rgznjy .login-card-shell{top:50%}.login-page-rgznjy .login-card-frame-rgznjy{min-height:400px}.login-page-rgznjy .login-card{min-height:382px;padding:21px 20px 19px}.login-page-rgznjy .login-card h2{font-size:24px}}@media(min-width:540px)and (max-width:960px)and (max-height:600px){.rgznjy-hero-brand{top:12px;left:12px;justify-content:flex-start;gap:7px;width:210px;max-width:210px;transform:none}.rgznjy-hero-brand>img{width:36px;height:36px}.rgznjy-hero-brand-text strong{font-size:15px;white-space:normal}.rgznjy-hero-brand-text small{font-size:7px;white-space:normal}.rgznjy-hero-headline,.rgznjy-side-copy{display:none}.login-page-rgznjy .login-card-shell{top:50%;width:min(366px,calc(100vw - 24px));max-height:calc(100dvh - 16px);padding-inline:8px}.login-page-rgznjy .login-card-frame-rgznjy{width:100%;min-height:0;max-height:100%;padding-inline:12px}.login-page-rgznjy .login-card{min-height:0;max-height:100%;padding:17px 21px 15px}.login-page-rgznjy .login-card .eyebrow{margin-bottom:4px;font-size:11px}.login-page-rgznjy .login-card h2{margin-bottom:3px;font-size:22px}.login-page-rgznjy .login-card>p{font-size:12px;line-height:1.4}.login-page-rgznjy .login-card label,.login-page-rgznjy .login-password-group{gap:4px;margin-top:9px;font-size:12px}.login-page-rgznjy .login-card input,.login-page-rgznjy .login-card .button-full{min-height:44px}.login-page-rgznjy .login-card .button-full{margin-top:11px;font-size:14px}}.login-page.login-page-rgznjy{--rgznjy-panel-text: #f4f9ff;--rgznjy-panel-shape: polygon( 34px 0, calc(50% - 64px) 0, calc(50% - 52px) 10px, calc(50% + 52px) 10px, calc(50% + 64px) 0, calc(100% - 34px) 0, 100% 34px, 100% calc(50% - 48px) , calc(100% - 8px) calc(50% - 36px) , calc(100% - 8px) calc(50% + 36px) , 100% calc(50% + 48px) , 100% calc(100% - 34px) , calc(100% - 34px) 100%, calc(50% + 64px) 100%, calc(50% + 52px) calc(100% - 10px) , calc(50% - 52px) calc(100% - 10px) , calc(50% - 64px) 100%, 34px 100%, 0 calc(100% - 34px) , 0 calc(50% + 48px) , 8px calc(50% + 36px) , 8px calc(50% - 36px) , 0 calc(50% - 48px) , 0 34px );--rgznjy-control-shape: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px) , calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px) , 0 10px);grid-template-columns:minmax(0,1fr);background-color:#020714;background-image:var(--public-login-background-image);background-position:center center;background-repeat:no-repeat;background-size:cover}.login-page.login-page-rgznjy:before,.login-page.login-page-rgznjy:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none}.login-page.login-page-rgznjy:before{background:linear-gradient(180deg,#00144f0a,#000e3e05 58%,#0007273d)}.login-page.login-page-rgznjy:after{display:none}.login-page-rgznjy .login-story{z-index:1;grid-column:1;grid-row:1;padding:0;background-color:transparent;background-image:none}.login-page-rgznjy .login-story:before,.login-page-rgznjy .login-story:after{display:none}.login-page-rgznjy .login-story-content{position:absolute;top:clamp(28px,4vh,42px);left:clamp(32px,4vw,64px);display:grid;grid-template-rows:auto auto;align-content:start;gap:clamp(14px,2vh,20px);width:min(380px,calc(50vw - 320px));max-width:calc(100% - 64px);height:auto;margin:0;padding-left:0;transform:none}.login-page-rgznjy .login-campus-brand,.login-page-rgznjy .login-story-intro{align-self:auto;width:max-content;max-width:100%;margin:0}.login-page-rgznjy .login-campus-brand{gap:20px}.login-page-rgznjy .login-campus-logo{width:64px;height:64px;border-color:#6ce2ffad;border-radius:8px;background:#f0fbfff7;box-shadow:0 0 0 1px #7a70ff4d,0 18px 42px #00081b61,0 0 30px #37cdff33}.login-page-rgznjy .login-campus-brand>.brand-copy{color:#fff;font-size:clamp(29px,2.3vw,34px);letter-spacing:0;text-shadow:0 4px 24px rgba(0,8,28,.55),0 0 24px rgba(66,197,255,.16)}.login-page-rgznjy .login-campus-brand>.brand-copy>span{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.15}.login-page-rgznjy .login-story h1,.login-page-rgznjy .login-story-intro h1{max-width:380px;color:#fff;font-size:clamp(40px,3.4vw,50px);line-height:1.16;letter-spacing:0;text-shadow:0 6px 30px rgba(0,7,25,.66),0 0 30px rgba(70,188,255,.12);text-wrap:wrap}.login-page-rgznjy .login-card-shell{position:absolute;top:clamp(286px,46%,48%);left:50%;right:auto;isolation:isolate;grid-column:1;grid-row:1;align-self:auto;justify-self:auto;align-items:center;justify-content:center;width:min(520px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 32px);margin:0;padding:0 22px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translate(-50%,-50%);animation:login-fade .52s ease-out .1s both}.login-page-rgznjy .login-card-shell:before{display:none}.login-page-rgznjy .login-card-shell:after{display:none}.login-page-rgznjy .login-card-orbit-light{display:none}.login-page-rgznjy .login-card-frame-rgznjy{position:relative;isolation:isolate;display:grid;flex:0 1 476px;width:min(476px,100%);min-height:532px;max-height:calc(100dvh - 72px);margin:auto;padding:9px clamp(14px,2vw,18px);background:transparent;filter:drop-shadow(0 30px 38px rgba(0,4,19,.5)) drop-shadow(0 0 20px rgba(59,199,255,.18));transition:filter .2s ease}.login-page-rgznjy .login-card-frame-rgznjy:before{content:"";position:absolute;z-index:2;inset:8px 16px;pointer-events:none;background:linear-gradient(90deg,#63e8ff,#628cff 24%,#8e7cff,#628cff 76%,#63e8ff);box-shadow:0 0 24px #4ecdff57,inset 0 0 18px #b8f2ff3d;clip-path:var(--rgznjy-panel-shape)}.login-page-rgznjy .login-card-panel-halo{position:absolute;z-index:0;inset:32px 38px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(80,113,255,.46),rgba(63,219,255,.16) 42%,transparent 72%);filter:blur(24px);opacity:.72;animation:rgznjy-panel-halo 3.2s ease-in-out infinite alternate}.login-page-rgznjy .login-card-side-wing{position:absolute;z-index:1;top:50%;width:46px;height:270px;pointer-events:none;background:linear-gradient(180deg,#69ebff14,#5cdeffc2 48%,#7a66ff1f),linear-gradient(90deg,#49e2ffc2,#235bbe29);box-shadow:inset 7px 0 16px #72efff57,0 0 26px #37ccff47;clip-path:polygon(100% 0,52% 9%,22% 32%,0 50%,22% 68%,52% 91%,100% 100%,72% 74%,60% 50%,72% 26%);transform:translateY(-50%);transform-origin:center}.login-page-rgznjy .login-card-side-wing:before,.login-page-rgznjy .login-card-side-wing:after{content:"";position:absolute;pointer-events:none}.login-page-rgznjy .login-card-side-wing:before{inset:17px 8px;background:linear-gradient(90deg,#b2f8ff8f,#3e74e214);clip-path:inherit}.login-page-rgznjy .login-card-side-wing:after{top:50%;left:7px;width:5px;height:74px;background:repeating-linear-gradient(180deg,#7beaff 0 12px,transparent 12px 18px);box-shadow:0 0 12px #62e3ff94;transform:translateY(-50%)}.login-page-rgznjy .login-card-side-wing-left{left:0}.login-page-rgznjy .login-card-side-wing-right{right:0;transform:translateY(-50%) scaleX(-1)}.login-page-rgznjy .login-card-energy-cap{position:absolute;z-index:4;left:50%;width:184px;height:22px;pointer-events:none;background:linear-gradient(90deg,#53e3ff3d,#669dffdb 28%,#9174fff0,#669dffdb 72%,#53e3ff3d);box-shadow:0 0 22px #5bdaff57,inset 0 0 12px #e7fdff38;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);transform:translate(-50%)}.login-page-rgznjy .login-card-energy-cap:before,.login-page-rgznjy .login-card-energy-cap:after{content:"";position:absolute;pointer-events:none}.login-page-rgznjy .login-card-energy-cap:before{inset:3px 13px;background:linear-gradient(90deg,#05183fb8,#28378233,#05183fb8);clip-path:inherit}.login-page-rgznjy .login-card-energy-cap:after{top:50%;left:22px;width:calc(100% - 44px);height:2px;background:#b9f7ff;box-shadow:0 0 12px #7decffe0;opacity:.68;transform:translateY(-50%) scaleX(.42);animation:rgznjy-panel-energy 2.8s ease-in-out infinite alternate}.login-page-rgznjy .login-card-energy-cap-top{top:0}.login-page-rgznjy .login-card-energy-cap-bottom{bottom:0}.login-page-rgznjy .login-card-frame-rgznjy:hover,.login-page-rgznjy .login-card-frame-rgznjy:focus-within{filter:drop-shadow(0 34px 42px rgba(0,4,19,.56)) drop-shadow(0 0 28px rgba(59,199,255,.26))}.login-page-rgznjy .login-card-frame-rgznjy:hover .login-card-energy-cap,.login-page-rgznjy .login-card-frame-rgznjy:focus-within .login-card-energy-cap{filter:brightness(1.16)}.login-page-rgznjy .login-card-shell:hover,.login-page-rgznjy .login-card-shell:focus-within{border-color:transparent;box-shadow:none}.login-page-rgznjy .login-card{position:relative;z-index:3;isolation:isolate;width:100%;min-height:512px;max-height:calc(100dvh - 90px);margin:0;border:0;border-radius:0;padding:42px 38px 38px;overflow-y:auto;color:var(--rgznjy-panel-text);background:radial-gradient(ellipse at 50% 0%,rgba(71,174,255,.17),transparent 42%),linear-gradient(90deg,#05193cfa,#0b1237fc 50%,#05193cfa);box-shadow:inset 18px 0 34px #2fc4ff0d,inset -18px 0 34px #2fc4ff0d,inset 0 1px #cff6ff1f;clip-path:var(--rgznjy-panel-shape);backdrop-filter:blur(18px) saturate(118%);-webkit-backdrop-filter:blur(18px) saturate(118%);scrollbar-gutter:stable;transition:border-color .2s ease,box-shadow .2s ease}.login-page-rgznjy .login-card:hover,.login-page-rgznjy .login-card:focus-within{border-color:transparent;box-shadow:inset 20px 0 38px #2fc4ff14,inset -20px 0 38px #2fc4ff14,inset 0 1px #cff6ff29}.login-page-rgznjy .login-card .eyebrow{justify-content:center;width:100%;gap:8px;margin-bottom:10px;color:#72e5ff;font-size:13px;letter-spacing:0}.login-page-rgznjy .login-card .eyebrow:before{content:none}.login-page-rgznjy .login-card .eyebrow>svg{width:17px;height:17px;filter:drop-shadow(0 0 7px rgba(80,221,255,.55))}.login-page-rgznjy .login-card h2{margin-bottom:9px;padding-right:0;color:#fff;font-size:31px;line-height:1.25;letter-spacing:0;text-shadow:0 3px 20px rgba(47,192,255,.18);text-align:center}.login-page-rgznjy .login-card-title-placeholder{background:#5bdbff1a}.login-page-rgznjy .login-card>p{color:#aec3df;line-height:1.6;text-align:center}.login-page-rgznjy .login-card label{margin-top:16px;color:#d5e5f8;letter-spacing:0}.login-page-rgznjy .login-card label:focus-within,.login-page-rgznjy .login-password-group:focus-within>label{color:#7fe8ff}.login-page-rgznjy .login-password-group{margin-top:16px}.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field{position:relative;display:block;padding:1px;background:linear-gradient(90deg,#5be1ffcc,#677ff466 50%,#5be1ffcc);box-shadow:0 0 18px #3ac1ff14;clip-path:var(--rgznjy-control-shape);transition:filter .18s ease,box-shadow .18s ease}.login-page-rgznjy .login-field-control:focus-within,.login-page-rgznjy .login-password-field:focus-within{box-shadow:0 0 22px #49cfff38;filter:brightness(1.12)}.login-page-rgznjy .login-field-control>svg,.login-page-rgznjy .login-field-leading-icon{position:absolute;z-index:2;top:50%;left:15px;width:19px;height:19px;color:#72cbe9;pointer-events:none;transform:translateY(-50%);transition:color .18s ease,filter .18s ease}.login-page-rgznjy .login-field-control:focus-within>svg,.login-page-rgznjy .login-password-field:focus-within>.login-field-leading-icon{color:#8aebff;filter:drop-shadow(0 0 7px rgba(87,221,255,.55))}.login-page-rgznjy .login-card input{min-height:50px;border:0;border-radius:0;padding:11px 13px 11px 47px;color:#f5fbff;caret-color:#70e6ff;background:linear-gradient(90deg,#03122df5,#050f2afa 50%,#03122df5);box-shadow:inset 0 1px 8px #00040f57;clip-path:var(--rgznjy-control-shape)}.login-page-rgznjy .login-card input:hover{border-color:transparent;background:linear-gradient(90deg,#041839fa,#071434fc 50%,#041839fa)}.login-page-rgznjy .login-card input:focus{border-color:transparent;outline:none;background:linear-gradient(90deg,#041839fc,#081639 50%,#041839fc);box-shadow:inset 0 0 0 2px #8deeff4d,inset 0 1px 8px #00040f52}.login-page-rgznjy .login-password-field input{padding-right:54px}.login-page-rgznjy .login-password-field button{color:#8eafd0;background:transparent}.login-page-rgznjy .login-password-field button:hover,.login-page-rgznjy .login-password-field button:focus-visible{color:#8bebff;background:#45bdeb1f}.login-page-rgznjy .login-password-field button:focus-visible{outline-color:#65e2ff9e}.login-page-rgznjy .login-card input:-webkit-autofill,.login-page-rgznjy .login-card input:-webkit-autofill:hover,.login-page-rgznjy .login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#f5fbff;-webkit-box-shadow:0 0 0 1000px #071a3a inset;caret-color:#70e6ff}.login-page-rgznjy .login-card .button-full{min-height:50px;margin-top:21px;border:1px solid rgba(130,239,255,.5);border-radius:2px;color:#03152c;background:linear-gradient(105deg,#5fe9ff,#4ea9ff 54%,#8b7cff);box-shadow:0 14px 30px #239de747,inset 0 1px #ffffff73;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);letter-spacing:0}.login-page-rgznjy .login-card .button-full:hover:not(:disabled){border-color:#b8f9ffc7;background:linear-gradient(105deg,#76efff,#63b6ff 54%,#9a8aff);box-shadow:0 17px 35px #239de757,inset 0 1px #ffffff85}.login-page-rgznjy .login-card .button-full:focus-visible{outline:0;box-shadow:inset 0 0 0 3px #ebfdffd1,inset 0 0 0 5px #185bc2a3,0 14px 30px #239de74d}.login-page-rgznjy .login-card .button-full:disabled{color:#03152c9e;filter:saturate(.55)}.login-page-rgznjy .login-card .form-error{border-color:#ff94a694;border-left-color:#ff748e;color:#ffd9df!important;background:#66102a6b}@keyframes rgznjy-panel-halo{0%{opacity:.52;transform:scale(.98)}to{opacity:.82;transform:scale(1.02)}}@keyframes rgznjy-panel-energy{0%{opacity:.52;transform:translateY(-50%) scaleX(.42)}to{opacity:1;transform:translateY(-50%) scaleX(1)}}@media(max-width:1199px)and (min-width:821px){.login-page.login-page-rgznjy{grid-template-columns:minmax(0,1fr)}.login-page-rgznjy .login-story{padding:0}.login-page-rgznjy .login-story-content{top:24px;left:clamp(24px,3vw,36px);align-content:start;gap:12px;width:clamp(136px,calc(50vw - 274px),250px);max-width:250px;padding-top:0;padding-left:0;transform:none}.login-page-rgznjy .login-campus-logo{width:44px;height:44px}.login-page-rgznjy .login-campus-brand{align-items:flex-start;flex-direction:column;gap:12px}.login-page-rgznjy .login-campus-brand>.brand-copy{font-size:clamp(18px,2.4vw,24px)}.login-page-rgznjy .login-story h1,.login-page-rgznjy .login-story-intro h1{font-size:clamp(23px,3.2vw,32px)}.login-page-rgznjy .login-card-shell{top:clamp(272px,42%,44%);width:min(456px,calc(100vw - 36px));padding:0 23px}.login-page-rgznjy .login-card-frame-rgznjy{width:min(410px,100%)}.login-page-rgznjy .login-card{padding-inline:30px}}@media(max-width:820px){.login-page.login-page-rgznjy{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);background-position:center center}.login-page.login-page-rgznjy:before{background:linear-gradient(180deg,#00144f0a,#000d3b0d 58%,#00072752)}.login-page.login-page-rgznjy:after{inset:0;background:linear-gradient(176deg,transparent 25%,rgba(1,5,18,.08) 40%,rgba(1,5,18,.44) 64%,rgba(1,4,15,.76) 100%);clip-path:none;filter:none;opacity:1}.login-page-rgznjy .login-story{grid-column:1;grid-row:1;padding:0}.login-page-rgznjy .login-story-content{top:18px;left:clamp(18px,5vw,36px);align-content:start;gap:14px;width:min(330px,calc(100vw - 36px));max-width:calc(100vw - 36px);padding-top:0;transform:none}.login-page-rgznjy .login-campus-brand{gap:13px}.login-page-rgznjy .login-campus-logo{width:54px;height:54px}.login-page-rgznjy .login-campus-brand>.brand-copy{font-size:clamp(26px,5vw,32px)}.login-page-rgznjy .login-story h1,.login-page-rgznjy .login-story-intro h1{font-size:clamp(31px,6.5vw,40px)}.login-page-rgznjy .login-card-shell{position:absolute;top:46%;left:50%;grid-column:1;grid-row:1;width:min(454px,calc(100vw - 20px));height:auto;max-height:calc(100dvh - 166px);padding:0 12px;overflow:visible;border-top:0;border-left:0;box-shadow:none;transform:translate(-50%,-50%)}.login-page-rgznjy .login-card-shell:after{display:none}.login-page-rgznjy .login-card-shell:hover,.login-page-rgznjy .login-card-shell:focus-within{border-color:transparent;box-shadow:none}.login-page-rgznjy .login-card-frame-rgznjy{width:min(430px,100%);min-height:0;max-height:inherit}.login-page-rgznjy .login-card{min-height:0;max-height:100%;padding:26px 28px 24px}}@media(max-width:430px){.login-page.login-page-rgznjy{grid-template-rows:minmax(0,1fr)}.login-page-rgznjy .login-story{padding:0}.login-page-rgznjy .login-story-content{top:14px;left:16px;gap:12px;width:calc(100vw - 32px);max-width:calc(100vw - 32px)}.login-page-rgznjy .login-campus-logo{width:48px;height:48px}.login-page-rgznjy .login-campus-brand>.brand-copy{font-size:24px}.login-page-rgznjy .login-story h1,.login-page-rgznjy .login-story-intro h1{font-size:30px}.login-page-rgznjy .login-card-shell{top:46%;width:calc(100vw - 16px);padding:0 10px}.login-page-rgznjy .login-card{padding:22px 20px 19px}.login-page-rgznjy .login-card h2{font-size:25px}.login-page-rgznjy .login-card label,.login-page-rgznjy .login-password-group{margin-top:12px}.login-page-rgznjy .login-card .button-full{margin-top:15px}}@media(min-width:540px)and (max-width:960px)and (max-height:600px){.login-page.login-page-rgznjy{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);background-position:center top}.login-page-rgznjy .login-story{grid-column:1;grid-row:1;padding:0}.login-page-rgznjy .login-story-content{top:18px;left:18px;align-content:start;gap:12px;width:210px;max-width:210px;padding-top:0;transform:none}.login-page-rgznjy .login-campus-brand{align-items:center;flex-direction:row;gap:8px}.login-page-rgznjy .login-campus-logo{width:40px;height:40px}.login-page-rgznjy .login-campus-brand>.brand-copy{font-size:19px}.login-page-rgznjy .login-story h1,.login-page-rgznjy .login-story-intro h1{font-size:25px}.login-page-rgznjy .login-card-shell{top:50%;left:50%;grid-column:1;grid-row:1;width:min(366px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 16px);padding:0 8px;border-top:0;border-left:0;box-shadow:none;transform:translate(-50%,-50%)}.login-page-rgznjy .login-card-shell:after{display:none}.login-page-rgznjy .login-card-shell:hover,.login-page-rgznjy .login-card-shell:focus-within{box-shadow:none}.login-page-rgznjy .login-card-frame-rgznjy{width:100%;min-height:0;max-height:100%}.login-page-rgznjy .login-card{min-height:0;max-height:100%;padding:17px 21px 15px}.login-page-rgznjy .login-card .eyebrow{margin-bottom:4px;font-size:11px}.login-page-rgznjy .login-card h2{margin-bottom:3px;font-size:22px}.login-page-rgznjy .login-card>p{font-size:12px;line-height:1.4}.login-page-rgznjy .login-card label,.login-page-rgznjy .login-password-group{gap:4px;margin-top:9px;font-size:12px}.login-page-rgznjy .login-card input,.login-page-rgznjy .login-card .button-full{min-height:44px}.login-page-rgznjy .login-card .button-full{margin-top:11px;font-size:14px}}@media(prefers-reduced-motion:reduce){.login-page-rgznjy .login-card,.login-page-rgznjy .login-card-frame-rgznjy,.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field,.login-page-rgznjy .login-field-control>svg,.login-page-rgznjy .login-field-leading-icon{transition-duration:.01ms}.login-page-rgznjy .login-card-panel-halo,.login-page-rgznjy .login-card-energy-cap:after{animation:none}.login-page-rgznjy .login-card-energy-cap:after{opacity:.82;transform:translateY(-50%) scaleX(1)}}@media(forced-colors:active){.login-page-rgznjy .login-card-frame-rgznjy{border:1px solid CanvasText;padding:0;background:Canvas;filter:none;clip-path:none}.login-page-rgznjy .login-card-frame-rgznjy:before,.login-page-rgznjy .login-card-panel-halo,.login-page-rgznjy .login-card-side-wing,.login-page-rgznjy .login-card-energy-cap{display:none}.login-page-rgznjy .login-card,.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field,.login-page-rgznjy .login-card input,.login-page-rgznjy .login-card .button-full{clip-path:none}.login-page-rgznjy .login-card .button-full:focus-visible{outline:3px solid Highlight;outline-offset:2px}}.login-page-rgznjy .login-story-content{inset:0;display:block;width:100%;max-width:none;height:100%;margin:0;padding:0;transform:none}.login-page-rgznjy .rgznjy-hero-headline h1{max-width:none;margin:0;font-size:42px;line-height:1.18;letter-spacing:0;white-space:nowrap;text-wrap:nowrap}.login-page-rgznjy .login-card-shell{top:49%;width:min(488px,calc(100vw - 40px));max-height:calc(100dvh - 32px);padding-inline:20px}.login-page-rgznjy .login-card-frame-rgznjy{flex-basis:448px;width:min(448px,100%);min-height:438px;max-height:calc(100dvh - 72px);padding:9px 16px}.login-page-rgznjy .login-card-frame-rgznjy:before{inset:8px 14px}.login-page-rgznjy .login-card{min-height:420px;padding:28px 34px 27px}.login-page-rgznjy .login-card .eyebrow{margin-bottom:6px;font-size:12px}.login-page-rgznjy .login-card h2{margin-bottom:5px;font-size:28px}.login-page-rgznjy .login-card>p{font-size:13px;line-height:1.45}.login-page-rgznjy .login-card label,.login-page-rgznjy .login-password-group{gap:5px;margin-top:12px;font-size:13px}.login-page-rgznjy .login-card input,.login-page-rgznjy .login-card .button-full{min-height:46px}.login-page-rgznjy .login-card .button-full{margin-top:15px}@media(max-width:1199px)and (min-width:821px){.login-page-rgznjy .rgznjy-hero-headline h1{font-size:32px}.login-page-rgznjy .login-card-shell{top:48%;width:min(438px,calc(100vw - 32px));padding-inline:18px}.login-page-rgznjy .login-card-frame-rgznjy{width:min(402px,100%);min-height:416px}.login-page-rgznjy .login-card{min-height:398px;padding:24px 29px 23px}}@media(max-width:820px){.login-page-rgznjy .rgznjy-hero-headline h1{font-size:28px;white-space:normal;text-wrap:wrap}.login-page-rgznjy .login-card-shell{top:50%;width:min(438px,calc(100vw - 16px));max-height:calc(100dvh - 174px);padding-inline:10px}.login-page-rgznjy .login-card-frame-rgznjy{width:min(418px,100%);min-height:408px;max-height:inherit;padding-inline:13px}.login-page-rgznjy .login-card-frame-rgznjy:before{inset-inline:11px}.login-page-rgznjy .login-card{min-height:390px;max-height:100%;padding:23px 27px 22px}}@media(max-width:430px){.login-page-rgznjy .rgznjy-hero-headline h1{font-size:25px}.login-page-rgznjy .login-card-frame-rgznjy{min-height:400px}.login-page-rgznjy .login-card{min-height:382px;padding:21px 20px 19px}.login-page-rgznjy .login-card h2{font-size:24px}}@media(min-width:540px)and (max-width:960px)and (max-height:600px){.login-page-rgznjy .rgznjy-hero-headline,.login-page-rgznjy .rgznjy-side-copy{display:none}.login-page-rgznjy .login-card-shell{top:50%;width:min(366px,calc(100vw - 24px));max-height:calc(100dvh - 16px);padding-inline:8px}.login-page-rgznjy .login-card-frame-rgznjy{width:100%;min-height:0;max-height:100%;padding-inline:12px}.login-page-rgznjy .login-card{min-height:0;max-height:100%;padding:17px 21px 15px}.login-page-rgznjy .login-card .eyebrow{margin-bottom:4px;font-size:11px}.login-page-rgznjy .login-card h2{margin-bottom:3px;font-size:22px}.login-page-rgznjy .login-card>p{font-size:12px;line-height:1.4}.login-page-rgznjy .login-card label,.login-page-rgznjy .login-password-group{gap:4px;margin-top:9px;font-size:12px}.login-page-rgznjy .login-card input,.login-page-rgznjy .login-card .button-full{min-height:44px}.login-page-rgznjy .login-card .button-full{margin-top:11px;font-size:14px}}.login-page-rgznjy .rgznjy-hero-brand{top:3.2dvh;left:3.2vw;gap:14px}.login-page-rgznjy .rgznjy-hero-brand>img{width:64px;height:64px}.login-page-rgznjy .rgznjy-hero-brand-text{gap:3px}.login-page-rgznjy .rgznjy-hero-brand-text strong{font-size:28px;font-weight:900;line-height:1.12}.login-page-rgznjy .rgznjy-hero-brand-text small{display:block;justify-self:start;width:max-content;max-width:100%;font-size:10px;line-height:1.2;letter-spacing:0;text-align:left;text-align-last:auto;white-space:nowrap;word-spacing:normal}.login-page-rgznjy .rgznjy-hero-headline{top:13.2dvh;width:max-content;max-width:calc(100vw - 640px)}.login-page-rgznjy .rgznjy-hero-headline h1{color:#fff;font-family:Noto Sans CJK SC,Microsoft YaHei,PingFang SC,sans-serif;font-size:46px;font-style:oblique 8deg;font-weight:900;line-height:1.12;text-shadow:0 5px 18px rgba(0,8,45,.72),0 4px 12px rgba(77,227,255,.5)}.login-page-rgznjy .rgznjy-side-copy{display:block}.login-page-rgznjy .rgznjy-copy-group{justify-items:start;width:120px;padding:0 0 0 16px;color:#ddf7ffcc;text-align:left;text-shadow:0 2px 10px rgba(0,9,44,.8)}.login-page-rgznjy .rgznjy-copy-group:before,.login-page-rgznjy .rgznjy-copy-right-top:before,.login-page-rgznjy .rgznjy-copy-right-bottom:before{inset:1px auto 1px 0;width:2px;background:linear-gradient(180deg,#d1faffeb,#4fd8ff42);box-shadow:0 0 8px #5be4ff47}.login-page-rgznjy .rgznjy-copy-group strong{color:#f5fdfff0;font-size:16px;font-weight:850;line-height:1.1;white-space:nowrap}.login-page-rgznjy .rgznjy-copy-group span{margin-top:6px;color:#dcf7ffd6;font-size:17px;font-weight:650;line-height:1.15}.login-page-rgznjy .rgznjy-copy-group small{margin-top:8px;color:#b4ebffb8;font-size:10px;font-weight:700;line-height:1.3}.login-page-rgznjy .rgznjy-copy-left-top,.login-page-rgznjy .rgznjy-copy-right-top{top:21.9dvh}.login-page-rgznjy .rgznjy-copy-left-bottom,.login-page-rgznjy .rgznjy-copy-right-bottom{top:32dvh}.login-page-rgznjy .rgznjy-copy-left-top,.login-page-rgznjy .rgznjy-copy-left-bottom{left:2.1vw}.login-page-rgznjy .rgznjy-copy-right-top,.login-page-rgznjy .rgznjy-copy-right-bottom{right:2.1vw}.login-page-rgznjy .login-card-shell{top:50%;width:clamp(390px,24vw,460px);height:clamp(378px,42dvh,454px);max-height:none;padding:0}.login-page-rgznjy .login-card-frame-rgznjy{position:relative;display:grid;flex:none;width:100%;height:100%;min-height:0;max-height:none;padding:2px;border-radius:24px;background:transparent;filter:none;box-shadow:0 0 0 1px #bffbff85,0 0 15px #22e4ffa8,0 0 34px #1f9aff4d,0 18px 38px #000f4047}.login-page-rgznjy .login-card-frame-rgznjy:before{inset:0;border-radius:24px;background:linear-gradient(142deg,#cdfffff5,#22e6ffc7 24%,#3d8bff7a 58%,#53f6ffe6);box-shadow:inset 0 0 12px #edffff7a,0 0 13px #53ebff70;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px)}.login-page-rgznjy .login-card-frame-rgznjy:after{content:"";position:absolute;z-index:4;inset:7px;border:1px solid rgba(190,247,255,.38);border-radius:18px;pointer-events:none;box-shadow:inset 0 0 20px #33cdff1a;clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px)}.login-page-rgznjy .login-card-panel-halo{z-index:4;inset:0;border-radius:24px;background:none;filter:none;opacity:.82;animation:none}.login-page-rgznjy .login-card-panel-halo:before,.login-page-rgznjy .login-card-panel-halo:after{content:"";position:absolute;pointer-events:none}.login-page-rgznjy .login-card-panel-halo:before{right:10%;bottom:5px;left:10%;height:30px;border-bottom:1px solid rgba(160,248,255,.78);border-radius:0 0 50% 50%;box-shadow:0 6px 12px #26deff33;transform:skew(-9deg)}.login-page-rgznjy .login-card-panel-halo:after{right:7%;bottom:18px;width:34%;height:22px;border-bottom:1px solid rgba(121,223,255,.5);border-radius:50%;transform:rotate(-3deg)}.login-page-rgznjy .login-card-side-wing,.login-page-rgznjy .login-card-energy-cap{display:none}.login-page-rgznjy .login-card{z-index:3;display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;padding:30px 44px 34px;overflow:hidden;border:0;border-radius:22px;color:#f6fbff;background:radial-gradient(circle at 12% 0%,rgba(72,211,255,.2),transparent 38%),radial-gradient(circle at 94% 92%,rgba(75,113,255,.16),transparent 44%),linear-gradient(148deg,#0f70cd66,#07379175 48%,#07236f85);background-color:#052f885c;box-shadow:inset 0 0 34px #37d8ff21,inset 0 1px #e5ffff57;clip-path:polygon(17px 0,calc(100% - 17px) 0,100% 17px,100% calc(100% - 17px),calc(100% - 17px) 100%,17px 100%,0 calc(100% - 17px),0 17px);backdrop-filter:blur(12px) saturate(116%);-webkit-backdrop-filter:blur(12px) saturate(116%)}.login-page-rgznjy .login-card:hover,.login-page-rgznjy .login-card:focus-within{box-shadow:inset 0 0 38px #37d8ff2b,inset 0 1px #e5ffff66}.login-page-rgznjy .login-card h2{margin:0;padding:0;color:#fff;font-size:30px;font-weight:900;line-height:1.2;text-align:center;text-shadow:0 3px 16px rgba(0,18,70,.7),0 0 16px rgba(97,225,255,.3)}.login-page-rgznjy .login-card>.login-card-platform-name{display:block;margin:7px 0 25px;color:#e5f6ffe6;font-size:16px;font-weight:550;line-height:1.5;text-align:center}.login-page-rgznjy .login-card>label,.login-page-rgznjy .login-password-group{display:block;margin:0}.login-page-rgznjy .login-password-group{position:relative;margin-top:16px}.login-page-rgznjy .login-card .login-password-group>label.sr-only{position:absolute;width:1px;min-width:1px;height:1px;min-height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field{display:block;min-height:52px;padding:1px;border:1px solid rgba(177,236,255,.7);border-radius:11px;background:#2288e02e;box-shadow:inset 0 0 15px #4fcdff12;clip-path:none}.login-page-rgznjy .login-field-control:focus-within,.login-page-rgznjy .login-password-field:focus-within{border-color:#c0f6ffeb;box-shadow:0 0 0 3px #4ddaff29,inset 0 0 18px #3bafff1f}.login-page-rgznjy .login-field-control>svg,.login-page-rgznjy .login-field-leading-icon{left:16px;width:22px;height:22px;color:#e1fafff0}.login-page-rgznjy .login-card input{min-height:48px;border:0;border-radius:9px;padding:11px 14px 11px 51px;color:#fff;background:linear-gradient(90deg,#0c4fab66,#2385dd57);box-shadow:none;clip-path:none}.login-page-rgznjy .login-card input::placeholder{color:#e8f7ffb8;opacity:1}.login-page-rgznjy .login-card input:hover,.login-page-rgznjy .login-card input:focus{background:linear-gradient(90deg,#0f59bd85,#2593eb75);box-shadow:none}.login-page-rgznjy .login-password-field input{padding-right:52px}.login-page-rgznjy .login-password-field button{right:6px;color:#e0f8ffe0}.login-page-rgznjy .login-card .form-error{display:block;margin:10px 0 0;padding:7px 10px;font-size:12px;line-height:1.35}.login-page-rgznjy .login-card:has(.form-error){padding-block:22px 24px}.login-page-rgznjy .login-card:has(.form-error)>.login-card-platform-name{margin-bottom:18px}.login-page-rgznjy .login-card:has(.form-error) .login-password-group{margin-top:12px}.login-page-rgznjy .login-card:has(.form-error) .button-full{margin-top:12px}.login-page-rgznjy .login-card .button-full{min-height:58px;margin-top:22px;border:1px solid rgba(177,250,255,.78);border-radius:11px;color:#fff;background:linear-gradient(105deg,#14e0e8eb,#08a8ffe6 52%,#1b7ce5eb);box-shadow:0 9px 20px #0097eb42,inset 0 1px #ffffff6b;clip-path:none;font-size:19px;font-weight:850;text-shadow:0 2px 8px rgba(0,63,145,.56)}.login-page-rgznjy .login-card .button-full:hover:not(:disabled){border-color:#dcfefff0;background:linear-gradient(105deg,#28e8ef,#19adff 52%,#258cef);box-shadow:0 12px 28px #00a6f46b,inset 0 1px #ffffff7a}@media(min-width:1400px)and (min-height:760px){.login-page-rgznjy .rgznjy-hero-headline{top:10.8dvh}.login-page-rgznjy .rgznjy-hero-headline h1{font-size:46px}.login-page-rgznjy .login-card-shell{height:clamp(414px,46dvh,496px)}.login-page-rgznjy .login-card{display:flex;flex-direction:column;justify-content:center}}@media(max-width:1199px){.login-page-rgznjy .rgznjy-side-copy{display:none}.login-page-rgznjy .rgznjy-hero-headline{top:max(90px,11dvh);max-width:calc(100vw - 48px)}.login-page-rgznjy .rgznjy-hero-headline h1{font-size:42px;font-style:normal}.login-page-rgznjy .login-card-shell{width:min(390px,calc(100vw - 32px));height:378px}.login-page-rgznjy .login-card{padding:28px 34px 30px}}@media(min-width:1200px)and (max-width:1399px){.login-page-rgznjy .rgznjy-hero-headline{top:max(92px,12.2dvh);max-width:calc(100vw - 240px)}.login-page-rgznjy .rgznjy-hero-headline h1{font-size:38px}}@media(min-width:961px)and (max-height:759px){.login-page-rgznjy .rgznjy-hero-headline,.login-page-rgznjy .rgznjy-side-copy{display:none}.login-page-rgznjy .login-card-shell{top:47%}}@media(min-width:821px)and (max-width:920px){.login-page-rgznjy .rgznjy-hero-headline{top:90px;max-width:calc(100vw - 48px)}}@media(max-width:820px){.login-page-rgznjy .rgznjy-hero-brand{top:12px;left:50%;gap:8px;transform:translate(-50%)}.login-page-rgznjy .rgznjy-hero-brand>img{width:40px;height:40px}.login-page-rgznjy .rgznjy-hero-brand-text strong{font-size:18px}.login-page-rgznjy .rgznjy-hero-brand-text small{font-size:6.4px}.login-page-rgznjy .rgznjy-hero-headline{top:68px;width:calc(100vw - 24px);max-width:520px}.login-page-rgznjy .rgznjy-hero-headline h1{font-size:25px;white-space:normal;text-wrap:wrap}.login-page-rgznjy .login-card-shell{top:52%;width:min(360px,calc(100vw - 24px));height:364px;max-height:calc(100dvh - 178px)}.login-page-rgznjy .login-card-frame-rgznjy{min-height:0;padding:2px;border-radius:21px}.login-page-rgznjy .login-card-frame-rgznjy:before{border-radius:21px}.login-page-rgznjy .login-card-frame-rgznjy:after{inset:7px;border-radius:16px}.login-page-rgznjy .login-card{min-height:0;padding:25px 24px 27px;border-radius:21px}.login-page-rgznjy .login-card h2{font-size:25px}.login-page-rgznjy .login-card>.login-card-platform-name{margin:5px 0 20px;font-size:13px}.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field{min-height:50px}.login-page-rgznjy .login-card input{min-height:46px}.login-page-rgznjy .login-password-group{margin-top:14px}.login-page-rgznjy .login-card .button-full{min-height:52px;margin-top:18px;font-size:17px}}@media(max-width:539px)and (max-height:699px){.login-page-rgznjy .rgznjy-hero-headline,.login-page-rgznjy .rgznjy-side-copy{display:none}.login-page-rgznjy .login-card-shell{top:48%;height:350px;max-height:calc(100dvh - 76px)}}@media(min-width:540px)and (max-width:960px)and (max-height:600px){.login-page-rgznjy .rgznjy-hero-brand{top:10px;left:14px;width:max-content;max-width:none;transform:none}.login-page-rgznjy .rgznjy-hero-brand>img{width:34px;height:34px}.login-page-rgznjy .rgznjy-hero-brand-text strong{font-size:14px;white-space:nowrap}.login-page-rgznjy .rgznjy-hero-brand-text small{font-size:5px}.login-page-rgznjy .rgznjy-hero-headline,.login-page-rgznjy .rgznjy-side-copy{display:none}.login-page-rgznjy .login-card-shell{top:50%;width:min(330px,calc(100vw - 24px));height:min(310px,calc(100dvh - 26px));max-height:310px}.login-page-rgznjy .login-card-shell:has(.form-error){height:min(354px,calc(100dvh - 26px));max-height:354px}.login-page-rgznjy .login-card{display:flex;flex-direction:column;justify-content:center;padding:17px 24px 18px}.login-page-rgznjy .login-card h2{margin-bottom:10px;font-size:22px}.login-page-rgznjy .login-card>.login-card-platform-name{display:block;margin:3px 0 12px;font-size:11px}.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field{min-height:46px}.login-page-rgznjy .login-card input{min-height:42px}.login-page-rgznjy .login-password-group{margin-top:10px}.login-page-rgznjy .login-card .button-full{min-height:46px;margin-top:12px;font-size:15px}}@media(min-width:540px)and (max-width:720px)and (max-height:600px){.login-page-rgznjy .rgznjy-hero-brand{left:8px;gap:5px}.login-page-rgznjy .rgznjy-hero-brand>img{width:26px;height:26px}.login-page-rgznjy .rgznjy-hero-brand-text strong{font-size:11px}.login-page-rgznjy .rgznjy-hero-brand-text small{font-size:3.9px}.login-page-rgznjy .login-card-shell{height:min(300px,calc(100dvh - 26px));max-height:300px}}@media(min-width:540px)and (max-width:640px)and (max-height:600px){.login-page-rgznjy .rgznjy-hero-brand-text{display:none}}@media(min-width:641px)and (max-width:660px)and (max-height:374px){.login-page-rgznjy .rgznjy-hero-brand-text{display:none}}@media(min-width:540px)and (max-width:720px)and (max-height:340px){.login-page-rgznjy .login-card:has(.form-error){padding:10px 20px}.login-page-rgznjy .login-card:has(.form-error)>.login-card-platform-name{display:none}.login-page-rgznjy .login-card:has(.form-error) .login-password-group,.login-page-rgznjy .login-card:has(.form-error) .button-full{margin-top:8px}.login-page-rgznjy .login-card:has(.form-error) .form-error{margin-top:6px;padding-block:6px}}@media(prefers-reduced-motion:reduce){.login-page-rgznjy .login-card-panel-halo{animation:none}}@media(forced-colors:active){.login-page-rgznjy .login-card-frame-rgznjy,.login-page-rgznjy .login-card,.login-page-rgznjy .login-field-control,.login-page-rgznjy .login-password-field,.login-page-rgznjy .login-card input,.login-page-rgznjy .login-card .button-full{border:1px solid CanvasText;border-radius:12px;background:Canvas;box-shadow:none;filter:none;clip-path:none}.login-page-rgznjy .login-card-frame-rgznjy:before,.login-page-rgznjy .login-card-frame-rgznjy:after,.login-page-rgznjy .login-card-panel-halo{display:none}}@media(forced-colors:active){.rgznjy-hero-brand,.rgznjy-hero-headline,.rgznjy-copy-group{color:CanvasText;filter:none;text-shadow:none}.rgznjy-copy-group:before{background:CanvasText;box-shadow:none}}.login-page.login-page-campus-v2{--campus-login-v2-navy: #06265f;--campus-login-v2-blue: #00a1e0;--campus-login-v2-muted: #5b6fa4;--campus-login-v2-card-width: 414px;--campus-login-v2-card-height: 468px;position:relative;isolation:isolate;display:block;width:100%;height:100dvh;min-height:0;overflow:hidden;color:var(--campus-login-v2-navy);background:#cdeeff;letter-spacing:0}.login-page-campus-v2,.login-page-campus-v2 *,.login-page-campus-v2 *:before,.login-page-campus-v2 *:after{box-sizing:border-box}.login-page-campus-v2 .campus-login-v2-story{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;min-height:0;padding:0;overflow:hidden;color:var(--campus-login-v2-navy);background-color:#cdeeff;background-image:var(--public-login-background-image);background-position:center;background-repeat:no-repeat;background-size:cover}.login-page-campus-v2 .campus-login-v2-story:before,.login-page-campus-v2 .campus-login-v2-story:after{content:none;display:none}.login-page-campus-v2 .campus-login-v2-content{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0}.login-page-campus-v2 .campus-login-v2-hero{position:absolute;inset:0;min-width:0;pointer-events:none}.login-page-campus-v2 .campus-login-v2-brand{position:absolute;top:6.5%;left:4.55%;display:flex;align-items:center;width:min(500px,43vw);min-width:0;margin:0;gap:13px;color:var(--campus-login-v2-navy);animation:none}.login-page-campus-v2 .campus-login-v2-brand-logo,.login-page-campus-v2 .campus-login-v2-brand-logo-fallback{position:relative;display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:8px;color:var(--campus-login-v2-navy);background:#ffffffdb;box-shadow:0 8px 22px #2169a421,inset 0 1px #fffffff5;font-size:24px;font-weight:900;line-height:1}.login-page-campus-v2 .campus-login-v2-brand-logo>img,.login-page-campus-v2 .campus-login-v2-brand-logo-fallback>img{width:100%;height:100%;padding:4px;object-fit:contain}.login-page-campus-v2 .campus-login-v2-brand-logo>.campus-login-v2-brand-logo-fallback{width:100%;height:100%;border:0;border-radius:0;background:transparent;box-shadow:none}.login-page-campus-v2 .campus-login-v2-brand-name{min-width:0;overflow:hidden;padding-block:2px;color:var(--campus-login-v2-navy);font-size:25px;font-weight:900;line-height:1.25;letter-spacing:0;text-overflow:ellipsis;text-shadow:0 1px rgba(255,255,255,.72);white-space:nowrap}.login-page-campus-v2 .campus-login-v2-headline{position:absolute;top:18.1%;left:5.65%;width:410px;max-width:calc(100vw - 58%);margin:0;text-align:left}.login-page-campus-v2 .campus-login-v2-headline>h1{display:block;width:100%;max-width:none;margin:0;color:var(--campus-login-v2-navy);font-family:Noto Sans CJK SC,Microsoft YaHei,PingFang SC,sans-serif;font-size:64px;font-weight:950;line-height:1.16;letter-spacing:0;text-align:left;text-shadow:0 2px rgba(255,255,255,.56);text-wrap:balance}.login-page-campus-v2 .campus-login-v2-headline>h1>span{display:block;white-space:nowrap}.login-page-campus-v2 .campus-login-v2-headline .accent{color:var(--campus-login-v2-blue)}.login-page-campus-v2 .campus-login-v2-subheadline{position:static;max-width:430px;margin:24px 0 0;color:#17396e;font-size:20px;font-weight:700;line-height:1.45;letter-spacing:0;text-shadow:0 1px rgba(255,255,255,.72);white-space:nowrap}.login-page-campus-v2 .campus-login-v2-features{position:absolute;top:44.2%;left:5.65%;display:grid;grid-template-columns:repeat(3,112px);align-items:start;gap:30px;width:396px}.login-page-campus-v2 .campus-login-v2-feature{display:grid;justify-items:center;width:112px;min-width:0;color:var(--campus-login-v2-navy);text-align:center}.login-page-campus-v2 .campus-login-v2-feature-visual{display:grid;place-items:center;width:92px;height:92px;overflow:hidden;border:1px solid rgba(255,255,255,.96);border-radius:50%;color:#118fd3;background:#eff9ffe0;box-shadow:0 10px 24px #2074b529,inset 0 1px #fffffffa}.login-page-campus-v2 .campus-login-v2-feature-visual--course{color:#1595d4;background:#f2faffe6}.login-page-campus-v2 .campus-login-v2-feature-visual--teacher{color:#e58137;background:#fff8edeb}.login-page-campus-v2 .campus-login-v2-feature-visual--growth{color:#2575db;background:#eef8ffeb}.login-page-campus-v2 .campus-login-v2-feature-visual>svg,.login-page-campus-v2 .campus-login-v2-feature-visual>img{width:52px;height:52px;object-fit:contain;stroke-width:1.8}.login-page-campus-v2 .campus-login-v2-feature-copy{display:grid;gap:2px;width:100%;margin-top:10px}.login-page-campus-v2 .campus-login-v2-feature-copy>strong{overflow:hidden;color:var(--campus-login-v2-navy);font-size:17px;font-weight:900;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.login-page-campus-v2 .campus-login-v2-feature-copy>span,.login-page-campus-v2 .campus-login-v2-feature-copy>small{overflow:hidden;color:#365581;font-size:13px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.login-page-campus-v2 .campus-login-v2-wall-copy{position:absolute;width:120px;margin:0;color:#0756a0;font-size:17px;font-weight:750;line-height:1.35;letter-spacing:0;white-space:pre-line}.login-page-campus-v2 .campus-login-v2-wall-copy:after{content:"";display:block;width:22px;height:2px;margin-top:8px;background:currentColor}.login-page-campus-v2 .campus-login-v2-wall-copy--left{bottom:22.5%;left:6.7%}.login-page-campus-v2 .campus-login-v2-wall-copy--right{right:4.6%;bottom:16.8%}.login-page-campus-v2 .campus-login-v2-card-shell{position:absolute;z-index:3;isolation:isolate;top:15.7407%;right:8.6589%;display:block;width:var(--campus-login-v2-card-width);height:var(--campus-login-v2-card-height);max-height:none;margin:0;overflow:visible;border:0;border-radius:24px;color:var(--campus-login-v2-navy);background:transparent;box-shadow:none;clip-path:none;filter:none;transform:none;animation:none;backdrop-filter:none;-webkit-backdrop-filter:none}.login-page-campus-v2 .campus-login-v2-card-shell:before,.login-page-campus-v2 .campus-login-v2-card-shell:after{content:none;display:none}.login-page-campus-v2 .campus-login-v2-card-shell:hover,.login-page-campus-v2 .campus-login-v2-card-shell:focus-within{border-color:transparent;box-shadow:none;transform:none}.login-page-campus-v2 .login-card-orbit-light{display:none}.login-page-campus-v2 .campus-login-v2-card-frame{position:relative;isolation:isolate;display:block;width:100%;height:100%;max-height:none;overflow:hidden;border:1px solid rgba(255,255,255,.94);border-radius:24px;background:linear-gradient(145deg,#ffffffd1,#e6f5ffb3);box-shadow:0 24px 58px #1b5b993b,inset 0 1px #fffffffa,inset 0 0 0 1px #addcf733;backdrop-filter:blur(18px) saturate(112%);-webkit-backdrop-filter:blur(18px) saturate(112%)}.login-page-campus-v2 .campus-login-v2-card-frame:before{content:"";position:absolute;z-index:0;inset:9px;border:1px solid rgba(255,255,255,.54);border-radius:17px;pointer-events:none}.login-page-campus-v2 .campus-login-v2-card{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;max-height:none;margin:0;overflow-x:hidden;overflow-y:auto;border:0;border-radius:0;padding:60px 28px 51px;color:var(--campus-login-v2-navy);background:transparent;box-shadow:none;scrollbar-gutter:auto;scrollbar-width:thin}.login-page-campus-v2 .campus-login-v2-card-header{flex:0 0 auto;margin:0 0 39px;text-align:center}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{margin:0;padding:0;color:var(--campus-login-v2-navy);font-size:38px;font-weight:950;line-height:1.18;letter-spacing:0;text-align:center}.login-page-campus-v2 .campus-login-v2-platform-name{display:block;max-width:100%;margin:8px 0 0;overflow:hidden;color:#24477d;font-size:18px;font-weight:650;line-height:1.35;letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.login-page-campus-v2 .campus-login-v2-field-label{display:block;flex:0 0 auto;height:63px;min-height:63px;margin:0;color:var(--campus-login-v2-muted);font-size:14px;font-weight:700}.login-page-campus-v2 .campus-login-v2-field-label+.campus-login-v2-field-label{margin-top:25px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group{display:block;flex:0 0 auto;width:100%;height:63px;min-height:63px;margin:25px 0 0}.login-page-campus-v2 .campus-login-v2-card>.login-password-group>label.sr-only{position:absolute;width:1px;min-width:1px;height:1px;min-height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}.login-page-campus-v2 .campus-login-v2-field{position:relative;display:flex;align-items:center;width:100%;height:100%;min-height:63px;overflow:hidden;border:1px solid rgba(177,194,220,.72);border-radius:13px;color:var(--campus-login-v2-muted);background:#fffffff0;box-shadow:inset 0 1px 2px #1348870a;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.login-page-campus-v2 .campus-login-v2-field:hover{border-color:#8198bf;background:#fff}.login-page-campus-v2 .campus-login-v2-field:focus-within{border-color:#326de1;background:#fff;box-shadow:0 0 0 3px #326de133,inset 0 1px 2px #1348870a}.login-page-campus-v2 .campus-login-v2-field-icon{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;margin-left:18px;color:#6277a7;pointer-events:none}.login-page-campus-v2 .campus-login-v2-field-icon>svg,.login-page-campus-v2 .campus-login-v2-field-icon>img,.login-page-campus-v2 svg.campus-login-v2-field-icon,.login-page-campus-v2 img.campus-login-v2-field-icon{width:24px;height:24px;object-fit:contain;stroke-width:1.8}.login-page-campus-v2 img.campus-login-v2-field-icon,.login-page-campus-v2 .campus-login-v2-visibility>img{filter:invert(49%) sepia(18%) saturate(1307%) hue-rotate(184deg) brightness(89%) contrast(85%)}.login-page-campus-v2 .campus-login-v2-card input{flex:1 1 auto;width:auto;min-width:0;height:100%;min-height:0;border:0;border-radius:0;padding:0 16px;color:#203b69;caret-color:#326de1;background:transparent;box-shadow:none;font-size:16px;font-weight:550;line-height:1.4;letter-spacing:0;outline:0}.login-page-campus-v2 .campus-login-v2-card input::placeholder{color:#7486ad;opacity:1}.login-page-campus-v2 .campus-login-v2-card input:hover,.login-page-campus-v2 .campus-login-v2-card input:focus{border:0;outline:0;background:transparent;box-shadow:none}.login-page-campus-v2 .campus-login-v2-card input:-webkit-autofill,.login-page-campus-v2 .campus-login-v2-card input:-webkit-autofill:hover,.login-page-campus-v2 .campus-login-v2-card input:-webkit-autofill:focus{-webkit-text-fill-color:#203b69;-webkit-box-shadow:0 0 0 1000px #fff inset;caret-color:#326de1}.login-page-campus-v2 .campus-login-v2-visibility{display:grid;place-items:center;flex:0 0 auto;width:48px;min-width:48px;height:48px;min-height:48px;margin-right:7px;border:0;border-radius:8px;padding:0;color:#6277a7;background:transparent;transform:none;transition:color .16s ease,background-color .16s ease}.login-page-campus-v2 .campus-login-v2-visibility>svg,.login-page-campus-v2 .campus-login-v2-visibility>img{width:23px;height:23px;object-fit:contain;stroke-width:1.8}.login-page-campus-v2 .campus-login-v2-visibility:hover{color:#1755a5;background:#edf4ff}.login-page-campus-v2 .campus-login-v2-visibility:focus-visible{color:#123f83;outline:3px solid rgba(50,109,225,.46);outline-offset:1px;background:#edf4ff}.login-page-campus-v2 .campus-login-v2-card .form-error{flex:0 0 auto;max-height:38px;margin:8px 0 0;overflow:auto;border:1px solid #e6aab4;border-left:4px solid #bd2638;border-radius:8px;padding:7px 9px;color:#811d2b!important;background:#fff4f6f5;font-size:12px;font-weight:650;line-height:1.35}.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:24px}.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-field-label+.campus-login-v2-field-label{margin-top:17px}.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:17px}.login-page-campus-v2 .campus-login-v2-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:14px;align-self:center;width:min(357px,100%);min-height:59px;margin:auto 0 0;overflow:hidden;border:1px solid rgba(59,109,231,.18);border-radius:13px;padding:0 22px;color:#fff;background:linear-gradient(100deg,#0bb8e8,#397ce9 48%,#8b2cf4);box-shadow:0 13px 25px #385bd640,inset 0 1px #ffffff40;font-size:19px;font-weight:850;line-height:1;letter-spacing:0;text-shadow:0 1px 2px rgba(15,47,131,.28);transform:none;transition:box-shadow .17s ease,filter .17s ease,transform .17s ease}.login-page-campus-v2 .campus-login-v2-submit:hover:not(:disabled){background:linear-gradient(100deg,#0bb8e8,#397ce9 48%,#8b2cf4);box-shadow:0 16px 30px #385bd64f,inset 0 1px #ffffff52;filter:saturate(1.05) brightness(1.02)}.login-page-campus-v2 .campus-login-v2-submit:focus-visible{outline:3px solid var(--campus-login-v2-navy);outline-offset:3px}.login-page-campus-v2 .campus-login-v2-submit:active:not(:disabled){filter:saturate(1.02) brightness(.97);transform:translateY(1px)}.login-page-campus-v2 .campus-login-v2-submit:disabled{cursor:not-allowed;opacity:.62;box-shadow:none;filter:saturate(.72)}.login-page-campus-v2 .campus-login-v2-submit-icon,.login-page-campus-v2 .campus-login-v2-submit-icon>svg,.login-page-campus-v2 .campus-login-v2-submit-icon>img,.login-page-campus-v2 svg.campus-login-v2-submit-icon,.login-page-campus-v2 img.campus-login-v2-submit-icon{width:23px;height:23px;object-fit:contain;stroke-width:1.8;transition:transform .17s ease}.login-page-campus-v2 img.campus-login-v2-submit-icon{filter:brightness(0) invert(1)}@media(hover:hover)and (pointer:fine){.login-page-campus-v2 .campus-login-v2-submit:hover:not(:disabled){transform:translateY(-1px)}.login-page-campus-v2 .campus-login-v2-submit:hover:not(:disabled) .campus-login-v2-submit-icon{transform:translate(3px)}}@media(max-width:1199px){.login-page-campus-v2 .campus-login-v2-brand{top:4.5%;left:3.2%;width:min(430px,48vw)}.login-page-campus-v2 .campus-login-v2-brand-logo,.login-page-campus-v2 .campus-login-v2-brand-logo-fallback{width:50px;height:50px;font-size:21px}.login-page-campus-v2 .campus-login-v2-brand-name{font-size:22px}.login-page-campus-v2 .campus-login-v2-headline{top:17%;left:3.8%;width:350px;max-width:calc(100vw - 430px)}.login-page-campus-v2 .campus-login-v2-headline>h1{font-size:52px}.login-page-campus-v2 .campus-login-v2-subheadline{top:37.5%;left:3.9%;max-width:calc(100vw - 440px);font-size:17px}.login-page-campus-v2 .campus-login-v2-features{top:44%;left:3.5%;grid-template-columns:repeat(3,94px);gap:17px;width:316px}.login-page-campus-v2 .campus-login-v2-feature{width:94px}.login-page-campus-v2 .campus-login-v2-feature-visual{width:76px;height:76px}.login-page-campus-v2 .campus-login-v2-feature-visual>svg,.login-page-campus-v2 .campus-login-v2-feature-visual>img{width:43px;height:43px}.login-page-campus-v2 .campus-login-v2-feature-copy>strong{font-size:15px}.login-page-campus-v2 .campus-login-v2-feature-copy>span,.login-page-campus-v2 .campus-login-v2-feature-copy>small{font-size:12px}.login-page-campus-v2 .campus-login-v2-wall-copy{display:none}.login-page-campus-v2 .campus-login-v2-card-shell{top:50%;right:24px;width:min(390px,42vw);height:min(456px,calc(100dvh - 48px));transform:translateY(-50%)}.login-page-campus-v2 .campus-login-v2-card-shell:hover,.login-page-campus-v2 .campus-login-v2-card-shell:focus-within{transform:translateY(-50%)}.login-page-campus-v2 .campus-login-v2-card{padding:46px 26px 39px}.login-page-campus-v2 .campus-login-v2-card-header{margin-bottom:29px}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{font-size:34px}.login-page-campus-v2 .campus-login-v2-platform-name{font-size:16px}.login-page-campus-v2 .campus-login-v2-field-label,.login-page-campus-v2 .campus-login-v2-card>.login-password-group{height:58px;min-height:58px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group{margin-top:20px}.login-page-campus-v2 .campus-login-v2-field{min-height:58px}.login-page-campus-v2 .campus-login-v2-submit{min-height:56px}}@media(max-width:820px){.login-page.login-page-campus-v2{display:block}.login-page-campus-v2 .campus-login-v2-story{background-position:center}.login-page-campus-v2 .campus-login-v2-brand{top:20px;left:24px;width:calc(100vw - 48px)}.login-page-campus-v2 .campus-login-v2-brand-name{font-size:21px}.login-page-campus-v2 .campus-login-v2-headline{top:92px;left:24px;width:calc(100vw - 48px);max-width:540px}.login-page-campus-v2 .campus-login-v2-headline>h1{font-size:40px;line-height:1.16}.login-page-campus-v2 .campus-login-v2-subheadline{top:190px;left:24px;max-width:calc(100vw - 48px);font-size:16px;white-space:normal}.login-page-campus-v2 .campus-login-v2-features,.login-page-campus-v2 .campus-login-v2-wall-copy{display:none}.login-page-campus-v2 .campus-login-v2-card-shell{inset:auto auto 20px 50%;width:min(414px,calc(100vw - 24px));height:min(438px,calc(100dvh - 250px));min-height:360px;transform:translate(-50%)}.login-page-campus-v2 .campus-login-v2-card-shell:hover,.login-page-campus-v2 .campus-login-v2-card-shell:focus-within{transform:translate(-50%)}.login-page-campus-v2 .campus-login-v2-card,.login-page-campus-v2 .campus-login-v2-card:has(.form-error){padding:37px 24px 28px}.login-page-campus-v2 .campus-login-v2-card-header,.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:24px}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{font-size:32px}.login-page-campus-v2 .campus-login-v2-platform-name{margin-top:5px;font-size:15px}.login-page-campus-v2 .campus-login-v2-field-label,.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-field{height:56px;min-height:56px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:16px}.login-page-campus-v2 .campus-login-v2-submit{min-height:54px;font-size:18px}}@media(max-width:560px){.login-page-campus-v2 .campus-login-v2-brand{top:16px;left:18px;width:calc(100vw - 36px);gap:10px}.login-page-campus-v2 .campus-login-v2-brand-logo,.login-page-campus-v2 .campus-login-v2-brand-logo-fallback{width:44px;height:44px;font-size:19px}.login-page-campus-v2 .campus-login-v2-brand-name{font-size:18px}.login-page-campus-v2 .campus-login-v2-headline{top:78px;left:18px;width:calc(100vw - 36px)}.login-page-campus-v2 .campus-login-v2-headline>h1{font-size:34px}.login-page-campus-v2 .campus-login-v2-subheadline{top:160px;left:18px;max-width:calc(100vw - 36px);font-size:14px}.login-page-campus-v2 .campus-login-v2-card-shell{bottom:10px;width:calc(100vw - 20px);height:min(424px,calc(100dvh - 205px));min-height:350px;border-radius:20px}.login-page-campus-v2 .campus-login-v2-card-frame{border-radius:20px}.login-page-campus-v2 .campus-login-v2-card-frame:before{inset:7px;border-radius:14px}.login-page-campus-v2 .campus-login-v2-card,.login-page-campus-v2 .campus-login-v2-card:has(.form-error){padding:31px 20px 22px}.login-page-campus-v2 .campus-login-v2-card-header,.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:19px}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{font-size:29px}.login-page-campus-v2 .campus-login-v2-platform-name{font-size:14px}.login-page-campus-v2 .campus-login-v2-field-label,.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-field{height:54px;min-height:54px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:13px}.login-page-campus-v2 .campus-login-v2-field-icon{margin-left:14px}.login-page-campus-v2 .campus-login-v2-card input{padding-inline:12px;font-size:15px}.login-page-campus-v2 .campus-login-v2-visibility{width:44px;min-width:44px;height:44px;min-height:44px;margin-right:4px}.login-page-campus-v2 .campus-login-v2-submit{min-height:52px}.login-page-campus-v2 .campus-login-v2-card .form-error{max-height:34px;margin-top:5px;padding-block:5px}}@media(max-height:700px){.login-page-campus-v2 .campus-login-v2-brand{top:14px}.login-page-campus-v2 .campus-login-v2-headline{top:76px}.login-page-campus-v2 .campus-login-v2-subheadline{top:158px}.login-page-campus-v2 .campus-login-v2-features,.login-page-campus-v2 .campus-login-v2-wall-copy{display:none}.login-page-campus-v2 .campus-login-v2-card-shell{height:calc(100dvh - 24px);max-height:438px}.login-page-campus-v2 .campus-login-v2-card,.login-page-campus-v2 .campus-login-v2-card:has(.form-error){padding-top:30px;padding-bottom:22px}.login-page-campus-v2 .campus-login-v2-card-header,.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:17px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:12px}}@media(max-width:820px)and (max-height:700px){.login-page-campus-v2 .campus-login-v2-subheadline{display:none}}@media(max-width:820px)and (max-height:630px){.login-page-campus-v2 .campus-login-v2-headline{display:none}}@media(min-width:540px)and (max-width:960px)and (max-height:600px){.login-page-campus-v2 .campus-login-v2-story{background-position:center}.login-page-campus-v2 .campus-login-v2-brand{top:14px;left:16px;width:calc(100vw - clamp(300px,42vw,340px) - 32px);gap:9px}.login-page-campus-v2 .campus-login-v2-brand-logo,.login-page-campus-v2 .campus-login-v2-brand-logo-fallback{width:40px;height:40px;font-size:17px}.login-page-campus-v2 .campus-login-v2-brand-name{font-size:17px}.login-page-campus-v2 .campus-login-v2-headline{display:block;top:84px;left:18px;width:calc(100vw - clamp(300px,42vw,340px) - 34px);max-width:390px}.login-page-campus-v2 .campus-login-v2-headline>h1{font-size:34px;line-height:1.14}.login-page-campus-v2 .campus-login-v2-subheadline{top:174px;left:18px;max-width:calc(100vw - clamp(300px,42vw,340px) - 34px);font-size:13px}.login-page-campus-v2 .campus-login-v2-features,.login-page-campus-v2 .campus-login-v2-wall-copy{display:none}.login-page-campus-v2 .campus-login-v2-card-shell{inset:8px 8px auto auto;width:clamp(300px,42vw,340px);height:calc(100dvh - 16px);min-height:0;max-height:none;border-radius:18px;transform:none}.login-page-campus-v2 .campus-login-v2-card-shell:hover,.login-page-campus-v2 .campus-login-v2-card-shell:focus-within{transform:none}.login-page-campus-v2 .campus-login-v2-card-frame{border-radius:18px}.login-page-campus-v2 .campus-login-v2-card-frame:before{inset:6px;border-radius:12px}.login-page-campus-v2 .campus-login-v2-card,.login-page-campus-v2 .campus-login-v2-card:has(.form-error){padding:22px 20px 18px}.login-page-campus-v2 .campus-login-v2-card-header,.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:14px}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{font-size:27px}.login-page-campus-v2 .campus-login-v2-platform-name{margin-top:3px;font-size:13px}.login-page-campus-v2 .campus-login-v2-field-label,.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-field{height:50px;min-height:50px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:11px}.login-page-campus-v2 .campus-login-v2-field-icon,.login-page-campus-v2 .campus-login-v2-field-icon>svg,.login-page-campus-v2 .campus-login-v2-field-icon>img,.login-page-campus-v2 svg.campus-login-v2-field-icon,.login-page-campus-v2 img.campus-login-v2-field-icon{width:21px;height:21px}.login-page-campus-v2 .campus-login-v2-field-icon{margin-left:13px}.login-page-campus-v2 .campus-login-v2-card input{padding-inline:11px;font-size:14px}.login-page-campus-v2 .campus-login-v2-visibility{width:44px;min-width:44px;height:44px;min-height:44px;margin-right:3px}.login-page-campus-v2 .campus-login-v2-submit{min-height:50px;font-size:17px}.login-page-campus-v2 .campus-login-v2-card .form-error{max-height:30px;margin-top:4px;padding:4px 7px;font-size:11px}}@media(max-width:539px)and (max-height:520px){.login-page-campus-v2 .campus-login-v2-brand,.login-page-campus-v2 .campus-login-v2-headline,.login-page-campus-v2 .campus-login-v2-features,.login-page-campus-v2 .campus-login-v2-wall-copy{display:none}.login-page-campus-v2 .campus-login-v2-card-shell{inset:6px auto auto 50%;width:calc(100vw - 12px);height:calc(100dvh - 12px);min-height:0;max-height:none;transform:translate(-50%)}.login-page-campus-v2 .campus-login-v2-card,.login-page-campus-v2 .campus-login-v2-card:has(.form-error){padding:14px 17px 12px}.login-page-campus-v2 .campus-login-v2-card-header,.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:8px}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{font-size:23px}.login-page-campus-v2 .campus-login-v2-platform-name{margin-top:2px;font-size:11px}.login-page-campus-v2 .campus-login-v2-field-label,.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-field{height:46px;min-height:46px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:7px}.login-page-campus-v2 .campus-login-v2-submit{min-height:46px}}@media(min-width:540px)and (max-width:720px)and (max-height:360px){.login-page-campus-v2 .campus-login-v2-brand-name{max-width:170px}.login-page-campus-v2 .campus-login-v2-headline{top:68px}.login-page-campus-v2 .campus-login-v2-headline>h1{font-size:29px}.login-page-campus-v2 .campus-login-v2-subheadline{top:145px}.login-page-campus-v2 .campus-login-v2-card,.login-page-campus-v2 .campus-login-v2-card:has(.form-error){padding:14px 17px 12px}.login-page-campus-v2 .campus-login-v2-card-header,.login-page-campus-v2 .campus-login-v2-card:has(.form-error) .campus-login-v2-card-header{margin-bottom:8px}.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-card h2{font-size:23px}.login-page-campus-v2 .campus-login-v2-platform-name{font-size:11px}.login-page-campus-v2 .campus-login-v2-field-label,.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-field{height:46px;min-height:46px}.login-page-campus-v2 .campus-login-v2-card>.login-password-group,.login-page-campus-v2 .campus-login-v2-card:has(.form-error)>.login-password-group{margin-top:7px}.login-page-campus-v2 .campus-login-v2-submit{min-height:46px}}@media(prefers-reduced-motion:reduce){.login-page-campus-v2 *,.login-page-campus-v2 *:before,.login-page-campus-v2 *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.login-page-campus-v2 .campus-login-v2-submit,.login-page-campus-v2 .campus-login-v2-submit-icon{transform:none!important}}@media(forced-colors:active){.login-page-campus-v2 .campus-login-v2-story{color:CanvasText;background-color:Canvas}.login-page-campus-v2 .campus-login-v2-brand-logo,.login-page-campus-v2 .campus-login-v2-brand-logo-fallback,.login-page-campus-v2 .campus-login-v2-feature-visual,.login-page-campus-v2 .campus-login-v2-card-frame,.login-page-campus-v2 .campus-login-v2-field,.login-page-campus-v2 .campus-login-v2-submit{border:2px solid CanvasText;color:CanvasText;background:Canvas;box-shadow:none;forced-color-adjust:auto}.login-page-campus-v2 .campus-login-v2-brand-name,.login-page-campus-v2 .campus-login-v2-headline,.login-page-campus-v2 .campus-login-v2-headline>h1,.login-page-campus-v2 .campus-login-v2-headline .accent,.login-page-campus-v2 .campus-login-v2-subheadline,.login-page-campus-v2 .campus-login-v2-feature-copy>strong,.login-page-campus-v2 .campus-login-v2-feature-copy>span,.login-page-campus-v2 .campus-login-v2-feature-copy>small,.login-page-campus-v2 .campus-login-v2-wall-copy,.login-page-campus-v2 .campus-login-v2-card-header>h2,.login-page-campus-v2 .campus-login-v2-platform-name,.login-page-campus-v2 .campus-login-v2-card input,.login-page-campus-v2 .campus-login-v2-field-icon,.login-page-campus-v2 .campus-login-v2-visibility{color:CanvasText;text-shadow:none}.login-page-campus-v2 .campus-login-v2-field:focus-within,.login-page-campus-v2 .campus-login-v2-visibility:focus-visible,.login-page-campus-v2 .campus-login-v2-submit:focus-visible{outline:3px solid Highlight;outline-offset:2px}.login-page-campus-v2 .campus-login-v2-card-frame:before{background:transparent}.login-page-campus-v2 .campus-login-v2-wall-copy:after{background:CanvasText}.login-page-campus-v2 img.campus-login-v2-field-icon,.login-page-campus-v2 .campus-login-v2-visibility>img,.login-page-campus-v2 img.campus-login-v2-submit-icon{filter:none}}.public-content-page{display:grid;grid-template-rows:76px minmax(0,1fr);width:100%;height:100dvh;min-height:0;overflow:hidden;color:#172a45;background:#fff}.public-content-header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:20px;min-width:0;border-bottom:1px solid #e3eaf3;padding:0 clamp(20px,4vw,64px);background:var(--ui-surface-glass, rgba(255, 255, 255, .9));box-shadow:var(--ui-shadow-header, 0 8px 28px rgba(24, 67, 126, .07));backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%);-webkit-backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%)}.public-content-back,.public-content-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#31506f;font-size:14px;font-weight:750;text-decoration:none}.public-content-back{justify-self:start;border-radius:6px;padding:0 10px}.public-content-back:hover,.public-content-back:focus-visible{color:#1559b8;background:#edf5ff}.public-content-back svg,.public-content-tabs svg{width:18px;height:18px}.public-content-brand{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;color:#0c2f62;font-size:17px;font-weight:800}.public-content-brand img{flex:0 0 auto;width:40px;height:40px;border-radius:8px;object-fit:contain}.public-content-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-content-tabs{justify-self:end;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid #dbe5f1;border-radius:8px;padding:4px;background:#f2f6fb}.public-content-tabs a{min-width:110px;border-radius:6px;padding:0 12px;color:#5c6f86}.public-content-tabs a.active{color:#124f9f;background:#fff;box-shadow:0 3px 10px #1b48811a}.public-content-archive{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1080px,calc(100% - 48px));height:100%;min-height:0;margin:0 auto;padding:clamp(28px,5vh,54px) 0 24px}.public-content-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid #dfe7f1;padding:0 4px 20px}.public-content-title-row span{color:#3975bd;font-size:14px;font-weight:750}.public-content-title-row h1{margin:5px 0 0;color:#0b2e5e;font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:0}.public-content-title-row>strong{color:#52677f;font-size:14px}.public-content-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.public-content-load-more{display:flex;align-items:center;justify-content:center;width:min(240px,calc(100% - 24px));min-height:44px;margin:18px auto 4px;border:1px solid #b9cee7;border-radius:6px;color:#1559b8;background:#fff;font-size:14px;font-weight:750}.public-content-load-more:hover:not(:disabled),.public-content-load-more:focus-visible{border-color:#6f9fd8;background:#edf5ff}.public-content-load-more:disabled{cursor:wait;opacity:.65}.public-content-list-item{display:grid;grid-template-columns:132px minmax(0,1fr) 32px;align-items:center;gap:22px;min-height:128px;border-bottom:1px solid #e6ecf3;padding:16px 8px 16px 4px;color:inherit;text-decoration:none;transition:background-color .18s ease,padding .18s ease}.public-content-list-item:hover,.public-content-list-item:focus-visible{padding-left:12px;background:#f7faff}.public-content-list-item>img,.public-content-placeholder{width:132px;height:99px;border-radius:8px;object-fit:cover;background:#edf4fc}.public-content-placeholder{display:grid;place-items:center;color:#5d86ba}.public-content-placeholder svg{width:30px;height:30px}.public-content-list-copy{display:block;min-width:0}.public-content-list-copy>span{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:#52677f;font-size:13px}.public-content-list-copy>span svg{width:15px;height:15px}.public-content-list-copy>strong{display:block;overflow:hidden;color:#122f52;font-size:20px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.public-content-list-copy>small{display:-webkit-box;margin-top:6px;overflow:hidden;color:#586c84;font-size:14px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.public-content-list-arrow{width:20px;height:20px;color:#7590af;transition:color .18s ease,transform .18s ease}.public-content-list-item:hover .public-content-list-arrow,.public-content-list-item:focus-visible .public-content-list-arrow{color:#216ac5;transform:translate(3px)}.public-content-state{display:grid;place-items:center;align-content:center;gap:12px;min-height:220px;margin:0;padding:32px;color:#687b92;text-align:center}.public-content-state h1,.public-content-state p{margin:0}.public-content-state button,.public-content-state a{min-height:44px;border:1px solid #b9cee7;border-radius:6px;padding:10px 18px;color:#1559b8;background:#fff;font-weight:750;text-decoration:none}.public-content-detail-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.public-content-detail-scroll:focus-visible{outline:3px solid rgba(45,126,234,.48);outline-offset:-3px}.public-content-article{width:min(900px,calc(100% - 48px));margin:0 auto;padding:clamp(42px,7vh,76px) 0 72px}.public-content-article-kind{display:inline-block;color:#1960b8;font-size:14px;font-weight:800}.public-content-article h1{margin:12px 0 16px;color:#0b2850;font-size:clamp(32px,5vw,52px);line-height:1.22;letter-spacing:0;text-wrap:balance}.public-content-article-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:#52677f;font-size:14px}.public-content-article-summary{margin:28px 0 0;border-left:3px solid #2d7eea;padding:4px 0 4px 18px;color:#405c7c;font-size:18px;line-height:1.75}.public-content-article>img{display:block;width:100%;height:auto;max-height:620px;margin:34px 0;border-radius:8px;object-fit:contain;background:#f5f7fa}.public-content-article-body{display:grid;gap:18px;border-top:1px solid #e2e9f1;padding-top:30px;color:#263e5b;font-size:17px;line-height:1.95}.public-content-article-body p{margin:0}@media(max-width:760px){.public-content-page{grid-template-rows:116px minmax(0,1fr)}.public-content-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"back brand" "tabs tabs";gap:4px 12px;padding:8px 16px}.public-content-back{grid-area:back}.public-content-brand{grid-area:brand;justify-self:end}.public-content-brand img{width:34px;height:34px}.public-content-tabs{grid-area:tabs;justify-self:stretch}.public-content-tabs a{min-width:0;min-height:40px}.public-content-archive{width:calc(100% - 28px);padding-top:22px}.public-content-title-row{padding-bottom:14px}.public-content-title-row h1{font-size:28px}.public-content-list-item{grid-template-columns:92px minmax(0,1fr) 20px;gap:12px;min-height:108px;padding-block:12px}.public-content-list-item>img,.public-content-placeholder{width:92px;height:76px}.public-content-list-copy>strong{font-size:17px}.public-content-list-copy>small{font-size:13px;-webkit-line-clamp:1}.public-content-article{width:calc(100% - 32px);padding:34px 0 52px}.public-content-article h1{font-size:32px}}@media(max-width:480px){.public-content-brand span{display:none}.public-content-list-item{grid-template-columns:72px minmax(0,1fr)}.public-content-list-item>img,.public-content-placeholder{width:72px;height:72px}.public-content-list-arrow{display:none}}@media(prefers-reduced-motion:reduce){.public-content-list-item,.public-content-list-arrow{transition:none}}.student-growth-space{--growth-ink: #14243a;--growth-muted: #617087;--growth-line: #d9e1eb;--growth-blue: #2468c9;--growth-blue-soft: #edf4ff;--growth-coral: #d85b48;--growth-coral-soft: #fff0ec;--growth-mint: #0d7655;--growth-mint-soft: #eaf8f2;--growth-yellow: #9b6a00;--growth-yellow-soft: #fff7d9;--growth-blue-sheen: rgba(36, 104, 201, .14);--growth-coral-sheen: rgba(216, 91, 72, .14);--growth-mint-sheen: rgba(13, 118, 85, .14);--growth-yellow-sheen: rgba(155, 106, 0, .16);align-content:start;width:100%;height:100%;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 2px 32px;color:var(--growth-ink)}.app-layout.role-student .app-main>.student-growth-space{overflow-x:hidden;overflow-y:auto}.student-growth-space,.student-growth-space *{box-sizing:border-box;min-width:0;letter-spacing:0}.student-growth-space button,.student-growth-space label{font:inherit}.student-growth-overview{display:grid;gap:10px}.student-personal-space.student-growth-space.student-growth-overview>:last-child{min-height:initial;overflow:visible}.growth-profile-hero{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(560px,1.28fr);align-items:center;gap:18px;min-height:176px;overflow:hidden;border:1px solid #cdd9e8;border-radius:8px;padding:14px 18px;background:linear-gradient(90deg,rgba(36,104,201,.07) 0 31%,transparent 31%),#fff;box-shadow:0 12px 30px #1f385e14}.growth-profile-identity{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:14px}.growth-avatar-wrap{display:grid;justify-items:center;gap:2px}.growth-avatar-wrap>img,.growth-avatar-wrap>span{display:grid;width:84px;height:84px;place-items:center;overflow:hidden;border:4px solid #fff;border-radius:50%;color:#fff;background:var(--growth-blue);box-shadow:0 0 0 2px #b9cce8,0 8px 20px #1f51972e;font-size:31px;font-weight:950;object-fit:cover}.growth-avatar-button{position:relative;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:5px 8px;color:var(--growth-blue);font-size:13px;font-weight:900;white-space:nowrap;cursor:pointer}.growth-avatar-button:hover{color:#174b97}.growth-avatar-button:focus-within{outline:3px solid rgba(36,104,201,.24);outline-offset:2px}.growth-avatar-button svg{width:17px;height:17px}.growth-avatar-button input{position:absolute;width:1px;height:1px;opacity:0}.growth-profile-copy{display:grid;align-content:center;gap:4px}.growth-eyebrow,.growth-profile-copy>span,.growth-recent header span,.growth-honors header span,.growth-works-preview header span,.growth-portfolio-detail header>div>span{color:var(--growth-blue);font-size:13px;font-weight:900}.growth-profile-copy h1{margin:0;overflow-wrap:anywhere;color:var(--growth-ink);font-size:29px;line-height:1.15}.growth-profile-copy>p{margin:0;color:#40536b;font-size:15px;font-weight:800;line-height:1.5}.growth-identity-meta{display:flex;flex-wrap:wrap;gap:3px 14px;margin-top:3px}.growth-identity-meta span{display:inline-flex;align-items:center;gap:6px;color:var(--growth-muted);font-size:13px;line-height:1.5}.growth-identity-meta svg{width:16px;height:16px;flex:0 0 auto}.growth-level-seal{display:grid;width:86px;min-height:88px;place-content:center;justify-items:center;border:1px solid #e4c55c;border-radius:8px;padding:8px;color:#684700;background:var(--growth-yellow-soft);text-align:center;box-shadow:inset 0 -5px #d6a61626}.growth-level-seal span{font-size:22px;font-weight:950;line-height:1}.growth-level-seal strong{margin-top:4px;font-size:14px}.growth-level-seal small{margin-top:4px;color:#80611b;font-size:10px;font-weight:800;line-height:1.4}.growth-progress-band{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr);gap:14px;align-items:center;border-left:1px solid #cdd9e8;padding-left:18px}.growth-level-progress{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px}.growth-progress-copy{display:grid;gap:4px}.growth-progress-copy>span{color:var(--growth-blue);font-size:13px;font-weight:900}.growth-progress-copy>strong{color:var(--growth-ink);font-size:24px;line-height:1}.growth-progress-copy>strong small{color:var(--growth-muted);font-size:12px}.growth-progress-copy [role=progressbar]{width:100%;height:9px;overflow:hidden;border-radius:6px;background:#e7edf4}.growth-progress-copy [role=progressbar] span{display:block;height:100%;border-radius:inherit;background:var(--growth-blue)}.growth-progress-copy p{margin:0;color:var(--growth-muted);font-size:11px;line-height:1.4}.growth-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.growth-stat-grid article{display:grid;min-height:82px;place-content:center;justify-items:center;gap:3px;border-left:1px solid var(--growth-line);padding:5px;text-align:center}.growth-stat-grid article:first-child{border-left:0}.growth-stat-grid svg{box-sizing:content-box;width:18px;height:18px;border:1px solid color-mix(in srgb,var(--growth-blue) 24%,#fff);border-radius:9px;padding:6px;color:var(--growth-blue);background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.95),transparent 34%),linear-gradient(145deg,#fff,var(--growth-blue-soft));box-shadow:inset 0 -3px 7px var(--growth-blue-sheen),0 5px 12px #1f385e17}.growth-stat-grid article:nth-child(2) svg{border-color:color-mix(in srgb,var(--growth-yellow) 28%,#fff);color:var(--growth-yellow);background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.95),transparent 34%),linear-gradient(145deg,#fff,var(--growth-yellow-soft));box-shadow:inset 0 -3px 7px var(--growth-yellow-sheen),0 5px 12px #1f385e17}.growth-stat-grid article:nth-child(3) svg{border-color:color-mix(in srgb,var(--growth-mint) 26%,#fff);color:var(--growth-mint);background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.95),transparent 34%),linear-gradient(145deg,#fff,var(--growth-mint-soft));box-shadow:inset 0 -3px 7px var(--growth-mint-sheen),0 5px 12px #1f385e17}.growth-stat-grid article:nth-child(4) svg{border-color:color-mix(in srgb,var(--growth-coral) 26%,#fff);color:var(--growth-coral);background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.95),transparent 34%),linear-gradient(145deg,#fff,var(--growth-coral-soft));box-shadow:inset 0 -3px 7px var(--growth-coral-sheen),0 5px 12px #1f385e17}.growth-stat-grid strong{color:var(--growth-ink);font-size:21px;line-height:1.1}.growth-stat-grid span{color:var(--growth-muted);font-size:11px;font-weight:800}.growth-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.growth-destinations>button{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:86px;border:1px solid var(--growth-line);border-top:4px solid var(--growth-blue);border-radius:8px;padding:10px 12px;color:var(--growth-ink);background:#fff;text-align:left;cursor:pointer;box-shadow:0 7px 18px #1f385e0f;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.growth-destinations>button:hover,.growth-destinations>button:focus-visible{border-color:#9db7da;outline:0;box-shadow:0 11px 24px #1f385e1c;transform:translateY(-2px)}.growth-destinations>button.is-achievements{border-top-color:var(--growth-coral)}.growth-destinations>button.is-portfolio{border-top-color:var(--growth-mint)}.growth-destinations>button.is-ranking{border-top-color:#b78005}.growth-destinations>button>span:first-child{position:relative;display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--growth-blue) 22%,#fff);border-radius:12px;color:var(--growth-blue);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.92),transparent 32%),linear-gradient(145deg,#fff,var(--growth-blue-soft));box-shadow:inset 0 -5px 10px var(--growth-blue-sheen),0 6px 14px #1f385e1a}.growth-destinations>button>span:first-child:after{content:"";position:absolute;top:7px;left:8px;width:15px;height:5px;border-radius:999px;background:#ffffffc2;transform:rotate(-24deg);pointer-events:none}.growth-destinations .is-achievements>span:first-child{border-color:color-mix(in srgb,var(--growth-coral) 24%,#fff);color:var(--growth-coral);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.92),transparent 32%),linear-gradient(145deg,#fff,var(--growth-coral-soft));box-shadow:inset 0 -5px 10px var(--growth-coral-sheen),0 6px 14px #1f385e1a}.growth-destinations .is-portfolio>span:first-child{border-color:color-mix(in srgb,var(--growth-mint) 24%,#fff);color:var(--growth-mint);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.92),transparent 32%),linear-gradient(145deg,#fff,var(--growth-mint-soft));box-shadow:inset 0 -5px 10px var(--growth-mint-sheen),0 6px 14px #1f385e1a}.growth-destinations .is-ranking>span:first-child{border-color:color-mix(in srgb,var(--growth-yellow) 28%,#fff);color:var(--growth-yellow);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.92),transparent 32%),linear-gradient(145deg,#fff,var(--growth-yellow-soft));box-shadow:inset 0 -5px 10px var(--growth-yellow-sheen),0 6px 14px #1f385e1a}.growth-destinations>button>span svg{width:22px;height:22px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.55))}.growth-destinations>button>svg{width:20px;height:20px;color:#7d8ca0}.growth-destinations>button div{display:grid;gap:2px}.growth-destinations>button small{color:var(--growth-muted);font-size:11px;font-weight:800}.growth-destinations>button strong{color:var(--growth-ink);font-size:17px;line-height:1.3}.growth-destinations>button p{margin:0;overflow-wrap:anywhere;color:var(--growth-muted);font-size:12px;line-height:1.45}.growth-overview-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.growth-recent,.growth-honors,.growth-works-preview,.growth-records,.growth-achievements,.growth-portfolio,.growth-ranking,.growth-portfolio-detail{border:1px solid var(--growth-line);border-radius:8px;padding:14px;background:#fff;box-shadow:0 8px 22px #1f385e0d}.growth-recent>header,.growth-honors>header,.growth-works-preview>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}.growth-recent header h2,.growth-honors header h2,.growth-works-preview header h2{margin:2px 0 0;color:var(--growth-ink);font-size:18px}.growth-recent header button,.growth-honors header button,.growth-works-preview header button{display:inline-flex;min-height:44px;align-items:center;gap:4px;border:0;padding:7px 4px;color:var(--growth-blue);background:transparent;font-size:13px;font-weight:900;cursor:pointer}.growth-recent header button svg,.growth-honors header button svg,.growth-works-preview header button svg{width:17px;height:17px}.growth-recent>div:not(.empty-state){display:grid}.growth-recent article{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:50px;border-top:1px solid #e7ebf1;padding:4px 0}.growth-recent article:first-child{border-top:0}.growth-recent article>span{position:relative;display:grid;width:34px;height:34px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--growth-blue) 22%,#fff);border-radius:10px;color:var(--growth-blue);background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.94),transparent 33%),linear-gradient(145deg,#fff,var(--growth-blue-soft));box-shadow:inset 0 -4px 8px var(--growth-blue-sheen),0 5px 11px #1f385e14}.growth-recent article>span:after{content:"";position:absolute;top:6px;left:7px;width:12px;height:4px;border-radius:999px;background:#ffffffc7;transform:rotate(-24deg);pointer-events:none}.growth-recent article svg{width:18px;height:18px}.growth-recent article div{overflow:hidden}.growth-recent article strong{display:block;overflow:hidden;color:var(--growth-ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.growth-recent article p{margin:3px 0 0;overflow:hidden;color:var(--growth-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.growth-recent article time{color:var(--growth-muted);font-size:11px;white-space:nowrap}.growth-recent article em{color:var(--growth-blue);font-size:13px;font-style:normal;font-weight:900;white-space:nowrap}.growth-honor-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.growth-honor-row article{display:grid;min-height:76px;justify-items:center;align-content:center;border:1px solid #e5e9ef;border-radius:8px;padding:5px;background:#fbfcfe;text-align:center}.achievement-emblem{--achievement-emblem-size: 64px;--achievement-emblem-category: #2468c9;--achievement-emblem-soft: #eaf2ff;--achievement-emblem-rarity: #8b96a6;position:relative;display:inline-grid;flex:0 0 auto;width:var(--achievement-emblem-size);height:var(--achievement-emblem-size);place-items:center;isolation:isolate;filter:drop-shadow(0 5px 7px rgba(24,45,76,.2))}.achievement-emblem[data-size=compact]{--achievement-emblem-size: 38px}.achievement-emblem[data-size=large]{--achievement-emblem-size: 78px}.achievement-emblem[data-category=homework]{--achievement-emblem-category: #c65a21;--achievement-emblem-soft: #fff0e8}.achievement-emblem[data-category=typing]{--achievement-emblem-category: #0d7655;--achievement-emblem-soft: #e8f7f1}.achievement-emblem[data-category=creation]{--achievement-emblem-category: #9b6a00;--achievement-emblem-soft: #fff5c9}.achievement-emblem[data-category=hidden]{--achievement-emblem-category: #34486f;--achievement-emblem-soft: #e9edf6}.achievement-emblem[data-rarity=uncommon]{--achievement-emblem-rarity: #24a67b}.achievement-emblem[data-rarity=rare]{--achievement-emblem-rarity: #2d7eea}.achievement-emblem[data-rarity=epic]{--achievement-emblem-rarity: #e46b2c}.achievement-emblem[data-rarity=legendary]{--achievement-emblem-rarity: #d3a008}.achievement-emblem-metal{position:relative;display:grid;width:100%;height:100%;place-items:center;border:0;border-radius:0;padding:9%;background:linear-gradient(145deg,rgba(255,255,255,.88),transparent 30%),conic-gradient(from 215deg,#687486,#f8fbff 14%,var(--achievement-emblem-rarity) 31%,#566273 47%,#fff 63%,var(--achievement-emblem-rarity) 81%,#677385);box-shadow:inset 0 1px #ffffffe6;clip-path:polygon(25% 3%,75% 3%,97% 25%,97% 75%,75% 97%,25% 97%,3% 75%,3% 25%)}.achievement-emblem[data-art=generated] .achievement-emblem-metal{padding:0;background:transparent;box-shadow:none;clip-path:none}.achievement-emblem-core{display:grid;width:100%;height:100%;place-items:center;border:1px solid color-mix(in srgb,var(--achievement-emblem-category) 38%,#fff);border-radius:0;color:var(--achievement-emblem-category);background:radial-gradient(circle at 34% 25%,rgba(255,255,255,.96),rgba(255,255,255,.18) 31%,transparent 32%),var(--achievement-emblem-soft);box-shadow:inset 0 0 0 2px #ffffffb8,inset 0 -5px 12px #1b304d14;clip-path:polygon(25% 3%,75% 3%,97% 25%,97% 75%,75% 97%,25% 97%,3% 75%,3% 25%)}.achievement-emblem-image{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.18)}.achievement-emblem-core svg{width:52%;height:52%;stroke-width:2.25}.achievement-emblem-shine{position:absolute;z-index:2;top:13%;left:20%;width:26%;height:9%;border-radius:999px;background:#ffffffc2;transform:rotate(-25deg);pointer-events:none}.achievement-emblem-lock{position:absolute;z-index:3;right:-2%;bottom:-1%;width:30%;height:30%;border:2px solid #fff;border-radius:50%;padding:4%;color:#fff;background:#637087;box-shadow:0 2px 6px #14233a3d}.achievement-emblem[data-state=locked] .achievement-emblem-metal{filter:grayscale(.55);opacity:.7}.achievement-emblem[data-state=locked][data-art=generated] .achievement-emblem-metal{filter:none;opacity:1}.achievement-emblem[data-state=locked][data-art=generated] .achievement-emblem-image{filter:grayscale(.52) saturate(.82);opacity:.68}.achievement-emblem[data-state=concealed] .achievement-emblem-core{border-color:#597095;color:#dbe7ff;background:radial-gradient(circle at 40% 28%,#385981,#172c4e 68%)}.achievement-emblem[data-state=concealed] .achievement-emblem-shine{opacity:.38}.achievement-emblem[data-art=generated] .achievement-emblem-shine{opacity:.18}.student-growth-space .achievement-badge .achievement-medal,.student-growth-space .achievement-badge.unlocked .achievement-medal,.student-growth-space .achievement-badge.concealed .achievement-medal{display:grid;width:64px;height:64px;place-items:center;margin-top:7px;border-radius:50%;background:transparent}.growth-honor-row .achievement-emblem{margin-bottom:2px}.growth-honor-row strong{margin-top:2px;overflow-wrap:anywhere;color:var(--growth-ink);font-size:12px;line-height:1.35}.growth-honor-row small{margin-top:2px;color:var(--growth-yellow);font-size:10px;font-weight:900}.growth-next-goal{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:6px;border-left:4px solid var(--growth-mint);border-radius:4px;padding:6px 10px;background:var(--growth-mint-soft)}.growth-next-goal>span{position:relative;display:grid;width:36px;height:36px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--growth-mint) 24%,#fff);border-radius:11px;color:var(--growth-mint);background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.94),transparent 33%),linear-gradient(145deg,#fff,var(--growth-mint-soft));box-shadow:inset 0 -4px 8px var(--growth-mint-sheen),0 5px 11px #1f385e14}.growth-next-goal svg{width:22px;height:22px}.growth-next-goal div{display:grid;gap:1px}.growth-next-goal div small{color:var(--growth-mint);font-size:10px;font-weight:900}.growth-next-goal div strong{color:var(--growth-ink);font-size:14px}.growth-next-goal p{margin:2px 0 0;overflow:hidden;color:#4e685f;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.growth-next-goal>strong{display:grid;color:var(--growth-mint);font-size:19px;text-align:right}.growth-next-goal>strong small{font-size:11px}.growth-works-preview>div:not(.growth-works-empty){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.growth-works-preview>div:not(.growth-works-empty)>button{display:grid;grid-template-columns:42px minmax(0,1fr) auto 18px;align-items:center;gap:9px;min-height:72px;border:1px solid #dce4ed;border-radius:8px;padding:9px;color:var(--growth-ink);background:#f9fbfd;text-align:left;cursor:pointer}.growth-works-preview>div:not(.growth-works-empty)>button:hover,.growth-works-preview>div:not(.growth-works-empty)>button:focus-visible{border-color:#7fac97;outline:3px solid rgba(18,128,94,.16);outline-offset:1px}.growth-works-preview>div:not(.growth-works-empty)>button>span{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:var(--growth-mint);background:var(--growth-mint-soft)}.growth-works-preview>div:not(.growth-works-empty)>button>span svg{width:22px;height:22px}.growth-works-preview>div:not(.growth-works-empty)>button div{display:grid;gap:2px;overflow:hidden}.growth-works-preview>div:not(.growth-works-empty)>button div small{color:var(--growth-mint);font-size:10px;font-weight:900}.growth-works-preview>div:not(.growth-works-empty)>button div strong{overflow:hidden;color:var(--growth-ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.growth-works-preview>div:not(.growth-works-empty)>button div p{margin:0;overflow:hidden;color:var(--growth-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.growth-works-preview>div:not(.growth-works-empty)>button em{display:grid;color:var(--growth-mint);font-size:18px;font-style:normal;font-weight:950;text-align:center}.growth-works-preview>div:not(.growth-works-empty)>button em small{color:var(--growth-muted);font-size:9px}.growth-works-preview>div:not(.growth-works-empty)>button>svg{width:18px;height:18px;color:#8090a4}.growth-works-empty{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:72px;border:1px dashed #b9c9d9;border-radius:8px;padding:8px 12px;background:#f8fafc}.growth-works-empty>svg{box-sizing:content-box;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--growth-mint) 24%,#fff);border-radius:13px;padding:10px;color:var(--growth-mint);background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.94),transparent 33%),linear-gradient(145deg,#fff,var(--growth-mint-soft));box-shadow:inset 0 -5px 10px var(--growth-mint-sheen),0 6px 14px #1f385e1a}.growth-works-empty strong{color:var(--growth-ink);font-size:15px}.growth-works-empty p{margin:4px 0 0;color:var(--growth-muted);font-size:12px;line-height:1.5}.growth-works-empty button{min-height:44px;border:1px solid var(--growth-mint);border-radius:8px;padding:8px 14px;color:#fff;background:var(--growth-mint);font-size:13px;font-weight:900;cursor:pointer}.student-growth-space .growth-gem-icon{--gem-color: var(--growth-blue);--gem-soft: var(--growth-blue-soft);--gem-sheen: var(--growth-blue-sheen);--gem-rim: color-mix(in srgb, var(--gem-color) 34%, #fff);--gem-base: color-mix(in srgb, var(--gem-color) 22%, var(--gem-soft));position:relative;display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid var(--gem-rim);border-radius:14px;color:var(--gem-color);background:radial-gradient(circle at 31% 20%,rgba(255,255,255,.96) 0 14%,rgba(255,255,255,.52) 15% 28%,transparent 42%),linear-gradient(145deg,#fff 0%,var(--gem-soft) 48%,var(--gem-base) 100%);box-shadow:inset 0 1px #ffffffeb,inset 0 -7px 13px var(--gem-sheen),0 8px 16px #1f385e21}.student-growth-space .growth-gem-icon:before{content:"";position:absolute;top:8px;left:9px;width:16px;height:5px;border-radius:999px;background:#ffffffd1;transform:rotate(-24deg);pointer-events:none}.student-growth-space .growth-gem-icon:after{content:"";position:absolute;right:-18%;bottom:-20%;width:58%;height:58%;border-radius:50%;background:color-mix(in srgb,var(--gem-color) 16%,transparent);filter:blur(1px);pointer-events:none}.student-growth-space .growth-gem-icon svg,.student-growth-space .growth-stat-grid .growth-gem-icon svg,.student-growth-space .growth-destinations>button>.growth-gem-icon svg,.student-growth-space .growth-recent article>.growth-gem-icon svg,.student-growth-space .growth-next-goal>.growth-gem-icon svg,.student-growth-space .growth-works-preview>div:not(.growth-works-empty)>button>.growth-gem-icon svg,.student-growth-space .growth-works-empty>.growth-gem-icon svg{position:relative;z-index:1;box-sizing:border-box;width:52%;height:52%;border:0;border-radius:0;padding:0;color:currentColor;background:none;box-shadow:none;stroke-width:2.35;filter:drop-shadow(0 1px 0 rgba(255,255,255,.68))}.student-growth-space .growth-gem-icon.is-coral{--gem-color: var(--growth-coral);--gem-soft: var(--growth-coral-soft);--gem-sheen: var(--growth-coral-sheen)}.student-growth-space .growth-gem-icon.is-mint{--gem-color: var(--growth-mint);--gem-soft: var(--growth-mint-soft);--gem-sheen: var(--growth-mint-sheen)}.student-growth-space .growth-gem-icon.is-yellow{--gem-color: var(--growth-yellow);--gem-soft: var(--growth-yellow-soft);--gem-sheen: var(--growth-yellow-sheen)}.student-growth-space .growth-stat-grid .growth-gem-icon{width:38px;height:38px;border-radius:13px}.student-growth-space .growth-destinations>button{grid-template-columns:50px minmax(0,1fr) 18px;min-height:92px}.student-growth-space .growth-destinations>button>.growth-gem-icon{width:48px;height:48px;border-radius:16px}.student-growth-space .growth-recent article{grid-template-columns:40px minmax(0,1fr) auto auto}.student-growth-space .growth-recent article>.growth-gem-icon{width:36px;height:36px;border-radius:13px}.student-growth-space .growth-next-goal{grid-template-columns:40px minmax(0,1fr) auto}.student-growth-space .growth-next-goal>.growth-gem-icon{width:38px;height:38px;border-radius:14px}.student-growth-space .growth-works-preview>div:not(.growth-works-empty)>button>.growth-gem-icon{width:44px;height:44px;border-radius:15px}.student-growth-space .growth-works-empty{grid-template-columns:52px minmax(0,1fr) auto}.student-growth-space .growth-works-empty>.growth-gem-icon{width:48px;height:48px;border-radius:16px}.growth-recent>.empty-state,.growth-honors>.empty-state{min-height:76px;border-radius:8px;padding:10px}.growth-recent>.empty-state strong,.growth-honors>.empty-state strong{font-size:15px}.growth-recent>.empty-state p,.growth-honors>.empty-state p{margin-top:3px;font-size:12px;line-height:1.4}.student-growth-subpage{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.growth-subpage-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;min-height:104px;border-bottom:1px solid var(--growth-line);padding:4px 2px 16px}.growth-subpage-header.is-course-review-header{display:flex;align-items:center;justify-content:space-between;min-height:58px;border-bottom:0;padding:0 2px}.growth-subpage-header>div{border-left:4px solid var(--growth-blue);padding-left:18px}.growth-subpage-header h1{margin:0;color:var(--growth-ink);font-size:29px;line-height:1.2}.growth-back-button{display:inline-flex;width:fit-content;max-width:100%;min-height:44px;align-items:center;gap:7px;border:1px solid #b9c8da;border-radius:8px;padding:8px 13px;color:var(--growth-blue);background:#fff;font-size:13px;font-weight:900;cursor:pointer}.growth-back-button:hover,.growth-back-button:focus-visible{border-color:var(--growth-blue);outline:3px solid rgba(36,104,201,.16);outline-offset:2px}.growth-back-button svg{width:18px;height:18px;flex:0 0 auto}.growth-subpage-count{display:grid;justify-items:end;color:var(--growth-blue);font-size:30px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.growth-subpage-count small{margin-top:5px;color:var(--growth-muted);font-size:11px;font-weight:800}.growth-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;border:1px solid #dbe3ec;border-radius:8px;padding:10px;background:#f7f9fc}.growth-summary-strip span{display:grid;min-height:58px;place-content:center;justify-items:center;border-left:1px solid #d9e1eb;color:var(--growth-muted);font-size:11px;font-weight:800}.growth-summary-strip span:first-child{border-left:0}.growth-summary-strip strong{color:var(--growth-ink);font-size:22px}.growth-record-list{display:grid;gap:8px}.growth-record-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto 68px 106px;align-items:center;gap:12px;min-height:88px;border:1px solid #dfe6ee;border-radius:8px;padding:12px 14px;background:#fff}.growth-record-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:8px;color:var(--growth-blue);background:var(--growth-blue-soft)}.growth-record-icon.is-homework{color:var(--growth-coral);background:var(--growth-coral-soft)}.growth-record-icon.is-typing{color:var(--growth-mint);background:var(--growth-mint-soft)}.growth-record-icon svg{width:23px;height:23px}.growth-record-row>div{overflow:hidden}.growth-record-row>div>span{color:var(--growth-blue);font-size:10px;font-weight:900}.growth-record-row h2{margin:3px 0 0;overflow:hidden;color:var(--growth-ink);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.growth-record-row p{margin:3px 0 0;overflow:hidden;color:var(--growth-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.growth-record-row time{color:var(--growth-muted);font-size:11px;white-space:nowrap}.growth-record-row>strong{display:grid;color:var(--growth-blue);font-size:20px;text-align:right}.growth-record-row>strong small{color:var(--growth-muted);font-size:9px}.growth-record-row>button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:3px;border:1px solid #b7c9e2;border-radius:8px;padding:7px 10px;color:var(--growth-blue);background:var(--growth-blue-soft);font-size:12px;font-weight:900;cursor:pointer}.growth-record-row>button svg{width:15px;height:15px}.growth-achievements{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);align-items:start;gap:14px}.student-growth-space .growth-achievements .achievement-tabs{display:grid;grid-template-columns:1fr;gap:7px;margin:0;overflow:visible;padding:0}.student-growth-space .growth-achievements .achievement-tab,.student-growth-space .growth-achievements .achievement-panel,.student-growth-space .growth-achievements .achievement-badge{border-radius:8px}.student-growth-space .growth-achievements .achievement-tab{width:100%;min-height:62px}.student-growth-space .growth-achievements .achievement-tab-art{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;overflow:hidden;border:1px solid rgba(213,194,158,.42);border-radius:12px;background:#fffaf2;box-shadow:inset 0 1px #ffffffe6,0 4px 10px #25375114}.student-growth-space .growth-achievements .achievement-tab-art img{width:38px;height:38px;object-fit:contain}.student-growth-space .growth-achievements .achievement-panel-icon{overflow:hidden;background:#fffaf2}.student-growth-space .growth-achievements .achievement-panel-icon img{width:54px;height:54px;object-fit:contain}.student-growth-space .growth-achievements .achievement-badge{grid-template-columns:68px minmax(0,1fr)}.student-growth-space .growth-achievements .achievement-panel{min-height:100%}.student-growth-space .growth-achievements .achievement-panel>header h2{font-size:23px}.student-growth-space .growth-achievements .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-portfolio .growth-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.growth-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.growth-portfolio-card{position:relative;display:grid;grid-template-rows:auto auto auto minmax(42px,auto) auto;align-content:start;min-height:232px;overflow:hidden;border:1px solid #d9e3e0;border-top:5px solid var(--growth-mint);border-radius:8px;padding:16px;color:var(--growth-ink);background:#fff;text-align:left;cursor:pointer;box-shadow:0 7px 18px #1f385e0d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.growth-portfolio-card:hover,.growth-portfolio-card:focus-visible{border-color:#76a997;outline:3px solid rgba(18,128,94,.16);outline-offset:1px;box-shadow:0 12px 24px #1f385e1a;transform:translateY(-2px)}.growth-work-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;color:var(--growth-mint);background:var(--growth-mint-soft)}.growth-work-mark svg{width:24px;height:24px}.growth-work-score{position:absolute;top:16px;right:16px;color:var(--growth-mint);font-size:14px;font-weight:950}.growth-work-lesson{margin-top:12px;overflow:hidden;color:var(--growth-mint);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.growth-portfolio-card>strong{margin-top:4px;overflow-wrap:anywhere;color:var(--growth-ink);font-size:19px;line-height:1.35}.growth-portfolio-card>p{display:-webkit-box;margin:6px 0 14px;overflow:hidden;color:var(--growth-muted);font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.growth-work-footer{display:flex;align-self:end;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e5ebe9;padding-top:10px;color:var(--growth-muted);font-size:11px}.growth-work-footer>span{display:inline-flex;align-items:center;gap:3px;color:var(--growth-mint);font-weight:900}.growth-work-footer svg{width:14px;height:14px}.growth-ranking-summary{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:8px;margin-bottom:16px}.growth-ranking-summary>div{display:grid;min-height:112px;place-content:center;justify-items:center;gap:4px;border:1px solid #dfe5ed;border-radius:8px;padding:12px;background:#f9fbfd;text-align:center}.growth-ranking-summary>div:first-child{color:#fff;border-color:#1c569f;background:#1f5eae}.growth-ranking-summary svg{width:24px;height:24px;color:var(--growth-blue)}.growth-ranking-summary span{color:var(--growth-muted);font-size:11px;font-weight:800}.growth-ranking-summary strong{color:var(--growth-ink);font-size:26px;line-height:1.1}.growth-ranking-summary strong small{font-size:11px}.growth-ranking-summary>div:first-child span,.growth-ranking-summary>div:first-child strong,.growth-ranking-summary>div:first-child small{color:#fff}.growth-ranking-summary>div>small{color:#d9e9ff;font-size:12px;font-weight:900}.growth-ranking-list{display:grid;gap:7px}.growth-ranking-list article{display:grid;grid-template-columns:62px 42px minmax(0,1fr) 76px 76px 66px;align-items:center;gap:10px;min-height:74px;border:1px solid #dfe5ed;border-radius:8px;padding:10px 13px;background:#fff}.growth-ranking-list article.is-me{border-color:#7ca7df;background:var(--growth-blue-soft)}.growth-rank-position{display:grid;place-items:center;color:var(--growth-yellow);font-size:20px;font-weight:950}.growth-rank-position svg{width:25px;height:25px}.growth-rank-position small{margin-top:2px;color:var(--growth-muted);font-size:9px;white-space:nowrap}.growth-rank-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:var(--growth-blue);font-size:17px;font-weight:950}.growth-ranking-list h2{margin:0;color:var(--growth-ink);font-size:15px}.growth-ranking-list h2 span{display:inline-grid;min-width:25px;height:20px;place-items:center;margin-left:6px;border-radius:4px;color:#fff;background:var(--growth-blue);font-size:10px;vertical-align:middle}.growth-ranking-list p{margin:3px 0 0;overflow:hidden;color:var(--growth-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.growth-ranking-list article>strong{display:grid;color:var(--growth-ink);font-size:16px;text-align:center}.growth-ranking-list article>strong small{color:var(--growth-muted);font-size:9px}.growth-portfolio-detail{display:grid;grid-template-rows:auto auto minmax(360px,1fr);gap:14px}.growth-portfolio-detail>header{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;border-bottom:1px solid var(--growth-line);padding-bottom:16px}.growth-portfolio-detail-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:8px;color:var(--growth-mint);background:var(--growth-mint-soft)}.growth-portfolio-detail-icon svg{width:30px;height:30px}.growth-portfolio-detail h1{margin:3px 0 0;overflow-wrap:anywhere;color:var(--growth-ink);font-size:27px}.growth-portfolio-detail header p{margin:5px 0 0;overflow-wrap:anywhere;color:var(--growth-muted);font-size:13px;line-height:1.55}.growth-portfolio-score{display:grid;min-width:90px;text-align:right}.growth-portfolio-score strong{color:var(--growth-mint);font-size:30px}.growth-portfolio-score small{color:var(--growth-muted);font-size:10px}.growth-portfolio-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px}.growth-portfolio-meta>span{display:inline-flex;align-items:center;gap:5px;color:var(--growth-muted);font-size:12px}.growth-portfolio-meta svg{width:17px;height:17px}.growth-portfolio-meta button{display:inline-flex;min-height:44px;align-items:center;gap:7px;margin-left:auto;border:1px solid var(--growth-mint);border-radius:8px;padding:8px 15px;color:#fff;background:var(--growth-mint);font-size:13px;font-weight:900;cursor:pointer}.growth-portfolio-meta button:disabled{cursor:wait;opacity:.65}.growth-code-viewer{min-height:360px;overflow:auto;border:1px solid #25354a;border-radius:8px;background:#101d2d}.growth-code-viewer .python-code-readonly{min-width:max-content;min-height:100%;margin:0;border:0;border-radius:0;padding:18px}.student-growth-review{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.student-growth-review.student-code-review-page{grid-template-rows:minmax(0,1fr)}.student-growth-review>.student-review-native{min-height:0;overflow:auto}.student-growth-review>.course-review-detail{min-height:0}.course-review-detail.is-standalone{height:100%;gap:0}.student-review-native{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;min-height:0;overflow:hidden;padding:16px 20px 20px}.student-review-native.student-scratch-project-review{grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.student-growth-review>.student-review-native.student-scratch-project-review{overflow:hidden}.student-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}.student-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.student-review-back{flex:0 0 auto}.student-review-native>.student-practice-native{min-height:0}.student-review-native>.review-note{width:min(100%,1480px);margin-inline:auto}.student-review-actions>button{display:inline-flex;min-height:44px;align-items:center;gap:7px;border:1px solid var(--growth-mint);border-radius:8px;padding:8px 13px;color:#fff;background:var(--growth-mint);font-size:12px;font-weight:900;cursor:pointer}.student-review-actions>button svg{width:18px;height:18px}.student-review-actions>button:disabled{cursor:wait;opacity:.65}@media(max-width:1260px){.growth-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-works-preview>div:not(.growth-works-empty){grid-template-columns:1fr}.growth-works-preview>div:not(.growth-works-empty)>button{min-height:78px}.growth-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.growth-profile-hero{grid-template-columns:1fr}.growth-progress-band{border-top:1px solid #cdd9e8;border-left:0;padding-top:14px;padding-left:0}}@media(max-width:980px){.student-growth-space{padding-bottom:24px}.growth-profile-hero{gap:18px;padding:22px}.growth-progress-band{grid-template-columns:1fr}.growth-stat-grid article:first-child{border-left:1px solid var(--growth-line)}.growth-overview-columns{grid-template-columns:1fr}.growth-record-row{grid-template-columns:46px minmax(0,1fr) auto 68px}.growth-record-row>button{grid-column:2 / -1;justify-self:end}.growth-achievements{grid-template-columns:1fr}.student-growth-space .growth-achievements .achievement-tabs{display:flex;overflow-x:auto;padding-bottom:4px}.student-growth-space .growth-achievements .achievement-tab{flex:0 0 190px}}@media(max-width:700px){.student-growth-overview{gap:12px}.growth-profile-hero{grid-template-columns:1fr;gap:14px;min-height:0;padding:18px 15px;background:#fff}.growth-profile-identity{grid-template-columns:94px minmax(0,1fr);gap:12px}.growth-avatar-wrap>img,.growth-avatar-wrap>span{width:74px;height:74px;font-size:27px}.growth-avatar-button{padding-inline:2px}.growth-avatar-button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.growth-profile-copy h1{font-size:26px}.growth-profile-copy>p{font-size:14px}.growth-identity-meta{display:grid;gap:3px}.growth-level-progress{grid-template-columns:74px minmax(0,1fr);gap:10px}.growth-level-seal{width:74px;min-height:72px;padding:7px}.growth-level-seal span{font-size:19px}.growth-level-seal strong{font-size:13px}.growth-progress-band{gap:12px;padding-top:12px}.growth-progress-copy>strong{font-size:23px}.growth-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-stat-grid article{min-height:76px;border:1px solid var(--growth-line);border-radius:8px}.growth-destinations{grid-template-columns:1fr;gap:8px}.growth-destinations>button{min-height:94px}.growth-recent,.growth-honors,.growth-works-preview,.growth-records,.growth-achievements,.growth-portfolio,.growth-ranking,.growth-portfolio-detail{padding:14px}.growth-recent>header,.growth-honors>header,.growth-works-preview>header{align-items:flex-start}.growth-recent header h2,.growth-honors header h2,.growth-works-preview header h2{font-size:18px}.growth-recent article{grid-template-columns:38px minmax(0,1fr) auto}.growth-recent article time{display:none}.growth-honor-row{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-next-goal{grid-template-columns:38px minmax(0,1fr)}.growth-next-goal>strong{grid-column:2;justify-self:start;text-align:left}.growth-next-goal p{white-space:normal}.growth-works-preview>div:not(.growth-works-empty)>button{grid-template-columns:42px minmax(0,1fr) auto}.growth-works-preview>div:not(.growth-works-empty)>button>svg{display:none}.growth-works-empty{grid-template-columns:42px minmax(0,1fr)}.growth-works-empty button{grid-column:1 / -1;width:100%}.growth-subpage-header{grid-template-columns:1fr;gap:10px}.growth-subpage-header>div{padding-left:13px}.growth-subpage-header h1{font-size:25px}.growth-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-summary-strip span{border:1px solid #d9e1eb;border-radius:6px}.growth-portfolio .growth-summary-strip{grid-template-columns:1fr 1fr}.growth-portfolio .growth-summary-strip span:last-child{grid-column:1 / -1}.growth-record-row{grid-template-columns:42px minmax(0,1fr) 58px;gap:9px;padding:11px}.growth-record-icon{width:42px;height:42px}.growth-record-row time{grid-column:2}.growth-record-row>strong{grid-row:1;grid-column:3}.growth-record-row>button{grid-column:2 / -1;width:100%}.student-growth-space .growth-achievements .achievement-grid,.growth-portfolio-grid{grid-template-columns:1fr}.growth-ranking-summary{grid-template-columns:1fr 1fr}.growth-ranking-summary>div:first-child{grid-column:1 / -1}.growth-ranking-list article{grid-template-columns:48px 38px minmax(0,1fr) 58px;gap:7px;padding:9px}.growth-ranking-list article>strong:nth-last-child(2),.growth-ranking-list article>strong:last-child{display:none}.growth-rank-avatar{width:38px;height:38px}.growth-portfolio-detail{grid-template-rows:auto auto minmax(300px,1fr)}.growth-portfolio-detail>header{grid-template-columns:50px minmax(0,1fr)}.growth-portfolio-detail-icon{width:50px;height:50px}.growth-portfolio-detail h1{font-size:22px}.growth-portfolio-score{grid-column:2;min-width:0;text-align:left}.growth-portfolio-meta button{width:100%;margin-left:0;justify-content:center}.growth-code-viewer{min-height:300px}.student-review-actions{width:100%;justify-content:flex-start}}@media(max-width:430px){.student-growth-space .growth-achievements .achievement-tab{flex-basis:176px}.student-growth-space .growth-achievements .achievement-panel>header{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px}.student-growth-space .growth-achievements .achievement-panel>header>strong{grid-column:2;justify-self:start}}@media(min-width:1261px)and (max-height:820px){.student-growth-space{padding-bottom:8px}.student-growth-overview{gap:8px}.growth-profile-hero{min-height:142px;gap:14px;padding:10px 14px}.growth-profile-identity{grid-template-columns:82px minmax(0,1fr);gap:12px}.growth-avatar-wrap>img,.growth-avatar-wrap>span{width:72px;height:72px;font-size:27px}.growth-profile-copy h1{font-size:25px}.growth-profile-copy>p{font-size:14px}.growth-profile-copy>span,.growth-identity-meta span{font-size:12px}.growth-progress-band{grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);gap:10px;padding-left:14px}.growth-level-progress{grid-template-columns:74px minmax(0,1fr);gap:8px}.growth-level-seal{width:74px;min-height:76px;padding:6px}.growth-level-seal span{font-size:19px}.growth-level-seal strong{margin-top:2px;font-size:13px}.growth-level-seal small{margin-top:2px;font-size:9px}.growth-progress-copy>strong{font-size:22px}.growth-stat-grid article{min-height:68px;padding:3px}.growth-stat-grid strong{font-size:19px}.growth-destinations{gap:8px}.growth-destinations>button{grid-template-columns:36px minmax(0,1fr) 16px;gap:8px;min-height:72px;padding:6px 10px}.growth-destinations>button>span:first-child{width:36px;height:36px}.growth-destinations>button>span svg{width:20px;height:20px}.growth-destinations>button strong{font-size:16px}.growth-overview-columns{gap:10px}.growth-recent,.growth-honors,.growth-works-preview{padding:8px}.growth-recent>header,.growth-honors>header,.growth-works-preview>header{margin-bottom:0}.growth-recent header h2,.growth-honors header h2,.growth-works-preview header h2{font-size:17px}.growth-recent article{min-height:40px;padding:2px 0}.growth-recent article>span{width:30px;height:30px}.growth-honor-row{gap:6px}.growth-honor-row article{min-height:62px;padding:3px}.growth-honor-row img{width:26px;height:26px}.growth-next-goal{grid-template-columns:32px minmax(0,1fr) auto;gap:6px;margin-top:4px;padding:4px 8px}.growth-next-goal>span{width:32px;height:32px}.growth-next-goal svg{width:20px;height:20px}.growth-works-preview>div:not(.growth-works-empty)>button{min-height:60px;padding:6px 8px}.growth-works-empty{min-height:60px;padding:6px 10px}.growth-recent>.empty-state,.growth-honors>.empty-state{min-height:60px;padding:6px}}@media(prefers-reduced-motion:reduce){.student-growth-space *,.student-growth-space *:before,.student-growth-space *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.student-growth-overview .growth-path-stats,.student-growth-overview .growth-portfolio-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-growth-overview .growth-path-stats{margin:2px 0 0}.student-growth-overview .growth-path-stats>div,.student-growth-overview .growth-portfolio-counts>div{display:grid;align-content:center;min-height:70px;border:1px solid #dce8f7;border-radius:15px;padding:9px;background:linear-gradient(145deg,#fff,#f2f7ff)}.student-growth-overview .growth-path-stats>div:nth-child(2),.student-growth-overview .growth-portfolio-counts>div:nth-child(2){border-color:#ffe0ca;background:linear-gradient(145deg,#fff,#fff4e9)}.student-growth-overview .growth-path-stats>div:nth-child(3),.student-growth-overview .growth-portfolio-counts>div:nth-child(3){border-color:#c9efe7;background:linear-gradient(145deg,#fff,#effcf8)}.student-growth-overview .growth-path-stats strong,.student-growth-overview .growth-portfolio-counts strong{color:var(--growth-ink);font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.student-growth-overview .growth-path-stats span,.student-growth-overview .growth-portfolio-counts span{margin-top:6px;color:var(--growth-muted);font-size:11px;font-weight:800}.student-growth-overview .growth-learning-path .growth-feature-link,.student-growth-overview .growth-works-preview .growth-feature-link{min-height:76px}.growth-record-row{min-height:98px}.growth-record-review{display:block;overflow:hidden;color:#506782!important;font-size:11px!important;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.growth-record-review strong{margin-right:6px;color:var(--growth-blue);font-size:10px}.growth-record-photos{display:flex;gap:5px;margin-top:7px}.growth-record-photos img{width:48px;height:36px;border:2px solid #fff;border-radius:9px;object-fit:cover;box-shadow:0 3px 9px #1f385e29}.student-growth-space .growth-achievements .achievement-badge{border:2px solid #ffd2df;border-top-width:2px;border-radius:24px;padding:14px;background:linear-gradient(145deg,#fff,#fff4f8);box-shadow:0 10px 20px #f07e9d1f,inset 0 1px #fffffff2}.student-growth-space .growth-achievements .achievement-badge:before{position:absolute;right:-30px;bottom:-36px;width:110px;height:90px;border-radius:50%;background:#ffabc62e;content:"";transform:rotate(-18deg);pointer-events:none}.student-growth-space .growth-achievements .achievement-badge.rarity-uncommon{border-color:#a9eadb;background:linear-gradient(145deg,#fff,#effcf9)}.student-growth-space .growth-achievements .achievement-badge.rarity-uncommon:before{background:#5be0c92e}.student-growth-space .growth-achievements .achievement-badge.rarity-rare{border-color:#b9d5ff;background:linear-gradient(145deg,#fff,#f1f6ff)}.student-growth-space .growth-achievements .achievement-badge.rarity-rare:before{background:#76a9ff30}.student-growth-space .growth-achievements .achievement-badge.rarity-epic{border-color:#d7c0ff;background:linear-gradient(145deg,#fff,#f8f2ff)}.student-growth-space .growth-achievements .achievement-badge.rarity-epic:before{background:#bd8cff2e}.student-growth-space .growth-achievements .achievement-badge.rarity-legendary{border-color:#ffd88b;background:linear-gradient(145deg,#fff,#fff8e8)}.student-growth-space .growth-achievements .achievement-badge.rarity-legendary:before{background:#ffca5b33}.student-growth-space .growth-achievements .achievement-rarity{top:9px;right:10px;border:1px solid rgba(255,255,255,.75);padding:4px 8px;color:#d45578;background:#ffdce7;font-size:10px;letter-spacing:.04em}.student-growth-space .growth-achievements .rarity-uncommon .achievement-rarity{color:#168d78;background:#c9f5eb}.student-growth-space .growth-achievements .rarity-rare .achievement-rarity{color:#2e6fc5;background:#d8e8ff}.student-growth-space .growth-achievements .rarity-epic .achievement-rarity{color:#8554c4;background:#eadbff}.student-growth-space .growth-achievements .rarity-legendary .achievement-rarity{color:#a66a00;background:#ffe6a8}.student-growth-space .growth-achievements .achievement-medal{width:70px;height:70px;margin-top:8px;border-radius:22px;background:#ffdce7;box-shadow:inset 0 -6px 12px #e4688f1f,0 5px 12px #dd75951a}.student-growth-space .growth-achievements .rarity-uncommon .achievement-medal{background:#cdf6eb}.student-growth-space .growth-achievements .rarity-rare .achievement-medal{background:#dbeaff}.student-growth-space .growth-achievements .rarity-epic .achievement-medal{background:#edddff}.student-growth-space .growth-achievements .rarity-legendary .achievement-medal{background:#ffe8ad}.student-growth-space .growth-achievements .achievement-emblem{filter:drop-shadow(0 6px 8px rgba(53,72,112,.16))}.student-growth-space .growth-achievements .achievement-emblem:before{position:absolute;z-index:0;inset:7%;border-radius:38% 44% 35% 43%;background:linear-gradient(145deg,#fff,var(--achievement-emblem-soft));box-shadow:inset 0 -6px 12px #2a486f14,0 4px 8px #2a486f1a;content:"";transform:rotate(-5deg)}.student-growth-space .growth-achievements .achievement-emblem-metal{z-index:1;border-radius:35%;clip-path:none;background:transparent}.student-growth-space .growth-achievements .achievement-emblem[data-art=generated] .achievement-emblem-image{filter:saturate(1.45) contrast(1.05) brightness(1.04) drop-shadow(0 4px 5px rgba(67,86,126,.16));transform:scale(1.05)}.student-growth-space .growth-achievements .achievement-emblem-core{border:2px solid color-mix(in srgb,var(--achievement-emblem-category) 42%,#fff);border-radius:38% 44% 35% 43%;clip-path:none;box-shadow:inset 0 0 0 2px #ffffffb8,inset 0 -6px 12px #2a486f14}.student-growth-space .growth-achievements .achievement-emblem[data-rarity=uncommon] .achievement-emblem-core{--badge-core-soft: #78e6c1;--badge-icon-color: #16785f}.student-growth-space .growth-achievements .achievement-emblem[data-rarity=rare] .achievement-emblem-core{--badge-core-soft: #78b8ff;--badge-icon-color: #245ca5}.student-growth-space .growth-achievements .achievement-emblem[data-rarity=epic] .achievement-emblem-core{--badge-core-soft: #c08cff;--badge-icon-color: #6841ad}.student-growth-space .growth-achievements .achievement-emblem[data-rarity=legendary] .achievement-emblem-core{--badge-core-soft: #ffd166;--badge-icon-color: #9a6000}.student-growth-space .growth-achievements .achievement-tab-art,.student-growth-space .growth-achievements .achievement-panel-icon{position:relative;isolation:isolate}.student-growth-space .growth-achievements .achievement-tab-art img,.student-growth-space .growth-achievements .achievement-panel-icon img{opacity:0}.student-growth-space .growth-achievements .achievement-tab-art:after,.student-growth-space .growth-achievements .achievement-panel-icon:after{position:absolute;z-index:0;display:grid;place-items:center;border:3px solid rgba(255,255,255,.78);border-radius:38% 62% 48% 52%;color:#fff;background:linear-gradient(145deg,#ff9fc3,#ff6da7);box-shadow:inset 0 -7px 12px #524b811c,0 4px 8px #4d5b8c1c;content:"✦";transform:rotate(-5deg)}.student-growth-space .growth-achievements .achievement-tab-art:after{inset:4px;font-size:18px}.student-growth-space .growth-achievements .achievement-panel-icon:after{inset:7px;font-size:30px}.student-growth-space .growth-achievements .achievement-tab-art img,.student-growth-space .growth-achievements .achievement-panel-icon img{position:relative;z-index:1}.student-growth-space .growth-achievements .achievement-tab:nth-child(2) .achievement-tab-art:after{background:linear-gradient(145deg,#ffb47c,#ff7b52);content:"✎"}.student-growth-space .growth-achievements .achievement-tab:nth-child(3) .achievement-tab-art:after{background:linear-gradient(145deg,#8fe8c8,#3dca9f);content:"⌨"}.student-growth-space .growth-achievements .achievement-tab:nth-child(4) .achievement-tab-art:after{background:linear-gradient(145deg,#ffe48e,#ffc74d);content:"◆"}.student-growth-space .growth-achievements .achievement-tab:nth-child(5) .achievement-tab-art:after{background:linear-gradient(145deg,#a9c4f8,#6b8ee0);content:"?"}.student-growth-space .growth-achievements .achievement-progress{height:9px;border-radius:999px;background:#ffe1ea}.student-growth-space .growth-achievements .achievement-progress>i{background:linear-gradient(90deg,#ff8eaf,#ffbd76)}.student-growth-space .growth-achievements .rarity-uncommon .achievement-progress{background:#d6f7ee}.student-growth-space .growth-achievements .rarity-uncommon .achievement-progress>i{background:linear-gradient(90deg,#5adfca,#8fe5a3)}.student-growth-space .growth-achievements .rarity-rare .achievement-progress{background:#dceaff}.student-growth-space .growth-achievements .rarity-rare .achievement-progress>i{background:linear-gradient(90deg,#6caeff,#9f8cff)}.student-growth-space .growth-achievements .rarity-epic .achievement-progress{background:#eee2ff}.student-growth-space .growth-achievements .rarity-epic .achievement-progress>i{background:linear-gradient(90deg,#b58aff,#ff9ad5)}.student-growth-space .growth-achievements .rarity-legendary .achievement-progress{background:#ffedbd}.student-growth-space .growth-achievements .rarity-legendary .achievement-progress>i{background:linear-gradient(90deg,#ffc65d,#ff9b6a)}@media(max-width:620px){.student-growth-overview .growth-path-stats>div,.student-growth-overview .growth-portfolio-counts>div{min-height:60px;padding:7px}.student-growth-overview .growth-path-stats strong,.student-growth-overview .growth-portfolio-counts strong{font-size:20px}}.student-growth-overview{--growth-ink: #1d1d1f;--growth-muted: #6e6e73;--growth-line: rgba(29, 29, 31, .09);--growth-blue: #3478d4;--growth-blue-deep: #1f5fae;--growth-blue-soft: #edf4ff;width:min(100%,1520px);margin-inline:auto;padding:0 2px 16px;gap:12px;color:var(--growth-ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;scrollbar-gutter:stable}.student-personal-space.student-growth-space.student-growth-overview{grid-template-rows:none;grid-auto-rows:max-content}.student-growth-overview>:is(.growth-profile-hero,.growth-destinations,.growth-overview-highlights){animation:growth-overview-enter .3s cubic-bezier(.22,1,.36,1) both}.student-growth-overview>.growth-destinations{animation-delay:45ms}.student-growth-overview>.growth-overview-highlights{animation-delay:90ms}@keyframes growth-overview-enter{0%{transform:translateY(8px)}to{transform:translateY(0)}}.student-growth-overview .growth-profile-hero{grid-template-columns:minmax(300px,.72fr) minmax(600px,1.28fr);gap:clamp(18px,2vw,32px);min-height:168px;overflow:hidden;border:1px solid var(--growth-line);border-radius:24px;padding:18px clamp(20px,2.1vw,34px);background:radial-gradient(30rem 18rem at 100% 0,rgba(79,145,224,.09),transparent 68%),#fff;box-shadow:0 10px 32px #1d1d1f0e}.student-growth-overview .growth-profile-identity{grid-template-columns:92px minmax(0,1fr);gap:16px}.student-growth-overview .growth-avatar-wrap{gap:0}.student-growth-overview .growth-avatar-wrap>:is(img,span){width:80px;height:80px;border:3px solid #fff;color:#2565b7;background:#eaf2fd;box-shadow:0 0 0 1px #3478d426,0 7px 20px #1b49851c;font-size:29px;font-weight:750}.student-growth-overview .growth-avatar-button{min-height:44px;padding:5px 4px;color:var(--growth-blue-deep);font-size:12px;font-weight:650}.student-growth-overview .growth-avatar-button:hover{color:#174d8f}.student-growth-overview .growth-avatar-button:focus-within{border-radius:10px;outline:3px solid rgba(52,120,212,.25);outline-offset:1px}.student-growth-overview .growth-profile-copy{gap:4px}.student-growth-overview .growth-eyebrow{color:var(--growth-blue-deep);font-size:12px;font-weight:650}.student-growth-overview .growth-profile-copy h1{color:var(--growth-ink);font-size:clamp(27px,2vw,32px);font-weight:720;letter-spacing:-.025em}.student-growth-overview .growth-profile-copy>p{color:#45454a;font-size:14px;font-weight:560}.student-growth-overview .growth-identity-meta{gap:2px 12px;margin-top:2px}.student-growth-overview .growth-identity-meta span{color:var(--growth-muted);font-size:12px}.student-growth-overview .growth-progress-band{grid-template-columns:minmax(270px,.84fr) minmax(360px,1.16fr);gap:clamp(14px,1.7vw,26px);border-left:1px solid var(--growth-line);padding-left:clamp(18px,2vw,30px)}.student-growth-overview .growth-level-progress{grid-template-columns:82px minmax(0,1fr);gap:14px}.student-growth-overview .growth-level-seal{width:82px;min-height:82px;border:1px solid rgba(52,120,212,.12);border-radius:22px;color:var(--growth-blue-deep);background:var(--growth-blue-soft);box-shadow:none}.student-growth-overview .growth-level-seal span{font-size:22px;font-weight:750}.student-growth-overview .growth-level-seal strong{font-size:13px;font-weight:650}.student-growth-overview .growth-level-seal small{color:#496889;font-size:10px;font-weight:550}.student-growth-overview .growth-progress-copy{gap:5px}.student-growth-overview .growth-progress-copy>span{color:var(--growth-muted);font-size:12px;font-weight:600}.student-growth-overview .growth-progress-copy>strong{color:var(--growth-ink);font-size:24px;font-weight:720;font-variant-numeric:tabular-nums}.student-growth-overview .growth-progress-copy>strong small{color:var(--growth-muted);font-size:12px;font-weight:520}.student-growth-overview .growth-progress-copy [role=progressbar]{height:7px;border-radius:999px;background:#e9edf2}.student-growth-overview .growth-progress-copy [role=progressbar] span{background:linear-gradient(90deg,#5b9ce7,var(--growth-blue))}.student-growth-overview .growth-progress-copy p{color:var(--growth-muted);font-size:11px}.student-growth-overview .growth-stat-grid{gap:0}.student-growth-overview .growth-stat-grid article{min-height:82px;gap:3px;border-left:1px solid var(--growth-line);padding:4px 8px}.student-growth-overview .growth-stat-grid article:first-child{border-left:0}.student-growth-overview .growth-stat-grid article .growth-gem-icon,.student-growth-overview .growth-gem-icon{--gem-color: var(--growth-blue-deep);--gem-soft: var(--growth-blue-soft);--gem-sheen: transparent;border:0;color:var(--growth-blue-deep);background:var(--growth-blue-soft);box-shadow:none}.student-growth-overview .growth-gem-icon:after{display:none}.student-growth-overview .growth-stat-grid svg{box-sizing:border-box;width:30px;height:30px;border:0;border-radius:10px;padding:6px;color:var(--growth-blue-deep);background:var(--growth-blue-soft);box-shadow:none}.student-growth-overview .growth-stat-grid strong{color:var(--growth-ink);font-size:21px;font-weight:720;font-variant-numeric:tabular-nums}.student-growth-overview .growth-stat-grid span{color:var(--growth-muted);font-size:11px;font-weight:560}.student-growth-overview .growth-destinations{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-growth-overview .growth-destinations>button{grid-template-columns:44px minmax(0,1fr) 18px;gap:11px;min-height:84px;border:1px solid var(--growth-line);border-radius:19px;padding:11px 14px;color:var(--growth-ink);background:#fffffff5;box-shadow:0 6px 22px #1d1d1f0b;transition:border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.22,1,.36,1),background-color .2s ease}.student-growth-overview .growth-destinations>button>span:first-child{width:44px;height:44px;overflow:visible;border:0;border-radius:14px;color:var(--growth-blue-deep);background:var(--growth-blue-soft);box-shadow:none}.student-growth-overview .growth-destinations>button>span:first-child:after{display:none}.student-growth-overview .growth-destinations>button>span svg{width:22px;height:22px;filter:none;stroke-width:2}.student-growth-overview .growth-destinations>button>svg{width:18px;height:18px;color:#8b8b91;transition:transform .18s ease}.student-growth-overview .growth-destinations>button div{gap:3px}.student-growth-overview .growth-destinations>button strong{color:var(--growth-ink);font-size:16px;font-weight:680}.student-growth-overview .growth-destinations>button p{color:var(--growth-muted);font-size:12px;line-height:1.35}.student-growth-overview .growth-overview-highlights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);gap:12px;min-height:clamp(230px,calc(100dvh - 430px),420px)}.student-growth-overview .growth-overview-highlights>article{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:12px;min-height:0;overflow:hidden;border:1px solid var(--growth-line);border-radius:22px;padding:17px;background:#fff;box-shadow:0 8px 28px #1d1d1f0b}.student-growth-overview .growth-overview-highlights>.growth-honors{grid-template-rows:auto auto minmax(0,1fr)}.student-growth-overview .growth-overview-highlights header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.student-growth-overview .growth-overview-highlights header span{color:var(--growth-blue-deep);font-size:12px;font-weight:620}.student-growth-overview .growth-overview-highlights header h2{margin:3px 0 0;color:var(--growth-ink);font-size:18px;font-weight:680;letter-spacing:-.015em}.student-growth-overview .growth-overview-highlights header>button{display:grid;flex:0 0 auto;width:44px;height:44px;min-height:44px;place-items:center;border:0;border-radius:50%;padding:0;color:var(--growth-blue-deep);background:#f3f6fa;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .18s ease}.student-growth-overview .growth-overview-highlights header>button svg{width:18px;height:18px}.student-growth-overview .growth-feature-link{display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-self:stretch;align-items:center;gap:11px;width:100%;min-height:112px;border:1px solid rgba(29,29,31,.055);border-radius:17px;padding:13px;color:var(--growth-ink);background:#f7f8fa;text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.student-growth-overview .growth-feature-link>.growth-gem-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:14px}.student-growth-overview .growth-feature-link .growth-gem-icon svg{width:22px;height:22px}.student-growth-overview .growth-feature-link>div{display:grid;gap:3px;overflow:hidden}.student-growth-overview .growth-feature-link div>small{overflow:hidden;color:var(--growth-blue-deep);font-size:11px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.student-growth-overview .growth-feature-link div>strong{overflow:hidden;color:var(--growth-ink);font-size:15px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.student-growth-overview .growth-feature-link div>p{margin:0;overflow:hidden;color:#5d6673;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.student-growth-overview .growth-feature-link time{color:#86868b;font-size:11px}.student-growth-overview .growth-feature-link>em,.student-growth-overview .growth-next-goal>em{display:grid;color:var(--growth-blue-deep);font-size:20px;font-style:normal;font-weight:720;text-align:center;font-variant-numeric:tabular-nums}.student-growth-overview .growth-feature-link>em small,.student-growth-overview .growth-next-goal>em small{color:#5d6673;font-size:10px;font-weight:560}.student-growth-overview .growth-feature-link>svg{width:18px;height:18px;color:#8b8b91}.student-growth-overview .growth-feature-link.is-empty{grid-template-columns:44px minmax(0,1fr) 18px}.student-growth-overview .growth-honor-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-growth-overview .growth-honor-row>div{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;border:1px solid rgba(29,29,31,.055);border-radius:15px;padding:7px 9px;background:#fafafb}.student-growth-overview .growth-honor-row .achievement-emblem{margin:0;filter:drop-shadow(0 3px 5px rgba(24,45,76,.12))}.student-growth-overview .growth-honor-row>div>span{display:grid;gap:2px;overflow:hidden}.student-growth-overview .growth-honor-row strong{margin:0;overflow:hidden;color:var(--growth-ink);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.student-growth-overview .growth-honor-row small{margin:0;color:var(--growth-muted);font-size:10px;font-weight:550}.student-growth-overview .growth-next-goal{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-self:stretch;align-items:center;gap:10px;width:100%;min-height:86px;margin:0;border:1px solid rgba(52,120,212,.1);border-radius:17px;padding:11px 12px;color:var(--growth-ink);background:#f4f8fd;text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.student-growth-overview .growth-next-goal>.growth-gem-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px}.student-growth-overview .growth-next-goal div{gap:2px}.student-growth-overview .growth-next-goal div small{color:var(--growth-blue-deep);font-size:10px;font-weight:620}.student-growth-overview .growth-next-goal div strong{overflow:hidden;color:var(--growth-ink);font-size:14px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.student-growth-overview .growth-next-goal p{margin:2px 0 0;overflow:hidden;color:#5d6673;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.student-growth-overview .growth-next-goal>svg{width:18px;height:18px;color:#8b8b91}.student-growth-overview :is(.growth-destinations>button,.growth-feature-link,.growth-next-goal,.growth-overview-highlights header>button):focus-visible{border-color:var(--growth-blue);outline:3px solid rgba(52,120,212,.25);outline-offset:2px}@media(hover:hover){.student-growth-overview .growth-destinations>button:hover{border-color:#3478d43d;background:#fff;box-shadow:0 12px 30px #1d1d1f13;transform:translateY(-2px)}.student-growth-overview .growth-destinations>button:hover>svg{transform:translate(2px)}.student-growth-overview :is(.growth-feature-link,.growth-next-goal):hover{border-color:#3478d433;background:#f1f6fc;transform:translateY(-1px)}.student-growth-overview .growth-overview-highlights header>button:hover{color:#174d8f;background:#eaf1fa;transform:translate(2px)}}.student-growth-overview :is(.growth-destinations>button,.growth-feature-link,.growth-next-goal):active{transform:scale(.985)}@media(min-width:901px)and (max-width:1180px){.student-growth-overview .growth-profile-hero{grid-template-columns:minmax(250px,.68fr) minmax(520px,1.32fr);gap:16px;padding:16px 18px}.student-growth-overview .growth-profile-identity{grid-template-columns:80px minmax(0,1fr);gap:12px}.student-growth-overview .growth-avatar-wrap>:is(img,span){width:70px;height:70px}.student-growth-overview .growth-progress-band{grid-template-columns:minmax(230px,.8fr) minmax(280px,1.2fr);gap:10px;border-top:0;border-left:1px solid var(--growth-line);padding-top:0;padding-left:16px}.student-growth-overview .growth-level-progress{grid-template-columns:70px minmax(0,1fr);gap:9px}.student-growth-overview .growth-level-seal{width:70px;min-height:72px;padding:6px}.student-growth-overview .growth-stat-grid article{padding-inline:4px}.student-growth-overview .growth-destinations{grid-template-columns:repeat(4,minmax(0,1fr))}.student-growth-overview .growth-destinations>button{padding-inline:10px}.student-growth-overview .growth-overview-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.student-growth-overview{gap:10px;padding-bottom:22px}.student-growth-overview .growth-profile-hero{grid-template-columns:1fr;gap:14px;padding:18px}.student-growth-overview .growth-progress-band{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:14px;border-top:1px solid var(--growth-line);border-left:0;padding-top:14px;padding-left:0}.student-growth-overview .growth-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-growth-overview .growth-overview-highlights{grid-template-columns:1fr;min-height:0}.student-growth-overview .growth-overview-highlights>article{min-height:210px}}@media(max-width:620px){.student-growth-overview .growth-profile-hero{gap:12px;border-radius:20px;padding:15px}.student-growth-overview .growth-profile-identity{grid-template-columns:82px minmax(0,1fr);gap:11px}.student-growth-overview .growth-avatar-wrap>:is(img,span){width:70px;height:70px}.student-growth-overview .growth-profile-copy h1{font-size:25px}.student-growth-overview .growth-identity-meta span:first-child{display:none}.student-growth-overview .growth-progress-band{grid-template-columns:1fr;gap:11px}.student-growth-overview .growth-level-progress{grid-template-columns:72px minmax(0,1fr)}.student-growth-overview .growth-level-seal{width:72px;min-height:72px}.student-growth-overview .growth-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-growth-overview .growth-stat-grid article{min-height:70px;border:0;border-left:1px solid var(--growth-line);border-radius:0;padding:3px}.student-growth-overview .growth-stat-grid article:first-child{border-left:0}.student-growth-overview .growth-stat-grid svg{width:27px;height:27px;padding:5px}.student-growth-overview .growth-stat-grid strong{font-size:18px}.student-growth-overview .growth-stat-grid span{font-size:10px}.student-growth-overview .growth-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.student-growth-overview .growth-destinations>button{grid-template-columns:38px minmax(0,1fr);gap:8px;min-height:76px;border-radius:17px;padding:9px 10px}.student-growth-overview .growth-destinations>button>span:first-child{width:38px;height:38px;border-radius:12px}.student-growth-overview .growth-destinations>button>svg{display:none}.student-growth-overview .growth-destinations>button strong{font-size:15px}.student-growth-overview .growth-destinations>button p{font-size:11px}.student-growth-overview .growth-overview-highlights>article{min-height:190px;border-radius:19px;padding:15px}.student-growth-overview .growth-overview-highlights header h2{font-size:17px}.student-growth-overview .growth-honor-row>div{grid-template-columns:36px minmax(0,1fr);padding-inline:7px}}@media(max-width:370px){.student-growth-overview .growth-destinations>button p{display:none}.student-growth-overview .growth-destinations>button{min-height:68px}.student-growth-overview .growth-honor-row{grid-template-columns:1fr}}@media(min-width:1181px)and (max-height:820px){.student-growth-overview{gap:8px;padding-bottom:4px}.student-growth-overview .growth-profile-hero{min-height:146px;padding-block:12px}.student-growth-overview .growth-avatar-wrap>:is(img,span){width:70px;height:70px}.student-growth-overview .growth-profile-identity{grid-template-columns:82px minmax(0,1fr)}.student-growth-overview .growth-level-seal{width:74px;min-height:74px}.student-growth-overview .growth-level-progress{grid-template-columns:74px minmax(0,1fr)}.student-growth-overview .growth-stat-grid article{min-height:68px}.student-growth-overview .growth-destinations{gap:8px}.student-growth-overview .growth-destinations>button{min-height:72px;padding-block:7px}.student-growth-overview .growth-overview-highlights{gap:8px;min-height:clamp(220px,calc(100dvh - 390px),360px)}.student-growth-overview .growth-overview-highlights>article{gap:8px;padding:13px}.student-growth-overview .growth-feature-link{min-height:92px;padding:10px}.student-growth-overview .growth-next-goal{min-height:72px;padding-block:8px}}@media(forced-colors:active){.student-growth-overview :is(.growth-profile-hero,.growth-destinations>button,.growth-overview-highlights>article,.growth-feature-link,.growth-next-goal){border:1px solid CanvasText}.student-growth-overview :is(.growth-destinations>button,.growth-feature-link,.growth-next-goal,.growth-overview-highlights header>button):focus-visible{outline-color:Highlight}}@media(prefers-reduced-motion:reduce){.student-growth-overview>:is(.growth-profile-hero,.growth-destinations,.growth-overview-highlights){animation:none}.student-growth-overview :is(.growth-destinations>button,.growth-feature-link,.growth-next-goal,.growth-overview-highlights header>button,.growth-destinations>button>svg){transition:none;transform:none!important}}.student-growth-overview{grid-template-rows:auto minmax(360px,1fr);min-height:100%;height:100%;gap:clamp(14px,1.6vw,22px);padding:0 2px 18px;background:transparent}.student-growth-overview>.growth-profile-hero{animation:none}.student-personal-space.student-growth-space.student-growth-overview>.growth-main-cards{min-height:max(360px,calc(100% - 223px))}.student-personal-space.student-growth-space.student-growth-overview{grid-template-rows:auto minmax(0,1fr);grid-auto-rows:auto;align-content:stretch;gap:clamp(16px,1.4vw,22px)}.student-growth-overview .growth-profile-hero{min-height:178px;border:1px solid rgba(99,152,231,.28);border-radius:28px;background:linear-gradient(115deg,#fff,#f7fbff 54%,#eef5ff);box-shadow:0 14px 28px -22px #3166b15c,0 3px 9px -5px #3166b117,inset 0 1px #fffffff2}.student-growth-overview .growth-profile-copy{position:relative}.student-growth-overview .growth-achievement-chip{display:inline-flex;width:fit-content;min-height:32px;align-items:center;gap:6px;margin-top:6px;border:1px solid rgba(125,151,194,.22);border-radius:999px;padding:5px 9px 5px 7px;color:#2d568f;background:#ffffffb8;font-size:11px;font-weight:700;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.student-growth-overview .growth-achievement-chip>svg:first-child{width:15px;height:15px;color:#7e62d7}.student-growth-overview .growth-achievement-chip>strong{color:#6e57b6;font-size:13px;font-variant-numeric:tabular-nums}.student-growth-overview .growth-achievement-chip>strong small{color:#8995a8;font-size:10px}.student-growth-overview .growth-achievement-chip>svg:last-child{width:13px;height:13px;color:#8e9aae}.student-growth-overview .growth-achievement-chip:hover{border-color:#6f85cd70;background:#fff;transform:translateY(-1px)}.growth-main-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(14px,1.6vw,22px);min-height:clamp(360px,calc(100dvh - 275px),680px);background:transparent;box-shadow:none}.growth-main-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:22px;min-height:360px;overflow:hidden;border:1px solid rgba(104,148,209,.26);border-radius:28px;padding:clamp(22px,2.4vw,34px);background:#fff;box-shadow:0 16px 30px -24px #254f8b6b,0 3px 9px -5px #254f8b17,inset 0 1px #fffffff5;isolation:isolate}.growth-main-card:before{position:absolute;z-index:-1;top:-90px;right:-72px;width:240px;height:220px;border-radius:42% 58% 63% 37%;background:var(--main-card-glow, rgba(102, 163, 242, .17));content:"";transform:rotate(19deg)}.growth-main-card:after{position:absolute;z-index:-1;right:-70px;bottom:-90px;width:220px;height:170px;border-radius:58% 42% 32% 68%;background:var(--main-card-glow-soft, rgba(159, 204, 255, .14));content:"";filter:blur(2px)}.growth-main-card.is-course-review{--main-card-accent: #2767c5;--main-card-soft: #eaf3ff;--main-card-glow: rgba(76, 145, 240, .2);--main-card-glow-soft: rgba(188, 219, 255, .23)}.growth-main-card.is-typing{--main-card-accent: #8b5fc8;--main-card-soft: #f1eaff;--main-card-glow: rgba(177, 129, 245, .19);--main-card-glow-soft: rgba(235, 210, 255, .24)}.growth-main-card.is-portfolio{--main-card-accent: #1c9a90;--main-card-soft: #e6faf6;--main-card-glow: rgba(69, 207, 190, .18);--main-card-glow-soft: rgba(190, 244, 232, .25)}.growth-main-card>header{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:start;gap:15px}.growth-main-card-icon{display:grid;width:70px;height:70px;place-items:center;border:1px solid color-mix(in srgb,var(--main-card-accent) 18%,white);border-radius:23px;color:var(--main-card-accent);background:var(--main-card-soft);box-shadow:0 9px 18px color-mix(in srgb,var(--main-card-accent) 14%,transparent)}.growth-main-card-icon svg{width:32px;height:32px;stroke-width:1.9}.growth-main-card>header>div:nth-child(2){display:grid;align-content:start;gap:5px;min-width:0}.growth-main-card>header span{color:var(--main-card-accent);font-size:12px;font-weight:760;letter-spacing:.08em}.growth-main-card>header h2{margin:0;color:#1a3152;font-size:clamp(22px,2vw,29px);font-weight:760;letter-spacing:-.03em}.growth-main-card>header p{margin:0;color:#64738a;font-size:13px;line-height:1.6}.growth-main-card>header>strong{display:grid;justify-items:end;color:var(--main-card-accent);font-size:clamp(27px,2.5vw,36px);font-weight:780;line-height:1;font-variant-numeric:tabular-nums}.growth-main-card>header>strong small{margin-top:6px;color:#7889a0;font-size:11px;font-weight:650}.growth-main-card-points,.growth-main-card-metric{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px}.growth-main-card-points span{display:grid;align-content:center;gap:8px;min-height:74px;border:1px solid color-mix(in srgb,var(--main-card-accent) 12%,#fff);border-radius:17px;padding:10px;color:#52637a;background:color-mix(in srgb,var(--main-card-soft) 48%,#fff);font-size:11px;font-weight:650}.growth-main-card-points span svg{width:18px;height:18px;color:var(--main-card-accent)}.growth-main-card-metric{align-self:end}.growth-main-card-metric>div{display:grid;align-content:center;gap:8px;min-height:90px;border-top:1px solid color-mix(in srgb,var(--main-card-accent) 17%,#fff);padding-top:15px}.growth-main-card-metric>div+div{border-left:1px solid color-mix(in srgb,var(--main-card-accent) 17%,#fff);padding-left:14px}.growth-main-card-metric strong{color:#1a3152;font-size:clamp(23px,2.1vw,32px);font-weight:760;line-height:1;font-variant-numeric:tabular-nums}.growth-main-card-metric span{color:#72829a;font-size:11px;font-weight:650}.growth-main-card>button{display:inline-flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--main-card-accent) 22%,#fff);border-radius:16px;padding:12px 15px;color:var(--main-card-accent);background:color-mix(in srgb,var(--main-card-soft) 62%,#fff);font-size:13px;font-weight:750;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.growth-main-card>button svg{width:18px;height:18px}.growth-main-card>button:hover{border-color:color-mix(in srgb,var(--main-card-accent) 45%,#fff);background:var(--main-card-soft);box-shadow:0 8px 18px color-mix(in srgb,var(--main-card-accent) 13%,transparent);transform:translateY(-1px)}.growth-main-card>button:focus-visible{outline:3px solid color-mix(in srgb,var(--main-card-accent) 28%,transparent);outline-offset:2px}.growth-course-reviews{min-height:0;border:1px solid rgba(104,148,209,.22);border-radius:26px;padding:clamp(18px,2.1vw,30px);background:linear-gradient(145deg,#fffffffa,#f3f8ffeb);box-shadow:0 18px 44px #254f8b17}.course-review-list{display:grid;gap:0}.course-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.course-review-card{position:relative;display:grid;gap:15px;overflow:hidden;border:1px solid #dce8f7;border-radius:22px;padding:19px;background:#fff;box-shadow:0 12px 28px #345f9912}.course-review-card:after{position:absolute;right:-46px;bottom:-67px;width:150px;height:130px;border-radius:50%;background:#80b5f91c;content:"";pointer-events:none}.course-review-card-index{position:absolute;top:18px;left:19px;display:grid;justify-items:center;gap:5px;color:#85a9d9;font-size:11px;font-weight:800}.course-review-card-index i{display:block;width:1px;height:22px;background:#c2d7f2}.course-review-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-left:38px}.course-review-card>header>div:first-child{display:grid;gap:4px;min-width:0}.course-review-card>header span{overflow:hidden;color:#3c78c5;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.course-review-card>header h3{margin:0;overflow:hidden;color:#1b3559;font-size:20px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.course-review-card>header p{margin:0;overflow:hidden;color:#748399;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.course-review-card-status{display:grid;align-content:start;justify-items:end;gap:5px;white-space:nowrap}.course-review-card-status strong{color:#2d6dc1;font-size:11px;font-weight:750}.course-review-card-status time{color:#8998aa;font-size:10px}.course-review-card-assets{display:flex;flex-wrap:wrap;gap:7px}.course-review-card-assets span{display:inline-flex;min-height:28px;align-items:center;gap:5px;border:1px solid #e3eaf3;border-radius:999px;padding:4px 8px;color:#92a0b1;background:#f8fafc;font-size:10px;font-weight:650}.course-review-card-assets span.is-ready{border-color:#c9def8;color:#397bc6;background:#f0f6ff}.course-review-card-assets svg{width:13px;height:13px}.course-review-card-comment{display:flex;align-items:flex-start;gap:8px;min-height:45px;margin:0;border-radius:14px;padding:10px 11px;color:#4e6888;background:#f4f8fd;font-size:11px;line-height:1.55}.course-review-card-comment svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:#4d8fd7}.course-review-card-comment span{display:grid;gap:3px;min-width:0}.course-review-card-comment strong{color:#2e6ebd;font-size:10px}.course-review-card-comment.is-muted{color:#8997a8;background:#fafbfd}.course-review-card-comment.is-muted svg{color:#aab6c5}.course-review-card-photos,.course-review-detail-photos{display:flex;gap:7px}.course-review-card-photos img{width:58px;height:44px;border:2px solid #fff;border-radius:11px;object-fit:cover;box-shadow:0 4px 12px #254f8b24}.course-review-card>footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.course-review-action{display:inline-flex;min-height:43px;align-items:center;justify-content:center;gap:6px;border:1px solid #d1e1f5;border-radius:13px;padding:8px 9px;color:#3176c6;background:#f4f8ff;font-size:11px;font-weight:730;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.course-review-action svg{width:15px;height:15px}.course-review-action.is-primary{border-color:#3478d4;color:#fff;background:linear-gradient(135deg,#4f96e8,#2f6fca);box-shadow:0 7px 16px #3478d433}.course-review-action:disabled{cursor:not-allowed;opacity:.48}.course-review-action:not(:disabled):hover{border-color:#3478d4;background:#eaf3ff;transform:translateY(-1px)}.course-review-action.is-primary:not(:disabled):hover{color:#fff;background:linear-gradient(135deg,#5b9ff0,#3478d4)}.course-review-empty{display:grid;min-height:360px;place-items:center;align-content:center;gap:10px;border:1px dashed #cbdcf1;border-radius:20px;color:#7290b4;background:#f8fbffd1;text-align:center}.course-review-empty svg{width:48px;height:48px;color:#76a9e8}.course-review-empty strong{color:#2b5d99;font-size:18px}.course-review-empty p{max-width:410px;margin:0;color:#8193aa;font-size:12px;line-height:1.6}.course-review-detail{display:grid;gap:18px}.student-growth-space .growth-achievements .achievement-badge{border:0;border-radius:28px;padding:15px;background:linear-gradient(145deg,#fff,var(--badge-panel-soft, #f5f8ff));box-shadow:0 12px 25px #30558b1a,inset 0 1px #fffffff5}.student-growth-space .growth-achievements .achievement-badge:before{display:none}.student-growth-space .growth-achievements .achievement-badge.rarity-common{--badge-panel-soft: #fff1f7}.student-growth-space .growth-achievements .achievement-badge.rarity-uncommon{--badge-panel-soft: #e9fbf4}.student-growth-space .growth-achievements .achievement-badge.rarity-rare{--badge-panel-soft: #edf4ff}.student-growth-space .growth-achievements .achievement-badge.rarity-epic{--badge-panel-soft: #f3ecff}.student-growth-space .growth-achievements .achievement-badge.rarity-legendary{--badge-panel-soft: #fff5d9}.student-growth-space .growth-achievements .achievement-medal{width:78px;height:78px;border:0;border-radius:28px 21px 30px 23px;background:var(--badge-medal-soft, #ffdceb);box-shadow:0 9px 18px #526a9b24,inset 0 2px #ffffffc2;transform:rotate(-3deg)}.student-growth-space .growth-achievements .rarity-uncommon .achievement-medal{--badge-medal-soft: #bdf4df;background:#bdf4df}.student-growth-space .growth-achievements .rarity-rare .achievement-medal{--badge-medal-soft: #bcd9ff;background:#bcd9ff}.student-growth-space .growth-achievements .rarity-epic .achievement-medal{--badge-medal-soft: #dec8ff;background:#dec8ff}.student-growth-space .growth-achievements .rarity-legendary .achievement-medal{--badge-medal-soft: #ffe19a;background:#ffe19a}.student-growth-space .growth-achievements .achievement-emblem{filter:none;transform:rotate(3deg)}.student-growth-space .growth-achievements .achievement-emblem-metal{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none}.student-growth-space .growth-achievements .achievement-emblem-image{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.student-growth-space .growth-achievements .achievement-emblem-core{display:grid;width:100%;height:100%;place-items:center;border:3px solid rgba(255,255,255,.82);border-radius:39% 61% 48% 52%;color:var(--badge-icon-color, #e44d88);background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.98),rgba(255,255,255,.25) 32%,transparent 33%),var(--badge-core-soft, #ff9fc3);box-shadow:inset 0 -7px 13px #544b811a,0 3px 6px #4d5b8c1f;clip-path:none}.student-growth-space .growth-achievements [data-category=homework] .achievement-emblem-core{--badge-core-soft: #ffb47c;--badge-icon-color: #b94f1d}.student-growth-space .growth-achievements [data-category=typing] .achievement-emblem-core{--badge-core-soft: #c6a6ff;--badge-icon-color: #6541ad}.student-growth-space .growth-achievements [data-category=creation] .achievement-emblem-core{--badge-core-soft: #ffe48e;--badge-icon-color: #a76a00}.student-growth-space .growth-achievements [data-category=hidden] .achievement-emblem-core{--badge-core-soft: #a9c4f8;--badge-icon-color: #315b9d}.student-growth-space .growth-achievements .achievement-emblem-core svg{width:48%;height:48%;stroke-width:2.4}.student-growth-space .growth-achievements .achievement-emblem-shine{top:14%;left:21%;width:28%;height:10%;opacity:.84}.student-growth-space .growth-achievements .achievement-progress{height:9px;border-radius:999px;background:#ffdce9}.student-growth-space .growth-achievements .achievement-progress>i{background:linear-gradient(90deg,#ff70a8,#ffb27b)}.student-growth-space .growth-achievements .rarity-uncommon .achievement-progress>i{background:linear-gradient(90deg,#26cfa3,#8be49d)}.student-growth-space .growth-achievements .rarity-rare .achievement-progress>i{background:linear-gradient(90deg,#5c9ef2,#9f83f4)}.student-growth-space .growth-achievements .rarity-epic .achievement-progress>i{background:linear-gradient(90deg,#a47bf0,#f487c8)}.student-growth-space .growth-achievements .rarity-legendary .achievement-progress>i{background:linear-gradient(90deg,#f6bb45,#ff8d71)}@media(max-width:1100px){.student-personal-space.student-growth-space.student-growth-overview{grid-template-rows:auto minmax(0,1fr)}.student-personal-space.student-growth-space.student-growth-overview>.growth-main-cards{grid-template-columns:repeat(3,minmax(220px,1fr));min-height:max(330px,calc(100% - 223px));overflow-x:auto;padding:2px 2px 9px;scroll-snap-type:x mandatory}.growth-main-card{min-height:100%;scroll-snap-align:start}.course-review-grid{grid-template-columns:1fr}}@media(max-width:760px){.student-personal-space.student-growth-space.student-growth-overview{grid-template-rows:auto auto;gap:12px;padding-bottom:24px}.student-personal-space.student-growth-space.student-growth-overview .growth-profile-hero{min-height:390px;border-radius:22px;padding:17px}.student-personal-space.student-growth-space.student-growth-overview>.growth-main-cards{grid-template-columns:1fr;min-height:0;overflow:visible}.growth-main-card{min-height:300px;border-radius:23px;padding:20px}.growth-main-card>header{grid-template-columns:58px minmax(0,1fr) auto;gap:12px}.growth-main-card-icon{width:58px;height:58px;border-radius:19px}.growth-main-card-icon svg{width:27px;height:27px}.growth-main-card>header h2{font-size:22px}.growth-main-card>header p{font-size:12px}.growth-main-card>header>strong{font-size:27px}.growth-course-reviews{border-radius:21px;padding:15px}.course-review-card{border-radius:19px;padding:16px}.course-review-card>header{grid-template-columns:1fr}.course-review-card-status{grid-auto-flow:column;justify-content:start;justify-items:start}}@media(max-width:760px){.student-review-native{padding:12px}.student-review-toolbar{align-items:flex-start;flex-wrap:wrap;gap:10px}.student-review-actions{margin-left:auto}}@media(prefers-reduced-motion:reduce){.growth-main-card>button,.course-review-action,.student-growth-overview .growth-achievement-chip{transition:none;transform:none!important}}.student-growth-overview .growth-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(172px,1.35fr);gap:10px;align-items:stretch}.student-growth-overview .growth-stat-grid article,.student-growth-overview .growth-stat-achievements{min-height:88px;border:1px solid rgba(77,132,207,.16);border-radius:17px;padding:10px 8px;background:#f7fbffe6;box-shadow:none;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.student-growth-overview .growth-stat-grid article:first-child{border-left:1px solid rgba(77,132,207,.16)}.student-growth-overview .growth-stat-grid article .growth-gem-icon{width:36px;height:36px;border-radius:12px}.student-growth-overview .growth-stat-grid article .growth-gem-icon svg{width:19px;height:19px;padding:0}.student-growth-overview .growth-stat-achievements{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;color:var(--growth-blue-deep);text-align:left;cursor:pointer}.student-growth-overview .growth-stat-achievements-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(52,120,212,.16);border-radius:13px;color:var(--growth-blue-deep);background:#e7f1ff}.student-growth-overview .growth-stat-achievements-icon svg{width:21px;height:21px;stroke-width:2}.student-growth-overview .growth-stat-achievements-copy{display:grid;min-width:0;gap:4px}.student-growth-overview .growth-stat-achievements-copy strong{color:var(--growth-ink);font-size:16px;font-weight:700;white-space:nowrap}.student-growth-overview .growth-stat-achievements-copy small{color:var(--growth-blue-deep);font-size:11px;font-weight:600;white-space:nowrap}.student-growth-overview .growth-stat-achievements>svg{width:16px;height:16px;color:#7892b3}@media(hover:hover){.student-growth-overview .growth-stat-grid article:hover,.student-growth-overview .growth-stat-achievements:hover{border-color:#3478d44d;background:#fff;transform:translateY(-1px)}}.student-growth-overview .growth-stat-achievements:focus-visible{border-color:var(--growth-blue);outline:3px solid rgba(52,120,212,.24);outline-offset:2px}.student-growth-space :is(.achievement-emblem,.achievement-emblem-metal,.achievement-emblem-core,.achievement-emblem-shine,.achievement-emblem-lock){filter:none;box-shadow:none}.student-growth-space .achievement-emblem,.student-growth-space .growth-achievements .achievement-emblem{transform:none}.student-growth-space .achievement-emblem:before,.student-growth-space .achievement-emblem-shine{display:none}.student-growth-space .growth-achievements .achievement-medal{border:1px solid color-mix(in srgb,var(--achievement-emblem-category, #5d88c8) 22%,#d9e5f3);background:var(--badge-medal-soft, #e7f1ff);box-shadow:none;transform:none}.student-growth-space .growth-achievements .achievement-badge{border:1px solid color-mix(in srgb,var(--achievement-emblem-category, #5d88c8) 18%,#d9e5f3);background:var(--badge-panel-soft, #f2f6fc);box-shadow:none}.student-growth-space .growth-achievements :is(.achievement-tab-art,.achievement-panel-icon){border-color:#4d84cf33;background:#f2f6fc;box-shadow:none}.student-growth-space .growth-achievements .achievement-progress>i{background:var(--achievement-accent, var(--growth-blue))}.student-growth-space .growth-achievements .achievement-emblem-metal{background:transparent;clip-path:none}.student-growth-space .growth-achievements .achievement-emblem-core{border:2px solid color-mix(in srgb,var(--achievement-emblem-category) 38%,#d9e5f3);border-radius:20px;color:var(--badge-icon-color, var(--achievement-emblem-category));background:var(--badge-core-soft, var(--achievement-emblem-soft));box-shadow:none;clip-path:none}.student-growth-space .growth-achievements .achievement-emblem-lock{border-color:#d9e5f3;background:#71829a;box-shadow:none}.student-growth-space .growth-achievements .achievement-tab-art:after,.student-growth-space .growth-achievements .achievement-panel-icon:after{border-color:#4d84cf33;background:#f2f6fc;box-shadow:none;transform:none}.student-growth-space .growth-achievements .achievement-tab:nth-child(2) .achievement-tab-art:after{background:#ffe0cb}.student-growth-space .growth-achievements .achievement-tab:nth-child(3) .achievement-tab-art:after{background:#d9f4eb}.student-growth-space .growth-achievements .achievement-tab:nth-child(4) .achievement-tab-art:after{background:#fff0bd}.student-growth-space .growth-achievements .achievement-tab:nth-child(5) .achievement-tab-art:after{background:#dce8ff}@media(max-width:900px){.student-growth-overview .growth-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.student-growth-overview .growth-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-growth-overview .growth-stat-grid article,.student-growth-overview .growth-stat-achievements{min-height:76px}.student-growth-overview .growth-stat-achievements{grid-template-columns:34px minmax(0,1fr) 14px;gap:7px;padding-inline:7px}.student-growth-overview .growth-stat-achievements-icon{width:34px;height:34px;border-radius:11px}.student-growth-overview .growth-stat-achievements-copy strong{font-size:13px}.student-growth-overview .growth-stat-achievements-copy small{font-size:10px}}.app-layout.role-student{--app-header-height: 76px}.app-layout.role-student .student-app-header{grid-template-columns:minmax(150px,1fr) minmax(600px,680px) minmax(150px,1fr);grid-template-areas:"student-brand student-navigation student-user";gap:16px;height:var(--app-header-height);min-height:0;border-bottom:1px solid #d7e3f1;padding:8px max(18px,env(safe-area-inset-right)) 8px max(18px,env(safe-area-inset-left));background:var(--app-header-surface, var(--ui-surface-glass, rgba(255, 255, 255, .9)));box-shadow:var(--ui-shadow-header, 0 8px 28px rgba(24, 67, 126, .07));backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%);-webkit-backdrop-filter:blur(var(--ui-glass-blur, 16px)) saturate(125%)}.role-student .student-app-header>.header-user,.role-student .student-app-header>.brand-link{align-self:center}.role-student .student-app-header>.brand-link{grid-area:student-brand;align-self:center;justify-self:start;width:fit-content;max-width:100%;min-width:0}.role-student .student-app-header .brand,.role-student .student-app-header .brand-copy{min-width:0}.role-student .student-app-header .brand-copy{font-size:var(--app-header-brand-font-size);letter-spacing:0}.role-student .student-global-nav{grid-area:student-navigation;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;align-self:center;justify-self:center;gap:2px;width:min(100%,680px);min-width:0;border:1px solid rgba(118,157,207,.28);border-radius:18px;padding:4px;background:#fff;box-shadow:inset 0 1px #ffffffc7,0 4px 14px #3065ae0f}.role-student .student-global-nav[data-item-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,480px)}.role-student .student-global-nav a{display:flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:6px;overflow:hidden;border:1px solid transparent;border-radius:14px;padding:6px 9px;color:#51657b;background:transparent;box-shadow:none;font-size:13px;font-weight:700;line-height:1.15;white-space:nowrap;transition:border-color .22s cubic-bezier(.2,.8,.2,1),color .22s cubic-bezier(.2,.8,.2,1),background-color .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1)}.role-student .student-global-nav a,.role-student .student-global-nav .primary-nav-icon,.role-student .student-global-nav .primary-nav-label{align-self:center}.role-student .student-global-nav .primary-nav-icon{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border:0;border-radius:9px;color:#60758d;background:#5b718a14;box-shadow:none;transition:color .22s cubic-bezier(.2,.8,.2,1),background-color .22s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1)}.role-student .student-global-nav .primary-nav-icon:before{content:none}.role-student .student-global-nav .primary-nav-icon:after{content:none}.role-student .student-global-nav .primary-nav-icon svg{flex:0 0 auto;width:16px;height:16px;stroke-width:2.25;filter:none}.role-student .student-global-nav a:hover .primary-nav-icon,.role-student .student-global-nav a.active .primary-nav-icon{color:#1768d2;background:#e8f1ff}.role-student .student-global-nav .primary-nav-label{min-width:0;overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}@media(hover:hover){.role-student .student-global-nav a:hover{color:#315f91;background:#ffffff94;transform:translateY(-1px)}}.role-student .student-global-nav a:active{transform:scale(.98)}.role-student .student-global-nav a:active .primary-nav-icon{transform:scale(.92)}.role-student .student-global-nav a.active{border-color:#7a90a929;color:#1768d2;background:#fff;box-shadow:0 1px 2px #1a2d4614,0 4px 12px #1a2d4612}.role-student .student-global-nav a:focus-visible{border-color:#4b8ee6;outline:3px solid rgba(75,142,230,.34);outline-offset:1px}.role-student .student-app-header>.header-user{grid-area:student-user;align-self:center;justify-self:end;min-width:0;white-space:nowrap}.app-layout.role-student .app-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-height:0;overflow:hidden}.app-layout.role-student .app-main{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.app-layout.role-student .app-main:has(>.student-classroom-stack),.app-layout.role-student .app-main:has(>.student-personal-space){padding:12px clamp(14px,2vw,30px) 14px}@media(max-width:1100px){.app-layout.role-student .student-app-header{grid-template-columns:minmax(110px,1fr) minmax(540px,600px) minmax(110px,1fr)}.role-student .student-app-header .brand-copy{font-size:var(--app-header-brand-font-size)}.role-student .student-app-header>.header-user .user-name{display:none}.role-student .student-global-nav a{gap:4px;padding-inline:5px}.role-student .student-global-nav .primary-nav-icon{width:24px;height:24px}}@media(max-width:940px)and (min-width:821px){.app-layout.role-student .student-app-header{grid-template-columns:92px minmax(0,1fr) 92px;gap:12px;padding-inline:14px}.role-student .student-app-header>.brand-link{width:fit-content;max-width:100%}.role-student .student-app-header .brand-copy{display:none}}@media(max-width:820px){.app-layout.role-student{--app-header-height: calc(110px + max(4px, env(safe-area-inset-top))) }.app-layout.role-student .student-app-header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:52px 50px;grid-template-areas:"student-brand student-user" "student-navigation student-navigation";gap:4px 10px;height:var(--app-header-height);padding:max(4px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 4px max(10px,env(safe-area-inset-left))}.role-student .student-app-header>.brand-link{width:fit-content;max-width:100%}.role-student .student-app-header .brand-copy{display:flex;font-size:var(--app-header-brand-font-size)}.role-student .student-app-header>.header-user .user-name{display:none}.role-student .student-global-nav{align-self:stretch;width:min(100%,720px);gap:2px;padding:2px}.role-student .student-global-nav a{min-height:44px;padding:5px 8px;font-size:13px}.app-layout.role-student .app-main:has(>.student-classroom-stack),.app-layout.role-student .app-main:has(>.student-personal-space){padding:9px 10px 10px}}@media(max-width:660px)and (orientation:portrait){.app-layout.role-student{--app-header-height: calc(158px + max(4px, env(safe-area-inset-top))) }.app-layout.role-student .student-app-header{grid-template-rows:52px 98px}.role-student .student-global-nav{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,46px)}.role-student .student-global-nav[data-item-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.role-student .student-global-nav a{min-height:44px}}@media(max-width:540px){.role-student .student-app-header>.brand-link{width:fit-content;max-width:100%}.role-student .student-app-header .brand-mark{width:40px;height:40px;border-radius:13px}.role-student .student-app-header .brand-copy{font-size:var(--app-header-brand-font-size)}.role-student .student-app-header .user-avatar{width:34px;height:34px;border-radius:11px}.role-student .student-app-header .icon-button{width:42px;height:42px}.role-student .student-global-nav{gap:2px;border-radius:16px}.role-student .student-global-nav a{flex-direction:column;min-height:44px;gap:1px;border-radius:12px;padding:2px 1px;font-size:12px;line-height:1.15}.role-student .student-global-nav .primary-nav-icon{width:24px;height:24px;border-radius:8px}.role-student .student-global-nav .primary-nav-icon svg{width:15px;height:15px}.role-student .student-global-nav .primary-nav-label{width:100%;text-align:center;text-overflow:clip}}@media(max-width:350px){.role-student .student-app-header .brand-copy{max-width:140px;font-size:var(--app-header-brand-font-size)}.role-student .student-global-nav{gap:1px}.role-student .student-global-nav a{min-height:44px;font-size:12px;padding-inline:1px}}@media(max-width:820px)and (orientation:landscape){.app-layout.role-student{--app-header-height: calc(72px + max(0px, env(safe-area-inset-top))) }.app-layout.role-student .student-app-header{grid-template-columns:88px minmax(0,1fr) 88px;grid-template-rows:1fr;grid-template-areas:"student-brand student-navigation student-user";gap:6px;height:var(--app-header-height);padding:max(3px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(3px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.role-student .student-app-header>.brand-link{width:fit-content;max-width:100%}.role-student .student-app-header .brand-copy{display:none}.role-student .student-global-nav{width:100%;gap:1px;padding:2px}.role-student .student-global-nav a{flex-direction:column;min-height:44px;gap:0;border-radius:12px;padding:2px 1px;font-size:12px}.role-student .student-global-nav .primary-nav-icon{width:22px;height:22px;border-radius:8px}.role-student .student-global-nav .primary-nav-icon svg{width:14px;height:14px}.role-student .student-app-header>.header-user .user-name{display:none}.role-student .student-app-header>.header-user .icon-button{width:40px;height:40px}.app-layout.role-student .app-main{padding-bottom:max(10px,env(safe-area-inset-bottom))}.app-layout.role-student .app-main:has(>.typing-native-page){overflow-x:hidden;overflow-y:auto}.app-layout.role-student .app-main>.typing-native-page{height:auto;min-height:100%;overflow:visible;gap:8px}.app-layout.role-student .typing-growth-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.app-layout.role-student .typing-growth-strip .typing-growth-rank{grid-column:1 / -1;min-height:44px}.app-layout.role-student .typing-growth-strip article:not(.typing-growth-rank){min-height:46px;padding:6px}.app-layout.role-student .typing-growth-strip article:not(.typing-growth-rank) .typing-growth-icon{width:30px;height:30px}.app-layout.role-student .typing-growth-strip small{font-size:10px}.app-layout.role-student .typing-growth-strip strong{font-size:16px}.app-layout.role-student .typing-adventure-map{min-height:190px;grid-template-rows:48px minmax(120px,1fr) auto}.app-layout.role-student .typing-map-viewport{min-height:120px}}@media(max-width:820px)and (max-height:400px)and (orientation:landscape){.app-layout.role-student{--app-header-height: calc(64px + max(0px, env(safe-area-inset-top))) }.app-layout.role-student .student-app-header{grid-template-columns:80px minmax(0,1fr) 80px;gap:4px}.role-student .student-app-header>.brand-link{width:fit-content;max-width:100%}.role-student .student-global-nav a{min-height:44px;gap:0;padding-inline:2px;font-size:12px}.role-student .student-global-nav .primary-nav-icon{width:21px;height:21px;border-radius:7px}.role-student .student-global-nav .primary-nav-icon svg{width:13px;height:13px}.role-student .student-app-header>.header-user .icon-button{width:38px;height:38px}.app-layout.role-student .typing-growth-strip .typing-growth-rank{min-height:38px}.app-layout.role-student .typing-growth-strip article:not(.typing-growth-rank){min-height:40px;padding-block:4px}.app-layout.role-student .typing-adventure-map{min-height:164px;grid-template-rows:42px minmax(100px,1fr) auto}.app-layout.role-student .typing-map-viewport{min-height:100px}}@media(prefers-reduced-motion:reduce){.role-student .student-global-nav a,.role-student .student-global-nav .primary-nav-icon{transition:none}.role-student .student-global-nav a:active,.role-student .student-global-nav a:hover,.role-student .student-global-nav a:active .primary-nav-icon{transform:none}}@media(forced-colors:active){.role-student .student-global-nav{border-color:ButtonBorder;background:Canvas;box-shadow:none}.role-student .student-global-nav a{color:ButtonText}.role-student .student-global-nav .primary-nav-icon,.role-student .student-global-nav a:hover .primary-nav-icon,.role-student .student-global-nav a.active .primary-nav-icon{color:currentColor;background:transparent}.role-student .student-global-nav a:hover,.role-student .student-global-nav a.active{border-color:Highlight;color:Highlight;background:Canvas;box-shadow:none}.role-student .student-global-nav a:focus-visible{border-color:Highlight;outline:2px solid Highlight;outline-offset:1px}}.student-class-list-panel,.student-class-progress-content,.student-class-courseware-review{min-height:0;overflow:hidden;border:1px solid var(--ui-border-subtle, #cfdff1);border-radius:var(--ui-radius-md, 18px);background:var(--ui-surface-solid, #fff);box-shadow:var(--ui-shadow-rest, var(--shadow-sm))}.student-class-list-panel{display:grid;grid-template-rows:minmax(0,1fr)}.student-class-list-panel.is-empty{padding:18px}.student-course-hub-shell{grid-template-rows:auto minmax(0,1fr);gap:12px;height:100%;min-height:0;overflow:visible}.app-layout.role-student .app-main>.student-course-hub-shell{overflow:visible}.student-course-hub-shell .student-class-list-panel{height:100%}.student-course-hub-shell>.student-class-list-toolbar{align-items:end}.student-course-hub-shell .student-class-overview-grid{grid-template-columns:repeat(auto-fit,minmax(360px,430px));justify-content:start;height:100%}@media(max-width:900px){.app-layout.role-student .app-main>.student-course-hub-shell{align-content:stretch;scrollbar-gutter:auto;-webkit-overflow-scrolling:auto}}.student-class-progress-section-heading,.student-class-courseware-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.student-class-progress-hero h1,.student-class-courseware-heading h1{margin:5px 0 4px;color:var(--navy);font-size:30px;letter-spacing:0;line-height:1.2}.student-class-progress-hero p,.student-class-courseware-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.student-class-overview-card{width:100%;appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease),box-shadow var(--ui-duration-base, .22s) var(--ui-ease-standard, ease),transform var(--ui-duration-fast, .16s) var(--ui-ease-standard, ease)}.student-class-overview-card:hover{border-color:#82afe2;box-shadow:0 14px 32px #0c377621;transform:translateY(-2px)}.student-class-overview-card:focus-visible{outline:3px solid var(--ui-focus-color, rgba(45, 126, 234, .42));outline-offset:3px}.student-class-overview-card>header>strong{display:inline-flex;align-items:center;gap:3px;color:var(--blue-dark);background:#e8f2ff}.student-class-overview-card>header>strong svg{width:16px;height:16px}.student-class-overview-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:1px;border-top:1px solid #e2ebf5;padding-top:12px;color:#53718e;font-size:12px;font-weight:800}.student-class-overview-card>footer svg{flex:0 0 auto;width:17px;height:17px;color:var(--blue)}.student-cpp-course-progress{display:grid;gap:7px;margin-top:-3px}.student-cpp-course-progress>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6b8299;font-size:12px;font-weight:800}.student-cpp-course-progress strong{color:var(--blue-dark);font-size:13px}.student-cpp-course-progress-track{display:block;height:7px;overflow:hidden;border-radius:999px;background:#e5edf7}.student-cpp-course-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7eea,#22b88a);transition:width .22s ease}.student-class-guide{position:relative;display:grid;align-content:start;gap:18px;min-width:0;overflow:hidden;border:1px solid #cfe4dc;border-radius:16px;padding:19px;background:linear-gradient(150deg,#f7fffc,#eef9f5 52%,#eef5ff);box-shadow:0 10px 28px #0c564514}.student-class-guide:after{position:absolute;top:-44px;right:-34px;width:126px;height:126px;border:22px solid rgba(60,203,154,.09);border-radius:50%;content:"";pointer-events:none}.student-class-guide>header{position:relative;z-index:1;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px}.student-class-guide>header>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#39c89a,#2189c9);box-shadow:0 8px 18px #188e7033}.student-class-guide>header svg{width:23px;height:23px}.student-class-guide>header small{color:#27765f;font-size:11px;font-weight:900;letter-spacing:.08em}.student-class-guide h2{margin:3px 0 0;color:var(--navy);font-size:20px;line-height:1.3}.student-class-guide ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.student-class-guide li{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;border:1px solid rgba(183,216,205,.72);border-radius:12px;padding:9px 11px;background:#ffffffc2}.student-class-guide li>svg{width:20px;height:20px;color:#17745a}.student-class-guide li strong{display:block;color:var(--navy);font-size:13px}.student-class-guide li small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.student-class-progress-shell{grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden}.student-class-progress-review,.student-class-courseware-shell{grid-template-rows:auto minmax(0,1fr)}.student-class-progress-review.student-code-review-page{grid-template-rows:minmax(0,1fr)}.student-class-progress-back{display:inline-flex;align-items:center;justify-self:start;gap:6px;min-height:44px;border:0;border-radius:10px;padding:7px 10px;color:var(--blue-dark);background:transparent;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.student-class-progress-back:hover{background:#eaf3ff}.student-class-progress-back:focus-visible{outline:3px solid rgba(45,126,234,.3);outline-offset:2px}.student-class-progress-back svg{width:18px;height:18px}.student-class-progress-hero{display:flex;align-items:stretch;justify-content:space-between;gap:24px;min-height:156px;overflow:hidden;border:1px solid #cfdff1;border-radius:18px;padding:clamp(22px,3vw,34px);color:#fff;background:linear-gradient(120deg,#092d69,#1768c8 64%,#2b9d9a);box-shadow:var(--shadow-sm)}.student-class-progress-hero .eyebrow{color:#b7f1df}.student-class-progress-hero h1{color:#fff}.student-class-progress-hero p{color:#e9f2ff;font-size:15px}.student-class-progress-hero-copy>small{display:block;margin-top:10px;color:#c8ddf8;font-size:12px}.student-class-progress-meter{display:grid;align-content:center;justify-items:end;flex:0 0 min(220px,34%);gap:5px;min-width:160px}.student-class-progress-meter>strong{font-size:42px;line-height:1}.student-class-progress-meter>strong small{margin-left:2px;font-size:18px}.student-class-progress-meter>span,.student-class-progress-meter>em{color:#d9ebff;font-size:12px;font-style:normal}.student-class-progress-meter>i{display:block;width:min(210px,100%);height:9px;margin:5px 0 2px;overflow:hidden;border-radius:999px;background:#ffffff40}.student-class-progress-meter>i b{display:block;height:100%;border-radius:inherit;background:#a7f2d8}.student-class-progress-content{display:grid;grid-template-rows:auto minmax(0,1fr)}.student-class-progress-section-heading{min-height:74px;border-bottom:1px solid #e0e9f3;padding:14px 20px}.student-class-progress-section-heading h2{margin:3px 0 0;color:var(--navy);font-size:21px}.student-class-progress-section-heading>span{border-radius:999px;padding:6px 10px;color:#12674f;background:#e4f8ef;font-size:12px;font-weight:900}.student-class-session-timeline{display:grid;align-content:start;gap:12px;min-height:0;overflow-y:auto;padding:18px 20px 24px;scrollbar-gutter:stable}.student-class-session-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;min-width:0;border:1px solid #d6e3f1;border-radius:15px;padding:14px;background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 7px 20px #0c37760e}.student-class-session-index{position:relative;display:grid;justify-items:center}.student-class-session-index strong{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--blue-dark);background:#e5f0ff;font-size:14px}.student-class-session-index span{position:absolute;top:44px;bottom:-28px;width:2px;background:#dbe8f5}.student-class-session-card:last-child .student-class-session-index span{display:none}.student-class-session-main{min-width:0}.student-class-session-main>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-class-session-main>header>div:first-child{min-width:0}.student-class-session-main header span{color:var(--blue-dark);font-size:11px;font-weight:900;letter-spacing:0}.student-class-session-main h3{margin:4px 0;overflow-wrap:anywhere;color:var(--navy);font-size:18px;line-height:1.3}.student-class-session-main p{margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:13px;line-height:1.5}.student-class-session-status{display:grid;justify-items:end;flex:0 0 auto;gap:5px}.student-class-session-status strong{border-radius:999px;padding:5px 9px;color:#12674f;background:#e2f7ed;font-size:12px;white-space:nowrap}.student-class-session-status time{color:var(--muted);font-size:11px;white-space:nowrap}.student-class-session-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.student-class-session-actions button{min-height:44px;padding:7px 11px;font-size:12px}.student-class-session-actions button:disabled{cursor:not-allowed;opacity:.55}.student-class-session-actions svg{width:16px;height:16px}.student-class-progress-empty,.student-class-courseware-fallback{display:grid;place-items:center;align-content:center;gap:10px;min-height:260px;padding:28px;color:var(--muted);text-align:center}.student-class-progress-empty svg,.student-class-courseware-fallback>svg{width:52px;height:52px;border-radius:16px;padding:12px;color:var(--blue-dark);background:#e7f1ff}.student-class-progress-empty strong,.student-class-courseware-fallback>strong{color:var(--navy);font-size:18px}.student-class-progress-empty p{max-width:460px;margin:0;font-size:13px;line-height:1.6}.student-class-courseware-review{display:grid;grid-template-rows:auto minmax(0,1fr)}.student-class-courseware-review.is-standalone{grid-template-rows:minmax(0,1fr);height:100%}.student-class-courseware-heading{min-height:104px;border-bottom:1px solid #deE8f3;padding:20px 24px;background:linear-gradient(115deg,#f5f9ff,#fff 62%,#effaf6)}.student-class-courseware-heading>span{flex:0 0 auto;border-radius:999px;padding:7px 11px;color:#12674f;background:#e2f7ed;font-size:12px;font-weight:900}.student-class-courseware-slide-wrap{min-height:0;overflow-y:auto;padding:clamp(16px,3vw,28px)}.student-class-courseware-slide-wrap .pptx-slide-frame{width:min(100%,960px);margin:0 auto}.student-class-courseware-slide-nav{display:flex;justify-content:center;gap:10px;margin-top:14px}.student-class-courseware-slide-nav button{min-height:44px;font-size:13px}.student-class-courseware-fallback{overflow-y:auto;align-content:start;place-items:center}.student-class-courseware-blocks{display:grid;width:min(760px,100%);gap:10px;margin-top:4px;text-align:left}.student-class-courseware-blocks article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;border:1px solid #dce7f3;border-radius:12px;padding:12px;background:#fff}.student-class-courseware-blocks article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--blue-dark);background:#eaf3ff;font-size:12px;font-weight:900}.student-class-courseware-blocks h3{margin:2px 0 4px;color:var(--navy);font-size:15px}.student-class-courseware-blocks p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}@media(max-width:720px){.student-course-hub-shell .student-class-overview-grid{grid-template-columns:1fr}.student-class-progress-hero,.student-class-courseware-heading{align-items:flex-start;flex-direction:column}.student-class-progress-hero h1,.student-class-courseware-heading h1{font-size:24px}.student-class-progress-meter{align-items:start;justify-items:start;width:100%;min-width:0}.student-class-progress-meter>i{width:100%}.student-class-session-main>header{flex-direction:column;gap:9px}.student-class-session-status{justify-items:start}.student-class-session-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-class-session-actions button{justify-content:center}}@media(max-width:480px){.student-class-list-panel.is-empty{padding:9px}}@media(max-width:420px){.student-class-session-timeline{padding-inline:12px}.student-class-session-card{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:11px}.student-class-session-index strong{width:32px;height:32px}.student-class-session-index span{top:38px}.student-class-session-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.student-class-overview-card,.student-class-session-actions button,.student-class-courseware-slide-nav button{transition:none}.student-class-overview-card:hover{transform:none}}.app-layout:has(.teacher-lesson-preview),html:has(.teacher-lesson-preview),body:has(.teacher-lesson-preview){height:100dvh;min-height:0;overflow:hidden}.app-body:has(.teacher-lesson-preview){height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-body:has(.teacher-lesson-preview)>.app-sidebar{top:76px;height:calc(100dvh - 76px)}.app-main:has(.teacher-lesson-preview){width:100%;max-width:none;height:calc(100dvh - 76px);min-height:0;overflow:hidden;padding:12px clamp(14px,1.8vw,28px)}.teacher-lesson-preview{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;width:100%;height:100%;min-width:0;min-height:0;color:var(--ink)}.teacher-lesson-preview-toolbar{display:grid;grid-template-columns:44px minmax(180px,1fr) auto auto;align-items:center;gap:10px;min-width:0;min-height:56px;border-bottom:1px solid #d9e3ef;padding-bottom:10px}.teacher-lesson-preview-toolbar>.icon-button,.teacher-lesson-preview-sequence .icon-button,.teacher-lesson-preview-slide-controls .icon-button,.teacher-lesson-plan-viewer .icon-button{width:44px;height:44px;border:1px solid #cad8e9;border-radius:7px;color:#244b78;background:#fff}.teacher-lesson-preview-toolbar .icon-button:focus-visible,.teacher-lesson-preview-main-tabs button:focus-visible,.teacher-lesson-preview-mobile-tabs button:focus-visible,.teacher-lesson-preview-slide-controls button:focus-visible,.teacher-lesson-plan-viewer a:focus-visible{outline:3px solid rgba(45,126,234,.32);outline-offset:2px}.teacher-lesson-preview-context{display:grid;gap:3px;min-width:0}.teacher-lesson-preview-context span,.teacher-lesson-preview-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-lesson-preview-context span{color:#63748a;font-size:11px;font-weight:750}.teacher-lesson-preview-context strong{color:#172f4d;font-size:16px;line-height:1.25}.teacher-lesson-preview-main-tabs,.teacher-lesson-preview-mobile-tabs{display:flex;gap:4px;border:1px solid #d4dfeb;border-radius:7px;padding:4px;background:#eef3f8}.teacher-lesson-preview-main-tabs button,.teacher-lesson-preview-mobile-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:96px;min-height:40px;border:0;border-radius:5px;padding:0 13px;color:#56697f;background:transparent;font-weight:850;cursor:pointer}.teacher-lesson-preview-main-tabs button.active,.teacher-lesson-preview-mobile-tabs button[aria-selected=true]{color:#123f73;background:#fff;box-shadow:0 2px 7px #183a611a}.teacher-lesson-preview-main-tabs svg,.teacher-lesson-preview-mobile-tabs svg{width:17px;height:17px}.teacher-lesson-preview-sequence{display:flex;align-items:center;gap:6px}.teacher-lesson-preview-mobile-tabs{display:none}.teacher-lesson-preview-layout{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(310px,.95fr);min-width:0;min-height:0;overflow:hidden;border:1px solid #d3deea;background:#fff}.teacher-lesson-preview-main,.teacher-lesson-preview-guide,.teacher-lesson-preview-slide-panel,.teacher-lesson-preview-code-panel{min-width:0;min-height:0}.teacher-lesson-preview-main{overflow:hidden;background:#f4f7fa}.teacher-lesson-preview-guide{overflow:hidden;border-left:1px solid #d3deea;background:#eef2f6}.teacher-lesson-preview-slide-panel{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:auto;padding:clamp(12px,2vw,28px);overscroll-behavior:contain}.teacher-lesson-preview-slide-error{position:absolute;z-index:12;top:12px;left:50%;display:grid;grid-template-columns:20px minmax(0,1fr) 32px;align-items:center;gap:8px;width:min(calc(100% - 24px),620px);min-height:46px;border:1px solid #e4aab0;border-radius:7px;padding:6px 7px 6px 12px;color:#7d2530;background:#fff5f6;box-shadow:0 8px 22px #4a18202e;transform:translate(-50%)}.teacher-lesson-preview-slide-error>svg{width:20px;height:20px}.teacher-lesson-preview-slide-error span{min-width:0;font-size:13px;font-weight:750;line-height:1.45}.teacher-lesson-preview-slide-error button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:5px;color:inherit;background:transparent;cursor:pointer}.teacher-lesson-preview-slide-error button:hover,.teacher-lesson-preview-slide-error button:focus-visible{background:#f7dfe2;outline:none}.teacher-lesson-preview-slide-error button svg{width:18px;height:18px}.teacher-lesson-preview-slide-panel>.teacher-ppt-stage{width:min(100%,calc((100dvh - 190px) * 16 / 9));border-radius:7px}.teacher-lesson-preview-slide-controls{position:absolute;z-index:8;left:50%;bottom:12px;display:flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.28);border-radius:7px;padding:5px;color:#fff;background:#091627e0;box-shadow:0 8px 24px #030c1947;transform:translate(-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.teacher-lesson-preview-slide-controls .icon-button{width:40px;height:40px;color:#fff;border-color:transparent;background:transparent}.teacher-lesson-preview-slide-controls .icon-button:hover:not(:disabled){background:#ffffff24}.teacher-lesson-preview-slide-controls span{min-width:54px;font-size:12px;font-variant-numeric:tabular-nums;font-weight:850;text-align:center}.teacher-lesson-preview-code-panel{width:100%;height:100%;overflow:auto;overscroll-behavior:contain;background:#f3f7fb}.teacher-lesson-preview-code-panel>.lab-shell,.teacher-lesson-preview-code-panel .python-lab-workspace,.teacher-lesson-preview-code-panel .workspace,.teacher-lesson-preview-code-panel .lesson-work{min-height:0;height:100%}.teacher-lesson-preview-code-panel .workspace{overflow:hidden;padding:10px}.teacher-lesson-preview-code-panel .lesson-work{border-width:1px;border-radius:7px;box-shadow:none}.teacher-lesson-preview-code-panel>.scratch-editor{height:100%;min-height:620px;border:0;border-radius:0}.teacher-lesson-preview-code-fallback{display:grid;grid-template-rows:48px minmax(280px,1fr) auto;width:100%;height:100%;min-height:0;padding:10px}.teacher-lesson-preview-code-fallback>div{display:flex;align-items:center;gap:8px;border:1px solid #334c6d;border-bottom:0;padding:0 13px;color:#dce9f8;background:#142944}.teacher-lesson-preview-code-fallback>div svg{width:18px}.teacher-lesson-preview-code-fallback>div span{margin-left:auto;color:#a9bbd1;font-size:11px}.teacher-lesson-preview-code-fallback textarea{width:100%;min-width:0;min-height:0;resize:none;border:1px solid #334c6d;padding:16px;color:#e6edf6;background:#0e1d31;font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}.teacher-lesson-preview-code-fallback>p{margin:0;border:1px solid #d6e0ec;border-top:0;padding:10px 13px;color:#6d4a19;background:#fff8e8;font-size:12px}.teacher-lesson-preview-empty,.teacher-lesson-plan-empty,.teacher-lesson-plan-error{display:grid;place-content:center;justify-items:center;gap:8px;width:min(100%,520px);min-height:260px;padding:28px;color:#63748a;text-align:center}.teacher-lesson-preview-empty svg,.teacher-lesson-plan-empty svg{width:38px;height:38px;color:#2d7eea}.teacher-lesson-preview-empty strong,.teacher-lesson-plan-empty strong,.teacher-lesson-plan-error strong{color:#1d3b5f;font-size:17px}.teacher-lesson-preview-empty p,.teacher-lesson-plan-empty p,.teacher-lesson-plan-error p{max-width:360px;margin:0;font-size:13px;line-height:1.6}.teacher-lesson-plan-viewer{position:relative;display:grid;grid-template-rows:54px minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0}.teacher-lesson-plan-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border-bottom:1px solid #d3deea;padding:5px 58px 5px 13px;background:#fff}.teacher-lesson-plan-open{position:absolute;z-index:3;top:5px;right:8px}.teacher-lesson-plan-viewer>header>div{display:flex;align-items:center;gap:8px;min-width:0}.teacher-lesson-plan-viewer>header svg{flex:0 0 auto;width:18px;height:18px;color:#2d7eea}.teacher-lesson-plan-viewer>header strong{overflow:hidden;color:#203b5c;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.teacher-lesson-plan-scroll{min-width:0;min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-lesson-plan-scroll .react-pdf__Document{display:grid;justify-items:center;gap:12px}.teacher-lesson-plan-scroll .react-pdf__Page{max-width:100%;overflow:hidden;border:1px solid #cbd5df;background:#fff;box-shadow:0 4px 14px #2131441f}.teacher-lesson-plan-scroll .react-pdf__Page canvas{max-width:100%;height:auto!important}.teacher-lesson-plan-page-loading{display:grid;place-items:center;width:100%;min-height:180px;color:#62758a;background:#f8fafc;font-size:12px}.teacher-lesson-plan-more{display:grid;justify-items:center;gap:8px;width:100%;padding:10px 8px 4px;color:#607389;font-size:12px}.teacher-lesson-plan-more button{min-height:40px;border:1px solid #abc7e8;border-radius:7px;padding:0 14px;color:#174f8d;background:#fff;font-weight:800;cursor:pointer}.teacher-lesson-plan-more button:hover,.teacher-lesson-plan-more button:focus-visible{border-color:#2d7eea;background:#edf6ff;outline:none}.teacher-lesson-plan-error{width:100%;min-height:220px;color:#8d3942}.teacher-prep-preview-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:108px;min-height:38px;border:1px solid #abc7e8;border-radius:7px;padding:0 11px;color:#174f8d;background:#edf6ff;font-size:12px;font-weight:850;cursor:pointer}.teacher-prep-preview-button:hover,.teacher-prep-preview-button:focus-visible{border-color:#2d7eea;background:#dfedff}.teacher-prep-preview-button svg{width:16px;height:16px}.teacher-prep-lesson-actions{display:flex;grid-template-columns:none;align-items:center;gap:4px}@media(max-width:1180px){.teacher-lesson-preview-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr)}.teacher-lesson-preview-toolbar{grid-template-columns:44px minmax(140px,1fr) auto auto}.teacher-prep-preview-button{min-width:44px;width:44px;padding:0;font-size:0}}@media(max-width:900px){.app-body:has(.teacher-lesson-preview){display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-body:has(.teacher-lesson-preview)>.app-sidebar{position:static;top:76px;height:auto}.app-main:has(.teacher-lesson-preview){height:100%;padding:10px 12px}.teacher-lesson-preview{grid-template-rows:auto auto minmax(0,1fr);gap:7px}.teacher-lesson-preview-toolbar{grid-template-columns:44px minmax(0,1fr) auto;gap:7px;min-height:51px;padding-bottom:7px}.teacher-lesson-preview-main-tabs{display:none}.teacher-lesson-preview-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.teacher-lesson-preview-mobile-tabs button{min-width:0;min-height:44px;padding-inline:7px}.teacher-lesson-preview-sequence{gap:4px}.teacher-lesson-preview-sequence .icon-button{width:44px;height:44px}.teacher-lesson-preview-layout{display:block;height:100%}.teacher-lesson-preview-main,.teacher-lesson-preview-guide{width:100%;height:100%;border-left:0}.teacher-lesson-preview.mobile-panel-guide .teacher-lesson-preview-main,.teacher-lesson-preview:not(.mobile-panel-guide) .teacher-lesson-preview-guide{display:none}.teacher-lesson-preview-slide-panel{align-content:center;padding:8px}.teacher-lesson-preview-slide-panel>.teacher-ppt-stage{width:100%}.teacher-lesson-preview-slide-controls{bottom:7px;padding:3px}.teacher-lesson-preview-slide-controls .icon-button{width:44px;height:44px}.teacher-lesson-preview-code-panel .workspace{height:auto;min-height:0;overflow:visible;padding:7px}.teacher-lesson-preview-code-panel .lesson-work{height:auto;min-height:740px;overflow:visible}.teacher-lesson-preview-code-panel>.lab-shell,.teacher-lesson-preview-code-panel .python-lab-workspace{height:auto;min-height:100%}.teacher-lesson-plan-scroll{padding:8px}}@media(max-width:700px){.app-body:has(.teacher-lesson-preview){height:calc(100dvh - 68px)}.app-body:has(.teacher-lesson-preview)>.app-sidebar{top:68px}.app-main:has(.teacher-lesson-preview){padding:8px 10px}.teacher-lesson-preview-context span{display:none}.teacher-lesson-preview-context strong{font-size:14px}.teacher-prep-lesson-item{grid-template-columns:36px minmax(0,1fr)}.teacher-prep-lesson-actions{grid-column:2;justify-content:flex-end}.teacher-prep-preview-button{width:auto;min-width:104px;min-height:44px;padding:0 10px;font-size:12px}}@media(max-width:430px){.teacher-lesson-preview-context strong{max-width:128px}.teacher-lesson-preview-toolbar{grid-template-columns:44px minmax(0,1fr) 92px}}@media(max-width:900px)and (max-height:520px)and (orientation:landscape){.app-layout:has(.teacher-lesson-preview){grid-template-rows:minmax(0,1fr)}.app-layout:has(.teacher-lesson-preview)>.app-header,.app-body:has(.teacher-lesson-preview)>.app-sidebar{display:none}.app-body:has(.teacher-lesson-preview),.app-main:has(.teacher-lesson-preview){height:100dvh}.app-body:has(.teacher-lesson-preview){display:block}.app-main:has(.teacher-lesson-preview){padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}}@media(prefers-reduced-motion:reduce){.teacher-lesson-preview *,.teacher-prep-preview-button{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-layout.role-student{background:radial-gradient(52rem 30rem at 94% 4%,rgba(68,129,239,.08),transparent 62%),linear-gradient(145deg,#f7faff,#f1f6fd)}.app-layout.role-student .app-body,.app-layout.role-student .app-main{background:transparent}.app-layout.role-student :is(.student-growth-space,.student-growth-overview,.growth-main-cards){background:transparent}.app-layout.role-student .app-main.student-kids-theme{--student-blue: #2764e7;--student-blue-deep: #1748b5;--student-blue-soft: #eaf2ff;--student-ink: #183153;--student-muted: #53657e;--student-line: #cfe0f2;--student-coral: #c94a32;--student-coral-deep: #a93825;--student-coral-soft: #fff0eb;--student-mint: #0d7655;--student-mint-soft: #e8f7f1;--student-gold: #8a5e00;--student-gold-soft: #fff5cf;--student-purple: #6742b8;--student-purple-soft: #f1ebff;--student-danger: #963b32;--student-danger-soft: #ffebe8;--student-card-radius: 18px;--student-panel-radius: 22px;--blue: var(--student-blue);--blue-dark: var(--student-blue-deep);--navy: var(--student-ink);--ink: #203b5e;--muted: var(--student-muted);--line: var(--student-line);--orange: var(--student-coral);--mint: var(--student-mint);--ui-radius-control: 12px;--ui-radius-sm: 14px;--ui-radius-md: 18px;--ui-radius-lg: 22px;--ui-border-subtle: var(--student-line);--ui-border-strong: #9fc2ea;--ui-shadow-rest: 0 8px 22px rgba(24, 67, 126, .08);--ui-shadow-raised: 0 14px 32px rgba(24, 67, 126, .13);--ui-focus-color: rgba(39, 100, 231, .48);--ui-focus-ring: 0 0 0 4px rgba(39, 100, 231, .18);max-width:none;padding:14px clamp(16px,2vw,32px);color:var(--student-ink);overflow:hidden}.app-layout.role-student .app-main.student-kids-theme>:is(.student-classroom-stack,.assignment-center,.student-campus-workspace,.student-personal-space,.page-state){width:min(100%,1760px);min-width:0;min-height:0;margin-inline:auto}.app-layout.role-student .app-body:has(>.app-main.student-kids-theme.student-section-assignments){height:100%;min-height:0}.student-kids-theme.student-section-my .student-growth-space{--growth-ink: var(--student-ink);--growth-muted: var(--student-muted);--growth-line: var(--student-line);--growth-blue: var(--student-blue);--growth-blue-soft: var(--student-blue-soft);--growth-coral: var(--student-coral);--growth-coral-soft: var(--student-coral-soft);--growth-mint: var(--student-mint);--growth-mint-soft: var(--student-mint-soft);--growth-yellow: var(--student-gold);--growth-yellow-soft: var(--student-gold-soft);--growth-blue-sheen: rgba(39, 100, 231, .14);--growth-coral-sheen: rgba(201, 74, 50, .14);--growth-mint-sheen: rgba(13, 118, 85, .14);--growth-yellow-sheen: rgba(138, 94, 0, .14)}.student-kids-theme :is(.student-class-progress-hero h1,.student-class-courseware-heading h1,.assignment-toolbar h1,.student-campus-header h2,.growth-subpage-header h1,.growth-portfolio-detail h1){font-size:clamp(26px,2.1vw,32px);line-height:1.2;letter-spacing:-.02em}.student-kids-theme :is(.student-class-courseware-heading p,.assignment-toolbar p,.growth-subpage-header p){color:var(--student-muted);font-size:14px;line-height:1.6}.student-kids-theme :is(.student-class-list-panel,.student-class-progress-content,.student-class-courseware-review,.assignment-list-panel,.student-assignment-summary,.student-question-panel,.student-campus-news,.student-campus-article,.growth-records,.growth-achievements,.growth-portfolio,.growth-ranking,.growth-portfolio-detail){border-color:var(--student-line);border-radius:var(--student-panel-radius);background-color:#fffffff5;box-shadow:var(--ui-shadow-rest)}.student-kids-theme :is(.student-class-overview-card,.student-class-session-card,.assignment-card,.student-campus-card,.growth-portfolio-card,.growth-record-row,.growth-ranking-list article){border-color:var(--student-line);border-radius:var(--student-card-radius);background-color:#fff;box-shadow:0 7px 18px #18437e12}.student-kids-theme :is(.student-class-overview-card,.assignment-card,.student-campus-card-open,.growth-portfolio-card):hover{border-color:#96bce8;box-shadow:var(--ui-shadow-raised);transform:translateY(-2px)}.student-kids-theme :is(.student-class-overview-card,.assignment-card,.student-campus-card-open,.student-campus-card>.icon-button,.growth-portfolio-card,.growth-record-row>button,.button,.icon-button):focus-visible{border-color:var(--student-blue);outline:3px solid var(--ui-focus-color);outline-offset:2px;box-shadow:var(--ui-focus-ring)}.student-kids-theme :is(.button-primary,.primary-action){border-color:var(--student-blue);color:#fff;background:var(--student-blue);box-shadow:0 8px 18px #2764e738}.student-kids-theme :is(.button-primary,.primary-action):hover:not(:disabled),.student-kids-theme :is(.button-primary,.primary-action):focus-visible:not(:disabled){border-color:var(--student-blue-deep);color:#fff;background:var(--student-blue-deep)}.student-kids-theme :is(.status-badge,.assignment-status,.assignment-save-state,.student-class-session-status strong){min-height:28px;border:1px solid currentColor;border-radius:999px;padding:5px 10px;line-height:1.2}.student-kids-theme :is(.assignment-save-state.saved,.assignment-status.submitted,.assignment-status.published){color:var(--student-mint);background:var(--student-mint-soft)}.student-kids-theme :is(.assignment-status.draft,.status-warning){color:var(--student-gold);background:var(--student-gold-soft)}.student-kids-theme :is(.assignment-status.expired,.assignment-save-state.failed,.status-danger){color:var(--student-danger);background:var(--student-danger-soft)}.student-kids-theme :is(.assignment-status.pending,.assignment-status.in_progress,.status-muted){color:var(--student-blue-deep);background:var(--student-blue-soft)}.student-kids-theme :is(.empty-state,.student-course-empty-state,.student-class-progress-empty,.student-class-courseware-fallback,.student-news-placeholder){border:1px dashed #a9c7e8;border-radius:var(--student-card-radius);color:var(--student-muted);background:#f7fbffe0}.student-kids-theme.student-section-classroom .student-class-courseware-heading{border-color:var(--student-line);background:linear-gradient(110deg,#f5f9ff,#fff 58%,#eefaf6)}.student-kids-theme.student-section-classroom .student-class-guide{border-color:#bfe2d5;border-radius:var(--student-card-radius);padding-top:18px;background:linear-gradient(145deg,#f7fffc,#eef9f5 55%,#edf5ff);box-shadow:0 10px 25px #0d765517}.student-kids-theme.student-section-classroom .student-class-guide:after{top:-38px;right:-30px;width:132px;height:132px;border:24px solid rgba(39,100,231,.07);border-radius:50%}.student-kids-theme.student-section-classroom .student-class-guide>header{min-height:112px;padding-right:108px}.student-kids-theme.student-section-classroom .student-class-guide-mascot{position:absolute;top:8px;right:14px;z-index:2;width:112px;height:126px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 10px 13px rgba(22,70,130,.14))}.student-kids-theme.student-section-classroom .student-class-guide li{min-height:62px;border-color:#c8e3da;border-radius:14px;background:#ffffffe0}.student-kids-theme.student-section-classroom .student-class-progress-hero{border-radius:var(--student-panel-radius);background:linear-gradient(120deg,#0b3d89,#176de0 57%,#119b8e);box-shadow:0 14px 32px #104ba02e}.student-kids-theme.student-section-classroom .student-class-session-index strong{border-radius:12px;color:var(--student-blue-deep);background:var(--student-blue-soft)}.student-kids-theme.student-section-assignments .assignment-title-group{border-left:4px solid var(--student-coral);padding-left:13px}.student-kids-theme.student-section-assignments .assignment-card.student:before{background:var(--student-coral)}.student-kids-theme.student-section-assignments .assignment-overview-tabs,.student-kids-theme.student-section-news .student-campus-tabs{border-color:var(--student-line);border-radius:14px;background:var(--student-blue-soft)}.student-kids-theme.student-section-assignments .assignment-overview-tabs button,.student-kids-theme.student-section-news .student-campus-tabs button{border-radius:11px}.student-kids-theme.student-section-assignments .student-assignment-layout{gap:16px}.student-kids-theme.student-section-assignments :is(.student-assignment-question,.student-answer-review,.assignment-dialog){border-color:var(--student-line);border-radius:var(--student-card-radius)}.student-kids-theme.student-section-assignments .student-assignment-question.correct{border-left-color:var(--student-mint)}.student-kids-theme.student-section-assignments .student-assignment-question.wrong{border-left-color:var(--student-danger)}.student-kids-theme.student-section-news .student-campus-header{min-height:86px;border-color:var(--student-line);padding-inline:22px}.student-kids-theme.student-section-news .student-campus-header>div:first-child{border-left:4px solid var(--student-gold);padding-left:13px}.student-kids-theme.student-section-news .student-campus-content-scroll{padding:18px}.student-kids-theme.student-section-news .student-campus-content-scroll :is(.student-news-grid,.campus-star-grid){grid-template-columns:repeat(2,minmax(320px,1fr));gap:18px}.student-kids-theme.student-section-news .student-campus-card{min-height:176px}.student-kids-theme.student-section-news .student-campus-card-open{min-height:176px;border-radius:inherit}.student-kids-theme.student-section-news .student-campus-article-layout{width:min(940px,calc(100% - 48px))}.student-kids-theme.student-section-news .student-campus-article-kind{color:var(--student-blue)}.student-kids-theme.student-section-my .growth-subpage-header>div{border-left-color:var(--student-purple)}.student-kids-theme.student-section-my .growth-ranking-summary>div{border-radius:16px}.student-kids-theme.student-section-my .growth-ranking-summary>div:first-child{border-color:var(--student-blue-deep);background:linear-gradient(135deg,var(--student-blue-deep),var(--student-blue))}.student-kids-theme.student-section-my .growth-portfolio-card{border-top-color:var(--student-mint)}.student-kids-theme :is(.student-live-stage,.student-review-native,.student-class-courseware-review){border-color:var(--student-line);border-radius:var(--student-panel-radius);box-shadow:var(--ui-shadow-rest)}@media(max-width:1180px){.student-kids-theme.student-section-news .student-campus-content-scroll :is(.student-news-grid,.campus-star-grid){grid-template-columns:1fr}}@media(max-width:820px){.app-layout.role-student .app-main.student-kids-theme{padding:9px 10px 10px}.student-kids-theme.student-section-classroom .student-class-guide-mascot{display:none}.student-kids-theme.student-section-classroom .student-class-guide>header{min-height:0;padding-right:0}}@media(max-width:700px){.student-kids-theme.student-section-classroom .student-class-guide{grid-template-rows:auto auto;gap:12px}.student-kids-theme.student-section-classroom .student-class-guide>header{z-index:2;min-height:56px;padding-right:0;padding-bottom:4px}.student-kids-theme.student-section-classroom .student-class-guide ul{position:relative;z-index:1;margin-top:4px}.student-kids-theme :is(.student-class-list-panel,.assignment-list-panel,.student-campus-workspace,.growth-records,.growth-achievements,.growth-portfolio,.growth-ranking){border-radius:16px}.student-kids-theme .assignment-overview-tabs button{min-height:44px}.student-kids-theme .assignment-detail-toolbar h1{display:-webkit-box;max-height:2.5em;overflow:hidden;overflow-wrap:anywhere;font-size:clamp(20px,5vw,24px);line-height:1.25;text-overflow:clip;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-kids-theme .editor-lesson-title h2{flex:0 0 auto;max-width:45%}.student-kids-theme .editor-lesson-title p{flex:1 1 0}.student-kids-theme .checks-toggle,.student-kids-theme .checks.collapsed .checks-toggle{min-height:44px}.student-kids-theme .student-assignment-summary :is(p,small),.student-kids-theme .student-answer-review :is(dt,dd,p){font-size:12px}.student-kids-theme.student-section-news .student-campus-article-layout{width:min(100% - 28px,940px)}}@media(prefers-reduced-motion:reduce){.student-kids-theme :is(.student-class-overview-card,.assignment-card,.student-campus-card-open,.growth-portfolio-card){transition:none}}.student-kids-theme .student-review-actions>button{border-color:var(--student-mint);border-radius:12px;color:#fff;background:var(--student-mint);box-shadow:0 8px 18px #0d765533}.student-kids-theme .student-review-actions>button:hover:not(:disabled),.student-kids-theme .student-review-actions>button:focus-visible:not(:disabled){border-color:#095c43;background:#095c43}.student-kids-theme .status-muted{border-color:#cbd6e2;color:#54657a;background:#eef2f6}.student-kids-theme .page-state{min-height:180px;border:1px dashed #a9c7e8;border-radius:var(--student-panel-radius);padding:clamp(22px,4vw,36px);color:var(--student-muted);background:#f7fbffeb;box-shadow:var(--ui-shadow-rest)}.student-kids-theme .page-state svg{color:var(--student-blue)}.student-kids-theme.student-section-news .student-campus-content-scroll :is(.student-news-grid,.campus-star-grid){grid-template-columns:repeat(2,minmax(0,1fr))}.student-kids-theme.student-section-news .student-campus-card,.student-kids-theme.student-section-news .student-campus-content-scroll .student-news-grid article{min-height:164px;overflow:visible;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.student-kids-theme.student-section-news .student-campus-card-open{min-height:164px;overflow:hidden;border-radius:inherit;transform:none}.student-kids-theme.student-section-news .student-campus-card-open:hover,.student-kids-theme.student-section-news .student-campus-card-open:focus-visible{box-shadow:none;transform:none}.student-kids-theme.student-section-assignments .assignment-save-state.editing{color:var(--student-coral-deep);background:var(--student-coral-soft)}.student-kids-theme.student-section-assignments .assignment-save-state.saving{color:var(--student-blue-deep);background:var(--student-blue-soft)}.student-kids-theme.student-section-assignments .student-assignment-summary>div:nth-child(2){min-width:0}.student-kids-theme.student-section-assignments .student-score-panel{border:1px solid #bfe2d5;border-radius:14px;padding:13px;background:var(--student-mint-soft)}.student-kids-theme.student-section-assignments .student-score-panel p{border-radius:12px;background:#fff}.student-kids-theme.student-section-assignments .assignment-deadline-note{border-radius:14px;padding:12px}.student-kids-theme.student-section-assignments :is(.student-assignment-question fieldset label,.student-fill-answer input,.student-answer-review dl>div,.student-answer-review>p){border-radius:12px}.student-kids-theme.student-section-assignments :is(.assignment-progress-ring small,.student-score-panel>span,.assignment-deadline-note strong,.assignment-deadline-note small,.student-question-panel>header>span,.student-assignment-question>header span,.student-assignment-question>header strong,.student-assignment-question>header b,.student-assignment-question fieldset label>strong,.student-fill-answer,.student-answer-review dt,.student-answer-review dd,.student-answer-review>p){font-size:12px}.student-kids-theme.student-section-my .growth-summary-strip{border-color:var(--student-line);border-radius:16px;background:#f5f9ff}.student-kids-theme.student-section-my .growth-back-button{border-color:#b4cae4;border-radius:12px;color:var(--student-blue-deep);background:var(--student-blue-soft)}.student-kids-theme.student-section-my .student-growth-space .growth-achievements :is(.achievement-tab,.achievement-badge){border-radius:16px}.student-kids-theme.student-section-my .student-growth-space .growth-achievements .achievement-tabs{border-color:var(--student-line);border-radius:18px;background:var(--student-blue-soft)}.student-kids-theme.student-section-my .student-growth-space .growth-achievements .achievement-tab:focus-visible{border-color:var(--student-blue);outline:3px solid var(--ui-focus-color);outline-offset:2px}.student-kids-theme.student-section-my .student-growth-space .growth-achievements .achievement-panel{border-radius:var(--student-card-radius)}.student-kids-theme.student-section-my .achievement-progress{height:9px;overflow:hidden;border-radius:999px;background:#dfe8f3}.student-kids-theme.student-section-my .achievement-progress>i{display:block;height:100%;border-radius:inherit;background:var(--student-blue)}.student-kids-theme.student-section-my :is(.growth-portfolio-detail-icon,.growth-portfolio-meta button){border-radius:14px}.student-kids-theme.student-section-my .growth-code-viewer{border-color:#294d78;border-radius:16px;box-shadow:0 12px 28px #081e3c2e}.student-kids-theme.student-section-my :is(.growth-summary-strip span,.growth-record-row>div>span,.growth-record-row time,.growth-record-row>strong small,.growth-honor-row small,.growth-next-goal div small,.growth-next-goal p,.growth-next-goal>strong small,.growth-work-lesson,.growth-work-footer,.growth-ranking-summary span,.growth-ranking-summary strong small,.growth-rank-position small,.growth-ranking-list h2 span,.growth-ranking-list p,.growth-ranking-list article>strong small,.growth-portfolio-score small){font-size:12px}.student-kids-theme .run-result-modal{background:#081c3ab8}.student-kids-theme .run-result-modal>section{border:1px solid var(--student-line);border-radius:var(--student-panel-radius);background:#fff;box-shadow:0 28px 80px #04122a57}.student-kids-theme :is(.dialog-close,.campus-share-close){width:44px;min-width:44px;height:44px;min-height:44px;border:1px solid #cbdced;border-radius:12px;color:var(--student-muted);background:var(--student-blue-soft)}.student-kids-theme .result-modal button{min-height:44px}.student-kids-theme .result-modal .modal-close{width:44px;min-width:44px;height:44px;min-height:44px}.student-kids-theme :is(.dialog-close,.campus-share-close):focus-visible{border-color:var(--student-blue);outline:3px solid var(--ui-focus-color);outline-offset:2px}.student-kids-theme .campus-share-modal>section{border-radius:var(--student-panel-radius)}.student-kids-theme :is(.campus-share-qr,.campus-share-qr-placeholder){border-color:var(--student-line);border-radius:16px;box-shadow:0 8px 22px #18437e14}.student-kids-theme .campus-share-link input{border-color:#b9d0e8;border-radius:12px;background:#f8fbff}.student-kids-theme :is(.student-class-overview-card,.assignment-card,.student-campus-card-open,.growth-portfolio-card):hover{transform:none}@media(hover:hover){.student-kids-theme :is(.student-class-overview-card,.assignment-card,.growth-portfolio-card):hover{transform:translateY(-2px)}.student-kids-theme.student-section-news .student-campus-card:has(.student-campus-card-open:hover){border-color:#96bce8;box-shadow:var(--ui-shadow-raised);transform:translateY(-2px)}}@media(max-width:920px){.student-kids-theme.student-section-news .student-campus-content-scroll :is(.student-news-grid,.campus-star-grid){grid-template-columns:1fr}}@media(max-width:720px){.student-kids-theme.student-section-news .student-campus-header>div:first-child{display:block}.student-kids-theme.student-section-news .student-campus-card,.student-kids-theme.student-section-news .student-campus-content-scroll .student-news-grid article,.student-kids-theme.student-section-news .student-campus-card-open{min-height:132px}}@media(max-width:700px){.student-kids-theme.student-section-assignments .student-assignment-summary{overflow-y:auto}.student-kids-theme.student-section-assignments .student-assignment-summary h2{display:-webkit-box;overflow:hidden;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-kids-theme.student-section-my .growth-summary-strip span{border-radius:12px}}@media(prefers-reduced-motion:reduce){.student-kids-theme *,.student-kids-theme *:before,.student-kids-theme *:after{scroll-behavior:auto}.student-kids-theme :is(.student-class-overview-card,.assignment-card,.student-campus-card,.student-campus-card-open,.growth-portfolio-card){transition:none;transform:none!important}}.role-teacher .app-body{--blue: #2764e7;--blue-dark: #1748b5;--navy: #123769;--ink: #233f63;--muted: #607693;--line: #d8e5f5;--surface: #ffffff;--background: #f4f8fe;--ui-radius-control: 12px;--ui-radius-sm: 14px;--ui-radius-md: 20px;--ui-radius-lg: 24px;--ui-border-subtle: #d8e5f5;--ui-border-strong: #abc7ed;--ui-surface-subtle: #f6f9fe;--ui-shadow-rest: 0 10px 28px rgba(28, 76, 139, .07);--ui-shadow-raised: 0 16px 36px rgba(28, 76, 139, .11);--ui-focus-color: rgba(39, 100, 231, .42);--ui-focus-ring: 0 0 0 4px rgba(39, 100, 231, .15);--teacher-card-glow-gutter: 10px;--teacher-card-glow-bleed: calc(0px - var(--teacher-card-glow-gutter));color:var(--ink);background:radial-gradient(52rem 30rem at 94% 4%,rgba(68,129,239,.08),transparent 62%),linear-gradient(145deg,#f7faff,#f1f6fd)}.role-teacher .app-main{background:radial-gradient(48rem 26rem at 100% 0,rgba(65,126,238,.055),transparent 64%),transparent}.role-teacher .app-sidebar{border-right-color:#dbe7f6;background:#fffffff5;box-shadow:none}.role-teacher .app-sidebar .primary-nav{gap:7px}.role-teacher .app-sidebar .primary-nav a{position:relative;border:1px solid transparent;border-radius:14px;color:#4f6685;font-weight:800}.role-teacher .app-sidebar .primary-nav a:hover{color:#174f9d;border-color:#e1ebf8;background:#f5f8fd}.role-teacher .app-sidebar .primary-nav a.active{color:#1b62cf;border-color:#cfe0fa;background:linear-gradient(90deg,#f0f6ff,#dfeaff);box-shadow:inset 3px 0 #2f76ef}.role-teacher .app-sidebar .primary-nav a.active .primary-nav-icon{color:#2f76ef}.role-teacher .sidebar-status{border:1px solid #dbe7f6;border-radius:15px;color:#365578;background:#fbfdff;box-shadow:0 8px 22px #1d4b890b}.role-teacher .app-main .surface,.role-teacher .app-main .surface-solid,.role-teacher .teacher-class-setup-panel,.role-teacher .teacher-schedule-fieldset,.role-teacher .teacher-class-detail-hero,.role-teacher .platform-series-panel,.role-teacher .platform-stage-card,.role-teacher .feedback-list-panel,.role-teacher .feedback-detail-panel,.role-teacher .assignment-dialog,.role-teacher .assignment-review-dialog,.role-teacher .feedback-create-dialog{border-color:#d8e5f5;border-radius:20px;background-color:#fff;box-shadow:0 10px 28px #1c4c8b12}.role-teacher .app-main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.python-code-input):not(.code-field)){border-color:#cadbef;border-radius:12px;background-color:#fbfdff}.role-teacher .app-main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.python-code-input):not(.code-field)):hover{border-color:#9ebce3;background-color:#fff}.role-teacher .app-main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.python-code-input):not(.code-field)):focus{border-color:#4b85e9;background-color:#fff;box-shadow:0 0 0 4px #2764e71f}.role-teacher .app-main :is(.button-primary,.primary-action,.feedback-new-button,.feedback-submit-button,.feedback-approve-button,.platform-stage-add-button){border-color:#2764e7;border-radius:12px;color:#fff;background-color:#2764e7;background-image:none;box-shadow:0 8px 18px #2764e733}.role-teacher .app-main :is(.button-primary,.primary-action,.feedback-new-button,.feedback-submit-button,.feedback-approve-button,.platform-stage-add-button):hover:not(:disabled),.role-teacher .app-main :is(.button-primary,.primary-action,.feedback-new-button,.feedback-submit-button,.feedback-approve-button,.platform-stage-add-button):focus-visible:not(:disabled){border-color:#1748b5;color:#fff;background-color:#1748b5;background-image:none;box-shadow:0 10px 22px #1748b53d}.role-teacher .app-main .button-secondary{border-color:#c5d8ef;border-radius:12px;color:#205cae;background:#fff;box-shadow:0 4px 12px #1f4f8f0a}.role-teacher .app-main .button-secondary:hover:not(:disabled),.role-teacher .app-main .button-secondary:focus-visible:not(:disabled){border-color:#8fb3e2;color:#1748b5;background:#f0f6ff}.role-teacher .app-main .icon-button{border-radius:12px}.role-teacher .app-main :is(.page-state,.empty-state){border-color:#cbdcf0;border-radius:18px;background:#fbfdffe0}.role-teacher .section-heading h1,.role-teacher .section-heading h2,.role-teacher .assignment-toolbar h1,.role-teacher .feedback-toolbar h1,.role-teacher .platform-series-heading h1,.role-teacher .teacher-prep-toolbar h1{color:#123769;letter-spacing:0}.role-teacher .teacher-live-class-board{border-radius:22px}.role-teacher .teacher-start-class-card{border-color:#dce7f5;border-radius:17px;background:linear-gradient(145deg,#fff,#f6f9fe);box-shadow:0 7px 20px #1f4c880e}.role-teacher .teacher-start-class-card:hover{border-color:#b7cdeb;box-shadow:0 11px 26px #1f4c8817}.role-teacher .teacher-start-class-card.active{border-color:#8fb5ed;background:linear-gradient(145deg,#fff,#edf5ff);box-shadow:inset 0 0 0 2px #2764e714,0 11px 26px #1f4c8817}.role-teacher .teacher-classes-list{grid-template-rows:minmax(0,1fr);gap:0}.role-teacher .app-main:has(.teacher-classes-list){max-width:1600px;padding:clamp(24px,2.2vw,34px) clamp(24px,2.5vw,42px)}.role-teacher .teacher-class-catalogue{grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:28px;overflow:hidden;padding:24px 28px}.role-teacher .app-main .teacher-class-catalogue{border-radius:22px;box-shadow:0 20px 48px #1f4c881f,0 4px 12px #1f4c880d}.role-teacher .teacher-class-catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;min-height:56px}.role-teacher :is(.teacher-class-catalogue-toolbar>.teacher-class-count,.platform-series-panel-heading>.teacher-class-count,.platform-stage-toolbar>.teacher-class-count){display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;margin:0;color:#55708f;font-size:15px;font-weight:850;line-height:1.2}.role-teacher .teacher-live-picker-toolbar{justify-content:space-between}.role-teacher .teacher-class-page-nav{border-color:#d5e3f4;border-radius:15px;background:#ffffffe0;box-shadow:0 7px 20px #1f4c880d;transition:border-color .22s ease,box-shadow .22s ease}.role-teacher .teacher-class-page-nav a{border-radius:11px;touch-action:manipulation;transition:color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}.role-teacher .teacher-class-page-nav a:hover{transform:translateY(-1px)}.role-teacher .teacher-class-page-nav a:active{transform:translateY(1px) scale(.985)}.role-teacher .teacher-class-page-nav a:focus-visible{outline:3px solid var(--ui-focus-color);outline-offset:2px}.role-teacher .teacher-class-page-nav a.active{background:#2764e7;box-shadow:0 7px 16px #2764e733}.role-teacher .teacher-class-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:18px 20px;width:min(100%,820px);min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:var(--teacher-card-glow-gutter) var(--teacher-card-glow-gutter) 18px;scroll-padding:var(--teacher-card-glow-gutter);scrollbar-gutter:stable;scrollbar-width:thin}.role-teacher .teacher-class-overview-card{--class-accent: #2f7df6;position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;gap:0;min-height:0;overflow:hidden;border:1px solid #d8e5f5;border-radius:15px;padding:0;background:#fff;box-shadow:0 8px 22px #1f4c880e;touch-action:manipulation;transition:border-color .24s ease,box-shadow .24s ease,filter .24s ease,transform .24s cubic-bezier(.22,1,.36,1)}.role-teacher .teacher-class-overview-card[data-course-type=scratch]{--class-accent: #2ac58b}.role-teacher .teacher-class-overview-card:before{position:absolute;inset:0 0 auto;z-index:1;height:4px;background:var(--class-accent);content:""}.role-teacher .teacher-class-overview-card:hover,.role-teacher .teacher-class-overview-card:focus-visible{border-color:#9ebee6;transform:translateY(-3px);box-shadow:0 16px 34px #1f4c881f}.role-teacher .teacher-class-overview-card:focus-visible{outline:3px solid var(--ui-focus-color);outline-offset:3px}.role-teacher .teacher-class-overview-card:active{transform:translateY(-1px) scale(.992);box-shadow:0 9px 22px #1f4c8817}.role-teacher .teacher-class-card-heading{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:20px 16px 12px}.role-teacher .teacher-class-overview-card .teacher-class-card-mark{width:50px;height:50px;border-radius:13px;background:linear-gradient(145deg,#2f84f6,#1467e8);box-shadow:0 8px 18px #246fe833;font-size:20px;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease}.role-teacher .teacher-class-overview-card:hover .teacher-class-card-mark,.role-teacher .teacher-class-overview-card:focus-visible .teacher-class-card-mark{transform:translateY(-1px);box-shadow:0 10px 22px #246fe83d}.role-teacher .teacher-class-card-heading>strong{min-width:0;margin:0;overflow:hidden;color:#153767;font-size:18px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.role-teacher .teacher-class-card-schedule{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:9px;min-width:0;margin:0 16px 12px;border:1px solid #e0eaf6;border-radius:12px;padding:10px 12px;color:#507095;background:#f5f8fc}.role-teacher .teacher-class-card-schedule>svg{width:18px;height:18px;margin-top:1px;color:#4776af}.role-teacher .teacher-class-card-schedule>span{display:grid;gap:2px;min-width:0;margin:0}.role-teacher .teacher-class-card-schedule strong,.role-teacher .teacher-class-card-schedule small{margin:0;overflow:hidden;color:#507095;font-size:12px;font-weight:750;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.role-teacher .teacher-class-card-schedule small{color:#627b99;font-weight:650}.role-teacher .teacher-class-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border-top:1px solid #e5edf7;padding:10px 16px 12px}.role-teacher .teacher-class-card-footer>span{display:inline-flex;align-items:center;gap:6px;min-width:0;margin:0;color:#526f92;font-size:12px;font-weight:750}.role-teacher .teacher-class-card-footer>span svg{flex:0 0 auto;width:17px;height:17px}.role-teacher .teacher-class-card-footer .class-course-badge{flex:0 0 auto;margin:0;padding:4px 10px}.role-teacher .teacher-class-card-mark{border-radius:17px;background:linear-gradient(145deg,#58baf0,#356bea);box-shadow:0 8px 18px #356bea30}.role-teacher .teacher-class-detail-hero{background:linear-gradient(135deg,#fff,#eef5ff)}.role-teacher .class-workspace-panel-heading,.role-teacher .teacher-prep-course-panel>.section-heading,.role-teacher .teacher-prep-lesson-panel>.section-heading,.role-teacher .teacher-prep-exercise-list>.section-heading,.role-teacher .teacher-prep-exercise-editor>.section-heading{border-bottom-color:#e1eaf6;background:linear-gradient(180deg,#fff,#fbfdff)}.role-teacher .class-workspace-panel-heading button,.role-teacher .teacher-class-settings-button,.role-teacher .teacher-class-back-link{border-color:#cbdcf1;border-radius:12px;color:#205cae;background:#f2f7ff}.role-teacher .class-workspace-empty-action{border-color:#b8d0ed;border-radius:17px;color:#205cae;background:linear-gradient(145deg,#fbfdff,#f2f7ff)}.role-teacher .teacher-schedule-fieldset{background:#f8fbff}.role-teacher .teacher-class-course-option{border-color:#d7e4f4;border-radius:17px;background:#fff}.role-teacher .teacher-class-course-option:has(input:checked){border-color:#75a5e8;background:#f1f7ff;box-shadow:0 0 0 4px #2764e714}.role-teacher .teacher-prep-toolbar,.role-teacher .custom-prep-toolbar{border-bottom-color:#dce7f5}.role-teacher .teacher-prep-course-item{border-radius:13px;background:#f7faff}.role-teacher .teacher-prep-course-item:hover{border-color:#c6d9f0;background:#f1f6fd}.role-teacher .teacher-prep-course-item.active{border-color:#a8c5ec;background:#eaf3ff;box-shadow:inset 3px 0 #2764e7}.role-teacher .teacher-prep-course-item.active small{color:#55708f}.role-teacher .teacher-prep-lesson-item{border-color:#dce7f4;border-radius:14px;background:#fff;box-shadow:0 5px 15px #1e4b8809}.role-teacher .teacher-prep-lesson-position{border-radius:11px;color:#205cae;background:#e8f2ff}.role-teacher .teacher-prep-workspace-tabs,.role-teacher .feedback-view-tabs{border-color:#d4e2f3;border-radius:13px;background:#eef4fc}.role-teacher .teacher-prep-workspace-tabs button,.role-teacher .feedback-view-tabs button{border-radius:10px}.role-teacher .teacher-prep-workspace-tabs button.active,.role-teacher .feedback-view-tabs button.active{color:#174f9d;background:#fff;box-shadow:0 4px 12px #1e4b8812}.role-teacher .courseware-visual-editor>.section-heading,.role-teacher .courseware-visual-actions,.role-teacher .courseware-advanced-json,.role-teacher .courseware-visual-editor>.validation-box,.role-teacher .custom-prep-outline,.role-teacher .custom-prep-lesson-editor{border-color:#d8e5f5;border-radius:18px;background-color:#fff;box-shadow:0 8px 22px #1c4c8b0e}.role-teacher .custom-prep-lesson-tabs>button{border-radius:12px;background:#f7faff}.role-teacher .custom-prep-lesson-tabs>button:hover{border-color:#c4d8f0;background:#f1f6fd}.role-teacher .custom-prep-lesson-tabs>button.active{border-color:#a8c5ec;background:#eaf3ff;box-shadow:inset 3px 0 #2764e7}.role-teacher .custom-prep-lesson-tabs>button>span{border-radius:10px;background:#e6f1ff}.role-teacher .custom-prep-presentation{border-color:#b9d0ec;border-radius:17px;background:linear-gradient(145deg,#fbfdff,#f3f8ff)}.role-teacher .custom-prep-file-button{border-color:#c5d8ef;border-radius:12px;color:#205cae;background:#fff;box-shadow:0 4px 12px #1f4f8f0a}.role-teacher .custom-prep-file-button:hover{border-color:#8fb3e2;background:#edf5ff}.role-teacher .run-result-modal>section{border:1px solid #d8e5f5;border-radius:20px;box-shadow:0 26px 72px #0a264f3d}.role-teacher .teacher-lesson-preview-toolbar{border-bottom-color:#dce7f5}.role-teacher .teacher-lesson-preview-toolbar>.icon-button,.role-teacher .teacher-lesson-preview-sequence .icon-button,.role-teacher .teacher-lesson-plan-viewer .icon-button{border-color:#c9dbf0;border-radius:12px;color:#205cae;background:#f8fbff}.role-teacher .teacher-lesson-preview-main-tabs,.role-teacher .teacher-lesson-preview-mobile-tabs{border-color:#d4e2f3;border-radius:13px;background:#eef4fc}.role-teacher .teacher-lesson-preview-main-tabs button,.role-teacher .teacher-lesson-preview-mobile-tabs button{min-height:44px;border-radius:10px}.role-teacher .teacher-lesson-preview-main-tabs button.active,.role-teacher .teacher-lesson-preview-mobile-tabs button[aria-selected=true]{color:#174f9d;background:#fff;box-shadow:0 4px 12px #1e4b8812}.role-teacher .teacher-lesson-preview-layout{border-color:#d7e4f4;border-radius:20px;background:#fff;box-shadow:0 10px 28px #1c4c8b12}.role-teacher .teacher-lesson-preview-main{background:#f5f8fd}.role-teacher .teacher-lesson-preview-guide{border-left-color:#dbe6f4;background:#f7faff}.role-teacher .teacher-lesson-preview-slide-error{border-radius:12px}.role-teacher .teacher-lesson-preview-slide-error button{border-radius:9px}.role-teacher .teacher-lesson-preview-slide-panel>.teacher-ppt-stage,.role-teacher .teacher-lesson-preview-code-panel .lesson-work{border-radius:14px}.role-teacher .teacher-lesson-preview-slide-controls{border-radius:12px}.role-teacher .teacher-lesson-preview-code-fallback textarea,.role-teacher .teacher-lesson-preview-code-fallback textarea:hover{border-color:#334c6d;border-radius:0;color:#e6edf6;background:#0e1d31;box-shadow:none}.role-teacher .teacher-lesson-preview-code-fallback textarea:focus{border-color:#65a0f2;border-radius:0;color:#e6edf6;background:#0e1d31;box-shadow:inset 0 0 0 1px #65a0f2;outline:0}.role-teacher .teacher-lesson-preview-empty,.role-teacher .teacher-lesson-plan-empty,.role-teacher .teacher-lesson-plan-error{border:1px solid #e0eaf6;border-radius:17px;background:#fbfdff}.role-teacher .teacher-lesson-plan-viewer>header{border-bottom-color:#dbe6f4;background:#fff}.role-teacher .teacher-lesson-plan-scroll .react-pdf__Page{border-color:#cddaea;border-radius:10px;box-shadow:0 7px 20px #1f4c8817}.role-teacher .teacher-lesson-plan-more button,.role-teacher .teacher-prep-preview-button{border-color:#c5d8ef;border-radius:12px;color:#205cae;background:#fff}.role-teacher .teacher-lesson-plan-more button:hover,.role-teacher .teacher-lesson-plan-more button:focus-visible,.role-teacher .teacher-prep-preview-button:hover,.role-teacher .teacher-prep-preview-button:focus-visible{border-color:#8fb3e2;background:#edf5ff}.role-teacher .platform-series-heading>strong,.role-teacher .platform-series-count{border-color:#d8e5f5;border-radius:18px;background:#fff;box-shadow:0 8px 22px #1c4c8b0e}.role-teacher .platform-series-card{border:1px solid #d9e5f4;border-radius:22px;box-shadow:0 9px 24px #1c4c8b11}.role-teacher .platform-series-card:hover{border-color:#aec8e9;box-shadow:0 15px 34px #1c4c8b1b}.role-teacher .platform-series-icon,.role-teacher .platform-series-cover{border-radius:21px}.role-teacher .platform-stage-card{overflow:hidden}.role-teacher .feedback-toolbar-icon{border-radius:12px;background:linear-gradient(145deg,#55b9ef,#316be7);box-shadow:0 7px 16px #316be72e}.role-teacher .feedback-list-scroll>button.active{color:#174f9d;background:#edf5ff;box-shadow:inset 3px 0 #2764e7}.role-teacher .feedback-detail-section,.role-teacher .feedback-message,.role-teacher .feedback-action-panel,.role-teacher .feedback-progress{border-color:#dce7f4;border-radius:14px}.role-teacher .assignment-workspace .assignment-settings-panel,.role-teacher .assignment-workspace .assignment-question-panel,.role-teacher .assignment-report-panel{border-radius:18px}.role-teacher .assignment-question-editor,.role-teacher .assignment-metrics article,.role-teacher .assignment-question-stats article,.role-teacher .assignment-review-scroll>label,.role-teacher .assignment-review-scroll>article{border-color:#dbe6f4;border-radius:14px;background:#fff;box-shadow:0 5px 16px #1c4c8b09}.role-teacher .assignment-dialog,.role-teacher .feedback-create-dialog{border-radius:18px}.role-teacher .app-main:has(.teacher-assignment-overview){height:100%;padding:20px clamp(18px,2vw,30px)}.role-teacher .teacher-assignment-overview{grid-template-rows:auto minmax(0,1fr);gap:0;overflow:hidden;padding:0}.role-teacher .teacher-assignment-overview>.assignment-toolbar{align-items:center;min-height:0;padding:22px 24px 18px}.role-teacher .teacher-assignment-overview .assignment-overview-tabs{grid-template-columns:repeat(2,minmax(112px,auto));gap:6px;width:max-content;margin:0;border-color:#d3e1f3;border-radius:15px;padding:5px;background:#f2f6fc}.role-teacher .teacher-assignment-overview .assignment-overview-tabs button{min-height:44px;border-radius:11px;padding:9px 16px;color:#526b8c}.role-teacher .teacher-assignment-overview .assignment-overview-tabs button:hover{color:#174f9d;background:#ffffffd1}.role-teacher .teacher-assignment-overview .assignment-overview-tabs button[aria-selected=true]{color:#fff;background:#2764e7;box-shadow:0 6px 14px #2764e733}.role-teacher .teacher-assignment-overview .assignment-overview-tabs button span{color:#456589;background:#fff}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions{align-items:center;gap:10px}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions>label{display:block}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions select{min-width:190px;min-height:44px;padding-right:36px;background-color:#fff}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions .button{min-height:44px;padding-inline:17px}.role-teacher .teacher-assignment-overview .assignment-list-panel{min-height:0;border:0;border-radius:0;padding:0 24px 24px;background:transparent;box-shadow:none}.role-teacher .teacher-assignment-overview .assignment-list-panel:focus-visible{outline-offset:-3px}.role-teacher .teacher-assignment-overview .assignment-card-grid{gap:14px}.role-teacher .teacher-assignment-overview .assignment-card{border-color:#d8e5f5;border-radius:17px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 8px 22px #1c4c8b0f}.role-teacher .teacher-assignment-overview .assignment-card:hover,.role-teacher .teacher-assignment-overview .assignment-card:focus-visible{border-color:#a8c5eb;box-shadow:0 13px 30px #1c4c8b1a}.role-teacher :is(.teacher-start-class-card,.native-session-list.compact>button,.teacher-class-overview-card,.teacher-class-course-option,.class-workspace-empty-action,.teacher-prep-course-item,.teacher-prep-lesson-item,.custom-prep-lesson-tabs>button,.teacher-class-buttons>button,.teacher-assignment-overview .assignment-card,.platform-series-card,.platform-stage-card){transition-property:border-color,background-color,box-shadow,filter,transform;transition-duration:.18s;transition-timing-function:cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (pointer:fine){.role-teacher :is(.teacher-start-class-card,.native-session-list.compact>button:not(:disabled),.teacher-class-overview-card,.teacher-class-course-option,.class-workspace-empty-action:not(:disabled),.teacher-prep-course-item,.teacher-prep-lesson-item,.custom-prep-lesson-tabs>button:not(:disabled),.teacher-class-buttons>button:not(:disabled),.teacher-assignment-overview .assignment-card:not(:disabled),.platform-series-card:not(:disabled)):hover{border-color:#84afe8;filter:drop-shadow(0 0 7px rgba(47,118,239,.16))}.role-teacher .platform-stage-card:hover{border-right-color:#84afe8;border-bottom-color:#84afe8;border-left-color:#84afe8;filter:drop-shadow(0 0 7px rgba(47,118,239,.14))}}.role-teacher :is(.native-session-list.compact>button,.teacher-class-overview-card,.custom-prep-lesson-tabs>button,.teacher-class-buttons>button,.teacher-assignment-overview .assignment-card,.platform-series-card):focus-visible,.role-teacher :is(.teacher-start-class-card,.teacher-class-course-option,.class-workspace-empty-action,.teacher-prep-course-item,.teacher-prep-lesson-item,.platform-stage-card):focus-within{border-color:#70a2e5;filter:drop-shadow(0 0 8px rgba(39,100,231,.2))}.role-teacher .platform-stage-card:focus-within{border-top-color:var(--stage-accent)}.role-teacher .assignment-empty-state{display:grid;grid-auto-rows:max-content;place-content:center;justify-items:center;gap:8px;width:100%;height:100%;min-height:260px;overflow:hidden;border:1px solid #edf3fb;border-radius:17px;padding:24px;color:#607693;background:radial-gradient(circle at 50% 46%,rgba(220,233,255,.28),transparent 34%),#fff;text-align:center}.role-teacher .assignment-empty-illustration{width:184px;height:auto;margin-bottom:2px}.role-teacher .assignment-empty-state strong{color:#173f75;font-size:18px;line-height:1.4}.role-teacher .assignment-empty-state p{max-width:440px;margin:0;color:#607693;font-size:13px;line-height:1.65}@media(max-width:900px){.role-teacher .app-main:has(.teacher-classes-list){max-width:none;padding:18px 14px 28px}.role-teacher .teacher-class-catalogue{gap:20px;padding:18px 20px}.role-teacher .teacher-assignment-overview>.assignment-toolbar{padding:16px 16px 14px}.role-teacher .teacher-assignment-overview .assignment-list-panel{padding:0 16px 16px}}@media(max-width:700px){.role-teacher .app-sidebar{box-shadow:none}.role-teacher .app-sidebar .primary-nav a.active{box-shadow:inset 0 -3px #2f76ef}.role-teacher .app-main .teacher-class-catalogue{gap:16px;padding:14px;border-radius:20px;box-shadow:0 16px 36px #1f4c881a,0 3px 10px #1f4c880b}.role-teacher .teacher-class-catalogue-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.role-teacher .teacher-class-catalogue-toolbar>.teacher-class-count{justify-self:end}.role-teacher .teacher-live-page-nav a{flex:0 0 calc(50% - 3px)}.role-teacher .teacher-class-overview-grid{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;padding:var(--teacher-card-glow-gutter) var(--teacher-card-glow-gutter) 14px}.role-teacher .app-main:has(.teacher-assignment-overview){padding:10px 12px}.role-teacher .teacher-assignment-overview>.assignment-toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.role-teacher .teacher-assignment-overview .assignment-overview-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.role-teacher .teacher-assignment-overview .assignment-overview-tabs button{min-width:0;min-height:44px}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions select{min-width:0}.role-teacher .assignment-empty-state{min-height:210px;padding:18px}.role-teacher .assignment-empty-illustration{width:148px}.role-teacher .assignment-empty-state p{max-width:300px}}@media(max-width:430px){.role-teacher .app-main:has(.teacher-classes-list){padding:14px 12px 22px}.role-teacher .app-main .teacher-class-catalogue{padding:12px}.role-teacher .teacher-class-card-heading{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:17px 13px 10px}.role-teacher .teacher-class-overview-card .teacher-class-card-mark{width:46px;height:46px;border-radius:12px;font-size:18px}.role-teacher .teacher-class-card-heading>strong{font-size:17px}.role-teacher .teacher-class-card-schedule{margin:0 12px 10px;padding:9px 10px}.role-teacher .teacher-class-card-footer{padding:9px 12px 11px}.role-teacher .teacher-assignment-overview>.assignment-toolbar{padding:12px}.role-teacher .teacher-assignment-overview .assignment-list-panel{padding:0 12px 12px}.role-teacher .teacher-assignment-overview .assignment-toolbar-actions .button{padding-inline:12px}.role-teacher .assignment-empty-state{min-height:190px;padding:12px}.role-teacher .assignment-empty-illustration{width:126px}.role-teacher .assignment-empty-state strong{font-size:16px}.role-teacher .assignment-empty-state p{max-width:280px}}@media(max-width:430px)and (max-height:680px){.role-teacher .assignment-empty-state{min-height:160px}.role-teacher .assignment-empty-illustration{width:108px}.role-teacher .assignment-empty-state p{display:none}}@media(hover:none){.role-teacher .teacher-class-page-nav a:hover,.role-teacher .teacher-class-overview-card:hover,.role-teacher .teacher-class-overview-card:hover .teacher-class-card-mark{transform:none}}@media(prefers-reduced-motion:reduce){.role-teacher :is(.teacher-start-class-card,.native-session-list.compact>button,.teacher-class-overview-card,.teacher-class-course-option,.class-workspace-empty-action,.teacher-prep-course-item,.teacher-prep-lesson-item,.custom-prep-lesson-tabs>button,.teacher-class-buttons>button,.teacher-assignment-overview .assignment-card,.platform-series-card,.platform-stage-card),.role-teacher .teacher-class-page-nav,.role-teacher .teacher-class-page-nav a,.role-teacher .teacher-class-overview-card .teacher-class-card-mark{transition:none}.role-teacher .teacher-start-class-card:hover,.role-teacher .teacher-class-overview-card:hover,.role-teacher .teacher-class-overview-card:active,.role-teacher .teacher-class-overview-card:hover .teacher-class-card-mark,.role-teacher .teacher-class-overview-card:focus-visible .teacher-class-card-mark,.role-teacher .teacher-class-page-nav a:hover,.role-teacher .teacher-class-page-nav a:active,.role-teacher .platform-series-card:hover,.role-teacher .assignment-card:hover{transform:none}}.role-teacher .app-body{--teacher-content-max-width: 1600px;--teacher-content-page-padding: clamp(24px, 2.2vw, 34px) clamp(24px, 2.5vw, 42px);--teacher-content-inner-padding: 24px 28px;--teacher-content-inner-gap: 28px;--teacher-content-radius: 22px;--teacher-content-shadow: 0 20px 48px rgba(31, 76, 136, .12), 0 4px 12px rgba(31, 76, 136, .05)}.app-layout.role-teacher:has(.teacher-content-window),html:has(.app-layout.role-teacher .teacher-content-window),body:has(.app-layout.role-teacher .teacher-content-window){height:100dvh;min-height:0;overflow:hidden}.app-layout.role-teacher:has(.teacher-content-window)>.app-body{height:calc(100dvh - 76px);min-height:0;overflow:hidden}.app-layout.role-teacher:has(.teacher-content-window)>.app-body>.app-sidebar{height:calc(100dvh - 76px)}.app-layout.role-teacher:has(.teacher-content-window)>.app-body>.app-main{width:100%;max-width:var(--teacher-content-max-width);height:calc(100dvh - 76px);min-width:0;min-height:0;margin-inline:auto;overflow:hidden;padding:var(--teacher-content-page-padding);background:radial-gradient(ellipse 70% 46% at 82% -6%,rgba(68,129,239,.115),transparent 72%),radial-gradient(ellipse 46% 38% at 102% 68%,rgba(103,153,243,.055),transparent 76%),linear-gradient(145deg,#f9fcffc7,#eef5ffa8 54%,#f6faffb8);scrollbar-gutter:auto}.role-teacher .teacher-content-window{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:1px solid #d8e5f5;border-radius:var(--teacher-content-radius);background:#fff;box-shadow:var(--teacher-content-shadow)}.role-teacher .teacher-content-window>:is(.teacher-live-native,.teacher-classes-native,.assignment-center,.teacher-prep-center,.teacher-lesson-preview,.platform-course-library,.feedback-center){width:100%;height:100%;min-width:0;min-height:0;padding:var(--teacher-content-inner-padding)}.role-teacher .teacher-content-window>:is(.page-state,.empty-state){width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;padding:var(--teacher-content-inner-padding);background:transparent;box-shadow:none}.role-teacher .teacher-content-window>.teacher-assignment-overview{border:0;border-radius:0;background:transparent;box-shadow:none}.role-teacher .teacher-assignment-overview>.assignment-toolbar{padding:0 0 18px}.role-teacher .teacher-assignment-overview .assignment-list-panel{margin-inline:var(--teacher-card-glow-bleed);overflow-x:hidden;padding:var(--teacher-card-glow-gutter) var(--teacher-card-glow-gutter) 18px;scroll-padding:var(--teacher-card-glow-gutter)}.role-teacher .teacher-content-window .teacher-live-picker .teacher-live-class-board{margin-inline:var(--teacher-card-glow-bleed)}.role-teacher .teacher-live-picker-toolbar{padding-inline:var(--teacher-card-glow-gutter)}.role-teacher .teacher-live-picker .teacher-class-card-grid{overflow-x:hidden;padding:var(--teacher-card-glow-gutter) var(--teacher-card-glow-gutter) 18px;scroll-padding:var(--teacher-card-glow-gutter)}@media(min-width:1181px){.role-teacher .teacher-live-picker .teacher-class-card-grid{row-gap:20px}}.role-teacher .platform-stage-grid{width:calc(100% + var(--teacher-card-glow-gutter) + var(--teacher-card-glow-gutter));margin-inline:var(--teacher-card-glow-bleed);padding:var(--teacher-card-glow-gutter);scroll-padding-inline:var(--teacher-card-glow-gutter)}.role-teacher .teacher-content-window>.platform-course-overview{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.role-teacher .teacher-classes-native{grid-template-rows:auto minmax(0,1fr);gap:var(--teacher-content-inner-gap)}.role-teacher .teacher-classes-native>:not(.teacher-class-catalogue-toolbar){min-height:0}.role-teacher .teacher-classes-native>.teacher-class-catalogue-toolbar{min-width:0}.role-teacher .teacher-content-window .teacher-class-catalogue{grid-template-rows:minmax(0,1fr);align-content:stretch;gap:0;width:calc(100% + var(--teacher-card-glow-gutter) + var(--teacher-card-glow-gutter));height:100%;min-height:0;margin-inline:var(--teacher-card-glow-bleed);overflow:hidden;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.role-teacher .teacher-content-window .teacher-live-picker .teacher-live-class-board{grid-template-rows:auto minmax(0,1fr);gap:var(--teacher-content-inner-gap);border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.role-teacher .teacher-content-window .teacher-class-create-panel,.role-teacher .teacher-content-window .teacher-class-detail{height:100%}@media(min-width:1381px){.role-teacher .teacher-class-setup-scroll{margin-inline:var(--teacher-card-glow-bleed);overflow-x:hidden;padding:2px var(--teacher-card-glow-gutter) var(--teacher-card-glow-gutter);scroll-padding:var(--teacher-card-glow-gutter)}}@media(min-width:1381px)and (min-height:720px){.role-teacher .teacher-content-window .teacher-class-create-form{height:100%}}@media(max-width:900px){.role-teacher .app-body{--teacher-content-page-padding: 18px 14px 28px;--teacher-content-inner-padding: 18px 20px;--teacher-content-inner-gap: 20px}.app-layout.role-teacher:has(.teacher-content-window)>.app-body{display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 76px)}.app-layout.role-teacher:has(.teacher-content-window)>.app-body>.app-sidebar{position:static;top:auto;height:auto}.app-layout.role-teacher:has(.teacher-content-window)>.app-body>.app-main{height:100%;background:radial-gradient(ellipse 76% 44% at 88% -4%,rgba(68,129,239,.08),transparent 74%),linear-gradient(145deg,#f9fcffc2,#eff6ffa3)}}@media(max-width:700px){.role-teacher .app-body{--teacher-content-inner-padding: 14px;--teacher-content-inner-gap: 16px;--teacher-content-radius: 20px;--teacher-content-shadow: 0 16px 36px rgba(31, 76, 136, .1), 0 3px 10px rgba(31, 76, 136, .045)}.app-layout.role-teacher:has(.teacher-content-window)>.app-body{height:calc(100dvh - 68px)}.role-teacher .teacher-assignment-overview>.assignment-toolbar{padding:0 0 12px}.role-teacher .teacher-prep-exercise-list .teacher-class-buttons{margin-inline:var(--teacher-card-glow-bleed);overflow-y:hidden;padding:var(--teacher-card-glow-gutter);scroll-padding-inline:var(--teacher-card-glow-gutter)}.app-layout.role-teacher:has(.teacher-content-window)>.app-body>.app-main{background:radial-gradient(ellipse 88% 38% at 92% 0,rgba(68,129,239,.07),transparent 76%),linear-gradient(155deg,#f9fcffc7,#eff6ffa8)}}@media(max-width:430px){.role-teacher .app-body{--teacher-content-page-padding: 14px 12px 22px;--teacher-content-inner-padding: 12px;--teacher-content-inner-gap: 12px}}@media(max-width:900px)and (max-height:520px)and (orientation:landscape){.app-layout.role-teacher:has(.teacher-content-window .teacher-lesson-preview)>.app-body{display:block;height:100dvh}.app-layout.role-teacher:has(.teacher-content-window .teacher-lesson-preview)>.app-body>.app-main{height:100dvh;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:radial-gradient(ellipse 84% 42% at 88% 0,rgba(68,129,239,.045),transparent 78%),#f4f8fe}}.python-toolbar-group{display:contents}.python-toolbar-group:empty{display:none}.python-lab-workspace .editor-toolbar.python-classroom-actionbar{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:10px 16px;padding:12px 16px;background:#fff}.python-classroom-actionbar .python-toolbar-group{display:flex;align-items:center;gap:8px;min-width:0}.python-lab-workspace .python-classroom-actionbar>.program-select{grid-area:1 / 1;margin:0}.python-lab-workspace .python-classroom-actionbar>.python-execution-controls{grid-area:1 / 2}.python-classroom-actionbar .python-resource-controls{grid-area:2 / 1 / auto / -1;flex-wrap:wrap;border-top:1px solid #edf0f5;padding-top:10px}.python-classroom-actionbar .python-edit-controls{margin-left:auto;padding-left:8px;border-left:1px solid #e1e7ef}.python-classroom-actionbar .python-edit-controls:empty{display:none}.python-classroom-actionbar .python-resource-controls>.work-share-control{display:inline-flex}.python-lab-workspace .editor-toolbar.python-classroom-actionbar :is(button,.python-resource-controls>a){border-radius:10px;font-size:13px;font-weight:600}.python-lab-workspace .editor-toolbar.python-classroom-actionbar .run{color:#fff;border-color:#2764e7;background:#2764e7}.python-lab-workspace .editor-toolbar.python-classroom-actionbar .run:hover:not(:disabled){color:#fff;border-color:#1c4fc1;background:#1c4fc1}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar button,.python-resource-controls>a,.python-classroom-toolbar button,.teacher-python-task-controls button,.python-lab-host-actions button,.classroom-students-heading button,.student-fullscreen-toggle){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;height:auto;margin-block:0;padding:9px 12px;border:1px solid #d4deeb;border-radius:10px;background:#fff;color:#365170;box-shadow:none;font-family:inherit;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar button,.python-resource-controls>a,.python-classroom-toolbar button,.teacher-python-task-controls button,.python-lab-host-actions button,.classroom-students-heading button,.student-fullscreen-toggle):hover:not(:disabled){background:#edf4ff;border-color:#9dbce8;color:#215bbe;transform:none;box-shadow:none}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar button,.python-resource-controls>a,.python-classroom-toolbar button,.teacher-python-task-controls button,.python-lab-host-actions button,.classroom-students-heading button,.student-fullscreen-toggle):focus-visible{outline:3px solid #a9c9ff;outline-offset:2px}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar button,.python-resource-controls>a,.python-classroom-toolbar button,.teacher-python-task-controls button,.python-lab-host-actions button)>svg{width:17px;height:17px;flex-shrink:0}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar .run,.teacher-python-task-controls .primary-action,.python-lab-host-actions .primary-action){color:#fff;border-color:#2764e7;background:#2764e7}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar .run,.teacher-python-task-controls .primary-action,.python-lab-host-actions .primary-action):hover:not(:disabled){color:#fff;border-color:#1c4fc1;background:#1c4fc1}:is(.student-python-classroom,.python-classroom-console) .python-classroom-actionbar :is(.keyboard-toggle,.materials-toggle).active{color:#205bbb;background:#eaf2ff;border-color:#a7c6f5}:is(.student-python-classroom,.python-classroom-console) .python-classroom-actionbar .editor-icon-action{width:44px;min-width:44px;flex-basis:44px;padding:0}:is(.student-python-classroom,.python-classroom-console) :is(.python-classroom-actionbar,.teacher-python-task-controls,.python-lab-host-actions) button:disabled{opacity:.48;cursor:not-allowed}.python-classroom-console .python-classroom-toolbar .teacher-classroom-view-controls .practice{color:#17694e;border-color:#b6decf;background:#eef9f4}.python-classroom-console .python-classroom-toolbar .teacher-classroom-view-controls button.active:not(.practice){color:#205bbb;border-color:#a7c6f5;background:#eaf2ff;box-shadow:0 0 0 3px #2764e71f}.python-classroom-console .classroom-students-heading .primary-action{color:#a14b43;border-color:#edd4cf;background:#fff}.python-classroom-console .teacher-python-task-controls fieldset>.primary-action{margin-left:auto}.python-classroom-console .teacher-python-task-controls fieldset{align-items:start}.python-classroom-console .teacher-python-task-controls fieldset>label:first-child{flex:1 1 180px}.python-classroom-console .teacher-python-task-controls fieldset>label:nth-child(2){flex:2 1 320px}.python-classroom-console .teacher-python-task-controls label textarea{min-height:58px;margin:0;font:inherit;line-height:1.45}.python-classroom-console .teacher-task-code{flex:1 0 100%;min-width:0}.python-classroom-console .teacher-task-code-toggle{justify-content:flex-start;width:100%;min-height:38px;padding:6px 0;border:0;background:transparent;text-align:left}.python-classroom-console .teacher-task-code-toggle:hover:not(:disabled){border:0;background:transparent}.python-classroom-console .teacher-task-code-toggle svg{width:16px;height:16px;transform:rotate(-90deg);transition:transform .15s ease}.python-classroom-console .teacher-task-code-toggle[aria-expanded=true] svg{transform:rotate(0)}.python-classroom-console .teacher-task-code-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding-top:4px}.python-classroom-console .teacher-task-code-actions{grid-column:2;display:flex;align-items:start;flex-wrap:wrap;gap:8px;max-width:220px}.python-classroom-console .teacher-task-code-editor textarea{grid-column:1;grid-row:1 / 3;min-height:96px;margin:0}.python-classroom-console .teacher-task-code-editor small{grid-column:2;color:#66758a;font-size:12px;line-height:1.5;max-width:220px}@container (max-width: 560px){.python-classroom-console .teacher-task-code-editor{grid-template-columns:minmax(0,1fr)}.python-classroom-console .teacher-task-code-actions,.python-classroom-console .teacher-task-code-editor textarea,.python-classroom-console .teacher-task-code-editor small{grid-column:1;grid-row:auto;max-width:none}}.student-python-classroom .python-student-focus .python-classroom-actionbar{grid-template-columns:minmax(0,1fr) auto}.student-python-classroom .python-classroom-actionbar>.python-execution-controls{grid-area:1 / 1}.student-python-classroom .python-classroom-actionbar .python-resource-controls{grid-area:1 / 2;border:0;padding:0}.student-python-classroom .python-classroom-actionbar .python-execution-controls{flex-wrap:wrap}@container (max-width: 620px){.python-lab-workspace .editor-toolbar.python-classroom-actionbar{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 12px}.python-classroom-actionbar .python-execution-controls{flex-wrap:wrap}.python-lab-workspace .python-classroom-actionbar>.python-execution-controls{grid-area:2 / 1}.python-classroom-actionbar .python-resource-controls{grid-area:3 / 1}.student-python-classroom .python-classroom-actionbar>.python-execution-controls{grid-area:1 / 1}.student-python-classroom .python-classroom-actionbar .python-resource-controls{grid-area:2 / 1}.python-classroom-actionbar .python-resource-controls{gap:8px}.python-classroom-actionbar .python-edit-controls{margin-left:0}}.app-layout.role-teacher:has(.python-classroom-console)>.app-body{grid-template-rows:minmax(0,1fr)}.student-classroom-stack>.student-python-classroom{position:relative;height:100%;align-items:stretch;overflow:hidden}.student-python-classroom>.student-live-stage{grid-template-rows:auto minmax(0,1fr);gap:0;min-height:0;border-radius:16px;box-shadow:none}.student-python-classroom .student-classroom-heading{align-items:center;gap:12px;margin:0;padding:14px 82px 14px 20px;border-bottom:1px solid #e1e8f0}.student-python-classroom .student-classroom-heading h1{margin:0;font-size:clamp(18px,2vw,24px);line-height:1.4;overflow-wrap:anywhere}.student-python-classroom .student-classroom-heading .status-badge{flex-shrink:0}.app-layout:has(.student-python-classroom) .student-hand-raise-button{position:absolute;top:10px;right:16px;bottom:auto;width:44px;height:44px;min-width:44px;box-shadow:none}.student-python-classroom .python-task-waiting{min-height:0;padding:24px;font-size:18px;text-align:center;background:#f8fafc}.student-python-classroom .teacher-code-presentation{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}.student-python-classroom .teacher-code-presentation .native-editor-bar{min-height:44px;padding:10px 20px;color:#526e8d;background:#f8fafc;box-shadow:none}.student-python-classroom .native-editor-bar:after{display:none}.student-python-classroom .native-editor-bar :is(.editor-file-label,small){padding:0;color:#526e8d;border:0;border-radius:0;background:transparent;box-shadow:none}.student-python-classroom .editor-file-label i{display:none}.student-python-classroom .teacher-code-presentation .student-code-row{height:100%;min-height:0;overflow:auto;align-items:start;grid-template-columns:54px minmax(max-content,1fr)}.student-python-classroom .teacher-code-presentation .student-code-row>pre{height:auto;min-height:100%;overflow:visible;background:#fff}.student-python-classroom .python-lab-workspace{border:0;border-radius:0;box-shadow:none}.student-python-classroom .python-student-focus .workspace{height:100%;min-height:0;padding:0;overflow:auto}.student-python-classroom .python-student-focus .lesson-work{width:100%;min-height:100%;height:auto;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible}.student-python-classroom .lesson-work:before{display:none}.student-python-classroom .python-task-goal{padding:14px 20px;background:#fff;border-bottom:1px solid #e7edf4}.student-python-classroom .python-task-goal h2{font-size:17px}.student-python-classroom .python-task-goal p{max-width:75ch;line-height:1.55;overflow-wrap:anywhere}.student-python-classroom .python-student-focus .editor-toolbar{padding:8px 16px;gap:8px;background:#f8fafc}.student-python-classroom .editor-toolbar button{min-height:44px;border-radius:8px;box-shadow:none}.student-python-classroom .python-student-focus .lesson-work>.editor-workspace{flex:1 0 200px}.student-python-classroom .python-lab-host-actions{align-items:center;padding:8px 16px;background:#fff}.student-python-classroom .python-lab-host-actions>[role=status]{margin-right:auto;font-size:13px;color:#526e8d}.student-python-classroom .python-lab-host-actions>[role=alert]{flex-basis:100%}.python-lab-workspace .editor-stack.keyboard-open .cm-scroller{padding-bottom:16px}.python-lab-workspace .lesson-work:has(>.virtual-keyboard){display:flex;flex-direction:column;overflow-y:auto}.python-lab-workspace .lesson-work:has(>.virtual-keyboard)>.editor-workspace{flex:1 0 200px}.python-lab-workspace .virtual-keyboard{position:static;flex:0 0 auto;width:100%;box-sizing:border-box;max-height:none;overflow:visible;border-radius:0;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:6px;box-shadow:none}.python-lab-workspace .virtual-keyboard header{display:flex;align-items:center;gap:8px;min-height:44px}.python-lab-workspace .virtual-keyboard header>span{margin-right:auto}.python-lab-workspace .virtual-keyboard header button{width:auto;min-width:44px;flex-shrink:0;height:44px;padding:0 10px;margin-left:0;border-radius:8px;white-space:nowrap}.keyboard-pages{display:flex;gap:4px}.python-lab-workspace .virtual-keyboard button[aria-pressed=true]{background:#d9e8ff;color:#174ead;border-color:#8eafe8}.python-lab-workspace .virtual-keyboard-row{display:flex;flex-wrap:nowrap;gap:5px}.python-lab-workspace .virtual-keyboard-row button{flex:1 1 0;min-width:0;max-width:none;height:44px;padding:0 3px;border-radius:8px}.python-lab-workspace .virtual-keyboard .space-key{flex:2 1 0}.python-lab-workspace .virtual-keyboard .keyboard-run{flex:1.5 1 0}@media(max-width:600px){.python-lab-workspace .virtual-keyboard header>span{font-size:0;gap:0}.python-lab-workspace .virtual-keyboard .control-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}}.student-python-classroom .student-ppt-deck{container-type:size;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;margin:0;padding:16px 16px 66px;background:#f1f4f8}.student-python-classroom .student-ppt-slide-viewport{flex-shrink:0;min-height:0;width:min(100%,calc((100cqh - 28px) * 16 / 9));height:auto;aspect-ratio:16 / 9}.student-python-classroom .student-ppt-native{min-height:0;margin:0;overflow:auto}.student-python-classroom .student-fullscreen-actions{top:auto;bottom:12px;right:16px}.student-python-classroom:is(:fullscreen,.is-fullscreen)>.student-live-stage{grid-template-rows:minmax(0,1fr)}.student-growth-review>.student-python-review.student-review-native{grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;overflow:hidden}.student-python-review .student-review-toolbar{min-width:0;padding:14px 20px;border-bottom:1px solid #e2e8f1}.student-python-review>.student-practice-native.without-mission{width:100%;height:100%;min-width:0;min-height:0;margin:0;gap:0}.student-python-review .student-code-native,.student-python-review .python-lab-workspace,.student-python-review .python-lab-workspace .lesson-work{min-width:0;min-height:0;border:0;border-radius:0;box-shadow:none;background:#fff}.student-python-review .student-code-native{width:100%;height:100%}.student-python-review .python-lab-workspace{display:block;width:100%;height:100%;overflow-y:auto}.student-python-review .python-lab-workspace .workspace{display:flex;width:100%;min-height:100%;height:auto;padding:0;overflow:visible}.student-python-review .python-lab-workspace .lesson-work{display:flex;flex-direction:column;width:100%;min-height:100%;height:auto;padding:0;overflow:visible}.student-python-review .python-lab-workspace .lesson-work:before{display:none}.student-python-review .python-lab-workspace .editor-lesson-title{padding:12px 20px 8px}.student-python-review .python-lab-workspace .editor-toolbar{padding:10px 20px}.student-python-review .python-lab-workspace .lesson-work>.editor-workspace{flex:1 1 220px;min-height:220px}.student-python-review .python-lab-workspace .checks{margin:0;border-right:0;border-left:0;border-radius:0}.student-python-review .python-lab-workspace .python-lab-host-actions{margin:0;border-radius:0}@media(max-width:760px){.student-python-review .student-review-toolbar{padding:12px}.student-python-review .python-lab-workspace .editor-lesson-title{padding:10px 12px 6px}.student-python-review .python-lab-workspace .editor-toolbar{padding:10px 12px}}@media(max-height:740px){.student-python-classroom .python-task-goal{padding-block:10px}.student-python-classroom .python-student-focus .lesson-work>.editor-workspace{min-height:160px;flex-basis:160px}}@media(max-width:820px){.student-python-classroom .student-classroom-heading{padding:12px 68px 12px 14px}.app-layout:has(.student-python-classroom) .student-hand-raise-button{top:6px;right:12px}.student-python-classroom .python-student-focus .editor-toolbar{padding:8px 12px}.student-python-classroom .python-task-goal{padding:10px 14px}}@media(max-width:600px){.student-python-classroom .student-classroom-heading{flex-wrap:wrap;gap:4px}.student-python-classroom .student-classroom-heading .status-badge{font-size:11px}.student-python-classroom .lesson-work:has(.materials-open)>.editor-workspace{min-height:420px;flex-basis:420px}}
