@import url('/studio.css');
:root{--ink:#172c42;--muted:#697b8e;--paper:#f4f8fb;--surface:#fff;--accent:#1768e5;--teal:#098b7b;--line:#e1eaf0;--soft-blue:#edf4ff;--soft-teal:#e6f5f0;--orange:#df9150;--shadow:0 14px 40px #163d6510;--radius:20px;color-scheme:light;font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{outline-offset:4px}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img,svg{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #7aafff}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.25;letter-spacing:-.03em}h1{font-size:clamp(32px,4.4vw,60px)}h2{font-size:clamp(25px,3vw,36px)}h3{font-size:20px}p{color:var(--muted)}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-70px;background:var(--ink);color:white;padding:12px 20px;z-index:999}.skip-link:focus{top:14px}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px)}.header-inner{height:88px;max-width:1344px;padding:0 40px;margin:auto;display:flex;align-items:center;gap:35px}.site-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.site-brand strong{display:block;font-size:23px;font-weight:760;line-height:1.25;letter-spacing:-.04em}.site-brand b{color:var(--accent);font-weight:700;margin-left:2px}.site-brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em;line-height:1.6}.main-nav{display:flex;gap:30px;margin:auto;align-items:center;align-self:stretch}.main-nav a{display:flex;align-items:center;position:relative;font-size:14px;font-weight:550;color:var(--muted);transition:color .2s}.main-nav a:hover,.main-nav a[aria-current]{color:var(--accent)}.main-nav a[aria-current]:after{content:"";position:absolute;height:3px;bottom:18px;width:14px;border-radius:3px;background:var(--accent);left:calc(50% - 7px)}.header-actions{display:flex;align-items:center;gap:16px}.open-pill{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;color:var(--teal);font-weight:600}.open-pill i{width:5px;height:5px;border-radius:50%;background:var(--teal)}.theme-toggle{border:1px solid var(--line);background:var(--surface);color:var(--ink);height:34px;width:34px;border-radius:50%;font-size:18px;line-height:1}.account-link{font-size:12px;font-weight:600;padding:10px 14px;background:var(--ink);color:var(--surface);border-radius:10px;white-space:nowrap}.account-link span{margin-left:8px;opacity:.6}.menu-toggle{display:none;background:none;border:0;padding:9px;width:35px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0}.site-footer{margin:70px auto 0;max-width:1344px;padding:0 40px 28px}.footer-top{border-top:1px solid var(--line);padding:35px 0;display:flex;align-items:center;gap:35px}.footer-top p{margin:0;font-size:13px}.footer-cta{margin-left:auto;color:var(--accent);font-size:13px}.footer-cta span{margin-left:20px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:11px;color:var(--muted)}.footer-bottom nav{display:flex;gap:25px}.footer-bottom a:hover{color:var(--accent)}.page-loading{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.page-loading p{font-size:13px}.loading-mark{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.app-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:min(560px,90vw);padding:13px 23px;background:var(--ink);color:var(--surface);border-radius:12px;z-index:100;box-shadow:var(--shadow);font-size:13px}.app-error{max-width:780px;padding:75px 35px;text-align:center;margin:auto}.app-error .error-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:20px;background:var(--soft-blue);font-size:24px;color:var(--accent);margin-bottom:22px}.app-error h1{font-size:30px}.app-error a{color:var(--accent)}.q-button,.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:12px;background:var(--accent);color:white;font-weight:600;font-size:14px;padding:13px 20px}.q-button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.q-container{max-width:1264px;padding:0 40px;margin:auto}.q-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.q-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.q-muted{color:var(--muted)}.q-source{font-size:11px;line-height:1.8;color:var(--muted)}
.classroom-page{height:calc(100dvh - 89px);display:flex;flex-direction:column;background:#0b1c28}.classroom-toolbar{display:flex;align-items:center;gap:22px;background:var(--surface);border-bottom:1px solid var(--line);padding:13px 25px;font-size:13px}.classroom-toolbar a{color:var(--accent)}.classroom-toolbar strong{font-size:14px}.classroom-toolbar span{margin-left:auto;color:var(--muted);font-size:11px}.classroom-toolbar button{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 12px;font-size:12px}.classroom-frame-wrap{position:relative;flex:1;min-height:300px}.classroom-frame-wrap iframe{width:100%;height:100%;border:0;background:var(--paper)}.classroom-loading{position:absolute;inset:0;display:flex;gap:15px;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);z-index:2}.classroom-loading p{max-width:480px;padding:0 22px;text-align:center}.classroom-error{color:#b34343}.classroom-active .site-footer{display:none}
html[data-theme="dark"]{--ink:#e3edf6;--muted:#94a8bb;--paper:#0d1b28;--surface:#142638;--accent:#75a9ff;--teal:#57c7ac;--line:#273d51;--soft-blue:#20354c;--soft-teal:#173e38;--shadow:0 14px 40px #0002;color-scheme:dark}html[data-theme="dark"] .account-link{background:#315f87;color:#fff}html[data-theme="dark"] .q-button{color:#0d2033}html[data-theme="dark"] .q-button.secondary{color:var(--ink)}
@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1150px){.header-inner{gap:22px;padding:0 24px}.main-nav{gap:21px}.open-pill{display:none}}@media(max-width:850px){.header-inner{height:74px;gap:14px}.site-brand strong{font-size:21px}.site-brand small{font-size:9px}.main-nav{display:none;position:absolute;left:18px;right:18px;top:82px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);align-items:stretch;margin:0;flex-direction:column;gap:2px}.main-nav.open{display:flex}.main-nav a{padding:12px 15px}.main-nav a[aria-current]:after{height:6px;width:6px;left:auto;right:14px;bottom:21px}.header-actions{margin-left:auto;gap:10px}.menu-toggle{display:block}.account-link{padding:8px 11px;font-size:11px}.classroom-page{height:calc(100dvh - 75px)}.classroom-toolbar{gap:12px}.classroom-toolbar span{display:none}.footer-top{flex-wrap:wrap}.footer-cta{margin-left:0}.footer-bottom{flex-direction:column}.site-footer{padding:0 24px 25px}.q-container{padding:0 24px}}@media(max-width:480px){.header-inner{padding:0 18px}.site-brand img{width:32px;height:32px}.account-link{padding:8px 10px}.account-link span{display:none}.theme-toggle{height:30px;width:30px}.footer-top{gap:20px}.footer-top p{font-size:12px;width:100%}.footer-bottom nav{gap:17px;flex-wrap:wrap}.site-footer{margin-top:45px}.classroom-toolbar strong{font-size:12px}.q-container{padding:0 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.app-toast,.no-print{display:none!important}body{background:white;color:#172c42}main{padding:0!important}.q-card{box-shadow:none;break-inside:avoid}}
