.phone-only{display:none!important}.home{min-height:100vh}.topbar{flex-wrap:wrap;align-items:center;gap:14px 24px;max-width:1296px;margin:0 auto;padding:18px 28px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;display:flex}.brand b{font-family:var(--display);white-space:nowrap;font-size:26px;font-weight:700}.logo{flex:none;width:40px;height:44px;position:relative}.logo span{background:var(--surface);width:26px;height:36px;box-shadow:0 4px 0 var(--press);border-radius:7px;position:absolute}.logo span:first-child{top:4px;left:0;rotate:-10deg}.logo span:last-child{font-family:var(--display);color:var(--coral);justify-content:center;align-items:center;font-weight:700;display:flex;top:0;left:12px;rotate:8deg}.main-nav{flex-wrap:wrap;flex:auto;gap:6px;display:flex}.main-nav a,.main-nav button{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.main-nav a:hover,.main-nav button:hover{background:var(--surface)}.main-nav [aria-current=page],.main-nav [aria-current=page]:hover{background:var(--ink);color:var(--surface);font-weight:800}.main-nav .nav-soon{min-height:44px;color:var(--muted);cursor:default;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.main-nav .nav-soon small{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}.ai-pill{background:var(--surface);min-height:40px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.avatar{background:var(--sun);width:44px;height:44px;color:var(--ink);font-family:var(--display);cursor:pointer;box-shadow:0 3px 0 var(--sun-deep);border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.signin-btn{font-weight:700}.home-main{flex-direction:column;gap:28px;max-width:1296px;margin:0 auto;padding:12px 28px 56px;display:flex}.site-foot{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:16px;display:flex}.site-foot a{min-height:44px;color:var(--blue);align-items:center;padding:0 4px;font-weight:700;display:inline-flex}.hero-row{flex-wrap:wrap;gap:24px;display:flex}.hero{border-radius:var(--r-big);flex-wrap:wrap;flex:999 620px;align-items:center;gap:28px;min-width:0;padding:36px 40px;display:flex}.hero-text{flex-direction:column;flex:999 340px;gap:14px;min-width:0;display:flex}.hero-tag{background:var(--coral-soft);color:var(--coral-deep);align-self:flex-start;padding:4px 12px;font-size:14px}.hero h1{font-size:clamp(34px,3.6vw,50px);line-height:1.05}.hero-goal{color:var(--muted);font-size:18px}.hero-btns{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.hero-btns .btn.big{padding:0 32px;font-size:21px;font-weight:600}.see-all{border-radius:var(--r-btn-big);background:var(--ground);min-height:56px;box-shadow:none;font-family:var(--sans);padding:0 22px;font-weight:800;text-decoration:none}.hero .find-level{align-self:flex-start;min-height:32px;margin:0;font-size:15px}.hero-ring{flex:200px;justify-content:center;display:flex}.ring{width:160px;height:160px}.ring circle{fill:none;stroke-width:18px}.ring-track{stroke:var(--ground)}.ring-fill{stroke:var(--green);stroke-linecap:round}.ring-num{font-family:var(--display);fill:var(--ink);font-size:40px;font-weight:700}.ring-cap{font-family:var(--sans);fill:var(--muted);font-size:14px;font-weight:700}.entries{flex-direction:column;flex:340px;gap:14px;min-width:0;display:flex}.entry{border-radius:var(--r-card);min-height:96px;font:inherit;text-align:left;cursor:pointer;border:0;flex:1 1 0;align-items:center;gap:16px;padding:18px 22px;text-decoration:none;transition:translate 80ms,box-shadow 80ms;display:flex}.entry:active:not(:disabled){translate:0 3px}.entry-play{background:var(--sun);box-shadow:0 5px 0 var(--sun-deep);color:var(--ink)}.entry-drill{background:var(--blue);box-shadow:0 5px 0 var(--blue-deep);color:var(--primary-ink)}.entry:disabled{background:var(--disabled-bg);color:var(--disabled-ink);box-shadow:0 5px 0 var(--press);cursor:not-allowed}.entry-ico{background:var(--surface);border-radius:16px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.entry-ico svg{width:26px;height:26px}.entry-play .entry-ico{color:var(--ink)}.entry-drill .entry-ico{color:var(--blue)}.entry-text{flex-direction:column;min-width:0;display:flex}.entry-title{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.25}.entry-sub{font-size:15px;font-weight:600}.course-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.course-tabs{flex-wrap:wrap;gap:10px;display:flex}.course-tabs button{border-radius:var(--r-btn-big);background:var(--surface);min-height:52px;box-shadow:var(--press-btn);color:var(--ink);font-family:var(--display);cursor:pointer;border:0;padding:0 22px;font-size:19px;font-weight:600}.course-tabs button[aria-pressed=true]{background:var(--ink);color:var(--surface);box-shadow:none}.tile-prefs{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.seg.small button{padding:4px 10px;font-size:.9rem}.seg-label{color:var(--muted);align-self:center;padding:0 8px;font-size:.9rem}.pref-label{color:var(--muted);margin-right:-6px;font-size:13px;font-weight:800}.tree{flex-direction:column;gap:24px;scroll-margin-top:16px;display:flex}.mod-card{border-radius:28px;flex-direction:column;gap:18px;padding:24px 28px 26px;display:flex}.mod-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.mod-title{font-size:26px;font-weight:600}.mod-count{color:var(--muted);font-size:15px;font-weight:700}.route{flex-wrap:wrap;gap:18px 0;margin:0;padding:0;list-style:none;display:flex}.route-stop{--track-in:var(--route-todo);--track-out:var(--route-todo);--route-todo:color-mix(in srgb, var(--line) 60%, var(--surface));--route-done:color-mix(in srgb, var(--green) 42%, var(--surface));flex-direction:column;flex:0 0 150px;align-items:center;gap:10px;display:flex;position:relative}.route-stop.in-done{--track-in:var(--route-done)}.route-stop.out-done{--track-out:var(--route-done)}.route-stop:before{content:"";background:linear-gradient(90deg, var(--track-in) 50%, var(--track-out) 50%);height:8px;position:absolute;top:30px;left:0;right:0}.route-stop.first:before{background:var(--track-out);left:50%}.route-stop.last:before{background:var(--track-in);right:50%}.route-stop.first.last:before{display:none}.node{width:68px;height:68px;font-family:var(--display);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:24px;font-weight:600;transition:translate 80ms,box-shadow 80ms;display:flex;position:relative}.node:active{translate:0 3px}.node.todo{background:var(--ground);box-shadow:0 5px 0 var(--press);color:var(--muted)}.node.done{background:var(--green);box-shadow:0 5px 0 var(--green-deep);color:var(--primary-ink)}.node.current{background:var(--coral);box-shadow:0 5px 0 var(--coral-deep), 0 0 0 6px var(--coral-soft);color:var(--primary-ink);font-size:26px;font-weight:700}.node .ico.done{width:30px;height:30px;color:inherit}.badge{background:var(--surface);width:26px;height:26px;box-shadow:0 2px 0 var(--press);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}.badge .ico{width:14px;height:14px}.ico{display:block}.ico.lock{color:var(--muted)}.ico.tested{color:var(--sun-deep)}.route-stop .ttl{text-align:center;padding:0 8px;font-size:14px;font-weight:700;line-height:1.3}.lesson-page{flex-direction:column;min-height:100vh;display:flex}.lesson-top{align-items:center;gap:12px 20px;width:100%;max-width:1320px;margin:0 auto;padding:18px 28px 8px;display:flex}.close-lesson{border-radius:var(--r-btn);background:var(--surface);width:44px;height:44px;box-shadow:var(--press-btn);color:var(--ink);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;display:flex}.close-lesson:active{box-shadow:0 1px 0 var(--press);translate:0 3px}.lesson-head{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.lh-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lesson-head h1{font-family:var(--sans);text-overflow:ellipsis;white-space:nowrap;text-wrap:nowrap;min-width:0;font-size:16px;font-weight:800;line-height:1.4;overflow:hidden}.step-info{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-weight:800}.step-info.done{color:var(--green)}.step-short{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-weight:800;display:none}.seg-progress{gap:6px;display:grid}.seg-progress span{background:var(--line);border-radius:999px;height:14px}.seg-progress span.done{background:var(--green)}.seg-progress span.current{background:var(--coral)}.lesson-body{flex:auto;grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:start;gap:24px;width:100%;max-width:1320px;margin:0 auto;padding:16px 28px 28px;display:grid}.lesson-body.locked{grid-template-columns:minmax(0,1fr)}.lesson-main{flex-direction:column;gap:18px;min-width:0;display:flex}.board-area{position:relative}.board-frame{margin:10px 10px 24px;position:relative}.board.lesson-board{--tw:clamp(30px, 3.6vw, 52px);border-radius:var(--r-big);background:radial-gradient(ellipse 80% 70% at 50% 40%, var(--felt), var(--felt-mid) 60%, var(--felt-deep));box-shadow:0 0 0 10px var(--surface), 0 14px 0 10px var(--press);gap:22px;min-height:340px;padding:30px 28px 34px}.board-stack{display:grid}.board-stack>*{grid-area:1/1;min-width:0}.board-ghost{visibility:hidden;pointer-events:none}.board-ghost>.board{height:100%}.lesson-board .b-title{font-family:var(--display);font-size:28px;font-weight:600}.lesson-board .b-row.mid{--tw:clamp(28px, 3.3vw, 48px)}.lesson-board .b-row.dense{--tw:clamp(26px, 3vw, 44px)}.board.lesson-board.has-lines{--tw:clamp(28px, 3vw, 40px);gap:10px;padding:18px 24px 20px}.lesson-board.has-lines .b-title{font-size:24px}.lesson-board.has-lines .b-row{gap:2px}.lesson-board.has-lines .b-row.mid,.lesson-board.has-lines .b-row.dense{--tw:clamp(26px, 2.6vw, 36px)}.lesson-board.has-lines .b-group{gap:3px;padding:4px}.lesson-board.has-lines .b-line{padding:5px 12px}.lesson-board.has-lines .b-lines{gap:4px}.lesson-board .bt svg{filter:drop-shadow(0 6px 6px #04282459)}.dragon-switch{background:var(--surface);border-radius:999px}.dragon-switch.in-head{flex:none}.dragon-switch.in-board{z-index:2;position:absolute;top:12px;right:14px}.dragon-switch.in-board,.dragon-ask.in-board{display:none}.dragon-ask.in-head{background:var(--sun-soft);box-shadow:none;border-radius:999px;flex:none;align-items:center;gap:8px;margin:0;padding:4px 4px 4px 14px;font-size:14px;font-weight:800;display:flex}.dragon-ask.in-head .btn{min-height:44px;padding:4px 12px;font-size:14px}.dragon-ask.in-head .btn.link{padding:4px 8px}.dragon-ask{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--press-card);margin:0 10px 16px;padding:14px 18px}.dragon-ask p{margin:0 0 10px}.dragon-ask .btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dragon-ask .btn{align-items:center;gap:8px;display:inline-flex}.dragon-ask .mini,.mini{gap:2px;display:inline-flex}.dragon-ask .mini .tile-art{width:22px;display:inline-block}.mini svg{width:100%;height:auto;display:block}.btn.link{box-shadow:none;color:var(--accent);font-family:var(--sans);background:0 0;font-weight:800;text-decoration:none}.btn.link:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.btn.link:disabled{background:0 0}.coach-row{align-items:flex-start;gap:16px;display:flex}.coach-avatar{background:var(--sun);width:64px;height:64px;box-shadow:0 5px 0 var(--sun-deep);color:var(--ink);font-family:var(--display);border-radius:20px;flex:none;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex}.coach-say{border-radius:var(--r-card);background:var(--surface);min-width:0;box-shadow:0 5px 0 var(--press);flex-direction:column;flex:auto;gap:8px;padding:20px 24px;display:flex}.say-body{gap:8px;font-size:20px;line-height:1.55;display:grid}.say-body p+p{margin-top:4px}.say-body strong{background:var(--sun-soft-2);border-radius:6px;padding:0 4px}.say-goal b{color:var(--ink)}.say-body .mode-note{color:var(--muted);font-size:16px}.say-body .mode-note strong{color:var(--ink);background:0 0;padding:0}.say-body .quiz{font-size:16px}.say-stack{display:grid}.say-stack>*{grid-area:1/1;min-width:0}.say-ghost{visibility:hidden}.say-body .house p{font-size:15px}.coach-links{display:none}.lesson-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.lesson-nav .btn.big{padding:0 26px}.lesson-nav .nav-back{font-family:var(--sans);box-shadow:0 5px 0 var(--press);font-size:16px;font-weight:800}.lesson-nav .nav-next{padding:0 44px;font-size:21px;font-weight:600}.lesson-nav .quiz-link{min-height:56px;padding:0 18px}.lesson-nav .nav-quiz{padding:0 32px;font-size:21px;font-weight:600}.grow-gap{flex:auto}.lock-panel{background:var(--surface);border-radius:var(--r-big);box-shadow:var(--press-card);justify-items:start;gap:12px;padding:32px;display:grid}.lock-panel h2{font-size:26px}.lock-panel p{max-width:60ch}.actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.chat{background:var(--surface);height:calc(100vh - 140px);min-height:520px;box-shadow:var(--press-card);border-radius:28px;flex-direction:column;display:flex;position:sticky;top:16px;overflow:hidden}.chat>*{flex:none}.chat-head{align-items:center;gap:10px;padding:20px 22px 10px;display:flex}.chat-head h2{flex:auto;font-size:22px;font-weight:600}.chat-usage{color:var(--muted);font-size:13px;font-weight:700}.chat-close{border-radius:var(--r-btn);background:var(--ground);width:44px;height:44px;color:var(--ink);cursor:pointer;border:0;justify-content:center;align-items:center;display:none}.ai-gate{background:var(--sun-soft);border-radius:14px;margin:4px 20px 0;padding:10px 14px;font-size:14px}.chat-points{background:var(--ground);border-radius:14px;flex:none;margin:0 16px 8px;padding:10px 14px 12px}.chat-points summary{color:var(--muted);letter-spacing:.02em;cursor:pointer;align-items:center;gap:8px;min-height:22px;font-size:13px;font-weight:800;display:flex}.chat-points summary:before{content:"M";background:var(--sun);width:20px;height:20px;color:var(--ink);font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.chat-points[open]{max-height:38%;overflow-y:auto}.chat-points summary .n{background:var(--surface);border-radius:99px;margin-left:auto;padding:0 7px;font-size:11.5px;font-weight:800}.chat-points summary:after{content:"▾";font-size:11px;transition:rotate .15s}.chat-points[open] summary:after{rotate:180deg}.chat-points ul{gap:5px;margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.42;display:grid}.chat>.chat-log{flex:auto;align-content:start;gap:12px;min-height:0;padding:8px 20px 16px;display:grid;overflow-y:auto}.msg{gap:4px;max-width:92%;display:grid}.msg .who{color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:700}.msg .body{background:var(--ground);overflow-wrap:anywhere;border-radius:20px 20px 20px 6px;padding:14px 16px;font-size:15.5px}.msg .body p+p{margin-top:6px}.msg.me{justify-self:end;max-width:85%}.msg.me .who{text-align:right}.msg.me .body{background:var(--blue);color:var(--primary-ink);border-radius:20px 20px 6px;font-weight:600}.msg .body strong{color:var(--ink)}.msg.me .body strong{color:inherit}.msg .tag{letter-spacing:.02em;vertical-align:1px;border-radius:99px;margin-left:6px;padding:1px 8px;font-size:11.5px;font-weight:800;display:inline-block}.msg .tag.fixed{background:var(--blue-soft);color:var(--blue)}.msg .tag.ai{background:var(--sun-soft);color:var(--warn)}.msg .tag.cached{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.thinking{color:var(--muted);font-style:italic}.house{background:var(--sun-soft);border-left:4px solid var(--sun-deep);border-radius:12px;gap:2px;margin-top:10px;padding:8px 12px;display:grid}.house b{letter-spacing:.04em;color:var(--warn);font-size:12.5px}.house b:before{content:"⚠ "}.house p{font-size:14.5px}.quiz{border-top:2px dashed var(--line);gap:8px;margin-top:10px;padding-top:10px;display:grid}.q-prompt{font-weight:700}.say-body .quiz.q-top{border-top:0;margin:0 0 12px;padding:0}.quiz.q-top .q-opts:not(.tiles){flex-direction:column;align-items:stretch}.quiz-done-note{color:var(--muted)}.board.quiz-board{text-align:center;flex-direction:column;justify-content:safe center;align-items:center;gap:14px;display:flex}.qb-tag{color:var(--felt-muted);background:#0000002e;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:800}.qb-prompt{font-family:var(--display);text-wrap:balance;max-width:30ch;font-size:28px;font-weight:600;line-height:1.25}.qb-prompt p{margin:0}.qb-pic{flex:none;max-width:100%}.quiz-board .qb-pic .board{box-shadow:none;--tw:clamp(24px, 2.8vw, 40px);background:0 0;gap:10px;min-height:0;padding:0;overflow:visible}.quiz-board .qb-pic .b-title{font-size:16px}.quiz-board .qb-pic .b-row.mid{--tw:clamp(22px, 2.5vw, 36px)}.quiz-board .qb-pic .b-row.dense{--tw:clamp(20px, 2.2vw, 32px)}.q-opts{flex-wrap:wrap;gap:8px;display:flex}.q-tile{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:9px;width:46px;padding:2px;position:relative}.q-tile svg{width:100%;height:auto;display:block}.q-text{font:inherit;border-radius:var(--r-btn);border:2px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;text-align:left;padding:7px 14px;font-size:15px;font-weight:700}.q-opts button:disabled{cursor:default}.q-opts .right{border-color:var(--good);box-shadow:0 0 0 2px var(--good)}.q-opts .wrong{border-color:var(--bad);box-shadow:0 0 0 2px var(--bad)}.q-text.right:before{content:"✓ ";color:var(--good)}.q-text.wrong:before{content:"✗ ";color:var(--bad)}.q-tile.right:after,.q-tile.wrong:after{width:20px;height:20px;font:800 12px/1 var(--body);color:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:-8px;right:-8px}.q-tile.right:after{content:"✓";background:var(--good)}.q-tile.wrong:after{content:"✗";background:var(--bad)}.q-check:before{content:"☐ ";color:var(--muted)}.q-check.picked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.q-check.picked:before{content:"☑ ";color:var(--accent)}.q-hint{margin:-4px 0 0}.q-submit{justify-self:start}.q-engine{color:var(--accent);font-size:12.5px;font-weight:700}.q-fb.ok{color:var(--good);font-weight:700}.q-fb.no{color:var(--bad);font-weight:700}.q-expl{margin-top:4px}.q-expl p{margin:0}.chips{flex-wrap:wrap;gap:8px;padding:0 20px 12px;display:flex}.chips button{font:inherit;border:2px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;border-radius:999px;padding:0 14px;font-size:14px;font-weight:800}.chips button:hover:not(:disabled){border-color:var(--blue)}.chips button:disabled{opacity:.5;cursor:not-allowed}.ai-status{color:var(--muted);min-height:1.6em;padding:0 20px 6px;font-size:13px}.ai-status.warn{color:var(--warn)}.ai-status.err{color:var(--bad)}.chat-form{border-top:1px solid var(--line);background:var(--surface-2);gap:8px;padding:12px 14px;display:grid}.chat-form textarea{width:100%;min-height:56px;max-height:140px}.form-btns{justify-content:flex-end;gap:8px;display:flex}.chat>.chat-form{border-top:2px solid var(--ground);background:var(--surface);align-items:flex-end;gap:10px;padding:12px 16px 16px;display:flex}.chat>.chat-form textarea{resize:none;border-radius:16px;flex:auto;min-width:0;height:48px;min-height:48px;max-height:120px;padding:11px 16px;line-height:1.4}.chat-send{background:var(--blue);width:48px;height:48px;color:var(--primary-ink);cursor:pointer;box-shadow:0 4px 0 var(--blue-deep);border:0;border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.chat-send:disabled{background:var(--disabled-bg);color:var(--disabled-ink);box-shadow:none;cursor:not-allowed}.chat-stop{flex:none;min-height:48px}.chat-scrim{display:none}@media (width>=1001px) and (height>=501px){.board.lesson-board{min-height:430px}.board.quiz-board{height:430px}.coach-say{height:230px;overflow-y:auto}.lesson-body{align-items:stretch}.chat{contain:size;height:auto;min-height:0}}@media (width<=1000px){.lesson-body{grid-template-columns:minmax(0,1fr)}.chat{height:560px;min-height:0;position:static}}@media (width<=700px){.topbar,.home-main,.lesson-top,.lesson-body{padding-left:16px;padding-right:16px}.topbar .brand{margin-right:auto}.topbar .main-nav{flex:100%;order:3}.hero{padding:24px}.brand b{font-size:22px}.route-stop{flex-basis:110px}.say-body{font-size:17px}.coach-avatar{border-radius:16px;width:48px;height:48px;font-size:24px}.board.lesson-board{min-height:260px;padding:20px 12px 24px}.lesson-top{flex-wrap:wrap}.dragon-ask.in-head{border-radius:18px;flex-wrap:wrap}.lesson-nav .nav-next{padding:0 28px}}@media (height<=500px) and (orientation:landscape){.phone-only{display:revert!important}.desk-only{display:none!important}.topbar{flex-wrap:nowrap;gap:12px;height:58px;padding:0 18px}.brand b{font-size:20px}.logo,.main-nav,.ai-pill{display:none}.course-seg{background:var(--surface);box-shadow:0 3px 0 var(--press);border-radius:16px;gap:4px;margin:0 auto;padding:4px;display:inline-flex!important}.course-seg button{border-radius:12px;min-height:38px;padding:0 14px;font-weight:800}.avatar{font-size:17px}.home-main{gap:18px;padding:4px 18px 18px}.hero-row{flex-wrap:nowrap;gap:14px;height:calc(100dvh - 80px);min-height:300px}.hero{box-shadow:0 5px 0 var(--press);border-radius:26px;flex:1.45 1 0;align-items:stretch;padding:18px 20px}.hero-text{flex:auto;gap:10px}.hero-tag{padding:3px 10px;font-size:12px}.hero h1{font-size:30px}.mini-route{flex-wrap:wrap;align-items:center;row-gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex!important}.mini-route li{align-items:center;display:flex}.mini-route li+li:before{content:"";background:color-mix(in srgb, var(--line) 60%, var(--surface));width:22px;height:6px}.mini-route li.done+li:before,.mini-route li.done+li.current:before{background:color-mix(in srgb, var(--green) 42%, var(--surface))}.mini-route span{width:32px;height:32px;font-family:var(--display);border-radius:999px;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.mini-route .todo span{background:var(--ground);color:var(--muted);box-shadow:0 3px 0 var(--press)}.mini-route .done span{background:var(--green);color:var(--primary-ink);box-shadow:0 3px 0 var(--green-deep)}.mini-route .current span{background:var(--coral);width:42px;height:42px;color:var(--primary-ink);box-shadow:0 3px 0 var(--coral-deep), 0 0 0 5px var(--coral-soft)}.hero-btns{gap:12px;margin-top:auto}.hero-btns .btn.big{border-radius:16px;min-height:50px;padding:0 26px;font-size:19px}.hero-done{color:var(--muted);font-weight:800}.hero .find-level{min-height:24px;font-size:13px}.entries{flex:1 1 0;gap:10px}.entry{border-radius:20px;gap:12px;min-height:0;padding:0 16px}.entry-play{box-shadow:0 4px 0 var(--sun-deep)}.entry-drill{box-shadow:0 4px 0 var(--blue-deep)}.entry-ico{background:0 0;width:auto;height:auto;color:inherit!important}.entry-ico svg{width:24px;height:24px}.entry-title{font-size:19px}.entry-sub{display:none}.course-row{gap:10px}.tree{gap:16px}.mod-card{border-radius:22px;gap:12px;padding:16px 18px 18px}.mod-title{font-size:20px}.route-stop{flex-basis:104px;gap:6px}.route-stop:before{height:6px;top:23px}.node{width:52px;height:52px;font-size:19px}.node.current{font-size:20px}.node .ico.done{width:24px;height:24px}.route-stop .ttl{font-size:12.5px}.lesson-top{gap:12px;height:56px;padding:0 16px}.close-lesson{box-shadow:0 3px 0 var(--press)}.lh-line{display:none}.lesson-head:not(:has(.seg-progress)) .lh-line{display:flex}.seg-progress{gap:5px}.seg-progress span{height:12px}.step-short{display:block}.lesson-body{grid-template-columns:minmax(0,1fr);padding:4px 16px 16px}.lesson-main{grid-template-rows:max(224px,100dvh - 136px) auto;grid-template-columns:minmax(0,1fr) 280px;gap:10px 12px;display:grid}.lesson-main>.board-area,.lesson-main>.lock-panel,.lesson-main>.err{grid-area:1/1/span 2}.lesson-main>.coach-row{grid-area:1/2}.lesson-main>.lesson-nav{grid-area:2/2}.lesson-body.locked .lesson-main{grid-template-columns:minmax(0,1fr)}.board-area{contain:size;flex-direction:column;min-height:0;display:flex}.board-frame{flex:auto;min-height:0;margin:6px;display:flex}.board-stack{flex:auto;min-width:0;min-height:0}.board.lesson-board{--tw:clamp(22px, 3.6vw, 34px);min-height:0;box-shadow:0 0 0 6px var(--surface), 0 9px 0 6px var(--press);border-radius:26px;flex:auto;gap:12px;padding:12px;overflow:auto}.lesson-board .b-title{font-size:20px}.lesson-board .b-row.mid{--tw:clamp(24px, 3.3vw, 30px)}.lesson-board .b-row.dense{--tw:clamp(22px, 3vw, 28px)}.lesson-board .b-groups{gap:6px 8px}.lesson-board .b-group{gap:4px;padding:3px}.lesson-board .table-view.slim{gap:2px 6px}.lesson-board .table-view.slim .seat{font-size:16px}.lesson-board .table-view.slim .tv-center{width:min(88px,100%)}.lesson-board .b-chips{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;justify-self:stretch;padding-bottom:6px;overflow-x:auto}.lesson-board .b-chip{flex:none;padding:0 14px;font-size:14px}.lesson-board .b-picker{justify-self:stretch;gap:8px}.lesson-board .b-picker .b-row{--tw:clamp(22px, 3vw, 28px)}.board-frame.dragon-room .b-title{padding:34px 0 0}.dragon-switch.in-head,.dragon-ask.in-head{display:none}.dragon-switch.in-board{display:inline-flex;top:6px;right:8px}.dragon-ask.in-board{margin:0 0 8px;padding:10px 12px;font-size:13px;display:block}.coach-row{background:var(--surface);min-height:0;box-shadow:0 5px 0 var(--press);border-radius:22px;flex-direction:column;gap:8px;padding:14px 16px;overflow:hidden}.coach-avatar{width:34px;height:34px;box-shadow:none;border-radius:12px;font-size:17px}.coach-say{min-height:0;box-shadow:none;background:0 0;border-radius:0;flex:auto;padding:0}.say-body{flex:auto;min-height:0;font-size:15px;line-height:1.45;overflow-y:auto}.say-body .mode-note{font-size:13px}.say-body .quiz{font-size:14px}.coach-links{flex-wrap:wrap;gap:4px 14px;display:flex}.coach-links .btn.link{min-height:40px;padding:0}.lesson-nav{flex-wrap:nowrap;gap:8px}.lesson-nav>.quiz-link,.lesson-nav>.nav-quiz,.lesson-nav>.grow-gap,.lesson-nav>.nav-exit{display:none}.board.quiz-board{justify-content:flex-start;gap:8px}.qb-prompt{font-size:18px}.qb-tag{padding:2px 10px;font-size:11px}.quiz-board .qb-pic .board{--tw:clamp(18px, 2.6vw, 26px);gap:6px}.quiz-board .qb-pic .b-row.mid,.quiz-board .qb-pic .b-row.dense{--tw:clamp(16px, 2.3vw, 24px)}.quiz-board .qb-pic .b-title{font-size:13px}.say-ghost,.board-ghost{display:none}.lesson-nav .btn.big{border-radius:16px;flex:1 1 0;min-height:50px;padding:0 12px}.lesson-nav .nav-back{box-shadow:0 4px 0 var(--press)}.lesson-nav .nav-next{white-space:nowrap;box-shadow:0 4px 0 var(--coral-deep);flex-grow:1.6;font-size:19px}.lesson-nav .nav-next:disabled{box-shadow:none}.lock-panel{border-radius:26px;padding:20px}.chat{z-index:30;width:min(380px,100vw - 16px);height:auto;min-height:0;box-shadow:var(--shadow);visibility:hidden;transition:translate .2s,visibility 0s .2s;position:fixed;top:8px;bottom:8px;right:8px;translate:calc(100% + 24px)}.chat.open{visibility:visible;transition:translate .2s;translate:0}.chat-head{padding:12px 14px 6px}.chat-head h2{font-size:18px}.chat-close{display:inline-flex}.chat>.chat-log{padding:6px 14px 10px}.msg .body{padding:10px 12px;font-size:14px}.chips{padding:0 14px 8px}.chat>.chat-form{padding:8px 12px 12px}.chat-scrim{z-index:29;background:#1a234059;display:block;position:fixed;inset:0}}.code-input{letter-spacing:.3em;font-variant-numeric:tabular-nums;text-align:center;font-size:24px!important}.dev-hint{background:var(--accent-soft);border-radius:10px;padding:8px 12px;font-size:13.5px}.signin-why{background:var(--sun-soft);border-radius:16px;gap:4px;padding:12px 14px;display:grid}.signin-why p{margin:0}.signin-why .sw-title{font:700 18px/1.25 var(--display)}.signin-why .sw-preview{color:var(--muted);font-size:13px;font-weight:800}.acct-email{overflow-wrap:anywhere;font-weight:700}.acct-box{background:var(--ground);border:1px solid var(--line);border-radius:12px;gap:6px;padding:12px 14px;display:grid}.acct-progress{gap:4px;margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.acct-progress li{justify-content:space-between;gap:12px;display:flex}.meter{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.meter span{background:var(--accent);border-radius:99px;height:100%;display:block}.danger-box{border-color:var(--bad)}.find-level{color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;margin:4px 12px 8px;padding:0;font-size:14px;text-decoration:underline;display:block}.placement{gap:12px;max-width:640px;display:grid}.placement .btns{flex-wrap:wrap;gap:8px;display:flex}.placement .mini-board{--tw:clamp(26px, 3vw, 40px);min-height:0;padding:14px}.place-q,.place-ask{align-content:start;gap:12px;display:grid}.place-progress{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.place-progress span{background:var(--accent);height:100%;transition:width .3s;display:block}.q-fb.soft{color:var(--ink);font-weight:600}.q-fb p{margin:0}dialog#placement{max-height:calc(100dvh - clamp(16px,8vh,80px) - 16px);margin-top:clamp(16px,8vh,80px);margin-bottom:auto}.place-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:52px;display:flex}.place-foot .place-stop{color:var(--muted);font-size:14px}.place-pick{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (height<=500px){dialog#placement{max-height:calc(100dvh - 16px);margin-top:8px}#placement .modal-body{gap:10px;padding:16px 20px}#placement .modal-body h2{font-size:20px}.placement .mini-board{padding:8px}}@media (height<=500px) and (orientation:landscape){dialog#placement{width:min(800px,100vw - 24px)}#placement .modal-body{gap:8px;padding:12px 18px 10px;position:relative}#placement .modal-close{margin:0;position:absolute;top:4px;right:4px}#placement .modal-body h2{padding-right:44px}.placement{gap:8px;max-width:none}.place-q.has-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}.placement .mini-board{--tw:24px;gap:8px;padding:8px}.placement .mini-board .b-title{font-size:16px}.place-ask{gap:8px}.place-ask .q-text{padding:5px 12px;font-size:14px}.place-foot{min-height:44px}}.place-list ul{margin:4px 0 0;padding-left:20px}.report-link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:12.5px;text-decoration:underline}.report-box{gap:6px;margin-top:8px;display:grid}.report-box textarea{width:100%;font:inherit;font-size:14px}.report-btns{gap:6px;display:flex}.report-done{color:var(--muted);margin-top:6px;font-size:12.5px}.card-line{letter-spacing:.04em;font-weight:700}.card-line .cg{margin-right:.6em}.sv-a{color:var(--suit-a)}.sv-b{color:var(--suit-b)}.sv-c{color:var(--suit-c)}.tile-row{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.tile-sm{width:28px;display:inline-block}.good-note{color:var(--good);font-weight:700}.field.grow{flex:1}.paid-note{background:var(--surface);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:10px 16px;display:flex}.place-styles,.welcome-choices{gap:10px;margin:12px 0;display:grid}.welcome-choice{text-align:left;white-space:normal;gap:2px;height:auto;padding:12px 14px;display:grid}.welcome-choice span{color:var(--muted);font-weight:400}.welcome-choice.primary span{color:#ffffffeb;font-weight:600}@media (prefers-color-scheme:dark){.hero-tag{color:var(--coral)}.entry-play,.entry-drill{color:var(--night)}}
