@import"https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Sarabun:wght@300;400;500;600;700&display=swap";.lv2{--lv2-page:#1B1E1D;--lv2-s1:#222624;--lv2-s2:#2a2f2c;--lv2-ink:#f3f4ef;--lv2-soft:#b8beb9;--lv2-mute:#8a928c;--lv2-line:rgba(245,247,242,.1);--lv2-line2:rgba(245,247,242,.2);--lv2-lamp:#f2c04a;--lv2-plate-a:#2b302d;--lv2-plate-b:#1f2321;background:radial-gradient(1200px 700px at 78% 18%,rgba(242,192,74,.07),transparent 60%),var(--lv2-page);color:var(--lv2-ink);min-height:100vh;font-family:Sarabun,sans-serif;overflow-x:hidden}:root[data-theme=light] .lv2{--lv2-page:#f6f6f2;--lv2-s1:#fff;--lv2-s2:#efefe9;--lv2-ink:#141715;--lv2-soft:#444c46;--lv2-mute:#6b736d;--lv2-line:rgba(20,23,21,.1);--lv2-line2:rgba(20,23,21,.2);--lv2-lamp:#b87c12;--lv2-plate-a:#ffffff;--lv2-plate-b:#ecece6}.lv2 button{font:inherit;cursor:pointer}.lv2-top,.lv2-hero,.lv2-seats,.lv2-depth,.lv2-facts,.lv2-foot{max-width:1320px;margin:0 auto;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}.lv2-top{height:84px;display:flex;align-items:center;gap:28px}.lv2-brand{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--lv2-ink);font:700 22px Google Sans Flex,Sarabun,sans-serif;letter-spacing:-.03em}.lv2-lamp{width:14px;height:14px;border-radius:50%;background:var(--lv2-lamp);box-shadow:0 0 22px #f2c04a59;display:inline-block}.lv2-nav{display:flex;gap:4px;margin-left:auto}.lv2-nav button{border:0;background:none;color:var(--lv2-soft);padding:8px 14px;border-radius:4px;font-size:15px}.lv2-nav button:hover{color:var(--lv2-ink);background:var(--lv2-s2)}.lv2-tools{display:flex;gap:4px}.lv2-ib{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:4px;background:none;color:var(--lv2-soft)}.lv2-ib:hover{background:var(--lv2-s2);color:var(--lv2-ink)}.lv2-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px;align-items:center;min-height:calc(100vh - 84px);max-height:860px;padding-bottom:40px}.lv2-mark{font:600 18px Google Sans Flex,sans-serif;letter-spacing:-.02em;color:var(--lv2-soft)}.lv2-mark i{font-style:normal;margin:0 .12em}.lv2-mark b{color:var(--lv2-lamp)}.lv2-copy h1 span{display:block;white-space:nowrap}.lv2-copy h1{font-size:clamp(30px,3.7vw,56px);line-height:1.22;font-weight:600;margin:18px 0 22px;letter-spacing:-.01em}.lv2-copy p{font-size:clamp(16px,1.3vw,19px);line-height:1.75;color:var(--lv2-soft);font-weight:300;max-width:34em;margin:0 0 32px}.lv2-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.lv2-cta{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 24px;border:0;border-radius:4px;background:var(--lv2-ink);color:var(--lv2-page);font-size:18px;font-weight:600;transition:transform .25s,box-shadow .25s}.lv2-cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px #00000038}.lv2-cta.sm{min-height:44px;font-size:15px;padding:0 18px}.lv2-ghost{color:var(--lv2-soft);text-decoration:none;border:0;background:none;border-bottom:1px solid var(--lv2-line2);padding:4px 0;font-size:15px}.lv2-ghost:hover{color:var(--lv2-ink);border-color:var(--lv2-lamp)}.lv2-visual{position:relative}.lv2-stack{width:100%;height:auto;display:block;overflow:visible}.lv2-spine{stroke:var(--lv2-line2);stroke-dasharray:3 5}.lv2-link{stroke:var(--lv2-line2);stroke-dasharray:3 5;fill:none}.lv2-packet{fill:none;stroke:var(--lv2-lamp);stroke-width:1.6;stroke-dasharray:6 400;animation:lv2-flow 4.5s linear infinite;opacity:.9}.lv2-packet.up{animation-duration:6s}@keyframes lv2-flow{0%{stroke-dashoffset:400}to{stroke-dashoffset:0}}.lv2-tier{transition:opacity .4s}.lv2-plate{fill:url(#lv2plate);stroke:var(--lv2-line2);stroke-width:1;transition:stroke .4s,fill .4s}.lv2-plate-shadow{fill:#00000047;transform:translateY(0)}:root[data-theme=light] .lv2-plate-shadow{fill:#14171512}.lv2-tier.on .lv2-plate{stroke:#f2c04a8c}.lv2-node{fill:var(--lv2-mute);transition:r .3s,fill .3s}.lv2-tier.on .lv2-node{fill:var(--lv2-lamp);filter:drop-shadow(0 0 6px rgba(242,192,74,.7))}.lv2-t1{fill:var(--lv2-ink);font-size:15px;font-weight:500}.lv2-t2{fill:var(--lv2-mute);font-size:12px;font-family:IBM Plex Mono,monospace}.lv2-tier:not(.on) .lv2-t1{fill:var(--lv2-soft)}.lv2-seat{cursor:pointer}.lv2-seat rect{fill:var(--lv2-s1);stroke:var(--lv2-line2);transition:stroke .3s,fill .3s}.lv2-seat-ic{fill:none;stroke:var(--lv2-mute);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}.lv2-seat.on rect,.lv2-seat:hover rect{stroke:var(--lv2-lamp)}.lv2-seat.on .lv2-seat-ic,.lv2-seat:hover .lv2-seat-ic{stroke:var(--lv2-lamp)}.lv2-seat.on rect{fill:#f2c04a1a}.lv2-caption{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 0 0;color:var(--lv2-soft);font-size:14px;min-height:22px}.lv2-caption svg{color:var(--lv2-lamp)}.lv2-head{margin-bottom:28px}.lv2-eyebrow{font-size:13px;color:var(--lv2-lamp);font-weight:500}.lv2-head h2{font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.3;margin:8px 0 0}.lv2-seats{padding-top:72px;padding-bottom:40px;border-top:1px solid var(--lv2-line)}.lv2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lv2-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;min-height:150px;padding:18px;border:1px solid var(--lv2-line);border-radius:4px;background:var(--lv2-s1);color:var(--lv2-ink);transition:border-color .25s,transform .25s,background .25s}.lv2-grid button:hover{transform:translateY(-2px);border-color:var(--lv2-line2)}.lv2-grid button.on{border-color:var(--lv2-lamp);background:linear-gradient(180deg,rgba(242,192,74,.08),transparent 70%),var(--lv2-s1)}.lv2-grid strong{font-size:17px;font-weight:600;margin-top:8px}.lv2-grid span:last-child{font-size:14px;color:var(--lv2-mute);line-height:1.5}.lv2-ic{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--lv2-line2);border-radius:4px;color:var(--lv2-soft);transition:color .25s,border-color .25s}.lv2-grid button.on .lv2-ic{color:var(--lv2-lamp);border-color:var(--lv2-lamp)}.lv2-ic.lg{width:56px;height:56px;color:var(--lv2-lamp);border-color:var(--lv2-lamp);flex:none}.lv2-detail{margin-top:14px;border:1px solid var(--lv2-line);border-radius:4px;background:var(--lv2-s1);padding:28px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px 36px;animation:lv2-in .45s cubic-bezier(.2,.8,.2,1)}@keyframes lv2-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.lv2-d-main{display:flex;gap:20px}.lv2-d-main h3{font-size:26px;font-weight:600;margin:4px 0 8px}.lv2-d-main p{margin:0;color:var(--lv2-soft);font-size:16px;line-height:1.75}.lv2-acts{list-style:none;margin:0;padding:0;display:grid;gap:2px}.lv2-acts li{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--lv2-line);font-size:15px}.lv2-acts li span{font:11px IBM Plex Mono,monospace;color:var(--lv2-lamp)}.lv2-d-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:6px}.lv2-guard{display:inline-flex;gap:8px;align-items:center;color:var(--lv2-mute);font-size:14px}.lv2-guard svg{color:var(--lv2-lamp);flex:none}.lv2-depth{padding-top:80px;padding-bottom:60px}.lv2-ladder{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lv2-ladder li{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1.4fr);gap:18px;align-items:center;font-size:15px}.lv2-bar{height:36px;width:var(--w);justify-self:end;border-radius:4px;background:linear-gradient(90deg,transparent,rgba(242,192,74,.28));border-right:2px solid var(--lv2-lamp)}.lv2-ladder strong{font-weight:600}.lv2-ladder li>span:last-child{color:var(--lv2-soft)}.lv2-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--lv2-line);border:1px solid var(--lv2-line);border-radius:4px;padding:0;margin-top:20px;margin-bottom:60px;max-width:calc(1320px - (2*clamp(20px,4vw,56px)))}.lv2-facts div{background:var(--lv2-page);padding:26px 24px;display:flex;flex-direction:column;gap:6px}.lv2-facts strong{font:500 clamp(26px,2.6vw,38px) "IBM Plex Mono",monospace;letter-spacing:-.03em}.lv2-facts span{color:var(--lv2-mute);font-size:14px}.lv2-facts p{grid-column:1/-1;margin:0;background:var(--lv2-page);padding:12px 24px;font-size:12px;color:var(--lv2-mute)}.lv2-foot{display:flex;align-items:center;gap:14px;padding-top:26px;padding-bottom:40px;border-top:1px solid var(--lv2-line);color:var(--lv2-mute);font-size:14px}.lv2-foot .lv2-ghost{margin-left:auto}@media(max-width:1000px){.lv2-hero{grid-template-columns:1fr;max-height:none;min-height:0;padding-top:20px}.lv2-grid{grid-template-columns:repeat(2,1fr)}.lv2-detail{grid-template-columns:1fr}.lv2-facts{grid-template-columns:repeat(2,1fr)}.lv2-nav{display:none}.lv2-tools{margin-left:auto}}@media(max-width:560px){.lv2-grid button{min-height:128px;padding:14px}.lv2-ladder li{grid-template-columns:1fr;gap:4px}.lv2-bar{justify-self:start;height:8px}.lv2-d-main{flex-direction:column}.lv2-foot{flex-direction:column;align-items:flex-start}.lv2-foot .lv2-ghost{margin-left:0}}@media(prefers-reduced-motion:reduce){.lv2-packet{animation:none;opacity:0}.lv2-detail{animation:none}}.lv2-found{fill:none;stroke:var(--lv2-line);stroke-dasharray:2 6}.lv2-tier{cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.lv2-tier:focus{outline:none}.lv2-tier:focus-visible .lv2-plate{stroke:var(--lv2-lamp)}.lv2-step-ic{fill:none;stroke:var(--lv2-mute);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:stroke .3s,opacity .3s}.lv2-tier.on .lv2-step-ic{stroke:var(--lv2-lamp);opacity:1}.lv2-tier.past .lv2-node{fill:var(--lv2-lamp);opacity:.55}.lv2-tier.on .lv2-plate{fill:url(#lv2plate);stroke:#f2c04a99}.lv2-tier .lv2-t1{font-size:15px}.lv2-tier.on .lv2-t1{fill:var(--lv2-ink)}.lv2-stepcap{max-width:430px;margin:-6px auto 0;text-align:center;animation:lv2-in .4s cubic-bezier(.2,.8,.2,1);min-height:104px}.lv2-stepcap strong{display:block;font-size:20px;font-weight:600;margin:4px 0}.lv2-stepcap p{margin:0;color:var(--lv2-soft);font-size:14px;line-height:1.65}.lv2-principles,.lv2-map{max-width:1320px;margin:0 auto;padding:72px clamp(20px,4vw,56px) 10px}.lv2-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lv2-line);border:1px solid var(--lv2-line);border-radius:4px;overflow:hidden}.lv2-pgrid div{background:var(--lv2-page);padding:26px 24px}.lv2-pgrid strong{font-size:18px;font-weight:600}.lv2-pgrid p{margin:10px 0 0;color:var(--lv2-soft);line-height:1.7;font-size:15px}.lv2-prod{border:1px solid var(--lv2-line);border-radius:4px;background:var(--lv2-s1);padding:26px}.lv2-prod-bar{display:flex;height:14px;border-radius:4px;background:var(--lv2-s2);overflow:hidden}.lv2-prod-bar i{display:block;height:100%}.lv2-prod-bar .s2{background:#f2c04a73}.lv2-prod-bar .s3{background:#f2c04abf}.lv2-prod-bar .s4{background:var(--lv2-lamp)}.lv2-legend{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14px;color:var(--lv2-soft)}.lv2-legend li{display:flex;align-items:center;gap:8px}.lv2-legend b{font:500 14px IBM Plex Mono,monospace;color:var(--lv2-ink)}.lv2-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}.lv2-legend .s1{background:var(--lv2-s2);border:1px solid var(--lv2-line2)}.lv2-legend .s2{background:#f2c04a73}.lv2-legend .s3{background:#f2c04abf}.lv2-legend .s4{background:var(--lv2-lamp)}.lv2-prod p{margin:16px 0 0;color:var(--lv2-mute);font-size:14px;line-height:1.7}@media(max-width:1000px){.lv2-pgrid{grid-template-columns:1fr}}.lv2-lesson,.lv2-wedge{max-width:1320px;margin:0 auto;padding:72px clamp(20px,4vw,56px) 10px}.lv2-lgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}.lv2-lcard{border:1px solid var(--lv2-line);border-radius:4px;background:var(--lv2-s1);padding:24px;box-shadow:0 24px 60px #0000002e}.lv2-lc-top{display:flex;justify-content:space-between;align-items:center}.lv2-mono{font:12px IBM Plex Mono,monospace;color:var(--lv2-mute)}.lv2-route{display:inline-flex;border:1px solid var(--lv2-line2);border-radius:4px;padding:2px;font-size:12px}.lv2-route b,.lv2-route i{font-style:normal;font-weight:500;padding:3px 9px;border-radius:4px}.lv2-route b{background:var(--lv2-s2);box-shadow:inset 0 -2px 0 var(--lv2-lamp)}.lv2-route i{color:var(--lv2-mute)}.lv2-lcard h3{font-size:24px;font-weight:600;margin:14px 0}.lv2-anchor{border-left:2px solid var(--lv2-lamp);background:var(--lv2-page);border-radius:4px;padding:12px 14px}.lv2-anchor p{margin:4px 0 6px;font-size:16px;line-height:1.6}.lv2-small{font-size:12px;color:var(--lv2-mute)}.lv2-clip{margin:18px 0}.lv2-clip-bar{position:relative;height:8px}.lv2-clip-bar i{position:absolute;top:0;height:8px;border-radius:4px;background:var(--lv2-s2)}.lv2-clip-bar b{position:absolute;top:-5px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--lv2-lamp);box-shadow:0 0 0 4px #f2c04a33;animation:lv2-pulse 2.4s ease-in-out infinite}@keyframes lv2-pulse{50%{box-shadow:0 0 0 9px #f2c04a00}}.lv2-clip-lab{display:grid;grid-template-columns:22fr 31fr 29fr 18fr;margin-top:10px;font-size:12px;color:var(--lv2-mute)}.lv2-clip-lab .hot{color:var(--lv2-lamp)}.lv2-open{border-top:1px solid var(--lv2-line);padding-top:14px}.lv2-open p{margin:4px 0;font-size:17px;font-weight:500}.lv2-lnotes{list-style:none;margin:0;padding:0;display:grid;gap:0}.lv2-lnotes li{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--lv2-line)}.lv2-lnotes li:first-child{padding-top:4px}.lv2-lnotes b{font-size:17px;font-weight:600}.lv2-lnotes span{color:var(--lv2-soft);font-size:15px;line-height:1.7}.lv2-wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lv2-wgrid div{border:1px solid var(--lv2-line);border-radius:4px;padding:22px;background:var(--lv2-s1);display:flex;flex-direction:column;gap:10px;min-height:170px}.lv2-wgrid s{color:var(--lv2-mute);font-size:14px;text-decoration-color:var(--lv2-lamp)}.lv2-wgrid strong{font-size:16px;font-weight:500;line-height:1.6}.lv2-note{margin:14px 0 0;color:var(--lv2-mute);font-size:14px}@media(max-width:1000px){.lv2-lgrid{grid-template-columns:1fr}.lv2-wgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.lv2-wgrid{grid-template-columns:1fr}.lv2-clip-lab{font-size:10px}}@media(prefers-reduced-motion:reduce){.lv2-clip-bar b{animation:none}}.lv2-badge{font-size:12px;color:var(--lv2-lamp);border:1px solid var(--lv2-lamp);border-radius:4px;padding:2px 8px}.lv2-q{background:var(--lv2-page);border-radius:4px;padding:14px 16px}.lv2-q p{margin:0 0 10px;font-size:16px}.lv2-qa{display:flex;gap:8px;margin-bottom:8px}.lv2-qa span{font:500 16px IBM Plex Mono,monospace;padding:6px 14px;border-radius:4px;border:1px solid var(--lv2-line2)}.lv2-qa .bad{text-decoration:line-through;color:#d9814a;border-color:#d9814a80}.lv2-qa .good{color:var(--lv2-lamp);border-color:var(--lv2-lamp)}.lv2-promise{max-width:1320px;margin:0 auto;padding:72px clamp(20px,4vw,56px) 10px}.lv2-final{max-width:1320px;margin:80px auto 70px;padding:56px clamp(20px,4vw,56px);text-align:center;border-top:1px solid var(--lv2-line);border-bottom:1px solid var(--lv2-line);background:radial-gradient(600px 240px at 50% 0%,rgba(242,192,74,.08),transparent 70%)}.lv2-final h2{font-size:clamp(30px,3.2vw,46px);font-weight:600;margin:0 0 10px}.lv2-final p{color:var(--lv2-soft);margin:0 0 28px;font-size:17px}.lv2-final .lv2-actions{justify-content:center}.lv2-cta.ghost{background:transparent;color:var(--lv2-ink);border:1px solid var(--lv2-line2)}.app-page{max-width:1180px}.app-page .eyebrow{display:inline-block}.small{font-size:13px}.num{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.h2{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:500;margin:0 0 14px}.h-lg{font-size:26px;font-weight:500;margin:6px 0 4px;letter-spacing:-.02em}.pg-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}.pg-head h1{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:8px 0 6px}.pg-head p{margin:0;color:var(--soft);font-size:15px;line-height:1.6}.pg-head-side{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:6px;border:1px solid var(--button);background:var(--button);color:var(--button-ink);font-weight:500;transition:transform .2s,opacity .2s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn.sm{min-height:32px;padding:0 12px;font-size:13px}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.linkish{border:0;background:none;color:var(--soft);padding:0;display:inline-flex;gap:6px;align-items:center;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.linkish:hover{color:var(--ink)}.back{border:0;background:none;color:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:4px 0;margin-bottom:14px}.back:hover{color:var(--ink)}.badge{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:6px;border:0;background:#f2c04a26;color:var(--lamp);margin-left:6px;white-space:nowrap}.badge.warn{background:#d9814a29;color:#d9814a}.badge.quiet{border-color:var(--line-2);color:var(--muted)}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:9px 12px;min-height:40px}textarea{width:100%;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.inline-form input{flex:1 1 200px}.row{display:flex;gap:8px;margin-top:8px}.src-note{margin-top:26px;color:var(--muted);font-size:12px;line-height:1.6;border-top:1px solid var(--line);padding-top:14px}.empty{border:1px dashed var(--line-2);border-radius:6px;padding:26px;text-align:center;color:var(--soft)}.empty p{margin:6px 0 0;color:var(--muted);font-size:14px}.route-switch{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-2);border-radius:6px;padding:3px}.route-switch span{padding:0 6px}.route-switch button{border:0;background:transparent;color:var(--soft);padding:6px 11px;border-radius:6px;font-size:13px}.route-switch button.on{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 -2px 0 var(--lamp)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tabs button{border:0;background:none;color:var(--muted);padding:10px 16px;font-size:15px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--ink);border-bottom-color:var(--lamp)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.course-card{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto auto;gap:4px 12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;color:var(--ink);min-height:128px;transition:border-color .2s,transform .2s}.course-card:not(.off):hover{border-color:var(--lamp);transform:translateY(-2px)}.course-card.off{cursor:default}.course-card.off .course-ic,.course-card.off .course-name{opacity:.62}.course-ic{grid-row:1/4;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:6px;color:var(--lamp)}.course-name{font-size:16px;font-weight:500}.course-meta{display:flex;gap:10px;color:var(--muted);font-size:12px}.course-state{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--soft);margin-top:auto}.course-card:not(.off) .course-state{color:var(--lamp)}.stat-row{display:flex;gap:26px;margin:0 0 20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-row div{display:flex;flex-direction:column}.stat-row strong{font-size:24px;font-weight:500}.stat-row span{font-size:12px;color:var(--muted)}.unit{margin:0 0 26px}.unit header h2{font-size:18px;font-weight:500;margin:0}.unit header p{margin:3px 0 10px;line-height:1.5}.lesson-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.lesson-list li+li{border-top:1px solid var(--line)}.lesson-list button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:var(--ink);padding:13px 16px}.lesson-list button:hover{background:var(--surface-2)}.ln-name{flex:1;font-size:15px}.ln-meta{font-size:11px;color:var(--muted)}.ln-state{font-size:12px;color:var(--soft);min-width:90px;text-align:right}.dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--line-2);display:inline-block;flex:none}.dot.learning{border-color:var(--lamp)}.dot.proficient{background:var(--lamp);border-color:var(--lamp);opacity:.6}.dot.mastered{background:var(--lamp);border-color:var(--lamp);box-shadow:0 0 8px #f2c04a73}.anchor{border:1px solid var(--line);border-left:2px solid var(--lamp);border-radius:6px;background:var(--surface);padding:16px 18px;margin-bottom:20px}.anchor-2568 p{font-size:17px;line-height:1.6;margin:6px 0 2px}.anchor-2551{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.anchor-2551 button{gap:10px}.anchor-2551 .rot{transform:rotate(180deg)}.anchor-2551 ul{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--soft);line-height:1.6}.anchor-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;color:var(--muted)}.anchor-meta .badge:first-of-type{margin-left:10px}.lesson-grid{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.steps{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.steps li{display:flex;align-items:center;gap:10px;padding:11px 14px;color:var(--muted);font-size:14px}.steps li+li{border-top:1px solid var(--line)}.steps li span{font-family:IBM Plex Mono,monospace;font-size:10px}.steps li.done{color:var(--soft)}.steps li.done svg{color:var(--lamp)}.steps li.now{color:var(--ink);background:var(--surface-2);box-shadow:inset 2px 0 0 var(--lamp)}.stage-card{border:1px solid var(--line);border-radius:6px;background:var(--surface);min-height:330px;display:flex;flex-direction:column}.stage-card footer{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.step-body{padding:24px}.step-body.done{display:flex;gap:14px;align-items:center;color:var(--lamp)}.step-body.done p{color:var(--ink);margin:0}.item-q{font-size:21px;line-height:1.55;margin:4px 0 18px}.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.choices.col{grid-template-columns:1fr}.choices button{text-align:left;min-height:52px;padding:12px 14px;border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--ink);font-size:16px;transition:border-color .15s,background .15s}.choices button:hover:not(:disabled){border-color:var(--lamp);background:var(--surface-2)}.choices button.right{border-color:var(--lamp);background:#f2c04a1f}.num-form{display:flex;gap:10px}.num-form input{font-size:22px;width:180px;font-family:IBM Plex Mono,monospace}.order-picked{margin:12px 0 8px;padding-left:22px;color:var(--soft)}.verdict{display:flex;align-items:center;gap:6px;margin:16px 0 0;font-size:15px}.verdict.ok{color:var(--lamp)}.verdict.no{color:#d9814a}.hint{margin:14px 0 0;color:var(--soft);font-size:14px;border-left:2px solid var(--line-2);padding-left:10px}.item .linkish{margin-top:14px}.streak{display:flex;align-items:center;gap:6px;margin-bottom:16px}.streak span:not(.small){width:22px;height:5px;border-radius:6px;background:var(--line-2)}.streak span.on{background:var(--lamp)}.example{font-size:18px;line-height:1.8;margin:0 0 12px;padding-left:22px}.gate{padding:24px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gate p{flex:1 1 100%;margin:0 0 6px}.flag-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font-size:12px;padding:4px 0}.flag-btn:hover{color:#d9814a}.flag-form{flex:1 1 320px;display:flex;flex-direction:column;gap:4px}.card-sec{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:20px 22px;margin-bottom:14px}.weak{margin:0;padding-left:18px;line-height:1.9;font-size:14px}.outcomes{display:grid;gap:10px}.oc{border:1px solid var(--line);border-radius:6px;padding:14px 16px}.oc strong{display:block;font-weight:500;font-size:15px;line-height:1.5;margin:4px 0}.oc p{margin:4px 0 8px;font-size:14px;color:var(--soft)}.track{position:relative;height:6px;border-radius:6px;background:var(--surface-2);overflow:visible;flex:1}.fill{height:100%;border-radius:6px;background:var(--lamp)}.track i{position:absolute;top:-4px;width:1px;height:14px;background:var(--soft)}.real-card{margin-top:14px;border:1px solid var(--line-2);border-radius:6px;padding:14px 16px;background:var(--surface-2)}.real-card p{margin:6px 0 0;font-size:14px}.accept .btn{font-weight:600}.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.export{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--ink);padding:16px}button.export:hover:not(:disabled){border-color:var(--lamp)}.export:disabled{opacity:.45}.export svg{color:var(--lamp)}.export span{font-size:13px;color:var(--muted);line-height:1.5}.export select{max-width:100%;font-size:13px}.tbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.tbl th,.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{color:var(--muted);font-weight:500;font-size:12px}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:collapse;font-size:12px}.matrix th,.matrix td{padding:6px 7px;border-bottom:1px solid var(--line);text-align:center}.matrix tbody th{text-align:left;font-weight:500;white-space:nowrap}.matrix thead th{color:var(--muted);font-weight:400;font-size:10px}.learner-list{display:grid;gap:8px}.learner{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:4px 6px 4px 0}.learner.on{border-color:var(--lamp)}.learner-main{flex:1;display:flex;gap:12px;align-items:center;border:0;background:none;color:var(--ink);padding:10px 14px;text-align:left}.learner-main .num{margin-left:auto}.passport{display:grid;gap:12px;margin-bottom:28px}.pp-row{display:grid;grid-template-columns:minmax(160px,260px) 1fr 50px;gap:14px;align-items:center;font-size:14px}.timeline{list-style:none;margin:0;padding:0;font-size:14px;line-height:2}.declare{border:1px solid var(--line);border-left:2px solid var(--lamp);border-radius:6px;padding:16px 18px;margin-bottom:14px;background:var(--surface)}.declare p{margin:6px 0;line-height:1.6}.picker{display:grid;gap:8px;max-width:640px}.pick-list,.area-list,.school-list{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:6px}.pick-list li+li,.area-list li+li,.school-list li+li{border-top:1px solid var(--line)}.pick-list button,.area-list button{width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:9px 12px;display:flex;justify-content:space-between;gap:10px}.pick-list button:hover,.area-list button:hover{background:var(--surface-2)}.school-list li{display:flex;flex-direction:column;padding:8px 12px;font-size:14px}.picked{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:12px 14px;border:1px solid var(--lamp);border-radius:6px;max-width:640px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.map-stage{position:relative;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:12px}.thmap{width:100%;height:min(76vh,760px);display:block}.thmap path{stroke:var(--page);stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .25s,opacity .25s}.thmap path[data-lvl="1"]{fill:#f2c04a1f}.thmap path[data-lvl="2"]{fill:#f2c04a3d}.thmap path[data-lvl="3"]{fill:#f2c04a61}.thmap path[data-lvl="4"]{fill:#f2c04a8c}.thmap path[data-lvl="5"]{fill:#f2c04abf}.thmap path[data-lvl=f]{fill:#f2c04a80}.thmap path[data-lvl=x]{fill:var(--surface-2);opacity:.6}.thmap path:hover,.thmap path:focus-visible{outline:none;fill:var(--lamp)}.legend{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:4px}.legend i{width:18px;height:8px;border-radius:6px}.legend i[data-lvl="1"]{background:#f2c04a1f}.legend i[data-lvl="2"]{background:#f2c04a3d}.legend i[data-lvl="3"]{background:#f2c04a61}.legend i[data-lvl="4"]{background:#f2c04a8c}.legend i[data-lvl="5"]{background:#f2c04abf}.map-panel{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:18px;display:flex;flex-direction:column;gap:10px;max-height:calc(76vh + 26px);overflow:auto}.map-panel input{width:100%}.big-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;margin:8px 0}.big-stats div{display:flex;flex-direction:column}.big-stats strong{font-size:22px;font-weight:500}.big-stats span{font-size:12px;color:var(--muted);line-height:1.4}.regs{display:grid;gap:8px}.reg{display:grid;grid-template-columns:150px 1fr 60px;gap:10px;align-items:center;font-size:13px}.map-panel .src{margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}@media(max-width:900px){.lesson-grid,.map-layout{grid-template-columns:1fr}.steps{display:flex;overflow-x:auto}.steps li{white-space:nowrap}.steps li+li{border-top:0;border-left:1px solid var(--line)}.thmap{height:60vh}}@media(max-width:600px){.pp-row{grid-template-columns:1fr 50px}.pp-row .track{grid-column:1/3;grid-row:2}.reg{grid-template-columns:110px 1fr 50px}.item-q{font-size:18px}.ln-state,.ln-meta{display:none}}@media print{.rail,.work-top{display:none}}.app-page .eyebrow:not(.mono){letter-spacing:.01em;text-transform:none;font-size:12px}.export>span{display:block;width:100%}.export>span select{width:100%}.projector{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:clamp(20px,4vw,48px)}.proj-q{font-size:clamp(26px,3.4vw,44px);line-height:1.4;margin:12px 0 26px;font-weight:500}.proj-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.proj-choices div{display:flex;gap:16px;align-items:center;font-size:clamp(20px,2.4vw,30px);border:1px solid var(--line-2);border-radius:6px;padding:18px 22px}.proj-choices b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:600;flex:none}.proj-choices div.right{border-color:var(--lamp);background:#f2c04a1f}.proj-choices>div{position:relative;border:0;color:#fff;font-weight:500}.proj-choices>div:nth-child(1){background:#c8324a}.proj-choices>div:nth-child(2){background:#2f6fd0}.proj-choices>div:nth-child(3){background:#e3a91c;color:#1b1b1b}.proj-choices>div:nth-child(4){background:#1f7f53}.proj-choices>div b{background:#ffffffeb;color:#1b1b1b;line-height:1;padding-bottom:.2em;box-sizing:border-box}.proj-choices>div:after{content:"";margin-left:auto;flex:none;width:clamp(20px,3vh,34px);height:clamp(20px,3vh,34px);background:currentColor;opacity:.85}.proj-choices>div:nth-child(1):after{clip-path:polygon(50% 4%,100% 96%,0 96%)}.proj-choices>div:nth-child(2):after{clip-path:inset(10%)}.proj-choices>div:nth-child(3):after{clip-path:circle(46%)}.proj-choices>div:nth-child(4):after{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.proj-choices:has(.right)>div:not(.right){opacity:.28}.proj-choices{--choice-h:clamp(64px,11vh,108px)}.proj-choices>div{height:var(--choice-h);box-sizing:border-box;overflow:hidden}.ch-t{flex:1;min-width:0;height:100%;display:flex;align-items:center;overflow:hidden;line-height:1.3}.ch-t>span{display:block;max-width:100%}.proj-choices>div.right{outline:4px solid var(--lamp);outline-offset:3px}.batch-rec{margin-top:22px;display:grid;gap:10px;max-width:560px}.batch-rec label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.batch-log{margin-top:18px;line-height:1.8}@media(max-width:600px){.proj-choices{grid-template-columns:1fr}}.recap{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;margin-bottom:20px;overflow:hidden}.recap>div{background:var(--surface);padding:12px 16px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.recap-oq p{margin:2px 0;font-size:15px;line-height:1.55}@media(max-width:900px){.recap{grid-template-columns:1fr}}.cl{display:grid;grid-template-columns:var(--cl-code,6.6ch) minmax(0,1fr);column-gap:10px;align-items:baseline;text-align:left}.cl:not(:has(.cl-code)){display:block}.cl-code{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;font-size:.9em;white-space:nowrap;color:var(--muted)}.cl-text{min-width:0;line-height:1.45}.cl.one .cl-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll{display:flex;flex-direction:column;gap:10px}.roll-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.roll-bar label{display:flex;flex-direction:column;font-size:12px;gap:4px;opacity:.85}.roll-bar input,.roll-bar select{font:inherit;padding:6px 8px;border-radius:4px;border:1px solid var(--line, #3a3a3a);background:transparent;color:inherit}.roll-count{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.rc{font-size:13px;padding:4px 8px;border-radius:4px;border:1px solid var(--line, #3a3a3a)}.rc-present{border-color:#3f8f5a}.rc-absent{border-color:#c0392b}.rc-leave_personal{border-color:#d9a441}.rc-leave_sick{border-color:#3f6f9a}.rc-late{border-color:#8e5bb5}.roll-hint{font-size:13px;opacity:.8;margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.roll-ok{color:#3f8f5a;display:inline-flex;gap:4px;align-items:center}.roll-dirty{color:#d9a441}.roll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(56px,9vw,96px),1fr));gap:8px}.roll-tile{aspect-ratio:4 / 3;border-radius:4px;border:1px solid var(--line, #3a3a3a);background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:inherit}.roll-tile strong{font-size:clamp(18px,3.2vw,34px);line-height:1;font-weight:600}.roll-tile small{font-size:clamp(11px,1.4vw,15px)}.rt-absent{background:#c0392b;border-color:#c0392b;color:#fff}.rt-leave_personal{background:#d9a441;border-color:#d9a441;color:#1b1b1b}.rt-leave_sick{background:#3f6f9a;border-color:#3f6f9a;color:#fff}.rt-late{background:#8e5bb5;border-color:#8e5bb5;color:#fff}@media(max-height:460px){.roll-tile{aspect-ratio:auto;padding:6px 0}.roll-hint{display:none}}.roll-tv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg, #151515);padding:10px 14px;overflow:auto;gap:8px}.roll-title{font-size:clamp(16px,2.4vw,26px);font-weight:600;margin-right:6px}.roll-tv .roll-hint{display:none}.roll-tv .roll-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(56px,8.6vw,140px),1fr));gap:6px}.roll-tv .roll-tile{aspect-ratio:auto;min-height:max(48px,calc((100vh - 84px) / 4.3))}.roll-tv .roll-tile strong{font-size:clamp(20px,4.2vh,44px)}.btn.ghost{background:transparent}.roll-tv .roll-bar{flex-wrap:nowrap;gap:6px;align-items:center}.roll-tv .roll-bar label{flex-direction:row;align-items:center;font-size:11px;gap:4px}.roll-tv .roll-bar input,.roll-tv .roll-bar select{padding:3px 6px;font-size:13px}.roll-tv .roll-count{flex-wrap:nowrap;gap:4px}.roll-tv .rc{font-size:12px;padding:3px 6px;white-space:nowrap}.roll-tv .roll-bar .btn{padding:5px 10px;white-space:nowrap}.roll-tv .roll-tile{min-height:max(44px,calc((100vh - 84px) / 4.3))}.roll-tv .roll-title{white-space:nowrap;font-size:clamp(15px,2vw,22px)}.roll-tv .roll-bar>.btn:last-child{margin-left:auto}@media(max-width:900px){.roll-tv .roll-title{display:none}.roll-tv .rc{font-size:11px;padding:2px 4px}.roll-tv .roll-bar label{font-size:0}.roll-tv .roll-bar label>*{font-size:12px}}.teach{display:flex;flex-direction:column;gap:10px}.teach-setup label{display:grid;gap:4px;font-size:13px;color:var(--muted, #9a9a9a)}.teach-setup select,.teach-setup input{font:inherit;padding:6px 8px;border-radius:4px;border:1px solid var(--line, #3a3a3a);background:transparent;color:inherit}.teach-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teach-bar .eyebrow{margin-right:auto}.teach .proj-q{margin:4px 0 10px;font-size:clamp(22px,5vh,52px)}.teach .proj-choices{--choice-h: clamp(64px, 14vh, 132px)}.teach .proj-choices div{padding:clamp(6px,1.2vh,14px) 18px;font-size:clamp(18px,3.4vh,34px)}.proj-stage.has-art{display:grid;grid-template-columns:minmax(180px,34%) minmax(0,1fr);gap:16px;align-items:start}.proj-stage.has-art .proj-q{margin-top:0}.proj-art{width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:4px;background:var(--surface-2, #232323);display:block}@media(max-width:700px){.proj-stage.has-art{grid-template-columns:1fr}.proj-art{max-width:60%}}.teach-pad{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(34px,4.6vw,64px),1fr));gap:4px}.pad-tile{border:1px solid var(--line, #3a3a3a);border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:clamp(13px,2.2vh,20px);padding:clamp(4px,1vh,10px) 0;cursor:pointer;position:relative}.pad-tile.on{border-color:var(--lamp, #f2c04a);background:color-mix(in srgb,var(--lamp, #f2c04a) 22%,transparent)}.pad-tile.on:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--lamp, #f2c04a)}.pad-tile.off{opacity:.25;cursor:not-allowed;text-decoration:line-through}.teach-act{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.teach-act .muted{margin-right:auto}.think{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:clamp(16px,3vh,28px)}.think b{font-size:clamp(56px,16vh,160px);line-height:1;color:var(--lamp, #f2c04a);font-variant-numeric:tabular-nums;min-width:2ch;text-align:center}.teach-act .verdict{margin:0}.roll-tv .teach-act .verdict{font-size:clamp(16px,3.2vh,30px)}.teach-sum{display:grid;gap:12px;justify-items:start}.plan-steps{display:grid;gap:6px;margin-bottom:12px}.plan-steps-head{font-size:13px;color:var(--muted, #9a9a9a)}.plan-steps-head a{color:var(--lamp, #f2c04a)}.plan-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.plan-steps li button{width:100%;height:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:baseline;text-align:left;padding:6px 8px;font:inherit;color:inherit;background:var(--surface, #1c1c1c);border:1px solid var(--line, #3a3a3a);border-radius:4px;cursor:pointer}.plan-steps .ps-n{grid-row:span 2;font-variant-numeric:tabular-nums;color:var(--muted, #9a9a9a);font-size:13px}.plan-steps .ps-l{font-size:13px;line-height:1.25}.plan-steps .ps-m{font-size:11px;color:var(--muted, #9a9a9a)}.plan-steps li.on button{border-color:var(--lamp, #f2c04a)}.plan-steps li.on .ps-l{color:var(--lamp, #f2c04a)}.plan-steps li.off button{cursor:default;opacity:.6;border-style:dashed}@media(max-width:900px){.plan-steps ol{grid-template-columns:repeat(3,minmax(0,1fr))}}.teach-sum .goal-check{margin:0;padding:10px 14px;border-left:4px solid var(--lamp, #f2c04a);background:color-mix(in srgb,var(--lamp, #f2c04a) 10%,transparent);font-size:clamp(16px,3vh,30px)}.teach-sum .goal-next{margin:0;font-size:clamp(16px,3vh,30px);line-height:1.4}.teach-sum .goal-next b{color:var(--lamp, #f2c04a);font-weight:600}.goal .goal-kicker{margin:6px 0 0;color:var(--muted, #9a9a9a);font-size:clamp(15px,2.6vh,26px)}.goal .goal-title{margin:2px 0 10px;font-size:clamp(28px,7vh,72px);line-height:1.2;font-weight:600}.goal .goal-list{margin:4px 0 12px;padding-left:1.2em;display:grid;gap:6px;font-size:clamp(20px,4.2vh,44px)}.goal .goal-list li::marker{color:var(--lamp, #f2c04a)}.goal .goal-check{margin:4px 0 0;padding:10px 14px;border-left:4px solid var(--lamp, #f2c04a);background:color-mix(in srgb,var(--lamp, #f2c04a) 10%,transparent);font-size:clamp(16px,3vh,30px)}.pick{position:relative;display:inline-grid;gap:4px;min-width:120px}.pick.wide{min-width:min(420px,70vw)}.pick-label{font-size:12px;color:var(--muted, #9a9a9a)}.pick-btn,.seg button,.datestep button{font:inherit;color:inherit;background:var(--surface, #1c1c1c);border:1px solid var(--line, #3a3a3a);border-radius:4px;cursor:pointer}.pick-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;text-align:left;min-height:36px}.pick-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-btn[aria-expanded=true],.pick-btn:focus-visible{border-color:var(--lamp, #f2c04a);outline:none}.pick-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:1200;min-width:100%;max-height:min(52vh,420px);overflow:auto;margin:0;padding:4px;list-style:none;background:var(--surface, #1c1c1c);border:1px solid var(--line-2, #4a4a4a);border-radius:4px;box-shadow:0 8px 24px #00000073}.pick-pop li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:14px}.pick-pop li.hi{background:var(--surface-2, #262626)}.pick-pop li.sel{color:var(--lamp, #f2c04a)}.seg-wrap{display:inline-grid;gap:4px}.seg{display:inline-flex;gap:0}.seg button{min-width:36px;min-height:36px;padding:0 10px;border-radius:0;margin-left:-1px}.seg button:first-child{border-radius:4px 0 0 4px;margin-left:0}.seg button:last-child{border-radius:0 4px 4px 0}.seg button.on{border-color:var(--lamp, #f2c04a);color:var(--lamp, #f2c04a);position:relative;z-index:1}.datestep{display:inline-flex;align-items:center;gap:4px}.datestep button{min-width:36px;min-height:36px;display:grid;place-items:center;padding:0 8px}.datestep button:disabled{opacity:.35;cursor:default}.datestep-v{min-width:118px;text-align:center;font-size:15px}.datestep-today{font-size:13px}.roll-tv .seg button,.roll-tv .datestep button,.roll-tv .pick-btn{min-height:30px;min-width:30px}.roll-tv .datestep-v{min-width:104px;font-size:13px}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color-scheme:dark}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{color-scheme:light}.qa-goal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--line, #3a3a3a);border-radius:4px}.qa-stars{display:flex;align-items:center;gap:6px;color:var(--lamp, #f2c04a)}.qa-stars b{font-size:clamp(26px,5vh,48px);font-variant-numeric:tabular-nums;line-height:1}.qa-stars span{color:var(--muted, #9a9a9a);font-size:14px}.qa-bar{height:12px;border-radius:4px;background:var(--line, #3a3a3a);overflow:hidden}.qa-bar i{display:block;height:100%;background:var(--lamp, #f2c04a);transition:width .35s ease-out}.qa-goal.done{border-color:#3f8f5a}.qa-goal.done .qa-bar i{background:#3f8f5a}.qa-goal.done .qa-count{color:#3f8f5a;font-weight:600}.qa-count{font-size:clamp(14px,2.4vh,22px);white-space:nowrap;font-variant-numeric:tabular-nums}.qa-pick{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:clamp(52px,9vh,96px)}.qa-num{font-size:clamp(16px,3vh,26px)}.qa-num b{font-size:clamp(36px,8vh,80px);font-variant-numeric:tabular-nums;margin-left:8px;color:var(--lamp, #f2c04a)}.qa-num.rolling b{color:var(--muted, #9a9a9a)}.qa .pad-tile{position:relative}.qa .pad-tile.starred{border-color:color-mix(in srgb,var(--lamp, #f2c04a) 45%,transparent)}.qa .pad-tile .qa-mark{position:absolute;top:3px;right:3px;color:var(--lamp, #f2c04a)}.qa .pad-tile.picked{outline:3px solid var(--lamp, #f2c04a);outline-offset:-1px}.roll-tv .teach-pad{grid-template-columns:repeat(auto-fill,minmax(clamp(56px,8.6vw,140px),1fr));gap:6px}.roll-tv .pad-tile{min-height:max(44px,calc((100vh - 510px) / 4.2));font-size:clamp(16px,3.4vh,36px)}.roll-tv:has(.proj-art) .pad-tile{min-height:max(40px,calc((100vh - 560px) / 4.2))}.roll-tv.qa .pad-tile{min-height:max(48px,calc((100vh - 300px) / 4.2));font-size:clamp(18px,4vh,40px)}.roll-tv.qa .qa-mark{width:clamp(11px,2.2vh,22px);height:clamp(11px,2.2vh,22px);top:6px;right:6px}.ev{display:grid;gap:12px}.ev-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ev-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.ev-card{border:1px solid var(--line, #3a3a3a);border-radius:4px;padding:12px;display:grid;gap:8px;background:var(--surface, #1c1c1c)}.ev-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ev-nums small{display:block;font-size:11px;color:var(--muted, #9a9a9a)}.ev-nums b{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.ev-table-wrap{overflow:auto;border:1px solid var(--line, #3a3a3a);border-radius:4px}.ev-table{border-collapse:collapse;width:100%;font-size:14px}.ev-table th,.ev-table td{padding:6px 10px;border-bottom:1px solid var(--line, #3a3a3a);text-align:left;white-space:nowrap}.ev-table th small{font-weight:400;color:var(--muted, #9a9a9a)}.ev-table td.num,.ev-table th.num{text-align:right;font-variant-numeric:tabular-nums}.ev-table th{font-weight:500;font-size:13px;color:var(--muted, #9a9a9a)}.ev-table .no{width:64px;text-align:center;font-variant-numeric:tabular-nums}.ev-table .grp{border-left:1px solid var(--line, #3a3a3a)}.ev-table th.grp .cl{color:var(--text, #eee)}.ev-title{--cl-code: 9.5ch;font-weight:600}.ev-table td.ok,.ev-table td.up{color:#3f8f5a}.ev-table td.down{color:#c0392b}.ev-empty{border:1px dashed var(--line, #3a3a3a);border-radius:4px;padding:18px}@media print{.side,.topbar,.tabs,.ev-bar,.gb-head .back{display:none!important}.ev-table th,.ev-table td{color:#000}}.tiny{font-size:11px}.muted{color:var(--muted)}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background:var(--page)}.auth-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:30px 28px 28px;box-shadow:0 24px 70px #00000040}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px}.auth-brand strong{font-size:22px;letter-spacing:-.04em}.auth-brand .mono{margin-left:auto;letter-spacing:.16em}.auth-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px}.auth-tabs button{flex:1;border:0;background:none;color:var(--muted);padding:9px 4px;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tabs button.on{color:var(--ink);border-bottom-color:var(--lamp)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line-2);border-radius:6px;padding:0 12px;background:var(--page);color:var(--muted)}.auth-field:focus-within{border-color:var(--lamp)}.auth-field input:focus,.auth-field input:focus-visible{outline:none}.gb-form input:focus-visible,.gb-form select:focus-visible,.gb-form textarea:focus-visible{outline:none;border-color:var(--lamp)}.auth-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px;line-height:1.75;padding:9px 0}input,select,textarea{line-height:1.75}.auth-submit{justify-content:center;min-height:46px;margin-top:4px;font-size:16px}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-err{margin:0;color:#e0896a;font-size:14px}.auth-ok{margin:0;color:var(--lamp);font-size:14px;line-height:1.5}.auth-foot{color:var(--muted);font-size:12px;margin-top:16px;text-align:center}.auth-h{font-size:26px;font-weight:500;letter-spacing:-.03em;margin:6px 0 10px}.auth-lead{color:var(--soft);line-height:1.6;margin:0 0 8px}.auth-lock{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:6px;color:var(--lamp)}.auth-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px}.btn:disabled{opacity:.6}.tabs{overflow-y:hidden}.user-chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--soft)}.user-chip .badge{margin-left:0}.gb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:16px}.gb-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:6px;min-height:128px;transition:border-color .2s,transform .2s}.gb-card:hover{border-color:var(--lamp);transform:translateY(-2px)}.gb-card strong{font-size:18px;font-weight:500}.gb-card small{color:var(--muted)}.gb-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;margin:14px 0}.gb-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.gb-form input,.gb-form select,.gb-form textarea{border:1px solid var(--line-2);border-radius:6px;background:var(--page);color:var(--ink);padding:8px 10px;font:inherit;font-size:15px;line-height:1.75;min-height:44px}.gb-form textarea{min-height:120px;grid-column:1/-1;font-family:IBM Plex Mono,monospace;font-size:13px}.gb-form .wide{grid-column:1/-1}.gb-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px;margin-top:14px;max-height:70vh}.gb-table{border-collapse:separate;border-spacing:0;font-size:14px;min-width:100%}.gb-table th,.gb-table td{border-bottom:1px solid var(--line);padding:6px 10px;text-align:left;white-space:nowrap;background:var(--page)}.gb-table thead th{position:sticky;top:0;z-index:2;background:var(--surface);font-weight:500;font-size:12px;color:var(--soft);vertical-align:bottom}.gb-table th.stick,.gb-table td.stick{position:sticky;left:0;z-index:1;background:var(--surface)}.gb-table thead th.stick{z-index:3}.gb-table td.num{text-align:center;color:var(--muted);width:44px}.gb-table tr.out td{opacity:.45}.gb-table tfoot td{background:var(--surface);font-size:12px;color:var(--soft);position:sticky;bottom:0}.gb-in{width:64px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);text-align:center;padding:6px 4px;font:inherit}.gb-in:hover{border-color:var(--line-2)}.gb-in:focus{border-color:var(--lamp);outline:0;background:var(--surface-2)}.gb-in.bad{border-color:#e0896a}.gb-in.saved{border-color:#f2c04a73}.gb-col small{display:block;color:var(--muted);font-weight:400}.gb-pass{color:var(--lamp)}.gb-pairs{margin-top:22px}.gb-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.member-row td{vertical-align:middle}@media(max-width:700px){.auth-card{padding:24px 18px}.gb-in{width:52px}}.work-content:has(.gb-page){padding:18px clamp(16px,2.4vw,40px) 60px}.gb-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:10px}.gb-head .back{margin:0;width:100%}.gb-head h1{font-size:clamp(24px,2.6vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.3;margin:0}.gb-page .tabs{margin-bottom:12px}.gb-page .tabs button{min-height:44px}.gb-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.gb-chips button{min-height:44px;padding:0 16px;border:1px solid var(--line-2);border-radius:6px;background:transparent;color:var(--soft);font-size:15px}.gb-chips button.on{border-color:var(--lamp);color:var(--ink);background:var(--surface-2)}.gb-entry{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:14px;align-items:start}.gb-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.gb-tile{position:relative;min-height:76px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:16px 4px 6px;touch-action:manipulation}.gb-tile .gb-no{position:absolute;left:7px;top:4px;font-size:15px;font-weight:600;color:var(--soft)}.gb-tile .gb-val{font-size:24px;font-weight:600;line-height:1.15;color:var(--muted)}.gb-tile .gb-name{font-size:12px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.6}.gb-tile.pass{border-color:#f2c04a8c}.gb-tile.pass .gb-val{color:var(--lamp)}.gb-tile.low .gb-val{color:#e0896a}.gb-tile.sel{border-color:var(--lamp);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--lamp)}.gb-pad{position:sticky;top:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:6px;padding:12px}.gb-sum{display:flex;flex-direction:column;gap:2px;font-size:14px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:10px}.gb-sum b{font-size:18px;font-weight:600}.gb-hint{color:var(--muted);font-size:14px;margin:8px 0}.gb-pad-head{display:flex;flex-direction:column;margin-bottom:8px}.gb-pad-head strong{font-size:18px}.gb-pad-head span{font-size:14px;color:var(--soft)}.gb-typed{font-size:26px;margin-bottom:8px}.gb-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gb-keys button{min-height:52px;border:1px solid var(--line-2);border-radius:6px;background:var(--page);color:var(--ink);font-size:22px;font-weight:500;touch-action:manipulation}.gb-keys button.on{border-color:var(--lamp);color:var(--lamp)}.gb-keys button.wide2{grid-column:span 2;font-size:16px}.gb-keys button.ok{background:var(--button);color:var(--button-ink);border-color:var(--button)}.gb-keys button:disabled{opacity:.5}@media(max-width:1000px){.gb-entry{grid-template-columns:1fr}.gb-pad{position:sticky;top:auto;bottom:0;z-index:5;box-shadow:0 -12px 30px #0000004d}.gb-sum{flex-direction:row;flex-wrap:wrap;gap:4px 16px}.gb-keys{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}@keyframes panel-up{0%{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--lamp);color:#1a1608;font-weight:600;line-height:1}.umenu{position:relative;display:inline-flex;margin-left:6px}.umenu-btn{border:0;background:none;padding:2px;border-radius:50%;display:inline-grid;place-items:center;min-width:44px;min-height:44px}.umenu-btn:hover .avatar{box-shadow:0 0 0 3px #f2c04a40}.umenu-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(290px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 20px 60px #00000059;padding:8px;animation:panel-up .16s both}.umenu-head{display:flex;gap:12px;align-items:center;padding:10px 10px 14px;border-bottom:1px solid var(--line);margin-bottom:6px}.umenu-head div{display:flex;flex-direction:column;gap:2px;min-width:0}.umenu-head strong{font-size:16px;font-weight:500}.umenu-head .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.umenu-head .badge{align-self:flex-start;margin:4px 0 0}.umenu-pop button[role=menuitem]{width:100%;min-height:44px;display:flex;align-items:center;gap:12px;border:0;border-radius:6px;background:transparent;color:var(--ink);padding:0 10px;font-size:15px;text-align:left}.umenu-pop button[role=menuitem]:hover{background:var(--surface-2)}.umenu-pop .umenu-out{color:var(--soft);border-top:1px solid var(--line);border-radius:0 0 6px 6px;margin-top:6px}.profile-card{display:flex;gap:22px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;margin-bottom:18px;flex-wrap:wrap}.profile-meta{display:flex;flex-direction:column;gap:4px}.profile-meta strong{font-size:24px;font-weight:500}.profile-meta .badge{margin-left:0}.profile-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.profile-forms .gb-form{margin:0}:root{font-family:Sarabun,sans-serif;color-scheme:dark;--page:#171b19;--surface:#212623;--surface-2:#2a302c;--ink:#f3f4ef;--soft:#b8beb9;--muted:#89918b;--line:rgba(245,247,242,.12);--line-2:rgba(245,247,242,.24);--lamp:#f2c04a;--button:#f4f4ef;--button-ink:#151916;--focus:#f2c04a}:root[data-theme=light]{color-scheme:light;--page:#f7f7f4;--surface:#fff;--surface-2:#f0f1ee;--ink:#111312;--soft:#454d47;--muted:#69716b;--line:rgba(17,19,18,.11);--line-2:rgba(17,19,18,.23);--lamp:#be8316;--button:#151916;--button-ink:#fff;--focus:#2f3fa0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,.panel:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.mono{font-family:IBM Plex Mono,monospace}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--muted);font-weight:500;text-transform:uppercase}.landing{overflow:hidden}.topbar{height:92px;padding:0 clamp(24px,4.3vw,72px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:3;width:100%}.brand{border:0;background:none;color:var(--ink);font-weight:700;font-size:24px;letter-spacing:-.04em;display:flex;align-items:center;gap:14px;padding:8px 0}.lamp{width:17px;height:17px;background:var(--lamp);border-radius:50%;display:block;box-shadow:0 0 24px #f2c04a33}.top-actions{display:flex;gap:20px}.icon-btn{width:39px;height:39px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--soft);background:transparent;transition:background .22s,color .22s,transform .22s}.icon-btn:hover{color:var(--ink);background:var(--surface-2);transform:translateY(-1px)}.hero{min-height:max(800px,100svh);position:relative;display:flex;align-items:center;padding:100px clamp(24px,4.3vw,72px) 110px}.hero-copy{position:relative;z-index:2;width:min(42%,570px);transform:translateY(15px)}.hero-copy .eyebrow{display:block;margin-bottom:28px}.hero h1{font-size:clamp(65px,6.2vw,108px);letter-spacing:-.075em;line-height:1.05;font-weight:600;margin:0 0 27px;white-space:nowrap}.hero h1 span{color:var(--lamp)}.hero-copy p{color:var(--soft);font-size:clamp(16px,1.4vw,20px);font-weight:300;line-height:1.7;margin:0 0 30px}.cta{display:inline-flex;align-items:center;gap:18px;min-height:60px;padding:15px 24px;color:var(--button-ink);background:var(--button);border:1px solid var(--button);border-radius:6px;font-size:19px;font-weight:600;transition:transform .24s,box-shadow .24s}.cta:hover{transform:translateY(-3px);box-shadow:0 12px 34px #00000029}.hero-copy small{display:block;color:var(--muted);font-size:12px;margin-top:21px}.graph{position:absolute;z-index:1;width:min(74vw,1150px);aspect-ratio:1536/1024;right:-4vw;top:50%;transform:translateY(-49%);transition:transform .4s}.graph.active{transform:translateY(-49%) scale(1.012)}.graph img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}:root[data-theme=light] .graph img{filter:brightness(.6) contrast(1.15);opacity:.9}.graph-point{position:absolute;width:clamp(40px,4vw,64px);height:clamp(40px,4vw,64px);transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}.graph-point:hover,.graph-point:focus-visible{border-color:var(--lamp);background:#f2c04a1f;box-shadow:0 0 27px #f2c04a33;transform:translate(-50%,-50%) scale(1.16)}.graph-point span{width:6px;height:6px;border-radius:50%;background:transparent}.graph-point:hover span,.graph-point:focus-visible span{background:var(--lamp);box-shadow:0 0 15px var(--lamp)}.hero-index{position:absolute;left:clamp(24px,4.3vw,72px);bottom:42px;color:var(--muted);font-size:11px;letter-spacing:.08em;line-height:1.55}.hero-index span{display:block;background:var(--soft);width:42px;height:1px;margin-bottom:17px}.concepts{padding:140px clamp(24px,4.3vw,72px) 160px;border-top:1px solid var(--line)}.section-head{margin-bottom:55px}.section-head h2,.outro h2{font-size:clamp(38px,4vw,58px);font-weight:500;letter-spacing:-.05em;line-height:1.2;margin:14px 0}.section-head p{color:var(--soft);font-size:17px;margin:0}.concept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.concept{min-height:285px;background:var(--page);color:var(--ink);border:0;text-align:left;padding:24px 26px;display:flex;flex-direction:column;align-items:flex-start;transition:background .25s}.concept:hover{background:var(--surface)}.concept>span{color:var(--muted);font-size:12px}.concept-icon{color:var(--lamp);margin:auto 0 30px;transition:transform .3s}.concept:hover .concept-icon{transform:translateY(-7px) scale(1.07)}.concept strong{font-size:20px;letter-spacing:-.025em;font-weight:500}.concept>svg:last-child{color:var(--muted);margin-top:14px}.outro{min-height:530px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px}.outro>svg{color:var(--lamp);margin-bottom:30px}.outro h2{font-size:clamp(43px,5vw,75px);margin:0 0 27px}.outro button{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:14px;padding:10px 0;font-size:17px}.outro button:hover{color:var(--lamp)}footer{min-height:76px;border-top:1px solid var(--line);padding:0 clamp(24px,4.3vw,72px);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.scrim{position:fixed;z-index:8;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#00000047}.panel{position:fixed;z-index:9;right:26px;top:26px;bottom:26px;width:min(465px,calc(100vw - 52px));overflow:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 24px 90px #0006;padding:25px 31px 30px;animation:panel-in .32s both}@keyframes panel-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-icon{color:var(--lamp);border:1px solid var(--line-2);border-radius:6px;width:55px;height:55px;display:grid;place-items:center;margin-top:38px}.panel h2{font-size:35px;letter-spacing:-.05em;line-height:1.2;font-weight:600;margin:17px 0 12px}.panel-lead{font-size:16px;color:var(--soft);line-height:1.65;margin:0 0 27px}.step-list{border-top:1px solid var(--line);padding-top:8px}.step{display:flex;gap:16px;position:relative;padding:12px 0}.step:not(:last-child):after{content:"";position:absolute;left:21px;top:56px;bottom:-8px;width:1px;background:var(--line-2)}.step-icon{width:43px;height:43px;border:1px solid var(--line-2);border-radius:6px;display:grid;place-items:center;flex:none;color:var(--soft)}.step:first-child .step-icon{color:var(--lamp);border-color:var(--lamp)}.step small{color:var(--muted);font-size:10px;margin-right:11px}.step strong{font-size:16px;font-weight:500}.step p{color:var(--muted);font-size:13px;line-height:1.4;margin:2px 0 0}.panel-feature{padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.panel-feature p{font-size:18px;line-height:1.6;margin:11px 0 0}.panel-note{border-top:1px solid var(--line);padding-top:18px;margin:24px 0;color:var(--muted);font-size:12px;line-height:1.55}.panel-link{width:100%;min-height:51px;background:transparent;border:1px solid var(--line-2);border-radius:6px;color:var(--ink);padding:0 16px;display:flex;justify-content:space-between;align-items:center}.panel-link:hover{background:var(--surface-2);border-color:var(--lamp)}.search-dialog{position:fixed;z-index:10;top:12vh;left:50%;transform:translate(-50%);width:min(580px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 24px 90px #0000005c}.search-top{display:flex;align-items:center;gap:13px;padding:13px 15px;border-bottom:1px solid var(--line);color:var(--muted)}.search-top input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:17px}.search-results{padding:9px;max-height:55vh;overflow:auto}.search-results button{width:100%;border:0;border-radius:6px;background:transparent;color:var(--ink);display:flex;align-items:center;gap:15px;text-align:left;padding:15px}.search-results button:hover{background:var(--surface-2)}.search-results button svg:last-child{margin-left:auto;color:var(--muted)}.search-results p{color:var(--muted);padding:10px 15px}.workspace{display:flex;min-height:100vh}.rail{width:65px;flex:none;position:sticky;top:0;height:100vh;z-index:4;display:flex;align-items:center;flex-direction:column;border-right:1px solid var(--line);background:var(--surface)}.rail-brand{height:60px;width:100%;display:grid;place-items:center;border:0;border-bottom:1px solid var(--line);background:transparent}.rail-brand .lamp{width:14px;height:14px}.rail-links{padding-top:16px;display:flex;align-items:center;flex-direction:column;gap:7px;width:100%}.rail-links button{width:42px;height:42px;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent}.rail-links button:hover,.rail-links button.selected{color:var(--ink);background:var(--surface-2)}.rail-links button.selected{border-color:var(--line-2)}.rail>.icon-btn{margin-top:auto;margin-bottom:17px}.work-main{flex:1;min-width:0}.work-top{height:60px;border-bottom:1px solid var(--line);padding:0 29px;display:flex;align-items:center;justify-content:space-between}.work-top>div{display:flex;align-items:center;gap:12px;font-size:13px}.work-top strong{font-weight:500}.work-top .divider{color:var(--muted)}.demo{border:0;background:var(--surface-2);border-radius:6px;padding:5px 8px;color:var(--muted);font:10px IBM Plex Mono,monospace}.work-content{max-width:1370px;padding:72px clamp(25px,5vw,85px) 110px;margin:0 auto}.work-intro{max-width:630px}.work-icon{width:56px;height:56px;display:grid;place-items:center;color:var(--lamp);border:1px solid var(--line-2);border-radius:6px;margin-bottom:34px}.work-intro h1{font-size:clamp(42px,4.2vw,66px);line-height:1.13;letter-spacing:-.06em;font-weight:500;margin:13px 0 17px}.work-intro p{color:var(--soft);font-size:18px;line-height:1.68;margin:0}.journey,.detail-grid{margin-top:72px}.journey-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}.journey-head h2{font-size:24px;font-weight:500;margin:8px 0 0}.journey-head>span{color:var(--muted);font-size:12px}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.journey-card{min-height:240px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;text-align:left;padding:20px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,border-color .2s}.journey-card:hover{transform:translateY(-4px);border-color:var(--lamp)}.journey-card small{color:var(--muted);font-size:11px}.journey-card>svg:first-of-type{color:var(--lamp);margin:24px 0 19px}.journey-card strong{font-size:17px;font-weight:500}.journey-card p{color:var(--muted);font-size:13px;line-height:1.45;margin:6px 0 14px}.journey-card>svg:last-child{color:var(--muted);margin-top:auto}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:13px}.detail-grid article,.detail-grid aside{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:32px;min-height:340px}.detail-grid h2{font-size:30px;font-weight:500;letter-spacing:-.04em;margin:15px 0 11px}.detail-grid article p{font-size:18px;line-height:1.7;color:var(--soft)}.detail-grid article button{display:flex;gap:14px;align-items:center;border:0;border-bottom:1px solid var(--line-2);background:none;color:var(--ink);padding:11px 0;margin-top:25px}.detail-grid aside{display:flex;flex-direction:column;align-items:flex-start}.detail-grid aside>svg{color:var(--lamp);margin-bottom:auto}.detail-grid aside p{font-size:14px;line-height:1.65;color:var(--soft)}.mobile-menu{display:none}@media(min-width:1750px){.graph{right:calc((100vw - 1750px)/2)}}@media(max-width:1100px){.hero-copy{width:48%}.graph{width:78vw;right:-18vw}.hero h1{font-size:clamp(58px,6vw,83px)}.concept-grid{grid-template-columns:repeat(2,1fr)}.journey-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.topbar{height:70px;padding:0 20px}.brand{font-size:21px}.brand .lamp{width:13px;height:13px}.top-actions{gap:4px}.hero{min-height:880px;display:block;padding:125px 22px 100px}.hero-copy{width:100%;transform:none}.hero-copy .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(56px,13.5vw,76px);margin-bottom:20px}.hero-copy p{font-size:15px;margin-bottom:23px}.cta{min-height:52px;padding:12px 17px;font-size:17px}.hero-copy small{margin-top:14px}.graph{width:112vw;right:-8vw;top:545px;transform:none}.graph.active{transform:scale(1.012)}.hero-index{left:22px;bottom:28px}.concepts{padding:83px 22px 95px}.section-head{margin-bottom:32px}.concept{min-height:210px;padding:16px}.concept strong{font-size:16px}.concept-icon{margin-bottom:20px}.outro{min-height:410px}footer{padding:18px 22px;align-items:flex-start;gap:9px;flex-direction:column}.panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:min(84dvh,760px);border-radius:6px 6px 0 0;padding:17px 22px 28px;animation:panel-up .3s both}@keyframes panel-up{0%{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}.panel-icon{margin-top:22px}.panel h2{font-size:30px}.rail{width:55px}.work-top{padding:0 13px}.demo{display:none}.work-content{padding:50px 20px 90px}.work-intro h1{font-size:43px}.work-intro p{font-size:16px}.journey{margin-top:48px}.journey-head{align-items:flex-start;flex-direction:column}.journey-grid{grid-template-columns:repeat(2,1fr)}.journey-card{min-height:230px;padding:16px}.detail-grid{grid-template-columns:1fr;margin-top:47px}.detail-grid article,.detail-grid aside{min-height:230px}.detail-grid aside>svg{margin-bottom:35px}}@media(max-width:430px){.hero{min-height:760px}.graph{top:510px;width:120vw;right:-16vw}.hero-index{display:none}.concept-grid{grid-template-columns:1fr 1fr}.concept{min-height:190px}.rail{display:none;position:fixed;box-shadow:0 10px 40px #0000004d}.rail.rail-open{display:flex}.mobile-menu{display:inline-flex}.work-top>div{gap:6px}.journey-grid{grid-template-columns:1fr}.journey-card{min-height:185px}.journey-card>svg:first-of-type{margin:15px 0 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
