.adventure-frame{--bg-canvas: #fcf7ed;--bg-cream: #fffdf9;--bg-card: #ffffff;--bg-sidebar: #fff8eb;--bg-subtle: #fbeed9;--bg-active: #fae4c2;--ink-dark: #2c221e;--ink-sub: #635048;--ink-muted: #968178;--color-mango: #ff9d00;--color-mango-dark: #d47e00;--color-berry: #ff4785;--color-berry-dark: #cf2761;--color-mint: #00c988;--color-mint-dark: #009665;--color-sky: #2699fb;--color-sky-dark: #1272c4;--color-purple: #9d4edd;--color-purple-dark: #772cb8;--color-gold: #ffc700;--color-gold-dark: #d9a300;--border-thick: 2.5px solid var(--ink-dark);--border-soft: 1.5px solid #ecd8c2;--clay-card-shadow: 0 8px 0 #ecd1b4, 0 14px 24px rgba(44, 34, 30, .06);--clay-btn-shadow: 0 5px 0 var(--color-mango-dark);--clay-green-shadow: 0 5px 0 var(--color-mint-dark);--clay-berry-shadow: 0 5px 0 var(--color-berry-dark);--clay-sky-shadow: 0 5px 0 var(--color-sky-dark);--radius-giant: 26px;--radius-card: 20px;--radius-btn: 16px;--radius-pill: 999px}.adventure-frame *,.adventure-frame *:before,.adventure-frame *:after{box-sizing:border-box}.adventure-frame :where(h1,h2,h3,h4,p,ul,ol){margin-block:0}.adventure-frame{background-color:var(--bg-canvas);color:var(--ink-dark);font-family:-apple-system,BlinkMacSystemFont,Quicksand,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5}.adventure-frame .polka-dots-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#edd3b8 1.5px,transparent 1.5px);background-size:24px 24px;opacity:.65;pointer-events:none;z-index:0}.adventure-frame code,.adventure-frame pre,.adventure-frame .font-mono{font-family:Cascadia Code,Fira Code,Consolas,JetBrains Mono,monospace}.adventure-frame .clay-card{background:var(--bg-card);border:var(--border-thick);border-radius:var(--radius-card);box-shadow:var(--clay-card-shadow);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;position:relative;overflow:hidden}.adventure-frame .clay-card:hover{transform:translateY(-3px);box-shadow:0 11px #ecd1b4,0 18px 30px #2c221e14}.adventure-frame .clay-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-btn);border:var(--border-thick);font-size:13px;font-weight:900;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .1s ease,box-shadow .1s ease;outline:none}.adventure-frame .btn-mango{background:linear-gradient(180deg,#ffb833 0%,var(--color-mango) 100%);color:#fff;text-shadow:0 1.5px 0 var(--color-mango-dark);box-shadow:var(--clay-btn-shadow)}.adventure-frame .btn-mango:hover{background:linear-gradient(180deg,#ffc24d,#ffaa1a)}.adventure-frame .btn-mango:active{transform:translateY(5px);box-shadow:0 0 0 transparent}.adventure-frame .btn-mint{background:linear-gradient(180deg,#27e0a2 0%,var(--color-mint) 100%);color:#fff;text-shadow:0 1.5px 0 var(--color-mint-dark);box-shadow:var(--clay-green-shadow)}.adventure-frame .btn-mint:active{transform:translateY(5px);box-shadow:0 0 0 transparent}.adventure-frame .btn-berry{background:linear-gradient(180deg,#ff669a 0%,var(--color-berry) 100%);color:#fff;text-shadow:0 1.5px 0 var(--color-berry-dark);box-shadow:var(--clay-berry-shadow)}.adventure-frame .btn-berry:active{transform:translateY(5px);box-shadow:0 0 0 transparent}.adventure-frame .btn-sky{background:linear-gradient(180deg,#4dafff 0%,var(--color-sky) 100%);color:#fff;text-shadow:0 1.5px 0 var(--color-sky-dark);box-shadow:var(--clay-sky-shadow)}.adventure-frame .btn-sky:active{transform:translateY(5px);box-shadow:0 0 0 transparent}.adventure-frame .btn-cream{background:var(--bg-card);color:var(--ink-dark);box-shadow:0 4px #e4cfbe}.adventure-frame .btn-cream:active{transform:translateY(4px);box-shadow:0 0 0 transparent}.adventure-frame .badge-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--radius-pill);border:2px solid var(--ink-dark);font-size:11px;font-weight:900;box-shadow:0 2px #2c221e26}.adventure-frame .jelly-progress-track{width:100%;height:16px;border-radius:var(--radius-pill);background:#f1dfca;border:2px solid var(--ink-dark);box-shadow:inset 0 3px 4px #0000001a;overflow:hidden;padding:2px;position:relative}.adventure-frame .jelly-progress-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(180deg,#4eedb4 0%,var(--color-mint) 100%);border:1.5px solid var(--color-mint-dark);position:relative;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.adventure-frame .jelly-progress-fill:after{content:"";position:absolute;top:2px;left:4px;right:4px;height:3px;background:#ffffff8c;border-radius:var(--radius-pill)}.adventure-frame .nav-toy-item{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-radius:var(--radius-btn);border:2px solid transparent;font-size:13.5px;font-weight:800;color:var(--ink-sub);background:transparent;cursor:pointer;width:100%;text-align:left;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.adventure-frame .nav-toy-item:hover{background:var(--bg-subtle);color:var(--ink-dark);transform:translate(4px)}.adventure-frame .nav-toy-item.active{background:#fff;color:var(--ink-dark);border:2px solid var(--ink-dark);box-shadow:0 4px #ecd1b4;transform:translate(6px)}.adventure-frame .card-magic-box{perspective:1200px;cursor:pointer}.adventure-frame .card-magic-flipper{position:relative;min-height:290px;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}.adventure-frame .card-magic-flipper.flipped{transform:rotateY(180deg)}.adventure-frame .magic-side{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:var(--radius-giant);border:var(--border-thick);padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px #ecd1b4,0 20px 30px #0000000f}.adventure-frame .magic-front{background:linear-gradient(145deg,#fff,#fffaf2)}.adventure-frame .magic-back{background:linear-gradient(145deg,#f0fdf4,#e2faeb);transform:rotateY(180deg);border-color:var(--color-mint-dark);box-shadow:0 10px #8fd9b7}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.adventure-frame .wiggle-hover:hover{animation:wiggle .4s ease-in-out infinite}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.adventure-frame .float-bounce{animation:bounce-slow 2.4s ease-in-out infinite}.adventure-frame #confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999}:root{--adventure-canvas: #fcf7ed;--adventure-cream: #fffdf9;--adventure-card: #fff;--adventure-sidebar: #fff8eb;--adventure-active: #fae4c2;--adventure-ink: #2c221e;--adventure-sub: #635048;--adventure-muted: #968178;--adventure-mango: #ff9d00;--adventure-berry: #ff4785;--adventure-mint: #00c988;--adventure-sky: #2699fb;--adventure-line: 2.5px solid var(--adventure-ink);--adventure-sidebar-width: 320px}.adventure-frame{min-height:100dvh;background:var(--adventure-canvas);color:var(--adventure-ink);display:flex;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Quicksand,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.adventure-polka{position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#edd3b8 1.5px,transparent 1.5px);background-size:24px 24px;opacity:.65;pointer-events:none}.adventure-sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--adventure-sidebar-width);background:var(--adventure-sidebar);border-right:var(--adventure-line);display:flex;flex-direction:column;justify-content:space-between}.adventure-brand{height:88px;padding:17px 18px;border-bottom:1.5px solid #ecd8c2;display:flex;align-items:center;gap:12px;color:inherit}.adventure-logo{width:44px;height:44px;border:var(--adventure-line);border-radius:16px;display:grid;place-items:center;background:linear-gradient(#ffbf40,var(--adventure-mango));box-shadow:0 4px #d47e00;font-size:22px}.adventure-brand>span:last-child{min-width:0;display:grid;gap:3px}.adventure-brand strong{font-size:16px;font-weight:900;white-space:nowrap}.adventure-brand strong b{display:inline-block;margin-left:5px;padding:1px 6px;background:var(--adventure-berry);border:1.5px solid var(--adventure-ink);border-radius:999px;color:#fff;font-size:9px;vertical-align:2px}.adventure-brand small{color:var(--adventure-muted);font-size:10px;font-weight:800;letter-spacing:0}.adventure-sidebar nav{padding:16px 12px;display:flex;flex-direction:column;gap:6px}.adventure-nav-label{padding:4px 12px 8px;color:var(--adventure-muted);font:900 11px/1.5 Cascadia Code,Consolas,monospace;letter-spacing:0}.adventure-nav-label.secondary{padding-top:20px}.adventure-nav-item{width:100%;min-height:52px;padding:12px 14px;border:2px solid transparent;border-radius:16px;background:transparent;color:var(--adventure-sub);display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:13px;font-weight:900;text-align:left;cursor:pointer}.original-nav-caption{display:flex;align-items:center;gap:8px}.adventure-frame .adventure-nav-item small{padding:2px 6px;flex-shrink:0}.original-nav-emoji{font-size:18px;flex-shrink:0}.adventure-nav-item+.adventure-nav-item{margin-top:0}.adventure-nav-item:hover{background:#fff2dc;color:var(--adventure-ink)}.adventure-nav-item.unavailable,.adventure-nav-item:disabled{background:#efeae3;color:#9a8d86;cursor:not-allowed;opacity:.72}.adventure-nav-item.active{background:#fff;border-color:var(--adventure-ink);color:var(--adventure-ink);box-shadow:0 4px #d7b78e}.adventure-nav-item small{padding:2px 7px;border:1.5px solid var(--adventure-ink);border-radius:999px;background:#ffe3a8;color:#996000;font-size:9px;white-space:nowrap}.adventure-profile{margin:12px 16px 16px;min-height:66px;padding:9px 10px;border:var(--adventure-line);border-radius:18px;background:#fff;box-shadow:0 4px #d7b78e;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;color:inherit;text-align:left;cursor:pointer}.adventure-profile .ant-avatar{border:2px solid var(--adventure-ink);background:linear-gradient(#ffc700,#ff9d00);color:var(--adventure-ink);font-weight:900}.adventure-profile span{display:grid;min-width:0}.adventure-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.adventure-profile small{color:#009665;font-size:10px;font-weight:800}.adventure-profile>b{padding:2px 5px;border:1.5px solid var(--adventure-ink);border-radius:999px;background:#e8eaff;color:#3347b0;font-size:9px}.adventure-workspace{position:relative;z-index:1;width:calc(100% - var(--adventure-sidebar-width));min-height:100dvh;margin-left:var(--adventure-sidebar-width)}.adventure-topbar{position:sticky;z-index:15;top:0;height:68px;padding:0 28px;border-bottom:var(--adventure-line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.adventure-statuses,.adventure-top-actions{display:flex;align-items:center;gap:14px}.adventure-topbar .ant-btn{min-height:34px;border:2px solid var(--adventure-ink);border-radius:999px;color:var(--adventure-ink);font-size:12px;font-weight:900;box-shadow:0 3px #d7b78e}.adventure-frame .adventure-topbar .ant-btn{padding-inline:16px;flex-shrink:0}.adventure-topbar .ant-btn:disabled{border-color:var(--adventure-ink);background:#f4f1ec;color:#877b75;opacity:1;box-shadow:0 3px #d7d0ca}.adventure-topbar .adventure-ai-button{background:linear-gradient(#ffb833,var(--adventure-mango));box-shadow:0 4px #d47e00}.adventure-main{position:relative;min-height:calc(100dvh - 68px);padding:28px 28px 90px}.adventure-main>.page-shell,.adventure-main>.dynamic-lesson-page{width:min(1120px,100%);max-width:1120px;margin-inline:auto}.adventure-main>.page-shell{padding:0}.adventure-route-notice{width:min(1120px,100%);margin:0 auto 16px;border:2px solid var(--adventure-ink);border-radius:12px}.adventure-mobile-header,.adventure-mobile-nav,.adventure-frame .adventure-tablet-menu{display:none}.adventure-frame .original-profile-footer{border-top:2px solid #ecd8c2;padding:16px}.adventure-frame .adventure-profile{width:100%;margin:0;padding:12px 14px;border-radius:20px}.adventure-frame .original-exit{margin-top:10px;width:100%;min-height:44px;padding:7px 12px;font-size:11.5px}.adventure-frame .original-streak{background:#fff8e1;color:#d97706;font-size:12px;padding:6px 14px;white-space:nowrap}.adventure-frame .adventure-top-actions .adventure-ai-button{border-radius:16px;color:#fff;min-height:44px;text-shadow:0 1.5px 0 #d47e00}.original-ai-light{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff}.adventure-frame .adventure-top-actions .ant-btn{border-radius:16px}.adventure-frame .adventure-nav-item:nth-of-type(2) small{background:#c3fae3;color:#009665}.adventure-frame .adventure-nav-item:nth-of-type(3) small{background:#ffd6e7;color:#cf2761}.source-shell-popup .ant-modal-content,.source-shell-popup .ant-drawer-content{border:2.5px solid #2c221e;background:#fff8eb}.source-shell-popup .ant-modal-content{border-radius:26px;box-shadow:0 14px #ecd1b4,0 30px 50px #2c221e40}.source-shell-popup .adventure-login-dialog{padding:12px 0;width:100%;border:0;box-shadow:none;background:transparent}.source-shell-popup .adventure-mobile-menu{width:100%;padding:0;border:0;box-shadow:none}.source-shell-popup .ant-btn{min-height:44px;border:2px solid #2c221e;border-radius:16px}.adventure-frame :where(p,li,input,textarea){letter-spacing:0}.adventure-frame .clay-btn:disabled,.adventure-frame [aria-disabled=true]{filter:grayscale(1);opacity:.6;cursor:not-allowed}@media(max-height:850px)and (min-width:1200px){.adventure-sidebar{overflow-y:auto}.adventure-sidebar>div:first-child{flex:1}}@media(prefers-reduced-motion:reduce){.adventure-frame *,.source-shell-popup *{animation:none!important;transition:none!important}}:root[data-reduce-motion=true] .adventure-frame *{animation:none!important;transition:none!important}.adventure-login-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;padding:20px;background:#2c221e4d;display:grid;place-items:center}.adventure-login-dialog{width:min(440px,100%);padding:28px;border:var(--adventure-line);border-radius:20px;background:#fffdf9;box-shadow:0 8px #d7b78e,0 20px 45px #2c221e33;text-align:center}.adventure-login-icon{width:52px;height:52px;margin:0 auto 14px;border:2px solid var(--adventure-ink);border-radius:16px;background:#ffe3a8;display:grid;place-items:center}.adventure-login-dialog h2{margin:0;font-size:21px}.adventure-login-dialog p{margin:12px 0 22px;color:var(--adventure-sub);line-height:1.7}.adventure-login-dialog footer{display:flex;justify-content:center;gap:12px}.adventure-login-dialog .ant-btn{min-height:44px;border:2px solid var(--adventure-ink);border-radius:13px;font-weight:800}.adventure-menu-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;background:#2c221e52;display:none;justify-content:flex-end}.adventure-mobile-menu{width:min(330px,88vw);height:100%;padding:14px;border-left:var(--adventure-line);background:var(--adventure-sidebar);box-shadow:-8px 0 30px #2c221e2e}.adventure-mobile-menu header{min-height:54px;padding:4px 4px 12px;border-bottom:2px solid #ecd8c2;display:flex;align-items:center;justify-content:space-between}.adventure-mobile-menu nav{padding-top:10px;display:grid;gap:5px}.adventure-mobile-menu nav a,.adventure-mobile-menu nav button{min-height:48px;padding:10px 12px;border:2px solid transparent;border-radius:13px;background:transparent;color:var(--adventure-ink);display:flex;align-items:center;gap:10px;font-size:14px;font-weight:900;text-align:left}.adventure-frame,.adventure-frame *,.source-shell-popup *{letter-spacing:0}.adventure-frame .clay-btn,.adventure-frame .adventure-nav-item,.adventure-frame .original-exit,.adventure-frame .adventure-profile strong,.adventure-frame .adventure-topbar .ant-btn,.source-shell-popup .ant-btn,.source-shell-popup .adventure-mobile-menu nav a,.source-shell-popup .adventure-mobile-menu nav button{font-size:16px}.adventure-frame .badge-pill,.adventure-frame .adventure-nav-item small,.adventure-frame .adventure-brand strong b,.adventure-frame .adventure-brand small,.adventure-frame .adventure-profile small,.adventure-frame .adventure-profile>b,.adventure-frame .adventure-nav-label,.adventure-frame .original-streak{font-size:14px}.adventure-frame .adventure-brand{height:auto;min-height:88px}.adventure-frame .adventure-brand strong{white-space:normal}.adventure-frame .adventure-brand strong b{margin-left:0}.adventure-frame .adventure-logo{flex-shrink:0}.adventure-frame .adventure-nav-item{flex-wrap:nowrap;gap:6px;white-space:nowrap}.source-shell-popup .adventure-mobile-menu nav a,.source-shell-popup .adventure-mobile-menu nav button{white-space:nowrap}.adventure-frame .adventure-nav-item small{margin-left:auto}.adventure-frame .adventure-sidebar{overflow-y:auto}.adventure-frame .adventure-profile{grid-template-columns:38px minmax(0,1fr)}.adventure-frame .adventure-profile>b{grid-column:2;justify-self:start}.adventure-frame .adventure-topbar{height:auto;min-height:68px;padding-block:10px;flex-wrap:wrap}.adventure-frame .adventure-statuses,.adventure-frame .adventure-top-actions{flex-wrap:wrap}.adventure-frame .adventure-topbar .ant-btn{min-height:44px;height:auto;white-space:normal}.adventure-tablet-brand{display:none}@media(max-width:1199px){.adventure-tablet-brand{display:flex;align-items:center;min-height:44px;color:var(--adventure-ink);font-size:16px;font-weight:900}.adventure-sidebar{display:none}.adventure-workspace{width:100%;margin-left:0}.adventure-topbar{padding-inline:20px}.adventure-frame .adventure-tablet-menu{display:inline-flex;min-width:44px;min-height:44px;padding:0}.adventure-statuses .ant-btn:nth-child(1),.adventure-statuses .ant-btn:nth-child(2){display:none}}@media(max-width:767px){.adventure-topbar{display:none}.adventure-mobile-header{position:sticky;z-index:15;top:0;min-height:62px;padding:8px 16px;border-bottom:var(--adventure-line);background:var(--adventure-cream);display:flex;align-items:center;justify-content:space-between}.adventure-mobile-brand{min-height:44px;display:flex;align-items:center;gap:8px;color:var(--adventure-ink)}.adventure-mobile-brand span{width:38px;height:38px;display:grid;place-items:center;border:2px solid var(--adventure-ink);border-radius:13px;background:var(--adventure-mango)}.adventure-mobile-header .ant-btn{min-width:44px;min-height:44px;border:2px solid var(--adventure-ink)}.adventure-main{min-height:calc(100dvh - 62px);padding:18px 16px calc(92px + env(safe-area-inset-bottom))}.adventure-mobile-nav{position:fixed;z-index:25;inset:auto 0 0;min-height:calc(66px + env(safe-area-inset-bottom));padding:7px 6px env(safe-area-inset-bottom);border-top:var(--adventure-line);background:#fff;display:grid;grid-template-columns:repeat(5,1fr)}.adventure-mobile-nav a,.adventure-mobile-nav button{min-width:0;min-height:52px;border:0;background:transparent;color:var(--adventure-muted);display:grid;place-items:center;align-content:center;gap:2px;font-size:14px;font-weight:900}.adventure-mobile-nav a.active{color:var(--adventure-mango)}.adventure-login-dialog footer{display:grid}.adventure-menu-backdrop{display:flex}}.adventure-frame .source-lesson-view{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px;min-width:0;background:transparent}.adventure-frame .source-course{min-width:0;font-size:16px}.adventure-frame .source-course,.adventure-frame .source-course *{letter-spacing:0}.adventure-frame .source-course .block-kicker,.adventure-frame .source-course .section-kicker,.adventure-frame .source-course .draft-indicator,.adventure-frame .source-course .lesson-anchors-title,.adventure-frame .source-course .ai-status,.adventure-frame .source-course .ai-pending span,.adventure-frame .source-course .ai-answer>span,.adventure-frame .source-course small,.adventure-frame .source-course .ant-tag,.adventure-frame .source-course .notes-panel footer>span,.adventure-frame .source-course .editor-loading{font-size:14px;letter-spacing:0;line-height:1.5}.adventure-frame .source-course .ant-btn{max-width:100%;min-height:44px;height:auto;padding:8px 15px;font-size:16px;white-space:nowrap}.adventure-frame .source-course .ant-btn .ant-btn-icon,.adventure-frame .source-course .ant-btn svg{flex-shrink:0}.adventure-frame .source-course-header{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid #ecd8c2}.adventure-frame .source-course-back{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:#635048}.adventure-frame .source-course .source-course-title{flex:1;min-width:0;margin:0;color:#2c221e;font-size:calc(18px * var(--lesson-text-scale, 1));font-weight:900;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}.adventure-frame .source-course-header .badge-pill{flex-shrink:0;max-width:100%;white-space:nowrap;border:2px solid #2c221e;border-radius:999px;padding:5px 11px;font-size:14px;line-height:1.5;font-weight:900;box-shadow:0 3px #ecd1b4}.adventure-frame .source-course-unit{background:#ff9d00;color:#fff}.adventure-frame .source-course-progress{background:#e6fcf5;color:#009665}.adventure-frame .source-course-tools{display:flex;flex-shrink:0;gap:6px;margin:0}.adventure-frame .source-course-tools .ant-btn{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:2px solid #2c221e;border-radius:12px;background:#fffdf9;color:#2c221e;box-shadow:0 3px #ecd1b4}.adventure-frame .source-course .source-course-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:start;max-width:1120px;margin:0 auto}.adventure-frame .source-course .source-course-reading-only{grid-template-columns:minmax(0,1fr)}.adventure-frame .source-course-grid>article{display:flex;flex-direction:column;gap:18px;width:auto;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.adventure-frame .source-course .lesson-block,.adventure-frame .source-exercise-story{margin:0;padding:24px;background:#fff;border:2.5px solid #2c221e;border-radius:20px;box-shadow:0 8px #ecd1b4,0 14px 24px #2c221e0f;min-width:0;overflow-wrap:anywhere;scroll-margin-top:100px}.adventure-frame .source-course .lesson-block{display:flex;flex-direction:column;gap:14px}.adventure-frame .source-course h2,.adventure-frame .source-course h3{margin:0;font-size:calc(18px * var(--lesson-text-scale, 1));font-weight:900;color:#2c221e;line-height:1.5;letter-spacing:0}.adventure-frame .source-course p,.adventure-frame .source-course li,.adventure-frame .source-course .markdown-lesson-block p,.adventure-frame .source-course .markdown-lesson-block li{font-size:calc(18px * var(--lesson-text-scale, 1));color:#635048;line-height:1.75}.adventure-frame .source-course p{margin:0}.adventure-frame .source-course ul,.adventure-frame .source-course ol{padding-left:20px}.adventure-frame .source-course .lesson-block pre,.adventure-frame .source-course .source-exercise-instructions pre,.adventure-frame .source-course table{font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.75}.adventure-frame .source-course .lesson-block code,.adventure-frame .source-course .source-exercise-instructions code{font-size:inherit}.adventure-frame .source-course .ant-input,.adventure-frame .source-course .notes-panel textarea,.adventure-frame .source-course .ant-segmented-item-label,.adventure-frame .source-course .lesson-anchors a,.adventure-frame .source-course .ant-alert-message,.adventure-frame .source-course .ant-alert-description{font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.75}.adventure-frame .source-course .ant-input{padding:10px 12px}.adventure-frame .source-course .ant-alert{min-width:0;padding:12px 14px;align-items:flex-start}.adventure-frame .source-course .ant-alert-content{min-width:0}.adventure-frame .source-course .ant-alert-message,.adventure-frame .source-course .ant-alert-description{overflow-wrap:anywhere}.adventure-frame .source-course .dynamic-block-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.adventure-frame .source-course .dynamic-block-heading .ant-btn{height:auto;white-space:nowrap}.adventure-frame .source-course .dynamic-quiz-list{display:flex;flex-direction:column;gap:16px}.adventure-frame .source-course .dynamic-quiz-list fieldset{min-width:0;padding:16px;border-radius:16px;border:2px solid #2c221e;box-shadow:0 4px #ecd1b4}.adventure-frame .source-course .dynamic-quiz-list legend{white-space:normal;font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75;color:#635048;font-weight:700}.adventure-frame .source-course .ant-radio-group{display:flex;flex-direction:column;gap:8px}.adventure-frame .source-course .ant-radio-wrapper{margin:0;min-height:44px;padding:10px 14px;border:2px solid #2c221e;border-radius:16px;background:#fffdf9;font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.75;overflow-wrap:anywhere}.adventure-frame .source-course-practice{min-width:0}.adventure-frame .source-exercise-story{padding:0;overflow:hidden;background:#232936}.adventure-frame .source-exercise-instructions{padding:24px;display:flex;flex-direction:column;gap:14px;background:#fff}.adventure-frame .source-exercise-disclosure>summary{padding:12px 18px;background:#191f2b;color:#ffbf40;cursor:pointer;font-size:calc(16px * var(--lesson-text-scale, 1));font-weight:900;line-height:1.75;border-bottom:2px solid #2c221e;overflow-wrap:anywhere}.adventure-frame .source-exercise-disclosure>summary:focus-visible{outline:3px solid #2699fb;outline-offset:-3px}.adventure-frame .source-arcade.exercise-workspace{margin:0;border:0;border-radius:0;box-shadow:none;background:#232936;min-width:0}.adventure-frame .source-arcade-titlebar{padding:12px 18px;background:#191f2b;border-bottom:2px solid #2c221e;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.adventure-frame .source-arcade-title{display:flex;align-items:center;gap:8px;color:#ffbf40;font:900 14px/1.5 monospace}.adventure-frame .source-window-dots{display:flex;gap:8px}.adventure-frame .source-window-dots i{width:12px;height:12px;border-radius:50%;background:#ff5f56;border:1.5px solid #000}.adventure-frame .source-window-dots i:nth-child(2){background:#ffbd2e}.adventure-frame .source-window-dots i:nth-child(3){background:#27c93f}.adventure-frame .source-arcade-titlebar .ant-btn:disabled{color:#c7d6ce;background:#304a40;border:2px solid #597668;font-size:16px}.adventure-frame .source-arcade .local-run-guidance{padding:12px 18px;border-bottom:2px solid #2c221e;background:#283140;color:#e9eef8;font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.75;overflow-wrap:anywhere}.adventure-frame .source-arcade .workspace-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px;background:#232936;border-bottom:2px solid #2c221e}.adventure-frame .source-arcade .workspace-toolbar .ant-segmented-item,.adventure-frame .source-arcade .workspace-toolbar .ant-segmented-item-label{min-height:44px}.adventure-frame .source-arcade .workspace-toolbar .ant-segmented-item-label{display:flex;align-items:center;justify-content:center}.adventure-frame .source-arcade .workspace-toolbar .ant-segmented-group{display:flex}.adventure-frame .source-arcade .workspace-toolbar .ant-segmented-item{flex:1;min-width:0}.adventure-frame .source-arcade .workspace-toolbar .ant-segmented-item-label{padding-inline:8px;white-space:nowrap}.adventure-frame .source-arcade .workspace-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.adventure-frame .source-arcade .workspace-actions .ant-btn{min-width:44px;min-height:44px}.adventure-frame .source-arcade .workspace-actions .ant-btn span:not(.ant-btn-icon){display:inline-flex;white-space:nowrap}.adventure-frame .source-arcade .workspace-actions .ant-btn-text{color:#eef2ff;background:transparent;border:0;box-shadow:none}.adventure-frame .source-arcade .workspace-actions .ant-btn-text:hover{color:#fff;background:#3b4250}.adventure-frame .source-arcade .draft-indicator{color:#eef2ff;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.adventure-frame .source-arcade .mobile-editor-mode{display:inline-flex}.adventure-frame .source-arcade .editor-wrap{padding:0;min-height:250px;background:#1b212d}.adventure-frame .source-arcade .editor-loading{color:#eef2ff;background:#1b212d;min-height:330px}.adventure-frame .source-arcade .terminal-output{padding:14px 18px;background:#0f141d;border-top:2px solid #2c221e}.adventure-frame .source-arcade .terminal-output header{color:#ffbf40;font:900 calc(16px * var(--lesson-text-scale, 1))/1.75 monospace}.adventure-frame .source-arcade .terminal-output textarea{width:100%;min-height:240px;color:#27e0a2;background:#0f141d;font:calc(16px * var(--lesson-text-scale, 1))/1.75 monospace}.adventure-frame .source-arcade .explanation-editor{padding:18px;background:#fffdf9}.adventure-frame .source-arcade .terminal-output textarea,.adventure-frame .source-arcade .explanation-editor textarea{padding:12px;border-radius:12px}.adventure-frame .source-arcade .explanation-editor textarea{width:100%;min-height:240px;font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.75}.adventure-frame .source-arcade .explanation-editor label,.adventure-frame .source-arcade .explanation-prompt{font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.75}.adventure-frame .source-arcade .workspace-feedback{display:flex;flex-direction:column;gap:10px;padding:14px 18px 18px;background:#232936}.adventure-frame .source-arcade .workspace-feedback:empty{display:none}.adventure-frame .source-arcade .workspace-feedback .ant-alert{width:100%}.adventure-frame .source-course .summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.adventure-frame .source-course .completion-requirements{display:grid;gap:10px}.adventure-frame .source-course .completion-requirements>div{display:flex;align-items:flex-start;gap:10px;padding:14px;border:2px solid #d7c9bb;border-radius:14px;background:#fff8eb;color:#635048}.adventure-frame .source-course .completion-requirements>div.is-complete{border-color:#55b792;background:#e6fcf5;color:#087b59}.adventure-frame .source-course .completion-requirements svg{flex:0 0 auto;margin-top:3px}.adventure-frame .source-course .completion-requirements span{display:flex;min-width:0;flex-direction:column;gap:2px}.adventure-frame .source-course .completion-requirements strong{font-size:calc(16px * var(--lesson-text-scale, 1));line-height:1.6}.adventure-frame .source-course .completion-next-link{display:inline-flex;width:fit-content;max-width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:2px solid #2c221e;border-radius:14px;background:#00c988;color:#fff;box-shadow:0 4px #009665;font-size:16px;font-weight:900;line-height:1.5;text-decoration:none;white-space:nowrap}.adventure-frame .source-course .completion-next-link svg{flex-shrink:0}.adventure-frame .source-course-drawer .ant-drawer-content{background:#fff;border-left:2.5px solid #2c221e;box-shadow:-10px 0 30px #2c221e26}.adventure-frame .source-course-drawer .ant-drawer-header{padding:20px;border-bottom:2px solid #ecd8c2}.adventure-frame .source-course-drawer .ant-drawer-header-title{flex-direction:row-reverse}.adventure-frame .source-course-drawer .ant-drawer-close{margin-inline:12px 0}.adventure-frame .source-course-drawer .ant-drawer-body{padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.adventure-frame .course-support-drawer .ant-drawer-body{display:flex;flex-direction:column;min-height:0}.adventure-frame .course-support-drawer-content{display:flex;flex-direction:column;flex:1;min-height:0}.adventure-frame .source-owl-title{display:flex;align-items:center;gap:10px;color:#2c221e;font-size:14px;font-weight:900}.adventure-frame .source-owl-icon{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:#ffc700;border:2px solid #2c221e;display:grid;place-items:center;font-size:20px}.adventure-frame .source-course-drawer .ai-panel,.adventure-frame .source-course-drawer .notes-panel{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.adventure-frame .source-course-drawer .ai-panel{display:flex;flex-direction:column;flex:1;gap:14px;min-height:0}.adventure-frame .source-course-drawer .ai-panel>header{grid-template-columns:36px minmax(0,1fr)}.adventure-frame .source-course-drawer .ai-status{grid-column:2;justify-self:start}.adventure-frame .source-course-drawer .ai-answer{padding:14px;border-radius:16px;background:#fff8eb;border:2px solid #ecd8c2;overflow-wrap:anywhere;overflow-y:auto}.adventure-frame .source-course-drawer .ai-input-row{margin-top:auto;flex-shrink:0;padding-top:16px;border-top:2px solid #ecd8c2;background:#fffdf9;grid-template-columns:minmax(0,1fr) 44px}.adventure-frame .source-course-drawer textarea{border:2px solid #2c221e;border-radius:14px}.adventure-frame .source-arcade.mobile-editor-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;width:100%;height:100dvh;display:flex;flex-direction:column;overflow:auto;border-radius:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.adventure-frame .source-arcade.mobile-editor-fullscreen .editor-wrap{flex:1;min-height:250px}@media(max-width:767px){.adventure-frame .source-course .source-course-grid{grid-template-columns:minmax(0,1fr);gap:24px}.adventure-frame .source-course .lesson-block,.adventure-frame .source-exercise-instructions{padding:18px}.adventure-frame .source-course-header{flex-wrap:wrap;gap:8px}.adventure-frame .source-course .source-course-title{flex-basis:calc(100% - 48px);order:1}.adventure-frame .source-course-tools{margin-left:auto;gap:6px}.adventure-frame .source-course-drawer .ant-drawer-content{border-left:0;border-top:2.5px solid #2c221e}.adventure-frame .source-arcade .ant-segmented{max-width:100%}.adventure-frame .source-course .summary-actions{flex-direction:column;align-items:stretch}.adventure-frame .source-course .summary-actions .ant-btn,.adventure-frame .source-course .completion-next-link{width:100%}.adventure-frame .source-arcade .workspace-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end}.adventure-frame .source-arcade .workspace-actions .draft-indicator{flex:1 1 100%}.adventure-frame .source-arcade .workspace-actions .ant-btn{width:auto;padding-inline:12px}.adventure-frame .source-arcade .workspace-actions .ant-btn-text{width:44px;padding-inline:0}}@media(max-width:370px){.adventure-frame .source-course .completion-next-title{display:none}}.page-shell.source-view{--source-ink: #2c221e;--source-sub: #635048;--source-edge: #ecd8c2;--source-mint: #009665;--source-berry: #cf2761;--source-sky: #1272c4;--source-mango: #d47e00;display:flex;flex-direction:column;gap:24px;width:100%;max-width:1120px;min-width:0;margin:0 auto;padding:0 0 32px;color:var(--source-ink);font-size:16px;line-height:1.65;letter-spacing:0}.page-shell.source-view.review-page{max-width:720px}.page-shell.source-view.settings-page{max-width:740px}.source-view *,.source-view-modal *{box-sizing:border-box;letter-spacing:0}.source-view :is(h1,h2,h3,p){margin:0;overflow-wrap:anywhere}.source-view :is(h1,h2,h3,strong){color:inherit}.source-view :is(h1,h2,h3){font-weight:900;line-height:1.5}.source-view h1{font-size:24px}.source-view h2{font-size:20px}.source-view h3{font-size:18px}.source-view :is(p,small){color:var(--source-sub)}.source-view small{font-size:14px;line-height:1.6}.source-view :is(button,input,select,textarea){font:inherit}.source-view :is(button,a,input,select,textarea):focus-visible,.source-view-modal :is(button,a,input):focus-visible{outline:3px solid #1272c4;outline-offset:4px}.source-view :is(button,a,.ant-select,.ant-input-number,.ant-input-affix-wrapper),.source-view-modal :is(button,.ant-input-number,.ant-input-affix-wrapper){min-height:44px}.source-view :is(button,.ant-select,.ant-input-number),.source-view-modal button{min-width:44px}.source-view .ant-btn,.source-view .clay-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:auto;min-height:44px;padding:10px 16px;border:2.5px solid var(--source-ink);border-radius:16px;background:#fff;box-shadow:0 4px #e4cfbe;color:var(--source-ink);font-size:16px;font-weight:800;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.source-view .ant-btn-primary,.source-view .source-primary{background:linear-gradient(180deg,#ffb833,#ff9d00);box-shadow:0 5px 0 var(--source-mango);color:#2c221e}.source-view .ant-btn-dangerous{background:#fff0f6;color:#a91c50;box-shadow:0 4px #eaa5bd}.source-view :is(.ant-btn,.clay-btn):not(:disabled):active{transform:translateY(4px);box-shadow:none}.source-view .ant-btn:disabled{opacity:.6;cursor:not-allowed}.source-view .badge-pill,.source-view .eyebrow{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:4px 12px;border:2px solid var(--source-ink);border-radius:999px;background:#e0f2fe;color:var(--source-sky);box-shadow:0 2px #2c221e26;font-size:14px;font-weight:900;line-height:1.5;white-space:normal}.source-view .page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin:0;padding:0;border:0;background:none;box-shadow:none}.source-view .page-header>div{min-width:0}.source-view .page-header h1{margin:6px 0 4px;font-size:24px}.source-view .page-header p{max-width:none;color:var(--source-sub);font-size:16px}.source-view .page-actions{display:flex;flex-wrap:wrap;gap:12px}.source-view .clay-card{position:relative;min-width:0;background:#fff;border:2.5px solid var(--source-ink);border-radius:20px;box-shadow:0 8px #ecd1b4,0 14px 24px #2c221e0f}.source-view .icon-box{display:inline-flex;flex:0 0 44px;width:44px;height:44px;align-items:center;justify-content:center;border:2px solid var(--source-ink);border-radius:12px}.source-view .icon-box.blue{background:#e0f2fe;color:var(--source-sky)}.source-view .icon-box.green{background:#d7f8e8;color:var(--source-mint)}.source-view .icon-box.red{background:#ffe1eb;color:var(--source-berry)}.source-view .icon-box.amber{background:#ffe3a8;color:#845000}.source-view .ant-segmented{padding:4px;border:2px solid var(--source-ink);background:#fff;border-radius:16px;font-size:16px}.source-view .ant-segmented-item-label{min-height:44px;display:flex;align-items:center}.source-view .ant-segmented-item-selected{background:#ffe3a8;border-radius:12px}.source-view .ant-progress-inner{border:2px solid var(--source-ink);background:#f1dfca}.source-view .ant-progress-bg{background:linear-gradient(180deg,#4eedb4,#00c988);min-height:10px}.source-view.review-page .page-header{justify-content:center;text-align:center}.source-view.review-page .eyebrow{background:#ffe3a8;color:#845000}.source-view.review-page .review-card-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px;color:var(--source-sub);font-size:14px}.source-view.review-page .review-card-meta>span{font-size:14px}.source-view .card-magic-box{position:relative;perspective:1200px;width:100%;min-width:0}.source-view .card-magic-flipper{display:grid;position:relative;min-height:290px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.source-view .card-magic-flipper.flipped{transform:rotateY(180deg)}.source-view .magic-side{position:relative;inset:auto;grid-area:1 / 1;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-width:0;padding:30px;border:2.5px solid var(--source-ink);border-radius:26px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 10px #ecd1b4,0 20px 30px #0000000f}.source-view .magic-front{background:linear-gradient(145deg,#fff,#fffaf2)}.source-view .magic-back{background:linear-gradient(145deg,#f0fdf4,#e2faeb);transform:rotateY(180deg);border-color:var(--source-mint);box-shadow:0 10px #8fd9b7;color:#1a4731}.source-view .magic-side header,.source-view .magic-side footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.source-view .magic-side footer{padding-top:16px;border-top:2px dashed var(--source-edge);color:var(--source-sub)}.source-view .magic-back footer{border-color:#8fd9b7;justify-content:flex-start}.source-view .magic-back footer span{flex:1;min-width:0}.source-view .magic-back footer strong{display:block}.source-view .magic-back p{color:#1a4731;font-size:16px;font-weight:700;white-space:pre-wrap}.source-view .magic-prompt{display:flex;align-items:flex-start;gap:14px}.source-view .magic-prompt h2{font-size:20px;line-height:1.6}.source-view.review-page .magic-front .magic-prompt{margin-top:18px}.source-view.review-page .source-question-decoration{font-size:20px}.source-view.review-page .source-flip-decoration{color:var(--source-mango);font-size:14px;font-weight:900}.source-view .magic-prompt .question-mark{display:inline-flex;flex-shrink:0;background:none;color:var(--source-sky)}.source-view .magic-flip-target{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:26px;background:transparent;cursor:pointer}.source-view .grade-panel{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;min-width:0;margin:0;padding:0;text-align:center}.source-view .grade-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;min-width:0}.source-view .grade-buttons .ant-btn{flex-direction:column;gap:2px;min-height:84px;padding:12px 8px}.source-view .grade-buttons .ant-btn small{color:inherit}.source-view .grade-buttons .again{background:linear-gradient(#ffb4cd,#ff669a);box-shadow:0 5px #cf2761}.source-view .grade-buttons .hard{background:linear-gradient(#ffda87,#ffb833);box-shadow:0 5px #d47e00}.source-view .grade-buttons .good{background:linear-gradient(#b6e0ff,#4dafff);box-shadow:0 5px #1272c4}.source-view .grade-buttons .easy{background:linear-gradient(#abf6d6,#27e0a2);box-shadow:0 5px #009665}.source-view .review-complete{padding:40px 24px;text-align:center;background:#e2faeb;border:2.5px solid #009665;border-radius:26px;box-shadow:0 10px #8fd9b7}.source-view .insight-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:12px 0;border:0;border-bottom:2px dashed var(--source-edge);background:none;box-shadow:none}.source-view .insight-strip>div{display:flex;gap:12px;align-items:center}.source-view .insight-strip>div>span:last-child{display:grid}.source-view .weakness-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:start}.source-view .weakness-list{display:flex;flex-direction:column;gap:20px;list-style:none;margin:0;padding:0}.source-view .weakness-list-item{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:18px;text-align:left;color:var(--source-ink);cursor:pointer}.source-view .weakness-list-item.active{border-color:#ff4785;background:#fff5f8}.source-view .weakness-list-item>span:last-child{color:var(--source-sub)}.source-view .source-weakness-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.source-view .trend{display:inline-flex;align-items:center;font-family:monospace;color:var(--source-berry);font-weight:900}.source-view .weakness-detail{display:flex;flex-direction:column;gap:18px;padding:26px}.source-view .weakness-detail>header{display:flex;justify-content:space-between;gap:18px;border-bottom:2px solid var(--source-edge);padding-bottom:14px}.source-view .source-mastery-score{display:flex;flex-direction:column;text-align:right;flex-shrink:0}.source-view .source-mastery-score strong{font:900 28px monospace;color:var(--source-berry)}.source-view .source-mastery-score span{font-size:14px;color:var(--source-sub)}.source-view .observation{display:flex;gap:10px;align-items:flex-start}.source-view .observation svg{flex-shrink:0}.source-view .detail-label{display:block;color:#845000;font-weight:900;margin-bottom:8px}.source-view .evidence-list{display:flex;flex-direction:column;gap:8px}.source-view .evidence-list>div{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;background:#fff8eb;border:1.5px solid var(--source-edge);border-radius:12px}.source-view .evidence-list p{flex:1}.source-view .evidence-list svg{flex-shrink:0;color:var(--source-mint)}.source-view .recommended-action{padding:14px;border:2px solid #90cdf4;border-radius:14px;background:#e0f2fe}.source-view .recommended-action>div{display:flex;gap:12px;align-items:flex-start}.source-view .recommended-action .detail-label{color:var(--source-sky)}.source-view .level-banner{display:flex;align-items:center;gap:18px;padding:18px 0;background:none;border:0;border-bottom:2px dashed var(--source-edge);border-radius:0;box-shadow:none}.source-view .level-emblem{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0;border:2.5px solid var(--source-ink);border-radius:20px;background:#ffda87;box-shadow:0 5px #d47e00}.source-view .level-copy{flex:1;min-width:0}.source-view .level-copy>span,.source-view .level-copy>strong{display:block}.source-view .level-progress{width:260px;max-width:100%}.source-view .level-progress>div:first-child{display:flex;justify-content:space-between}.source-view .skill-tree,.source-view .achievements-section{padding:0;border:0;border-radius:0;box-shadow:none;background:none}.source-view .section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.source-view .source-skill-grid,.source-view .achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}.source-view .source-skill-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;min-height:200px;text-align:left;color:var(--source-ink)}.source-view button.source-skill-tile{cursor:pointer;transition:transform .2s ease}.source-view button.source-skill-tile:hover{transform:translateY(-3px)}.source-view .source-skill-tile.mastered{background:#f0fdf4;border-color:#009665}.source-view .source-skill-tile.mastered .badge-pill{background:#a7f3d0;color:#16563d}.source-view .source-skill-tile.learning{background:#fff9ee;border-color:#d47e00;box-shadow:0 8px #d47e00}.source-view .source-skill-tile.learning .badge-pill{background:#ffb833;color:#563400}.source-view .source-skill-tile.locked{background:#f7f8fa;border-color:#7d7772;box-shadow:0 8px #dad6d2}.source-view .source-skill-tile.locked .badge-pill{background:#e8e8ed;color:#514c49}.source-view .source-skill-level{display:flex;align-items:center;gap:8px;color:#635048}.source-view .source-achievement-tile{background:#fff0f6;border-color:#cf2761}.source-view .source-achievement-tile .badge-pill{background:#ffd1e1;color:#a91c50}.source-view .skill-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.source-view .skill-legend span{display:inline-flex;gap:6px;align-items:center}.source-view .skill-legend i{width:12px;height:12px;border:1px solid var(--source-ink);border-radius:50%;background:#e8e8ed}.source-view .skill-legend i.mastered{background:#00c988}.source-view .skill-legend i.learning{background:#ffb833}.source-view .skill-legend i.available{background:#90cdf4}.source-view .achievement-grid>article{padding:20px;border:2.5px solid var(--source-ink);border-radius:20px;box-shadow:0 8px #ecd1b4;background:#fff}.source-view .achievement-grid>article.unlocked{border-color:#cf2761;background:#fff0f6}.source-view .roadmap-layout{display:block}.source-view .roadmap-track{display:flex;flex-direction:column;gap:24px}.source-view .roadmap-search{width:100%;max-width:100%}.source-view .roadmap-summary{display:flex;align-items:center;gap:10px}.source-view .source-roadmap-stage{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px}.source-view .source-roadmap-stage.complete{background:#f0fdf4;border-color:#009665}.source-view .source-roadmap-stage.current{background:#fff9ee;border-color:#d47e00}.source-view .source-roadmap-stage.locked{background:#f7f8fa;border-color:#7d7772;box-shadow:0 8px #dad6d2}.source-view .source-roadmap-stage.complete .badge-pill{background:#a7f3d0;color:#16563d}.source-view .source-roadmap-stage.current .badge-pill{background:#ffb833;color:#563400}.source-view .source-roadmap-stage.locked .badge-pill{background:#e8e8ed;color:#514c49}.source-view .source-stage-copy{flex:1;min-width:0}.source-view .source-stage-copy h2{font-size:18px;margin:6px 0 4px}.source-view .source-stage-copy .stage-subtitle{font-size:16px}.source-view .lesson-chip-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.source-view .lesson-chip-list>span{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;font-size:16px}.source-view .source-stage-copy .lesson-chip-list>span>span{font-size:14px}.source-view .stage-progress{display:flex;align-items:center;gap:12px;max-width:320px;margin-top:14px}.source-view .source-stage-action{display:flex;flex-direction:column;gap:12px;align-items:center;flex:0 0 190px;max-width:100%}.source-view .source-stage-action>span{display:inline-flex;align-items:center;gap:8px}.source-view .source-settings-stack,.source-view .settings-main,.source-view .settings-aside{display:flex;flex-direction:column;gap:24px;width:100%;min-width:0}.source-view .settings-aside{position:static;align-self:stretch}.source-view .ai-config-panel{display:flex;flex-direction:column;gap:18px;width:100%;min-width:0;padding:28px;border:2.5px solid var(--source-ink);border-radius:20px;background:#fff;box-shadow:0 8px #ecd1b4,0 14px 24px #2c221e0f}.source-view .ai-config-panel>header,.source-view .settings-section>header,.source-view .account-section>header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.source-view .ai-config-panel>header{flex-wrap:wrap}.source-view .ai-config-panel>header>div{flex:1;min-width:150px}.source-view .ai-config-panel>header .ant-tag{white-space:normal;overflow-wrap:anywhere}.source-view .ai-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.source-view .ai-form-grid>*{grid-column:auto;min-width:0}.source-view .ai-quota-strip{display:flex;flex-wrap:wrap;gap:12px;padding:14px 0;border-top:2px dashed var(--source-edge);border-bottom:2px dashed var(--source-edge);background:none}.source-view .ai-form-actions{display:flex;width:100%}.source-view .ai-form-actions .ant-space-item{flex:1;min-width:150px}.source-view .ai-form-actions .ant-btn{width:100%}.source-view :is(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector){border:2px solid var(--source-ink);border-radius:14px;background:#fff8eb;font-size:16px}.source-view .ant-input{padding:10px 12px}.source-view .ant-input-affix-wrapper .ant-input{border:0;padding:0;background:transparent;border-radius:0}.source-view .ant-input-number-input{min-height:40px;font-size:16px}.source-view .ant-select .ant-select-selector{min-height:44px;border:2px solid var(--source-ink);border-radius:14px;background:#fff8eb}.source-view .ant-radio-group{display:inline-flex;flex-wrap:wrap}.source-view .ant-form-item-label>label{font-size:16px;font-weight:800;height:auto}.source-view .ant-form-item-extra{font-size:14px}.source-view .settings-section,.source-view :is(.account-card,.export-card,.storage-card){padding:24px 0;border:0;border-top:2px solid var(--source-edge);border-radius:0;box-shadow:none;background:none}.source-view .setting-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1.5px dashed var(--source-edge)}.source-view .setting-row>div:first-child{flex:1;min-width:0}.source-view .setting-row>div:first-child>strong,.source-view .setting-row>div:first-child>span{display:block}.source-view .setting-row>div:first-child>span{color:var(--source-sub);font-size:16px}.source-view .setting-row .ant-select{width:168px}.source-view .number-control{display:flex;align-items:center;gap:8px}.source-view .number-control .ant-input-number{width:100px}.source-view .text-scale-control{display:flex;align-items:center;gap:10px;width:240px}.source-view .text-scale-control .ant-slider{flex:1;min-width:100px}.source-view .ant-slider-handle:before{width:44px;height:44px;top:-17px;right:-17px;bottom:-17px;left:-17px}.source-view .ant-radio-button-wrapper{min-width:44px;min-height:44px;padding-inline:12px;text-align:center;line-height:40px;font-size:16px}.source-view .ant-switch{min-width:60px;min-height:44px}.source-view .ant-switch .ant-switch-handle{top:12px}.source-view .ant-switch .ant-switch-inner{display:flex;align-items:center;height:40px}.source-view .export-card{display:flex;flex-direction:column;gap:14px}.source-view .export-card ul{list-style:none;margin:0;padding:0}.source-view .export-card li{display:flex;align-items:center;gap:10px;padding:6px 0}.source-view .storage-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.source-view .save-settings{width:100%}.source-view .admin-section{padding:0}.source-view .admin-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:20px}.source-view .admin-toolbar .ant-select{min-width:150px}.source-view .admin-tabs .ant-tabs-tab{min-height:44px;font-size:16px}.source-view .admin-tabs .ant-tabs-tab-btn>span{display:inline-flex;align-items:center;gap:8px}.source-view .source-admin-table-wrap{padding:24px;overflow-x:auto}.source-view .source-admin-table{width:100%;text-align:left;border-collapse:collapse;table-layout:fixed;font-size:16px}.source-view .source-admin-table th{padding:10px 8px;color:var(--source-sub);border-bottom:2px solid var(--source-edge)}.source-view .source-admin-table td{padding:14px 8px;vertical-align:top;border-bottom:1px solid var(--source-edge);overflow-wrap:anywhere}.source-view .source-admin-table th:first-child{width:25%}.source-view .source-admin-table th:last-child{width:30%}.source-view .source-admin-table td:first-child :is(strong,code,small){display:block}.source-view .source-admin-actions{display:flex;flex-wrap:wrap;gap:10px}.source-view .source-admin-actions .ant-btn{padding:8px 10px}.source-view .admin-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.source-view .admin-two-column .admin-section{padding:20px 0;background:none;border:0;border-radius:0;box-shadow:none}.source-view .policy-options{display:flex;flex-direction:column;gap:16px}.source-view .policy-options .ant-radio-wrapper{min-height:44px;font-size:16px}.source-view .policy-options :is(strong,small){display:block}.source-view .invite-create,.source-view .issued-token{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.source-view .issued-token code{overflow-wrap:anywhere}.source-view .invitation-list>article,.source-view .audit-list>button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;border-bottom:2px dashed var(--source-edge);padding:16px 0;background:none;text-align:left}.source-view .invitation-list :is(strong,small),.source-view .audit-list :is(strong,small){display:block}.source-view .audit-list>button{cursor:pointer}.source-view-modal{font-size:16px}.source-view-modal .ant-modal-content{border:2.5px solid #2c221e;border-radius:20px}.source-view-modal .ant-modal-body{font-size:16px;overflow-wrap:anywhere}.source-view-modal .quota-form{display:flex;flex-direction:column;gap:18px;margin:20px 0}.source-view-modal .quota-form label{display:flex;flex-direction:column;gap:8px}.source-view-modal .quota-form .ant-input-number{width:100%;font-size:16px}.source-view-modal .quota-actions{display:flex;flex-wrap:wrap;gap:12px}.source-view-modal .ant-btn{white-space:normal;height:auto;font-size:16px}.source-view-modal .ant-input{font-size:16px}.source-view-modal .audit-json{white-space:pre-wrap;overflow-wrap:anywhere}.source-view .account-identity{display:flex;align-items:center;gap:24px;padding:24px 0;border:0;border-bottom:2px solid var(--source-edge);background:none;box-shadow:none;border-radius:0}.source-view .account-avatar-wrap{position:relative;flex-shrink:0}.source-view .account-avatar{border:2.5px solid var(--source-ink);background:#e0f2fe}.source-view .avatar-camera{position:absolute;right:-8px;bottom:-8px;display:grid;place-items:center;border:2px solid var(--source-ink);border-radius:14px;background:#ffb833;cursor:pointer}.source-view .account-identity-copy{flex:1;min-width:0}.source-view .account-avatar-actions{display:flex;flex-wrap:wrap;gap:12px;max-width:300px}.source-view .account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.source-view .account-section{padding:20px 0;border:0;border-bottom:2px dashed var(--source-edge);background:none;box-shadow:none;border-radius:0}.source-view .account-password-section{grid-column:1 / -1}.source-view .account-section-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:2px solid var(--source-ink);border-radius:12px;background:#e0f2fe}.source-view .account-section-icon.amber{background:#ffe3a8}.source-view .account-section-icon.coral{background:#ffe1eb}.source-view .visibility-control,.source-view .visibility-control>div:first-child{display:flex;align-items:center;gap:12px;justify-content:space-between}.source-view .visibility-control span{min-width:0}.source-view .visibility-control small{display:block}.source-view .password-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.source-view .leaderboard-board{padding:24px;border:2.5px solid var(--source-ink);border-radius:20px;background:#fff;box-shadow:0 8px #ecd1b4}.source-view .leaderboard-board>header,.source-view .leaderboard-board>header>div{display:flex;justify-content:space-between;align-items:center;gap:16px}.source-view .leaderboard-mark{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--source-ink);border-radius:14px;background:#ffc700}.source-view .leaderboard-list{list-style:none;margin:18px 0 0;padding:0}.source-view .leaderboard-list>li{display:grid;grid-template-columns:36px 48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0;border-bottom:2px solid var(--source-edge);background:none;border-radius:0}.source-view .leaderboard-list>li.top-1{border-color:#ffb833}.source-view .leaderboard-list>li.top-2{border-color:#90cdf4}.source-view .leaderboard-list>li.top-3{border-color:#ffb4cd}.source-view .leaderboard-rank{display:grid;place-items:center;color:#845000;font-weight:900}.source-view .leaderboard-name{min-width:0}.source-view .leaderboard-name :is(strong,small),.source-view .leaderboard-xp :is(strong,small){display:block}.source-view .leaderboard-xp{text-align:right;font-family:monospace}.source-view .current-player .leaderboard-name strong{color:var(--source-sky)}.source-view .current-rank{display:flex;flex-wrap:wrap;gap:24px;padding:20px 0;border:0;border-top:2px solid var(--source-sky);background:none;box-shadow:none}.source-view .leaderboard-empty{padding:32px 0;border:0;border-top:2px dashed var(--source-edge);border-radius:0;box-shadow:none;background:none}@media(max-width:1000px){.source-view .source-skill-grid,.source-view .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-view .level-banner{flex-wrap:wrap}.source-view .level-progress{width:100%}}@media(max-width:700px){.page-shell.source-view{gap:20px;font-size:16px}.source-view .weakness-layout,.source-view .admin-two-column,.source-view .account-settings-grid,.source-view .password-fields{grid-template-columns:minmax(0,1fr)}.source-view .account-password-section{grid-column:auto}.source-view .source-roadmap-stage,.source-view .account-identity{flex-direction:column;align-items:stretch}.source-view .source-stage-action{flex-basis:auto;align-items:stretch}.source-view .grade-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.source-view .magic-side{padding:22px}.source-view .card-magic-flipper{min-height:360px}.source-view .magic-prompt{flex-direction:column;gap:8px}.source-view .weakness-detail{padding:20px}.source-view .weakness-detail>header{flex-wrap:wrap}.source-view .source-mastery-score{text-align:left}.source-view .setting-row{gap:16px;flex-wrap:wrap}.source-view .setting-row>div:first-child{flex-basis:65%}.source-view .text-scale-control{width:100%}.source-view .ai-config-panel{padding:20px}.source-view .ant-input-number-handler-wrap,.source-view-modal .ant-input-number-handler-wrap{display:none}.source-view .ant-input-password-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.source-view .account-avatar-actions{max-width:none}.source-view .source-admin-table-wrap{padding:18px}.source-view .source-admin-table,.source-view .source-admin-table tbody,.source-view .source-admin-table tr,.source-view .source-admin-table td{display:block;width:100%}.source-view .source-admin-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.source-view .source-admin-table tr+tr{border-top:2.5px solid var(--source-ink);margin-top:16px;padding-top:16px}.source-view .source-admin-table td{padding:10px 0;border:0}.source-view .source-admin-table td:before{content:attr(data-label);display:block;font-size:16px;font-weight:800;color:var(--source-sub);margin-bottom:4px}.source-view .leaderboard-board{padding:18px}.source-view .leaderboard-board>header{align-items:flex-start;flex-wrap:wrap}.source-view .leaderboard-list>li{grid-template-columns:24px 44px minmax(0,1fr);gap:10px}.source-view .leaderboard-xp{grid-column:3;display:flex;gap:8px;text-align:left}.source-view .leaderboard-list .ant-avatar{max-width:44px;max-height:44px}}@media(max-width:440px){.source-view .source-skill-grid,.source-view .achievement-grid{grid-template-columns:minmax(0,1fr)}.source-view .source-skill-tile{min-height:180px}}@media(prefers-reduced-motion:reduce){.source-view *,.source-view *:before,.source-view *:after{animation:none!important;transition:none!important}.source-view .card-magic-flipper.flipped,.source-view .magic-back{transform:none}.source-view .magic-side[aria-hidden=true]{visibility:hidden}.source-view button.source-skill-tile:hover{transform:none}}html[data-reduce-motion=true] .source-view *,html[data-reduce-motion=true] .source-view *:before,html[data-reduce-motion=true] .source-view *:after{animation:none!important;transition:none!important}html[data-reduce-motion=true] .source-view .card-magic-flipper.flipped,html[data-reduce-motion=true] .source-view .magic-back{transform:none}html[data-reduce-motion=true] .source-view .magic-side[aria-hidden=true]{visibility:hidden}html[data-reduce-motion=true] .source-view button.source-skill-tile:hover{transform:none}.source-view.source-view p,.source-view.source-view .weakness-list-item>strong,.source-view.source-view .weakness-list-item>span:last-child,.source-view.source-view .recommended-action strong,.source-view.source-view .source-skill-tile>strong,.source-view.source-view .lesson-chip-list>span,.source-view.source-view .export-card li,.source-view.source-view .setting-row>div:first-child>strong,.source-view.source-view .setting-row>div:first-child>span,.source-view.source-view .visibility-control strong,.source-view.source-view .visibility-control small,.source-view.source-view .policy-options strong,.source-view.source-view .policy-options small,.source-view.source-view .source-admin-table th,.source-view.source-view .source-admin-table td,.source-view.source-view .source-admin-table td>strong,.source-view.source-view .source-admin-table td>code,.source-view.source-view .account-identity-copy p code,.source-view.source-view .leaderboard-name>strong,.source-view.source-view .audit-list strong,.source-view.source-view .invitation-list strong,.source-view.source-view .ant-form-item-label>label,.source-view.source-view .ant-form-item-extra,.source-view.source-view .ant-form-item-explain,.source-view.source-view .ant-input,.source-view.source-view .ant-input-number-input,.source-view.source-view .ant-select-selection-item,.source-view.source-view .ant-select-selection-placeholder,.source-view.source-view .ant-select-selection-search-input,.source-view.source-view .ant-input-number-group-addon,.source-view.source-view .ant-segmented-item-label,.source-view.source-view .ant-tabs-tab-btn,.source-view.source-view .ant-checkbox-wrapper,.source-view.source-view .ant-radio-wrapper,.source-view.source-view .ant-radio-button-wrapper,.source-view.source-view .ant-radio-button-label,.source-view.source-view .number-control>span,.source-view.source-view .text-scale-control>span,.source-view.source-view .storage-card>div,.source-view.source-view .source-skill-tile>small,.source-view.source-view .source-skill-level,.source-view.source-view .magic-side footer>span:not(.source-flip-decoration),.source-view.source-view .magic-side footer strong,.source-view.source-view .issued-token code,.source-view.source-view .clay-btn,.source-view.source-view .ant-btn,.source-view.source-view .ant-btn>span,.source-view.source-view .grade-buttons strong,.source-view.source-view .ant-alert-message,.source-view.source-view .ant-alert-description,.source-view.source-view .ant-empty-description,.source-view.source-view .ant-result-subtitle,.source-view.source-view .ant-spin-text,.source-view-modal.source-view-modal p,.source-view-modal.source-view-modal .source-skill-detail li,.source-view-modal.source-view-modal .quota-form label>span,.source-view-modal.source-view-modal .ant-input,.source-view-modal.source-view-modal .ant-input-number-input,.source-view-modal.source-view-modal .ant-btn>span,.source-view-modal.source-view-modal .ant-alert-message,.source-view-modal.source-view-modal .ant-alert-description,.source-view-modal.source-view-modal .ant-empty-description,.source-view-modal.source-view-modal .ant-descriptions-item-label,.source-view-modal.source-view-modal .ant-descriptions-item-content,.source-view-modal.source-view-modal .audit-json{font-size:16px;overflow-wrap:anywhere}.source-view.source-view .badge-pill,.source-view.source-view .eyebrow{font-size:14px}.source-view.source-view .ant-tag:not(.badge-pill){font-size:14px}.source-view.source-view .section-kicker,.source-view.source-view .trend,.source-view.source-view .detail-label,.source-view.source-view .roadmap-summary>span,.source-view.source-view .stage-progress>span,.source-view.source-view .source-stage-action>span,.source-view.source-view .level-copy>span,.source-view.source-view .level-progress>div>span,.source-view.source-view .skill-legend span,.source-view.source-view .achievement-total,.source-view.source-view .ai-quota-strip span,.source-view.source-view .audit-list code,.source-view.source-view small,.source-view-modal.source-view-modal small,.source-view-modal.source-view-modal .ant-tag{font-size:14px;overflow-wrap:anywhere}.source-view.source-view .source-skill-tile>small,.source-view.source-view .visibility-control small,.source-view.source-view .policy-options small{font-size:16px}.source-view.source-view :is(.badge-pill,.ant-tag){max-width:100%;white-space:normal;overflow-wrap:anywhere}.source-view.source-view .leaderboard-name strong{overflow:visible;text-overflow:clip;white-space:normal}.source-view :is(.recommended-action>div>div,.invitation-list article>span,.magic-prompt h2){min-width:0}.source-view .source-skill-level{flex-wrap:wrap}.source-view .level-progress>div:first-child{flex-wrap:wrap;gap:4px 12px}.source-view .ant-segmented-group{flex-wrap:wrap}.source-view .ant-segmented-item-label,.source-view .ant-select-selection-item{white-space:normal;overflow-wrap:anywhere}.source-view .ant-select-single{height:auto;min-height:44px}.source-view .ant-select-single .ant-select-selector{height:auto}.source-view .ant-select-single .ant-select-selection-item{line-height:1.5;padding-block:8px}.source-view .visibility-control{flex-wrap:wrap}.source-view .visibility-control>div:first-child{flex:1 1 180px;min-width:0}.source-view .invitation-list>article,.source-view .audit-list>button{flex-wrap:wrap}.source-view .source-admin-actions .ant-btn{max-width:100%}.source-view.source-view h1{font-size:24px}.source-view.source-view h2{font-size:20px}.source-view.source-view h3{font-size:18px}.source-view.source-view .source-mastery-score strong{font-size:28px}.source-view.source-view .level-copy>strong{font-size:20px}.source-view.source-view .level-copy>strong{color:var(--source-ink)}.source-view.source-view .level-copy>span,.source-view.source-view .level-copy>p,.source-view.source-view .level-progress>div>span,.source-view.source-view .level-progress>small{color:var(--source-sub)}.adventure-dashboard{width:min(1120px,100%);margin:0 auto;display:flex;flex-direction:column;gap:24px}.clay-panel{border:var(--adventure-line);border-radius:20px;background:#fff;box-shadow:0 8px #ecd1b4,0 14px 24px #2c221e0f}.adventure-frame .adventure-welcome{padding:28px;background:linear-gradient(135deg,#fff9ee,#fff0d4);display:flex;align-items:center;justify-content:space-between;gap:28px}.adventure-welcome-copy{max-width:680px}.adventure-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.adventure-badge{display:inline-flex;min-height:24px;padding:3px 10px;border:1.5px solid var(--adventure-ink);border-radius:999px;align-items:center;font:900 11px/1.2 Cascadia Code,Consolas,monospace;box-shadow:0 2px #c9aa82}.adventure-badge.mint{background:var(--adventure-mint);color:#fff}.adventure-badge.gold{background:#ffc700;color:var(--adventure-ink);filter:grayscale(.35)}.adventure-badge.sky{background:#e0f2fe;color:#09659c}.adventure-welcome h1{margin:0 0 6px;font-size:26px;line-height:1.35;font-weight:900}.adventure-welcome p,.adventure-quest-card p{margin:0;color:var(--adventure-sub);font-size:16px;line-height:1.7}.adventure-welcome-action{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.adventure-welcome-action>span{color:var(--adventure-muted);font-size:11px;font-weight:800}.clay-action{min-height:46px;padding:11px 20px;border:2.5px solid var(--adventure-ink);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--adventure-ink);font-size:14px;font-weight:900;box-shadow:0 5px #887268;cursor:pointer}.clay-action:active{transform:translateY(3px);box-shadow:0 2px #887268}.clay-action.mint{background:linear-gradient(180deg,#27e0a2,#00c988);box-shadow:0 5px #009665;color:#fff}.clay-action.sky{background:linear-gradient(180deg,#5ab2ff,#2699fb);box-shadow:0 5px #1272c4;color:#fff}.clay-action.cream{background:#fff;box-shadow:0 5px #e4cfbe}.adventure-primary-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.adventure-quest-card,.adventure-journey{min-height:360px;padding:26px;display:flex;flex-direction:column;justify-content:space-between}.adventure-card-topline{margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.adventure-duration{color:#b86e00;font:900 12px/1.4 Cascadia Code,Consolas,monospace}.adventure-eyebrow{color:var(--adventure-muted);font-size:12px;font-weight:800}.adventure-quest-card h2{margin:5px 0 10px;font-size:21px;line-height:1.45;font-weight:900}.adventure-progress-caption{margin-bottom:8px;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:900}.adventure-progress-caption strong{color:#008d62}.adventure-progress{height:14px;padding:3px;border:2px solid var(--adventure-ink);border-radius:999px;background:#f2e7d9}.adventure-progress span{width:0;height:100%;border-radius:inherit;background:var(--adventure-mint);display:block}.adventure-action-row{margin-top:20px;display:grid;grid-template-columns:1fr auto;gap:12px}.adventure-journey header{display:flex;justify-content:space-between;gap:16px}.adventure-journey h2{margin:0;font-size:16px;font-weight:900}.adventure-journey header p{margin:4px 0 0;color:var(--adventure-muted);font-size:11px;font-weight:800}.adventure-minute-total{display:flex;align-items:baseline;white-space:nowrap}.adventure-minute-total strong{color:#b86e00;font:900 22px/1 Cascadia Code,Consolas,monospace}.adventure-minute-total span{color:var(--adventure-muted);font-size:12px;font-weight:800}.adventure-journey ol{margin:18px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.adventure-journey li{min-height:46px;padding:10px 13px;border:1.5px solid #ecd8c2;border-radius:14px;background:#fdfaf5;color:var(--adventure-muted);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.adventure-journey li strong{font-weight:900}.adventure-journey li span{flex:0 0 auto;font-family:Cascadia Code,Consolas,monospace;font-weight:800}.adventure-journey li.review{border-color:#bcdccd;background:#eff9f4;color:#5d7d70}.adventure-journey li.current{border:2px solid #f6be59;background:#fff5db;color:#92400e}.adventure-frame .adventure-journey li.review .badge-pill{background:#00c988;color:#fff;padding:2px 8px;font-size:10px}.adventure-frame .adventure-journey li.current .badge-pill{background:#ff9d00;color:#fff;padding:2px 8px;font-size:10px}.adventure-journey footer{padding-top:14px;border-top:2px solid #f2e1d0;display:flex;justify-content:space-between;gap:12px;color:var(--adventure-muted);font-size:12px;font-weight:800}.adventure-journey footer strong{color:var(--adventure-berry)}.adventure-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.adventure-stat-grid article{min-height:132px;padding:20px}.adventure-stat-grid header{display:flex;justify-content:space-between;align-items:center;gap:10px}.adventure-stat-grid header span{color:var(--adventure-muted);font-size:12px;font-weight:900}.adventure-stat-grid header b{padding:3px 8px;border:1.5px solid var(--adventure-ink);border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:10px}.adventure-stat-grid article>strong{margin-top:8px;display:block;color:var(--adventure-ink);font:900 26px/1.2 Cascadia Code,Consolas,monospace}.adventure-stat-grid article>p{margin:4px 0 0;color:var(--adventure-muted);font-size:11px;font-weight:800}.adventure-stat-grid article.exp>strong{color:#008d62}.adventure-stat-grid article.exp header b{background:#e6fcf5;color:#087f5b}.adventure-stat-grid article.streak>strong{color:#d9480f}.adventure-stat-grid article.streak header b{background:#fff4e6;color:#d9480f}.adventure-stat-grid article.cards>strong{color:var(--adventure-berry)}.adventure-stat-grid article.cards header b{background:#fff0f6;color:#d6336c}.adventure-frame .adventure-badge,.adventure-frame .adventure-welcome-action>span,.adventure-frame .adventure-duration,.adventure-frame .adventure-eyebrow,.adventure-frame .adventure-progress-caption,.adventure-frame .adventure-journey header p,.adventure-frame .adventure-minute-total span,.adventure-frame .adventure-journey footer,.adventure-frame .adventure-stat-grid header span,.adventure-frame .adventure-stat-grid header b,.adventure-frame .adventure-stat-grid article>p,.adventure-frame .adventure-journey li.review .badge-pill,.adventure-frame .adventure-journey li.current .badge-pill{font-size:14px}.adventure-frame .clay-action,.adventure-frame .adventure-journey li{font-size:16px}.adventure-frame .clay-action{white-space:normal;text-align:center}.adventure-frame .adventure-stat-grid header,.adventure-frame .adventure-journey li{flex-wrap:wrap}.adventure-frame .adventure-welcome-copy{min-width:0}.adventure-frame .adventure-welcome-action{flex-shrink:1;min-width:0}.adventure-frame .adventure-badge{line-height:1.5}@media(max-width:980px){.adventure-frame .adventure-welcome{align-items:flex-start}.adventure-welcome-action{align-items:stretch}.adventure-primary-grid{grid-template-columns:1fr}.adventure-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.adventure-dashboard{gap:16px}.clay-panel{border-width:2px;border-radius:16px;box-shadow:0 5px #d7b78e}.adventure-frame .adventure-welcome{padding:20px;display:grid;gap:18px}.adventure-welcome h1{font-size:22px}.adventure-welcome p,.adventure-quest-card p{font-size:16px;line-height:1.75}.adventure-welcome-action{width:100%;align-items:stretch}.adventure-welcome-action>span{text-align:center}.adventure-quest-card,.adventure-journey{min-height:0;padding:20px}.adventure-card-topline{align-items:flex-start}.adventure-action-row{grid-template-columns:1fr}.clay-action{width:100%;min-height:48px}.adventure-journey li{align-items:flex-start}.adventure-journey footer{display:grid}.adventure-stat-grid{grid-template-columns:1fr 1fr;gap:12px}.adventure-stat-grid article{min-height:142px;padding:16px}.adventure-stat-grid article>strong{font-size:22px}}@media(max-width:390px){.adventure-stat-grid{grid-template-columns:1fr}.adventure-stat-grid article{min-height:118px}.adventure-card-topline,.adventure-journey header{display:grid}}.auth-original,.auth-original-modal{--bg-canvas: #fcf7ed;--bg-card: #ffffff;--bg-subtle: #fbeed9;--ink-dark: #2c221e;--ink-sub: #5f4e46;--ink-muted: #968178;--color-mango: #ff9d00;--color-mango-dark: #d47e00;--color-berry: #ff4785;--color-mint: #00c988;--color-mint-dark: #009665;--color-sky-dark: #1272c4;--color-gold: #ffc700;--color-gold-dark: #d9a300;--border-thick: 2.5px solid var(--ink-dark);--clay-shadow: 0 10px 0 #ecd1b4, 0 18px 28px rgb(44 34 30 / 6%);--clay-card-hover: 0 14px 0 #ecd1b4, 0 24px 38px rgb(44 34 30 / 10%);--radius-giant: 28px;--radius-card: 22px;--radius-btn: 16px;--radius-pill: 999px;color:var(--ink-dark);font-family:-apple-system,BlinkMacSystemFont,Quicksand,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.6;letter-spacing:0}.auth-original *,.auth-original-modal *{box-sizing:border-box;letter-spacing:0}.auth-original h1,.auth-original h2,.auth-original p{margin:0}.auth-original button,.auth-original-modal button{font-family:inherit}.auth-original{min-height:100dvh;display:flex;flex-direction:column;position:relative;background:var(--bg-canvas);isolation:isolate}.auth-original .polka-dots-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#edd3b8 1.5px,transparent 1.5px);background-size:28px 28px;opacity:.6;pointer-events:none;z-index:-1}.auth-original .clay-card{background:var(--bg-card);border:var(--border-thick);border-radius:var(--radius-card);box-shadow:var(--clay-shadow);position:relative;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease}@media(hover:hover){.auth-original .clay-card-hoverable:hover{transform:translateY(-6px);box-shadow:var(--clay-card-hover)}}.auth-original .clay-btn,.auth-original-modal .clay-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-btn);border:var(--border-thick);font-size:16px;font-weight:900;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .1s ease,box-shadow .1s ease;text-decoration:none;line-height:1.6;height:auto;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}.auth-original .btn-mango,.auth-original-modal .btn-mango{background:linear-gradient(180deg,#ffb833 0%,var(--color-mango) 100%);color:#fff;text-shadow:0 1.5px 0 var(--color-mango-dark);box-shadow:0 5px 0 var(--color-mango-dark)}.auth-original .btn-mint,.auth-original-modal .btn-mint{background:linear-gradient(180deg,#27e0a2 0%,var(--color-mint) 100%);color:#fff;text-shadow:0 1.5px 0 var(--color-mint-dark);box-shadow:0 5px 0 var(--color-mint-dark)}.auth-original .btn-cream,.auth-original-modal .btn-cream{background:var(--bg-card);color:var(--ink-dark);box-shadow:0 5px #e4cfbe}.auth-original .clay-btn:active:not(:disabled),.auth-original-modal .clay-btn:active:not(:disabled){transform:translateY(5px);box-shadow:none}.auth-original button:disabled,.auth-original-modal button:disabled{cursor:not-allowed;opacity:.55}.auth-original :focus-visible,.auth-original-modal button:focus-visible{outline:3px solid var(--color-sky-dark);outline-offset:4px}.auth-original .clay-btn svg,.auth-original-modal button svg{flex-shrink:0}.auth-original .badge-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-pill);border:2px solid var(--ink-dark);font-size:14px;font-weight:900;box-shadow:0 3px #2c221e26}.auth-original .berry{background:var(--color-berry);color:#fff}.auth-original .mint{background:#e0fbf0;color:var(--color-mint-dark)}.auth-original .amber{background:#fff8e1;color:#d97706}.auth-original .sky{background:#e0f2fe;color:var(--color-sky-dark)}.auth-original .pink{background:#fff0f5;color:var(--color-berry)}.auth-original .violet{background:#f3e8ff;color:#7e22ce}.auth-original .subtle{background:#f3f4f6;color:var(--ink-muted)}.auth-original .gold{background:var(--color-gold);color:var(--ink-dark)}.auth-original .auth-topbar{position:relative;z-index:10;width:100%;padding:20px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:var(--border-thick);background:#fff}.auth-original .auth-hall-brand{position:static;inset:auto;display:flex;align-items:center;gap:14px;min-width:0;max-width:100%;flex-wrap:wrap}.auth-original .auth-brand-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(180deg,#ffbf40,var(--color-mango));border:var(--border-thick);box-shadow:0 4px 0 var(--color-mango-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:24px}.auth-original .auth-brand-title{font-weight:900;font-size:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.auth-original .auth-brand-title .badge-pill{padding:1px 8px;font-size:14px}.auth-original .auth-brand-subtitle{font-size:14px;color:var(--ink-muted);font-weight:800}.auth-original .auth-highlights{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px;font-size:14px;font-weight:800;color:var(--ink-sub)}.auth-original .auth-highlights i{color:#ecd8c2;font-style:normal}.auth-original .auth-topbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0;max-width:100%}.auth-original .auth-topbar-actions .clay-btn{padding:10px 22px;font-size:16px}.auth-original .auth-topbar-actions .clay-btn:first-child{padding:9px 16px;font-size:16px}.auth-original .auth-welcome-canvas{position:relative;z-index:1;width:92%;max-width:1440px;margin:0 auto;padding:56px 20px 90px;display:flex;flex-direction:column;gap:50px;flex:1}.auth-original .auth-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.auth-original .hero-pass{padding:7px 18px;font-size:14px}.auth-original .auth-hero h1{font-size:46px;font-weight:900;line-height:1.25;margin-top:4px;overflow-wrap:anywhere}.auth-original .auth-hero p{font-size:18px;color:var(--ink-sub);max-width:820px;line-height:1.8;font-weight:700}.auth-original .auth-badge-strip{display:flex;gap:18px;margin-top:10px;flex-wrap:wrap;justify-content:center}.auth-original .auth-badge-strip .badge-pill{padding:6px 16px}.auth-original .auth-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;width:100%}.auth-original .auth-preview-card{padding:36px 32px;display:flex;flex-direction:column;justify-content:space-between;min-height:380px;min-width:0}.auth-original .auth-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.auth-original .auth-lesson-number{width:56px;height:56px;flex-shrink:0;border-radius:18px;background:#e0f2fe;border:var(--border-thick);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:var(--color-sky-dark);box-shadow:0 4px #90cdf4}.auth-original .auth-preview-1 .auth-lesson-number{background:#e8fbf3;color:var(--color-mint-dark);box-shadow:0 4px #89e2ba}.auth-original .auth-preview-2 .auth-lesson-number{background:#fff5db;color:#b45309;box-shadow:0 4px #f6be59}.auth-original .auth-card-top .badge-pill{background:#e6fcf5;font-size:14px}.auth-original .auth-lesson-day{font-size:14px;font-weight:900;color:var(--ink-muted);font-family:monospace}.auth-original .auth-preview-card h2{font-size:21px;font-weight:900;margin-top:6px;line-height:1.4;overflow-wrap:anywhere}.auth-original .auth-preview-card p{font-size:16px;color:var(--ink-sub);margin-top:12px;line-height:1.7}.auth-original .auth-card-tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.auth-original .auth-card-tags .badge-pill{font-size:14px}.auth-original .auth-card-footer{margin-top:28px;padding-top:18px;border-top:2px dashed #ecd8c2;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px}.auth-original .auth-card-footer>span{font-size:14px;font-weight:800;color:var(--ink-muted);display:flex;align-items:center;gap:6px}.auth-original .auth-card-footer .clay-btn{padding:8px 18px;font-size:16px}.auth-original .auth-callout{padding:44px 56px;background:linear-gradient(135deg,#fff9ee,#fff1d8);display:flex;justify-content:space-between;align-items:center;gap:40px}.auth-original .auth-callout-copy{flex:1;min-width:0}.auth-original .auth-callout-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.auth-original .auth-callout-eyebrow>span:last-child{font-size:14px;font-weight:800;color:var(--ink-muted)}.auth-original .auth-callout h2{font-size:26px;font-weight:900}.auth-original .auth-callout p{font-size:16px;color:var(--ink-sub);margin-top:8px;font-weight:700;line-height:1.7;max-width:680px}.auth-original .auth-guest-link{margin-top:16px;font-size:16px;color:var(--ink-muted);font-weight:800}.auth-original .auth-guest-link a{color:var(--color-sky-dark);text-decoration:underline}.auth-original .auth-callout-action{display:flex;flex-direction:column;gap:12px;align-items:flex-end;flex-shrink:0}.auth-original .auth-callout-action .clay-btn{padding:16px 36px;font-size:16px;box-shadow:0 6px 0 var(--color-mint-dark)}.auth-original .auth-callout-action>span{font-size:14px;font-weight:800;color:var(--ink-muted)}.auth-original .auth-public-error{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.auth-destination-loading{display:grid;place-items:center}.auth-original-modal .ant-modal-mask{background:#2c221e8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.auth-original-modal .ant-modal{max-width:calc(100vw - 40px);padding-bottom:24px}.auth-original-modal .ant-modal-content{padding:0;border:3px solid var(--ink-dark);border-radius:var(--radius-giant);box-shadow:0 14px #ecd1b4,0 30px 50px #2c221e40;overflow:hidden;background:#fff}.auth-original-modal .ant-modal-header{margin:0;padding:24px 56px 18px 28px;border-bottom:2px solid #ecd8c2;background:#fffaf0}.auth-original-modal .ant-modal-title{color:var(--ink-dark);font-family:inherit;font-size:17px;font-weight:900}.auth-original-modal .ant-modal-close{top:28px;right:20px;color:var(--ink-muted)}.auth-original-modal .auth-modal-heading{display:flex;align-items:center;gap:12px}.auth-original-modal .auth-modal-heading>span{width:42px;height:42px;flex-shrink:0;border-radius:14px;background:var(--color-gold);border:2px solid var(--ink-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 0 var(--color-gold-dark);font-size:22px}.auth-original-modal .auth-modal-heading strong{font-weight:900}.auth-original-modal .auth-modal-heading small{display:block;font-size:14px;font-weight:800;color:var(--ink-muted)}.auth-original-modal .auth-mode-tabs{display:flex;border-bottom:2px solid #ecd8c2;background:#fdf6ec}.auth-original-modal .auth-mode-tabs button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-bottom:3px solid transparent;padding:14px;font-size:16px;font-weight:900;background:transparent;color:var(--ink-muted);cursor:pointer}.auth-original-modal .auth-mode-tabs .active{background:#fff;color:var(--ink-dark);border-bottom-color:var(--color-mango)}.auth-original-modal .auth-form-body{padding:28px;display:flex;flex-direction:column;gap:18px}.auth-original-modal .auth-form-body>p{margin:0;font-size:16px;color:var(--ink-sub)}.auth-original-modal .ant-form-item{margin-bottom:18px}.auth-original-modal .ant-form-item-label{padding-bottom:6px}.auth-original-modal .ant-form-item-label>label{font-size:16px;height:auto;white-space:normal;font-weight:900;color:var(--ink-dark)}.auth-original-modal .toy-input{width:100%;padding:13px 18px;border-radius:var(--radius-btn);border:2px solid var(--ink-dark);background:#fffdfa;color:var(--ink-dark);font-size:16px;font-weight:700;box-shadow:inset 0 2px 4px #2c221e0d}.auth-original-modal .toy-input input{background:transparent;font-family:inherit;font-size:16px;font-weight:inherit;line-height:inherit}.auth-original-modal .toy-input:focus,.auth-original-modal .toy-input:focus-within{background:#fff;border-color:var(--color-mango);box-shadow:0 0 0 3px #ff9d0040}.auth-original-modal .auth-submit{padding:14px;font-size:16px;margin-top:4px}.auth-original-modal .auth-forgot{display:block;margin:-6px 0 16px auto;background:transparent;border:0;color:var(--color-sky-dark);font-size:16px;font-weight:800;cursor:pointer}.auth-original-modal .ant-form>.ant-alert{margin-bottom:18px}.auth-original-modal .auth-demo-area{margin-top:6px;padding-top:16px;border-top:2px dashed #ecd8c2;font-size:14px;font-weight:900;color:var(--ink-muted)}.auth-original-modal .auth-demo-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.auth-original-modal .auth-demo-buttons button{padding:8px 12px;font-size:16px}.auth-original-modal .ant-modal-body,.auth-original-modal .ant-form,.auth-original-modal .ant-alert-message,.auth-original-modal .ant-alert-description,.auth-original-modal .ant-form-item-explain,.auth-original-modal .ant-input{font-size:16px;line-height:1.6}.auth-original-modal .ant-form-item-extra{font-size:14px;line-height:1.6}.auth-original-modal .ant-btn{font-size:16px;min-height:44px;height:auto;white-space:normal;overflow-wrap:anywhere}.auth-original .auth-hall-brand>div:last-child,.auth-original-modal .auth-modal-heading>div{min-width:0;overflow-wrap:anywhere}.auth-original .auth-callout h2,.auth-original p,.auth-original-modal .ant-alert,.auth-original-modal .ant-form-item-explain,.auth-original-modal .ant-form-item-extra{overflow-wrap:anywhere}.auth-original-modal .auth-mode-tabs button,.auth-original-modal .auth-forgot{min-height:44px;height:auto;white-space:normal;overflow-wrap:anywhere}@media(max-width:1300px){.auth-original .auth-topbar{flex-wrap:wrap}.auth-original .auth-highlights{order:3;width:100%}.auth-original .auth-preview-card{padding:28px 22px}.auth-original .auth-callout{padding:36px;gap:24px}}@media(max-width:900px){.auth-original .auth-topbar{padding:20px 24px}.auth-original .auth-preview-grid{grid-template-columns:1fr}.auth-original .auth-preview-card{min-height:380px;padding:36px 32px}.auth-original .auth-callout{flex-direction:column;align-items:stretch}.auth-original .auth-callout-action{align-items:flex-start}}@media(max-width:600px){.auth-original .auth-topbar{padding:16px;gap:18px}.auth-original .auth-topbar-actions{flex-wrap:wrap;gap:10px;width:100%}.auth-original .auth-topbar-actions .clay-btn{padding:9px 12px;font-size:16px}.auth-original .auth-highlights{justify-content:flex-start;font-size:14px}.auth-original .auth-highlights i{display:none}.auth-original .auth-welcome-canvas{width:100%;padding:36px 16px 56px;gap:36px}.auth-original .auth-hero h1{font-size:30px}.auth-original .auth-badge-strip{gap:12px}.auth-original .auth-badge-strip .badge-pill{padding:5px 10px;font-size:14px}.auth-original .auth-preview-card,.auth-original .auth-callout{padding:28px 22px}.auth-original .auth-callout h2{font-size:22px}.auth-original .auth-callout-action .clay-btn{padding:14px 18px;font-size:16px;width:100%}.auth-original-modal .ant-modal{max-width:calc(100vw - 24px)}.auth-original-modal .ant-modal-header{padding:20px 48px 18px 20px}.auth-original-modal .auth-form-body{padding:22px 20px}.auth-original-modal .auth-modal-heading{gap:8px}.auth-original-modal .auth-mode-tabs button{padding:14px 8px;font-size:16px}}@media(prefers-reduced-motion:reduce){.auth-original *,.auth-original-modal *{transition:none!important;animation:none!important}}.preview-roadmap,.preview-reader{width:min(1120px,100%);margin:0 auto}.preview-route-heading{margin-bottom:24px}.preview-route-heading h1{margin:12px 0 6px;font-size:30px;font-weight:900}.preview-route-heading p{max-width:760px;margin:0;color:var(--adventure-sub);font-size:16px;line-height:1.75}.preview-lesson-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 20px;border-bottom:2px solid #ecd8c2}.preview-brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:inherit;min-height:44px}.preview-header-actions{display:flex;gap:8px}.preview-intro{padding:36px 0 24px}.preview-intro h1{font-size:32px;line-height:1.4;margin:16px 0}.preview-intro p,.preview-footer p{font-size:18px;line-height:1.75}.preview-course-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.preview-course{color:inherit;background:#fff;border:2.5px solid #2c221e;border-radius:18px;box-shadow:0 6px #d7b78e;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.preview-course:hover{color:inherit;border-color:#2699fb}.preview-number{font-size:28px;font-weight:800;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#b9e8ff}.preview-tone-1 .preview-number{background:#bbf4dc}.preview-tone-2 .preview-number{background:#ffdea5}.preview-course h2{font-size:22px;line-height:1.5;margin:8px 0}.preview-course p{display:flex;gap:6px;align-items:center}.preview-footer{margin-top:32px;padding:24px 0;border-top:1px solid #dac9b5}.preview-footer-actions{display:flex;flex-wrap:wrap;gap:12px}.preview-footer .preview-action{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:2px solid var(--adventure-ink);border-radius:12px;box-shadow:0 3px #d7b78e;background:#fff;color:var(--adventure-ink);font-size:16px;font-weight:800;line-height:1.5;white-space:nowrap}.preview-action svg{flex-shrink:0}.preview-footer .preview-action-primary{background:var(--adventure-sky);color:#fff}.preview-action:hover{filter:brightness(.96)}.preview-action:active{transform:translateY(2px);box-shadow:none}.preview-action:focus-visible{outline:3px solid var(--adventure-sky);outline-offset:4px}.preview-footer .registration-note{margin:16px 0 0}@media(max-width:767px){.preview-footer-actions{flex-direction:column;align-items:stretch}.preview-footer .preview-action{width:100%}}.registration-note{color:#635048;font-size:14px!important;line-height:1.6}.preview-locked-route{margin-top:24px;padding:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.preview-locked-route h2,.preview-locked-route p{margin:0}.preview-locked-route h2{font-size:18px}.preview-locked-route p{margin-top:4px;color:var(--adventure-muted)}.preview-reader-layout{padding-top:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);justify-content:center;gap:24px;align-items:start}.preview-toc{position:sticky;top:96px;align-self:start;max-height:calc(100dvh - 120px);padding:18px;overflow-y:auto}.preview-toc h2{font-size:18px;display:flex;gap:8px;align-items:center}.preview-toc nav,.preview-toc-drawer nav{display:flex;flex-direction:column}.preview-toc a,.preview-toc-drawer a{color:inherit;padding:12px 8px;min-height:44px;overflow-wrap:anywhere}.preview-prose{min-width:0;padding:28px 34px;font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75;-webkit-user-select:text;user-select:text}.preview-prose h1{font-size:30px;line-height:1.4}.preview-prose h2{font-size:24px;line-height:1.5}.preview-prose section{padding:24px 0;border-bottom:1px solid #e3d7c6;scroll-margin-top:24px}.preview-prose pre{overflow-x:auto;max-width:100%;padding:16px;background:#f3f5f7;border-radius:8px;font-size:16px}.preview-prose p,.preview-prose li,.preview-prose h1,.preview-prose h2{overflow-wrap:anywhere}.adventure-frame .preview-prose p,.adventure-frame .preview-prose li,.adventure-frame .preview-arcade-content p,.adventure-frame .preview-arcade-content li{font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75}.preview-toc-button{display:inline-flex}.adventure-frame .preview-arcade{min-width:0;background:#232936;color:#eef2ff;position:sticky;top:92px}.preview-arcade>header{padding:12px 18px;background:#191f2b;border-bottom:2px solid #2c221e;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:#ffbf40}.preview-window-lights{font-size:10px}.adventure-frame .preview-arcade>header{font-size:14px}.adventure-frame .preview-arcade header button{font-size:16px}.preview-arcade header button{margin-left:auto;border:2px solid #2c221e;border-radius:16px;background:#62666a;color:#d8d8d8;min-height:44px;cursor:not-allowed;padding:6px 12px}.preview-arcade-content{padding:24px;background:#1b212d;font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75;overflow-wrap:anywhere}.preview-arcade h2{color:#ffbf40;font-size:20px}.preview-arcade pre{overflow-x:auto;max-width:100%;background:#0f141d;padding:16px;color:#27e0a2;font-size:16px}.preview-arcade>footer{padding:18px;background:#0f141d;border-top:2px solid #2c221e}.preview-arcade>footer>span{color:#ffbf40;font-family:monospace}.preview-arcade>footer p{color:#b7c6d5;font-size:16px;line-height:1.75}@media(max-width:1023px){.adventure-frame .preview-arcade{position:static}}@media(max-width:1023px){.preview-reader-layout{grid-template-columns:minmax(0,1fr)}.preview-toc{display:none}.preview-toc-button{display:inline-flex}.preview-course-list{grid-template-columns:1fr}.preview-course{flex-direction:row;align-items:center}}@media(max-width:767px){.preview-lesson-bar{flex-wrap:wrap}.preview-route-heading h1{font-size:26px}.preview-course{padding:18px;gap:12px}.preview-number{flex:0 0 44px;height:44px;font-size:22px}.preview-course h2{font-size:20px}.preview-course>svg{flex-shrink:0}.preview-locked-route{grid-template-columns:auto 1fr}.preview-locked-route a{grid-column:1 / -1}.preview-locked-route .ant-btn{width:100%;min-height:44px}.preview-footer .ant-btn{width:100%;height:auto;min-height:44px;white-space:normal}.preview-prose{padding:22px 18px}.preview-prose h1{font-size:26px}}:root{color:#2c221e;background:#fafbf9;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #fafbf9;--surface: #ffffff;--surface-muted: #f4f7f4;--text: #2c221e;--muted: #635b56;--subtle: #736b65;--border: #ddd7cf;--border-strong: #b9aea2;--blue: #1272c4;--blue-soft: #e0f2ff;--green: #087957;--green-soft: #e2faee;--amber: #925500;--amber-soft: #fff2c8;--red: #ba2455;--red-soft: #ffebf2;--coral: #ba2455;--coral-soft: #ffebf2;--mango: #ffad22;--mint: #00c988;--berry: #ff4785;--sky: #2699fb;--toy-border: 2px solid var(--text);--toy-shadow: 0 6px 0 #d9d5cf, 0 10px 20px #2c221e08;--shadow-sm: 0 4px 0 #e5ded3;letter-spacing:0}.sidebar-profile{color:inherit;text-decoration:none}.sidebar-profile:hover{background:#f3f7ff}.account-page,.leaderboard-page{max-width:1380px}.account-page>.ant-alert,.leaderboard-page>.ant-alert{margin-bottom:18px}.account-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;margin-bottom:20px;border-top:4px solid var(--blue);padding:24px 26px}.account-avatar-wrap{position:relative}.account-avatar{border:5px solid #eef4ff;background:#dce8ff;color:#2458b8}.avatar-camera{position:absolute;right:-3px;bottom:1px;display:inline-grid;width:38px;height:38px;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--blue);color:#fff;cursor:pointer}.account-identity-copy h2{margin:0 0 5px;font-size:26px}.account-identity-copy p{margin:0 0 10px;color:var(--muted);font-size:16px}.account-identity-copy code{color:#344563}.account-avatar-actions{display:grid;grid-template-columns:auto auto;gap:8px;justify-content:end}.account-avatar-actions small{grid-column:1 / -1;max-width:320px;color:var(--muted);font-size:14px}.account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-section{padding:24px 26px}.account-section>header{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.account-section>header h2{margin:0 0 4px;font-size:21px}.account-section>header p{margin:0;color:var(--muted);font-size:16px}.account-section-icon{display:inline-grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:8px}.account-section-icon.blue{background:#e9f1ff;color:#2563c7}.account-section-icon.amber{background:#fff3d9;color:#a96308}.account-section-icon.coral{background:#ffebe8;color:#c2483d}.account-password-section{grid-column:1 / -1;border-bottom:4px solid #ff8b7f}.password-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.visibility-control{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dce4ef;border-radius:8px;padding:12px 14px;background:#f8fbff}.visibility-control>div{display:flex;min-width:0;gap:11px;align-items:flex-start;color:#3562a6}.visibility-control span{display:grid;gap:2px;color:var(--text)}.visibility-control small{color:var(--muted);font-size:14px}.account-privacy-note{margin-bottom:18px}.leaderboard-board{max-width:1040px;margin-inline:auto;overflow:hidden}.leaderboard-board>header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:22px 24px;background:#f8fbff}.leaderboard-board>header>div{display:flex;align-items:center;gap:12px}.leaderboard-mark{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:8px;background:#fff0c9;color:#9b6500}.leaderboard-board h2{margin:0;font-size:21px}.leaderboard-board header p{margin:3px 0 0;color:var(--muted);font-size:16px}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-list li{display:grid;grid-template-columns:46px 50px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:78px;border-bottom:1px solid #edf0f4;padding:12px 24px}.leaderboard-list li:last-child{border-bottom:0}.leaderboard-list li:hover{background:#fafcff}.leaderboard-list li.top-1{background:#fffaf0}.leaderboard-list li.top-2{background:#f8fafc}.leaderboard-list li.top-3{background:#fff7f3}.leaderboard-list li.current-player{box-shadow:inset 4px 0 var(--blue);background:#f2f7ff}.leaderboard-rank{display:inline-grid;width:36px;height:36px;place-items:center;color:#64748b;font-weight:800}.top-1 .leaderboard-rank{color:#b67800}.top-2 .leaderboard-rank{color:#64748b}.top-3 .leaderboard-rank{color:#b65e38}.leaderboard-name{display:grid;min-width:0;gap:3px}.leaderboard-name strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.leaderboard-name strong .ant-tag{margin-left:8px}.leaderboard-name small{color:var(--muted);font-size:14px}.leaderboard-xp{display:grid;min-width:90px;justify-items:end}.leaderboard-xp strong{font-size:19px}.leaderboard-xp small{color:#8a6414;font-size:14px;font-weight:700}.leaderboard-empty{display:grid;min-height:300px;place-items:center;align-content:center;gap:8px;text-align:center;color:var(--muted)}.leaderboard-empty h2{margin:4px 0 0;color:var(--text)}.leaderboard-empty p{margin:0}.current-rank{display:flex;max-width:1040px;align-items:center;gap:16px;margin:16px auto 0;padding:18px 24px}.current-rank strong{margin-left:auto;font-size:20px}.current-rank small{color:var(--muted)}@media(max-width:768px){.account-page,.leaderboard-page{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.account-identity{grid-template-columns:auto minmax(0,1fr);gap:15px;padding:20px 16px}.account-avatar{width:78px!important;height:78px!important;line-height:78px!important}.account-identity-copy h2{font-size:22px}.account-avatar-actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.account-avatar-actions .ant-btn{min-height:44px}.account-settings-grid{grid-template-columns:1fr}.account-section,.account-password-section{grid-column:auto;padding:20px 16px}.password-fields{grid-template-columns:1fr;gap:0}.account-section .ant-btn[type=submit]{width:100%;min-height:44px}.visibility-control{min-height:74px}.leaderboard-board{border-radius:0;margin-inline:-14px}.leaderboard-board>header{padding:18px 14px}.leaderboard-list li{grid-template-columns:36px 44px minmax(0,1fr) auto;gap:9px;min-height:72px;padding:10px 12px}.leaderboard-name strong{font-size:16px}.leaderboard-name small{font-size:14px}.leaderboard-xp{min-width:54px}.leaderboard-xp strong{font-size:16px}.current-rank{padding:16px}}.auth-page{display:grid;min-height:100dvh;grid-template-columns:minmax(460px,1.08fr) minmax(440px,.92fr);background:#f4f7fb}.auth-story{position:relative;display:flex;overflow:hidden;min-width:0;flex-direction:column;justify-content:center;border-right:1px solid #d7e0ec;background:#eef5ff;padding:clamp(44px,7vw,110px)}.auth-story:after{position:absolute;inset:auto -8% -80px 12%;height:190px;border:28px solid rgba(39,100,216,.08);border-bottom:0;content:"";transform:skew(-12deg)}.auth-brand,.auth-mobile-brand{display:flex;align-items:center;gap:10px}.auth-brand{position:absolute;top:42px;left:clamp(44px,7vw,110px)}.auth-brand>span{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px;background:var(--blue);color:#fff}.auth-brand strong{font-size:18px}.auth-story-copy{position:relative;z-index:1;max-width:760px}.auth-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:14px;font-weight:800}.auth-story h1{max-width:720px;margin:18px 0;font-size:clamp(42px,4.6vw,68px);line-height:1.14}.auth-story-copy>p{max-width:650px;margin:0;color:#53627a;font-size:18px;line-height:1.8}.auth-path{position:relative;z-index:1;display:grid;max-width:780px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:50px 0 0;padding:0;list-style:none}.auth-path li{display:grid;min-width:0;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;border-top:5px solid var(--blue);background:#fff;padding:16px;box-shadow:0 10px 28px #18305412}.auth-path li.green{border-top-color:var(--green);transform:translateY(18px)}.auth-path li.amber{border-top-color:var(--amber);transform:translateY(36px)}.auth-path li>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:6px;background:var(--blue-soft);color:var(--blue)}.auth-path li.green>span{background:var(--green-soft);color:var(--green)}.auth-path li.amber>span{background:var(--amber-soft);color:var(--amber)}.auth-path li>div{display:flex;min-width:0;flex-direction:column}.auth-path b{font-size:15px}.auth-path small{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.auth-path li>strong{color:#d6deea;font-size:24px}.auth-local-note{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin:70px 0 0;color:#59677d;font-size:13px}.auth-panel{display:flex;align-items:center;justify-content:center;background:#fff;padding:42px clamp(26px,5vw,82px)}.auth-form-wrap{width:min(100%,500px)}.auth-mobile-brand{display:none;color:var(--blue)}.auth-form-wrap>h2{margin:0;font-size:34px}.auth-form-wrap>p{margin:9px 0 24px;color:var(--muted);font-size:16px}.auth-form-wrap>.ant-alert{margin-bottom:16px}.auth-form-wrap .ant-tabs-nav{margin-bottom:22px}.auth-form-wrap .ant-tabs-tab{min-height:44px;padding-inline:10px;font-size:16px}.auth-form-wrap .ant-form-item-label>label{font-weight:700}.auth-form-wrap .ant-input,.auth-form-wrap .ant-input-affix-wrapper{font-size:16px}.auth-form-wrap .bootstrap-link{display:flex;margin:18px auto 0;color:var(--muted)}.modal-intro{margin-top:0;color:var(--muted);line-height:1.65}.auth-loading{display:flex;min-height:100dvh;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#f4f7fb}.auth-loading .brand-mark{animation:phase-lift 1.5s ease-in-out infinite}.ai-config-panel{overflow:hidden;border:1px solid #cddaf0;border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.ai-config-panel>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid #dfe7f2;background:#f4f8ff;padding:18px 20px}.ai-config-panel.shared>header{background:#f3faf6}.ai-config-panel h2{margin:0;font-size:18px}.ai-config-panel header p{margin:3px 0 0;color:var(--muted);font-size:16px}.ai-config-panel>.ant-alert{margin:14px 20px 0}.ai-config-panel>.ant-form{padding:20px}.ai-quota-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e3e9f2;background:#fbfcfe;padding:11px 20px;color:#556279;font-size:14px}.ai-quota-strip span{display:inline-flex;align-items:center;gap:6px}.ai-quota-strip svg{color:var(--green)}.ai-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.ai-form-grid .ai-base-url,.ai-form-grid .ai-key-field{grid-column:1 / -1}.ai-form-actions{width:100%}.ai-form-actions .ant-btn{min-width:132px}.account-card{padding:20px}.account-card h2{margin:14px 0 3px;font-size:18px}.account-card p{margin:0 0 18px;color:var(--muted)}.admin-page{max-width:1560px}.admin-tabs .ant-tabs-tab{min-height:46px}.admin-tabs .ant-tabs-tab-btn>span{display:inline-flex;align-items:center;gap:7px}.admin-section{min-width:0}.admin-section.surface-card{padding:24px}.admin-section>h2{margin:0 0 5px;font-size:21px}.admin-section>p{margin:0 0 22px;color:var(--muted)}.admin-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-toolbar h2{margin:0;font-size:22px}.admin-toolbar p{margin:5px 0 0;color:var(--muted)}.admin-toolbar .ant-select{min-width:170px}.admin-user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-user-card{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;padding:18px;box-shadow:var(--shadow-sm)}.admin-user-card>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center}.admin-user-card header>div{display:flex;min-width:0;flex-direction:column}.admin-user-card header strong,.admin-user-card header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-card header small{color:var(--muted);font-size:14px}.admin-user-card>p{margin:18px 0;color:var(--muted);font-size:16px}.admin-user-card>footer{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);padding-top:14px}.admin-user-card>footer .ant-btn{flex:1 1 120px}.admin-empty{border:1px dashed var(--border-strong);padding:54px 20px;color:var(--muted);text-align:center}.admin-two-column{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);gap:16px}.policy-options{display:flex;flex-direction:column;gap:10px}.policy-options .ant-radio-wrapper{display:grid;min-height:68px;grid-template-columns:22px minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:7px;padding:12px 14px}.policy-options .ant-radio-wrapper-checked{border-color:#9bb8ed;background:var(--blue-soft)}.policy-options .ant-radio+span{display:flex;flex-direction:column}.policy-options small{color:var(--muted);font-size:16px}.invite-create{display:flex;gap:9px;margin-bottom:16px}.invite-create .ant-input-number-group-wrapper{flex:1}.issued-token{display:flex;align-items:center;gap:8px;margin-top:7px}.issued-token code{overflow:hidden;flex:1;border-radius:5px;background:#edf2f8;padding:8px;text-overflow:ellipsis}.invitation-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}.invitation-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:10px}.invitation-list article>span{display:flex;flex-direction:column}.invitation-list small{color:var(--muted)}.audit-list{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}.audit-list>button{display:flex;width:100%;min-height:66px;align-items:center;justify-content:space-between;gap:20px;border:0;border-bottom:1px solid var(--border);background:#fff;padding:12px 16px;color:var(--text);text-align:left;cursor:pointer}.audit-list>button:last-child{border-bottom:0}.audit-list>button:hover{background:#f7f9fc}.audit-list button>span{display:flex;min-width:0;flex-direction:column}.audit-list small,.audit-list code{color:var(--muted)}.audit-json{overflow:auto;max-width:100%;margin:0;font-size:16px;white-space:pre-wrap;word-break:break-word}.quota-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.quota-form label{display:flex;min-width:0;flex-direction:column;gap:7px;color:var(--muted);font-size:16px}.quota-form .ant-input-number{width:100%}.quota-actions{display:flex;gap:8px}@media(max-width:1199px){.auth-story{padding-inline:48px}.auth-brand{left:48px}.auth-story h1{font-size:46px}.admin-user-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.auth-page{display:block;background:#fff}.auth-story{display:none}.auth-panel{min-height:100dvh;padding:34px 22px}.auth-mobile-brand{display:flex;margin-bottom:42px}.auth-form-wrap>h2{font-size:31px}.admin-two-column,.ai-form-grid{grid-template-columns:1fr}.ai-form-grid .ai-base-url,.ai-form-grid .ai-key-field{grid-column:auto}}@media(max-width:767px){.auth-panel{align-items:flex-start;padding:calc(28px + env(safe-area-inset-top)) 16px calc(30px + env(safe-area-inset-bottom))}.auth-mobile-brand{margin-bottom:36px}.auth-form-wrap .ant-tabs-nav-list{width:100%}.auth-form-wrap .ant-tabs-tab{flex:1;justify-content:center}.auth-form-wrap .ant-tabs-tab+.ant-tabs-tab{margin-left:0}.auth-form-wrap .ant-btn-primary{width:100%}.ant-modal{max-width:calc(100vw - 20px)}.ant-modal-content{max-height:calc(100dvh - 20px);overflow-y:auto}.ai-config-panel>header{grid-template-columns:42px minmax(0,1fr);padding:16px}.ai-config-panel>header .ant-tag{grid-column:2;justify-self:start;margin:0}.ai-config-panel>.ant-form{padding:16px}.ai-config-panel>.ant-alert{margin-inline:16px}.ai-quota-strip{align-items:flex-start;flex-direction:column;gap:6px;padding-inline:16px}.ai-form-grid .ant-radio-group{display:grid;grid-template-columns:1fr 1fr;width:100%}.ai-form-grid .ant-radio-button-wrapper{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ai-form-actions{display:grid;grid-template-columns:1fr}.ai-form-actions .ant-space-item,.ai-form-actions .ant-btn{width:100%}.admin-tabs .ant-tabs-nav{overflow-x:auto}.admin-tabs .ant-tabs-nav-list{min-width:max-content}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-toolbar .ant-select{width:100%}.admin-user-grid{grid-template-columns:1fr}.admin-user-card>header{grid-template-columns:44px minmax(0,1fr)}.admin-user-card>header .ant-tag{grid-column:2;justify-self:start}.admin-section.surface-card{padding:18px}.invite-create{flex-direction:column}.invite-create .ant-input-number-group-wrapper,.invite-create .ant-btn{width:100%}.audit-list>button{min-height:72px}.audit-list code{display:none}.quota-form{grid-template-columns:1fr}.quota-actions{flex-direction:column}.quota-actions .ant-btn{width:100%}}@media(prefers-reduced-motion:reduce){.auth-loading .brand-mark{animation:none}.auth-path li.green,.auth-path li.amber{transform:none}}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}p{line-height:1.7}code,pre{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-frame{min-height:100vh;padding-left:236px}.desktop-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:236px;flex-direction:column;border-right:1px solid var(--border);background:#fbfcfe;padding:20px 14px 14px}.brand{display:flex;align-items:center;gap:10px;min-width:0;padding:0 8px;color:var(--text)}.brand-mark{display:inline-flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border-radius:7px;background:var(--blue);color:#fff}.brand>span:last-child{display:flex;min-width:0;flex-direction:column}.brand strong{font-size:16px;line-height:1.25}.brand small{margin-top:2px;color:var(--muted);font-size:14px}.side-nav{display:flex;flex-direction:column;gap:4px;margin-top:28px}.nav-group-label{padding:0 10px 7px;color:var(--subtle);font-size:14px;font-weight:700}.nav-secondary-label{margin-top:18px}.nav-item{display:flex;min-height:42px;align-items:center;gap:11px;border-radius:6px;padding:9px 10px;color:#566176;font-size:16px;font-weight:600;transition:background-color .15s ease,color .15s ease}.nav-item:hover{background:#f0f3f7;color:var(--text)}.nav-item.active{background:var(--blue-soft);color:var(--blue)}.nav-badge{display:inline-flex;min-width:21px;height:21px;align-items:center;justify-content:center;margin-left:auto;border-radius:50%;background:var(--red-soft);color:var(--red);font-size:14px;font-weight:800}.sidebar-course{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;gap:9px;align-items:center;margin-top:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:11px 9px;box-shadow:var(--shadow-sm)}.sidebar-course-icon{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:6px;background:var(--green-soft);color:var(--green)}.sidebar-course>div:nth-child(2),.sidebar-profile>div{display:flex;min-width:0;flex-direction:column}.sidebar-course span,.sidebar-course small,.sidebar-profile small{overflow:hidden;color:var(--muted);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.sidebar-course strong,.sidebar-profile strong{overflow:hidden;margin:2px 0;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile{display:flex;align-items:center;gap:10px;margin-top:12px;border-top:1px solid var(--border);padding:14px 8px 2px}.avatar{display:inline-flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border-radius:50%;background:#253049;color:#fff;font-size:13px;font-weight:700}.app-content{min-width:0}.mobile-header,.mobile-bottom-nav{display:none}.page-shell{width:min(100%,1420px);margin:0 auto;padding:34px 38px 52px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.page-header>div:first-child{min-width:0}.eyebrow,.section-kicker,.block-kicker{color:var(--blue);font-size:13px;font-weight:800}.page-header h1{margin:5px 0 6px;font-size:29px;line-height:1.25}.page-header p{max-width:720px;margin:0;color:var(--muted);font-size:14px}.page-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.offline-notice{margin:-8px 0 22px;border-radius:6px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.surface-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading.compact{align-items:flex-start}.section-heading h2{margin:4px 0 0;font-size:18px;line-height:1.35}.icon-box{display:inline-flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border-radius:7px}.icon-box.blue{background:var(--blue-soft);color:var(--blue)}.icon-box.green{background:var(--green-soft);color:var(--green)}.icon-box.amber{background:var(--amber-soft);color:var(--amber)}.icon-box.red{background:var(--red-soft);color:var(--red)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:13px;font-weight:700}.text-link:hover{color:#1c50b5}.today-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.72fr);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.today-progress-panel{padding:24px 26px}.time-remaining{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.progress-summary{display:grid;grid-template-columns:130px minmax(0,1fr);gap:28px;align-items:center;margin-top:21px}.progress-summary .ant-progress-text{display:flex;flex-direction:column}.progress-summary .ant-progress-text strong{color:var(--text);font-size:26px;line-height:1.05}.progress-summary .ant-progress-text small{margin-top:4px;color:var(--muted);font-size:13px}.study-flow{position:relative;display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px}.study-flow:before{position:absolute;top:18px;right:12%;left:12%;height:2px;background:var(--border);content:""}.study-segment{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;align-items:center;text-align:center}.flow-marker{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:4px solid var(--surface);border-radius:50%;color:#fff;font-size:13px;font-weight:800;box-shadow:0 0 0 1px var(--border)}.flow-marker.blue{background:var(--blue)}.flow-marker.green{background:var(--green)}.flow-marker.amber{background:var(--amber)}.flow-marker.red{background:var(--red)}.study-segment.upcoming .flow-marker{background:#fff;color:var(--muted)}.study-segment.current .flow-marker{box-shadow:0 0 0 2px #bed0f7}.study-segment>div{display:flex;min-width:0;flex-direction:column;margin-top:9px}.study-segment strong{font-size:13px}.study-segment small,.study-segment>span:last-child{margin-top:3px;color:var(--muted);font-size:13px}.current-lesson-panel{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--border);background:#f8fafc;padding:26px}.lesson-label{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;border-radius:4px;background:var(--green-soft);padding:5px 8px;color:var(--green);font-size:13px;font-weight:800}.lesson-eyebrow{margin-top:20px;color:var(--muted);font-size:13px}.current-lesson-panel h2{margin:6px 0 8px;font-size:19px;line-height:1.45}.current-lesson-panel p{margin:0;color:var(--muted);font-size:13px}.lesson-progress-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:16px 0 13px}.lesson-progress-row .ant-progress{line-height:1}.lesson-progress-row>span{color:var(--green);font-size:13px;font-weight:700}.resume-link{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border-radius:6px}.resume-meta{margin-top:8px;color:var(--muted);text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.stat-tile{display:flex;min-width:0;align-items:center;gap:12px;border-right:1px solid var(--border);padding:17px 19px}.stat-tile:last-child{border-right:0}.stat-tile>div{display:grid;grid-template-columns:auto 1fr;min-width:0;align-items:baseline;column-gap:8px}.stat-tile span{grid-column:1 / -1;color:var(--muted);font-size:13px}.stat-tile strong{font-size:17px;white-space:nowrap}.stat-tile small{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.review-callout,.weekly-card{min-height:210px;padding:22px 24px}.review-callout p{max-width:520px;margin:18px 0 22px;color:var(--muted);font-size:13px}.count-chip{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--red-soft);color:var(--red);font-weight:800}.week-total{color:var(--green);font-size:15px}.week-bars{display:grid;height:120px;grid-template-columns:repeat(7,1fr);gap:13px;align-items:end;margin-top:15px}.week-bars>div{display:grid;height:100%;grid-template-rows:1fr auto;align-items:end;gap:6px;text-align:center}.week-bars span{display:block;min-height:6px;border-radius:3px 3px 1px 1px;background:#cdd6e2}.week-bars span.today{background:var(--blue)}.week-bars small{color:var(--muted);font-size:13px}.roadmap-summary,.review-counter{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:10px 13px;color:var(--blue)}.roadmap-summary span{color:var(--muted);font-size:14px}.roadmap-summary strong{margin-right:3px;color:var(--text);font-size:16px}.roadmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:start}.roadmap-search{width:min(520px,100%);margin-bottom:18px}.roadmap-stage{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px}.stage-rail{display:flex;flex-direction:column;align-items:center}.stage-rail>span{z-index:1;display:inline-flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border:4px solid var(--bg);border-radius:50%;background:var(--blue);color:#fff;font-size:13px;font-weight:800;box-shadow:0 0 0 1px var(--border-strong)}.stage-rail.green>span{background:var(--green)}.stage-rail.amber>span{background:var(--amber)}.stage-rail.red>span{background:var(--red)}.roadmap-stage.locked .stage-rail>span{background:#fff;color:var(--subtle)}.stage-rail i{width:2px;min-height:40px;flex:1;background:var(--border-strong)}.stage-card{margin-bottom:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:20px 22px;box-shadow:var(--shadow-sm)}.roadmap-stage.current .stage-card{border-color:#b9cef6}.roadmap-stage.locked .stage-card{background:#fafbfc;color:var(--muted)}.stage-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.stage-index{color:var(--blue);font-size:14px;font-weight:800}.stage-card h2{margin:4px 0 2px;font-size:19px}.stage-subtitle{margin:0;color:var(--muted);font-size:16px}.stage-card>p{margin:12px 0;color:var(--muted);font-size:16px}.lesson-chip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lesson-chip-list>span{display:flex;min-height:34px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:5px;padding:7px 9px;color:#465168;font-size:13px}.lesson-chip-list>span>span{display:inline-flex;width:16px;height:16px;flex:0 0 16px;align-items:center;justify-content:center;border-radius:50%;background:#eef1f5;font-size:13px}.lesson-chip-list svg{color:var(--green)}.lesson-chip-list .muted{color:var(--subtle)}.stage-card footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px;border-top:1px solid var(--border);padding-top:13px}.stage-progress{display:grid;grid-template-columns:minmax(120px,230px) auto;gap:10px;align-items:center;width:50%}.stage-progress span{color:var(--muted);font-size:14px}.roadmap-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:14px}.next-milestone,.route-principle{padding:20px}.next-milestone>.section-kicker{display:block;margin-top:16px;color:var(--amber)}.next-milestone h2{margin:5px 0 8px;font-size:17px}.next-milestone p,.route-principle p{margin:0 0 15px;color:var(--muted);font-size:16px}.next-milestone>div{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.route-principle h3{margin:0 0 7px;font-size:14px}.route-principle .ant-btn{padding-inline:0;color:var(--blue)}.review-page{max-width:1050px}.review-counter span{display:flex;flex-direction:column}.review-counter strong{color:var(--text);font-size:14px}.review-counter small{color:var(--muted);font-size:14px}.review-progress{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:20px auto;max-width:760px}.review-progress>span{color:var(--muted);font-size:14px}.review-card{max-width:760px;min-height:430px;margin:0 auto;padding:24px 30px 28px}.review-card>header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:14px}.review-prompt{display:flex;min-height:170px;flex-direction:column;align-items:center;justify-content:center;padding:22px 12px;text-align:center}.question-mark{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:800}.review-prompt h2{max-width:590px;margin:14px 0 6px;font-size:23px;line-height:1.45}.review-prompt p{margin:0;color:var(--muted);font-size:16px}.review-card>.ant-btn{display:flex;margin:10px auto}.review-answer{border-top:1px solid var(--border);padding-top:18px}.answer-label{display:flex;align-items:center;gap:6px;color:var(--green);font-size:14px;font-weight:800}.review-answer>p{margin:9px 0 14px;font-size:16px}.evidence-note{display:flex;gap:9px;border-radius:6px;background:var(--amber-soft);padding:10px 12px;color:var(--amber)}.evidence-note span{display:flex;flex-direction:column;color:#63410c;font-size:16px}.evidence-note strong{margin-bottom:2px}.grade-panel{max-width:760px;margin:18px auto 0;text-align:center}.grade-panel>span{display:block;margin-bottom:10px;color:var(--muted);font-size:14px}.grade-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.grade-buttons .ant-btn{display:flex;height:55px;flex-direction:column;justify-content:center;padding:4px 8px}.grade-buttons small{margin-top:2px;font-size:14px;font-weight:400;opacity:.78}.grade-buttons .again{border-color:#efb8b5;color:var(--red)}.grade-buttons .hard{border-color:#e7c98e;color:var(--amber)}.grade-buttons .good{border-color:#9fb9ee;color:var(--blue)}.grade-buttons .easy{border-color:#9ecdb6;color:var(--green)}.grade-panel>small{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;color:var(--subtle);font-size:14px}.review-complete{max-width:650px;margin:50px auto;padding:60px 24px;text-align:center}.review-complete>span{display:inline-flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.lesson-page{min-height:100vh;background:#fff}.lesson-topbar{position:sticky;top:0;z-index:20;display:grid;height:58px;grid-template-columns:38px minmax(0,1fr) minmax(150px,240px) auto;gap:14px;align-items:center;border-bottom:1px solid var(--border);background:#fffffff7;padding:0 24px}.icon-link{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:6px;color:var(--muted)}.icon-link:hover{background:var(--surface-muted);color:var(--text)}.lesson-breadcrumb{display:flex;min-width:0;align-items:center;gap:8px;overflow:hidden;color:var(--muted);font-size:13px;white-space:nowrap}.lesson-breadcrumb span,.lesson-breadcrumb strong{overflow:hidden;text-overflow:ellipsis}.lesson-breadcrumb i{color:var(--border-strong);font-style:normal}.lesson-breadcrumb strong{color:var(--text)}.lesson-top-progress{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.lesson-top-progress span{color:var(--muted);font-size:13px}.annotation-count{display:inline-flex;min-width:17px;height:17px;align-items:center;justify-content:center;margin-left:3px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:13px}.lesson-page>.offline-notice{max-width:1020px;margin:14px auto}.lesson-layout{display:grid;grid-template-columns:164px minmax(0,760px) 240px;gap:28px;justify-content:center;align-items:start;max-width:1260px;margin:0 auto;padding:34px 28px 80px}.lesson-left,.lesson-right{position:sticky;top:86px}.lesson-anchors{display:flex;flex-direction:column}.lesson-anchors-title{margin-bottom:12px;color:var(--subtle);font-size:13px;font-weight:800}.lesson-anchors a{display:flex;min-height:36px;align-items:center;gap:9px;border-left:2px solid var(--border);padding:7px 10px;color:var(--muted);font-size:13px;line-height:1.35}.lesson-anchors a.active{border-left-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:700}.lesson-anchors a svg{flex:0 0 auto}.lesson-content{min-width:0}.lesson-heading{margin-bottom:38px}.lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--muted);font-size:13px}.lesson-meta>span{display:flex;align-items:center;gap:5px}.lesson-heading h1{max-width:720px;margin:14px 0 9px;font-size:30px;line-height:1.35}.lesson-heading>p{margin:0;color:var(--muted);font-size:14px}.learning-objectives{margin-top:22px;border:1px solid #cbdaf7;border-radius:7px;background:#f7faff;padding:14px 16px}.learning-objectives>span{display:flex;align-items:center;gap:7px;color:var(--blue);font-size:13px;font-weight:800}.learning-objectives ul{display:grid;grid-template-columns:1fr;gap:6px;margin:10px 0 0;padding:0;list-style:none}.learning-objectives li{display:flex;align-items:flex-start;gap:7px;color:#3c4a64;font-size:13px}.learning-objectives li svg{flex:0 0 auto;margin-top:2px;color:var(--green)}.lesson-block{scroll-margin-top:90px;margin:0 0 50px}.block-kicker{display:flex;align-items:center;gap:7px}.lesson-block h2{margin:8px 0 10px;font-size:23px;line-height:1.4}.lesson-block>p{margin:0 0 18px;color:#4d5a70;font-size:14px}.lesson-block code{border-radius:3px;background:#eef2f7;padding:2px 5px;color:#273a5a;font-size:13px}.lesson-block .ant-alert{border-radius:6px}.comparison-grid{display:grid;grid-template-columns:1fr 105px 1fr;align-items:stretch;margin:20px 0}.comparison-grid>div:not(.connection-line){border:1px solid var(--border);border-radius:7px;padding:18px}.comparison-grid h3{margin:12px 0 5px;font-size:15px}.comparison-grid p{min-height:42px;margin:0 0 12px;color:var(--muted);font-size:13px}.comparison-grid small{color:var(--blue);font-family:Cascadia Code,monospace;font-size:13px}.comparison-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:6px;font-size:13px;font-weight:900}.comparison-icon.windows{background:var(--blue-soft);color:var(--blue)}.comparison-icon.linux{background:var(--amber-soft);color:var(--amber)}.connection-line{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--subtle)}.connection-line span{font-size:13px;text-align:center}.path-table{overflow:hidden;margin:18px 0;border:1px solid var(--border);border-radius:7px}.path-table>div{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;border-bottom:1px solid var(--border)}.path-table>div:last-child{border-bottom:0}.path-table>div:first-child{background:var(--surface-muted);color:var(--muted);font-size:13px;font-weight:700}.path-table span,.path-table code{min-width:0;border-right:1px solid var(--border);border-radius:0;background:transparent;padding:10px 12px;font-size:13px;overflow-wrap:anywhere}.path-table span:last-child,.path-table code:last-child{border-right:0}.safety-note{display:flex;gap:12px;border-left:3px solid var(--green);background:var(--green-soft);padding:13px 15px;color:var(--green)}.safety-note svg{flex:0 0 auto}.safety-note strong{font-size:13px}.safety-note p{margin:2px 0 0;color:#315f4b;font-size:13px}.exercise-workspace{overflow:hidden;border:1px solid #303a4e;border-radius:8px;background:#111827;box-shadow:0 8px 20px #1018281f}.workspace-toolbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #303a4e;background:#1b2434;padding:8px 10px}.workspace-toolbar .ant-segmented{background:#111827}.workspace-toolbar .ant-segmented-item{color:#aab4c5}.workspace-toolbar .ant-segmented-item-selected{background:#334057;color:#fff}.workspace-toolbar .ant-segmented-item-label>span{display:inline-flex;align-items:center;gap:5px}.workspace-actions{display:flex;align-items:center;gap:5px}.workspace-actions .ant-btn:not(.ant-btn-primary){border-color:#46536b;background:#253047;color:#d7deea}.editor-wrap{min-width:0;height:330px}.editor-loading{display:flex;height:330px;align-items:center;justify-content:center;color:#aab4c5;font-size:13px}.draft-indicator{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;white-space:nowrap}.draft-indicator.local{color:var(--blue)}.draft-indicator.saving{color:var(--amber)}.draft-indicator.saving svg{animation:spin 1s linear infinite}.draft-indicator.saved{color:var(--green)}.draft-indicator.error{color:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}.terminal-output{min-height:330px;background:#0d1320;color:#d9e2ef}.terminal-output header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293246;padding:10px 15px;color:#9ca9bc;font-size:13px}.terminal-output header span,.terminal-output header strong{display:flex;align-items:center;gap:6px}.terminal-output header i{width:8px;height:8px;border-radius:50%;background:var(--green)}.terminal-output header strong{color:#73d6a7}.terminal-output pre{margin:0;padding:20px;color:#d9e2ef;font-size:13px;line-height:1.8;white-space:pre-wrap}.terminal-output textarea{width:100%;min-height:270px;resize:vertical;border:0;outline:0;background:#111827;padding:18px;color:#d8e5d9;font:13px/1.6 Consolas,monospace}.explanation-editor{min-height:330px;padding:20px;background:#f8fafc}.explanation-editor label{display:block;margin-bottom:10px;color:#3f4d64;font-size:13px}.explanation-editor textarea{width:100%;min-height:210px;resize:vertical;border:1px solid #cbd4e1;border-radius:6px;outline:none;padding:13px;color:var(--text);font-size:13px;line-height:1.7}.explanation-editor textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #dce8ff}.explanation-prompt{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--green);font-size:13px}.quiz-options{display:grid;gap:8px;margin:18px 0}.quiz-options .ant-radio-wrapper{width:100%;min-height:48px;margin:0;border:1px solid var(--border);border-radius:6px;padding:10px 12px}.quiz-options .ant-radio-wrapper-checked{border-color:#a9c2f1;background:var(--blue-soft)}.option-letter{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;margin-right:9px;border-radius:5px;background:#eef1f5;color:var(--muted);font-size:13px;font-weight:800}.quiz-feedback{margin-top:12px}.summary-block{border-top:1px solid var(--border);padding-top:36px}.draft-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.confidence-check{margin-top:15px;font-size:13px}.notes-panel{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--shadow-sm)}.notes-panel header{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border-bottom:1px solid var(--border);padding:13px 14px}.notes-panel header>div{width:100%}.notes-panel h2{margin:2px 0 0;font-size:14px}.notes-panel textarea{display:block;width:100%;min-height:220px;resize:vertical;border:0;outline:none;padding:13px 14px;color:var(--text);font-size:13px;line-height:1.7}.notes-panel footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);background:var(--surface-muted);padding:7px 10px}.notes-panel footer>span{color:var(--subtle);font-size:13px}.annotation-shortcut{display:flex;width:100%;align-items:center;gap:10px;margin-top:10px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:11px;color:var(--blue);text-align:left;cursor:pointer}.annotation-shortcut>span{display:flex;min-width:0;flex:1;flex-direction:column}.annotation-shortcut strong{color:var(--text);font-size:13px}.annotation-shortcut small{margin-top:2px;color:var(--muted);font-size:13px}.ai-panel{margin:0 0 42px;border:1px solid #c9d8f6;border-radius:8px;background:#f8faff;padding:16px}.ai-panel>header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center}.ai-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:7px;background:var(--blue);color:#fff}.ai-panel h3{margin:0;font-size:13px}.ai-panel header p{margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.ai-status{border-radius:4px;background:var(--green-soft);padding:4px 7px;color:var(--green);font-size:13px;font-weight:800}.ai-status.pending{background:var(--amber-soft);color:var(--amber)}.ai-status.error{background:var(--red-soft);color:var(--red)}.ai-status.disabled{background:#eef1f5;color:#596579}.ai-input-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:end;margin-top:13px}.ai-input-row>.ant-btn{height:40px}.ai-pending{display:flex;gap:9px;margin-top:12px;border-radius:6px;background:var(--amber-soft);padding:10px;color:var(--amber)}.ai-pending span{display:flex;flex-direction:column;color:#6e4b15;font-size:13px}.ai-answer{margin-top:12px;border-radius:6px;background:#fff;padding:12px}.ai-answer>span{color:var(--blue);font-size:13px;font-weight:800}.ai-answer p{margin:5px 0;white-space:pre-wrap;font-size:13px}.ai-answer small{color:var(--muted);font-size:13px}.ai-panel .ant-alert{margin-top:12px}.lesson-footer-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:20px}.lesson-footer-nav>a{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.lesson-footer-nav .ant-btn{display:inline-flex;align-items:center}.drawer-title{display:flex;align-items:center;gap:8px}.annotation-summary{display:flex;gap:9px;border-radius:6px;background:var(--blue-soft);padding:11px;color:var(--blue)}.annotation-summary span{display:flex;flex-direction:column;color:#334e7e;font-size:13px}.annotation-list{display:grid;gap:9px;margin:16px 0 24px}.annotation-list article{border:1px solid var(--border);border-radius:7px;padding:12px}.annotation-list header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.annotation-list p{margin:9px 0 0;font-size:13px}.annotation-list .empty-annotation{color:var(--muted)}.new-annotation label{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:700}.new-annotation .ant-btn{margin-top:9px}.dynamic-lesson-page{min-height:100vh;background:var(--page);padding-bottom:70px}.dynamic-lesson-content{width:min(860px,calc(100% - 36px));margin:0 auto;padding-top:34px}.dynamic-lesson-content .lesson-heading{margin-bottom:28px}.dynamic-lesson-content .lesson-block{margin-bottom:18px;border-bottom:1px solid var(--border);padding:28px 4px 34px}.dynamic-block-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.markdown-lesson-block h2{margin-top:10px}.markdown-lesson-block h3{margin:22px 0 8px;font-size:16px}.markdown-lesson-block p,.markdown-lesson-block li{color:#3e4b60;font-size:calc(14px * var(--lesson-text-scale, 1));line-height:1.8}.markdown-lesson-block pre{overflow-x:auto;border-radius:6px;background:#172033;padding:16px;color:#e9eef7}.markdown-lesson-block code{font-family:Consolas,monospace}.dynamic-quiz-list{display:grid;gap:14px;margin:18px 0}.dynamic-quiz-list fieldset{margin:0;border:1px solid var(--border);border-radius:7px;padding:16px}.dynamic-quiz-list legend{padding:0 6px;font-size:13px;font-weight:700}.dynamic-quiz-list .ant-radio-group{display:grid;gap:9px}.quiz-explanation{margin:12px 0 0;border-left:3px solid var(--blue);background:var(--blue-soft);padding:9px 11px;color:#334e7e;font-size:13px}.submission-alert{margin-top:14px}.dynamic-lesson-content #lesson-summary .ant-input{margin:12px 0}.dynamic-lesson-content #lesson-summary>.ant-alert{margin-top:12px}.insight-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin-bottom:18px;border:1px solid var(--border);border-radius:8px;background:#fff}.insight-strip>div{display:flex;align-items:center;gap:11px;border-right:1px solid var(--border);padding:14px 18px}.insight-strip>div:last-child{border-right:0}.insight-strip>div>span:last-child{display:flex;flex-direction:column}.insight-strip strong{font-size:16px}.insight-strip small{color:var(--muted);font-size:14px}.weakness-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.25fr);gap:18px;align-items:start}.weakness-list{display:flex;flex-direction:column;gap:8px}.weakness-list-item{display:grid;width:100%;grid-template-columns:9px minmax(0,1fr) auto 16px;gap:10px;align-items:center;border:1px solid var(--border);border-radius:7px;background:#fff;padding:15px;color:var(--text);text-align:left;cursor:pointer}.weakness-list-item.active{border-color:#a9c2f1;box-shadow:inset 3px 0 0 var(--blue)}.severity-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.severity-dot.high{background:var(--red)}.severity-dot.medium{background:var(--amber)}.weakness-list-item>div{display:flex;min-width:0;flex-direction:column}.weakness-list-item strong{font-size:16px}.weakness-list-item small{display:-webkit-box;overflow:hidden;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.trend{display:flex;align-items:center;gap:3px;color:var(--amber);font-size:14px;font-weight:700}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.weakness-detail{padding:23px}.weakness-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.weakness-detail h2{margin:7px 0 0;font-size:22px}.mastery-score{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:14px}.mastery-score>span{margin-top:4px}.observation{display:flex;gap:9px;margin:18px 0;border-radius:6px;background:var(--red-soft);padding:12px;color:#7d3333;font-size:16px}.observation svg{flex:0 0 auto}.detail-label{display:block;margin-bottom:9px;color:var(--muted);font-size:14px;font-weight:800}.evidence-list{border:1px solid var(--border);border-radius:7px}.evidence-list>div{display:grid;grid-template-columns:23px minmax(0,1fr) 16px;gap:9px;align-items:center;border-bottom:1px solid var(--border);padding:9px 11px}.evidence-list>div:last-child{border-bottom:0}.evidence-list>div>span{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#eef2f7;color:var(--muted);font-size:14px;font-weight:700}.evidence-list p{margin:0;font-size:16px}.evidence-list svg{color:var(--green)}.recommended-action{margin-top:20px;border-top:1px solid var(--border);padding-top:18px}.recommended-action>div{display:flex;gap:11px}.recommended-action>div>div{display:flex;flex-direction:column}.recommended-action strong{font-size:16px}.recommended-action p{margin:3px 0;color:var(--muted);font-size:16px}.recommended-action small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:14px}.recommended-action>a{display:inline-flex;align-items:center;gap:5px;margin-top:14px}.level-banner{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(230px,.75fr);gap:18px;align-items:center;margin-bottom:18px;border:1px solid var(--border);border-radius:8px;background:#253049;padding:20px 24px;color:#fff}.level-emblem{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:8px;background:#fff;color:var(--blue)}.level-copy{display:flex;min-width:0;flex-direction:column}.level-copy>span{color:#bfc9d9;font-size:14px}.level-copy strong{margin:3px 0;font-size:18px}.level-copy p{margin:0;color:#cbd3df;font-size:16px}.level-progress>div{display:flex;justify-content:space-between;font-size:14px}.level-progress small{color:#bfc9d9;font-size:14px}.skill-tree,.achievements-section{border:1px solid var(--border);border-radius:8px;background:#fff;padding:22px}.skill-columns{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;overflow-x:auto;margin-top:20px;padding:4px 2px 16px}.skill-column{position:relative;display:flex;min-width:130px;flex-direction:column;gap:9px}.skill-category{margin-bottom:2px;color:var(--muted);font-size:14px;font-weight:800;text-align:center}.skill-node{position:relative;z-index:1;display:grid;min-height:72px;grid-template-columns:30px minmax(0,1fr) 14px;gap:7px;align-items:center;border:1px solid var(--border);border-radius:7px;background:#fff;padding:9px;color:var(--text);text-align:left;cursor:pointer}.skill-node.mastered{border-color:#9ecdb6;background:var(--green-soft)}.skill-node.learning{border-color:#9fb9ee;background:var(--blue-soft)}.skill-node.available{border-color:#e1c489;background:var(--amber-soft)}.skill-node.locked{background:#f8f9fb;color:var(--muted);cursor:default}.skill-node-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:6px;background:#eef2f7;color:var(--muted)}.skill-node.mastered .skill-node-icon{background:var(--green);color:#fff}.skill-node.learning .skill-node-icon{background:var(--blue);color:#fff}.skill-node.available .skill-node-icon{background:var(--amber);color:#fff}.skill-node>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.skill-node strong{font-size:16px}.skill-node small{margin-top:3px;color:var(--muted);font-size:14px;line-height:1.35}.skill-connector{position:absolute;top:62px;right:-13px;width:14px;height:1px;background:var(--border-strong)}.skill-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;border-top:1px solid var(--border);padding-top:13px}.skill-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:14px}.skill-legend i{width:8px;height:8px;border-radius:2px;background:var(--border-strong)}.skill-legend i.mastered{background:var(--green)}.skill-legend i.learning{background:var(--blue)}.skill-legend i.available{background:var(--amber)}.achievement-total{display:flex;align-items:center;gap:6px;color:var(--amber);font-size:14px;font-weight:700}.achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.achievement-grid article{position:relative;min-height:205px;border:1px solid var(--border);border-radius:7px;background:#fafbfc;padding:16px;opacity:.78}.achievement-grid article.unlocked{background:#fff;opacity:1}.achievement-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:7px;background:#eef2f7;color:var(--muted)}.achievement-grid article.unlocked .achievement-icon{background:var(--amber-soft);color:var(--amber)}.achievement-grid .ant-tag{position:absolute;top:16px;right:12px;margin:0}.achievement-grid h3{margin:13px 0 4px;font-size:14px}.achievement-grid p{min-height:36px;margin:0 0 10px;color:var(--muted);font-size:16px}.achievement-grid small{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:14px}.achievement-grid article.unlocked small{color:var(--green)}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.settings-main{display:flex;flex-direction:column;gap:14px}.settings-section{overflow:hidden}.settings-section>header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);background:var(--surface-muted);padding:15px 18px}.settings-section h2{margin:0;font-size:15px}.settings-section header p{margin:2px 0 0;color:var(--muted);font-size:16px}.setting-row{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--border);padding:13px 18px}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{display:flex;min-width:0;flex-direction:column}.setting-row strong{font-size:16px}.setting-row span{margin-top:3px;color:var(--muted);font-size:16px}.number-control{display:flex;align-items:center;gap:7px}.number-control>span{margin:0;white-space:nowrap}.setting-row .ant-select{min-width:135px}.text-scale-control{display:grid;width:210px;grid-template-columns:1fr 38px;gap:10px;align-items:center}.text-scale-control>span{margin:0;text-align:right}.settings-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}.export-card{padding:20px}.export-card h2{margin:14px 0 6px;font-size:17px}.export-card>p{margin:0 0 14px;color:var(--muted);font-size:16px}.export-card ul{display:grid;gap:7px;margin:0 0 16px;padding:0;list-style:none}.export-card li{display:flex;align-items:center;gap:7px;color:#47546a;font-size:16px}.export-card li svg{color:var(--green)}.export-card .ant-alert{margin-top:10px}.storage-card{padding:14px}.storage-card>div{display:flex;align-items:center;justify-content:space-between;font-size:16px}.storage-card>div>span{display:flex;align-items:center;gap:6px}.storage-card p{margin:6px 0 4px;color:var(--muted);font-size:16px}.storage-card .ant-btn{padding-inline:0;font-size:16px}.save-settings{align-self:stretch}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}@media(max-width:1180px){.page-shell{padding-inline:26px}.progress-summary{grid-template-columns:110px minmax(0,1fr);gap:18px}.study-flow{grid-template-columns:repeat(2,minmax(120px,1fr));row-gap:16px}.study-flow:before{display:none}.study-segment{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;text-align:left}.study-segment>div{margin-top:0}.study-segment>span:last-child{margin:0}.lesson-layout{grid-template-columns:150px minmax(0,720px)}.lesson-right{display:none}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-frame{padding:58px 0 70px}.desktop-sidebar{display:none}.mobile-header{position:fixed;inset:0 0 auto;z-index:40;display:flex;height:58px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fffffff7;padding:0 16px}.mobile-header .brand{padding:0}.mobile-header .brand-mark{width:30px;height:30px;flex-basis:30px}.mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:40;display:grid;height:66px;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);background:#fffffffa;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:16px}.mobile-bottom-nav a.active{color:var(--blue)}.mobile-nav-icon{position:relative;display:inline-flex}.mobile-nav-icon i{position:absolute;top:-6px;right:-9px;display:inline-flex;width:15px;height:15px;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-style:normal}.mobile-menu-drawer .side-nav{margin-top:0}.page-shell{padding:25px 20px 40px}.page-header{align-items:flex-start}.page-header h1{font-size:25px}.today-overview{grid-template-columns:1fr}.current-lesson-panel{border-top:1px solid var(--border);border-left:0}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-tile:nth-child(2){border-right:0}.stat-tile:nth-child(-n+2){border-bottom:1px solid var(--border)}.roadmap-layout{grid-template-columns:1fr}.roadmap-aside{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.weakness-layout,.settings-layout{grid-template-columns:1fr}.settings-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.save-settings{grid-column:1 / -1}.lesson-frame{padding-top:0}.lesson-frame>.mobile-header{display:none}.lesson-page{padding-bottom:66px}.lesson-topbar{top:0;grid-template-columns:34px minmax(0,1fr) auto;padding:0 14px}.lesson-top-progress{display:none}.lesson-topbar .ant-btn{padding-inline:9px}.lesson-layout{display:block;padding:0 20px 60px}.lesson-left{position:sticky;top:58px;z-index:15;overflow-x:auto;margin:0 -20px 25px;border-bottom:1px solid var(--border);background:#fffffffa;padding:7px 20px}.lesson-anchors{width:max-content;flex-direction:row;gap:5px}.lesson-anchors-title{display:none}.lesson-anchors a{min-height:32px;border:0;border-radius:5px;padding:6px 9px;white-space:nowrap}.lesson-heading h1{font-size:27px}.lesson-page>.offline-notice{margin:10px 14px}}@media(max-width:640px){.page-shell{padding:22px 14px 34px}.page-header{display:block;margin-bottom:20px}.page-header h1{font-size:23px}.page-actions{margin-top:14px}.page-actions>.ant-segmented{width:100%}.skeleton-grid{grid-template-columns:1fr}.progress-summary{display:flex;flex-direction:column;align-items:stretch}.progress-summary>.ant-progress{align-self:center}.study-flow{grid-template-columns:1fr}.today-progress-panel,.current-lesson-panel{padding:20px 16px}.stats-grid{grid-template-columns:1fr}.stat-tile{border-right:0;border-bottom:1px solid var(--border)}.stat-tile:nth-child(2){border-right:0}.stat-tile:nth-child(-n+3){border-bottom:1px solid var(--border)}.stat-tile:last-child{border-bottom:0}.lower-grid{grid-template-columns:1fr}.review-callout,.weekly-card{min-height:190px;padding:18px}.roadmap-summary{width:100%;justify-content:center}.roadmap-stage{grid-template-columns:30px minmax(0,1fr);gap:7px}.stage-rail>span{width:28px;height:28px;flex-basis:28px;border-width:3px}.stage-card{padding:16px 14px}.lesson-chip-list{grid-template-columns:1fr}.stage-card footer{align-items:flex-start;flex-direction:column}.stage-progress{width:100%}.roadmap-aside{grid-template-columns:1fr}.review-counter{width:100%;justify-content:center}.review-card{min-height:410px;padding:18px 16px}.review-prompt h2{font-size:20px}.grade-buttons{grid-template-columns:repeat(2,1fr)}.grade-buttons .ant-btn{height:50px}.lesson-topbar{grid-template-columns:34px minmax(0,1fr) 40px;gap:7px}.lesson-topbar .ant-btn{width:38px;padding:0;font-size:0}.lesson-topbar .annotation-count{position:absolute;top:7px;right:7px}.lesson-layout{padding-inline:14px}.lesson-left{margin-inline:-14px;padding-inline:14px}.lesson-heading h1{font-size:24px}.lesson-heading>p,.lesson-block>p{font-size:13px}.lesson-block h2{font-size:20px}.comparison-grid{grid-template-columns:1fr;gap:8px}.connection-line{min-height:45px;transform:rotate(90deg)}.connection-line span{display:none}.path-table{overflow-x:auto}.path-table>div{min-width:560px}.workspace-toolbar{align-items:stretch;flex-direction:column}.workspace-toolbar .ant-segmented{width:100%}.workspace-actions{display:grid;grid-template-columns:minmax(0,1fr) 36px auto auto}.workspace-actions .draft-indicator{overflow:hidden;text-overflow:ellipsis}.workspace-actions .ant-btn{padding-inline:8px}.workspace-actions .ant-btn span:not(.ant-btn-icon){display:none}.editor-wrap,.editor-loading{height:300px}.terminal-output,.explanation-editor{min-height:300px}.dynamic-lesson-content{width:calc(100% - 28px);padding-top:22px}.dynamic-lesson-content .lesson-block{padding-block:22px 28px}.dynamic-block-heading{align-items:flex-start;flex-direction:column;gap:6px}.draft-row{align-items:flex-start;flex-direction:column}.ai-panel>header{grid-template-columns:36px minmax(0,1fr)}.ai-status{grid-column:2;justify-self:start}.lesson-footer-nav{align-items:stretch;flex-direction:column-reverse}.lesson-footer-nav .ant-btn{justify-content:center}.insight-strip{grid-template-columns:1fr}.insight-strip>div{border-right:0;border-bottom:1px solid var(--border)}.insight-strip>div:last-child{border-bottom:0}.weakness-list-item{grid-template-columns:8px minmax(0,1fr) auto}.weakness-list-item>svg{display:none}.weakness-detail{padding:17px 14px}.weakness-detail>header{align-items:center}.level-banner{grid-template-columns:48px minmax(0,1fr);padding:17px}.level-emblem{width:44px;height:44px}.level-progress{grid-column:1 / -1}.skill-tree,.achievements-section{padding:16px 12px}.achievement-grid{grid-template-columns:1fr}.settings-aside{display:flex}.setting-row{align-items:flex-start;flex-direction:column;gap:10px}.setting-row>:last-child{align-self:stretch}.setting-row .ant-select,.slider-row .text-scale-control{width:100%}.number-control .ant-input-number{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}html,body{max-width:100%}body{font-size:16px;line-height:1.55}.app-frame{padding-left:224px}.desktop-sidebar{width:224px;padding:22px 14px 16px}.nav-item,.ant-btn,.icon-link,.annotation-shortcut{min-height:44px}.ant-btn.ant-btn-icon-only,.icon-link{min-width:44px}.text-link{display:inline-flex;min-height:44px;align-items:center}.page-shell{width:min(100%,1560px);padding:34px clamp(28px,3vw,52px) 64px}.page-header h1{font-size:32px}.page-header p{font-size:16px}.section-heading h2{font-size:20px}.section-kicker,.block-kicker,.eyebrow{font-size:14px}.icon-box.coral{background:var(--coral-soft);color:var(--coral)}.section-kicker.coral{color:var(--coral)}.today-learning-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);overflow:hidden;min-height:470px;border:1px solid #d8e1ee;border-radius:8px;background:#fff;box-shadow:0 12px 36px #18305414}.lesson-spotlight{display:flex;min-width:0;flex-direction:column;justify-content:center;border-right:1px solid #d8e1ee;background:#f5f9ff;padding:clamp(34px,4vw,64px)}.spotlight-topline,.spotlight-actions,.phase-artwork>header,.phase-remaining{display:flex;align-items:center;justify-content:space-between;gap:18px}.lesson-label{min-height:32px;padding:6px 10px;font-size:13px}.lesson-duration{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.lesson-spotlight .lesson-eyebrow{margin-top:42px;color:var(--blue);font-size:14px;font-weight:800}.lesson-spotlight h2{max-width:780px;margin:10px 0 14px;font-size:40px;line-height:1.25}.lesson-spotlight>p{max-width:680px;margin:0;color:#526178;font-size:17px}.lesson-spotlight .lesson-progress-row{max-width:600px;margin:28px 0 22px}.lesson-progress-row>span{color:var(--green);font-size:14px}.spotlight-actions{justify-content:flex-start}.resume-link{min-width:168px;min-height:48px;font-size:16px}.stage-secondary-link{display:inline-flex;min-height:44px;align-items:center;gap:4px;color:var(--blue);font-weight:700}.phase-artwork{min-width:0;padding:38px 34px 32px;background:#fff}.phase-artwork h2{margin:5px 0 0;font-size:24px}.phase-total{display:flex;align-items:baseline;gap:5px;color:var(--muted)}.phase-total strong{color:var(--text);font-size:34px}.phase-total span{font-size:13px}.phase-journey{display:grid;min-height:270px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;align-items:start;margin:30px 0 18px;padding:0;list-style:none}.phase-journey li{position:relative;min-width:0;border-top:5px solid var(--blue);background:var(--blue-soft);padding:16px 12px}.phase-journey li:nth-child(2){margin-top:34px}.phase-journey li:nth-child(3){margin-top:68px}.phase-journey li:nth-child(4){margin-top:102px}.phase-journey li:nth-child(5){margin-top:136px}.phase-journey li.green{border-top-color:var(--green);background:var(--green-soft)}.phase-journey li.amber{border-top-color:var(--amber);background:var(--amber-soft)}.phase-journey li.red{border-top-color:var(--coral);background:var(--coral-soft)}.phase-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:6px;background:#fff;color:var(--blue);box-shadow:0 1px #17203314}.phase-journey .green .phase-icon{color:var(--green)}.phase-journey .amber .phase-icon{color:var(--amber)}.phase-journey .red .phase-icon{color:var(--coral)}.phase-journey li>div{display:flex;min-width:0;flex-direction:column;margin-top:22px}.phase-journey li>div small{color:#5e6a7d;font-size:13px;font-weight:800}.phase-journey li>div strong{margin-top:5px;font-size:14px;line-height:1.35}.phase-journey li>div span{display:-webkit-box;overflow:hidden;margin-top:5px;color:#68758a;font-size:13px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.phase-journey li>b{display:flex;align-items:baseline;gap:2px;margin-top:16px;font-size:21px}.phase-journey li>b small{font-size:13px;font-weight:700}.phase-remaining{position:relative;overflow:hidden;height:38px;border:1px solid #dce4ef;border-radius:6px;background:#f6f8fb;padding:0 12px}.phase-remaining>span{position:absolute;inset:0 auto 0 0;background:#dce9ff}.phase-remaining>strong{position:relative;margin-left:auto;font-size:13px}.stats-grid{margin-top:18px}.stat-tile{min-height:88px;padding:18px 20px}.stat-tile span{font-size:13px}.stat-tile strong{font-size:20px}.stat-tile small{font-size:13px}.learning-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.learning-support-grid>.surface-card{min-height:240px;padding:24px}.learning-support-grid p{color:var(--muted);font-size:15px}.review-callout p{margin:24px 0;font-size:15px}.count-chip{width:38px;height:38px}.skill-progress-card,.weakness-card{display:flex;flex-direction:column}.skill-progress-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(90px,1fr) 38px;gap:10px;align-items:center;margin-top:22px}.skill-progress-row>span{display:flex;min-width:0;flex-direction:column}.skill-progress-row strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.skill-progress-row small{color:var(--muted);font-size:13px}.skill-progress-row b{font-size:13px;text-align:right}.skill-progress-card .text-link,.weakness-card .text-link{margin-top:auto;padding-top:20px}.weakness-topic{margin-top:28px;color:var(--coral);font-size:17px}.coral-link{color:var(--coral)}.course-mobile-tools{display:none}.lesson-frame{min-width:0}.lesson-page,.dynamic-lesson-page{min-width:0;background:#fff}.lesson-layout{grid-template-columns:190px minmax(0,820px) 300px;gap:32px;max-width:1560px;padding:38px clamp(24px,3vw,48px) 96px}.lesson-left,.lesson-right{top:82px}.lesson-right{max-height:calc(100vh - 104px);overflow-y:auto;padding-right:3px}.lesson-anchors-title{font-size:13px}.lesson-anchors a{min-height:44px;padding:9px 12px;font-size:14px}.lesson-topbar{height:64px}.lesson-breadcrumb{font-size:14px}.lesson-top-progress span{font-size:13px}.lesson-content,.dynamic-lesson-content{width:auto;min-width:0;margin:0;padding-top:0}.lesson-heading h1{max-width:800px;font-size:36px}.lesson-heading>p,.lesson-block>p,.markdown-lesson-block p,.markdown-lesson-block li{color:#3f4e63;font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75}.lesson-meta{font-size:14px}.lesson-block h2{font-size:27px}.lesson-block code{font-size:.9em}.lesson-block,.dynamic-lesson-content .lesson-block{scroll-margin-top:86px;margin-bottom:42px;padding-bottom:42px}.learning-objectives li{font-size:16px}.path-table,.markdown-lesson-block pre,.markdown-lesson-block table,.exercise-workspace{max-width:100%}.path-table,.markdown-lesson-block pre,.markdown-lesson-block table{overflow-x:auto}.markdown-lesson-block table{display:block;white-space:nowrap}.editor-wrap,.terminal-output,.explanation-editor{min-width:0}.mobile-editor-mode{display:none}.notes-panel textarea{min-height:190px;font-size:15px}.notes-panel h2{font-size:17px}.notes-panel header{gap:8px}.notes-panel footer>span{font-size:13px}.annotation-shortcut strong{font-size:14px}.annotation-shortcut small{font-size:13px}.course-support-rail .ai-panel{margin:14px 0 0;padding:14px}.course-support-rail .ai-panel>header{grid-template-columns:36px minmax(0,1fr)}.course-support-rail .ai-status{grid-column:2;justify-self:start}.course-support-rail .ai-panel header p{font-size:13px}.course-support-rail .ai-input-row{grid-template-columns:minmax(0,1fr) 44px}.course-support-drawer-content{margin-top:18px}.course-toc-drawer .lesson-anchors a{border-radius:6px}.course-toc-drawer .lesson-anchors{width:100%;flex-direction:column}.course-toc-drawer .lesson-anchors-title{display:none}.course-toc-drawer .lesson-anchors a{white-space:normal}.course-support-drawer .ant-drawer-body{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.setting-row .ant-switch{box-sizing:border-box;height:44px;min-height:44px;padding-block:10px;background-clip:content-box}.setting-row .ant-switch .ant-switch-handle{top:12px}.text-scale-control .ant-slider{box-sizing:border-box;height:44px;min-height:44px;margin-block:0;padding-block:0}.text-scale-control .ant-slider .ant-slider-rail,.text-scale-control .ant-slider .ant-slider-track,.text-scale-control .ant-slider .ant-slider-step{top:20px}.text-scale-control .ant-slider .ant-slider-handle{top:15px}@keyframes phase-lift{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:no-preference){.phase-journey li.current .phase-icon{animation:phase-lift 2.4s ease-in-out infinite}}@media(max-width:1199px){.app-frame{padding:64px 0 0}.desktop-sidebar{display:none}.mobile-header{position:fixed;inset:0 0 auto;z-index:40;display:flex;height:64px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fffffffa;padding:0 20px}.mobile-header .brand{padding:0}.mobile-bottom-nav{display:none}.page-shell{padding-inline:26px}.today-learning-stage{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)}.lesson-spotlight{padding:38px}.lesson-spotlight h2{font-size:34px}.phase-artwork{padding-inline:24px}.phase-journey{min-height:250px}.phase-journey li{padding-inline:9px}.learning-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-support-grid>:first-child{grid-column:1 / -1;min-height:190px}.lesson-frame{padding-top:0}.lesson-frame>.mobile-header{display:none}.lesson-layout{grid-template-columns:180px minmax(0,780px);max-width:1080px}.lesson-right{display:none}.course-mobile-tools{position:sticky;top:64px;z-index:18;display:flex;justify-content:flex-end;gap:8px;border-bottom:1px solid var(--border);background:#fffffffa;padding:8px 24px}}@media(max-width:900px){.today-learning-stage{display:flex;min-height:0;flex-direction:column}.lesson-spotlight{min-height:430px;border-right:0;border-bottom:1px solid var(--border)}.phase-artwork{padding:32px 28px}}@media(max-width:767px){.app-frame{padding:calc(62px + env(safe-area-inset-top)) 0 calc(72px + env(safe-area-inset-bottom))}.mobile-header{height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0}.mobile-header .brand small{display:none}.mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:50;display:grid;height:calc(66px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--border);background:#fffffffc;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{display:flex;min-width:0;min-height:60px;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:16px}.mobile-bottom-nav a.active{color:var(--blue)}.mobile-nav-icon{position:relative;display:inline-flex}.mobile-nav-icon i{position:absolute;top:-7px;right:-10px;display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border:2px solid #fff;border-radius:9px;background:var(--coral);color:#fff;font-size:13px;font-style:normal}.page-shell{padding:24px 14px 40px}.page-header{display:block;margin-bottom:20px}.page-header h1{font-size:26px}.page-header p{font-size:16px}.page-actions{margin-top:14px}.today-learning-stage{display:flex;min-height:0;flex-direction:column}.lesson-spotlight{order:1;border-right:0;border-bottom:1px solid var(--border);padding:26px 20px 28px}.spotlight-topline{align-items:flex-start}.lesson-duration{font-size:13px}.lesson-spotlight .lesson-eyebrow{margin-top:28px}.lesson-spotlight h2{font-size:30px}.lesson-spotlight>p{font-size:16px}.spotlight-actions{align-items:stretch;flex-direction:column}.resume-link{width:100%}.stage-secondary-link{align-self:center}.phase-artwork{order:2;padding:26px 18px}.phase-artwork>header{align-items:flex-end}.phase-artwork h2{font-size:21px}.phase-total strong{font-size:27px}.phase-total span{display:none}.phase-journey{display:flex;min-height:0;flex-direction:column;gap:0;margin:22px 0 18px}.phase-journey li,.phase-journey li:nth-child(n){display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:0;border-top:0;border-left:5px solid var(--blue);padding:13px 12px}.phase-journey li.green{border-left-color:var(--green)}.phase-journey li.amber{border-left-color:var(--amber)}.phase-journey li.red{border-left-color:var(--coral)}.phase-icon{width:38px;height:38px}.phase-journey li>div{margin-top:0}.phase-journey li>div span{-webkit-line-clamp:1}.phase-journey li>b{margin-top:0}.stats-grid{grid-template-columns:1fr 1fr}.stat-tile{min-height:96px;border-bottom:1px solid var(--border)}.stat-tile:nth-child(2n){border-right:0}.learning-support-grid{grid-template-columns:1fr}.learning-support-grid>:first-child{grid-column:auto}.learning-support-grid>.surface-card{min-height:220px;padding:20px}.skill-progress-row{grid-template-columns:minmax(110px,.9fr) minmax(70px,1fr) 36px}.lesson-frame{padding:0 0 calc(66px + env(safe-area-inset-bottom))}.lesson-page,.dynamic-lesson-page{padding-bottom:0}.lesson-topbar{top:0;height:calc(62px + env(safe-area-inset-top));grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:env(safe-area-inset-top) 12px 0}.lesson-breadcrumb{display:none}.lesson-top-progress{display:grid;grid-column:2;min-width:0}.lesson-top-progress span{font-size:13px}.lesson-topbar>.ant-tag,.lesson-topbar>.ant-btn{grid-column:3;margin:0}.lesson-topbar>.ant-btn{width:44px;padding:0;font-size:0}.course-mobile-tools{top:calc(62px + env(safe-area-inset-top));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 10px}.course-mobile-tools .ant-btn{min-width:0;padding-inline:8px}.lesson-layout{display:block;max-width:100%;padding:28px 14px 48px}.lesson-left,.lesson-right{display:none}.lesson-content,.dynamic-lesson-content{width:100%;max-width:760px}.lesson-heading{margin-bottom:32px}.lesson-heading h1{font-size:30px}.lesson-heading>p,.lesson-block>p,.markdown-lesson-block p,.markdown-lesson-block li{font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75}.lesson-block h2{font-size:24px}.lesson-block,.dynamic-lesson-content .lesson-block{margin-bottom:28px;padding-block:22px 30px}.comparison-grid{grid-template-columns:1fr;gap:8px}.connection-line{min-height:45px;transform:rotate(90deg)}.connection-line span{display:none}.path-table{overflow-x:auto}.path-table>div{min-width:620px}.workspace-toolbar{align-items:stretch;flex-direction:column}.workspace-toolbar .ant-segmented{width:100%}.workspace-actions{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,44px)}.workspace-actions .draft-indicator{overflow:hidden;text-overflow:ellipsis}.workspace-actions .ant-btn{width:44px;padding:0}.workspace-actions .ant-btn span:not(.ant-btn-icon){display:none}.mobile-editor-mode{display:inline-flex}.editor-wrap,.editor-loading{height:330px}.terminal-output,.explanation-editor{min-height:330px}body.editor-is-fullscreen{overflow:hidden}.mobile-editor-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;width:100vw;height:100dvh;flex-direction:column;border:0;border-radius:0}.mobile-editor-fullscreen .workspace-toolbar{flex:0 0 auto;padding-top:calc(8px + env(safe-area-inset-top))}.mobile-editor-fullscreen .editor-wrap,.mobile-editor-fullscreen .editor-loading{height:auto;min-height:0;flex:1}.mobile-editor-fullscreen>.ant-alert{position:absolute;inset:auto 8px calc(8px + env(safe-area-inset-bottom))}.ai-panel>header{grid-template-columns:36px minmax(0,1fr)}.ai-status{grid-column:2;justify-self:start}.course-support-drawer .notes-panel,.course-support-drawer .ai-panel{border:0;box-shadow:none}}.toybox-theme{background-color:var(--bg);background-image:radial-gradient(#dcded5 1px,transparent 1px);background-size:24px 24px}.toybox-theme :is(h1,h2,h3,strong){overflow-wrap:anywhere}.toybox-theme :is(h1,h2,h3){font-weight:850}.toybox-theme .page-shell{max-width:1560px}.toybox-theme .page-header{align-items:center;border-bottom:2px dashed var(--border);padding-bottom:24px}.toybox-theme .page-header .eyebrow{color:var(--muted)}.toybox-theme .page-header h1{margin-block:9px}.toybox-theme .page-actions{flex-wrap:wrap}.toybox-theme .page-shell :is(.section-kicker,.block-kicker){color:var(--muted)}.skip-learning-link{position:fixed;top:-100px;left:16px;z-index:1500;border:var(--toy-border);border-radius:8px;background:#fff;padding:12px 20px}.skip-learning-link:focus{top:12px}:where(.toybox-theme,.ant-drawer) :is(a,button,input,textarea,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:4px}.toybox-theme .desktop-sidebar{overflow-y:auto;border-right:var(--toy-border);background:#fff8eb;gap:14px;padding:24px 12px 18px}.toybox-theme .brand{padding:0 6px 20px;border-bottom:2px dashed #e1cdb6;gap:10px}.toybox-theme .brand-mark{width:44px;height:44px;flex-basis:44px;border:var(--toy-border);border-radius:14px;background:var(--mango);color:var(--text);box-shadow:0 4px #d47e00,inset 0 3px #ffd88d;transform:rotate(-5deg)}.toybox-theme .brand strong{display:flex;align-items:center;gap:8px;font-size:22px}.brand-edition{display:inline-flex;border:var(--toy-border);border-radius:7px;background:var(--red-soft);padding:2px 5px;color:var(--red);font-size:14px}.toybox-theme .brand small{margin-top:5px;font-size:13px}.toybox-theme .side-nav{margin-top:4px;gap:8px}.side-nav .nav-group-label{padding:4px 10px;color:var(--muted)}.side-nav .nav-secondary-label{margin-top:12px}.side-nav .nav-item{min-height:48px;border:2px solid transparent;border-radius:12px;padding:7px 10px;color:var(--text);font-size:16px;font-weight:750}.side-nav .nav-item:hover{background:#fff}.side-nav .nav-item.active{border-color:var(--text);background:#fff;color:var(--text);box-shadow:0 4px #e2c6a4}.nav-toy-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:8px;background:var(--blue-soft);color:var(--blue)}.nav-item:nth-of-type(2) .nav-toy-icon{background:var(--green-soft);color:var(--green)}.nav-item:nth-of-type(3) .nav-toy-icon{background:var(--red-soft);color:var(--red)}.nav-item:nth-of-type(4) .nav-toy-icon{background:var(--amber-soft);color:var(--amber)}.nav-item:nth-of-type(5) .nav-toy-icon{background:var(--green-soft);color:var(--green)}.nav-item:nth-of-type(6) .nav-toy-icon{background:#fff2c8;color:#925500}.side-nav .nav-badge{min-width:26px;height:26px;border:1.5px solid var(--text);border-radius:9px;background:#ffcae0;color:var(--text);padding-inline:4px}.toybox-theme .sidebar-course{flex-shrink:0;border:2px dashed #a3bfb0;border-radius:14px;background:#effaf4;box-shadow:none;padding:14px 9px}.toybox-theme .sidebar-course-icon{border-radius:9px;background:var(--mint);color:var(--text)}.toybox-theme .sidebar-profile{flex-shrink:0;margin-top:0;border:var(--toy-border);border-radius:14px;background:#fff;padding:12px 8px;box-shadow:0 4px #e2c6a4}.toybox-theme .sidebar-profile .ant-avatar{flex-shrink:0;border:2px solid var(--text);background:var(--amber-soft);color:var(--text)}.workspace-hud{display:flex;min-height:72px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-bottom:var(--toy-border);background:#fff;padding:14px 32px}.workspace-hud-title{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:800}.workspace-hud-title svg{color:var(--blue)}.workspace-hud-stats{display:flex;flex-wrap:wrap;gap:10px}.hud-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1.5px solid var(--text);border-radius:20px;padding:5px 12px;font-size:14px;font-weight:750;box-shadow:0 2px #d9d5cf}.hud-pill.mint{background:var(--green-soft);color:var(--green)}.hud-pill.mango{background:var(--amber-soft);color:var(--amber)}.hud-pill.sky{background:var(--blue-soft);color:var(--blue)}.toybox-theme .ant-btn:not(.ant-btn-text,.ant-btn-link),.ant-modal .ant-btn:not(.ant-btn-text,.ant-btn-link),.ant-drawer .ant-btn:not(.ant-btn-text,.ant-btn-link){border:var(--toy-border);border-radius:12px;box-shadow:0 4px #c9c5be;font-weight:750;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.toybox-theme .ant-btn-primary:not(:disabled){background:var(--mango);color:var(--text);box-shadow:0 5px #d47e00,inset 0 2px #ffd88d}.toybox-theme .ant-btn-primary:not(:disabled):hover{border-color:var(--text);background:#ffc14d;color:var(--text)}.toybox-theme .ant-btn:not(:disabled,.ant-btn-text,.ant-btn-link):active{transform:translateY(3px);box-shadow:0 1px #b9aea2}.toybox-theme .ant-btn:disabled{box-shadow:none;border-color:var(--border)}.toybox-theme .ant-tag{border:1.5px solid currentColor;border-radius:8px;padding:3px 8px;font-size:13px;font-weight:700;white-space:normal}.toybox-theme :is(.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector){border-color:#b9aea2}.toybox-theme .ant-input-affix-wrapper .ant-input{border:0}.toybox-theme .visibility-control .ant-switch{box-sizing:border-box;min-height:44px;height:44px;padding-block:10px;background-clip:content-box}.toybox-theme .visibility-control .ant-switch .ant-switch-handle{top:12px}.toybox-theme .ant-tabs-nav:before{border-bottom:2px solid var(--border)}.toybox-theme .ant-tabs-ink-bar{height:4px;border-radius:4px}.toybox-theme .ant-tabs-tab{font-weight:750}.toybox-theme .ant-segmented{border:1px solid var(--border-strong);padding:4px}.toybox-theme .ant-segmented-item,.ant-drawer .ant-segmented-item{min-width:44px;min-height:44px}.toybox-theme .ant-segmented-item-label,.ant-drawer .ant-segmented-item-label{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;line-height:1.5;white-space:normal}.ant-drawer .ant-drawer-close{display:inline-flex;width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;align-items:center;justify-content:center}.toybox-theme .ant-segmented-item-selected{box-shadow:0 2px #c9c5be}.toybox-theme .ant-progress-line .ant-progress-inner{border:1.5px solid var(--text);background:#e9ebe5;padding:2px;box-shadow:inset 0 2px #d4d7cf}.toybox-theme .ant-progress-line .ant-progress-bg{min-height:8px;box-shadow:inset 0 2px #ffffff60}.toybox-theme .ant-alert{border-width:1.5px;border-radius:12px}.toybox-theme :is(.icon-box,.account-section-icon,.leaderboard-mark){border:1.5px solid var(--text);border-radius:12px;box-shadow:0 3px #d9d5cf}.toybox-theme .text-link{font-size:16px}.toybox-theme .today-learning-stage{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:24px;min-height:0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}.toybox-theme .lesson-spotlight{min-height:0;justify-content:flex-start;border:var(--toy-border);border-radius:20px;background:#fff;padding:24px;box-shadow:0 7px #a7d5f4,0 12px 22px #2c221e08}.toybox-theme .spotlight-topline{flex-wrap:wrap;gap:8px}.toybox-theme .lesson-label{border:1.5px solid var(--text);border-radius:9px;background:var(--blue-soft);color:var(--blue)}.toybox-theme .lesson-duration{color:var(--amber);font-size:14px;font-weight:750}.toybox-artwork{display:block;width:100%;height:144px;flex-shrink:0;margin:10px auto 4px}.toybox-theme .lesson-spotlight .lesson-eyebrow{margin-top:10px;color:var(--muted);font-size:14px}.toybox-theme .lesson-spotlight h2{margin:8px 0 12px;font-size:28px;line-height:1.4}.toybox-theme .lesson-spotlight>p{color:var(--muted);font-size:16px}.toybox-theme .lesson-spotlight .lesson-progress-row{width:100%;margin:20px 0 16px;padding-top:0}.toybox-theme .spotlight-actions{flex-wrap:wrap;gap:12px}.toybox-theme .resume-link{flex:1;min-height:48px;border:var(--toy-border);border-radius:13px;background:var(--sky);color:#fff;box-shadow:0 5px #1272c4,inset 0 2px #ffffff50;font-size:16px;font-weight:800}.toybox-theme .resume-link:hover{background:#147fd7;color:#fff}.toybox-theme .stage-secondary-link{padding-inline:8px;font-size:16px}.toy-route-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;padding-inline:16px}.toybox-theme .phase-artwork{display:flex;min-height:0;flex-direction:column;border:var(--toy-border);border-radius:20px;background:#fffdf9;padding:22px;box-shadow:0 7px #e7c99e,0 12px 22px #2c221e08}.toybox-theme .phase-artwork>header{flex-wrap:wrap;gap:10px}.toybox-theme .phase-artwork h2{font-size:22px}.toybox-theme .phase-total strong{color:var(--amber);font-size:28px}.toybox-theme .phase-total span{display:inline}.toybox-theme .phase-journey{display:flex;width:100%;min-height:0;align-items:stretch;flex-direction:column;gap:8px;margin:16px 0}.toybox-theme .phase-journey li:nth-child(n){display:grid;width:100%;min-height:64px;grid-template-columns:40px minmax(0,1fr) 36px;align-items:center;gap:10px;margin:0;border:1.5px solid #d9d5cf;border-radius:12px;background:#fff;padding:8px 10px}.toybox-theme .phase-journey li.complete{border-color:#91caae;background:var(--green-soft)}.toybox-theme .phase-journey li.current{border:2px solid var(--text);background:#fff2c8;box-shadow:0 4px #e4bd68}.toybox-theme .phase-journey li>div{margin:0}.toybox-theme .phase-journey li>div small{color:var(--muted);font-size:13px}.toybox-theme .phase-journey li>div strong{margin:0;font-size:16px;line-height:1.5}.toybox-theme .phase-journey .phase-step-number{margin-right:7px;font-variant-numeric:tabular-nums}.toybox-theme .phase-journey li>div span:not(.sr-only){display:block;overflow:visible;margin-top:2px;color:var(--muted);font-size:13px;-webkit-line-clamp:unset}.toybox-theme .phase-icon{width:38px;height:38px;border:1.5px solid var(--text);border-radius:11px;box-shadow:0 3px #d9d5cf}.toybox-theme .complete .phase-icon{background:var(--mint);color:var(--text);box-shadow:0 3px #009665}.toybox-theme .current .phase-icon{background:var(--mango);color:var(--text);box-shadow:0 3px #d47e00}.toybox-theme .phase-journey li>b{display:flex;flex-direction:column;align-items:center;margin:0;color:var(--text);font-size:21px;line-height:1.3}.toybox-theme .phase-remaining{min-height:36px;margin-top:auto;border:1.5px solid var(--text);border-radius:10px;background:#fff}.toybox-theme .phase-remaining>span{background:#bcefdc}.toybox-theme .stats-grid{gap:18px;overflow:visible;margin-top:30px;border:0;border-radius:0;background:none}.toybox-theme .stat-tile:nth-child(n){align-items:flex-start;gap:13px;min-height:128px;border:var(--toy-border);border-radius:16px;background:#fff;padding:20px 16px;box-shadow:0 5px #b7dafa}.toybox-theme .stat-tile:nth-child(2){box-shadow:0 5px #a7ddc4}.toybox-theme .stat-tile:nth-child(3){box-shadow:0 5px #efcd8c}.toybox-theme .stat-tile:nth-child(4){box-shadow:0 5px #efb8ce}.toybox-theme .stat-tile>div{display:flex;flex-direction:column;gap:4px}.toybox-theme .stat-tile>.icon-box{flex-basis:36px;width:36px;height:36px;color:var(--blue)}.toybox-theme .stat-tile>.icon-box.green{color:var(--green)}.toybox-theme .stat-tile>.icon-box.amber{color:var(--amber)}.toybox-theme .stat-tile>.icon-box.red{color:var(--red)}.toybox-theme .stat-tile strong{font-size:24px;white-space:normal}.toybox-theme .stat-tile small{overflow:visible;white-space:normal;line-height:1.5}.toybox-theme .learning-support-grid{margin-top:30px;gap:24px}.toybox-theme .learning-support-grid>.surface-card{border:0;border-top:4px solid var(--berry);border-radius:0;background:#fff9fb;box-shadow:none}.toybox-theme .learning-support-grid>.skill-progress-card{border-top-color:var(--mint);background:#f2fbf6}.toybox-theme .learning-support-grid>.weakness-card{border-top-color:var(--mango);background:#fffaf0}.toybox-theme .learning-support-grid p{font-size:16px}.toybox-theme .skill-progress-row{grid-template-columns:minmax(0,1fr) minmax(60px,.7fr) 40px}.toybox-theme .skill-progress-row strong{overflow:visible;white-space:normal;font-size:14px}.toybox-theme .count-chip{border:var(--toy-border);border-radius:12px;background:#ffcae0;color:var(--text);box-shadow:0 3px #e59ab6}.toybox-theme :is(.stage-card,.review-card,.review-complete,.skill-node,.admin-user-card),.toybox-theme .achievement-grid article{border:var(--toy-border);border-radius:18px;background:#fff;box-shadow:var(--toy-shadow)}.toybox-theme .skill-node.mastered{background:var(--green-soft);border-color:var(--green)}.toybox-theme .skill-node.learning{background:var(--blue-soft);border-color:var(--blue)}.toybox-theme .skill-node.available{background:var(--amber-soft);border-color:var(--amber)}.toybox-theme .skill-node.locked,.toybox-theme .achievement-grid article:not(.unlocked){background:#f4f5f1;border-color:#c9c5be;box-shadow:0 3px #e0dfd8}.toybox-theme .skill-node strong,.toybox-theme .achievement-grid h3{font-size:16px}.toybox-theme .achievement-grid .ant-tag{position:static;display:table;margin:12px 0 0}.toybox-theme .stage-card{margin-bottom:26px}.toybox-theme .roadmap-stage.current .stage-card{border-color:var(--text);box-shadow:0 6px #a7d5f4}.toybox-theme .roadmap-stage.locked .stage-card{border-color:#c9c5be;background:#f7f7f3;box-shadow:0 4px #e0dfd8}.toybox-theme .stage-rail>span{border:2px solid var(--text);box-shadow:0 3px #b9aea2}.toybox-theme .stage-rail i{width:3px;background:repeating-linear-gradient(to bottom,#b9aea2 0 7px,transparent 7px 13px)}.toybox-theme .lesson-chip-list>span{border:0;border-bottom:1px dashed var(--border);border-radius:0;font-size:14px}.toybox-theme :is(.next-milestone,.route-principle){border:0;border-top:4px solid var(--mango);border-radius:0;background:#fffaf0;box-shadow:none}.toybox-theme .review-card{border-top:8px solid var(--berry);box-shadow:0 8px #edbbce}.toybox-theme .review-prompt{padding-block:28px}.toybox-theme .question-mark{width:44px;height:44px;border:var(--toy-border);background:var(--amber-soft);color:var(--text);font-size:24px;box-shadow:0 3px #efcd8c}.toybox-theme .review-answer{border-top:2px dashed #a8cfb9}.toybox-theme .review-answer>p{font-size:18px;line-height:1.75}.toybox-theme .grade-buttons .again{background:var(--red-soft)}.toybox-theme .grade-buttons .hard{background:var(--amber-soft)}.toybox-theme .grade-buttons .good{background:var(--blue-soft)}.toybox-theme .grade-buttons .easy{background:var(--green-soft)}.toybox-theme :is(.skill-tree,.achievements-section,.settings-section,.weakness-detail,.admin-section.surface-card,.account-section){border:0;border-top:3px solid var(--border-strong);border-radius:0;background:#fff;box-shadow:none}.toybox-theme .level-banner{border:0;border-block:2px solid #92cdb0;border-radius:0;background:var(--green-soft);color:var(--text);box-shadow:none}.toybox-theme :is(.level-copy>span,.level-copy p,.level-progress small){color:var(--green)}.toybox-theme .level-emblem{border:var(--toy-border);background:#ffd865;color:var(--text);box-shadow:0 4px #d9a300}.toybox-theme .weakness-list-item{border-radius:12px}.toybox-theme .weakness-list-item.active{border-color:var(--text);background:var(--red-soft);box-shadow:0 3px #efb8ce}.toybox-theme .insight-strip{border:var(--toy-border);border-radius:14px;box-shadow:0 4px #d9d5cf}.toybox-theme :is(.lesson-page,.dynamic-lesson-page){background:#fffefa}.toybox-theme .lesson-topbar{border-bottom:var(--toy-border);background:#fff}.toybox-theme .lesson-heading{border-bottom:2px dashed var(--border);padding-bottom:24px}.toybox-theme .lesson-heading h1{font-weight:850}.toybox-theme .lesson-block>p,.toybox-theme .lesson-heading>p,.toybox-theme .markdown-lesson-block p,.toybox-theme .markdown-lesson-block li{color:#48433e;font-size:calc(18px * var(--lesson-text-scale, 1));line-height:1.75}.toybox-theme .learning-objectives{border:0;border-left:5px solid var(--mint);border-radius:0;background:#ecfaf3}.toybox-theme .lesson-anchors a.active{border:1.5px solid var(--text);border-radius:10px;background:var(--amber-soft);color:var(--text);box-shadow:0 3px #e8ca8c}.toybox-theme .lesson-anchors a{margin-bottom:5px}.toybox-theme .lesson-block :not(pre)>code{background:#fff1c8;color:#694400}.toybox-theme .comparison-grid>div:not(.connection-line){border:var(--toy-border);border-radius:16px;background:#eaf5ff;box-shadow:0 5px #bad9ef}.toybox-theme .comparison-grid>div:last-child{background:#e9faef;box-shadow:0 5px #add7bd}.toybox-theme .comparison-icon{width:42px;height:42px;border:var(--toy-border);border-radius:12px}.toybox-theme :is(.exercise-workspace,.notes-panel){border:var(--toy-border);border-radius:16px;box-shadow:0 5px #c9c5be}.toybox-theme .workspace-toolbar{border-bottom:2px solid var(--text);background:#fff2c8;padding:12px}.toybox-theme .workspace-toolbar .ant-segmented{background:#fffdf9}.toybox-theme .workspace-toolbar .ant-segmented-item{color:var(--muted)}.toybox-theme .workspace-toolbar .ant-segmented-item-selected{background:#fff;color:var(--text)}.toybox-theme .workspace-actions .ant-btn:not(.ant-btn-primary){border-color:var(--text);background:#fffdf9;color:var(--text)}.toybox-theme .notes-panel header{border-bottom:2px dashed var(--border);background:#fff2c8}.toybox-theme .notes-panel textarea{background:#fffefa}.toybox-theme .notes-panel textarea:focus-visible{outline-offset:-4px}.toybox-theme .quiz-options .ant-radio-wrapper{border:1.5px solid var(--border-strong);border-radius:12px;background:#fff}.toybox-theme .quiz-options .ant-radio-wrapper-checked{border-color:var(--text);background:var(--blue-soft);box-shadow:0 3px #bad9ef}.toybox-theme .dynamic-quiz-list .ant-radio-wrapper{width:100%;min-height:44px;margin:0;padding:8px 10px;align-items:center}.toybox-theme .account-identity{border:0;border-block:3px solid #9ccde5;border-radius:0;background:#ebf7ff;box-shadow:none}.toybox-theme .account-avatar{border:3px solid var(--text);background:#fff2c8;color:var(--text);box-shadow:0 5px #a7cddd}.toybox-theme .avatar-camera{width:44px;height:44px;border:2px solid var(--text);background:var(--blue)}.toybox-theme .account-section{border-top-color:var(--sky)}.toybox-theme .account-password-section{border-top-color:var(--berry);border-bottom:0}.toybox-theme .visibility-control{border:0;border-left:4px solid var(--mint);border-radius:0;background:#effaf4}.toybox-theme .account-settings-grid{gap:24px}.toybox-theme .leaderboard-board{border:var(--toy-border);border-radius:18px;box-shadow:var(--toy-shadow)}.toybox-theme .leaderboard-board>header{border-bottom:var(--toy-border);background:#fff2c8}.toybox-theme .leaderboard-list li{border-bottom:1px dashed var(--border-strong)}.toybox-theme .leaderboard-list li.top-1{background:#fff8dd}.toybox-theme .leaderboard-list li.top-2{background:#eff8ff}.toybox-theme .leaderboard-list li.top-3{background:#fff0f5}.toybox-theme .leaderboard-list li.current-player{background:#e7faef;box-shadow:inset 5px 0 var(--mint)}.toybox-theme :is(.top-1,.top-2,.top-3) .leaderboard-rank{border:1.5px solid var(--text);border-radius:10px;background:#fff;box-shadow:0 3px #d9d5cf}.toybox-theme .current-rank{border:0;border-block:2px solid #91caae;border-radius:0;background:#e7faef;box-shadow:none}.toybox-theme .admin-user-grid{gap:22px}.toybox-theme .admin-user-card>header{padding-bottom:14px;border-bottom:2px dashed var(--border)}.toybox-theme .admin-user-card .ant-avatar{border:1.5px solid var(--text);background:var(--blue-soft);color:var(--blue)}.toybox-theme .admin-user-card:nth-child(3n+2){box-shadow:0 6px #b3dfc8}.toybox-theme .admin-user-card:nth-child(3n){box-shadow:0 6px #f0c4d3}.toybox-theme .audit-list{border:var(--toy-border);border-radius:14px}.toybox-theme .audit-list>button:nth-child(2n){background:#f5faf6}.toybox-theme .ant-table-thead>tr>th{background:#fff2c8;border-bottom:2px solid var(--text)}.toybox-theme .ant-table-tbody>tr>td{border-bottom:1px dashed var(--border)}.toybox-theme .ai-config-panel{border-color:var(--border-strong);border-radius:14px;box-shadow:none}.toybox-theme .ai-config-panel>header{border-bottom:1px solid var(--border-strong);background:#eaf5ff}.toybox-theme .ai-config-panel.shared>header{background:#e7faef}@media(max-width:1399px)and (min-width:1200px){.workspace-hud{padding-inline:24px}.workspace-hud-title{display:none}.toybox-theme .stat-tile:nth-child(n){flex-direction:column}.toybox-theme .learning-support-grid{grid-template-columns:1fr 1fr}.toybox-theme .learning-support-grid>:first-child{grid-column:1 / -1}}@media(max-width:1199px){.workspace-hud{display:none}.toybox-theme .mobile-header{border-bottom:var(--toy-border);background:#fff8eb}.toybox-theme .mobile-header .brand{min-height:44px;border:0;padding:0}.toybox-theme .mobile-header .brand-mark{width:38px;height:38px;flex-basis:38px}}@media(max-width:900px){.toybox-theme .today-learning-stage{grid-template-columns:1fr}.toybox-theme .lesson-spotlight{min-height:0}.toybox-artwork{height:176px}}@media(max-width:767px){.toybox-theme .page-header{padding-bottom:18px}.toybox-theme .page-header h1{font-size:26px}.toybox-theme .page-actions{width:100%}.toybox-theme .today-page .page-actions{display:none}.toybox-theme .page-actions .toy-route-link{width:100%;min-height:44px}.toybox-theme .today-learning-stage{gap:24px}.toybox-theme :is(.lesson-spotlight,.phase-artwork){padding:20px 16px;border-radius:18px}.toybox-theme .lesson-spotlight h2{font-size:25px}.toybox-artwork{height:112px;margin-block:10px 8px}.toybox-theme .lesson-duration{font-size:13px}.toybox-theme .phase-artwork h2{font-size:20px}.toybox-theme .phase-journey li:nth-child(n){grid-template-columns:36px minmax(0,1fr) 34px;gap:9px;padding:8px 9px}.toybox-theme .phase-icon{width:34px;height:36px}.toybox-theme .phase-journey li>div strong{font-size:16px}.toybox-theme .stats-grid{grid-template-columns:1fr 1fr;gap:16px 12px}.toybox-theme .stat-tile:nth-child(n){flex-direction:column;padding:16px 12px;gap:10px}.toybox-theme .stat-tile strong{font-size:23px}.toybox-theme .learning-support-grid{grid-template-columns:1fr}.toybox-theme .learning-support-grid>:first-child{grid-column:auto}.toybox-theme .mobile-bottom-nav{border-top:var(--toy-border);background:#fffdf9}.toybox-theme .mobile-bottom-nav a{color:var(--muted)}.toybox-theme .mobile-bottom-nav a.active{color:var(--text);font-weight:800}.toybox-theme .mobile-nav-icon{display:grid;width:40px;height:30px;place-items:center;border:1.5px solid transparent;border-radius:10px}.toybox-theme .mobile-bottom-nav a.active .mobile-nav-icon{border-color:var(--text);background:var(--mango);box-shadow:0 2px #d47e00}.toybox-theme .workspace-toolbar{padding:10px}.toybox-theme .course-mobile-tools .ant-btn{border-radius:9px}.toybox-theme .mobile-editor-fullscreen{border:0;border-radius:0;box-shadow:none}.toybox-theme .account-identity{padding:22px 16px}.toybox-theme .leaderboard-board>header{padding:18px 14px}.toybox-theme .current-rank{flex-wrap:wrap;gap:8px}}@media(prefers-reduced-motion:no-preference){html:not([data-reduce-motion=true]) .toybox-computer{animation:phase-lift 4s ease-in-out infinite}}body:has(.source-view) :is(.ant-select-dropdown,.ant-tooltip,.ant-popover,.ant-message),.source-view-modal{letter-spacing:0}body:has(.source-view) :is(.ant-select-dropdown,.ant-tooltip,.ant-popover,.ant-message) *,.source-view-modal *{letter-spacing:0}body:has(.source-view) .ant-select-dropdown .ant-select-item,body:has(.source-view) .ant-select-dropdown .ant-select-item-option-content,body:has(.source-view) .ant-popover .ant-popover-inner-content,body:has(.source-view) .ant-popover .ant-popconfirm-title,body:has(.source-view) .ant-popover .ant-popconfirm-description,body:has(.source-view) .ant-popover .ant-btn,body:has(.source-view) .ant-popover .ant-btn>span,body:has(.source-view) .ant-message .ant-message-notice-content,body:has(.source-view) .ant-message .ant-message-custom-content>span,.source-view-modal.source-view-modal .ant-drawer-body,.source-view-modal.source-view-modal .ant-descriptions-item-label,.source-view-modal.source-view-modal .ant-descriptions-item-content,.source-view-modal.source-view-modal .ant-input,.source-view-modal.source-view-modal .ant-input-number-input,.source-view-modal.source-view-modal .ant-btn,.source-view-modal.source-view-modal .ant-btn>span{font-size:16px;line-height:1.65;overflow-wrap:anywhere}body:has(.source-view) .ant-tooltip .ant-tooltip-inner{font-size:14px;overflow-wrap:anywhere}body:has(.source-view) .ant-select-dropdown .ant-select-item{min-height:44px;display:flex;align-items:center}body:has(.source-view) .ant-select-dropdown .ant-select-item-option-content{white-space:normal}.source-view-modal.source-view-modal .ant-modal-title,.source-view-modal.source-view-modal .ant-drawer-title{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.source-view-modal.source-view-modal h3{font-size:18px;overflow-wrap:anywhere}.source-view-modal.source-view-modal .ant-modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.source-view-modal.source-view-modal .ant-modal-footer .ant-btn{margin:0;max-width:100%}
