@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-grotesk-vietnamese-400-normal.0n53nu9gf7tfh.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-400-normal.2fpfelku-hv14.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-grotesk-latin-ext-400-normal.1i9-l0cwy3xz4.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-400-normal.2ktnj406brzmd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-grotesk-latin-400-normal.1c6pcavxma0qq.woff2)format("woff2"),url(../media/space-grotesk-latin-400-normal.1lv17ebb0doqy.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-vietnamese-500-normal.124hzgul_x378.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-500-normal.2cc7ynremmr7q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-latin-ext-500-normal.24vi-5kullur3.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-500-normal.3byb4h5ei5vbt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-latin-500-normal.33jdofnh71adk.woff2)format("woff2"),url(../media/space-grotesk-latin-500-normal.22aucsocraley.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-vietnamese-600-normal.0g_243fsrgopq.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-600-normal.1_4h7s4i8qtw0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-latin-ext-600-normal.2p6ts50jbut9s.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-600-normal.3bl6yn-84ll6f.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-latin-600-normal.406z--bjzi1j-.woff2)format("woff2"),url(../media/space-grotesk-latin-600-normal.2n2gt4u-8z3ue.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-vietnamese-700-normal.3nrnz1jykp0-d.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-700-normal.00qvn3e43vadl.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-ext-700-normal.12edwf9le6tro.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-700-normal.1m348sgz_lwrz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-700-normal.16tiaqjgzwdo4.woff2)format("woff2"),url(../media/space-grotesk-latin-700-normal.2f82em-z48vvn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-mono-vietnamese-400-normal.452suykb2jgcn.woff2)format("woff2"),url(../media/space-mono-vietnamese-400-normal.1537v-d0_112e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-mono-latin-ext-400-normal.31_unrole__js.woff2)format("woff2"),url(../media/space-mono-latin-ext-400-normal.3afh0e6u7_zzn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-mono-latin-400-normal.37_1qewfwlumh.woff2)format("woff2"),url(../media/space-mono-latin-400-normal.1hv-m834mchxi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-mono-vietnamese-700-normal.1ijje0_w50tr1.woff2)format("woff2"),url(../media/space-mono-vietnamese-700-normal.1yax8-jhxzdjp.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-mono-latin-ext-700-normal.2m6bh4rackjgg.woff2)format("woff2"),url(../media/space-mono-latin-ext-700-normal.1_mdr0o5wrv96.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-mono-latin-700-normal.3dmnla43cklex.woff2)format("woff2"),url(../media/space-mono-latin-700-normal.3uu61z6b0_qze.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0b;--panel:#16161a;--line:#303035;--muted:#9a9a9d;--accent:#ff6b00}*{box-sizing:border-box}body{background:var(--bg);color:#eaf0f2;margin:0;font:16px Space Grotesk,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:236px;height:100vh;padding:34px 23px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;font-size:25px;font-weight:700;display:flex}.brandmark{background:var(--accent);color:#142021;text-align:center;width:40px;height:42px;font:700 30px Space Mono,monospace;box-shadow:4px 4px #8d3a00}.brand-sub{letter-spacing:4px;color:var(--muted);margin-top:3px;font-size:12px;display:block}.navlabel{color:#758894;letter-spacing:1px;margin:60px 0 17px;font:12px Space Mono,monospace}.nav{text-align:left;width:100%;color:var(--muted);background:0 0;border:1px solid #0000;align-items:center;gap:13px;margin-bottom:7px;padding:14px 12px;display:flex}.nav.active{color:var(--accent);background:#2b211c;border-color:#67412b}.navdot{background:var(--accent);width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto}.status{letter-spacing:.5px;align-items:center;gap:8px;font:11px Space Mono,monospace;display:flex}.status span{background:var(--accent);width:6px;height:6px}.sidebar-bottom p{color:var(--muted);font-size:13px;line-height:1.7}.profile{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:24px;padding-top:24px;display:flex}.avatar{color:var(--accent);background:#34291f;padding:10px;font-family:monospace}.profile small{color:var(--muted);margin-top:5px;font-size:12px;display:block}main{flex:1;min-width:0}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;padding:0 42px;display:flex}.breadcrumb,.header-stats,.header-stats span{color:var(--muted);align-items:center;gap:13px;font-size:14px;display:flex}.header-stats{gap:25px}.header-stats .xp{color:var(--accent);font-family:Space Mono,monospace}.content{max-width:1510px;margin:auto;padding:38px 42px 0}.eyebrow{letter-spacing:1.4px;color:var(--accent);font:12px Space Mono,monospace}.title-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}h1{letter-spacing:-1.5px;margin:12px 0;font-size:clamp(26px,2.5vw,40px)}p{color:var(--muted);line-height:1.65}.title-row p{margin:0;font-size:15px}.edition{white-space:nowrap;color:var(--muted);border:1px solid var(--line);padding:9px;font:11px Space Mono,monospace}.edition span{color:var(--accent);margin-left:10px}.adventure-grid{grid-template-columns:minmax(0,1fr) 285px;gap:23px;display:grid}.map-panel,.panel{background:var(--panel);border:1px solid var(--line)}.panel-header{justify-content:space-between;align-items:center;padding:18px 20px;font-size:14px;display:flex}.panel-header>span:first-child{align-items:center;gap:9px;display:flex}.muted{color:var(--muted);font:11px Space Mono,monospace}.world{aspect-ratio:960/510;background:#132a30;width:100%;overflow:hidden}.world canvas{image-rendering:pixelated;display:block}.loading{color:var(--accent);place-items:center;display:grid}.map-footer{color:var(--muted);justify-content:space-between;gap:12px;padding:17px 20px;font-size:12px;display:flex}.map-footer i{background:var(--accent);width:6px;height:6px;margin-right:7px;display:inline-block}.quest{flex-direction:column;align-items:flex-start;padding:24px;display:flex}.quest-symbol{margin:23px 0 17px;position:relative}.quest-symbol svg+svg{position:absolute;top:15px;left:15px}.badge{color:var(--accent);background:#38251b;padding:5px 8px;font:11px Space Mono,monospace}h2{letter-spacing:-.6px;font-size:23px}.quest h2{margin:15px 0 0}.quest p{margin:10px 0 20px;font-size:14px}.quest-meta{color:var(--muted);border-bottom:1px solid var(--line);gap:15px;width:100%;padding-bottom:18px;font-size:12px;display:flex}.progress-label{width:100%;color:var(--muted);justify-content:space-between;margin-top:20px;font-size:12px;display:flex}progress{appearance:none;border:none;width:100%;height:5px;margin:10px 0 24px}progress::-webkit-progress-bar{background:#38302b}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.primary{background:var(--accent);color:#142020;border:0;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding:14px 16px;font-weight:700;display:flex;box-shadow:3px 3px #9e3b00}.primary:hover{background:#ff8c33}.section-title{justify-content:space-between;align-items:center;margin:30px 0 18px;display:flex}.section-title h2{margin:0;font-size:21px}.section-title span{color:var(--muted);font-size:13px}.tracks{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.track{border:1px solid var(--line);background:var(--panel);text-align:left;padding:19px 20px}.track:hover,.track.selected{border-color:var(--track)}.track-top{color:var(--track);justify-content:space-between;display:flex}.track-number{font:13px Space Mono,monospace}.track h3{margin:16px 0 7px;font-size:17px}.track p{margin:0 0 17px;font-size:12px}.track-bar{background:#2a3641;height:3px}.track-bar span{background:var(--track);height:100%;display:block}footer{border-top:1px solid var(--line);color:#798d99;justify-content:space-between;gap:15px;margin-top:34px;padding:23px 0;font-size:12px;display:flex}footer span:nth-child(2){letter-spacing:1px;font:10px Space Mono,monospace}.coming{color:var(--muted);align-items:center;gap:8px;margin-top:25px;font-size:13px;display:flex}.lab-grid{grid-template-columns:1fr 1.4fr;gap:24px;min-height:450px;display:grid}.lesson{padding:28px}.objective{background:#101b22;margin:25px 0;padding:20px}.objective>span{color:var(--accent);font:12px monospace}code{color:var(--accent)}.secondary{border:1px solid var(--line);background:0 0;padding:12px 16px}.terminal{background:#0b1218;border:1px solid #6a4b35;flex-direction:column;min-width:0;display:flex}.terminal-head{background:#202e32;align-items:center;gap:10px;padding:15px;font:12px monospace;display:flex}.terminal-head span{color:var(--accent);margin-left:auto;font-size:10px}.terminal-output{flex:1;max-height:470px;padding:20px;font:14px/1.7 Space Mono,monospace;overflow:auto}.terminal-output p{font-size:12px}.terminal pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--accent)}.terminal form{border-top:1px solid var(--line);color:var(--accent);align-items:center;gap:10px;padding:15px;display:flex}.terminal input{color:var(--accent);background:0 0;border:none;width:100%;min-width:0;font-family:monospace}.terminal form button{background:#3b2a21;border:none;padding:5px 12px}.achievements{min-height:360px;padding:45px}.achievements>svg{color:var(--accent)}@media (min-width:1600px){.adventure-grid{grid-template-columns:minmax(0,1fr) 325px}.quest{padding:30px}.tracks{grid-template-columns:repeat(6,1fr)}}@media (max-width:1150px){.sidebar{width:200px;padding:28px 16px}.content{padding:30px 25px 0}header{padding:0 25px}.adventure-grid{grid-template-columns:1fr}.quest{display:block}.quest-symbol{display:none}.quest .primary{margin-top:10px}.quest h2{margin-top:12px}.quest .badge{margin-top:15px;display:inline-block}.edition{display:none}.lab-grid{grid-template-columns:1fr}}@media (max-width:700px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;padding:18px;position:static}.brand{font-size:20px}.brandmark{width:34px;height:34px;font-size:25px}.brand-sub{font-size:10px}.navlabel,.sidebar-bottom{display:none}nav{gap:5px;margin-top:20px;display:flex}.nav{justify-content:center;gap:6px;margin:0;padding:10px 6px;font-size:13px}.navdot{display:none}header{height:58px;padding:0 18px}.header-stats>span:first-child{display:none}.content{padding:25px 18px 0}h1{letter-spacing:-1px}.title-row p{font-size:14px}.title-row{margin-bottom:25px}.tracks{grid-template-columns:repeat(2,1fr);gap:10px}.track{padding:15px}.track h3{font-size:15px}.section-title span{display:none}.map-footer{flex-wrap:wrap;padding:12px;font-size:11px}footer span:nth-child(2){display:none}.terminal-head{flex-wrap:wrap}.terminal-head span{margin:0}.lesson{padding:22px}.world{min-height:200px}.breadcrumb{font-size:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.map-panel,.world{min-width:0}.world canvas{max-width:100%;width:100%!important;height:auto!important;margin:0!important}.world-wrap{background:#0b1b25;min-width:0}.world-stage{touch-action:none;background:#0b1b25;outline:none;width:100%;height:clamp(430px,46vw,650px);position:relative;overflow:hidden}.world-stage:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.world-canvas,.world-canvas canvas,.world-vignette{width:100%;height:100%;position:absolute;inset:0}.world-canvas canvas{image-rendering:pixelated;display:block}.world-vignette{pointer-events:none;z-index:1;background:linear-gradient(#030d166e,#0000 22% 73%,#030d167a)}.world-topline{z-index:3;color:#ffb67a;letter-spacing:1.2px;text-shadow:0 2px 4px #06131b;justify-content:space-between;gap:12px;font:10px Space Mono,monospace;display:flex;position:absolute;top:18px;left:22px;right:22px}.world-topline span:last-child{color:#9db9bc}.world-label{z-index:2;border:1px solid var(--landmark);color:#f3f7f5;white-space:nowrap;text-align:left;background:#101e28e8;min-width:95px;padding:6px 8px;font:11px Space Mono,monospace;position:absolute;transform:translate(-50%,-100%);box-shadow:3px 4px #07131b}.world-label:hover,.world-label.selected{box-shadow:0 0 0 2px var(--landmark),3px 4px 0 #07131b;background:#23363b}.world-label span,.world-label small{display:block}.world-label small{color:var(--landmark);letter-spacing:.6px;margin-top:2px;font-size:8px}.world-prompt{z-index:3;color:#f1d8c5;background:#0b1b25e8;border:1px solid #9c5528;align-items:center;gap:9px;max-width:calc(100% - 38px);padding:9px 11px;font:10px Space Mono,monospace;display:flex;position:absolute;bottom:18px;left:19px}.world-prompt strong{color:var(--accent)}.world-prompt button{background:var(--accent);color:#15251e;border:0;padding:6px 8px;font:10px Space Mono,monospace}.world-caption{color:#8fa8ab;justify-content:space-between;gap:12px;padding:13px 18px;font:10px Space Mono,monospace;display:flex}.world-caption span:first-child{color:var(--accent)}.world-caption i{background:var(--accent);width:6px;height:6px;margin-right:5px;display:inline-block}.world-fallback{z-index:3;text-align:center;color:#d6e6dc;background:#132a30;place-items:center;padding:30px;display:grid;position:absolute;inset:0}.world-dpad{z-index:3;grid-template-rows:repeat(2,31px);grid-template-columns:repeat(3,31px);gap:2px;display:grid;position:absolute;bottom:18px;right:20px}.world-dpad button{color:#ffd6b5;touch-action:none;background:#132a30d9;border:1px solid #62857a;font-size:12px}.world-dpad button:active{background:var(--accent);color:#10171f}.pad-up{grid-area:1/2}.pad-left{grid-area:2/1}.pad-down{grid-area:2/2}.pad-right{grid-area:2/3}@media (max-width:700px){.world-stage{height:440px}.world-topline{font-size:8px;top:11px;left:12px;right:12px}.world-topline span:last-child{display:none}.world-label{min-width:0;padding:4px 5px;font-size:9px}.world-label small{display:none}.world-prompt{max-width:calc(100% - 118px);padding:6px;font-size:8px;bottom:9px;left:9px}.world-prompt button{font-size:8px}.world-dpad{bottom:9px;right:9px}.world-caption{flex-wrap:wrap;font-size:9px}}@media (max-width:420px){.world-stage{height:360px}.world-prompt{max-width:calc(100% - 115px)}}.world-label[data-track=gcp]{margin-top:-25px}.brand img.brandmark{object-fit:contain;width:42px;height:42px;box-shadow:none;background:0 0;display:block}
.account-grid{grid-template-columns:minmax(240px,.8fr) minmax(330px,1.2fr);gap:23px;min-height:530px;display:grid}.account-text-action{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:16px;font-size:12px;text-decoration:underline}.account-intro,.account-form{padding:30px}.account-intro>svg{color:var(--accent);margin:28px 0 12px}.account-intro h2{margin:0}.account-intro p{font-size:14px}.account-feature{border-top:1px solid var(--line);color:#d5c9be;align-items:center;gap:10px;padding:12px 0;font-size:13px;display:flex}.account-feature svg{color:var(--accent);flex-shrink:0}.account-intro .secondary{align-items:center;gap:8px;margin-top:30px;display:flex}.account-tabs{flex-wrap:wrap;gap:8px;margin-bottom:27px;display:flex}.account-tabs button{border:1px solid var(--line);color:#b8adaa;background:#201d1c;padding:10px 12px;font:11px Space Mono,monospace}.account-tabs button.selected{color:var(--accent);border-color:var(--accent);background:#2b211c}.account-form form{gap:17px;max-width:560px;display:grid}.account-form label{color:#e4d9d0;gap:7px;font-size:13px;display:grid}.account-form label small{color:var(--muted)}.account-form input{color:#f2e9e1;background:#0e0e10;border:1px solid #4a3930;outline:none;width:100%;padding:13px 14px}.account-form input:focus{border-color:var(--accent)}.account-form .primary{margin-top:10px}.form-hint{margin:0;font-size:12px}.form-error,.form-notice{color:#ffd5c9;background:#351b1a;border:1px solid #a94a3e;padding:10px 13px;font-size:13px}.form-notice{color:#ffd1a8;background:#302218;border-color:#965625}.account-tools{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px;margin-top:30px;padding-top:17px;display:flex}.account-tools button,.account-tools a{border:1px solid var(--line);color:#ddc8b6;background:0 0;align-items:center;gap:6px;padding:9px 11px;font-size:12px;display:inline-flex}.account-tools .delete-link{color:#ff9387;border-color:#713931}.danger{color:#fff;background:#8d3027;border:1px solid #cb5142;padding:14px 16px;font-weight:700}.recovery-reveal{border:1px solid var(--accent);background:#302015;margin-bottom:18px;padding:16px}.recovery-reveal strong{color:var(--accent);font:11px Space Mono,monospace}.recovery-reveal code{overflow-wrap:anywhere;color:#fff0dc;margin:13px 0;font:700 17px Space Mono,monospace;display:block}.recovery-reveal p{font-size:12px}.recovery-reveal button{border:1px solid var(--accent);color:var(--accent);background:0 0;padding:8px 11px}.login-hint{align-items:center;gap:6px;display:flex;margin-top:12px!important;font-size:11px!important}.consent-shade{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050506b9;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.consent-box{border:1px solid var(--accent);background:#151518;width:100%;max-width:800px;padding:28px 32px;box-shadow:0 0 0 5px #ff6b001a,0 25px 90px #000}.consent-terminal{letter-spacing:1.5px;color:var(--accent);font:11px Space Mono,monospace}.pulse-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 12px var(--accent);margin-right:6px;display:inline-block}.consent-box h2{margin:15px 0 9px;font-size:23px}.consent-box>p{margin:0 0 20px;font-size:14px}.consent-lines{border-block:1px solid var(--line);margin-bottom:18px}.consent-lines>div{grid-template-columns:110px 1fr 110px;align-items:center;gap:10px;padding:12px 0;font:11px Space Mono,monospace;display:grid}.consent-lines>div+div{border-top:1px solid var(--line)}.consent-lines strong{color:var(--accent)}.consent-lines span{color:#c4b6ae}.consent-lines b{text-align:right;color:#ffbc83;font-weight:400}.consent-actions{gap:11px;display:flex}.consent-actions button{flex:1;justify-content:center;min-height:46px;margin:0}.consent-actions .secondary{background:#242225;border-color:#766a64}.consent-box .consent-foot{color:var(--muted);margin:17px 0 0;font-size:11px}.consent-foot a{color:var(--accent);text-decoration:underline}.pve-lab{grid-template-columns:minmax(260px,.68fr) minmax(430px,1.32fr);gap:20px;display:grid}.scenario{padding:26px}.scenario h2{font-size:26px}.scenario .secondary{align-items:center;gap:8px;display:flex}.sim-note{border-left:3px solid var(--accent);padding-left:10px;font-size:12px}.pve-console{background:#11151a;border:1px solid #675442;flex-direction:column;min-height:510px;display:flex}.pve-toolbar{background:#25272c;border-bottom:1px solid #515258;align-items:center;gap:11px;padding:10px 13px;font-size:12px;display:flex}.pve-logo{background:var(--accent);color:#151515;place-items:center;width:30px;height:30px;font:700 20px monospace;display:grid}.pve-toolbar>span:last-child{color:var(--accent);margin-left:auto;font:10px monospace}.pve-body{flex:1;grid-template-columns:150px 1fr;min-width:0;display:grid}.pve-tree{color:#adb4bb;background:#191c20;border-right:1px solid #43464c;padding:13px 8px;font:11px monospace}.pve-tree>div{padding:7px 4px}.pve-tree button{color:#ffd4b5;text-align:left;background:#3b332d;border:0;align-items:center;gap:6px;width:100%;padding:9px 6px;font:11px monospace;display:flex}.pve-detail{min-width:0}.pve-tabs{background:#20242a;border-bottom:1px solid #454a50;gap:2px;display:flex}.pve-tabs button{color:#b7bec4;background:0 0;border:0;align-items:center;gap:6px;padding:11px 9px;font-size:11px;display:flex}.pve-tabs button.selected{color:var(--accent);border-bottom:2px solid var(--accent);background:#2f2824}.pve-view{padding:22px}.pve-view h3{margin:0 0 12px}.pve-view p{font-size:13px}.pve-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0;display:grid}.pve-kpis>div{border:1px solid #3e454c;min-width:0;padding:12px}.pve-kpis small,.pve-kpis strong{overflow-wrap:anywhere;display:block}.pve-kpis small{color:#99a9ae;margin-bottom:8px;font:9px monospace}.pve-kpis strong{font-size:13px}.ok{color:#96d391}.bad{color:#ff8d75}.pve-action,.firewall-row button{background:var(--accent);color:#171312;border:0;padding:10px 13px;font-weight:700}.result{border:1px solid;margin-top:16px;padding:11px;font:12px monospace}.firewall-row{border:1px solid #674b41;grid-template-columns:70px 1fr 70px auto;align-items:center;gap:6px;margin:12px 0;padding:9px;font:10px monospace;display:grid}.firewall-row.allow{border-color:#425846}.firewall-row code{font-size:11px}.firewall-row button{padding:8px;font-size:10px}.hint{color:#ffbc83!important}.pve-log{background:#0e1216;border:1px solid #434a51;min-height:220px;padding:12px}.pve-log p{color:#c1d4d3;font:11px Space Mono,monospace}.pve-footer{border-top:1px solid #454a50;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:11px;display:flex}.pve-footer span,.pve-footer button{align-items:center;gap:6px;display:flex}.pve-footer button{color:#c9d1d5;background:0 0;border:1px solid #555b61;padding:7px;font-size:10px}footer a:hover,footer button:hover{color:var(--accent)}footer button{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}footer>span:last-child{flex-wrap:wrap;gap:5px;display:flex}.legal{max-width:820px;margin:0 auto;padding:45px 24px 80px;display:block}.legal>a:first-child{color:var(--accent);font:12px Space Mono,monospace}.legal .eyebrow{margin-top:50px}.legal h1{font-size:42px}.legal h2{color:#f5e4d5;margin-top:34px}.legal p,.legal address{color:#c7bdb6;font-style:normal;line-height:1.8}.legal a:not(:first-child){color:var(--accent);text-decoration:underline}.legal code{color:var(--accent)}@media (max-width:1050px){.account-grid,.pve-lab{grid-template-columns:1fr}.pve-console{min-height:480px}}@media (max-width:700px){.account-intro,.account-form{padding:22px}.account-intro>svg{margin:18px 0 8px}.account-grid{gap:13px}.consent-shade{padding:10px}.consent-box{padding:19px}.consent-box h2{font-size:19px}.consent-box>p{font-size:12px}.consent-lines>div{grid-template-columns:82px 1fr;gap:5px;font-size:9px}.consent-lines b{text-align:left;grid-column:2}.consent-actions{flex-direction:column}.pve-body{grid-template-columns:1fr}.pve-tree{border-bottom:1px solid #43464c;border-right:0}.pve-tree>div{display:none}.pve-kpis{grid-template-columns:1fr}.firewall-row{grid-template-columns:1fr 1fr}.pve-footer{flex-wrap:wrap}.legal h1{font-size:32px}}.confirm-shell{flex-direction:column;max-width:670px;min-height:100vh;margin:0 auto;padding:38px 22px 25px;display:flex}.confirm-shell>.brand{align-self:flex-start;text-decoration:none}.confirm-panel{border:1px solid #61412c;border-top:5px solid var(--accent);background:#16161a;margin:70px 0 40px;padding:37px;box-shadow:0 20px 60px #0007}.confirm-panel h1{color:#fff1e7;margin:16px 0 12px;font-size:34px;line-height:1.15}.confirm-panel>p{color:#c7bbb5;font-size:15px;line-height:1.65}.confirm-form{gap:16px;margin-top:25px;display:grid}.confirm-form label{color:#f1ddd1;gap:7px;font-size:13px;display:grid}.confirm-form input{color:#fff0e7;width:100%;font:inherit;background:#0d0d10;border:1px solid #725039;outline:none;padding:14px}.confirm-form input:focus{border-color:var(--accent)}.confirm-form .primary,.confirm-panel>.primary{justify-content:space-between;align-items:center;gap:20px;min-height:48px;display:inline-flex}.confirm-hint{align-items:center;gap:8px;margin-top:22px;font:11px Space Mono,monospace;display:flex;color:#a59a94!important}.confirm-success{color:var(--accent);letter-spacing:1px;align-items:center;gap:9px;margin-top:25px;font:11px Space Mono,monospace;display:flex}.confirm-home{background:var(--accent);color:#1d130e;align-items:center;gap:12px;margin-top:12px;padding:13px 17px;font-weight:700;text-decoration:none;display:inline-flex}.confirm-footer{color:#8e837d;justify-content:space-between;gap:20px;margin-top:auto;font:10px Space Mono,monospace;display:flex}.confirm-footer a{color:#b7a69b}.confirm-panel .recovery-reveal button{align-items:center;gap:7px;display:inline-flex}@media (max-width:700px){.confirm-shell{padding:25px 16px}.confirm-panel{margin:42px 0 28px;padding:25px}.confirm-panel h1{font-size:28px}.confirm-footer{flex-wrap:wrap}}.linux-lab{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:17px;display:grid}.linux-path{max-height:670px;overflow:auto}.linux-path-head{border-bottom:1px solid var(--line);padding:20px}.linux-path-head>strong{float:right;color:var(--accent);font:700 15px Space Mono,monospace}.linux-path-head progress{margin:15px 0 7px}.linux-path-head>span{color:var(--muted);font:10px Space Mono,monospace;display:block}.linux-chapter{border-bottom:1px solid var(--line);padding:13px 12px}.linux-chapter-title{color:#ffc49b;text-transform:uppercase;letter-spacing:.2px;justify-content:space-between;align-items:center;gap:5px;margin-bottom:7px;font:10px Space Mono,monospace;display:flex}.linux-chapter-title span:last-child{color:var(--accent);display:flex}.linux-mission-link{color:#bfb3aa;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:7px 5px;font-size:11px;display:flex}.linux-mission-link>span:first-child{color:var(--accent);display:flex}.linux-mission-link.selected{color:#fff1e5;background:#36241b;border-color:#8e4b23}.linux-mission-link:disabled{opacity:.46;cursor:not-allowed}.linux-workspace{grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr);gap:17px;min-width:0;display:grid}.linux-lesson{flex-direction:column;min-height:550px;display:flex}.linux-lesson-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.linux-lesson-heading small{color:#ffc49b;margin-top:24px;font:11px Space Mono,monospace;display:block}.linux-lesson-heading h2{margin:7px 0 0}.linux-lesson-heading .badge{white-space:nowrap;margin-top:24px}.linux-lesson>p{font-size:13px}.linux-lesson .objective{margin:20px 0}.linux-lesson .objective p{color:#e6d7cd;margin-bottom:0;font-size:13px}.linux-hint{color:#ffb579;background:0 0;border:1px solid #7a5236;align-self:flex-start;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:inline-flex}.linux-hint-text{border-left:2px solid var(--accent);padding-left:11px;font:12px/1.7 Space Mono,monospace;color:#ffd2ac!important}.linux-done{align-items:center;gap:8px;display:flex;color:#ffbb82!important;font-size:12px!important}.linux-lesson>.primary{margin:12px 0}.linux-back{align-self:flex-start;align-items:center;gap:8px;margin-top:auto;display:inline-flex}.linux-terminal{min-height:550px}.linux-terminal .terminal-output{max-height:550px}.linux-terminal .terminal-output p{color:#a6b7b6}.linux-terminal pre{color:#e0ba96}.linux-terminal form:focus-within{border-top-color:var(--accent)}@media (max-width:1450px){.linux-lab{grid-template-columns:1fr}.linux-path{max-height:310px}.linux-chapters{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.linux-chapter{border-right:1px solid var(--line)}.linux-path-head{align-items:center;gap:17px;display:flex}.linux-path-head progress{width:130px;margin:0}.linux-path-head>strong{float:none}.linux-path-head>span{margin-left:auto}}@media (max-width:950px){.linux-workspace{grid-template-columns:1fr}.linux-lesson{min-height:0}.linux-terminal{min-height:420px}.linux-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.linux-path-head{flex-wrap:wrap}.linux-path-head>span{margin-left:0}.linux-path{max-height:330px}.linux-chapters{grid-template-columns:1fr}.linux-terminal .terminal-output{min-height:300px;max-height:390px}}.linux-chapter-description{margin-top:0;color:#ffb582!important;font:11px Space Mono,monospace!important}.leaderboard-wrap{gap:18px;display:grid}.leaderboard-intro{border-top:4px solid var(--accent);justify-content:space-between;align-items:center;gap:20px;padding:24px 29px;display:flex}.leaderboard-intro h2{margin:10px 0}.leaderboard-intro p{max-width:700px;margin:0;font-size:13px}.leaderboard-intro>svg{color:var(--accent);flex:none}.leaderboard-tabs{gap:8px;display:flex}.leaderboard-tabs button{color:#d7c4b6;background:#1f1a19;border:1px solid #69452e;padding:10px 17px;font:11px Space Mono,monospace}.leaderboard-tabs button.selected{background:var(--accent);color:#21140c;border-color:var(--accent);font-weight:700}.leaderboard-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;display:grid}.leaderboard-list{min-height:310px}.leaderboard-head,.leaderboard-row{grid-template-columns:88px minmax(0,1fr) 100px;align-items:center;gap:10px;padding:13px 20px;display:grid}.leaderboard-head{color:#9e8d83;border-bottom:1px solid var(--line);font:10px Space Mono,monospace}.leaderboard-head span:last-child,.leaderboard-row>span:last-child{text-align:right}.leaderboard-row{border-bottom:1px solid #302724;font-size:13px}.leaderboard-row:nth-child(2){background:#3c281b}.leaderboard-row:nth-child(3){background:#30241e}.leaderboard-row:nth-child(4){background:#27211f}.leaderboard-row.you{outline:1px solid var(--accent);outline-offset:-1px}.leaderboard-row strong{overflow-wrap:anywhere}.leaderboard-row small{color:var(--accent);font:10px Space Mono,monospace}.leaderboard-rank{color:var(--accent);align-items:center;gap:7px;font:12px Space Mono,monospace;display:flex}.leaderboard-row>span:last-child{color:#ffbc88;font:700 13px Space Mono,monospace}.leaderboard-empty{padding:25px;font-size:13px}.leaderboard-me{padding:24px}.leaderboard-me>svg{color:var(--accent);margin-top:20px}.leaderboard-me h3{margin:16px 0;font-size:21px}.leaderboard-me p{font-size:12px}.leaderboard-me .primary,.leaderboard-me .secondary{justify-content:space-between;width:100%;margin-top:15px}.leaderboard-stat{border-top:1px solid var(--line);color:#c3b4a9;justify-content:space-between;padding:12px 0;font-size:12px;display:flex}.leaderboard-stat strong{color:var(--accent);font:700 17px Space Mono,monospace}@media (max-width:1000px){.leaderboard-grid{grid-template-columns:1fr}}@media (max-width:700px){.leaderboard-tabs{overflow-x:auto}.leaderboard-tabs button{padding:9px 11px}.leaderboard-intro{padding:20px}.leaderboard-intro>svg{display:none}.leaderboard-head,.leaderboard-row{grid-template-columns:65px minmax(0,1fr) 65px;padding:11px 12px}.leaderboard-row{font-size:11px}.leaderboard-rank{font-size:10px}nav{overflow-x:auto}.nav{white-space:nowrap;flex:none;width:auto;min-width:92px}}.linux-briefing{background:#201a18;border:1px solid #5f412f;margin-top:20px;padding:13px 15px}.linux-briefing summary{cursor:pointer;color:#ffac70;letter-spacing:.5px;font:10px Space Mono,monospace}.linux-briefing p{color:#c7b6aa;margin:11px 0 0;font-size:12px;line-height:1.65}.leaderboard-me a{color:var(--accent);text-decoration:underline}.linux-terminal form label{white-space:nowrap;color:#ffb47b;font:12px Space Mono,monospace}.linux-terminal form input{font:12px Space Mono,monospace}.linux-terminal form button{color:#ffd3ad}.linux-htop{color:#d2eee8;background:#102028;min-height:100%;padding:8px}.linux-htop-title{color:#170e09;background:#ff6b00;justify-content:space-between;gap:10px;padding:8px 10px;font:700 12px Space Mono,monospace;display:flex}.linux-htop-title span{font-size:10px}.linux-htop pre{white-space:pre;color:#b6f1d6;margin:18px 0;overflow:auto}.linux-htop p{color:#ffc49b}@media (max-width:700px){.linux-terminal form label{text-overflow:ellipsis;max-width:120px;overflow:hidden}.linux-htop-title{font-size:10px}.linux-htop-title span{font-size:9px}.linux-terminal form{grid-template-columns:minmax(0,1fr) 50px;gap:4px 8px;padding:8px;display:grid}.linux-terminal form label{grid-column:1/-1;max-width:100%;font-size:11px}.linux-terminal form input{background:#142329;border:1px solid #7b543b;grid-area:2/1;padding:0 8px}.linux-terminal form button{grid-area:2/2}}.linux-boss-link{color:#ffc08e}.linux-boss-link>span:first-child{color:#ff8a34}.linux-boss-screen{border-top:4px solid var(--accent);background:radial-gradient(circle at 50% 20%,#512c1c 0,#211b19 55%);min-height:550px;padding:30px}.linux-boss-top,.linux-boss-hud{color:#ffbc87;letter-spacing:.5px;justify-content:space-between;align-items:center;gap:12px;font:11px Space Mono,monospace;display:flex}.linux-boss-top span:first-child,.linux-boss-hud span:first-child{align-items:center;gap:8px;display:flex}.linux-boss-avatar{color:#ff7d21;text-shadow:0 0 22px #ff6b00;justify-content:center;align-items:center;gap:12px;margin:24px auto 13px;display:flex}.linux-boss-avatar span{font:700 45px Space Mono,monospace}.linux-boss-screen h2{text-align:center;margin:0;font-size:28px}.linux-boss-story{text-align:center;color:#d8bda8;max-width:580px;margin:12px auto 30px;font-size:13px}.linux-boss-workspace{max-width:850px;margin:auto}.linux-boss-workspace progress{width:100%;margin:14px 0 18px}.linux-boss-goals{gap:7px;margin-bottom:18px;display:grid}.linux-boss-goals p{color:#d8c4b2;background:#211d1b;border:1px solid #65472f;align-items:center;gap:12px;margin:0;padding:10px 12px;font-size:12px;display:flex}.linux-boss-goals p.active{color:#fff1e5;border-color:#ff8436}.linux-boss-goals p.solved{color:#b9dfc0;border-color:#588a69}.linux-boss-goals span{color:#ff9e55;min-width:22px;font:700 11px Space Mono,monospace;display:flex}.linux-boss-terminal{min-height:320px}.linux-boss-terminal .terminal-output{overscroll-behavior:contain;min-height:210px;max-height:330px}.linux-boss-terminal form label{white-space:nowrap;font:11px Space Mono,monospace}.linux-boss-terminal form input{font-size:16px}.linux-boss-terminal form button{min-width:48px;min-height:44px}.linux-boss-victory{border:2px solid var(--accent);text-align:center;color:#ffbe8a;background:#382319;max-width:620px;margin:30px auto;padding:28px}.linux-boss-victory>svg{margin:auto auto 14px;display:block}.linux-boss-victory strong{font:700 23px Space Mono,monospace}.linux-boss-victory p{font-size:13px}.linux-boss-victory .primary{margin:15px auto 0}.linux-boss-screen>.linux-back{margin-top:25px}@media (max-width:700px){.linux-boss-screen{padding:18px}.linux-boss-screen h2{font-size:22px}.linux-boss-terminal form{grid-template-columns:minmax(0,1fr) 50px;gap:4px 8px;padding:8px;display:grid}.linux-boss-terminal form label{text-overflow:ellipsis;grid-column:1/-1;overflow:hidden}.linux-boss-terminal form input{background:#142329;border:1px solid #7b543b;grid-area:2/1;padding:0 8px}.linux-boss-terminal form button{grid-area:2/2}}
.rpg-app,.rpg-loading{color:#fff4e9;background:#0d2028;width:100%;height:100dvh;min-height:560px;position:relative;overflow:hidden}.rpg-loading{text-align:center;background:radial-gradient(circle at 50% 40%,#56402c,#0b1921 68%);place-content:center;display:grid}.rpg-loading h1{font-size:clamp(28px,4vw,54px)}.rpg-world,.rpg-canvas{position:absolute;inset:0;overflow:hidden}.rpg-world{touch-action:none;background:#14262a;outline:none}.rpg-world:focus-visible{outline-offset:-4px;outline:2px solid #ff8a39}.rpg-canvas canvas{image-rendering:pixelated;cursor:default;display:block}html.rpg-camera-captured,html.rpg-camera-captured *{cursor:none!important}.rpg-world:after{content:"";pointer-events:none;background:linear-gradient(#07171cc2,#0000 19% 70%,#07171cbd);position:absolute;inset:0}.rpg-world-fallback{z-index:7;text-align:center;background:#182b30;place-content:center;display:grid;position:absolute;inset:0}.rpg-marker{z-index:4;color:#fff1e6;white-space:nowrap;text-overflow:ellipsis;background:#101e26e8;border:1px solid #ff9959;max-width:180px;padding:5px 8px;font:10px Space Mono,monospace;position:absolute;overflow:hidden;transform:translate(-50%,-120%);box-shadow:3px 3px #08161d}.rpg-marker:hover,.rpg-marker:focus-visible{color:#1e1b19;outline-offset:1px;background:#ff6b00}.rpg-marker.npc{border-color:#b7d8c5}.rpg-marker.fragment{color:#ffd387;border-color:#ffe09b}.rpg-marker.portal{border-color:#85aebb}.rpg-marker.boss{background:#562c24e8;border-color:#ff5b48}.rpg-zone-title{z-index:3;pointer-events:none;text-shadow:0 2px 6px #071418;flex-direction:column;gap:2px;display:flex;position:absolute;top:102px;left:24px}.rpg-zone-title span{color:#ff9e58;letter-spacing:2px;font:10px Space Mono,monospace}.rpg-zone-title strong{font-size:clamp(23px,3vw,36px);line-height:1}.rpg-zone-title small{color:#d1dcdb;font-size:12px}.rpg-world-prompt{z-index:5;white-space:nowrap;background:#0a1b23e8;border:1px solid #a85f38;align-items:center;gap:14px;min-height:38px;padding:8px 11px;font:10px Space Mono,monospace;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #0008}.rpg-world-prompt strong{color:#ffb16e}.rpg-world-prompt button{color:#1b1b1a;background:#ff6b00;border:0;padding:7px 10px;font:700 10px Space Mono,monospace}.rpg-dpad{z-index:6;grid-template-rows:repeat(2,36px);grid-template-columns:repeat(3,36px);gap:3px;display:grid;position:absolute;bottom:19px;right:24px}.rpg-dpad button{color:#ffca9b;touch-action:none;background:#172e35e8;border:1px solid #9c7654}.rpg-dpad button:active{color:#192429;background:#ff6b00}.rpg-dpad .pad-up{grid-area:1/2}.rpg-dpad .pad-left{grid-area:2/1}.rpg-dpad .pad-down{grid-area:2/2}.rpg-dpad .pad-right{grid-area:2/3}.rpg-camera{z-index:6;grid-template-columns:repeat(2,34px);gap:3px;display:grid;position:absolute;bottom:109px;right:24px}.rpg-camera button{color:#ffca9b;touch-action:manipulation;background:#172e35e8;border:1px solid #9c7654;min-height:31px;font:700 18px Space Mono,monospace}.rpg-camera button:hover,.rpg-camera button:focus-visible{color:#192429;background:#ff6b00}.rpg-minimap{z-index:4;pointer-events:none;background:#0b1c24cc;border:1px solid #b87248;width:95px;height:95px;position:absolute;bottom:21px;left:26px;box-shadow:inset 0 0 0 6px #132831bb}.rpg-mini-player{color:#ff6b00;font-size:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rpg-mini-target{color:#ffdbad;font-size:10px;position:absolute}.rpg-hud-top{z-index:8;pointer-events:none;align-items:flex-start;gap:12px;display:flex;position:absolute;top:16px;left:20px;right:20px}.rpg-identity,.rpg-hud-resources,.rpg-hud-actions,.rpg-quest-hud{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1a22e8;border:1px solid #675240;box-shadow:4px 5px #07131abf}.rpg-identity{align-items:center;gap:10px;min-width:188px;padding:8px 12px;display:flex}.rpg-logo{object-fit:contain;filter:drop-shadow(0 0 8px #ff6b0066);width:44px;height:44px;display:block}.rpg-identity strong,.rpg-identity small{display:block}.rpg-identity strong{font-size:14px}.rpg-identity small{color:#ffb47c;margin-top:3px;font:9px Space Mono,monospace}.rpg-hud-resources{color:#ffca93;gap:15px;margin-left:auto;padding:14px;font:10px Space Mono,monospace;display:flex}.rpg-menu-toggle{pointer-events:auto;color:#ffb581;background:#1a2c34d9;border:1px solid #d97836;padding:7px;display:none}.rpg-hud-actions{z-index:8;gap:2px;padding:4px;display:flex;position:absolute;top:77px;right:20px}.rpg-hud-actions button{color:#d7e4df;background:0 0;border:0;align-items:center;gap:6px;padding:9px 11px;font-size:12px;display:flex}.rpg-hud-actions button:hover,.rpg-hud-actions button:focus-visible{color:#ffc08e;background:#4b3328}.rpg-quest-hud{z-index:6;width:min(280px,32vw);padding:16px 18px;position:absolute;top:176px;right:20px}.rpg-quest-hud strong{margin:7px 0 3px;font-size:17px;display:block}.rpg-quest-hud p{color:#d3c4b6;margin:0 0 12px;font-size:12px;line-height:1.5}.rpg-quest-hud>span:last-child{color:#ffac78;font:10px Space Mono,monospace}.rpg-toast{z-index:11;cursor:pointer;background:#213c39;border:1px solid #83bca0;gap:12px;padding:10px 14px;font-size:12px;display:flex;position:absolute;top:139px;left:50%;transform:translate(-50%)}.rpg-toast.error{background:#4e2923;border-color:#ff8e70}.rpg-overlay,.rpg-terminal-shade{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#061016cb;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rpg-modal{color:#f5eee4;background:linear-gradient(140deg,#17282b,#171b22 74%);border:1px solid #a95b2f;width:min(750px,100%);max-height:min(90dvh,900px);padding:30px 33px;position:relative;overflow:auto;box-shadow:0 25px 90px #000a}.rpg-modal h2{margin:10px 0 14px;font-size:clamp(24px,3vw,34px)}.rpg-modal h3{margin:23px 0 10px}.rpg-modal p{color:#c9c3bb;font-size:14px}.rpg-modal .primary{max-width:430px;margin-top:18px}.rpg-close{color:#ffd1af;background:#382a26;border:1px solid #9c633d;place-items:center;padding:6px;display:grid;position:absolute;top:17px;right:17px}.rpg-dialogue{background:#3f2a2177;border-left:3px solid #ff6b00;padding:12px 18px;color:#ffe3c8!important;font-size:18px!important;line-height:1.7!important}.rpg-journal-list,.rpg-item-list,.rpg-character-switch{gap:8px;display:grid}.rpg-journal-list button,.rpg-item-list button,.rpg-character-switch button{text-align:left;color:#f8eee2;background:#203139;border:1px solid #496064;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.rpg-journal-list button:hover:not(:disabled),.rpg-item-list button:hover{border-color:#ff8c42}.rpg-journal-list button>span{color:#ff9c5d}.rpg-journal-list button div{flex:1}.rpg-journal-list strong,.rpg-journal-list small{display:block}.rpg-journal-list small{color:#aebfc0;margin-top:4px;font-size:11px}.rpg-journal-list em,.rpg-item-list small{color:#ffaf79;font:9px Space Mono,monospace}.rpg-journal-list button:disabled{opacity:.55;cursor:not-allowed}.rpg-map-grid,.rpg-talent-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.rpg-map-grid button{text-align:left;color:#e7f1eb;background:#1f343b;border:1px solid #677d78;flex-direction:column;gap:8px;min-height:120px;padding:14px;display:flex}.rpg-map-grid button.active,.rpg-map-grid button:hover:not(:disabled){border-color:#ff8b42}.rpg-map-grid button svg{color:#ff8b42}.rpg-map-grid small{color:#bac9c7}.rpg-map-grid button span{color:#ffb57d;margin-top:auto;font:9px Space Mono,monospace}.rpg-map-village{text-align:left;color:#e7f1eb;background:#1f343b;border:1px solid;flex-direction:column;gap:8px;min-height:116px;padding:14px;display:flex}.rpg-map-village span{color:#ffb57d;margin-top:auto;font:9px Space Mono,monospace}.rpg-camera button:last-child{grid-column:span 2;font-size:11px}.rpg-touch-jump{z-index:6;color:#ffcba2;touch-action:manipulation;background:#1b3139db;border:1px solid #f78d45;width:42px;height:42px;font-size:24px;display:none;position:absolute;bottom:16px;right:116px}.rpg-marker.door,.rpg-marker.lesson,.rpg-marker.exit{color:#ffe0b4;border-color:#ef9a4a}.rpg-marker.wip{color:#c6d0cc;border-color:#8ca4a8}.rpg-hint{color:#ffd2ad;background:#2b3136;border:1px solid #ff8d4b;align-self:flex-start;margin:0 0 12px 20px;padding:6px 10px;font:10px Space Mono,monospace}.rpg-modal.learning-house{background:linear-gradient(140deg,#21343a,#161e27 76%);border:2px solid #e77a36;width:min(1140px,97vw);max-height:95dvh}.learning-house>.eyebrow{color:#ffae73;align-items:center;gap:8px;display:flex}.learning-house-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:20px;margin-top:20px;display:grid}.learning-house-lessons{flex-direction:column;gap:8px;display:flex}.learning-house-lessons>button{text-align:left;color:#f4e5d6;background:#1d3139;border:1px solid #526970;grid-template-columns:38px 1fr;gap:3px 10px;padding:11px;display:grid}.learning-house-lessons>button.active{background:#304047;border-color:#ff8b42}.learning-house-lessons>button span{color:#ff9b56;grid-row:span 2;font:700 13px Space Mono,monospace}.learning-house-lessons>button small{color:#b9c8c3}.learning-house-lessons article{background:#342a27;border:1px solid #af693c;padding:16px}.learning-house-lessons article h3{color:#ffc18e;margin:8px 0;font:700 17px Space Mono,monospace}.learning-house-lessons article p{margin:8px 0;line-height:1.55}.learning-house-lessons article button{color:#172126;background:#ff7d2b;border:0;margin-top:6px;padding:8px 11px;font-weight:700}.learning-house-console{background:#0a141b;border:1px solid #527179;flex-direction:column;min-height:390px;display:flex;overflow:hidden}.learning-house-console header{color:#ffaf73;background:#22323a;align-items:center;gap:8px;padding:10px 13px;font:700 11px Space Mono,monospace;display:flex}.learning-house-console header span{color:#95b8a7;margin-left:auto;font-size:9px}.learning-house-console>div{color:#d9e6d9;flex:1;min-height:210px;padding:13px;font:12px/1.5 Space Mono,monospace;overflow:auto}.learning-house-console pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#ffcb9e}.learning-house-console>div p{font:12px/1.6 Space Mono,monospace}.learning-house-console form{color:#ffb984;border-top:1px solid #577078;align-items:center;gap:8px;padding:10px;font:10px Space Mono,monospace;display:flex}.learning-house-console input{color:#f5e5d4;background:0 0;border:0;outline:0;flex:1;min-width:0;font:12px Space Mono,monospace}.learning-house-console form button{color:#1b2225;background:#ff7925;border:0;padding:5px 10px}.learning-house-footer{border-left:3px solid #ff8d42;padding-left:11px}.rpg-house-learn{z-index:6;color:#17242a;background:#ff7726;border:2px solid #ffd19c;align-items:center;gap:10px;padding:12px 17px;font:700 12px Space Mono,monospace;display:flex;position:absolute;bottom:90px;left:50%;transform:translate(-50%);box-shadow:4px 5px #142128}.rpg-house-learn:hover,.rpg-house-learn:focus-visible{background:#ffc389}.rpg-camera button:disabled{opacity:.62;cursor:default}@media (max-width:700px){.learning-house-grid{grid-template-columns:1fr}.learning-house-console{min-height:280px}.rpg-touch-jump{display:block}.rpg-camera{bottom:190px!important}.rpg-world-prompt{max-width:calc(100% - 170px)}}.rpg-talent-grid>div{background:#1c3037;border:1px solid #526466;padding:15px}.rpg-talent-grid h3{margin:0 0 12px}.rpg-talent-grid button{text-align:left;background:#14272d;border:1px solid #526466;align-items:center;gap:10px;width:100%;margin:6px 0;padding:10px;font-size:12px;display:flex}.rpg-talent-grid button span{color:#ffae68;font:700 13px Space Mono,monospace}.rpg-requirement{color:#ffd098!important}.rpg-item-list button span{flex:1}.rpg-shop-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.rpg-shop-grid>div{background:#203039;border:1px solid #607076;flex-direction:column;gap:8px;padding:14px;display:flex}.rpg-shop-grid>div>span{color:#ffb361;font-size:23px}.rpg-shop-grid small{color:#aabdbd;font:10px Space Mono,monospace}.rpg-shop-grid button{color:#ffc48e;background:#35291f;border:1px solid #bc7643;padding:8px;font:10px Space Mono,monospace}.rpg-quarter-trophies{flex-wrap:wrap;gap:12px;display:flex}.rpg-quarter-trophies span{background:#263943;border:1px solid #677c7f;padding:12px}.rpg-setting{text-align:left;background:#1c3138;border:1px solid #50656a;align-items:center;gap:12px;width:100%;margin:9px 0;padding:12px;display:flex}.rpg-setting svg{color:#ff9e55}.rpg-character-switch{margin-bottom:20px}.rpg-character-switch button.active{border-color:#ff8c42}.rpg-modal.account .account-grid{grid-template-columns:1fr}.rpg-terminal-panel{color:#eee8dd;background:#10191f;border:2px solid #ff7830;flex-direction:column;width:min(1100px,100%);height:min(85dvh,760px);display:flex;box-shadow:0 25px 90px #000d}.rpg-music-credit{color:#bdd0cf;margin:0 0 16px;font-size:12px;line-height:1.5}.rpg-music-credit a{color:#ffae68;text-underline-offset:2px;text-decoration:underline}.terminal-touch-bar,.learning-house-mobile-tabs{display:none}.rpg-terminal-header{background:#243139;border-bottom:1px solid #705540;align-items:center;gap:16px;padding:15px 20px;display:flex}.rpg-terminal-header>button{background:#2e2925;border:1px solid #875b3c;place-items:center;padding:8px;display:grid}.rpg-terminal-header h2{margin:3px 0;font-size:23px}.rpg-terminal-header .badge{white-space:nowrap;margin-left:auto}.rpg-terminal-story{margin:10px 20px 7px;font-size:12px}.rpg-phase-list{gap:8px;padding:4px 20px 12px;display:flex;overflow:auto}.rpg-phase-list div{color:#aab9b9;background:#1a282d;border:1px solid #49545a;flex:1;align-items:center;gap:8px;min-width:180px;padding:8px;font-size:11px;display:flex}.rpg-phase-list div.active{color:#ffe2c7;border-color:#ff873b}.rpg-phase-list div.solved{color:#b9dec3;border-color:#78ac8f}.rpg-phase-list span{color:#ffad70;font:10px Space Mono,monospace}.rpg-terminal-body{color:#ddf1d9;background:#0b141a;flex:1;padding:18px 22px;font:13px/1.6 Space Mono,monospace;overflow:auto}.rpg-terminal-body p{color:#a1bbb4;font-size:11px}.rpg-terminal-body pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#ffbd87;font:inherit;margin:5px 0 12px}.rpg-terminal-error{color:#ffc1aa;background:#522c27;margin:0;padding:9px 20px;font-size:12px}.rpg-terminal-panel form{color:#ff9d59;border-top:1px solid #665043;align-items:center;gap:10px;padding:15px 20px;font:12px Space Mono,monospace;display:flex}.rpg-terminal-panel form input{color:#ffd3a8;background:0 0;border:0;flex:1;min-width:0;font:13px Space Mono,monospace}.rpg-terminal-panel form button{color:#161b1d;background:#ff6b00;border:0;padding:6px 12px}.rpg-onboarding{background:radial-gradient(circle at 75% 25%,#5c3926,#152e32 40%,#0b161e 80%);align-content:center;gap:28px;min-height:100dvh;padding:clamp(24px,6vw,85px);display:grid;position:relative;overflow:auto}.rpg-onboarding:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#ff6b0022 0 24px,#0000 24px 42px);width:38vw;height:38vw;position:absolute;top:4vh;right:-9vw;transform:rotate(25deg)}.rpg-onboarding-copy,.rpg-class-grid,.rpg-existing,.rpg-onboarding-footer{z-index:1;width:100%;max-width:1200px;margin-inline:auto;position:relative}.rpg-onboarding-copy h1{max-width:820px;margin:15px 0;font-size:clamp(32px,5vw,67px);line-height:1.02}.rpg-onboarding-copy p{color:#ced8d2;max-width:660px}.rpg-onboarding-copy label{color:#ffb47b;flex-direction:column;gap:5px;margin-right:12px;font-size:12px;display:inline-flex}.rpg-onboarding-copy input,.rpg-onboarding-copy select{color:#f4eee4;background:#18282f;border:1px solid #9e6a48;min-width:185px;padding:9px}.rpg-class-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.rpg-class-card{text-align:left;color:#f6ecdf;background:#132832e8;border:1px solid #727972;flex-direction:column;align-items:flex-start;min-height:252px;padding:22px;display:flex;box-shadow:6px 6px #07171b}.rpg-class-card:hover,.rpg-class-card:focus-visible{border-color:#ff863d;transform:translateY(-3px)}.rpg-class-icon{color:#ff8741;font-size:40px;line-height:1}.rpg-class-card small{color:#ffbc88;margin:12px 0 5px;font:10px Space Mono,monospace}.rpg-class-card strong{font-size:25px}.rpg-class-card p{color:#becbc9;flex:1;font-size:13px}.rpg-class-card>span:last-child{color:#ffae72;font:11px Space Mono,monospace}.rpg-class-card.engineer{background:#1e3032e8}.rpg-class-card.guardian{background:#263035e8}.rpg-existing{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rpg-existing h2{margin-right:8px;font-size:16px}.rpg-existing button,.rpg-onboarding-footer button{background:#19313a;border:1px solid #87664f;padding:11px 15px}.rpg-existing button span{color:#ffb57f;margin-left:10px}.rpg-onboarding-footer{gap:15px;display:flex}.rpg-direct-return{z-index:110;color:#111c1d;background:#ff6b00;border:0;align-items:center;gap:7px;padding:11px 13px;font-weight:700;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:4px 4px #9e3b00}@media (max-width:1050px){.rpg-hud-actions{top:74px;right:12px}.rpg-hud-actions button{padding:9px;font-size:0}.rpg-hud-actions svg{width:19px;height:19px}.rpg-quest-hud{top:143px}.rpg-zone-title{top:90px}}@media (max-width:700px){.rpg-app{min-height:440px}.rpg-hud-top{top:9px;left:9px;right:9px}.rpg-identity{min-width:0;padding:6px}.rpg-identity strong{font-size:11px}.rpg-identity small{font-size:8px}.rpg-logo{width:27px;height:27px;font-size:18px}.rpg-hud-resources{display:none}.rpg-menu-toggle{display:grid}.rpg-hud-actions{flex-direction:column;display:none;top:52px;right:9px}.rpg-hud-actions.open{display:flex}.rpg-hud-actions button{font-size:12px}.rpg-zone-title{top:62px;left:10px}.rpg-zone-title strong{font-size:23px}.rpg-zone-title small{font-size:10px}.rpg-quest-hud{width:min(275px,70vw);padding:10px;inset:auto auto 126px 9px}.rpg-quest-hud strong{font-size:13px}.rpg-quest-hud p{margin-bottom:3px;font-size:10px}.rpg-world-prompt{white-space:normal;max-width:calc(100% - 127px);min-height:33px;padding:5px;font-size:8px;bottom:10px;left:9px;transform:none}.rpg-world-prompt button{font-size:8px}.rpg-dpad{grid-template-rows:repeat(2,31px);grid-template-columns:repeat(3,31px);bottom:9px;right:9px}.rpg-minimap{display:none}.rpg-marker{max-width:125px;padding:4px;font-size:8px}.rpg-overlay,.rpg-terminal-shade{padding:7px}.rpg-modal{width:100%;max-height:95dvh;padding:19px 15px}.rpg-map-grid,.rpg-talent-grid,.rpg-shop-grid,.rpg-class-grid{grid-template-columns:1fr}.rpg-onboarding{padding:25px 18px}.rpg-class-card{min-height:170px}.rpg-terminal-panel{height:94dvh}.rpg-terminal-header{gap:8px;padding:10px}.rpg-terminal-header h2{font-size:17px}.rpg-terminal-header .badge{font-size:8px}.rpg-terminal-story{margin:8px 10px;font-size:11px}.rpg-phase-list{padding:3px 10px 8px}.rpg-phase-list div{min-width:140px;font-size:9px}.rpg-terminal-body{padding:12px;font-size:11px}.rpg-terminal-panel form{padding:10px;font-size:9px}.rpg-terminal-panel form label{text-overflow:ellipsis;max-width:105px;overflow:hidden}.rpg-terminal-panel form input{font-size:11px}.rpg-camera{grid-template-columns:repeat(2,28px);bottom:91px;right:9px}.rpg-camera button{min-height:27px;font-size:15px}}@media (max-width:700px),(pointer:coarse){.terminal-touch-bar{scrollbar-width:thin;background:#16242a;border-top:1px solid #4b6268;flex:none;gap:6px;padding:7px 10px;display:flex;overflow-x:auto}.terminal-touch-bar button{color:#ffe0c5;white-space:nowrap;background:#283439;border:1px solid #8d623e;flex:1 0 auto;min-width:64px;min-height:44px;padding:7px 9px;font:700 13px Space Mono,monospace}.terminal-touch-bar button span{color:#ffaf78;font:9px Space Mono,monospace;display:block}.terminal-touch-bar button:active{color:#142126;background:#ff7b2a}.rpg-terminal-panel form input,.learning-house-console form input,.linux-terminal form input{outline:none;min-height:44px;font-size:16px}.rpg-terminal-panel form button,.learning-house-console form button,.linux-terminal form button{min-width:50px;min-height:44px;font-size:20px;font-weight:700}.rpg-terminal-body,.learning-house-console>div{overscroll-behavior:contain}.rpg-terminal-panel .rpg-terminal-body{min-height:0}.rpg-terminal-shade.terminal-keyboard-open .rpg-terminal-story,.rpg-terminal-shade.terminal-keyboard-open .rpg-phase-list{display:none}.rpg-terminal-shade.terminal-keyboard-open .rpg-terminal-panel{height:100%}}@media (max-width:700px){.rpg-app{min-height:0}.rpg-dpad{right:calc(9px + env(safe-area-inset-right));bottom:calc(9px + env(safe-area-inset-bottom));grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:4px}.rpg-dpad button{min-width:48px;min-height:48px;font-size:18px}.rpg-touch-jump{right:auto;left:calc(12px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));width:52px;height:52px}.rpg-camera{right:calc(9px + env(safe-area-inset-right));grid-template-columns:repeat(2,44px);bottom:calc(136px + env(safe-area-inset-bottom))!important}.rpg-camera button{min-height:42px;font-size:17px}.rpg-world-prompt{left:9px;right:9px;bottom:calc(116px + env(safe-area-inset-bottom));max-width:calc(100% - 18px);min-height:44px;padding:7px 9px;font-size:11px}.rpg-world-prompt button{min-height:36px;font-size:11px}.rpg-quest-hud{bottom:calc(180px + env(safe-area-inset-bottom));width:min(275px,68vw)}.rpg-terminal-shade,.learning-house-shade{align-items:stretch;padding:0}.rpg-terminal-panel,.pathwarden-encounter{border-width:1px;width:100%;height:100%;max-height:100%}.rpg-terminal-header{flex:none;padding:8px 10px}.rpg-terminal-header>button{min-width:44px;min-height:44px}.rpg-terminal-story{font-size:12px;line-height:1.4}.rpg-phase-list div{font-size:11px;line-height:1.35}.rpg-terminal-body{min-height:0;padding:10px 12px;font-size:13px;line-height:1.5}.rpg-terminal-body p{font-size:10px}.rpg-terminal-panel form,.learning-house-console form{padding:7px 10px calc(7px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 50px;gap:3px 8px;display:grid}.rpg-terminal-panel form label,.learning-house-console form label{color:#ffb77b;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;max-width:none;font-size:10px;overflow:hidden}.rpg-terminal-panel form input,.learning-house-console form input{background:#142329;border:1px solid #7b543b;border-radius:2px;grid-area:2/1;padding:0 8px}.rpg-terminal-panel form button,.learning-house-console form button{grid-area:2/2;padding:4px}.rpg-hint{display:none}.learning-house-shade .learning-house{width:100%;height:100%;max-height:100%;padding:14px 12px;overflow:auto}.learning-house-mobile-tabs{gap:6px;margin:10px 0;display:flex}.learning-house-mobile-tabs button{color:#f2dccd;background:#172b33;border:1px solid #71645a;flex:1;min-height:44px;font-weight:700}.learning-house-mobile-tabs button.active{color:#ffe4ce;background:#3b2c26;border-color:#ff8b42}.learning-house.mobile-tab-lesson .learning-house-console,.learning-house.mobile-tab-terminal .learning-house-lessons{display:none}.learning-house.mobile-tab-terminal{flex-direction:column;display:flex;overflow:hidden}.learning-house.mobile-tab-terminal>p,.learning-house.mobile-tab-terminal .learning-house-footer{display:none}.learning-house.mobile-tab-terminal h2{margin:6px 38px 2px 0;font-size:19px}.learning-house.mobile-tab-terminal .learning-house-grid{flex:1;min-height:0;margin:0;display:flex}.learning-house.mobile-tab-terminal .learning-house-console{flex:1;min-height:0}.learning-house.mobile-tab-terminal .learning-house-console>div{min-height:0;font-size:13px}.learning-house-console header,.learning-house-console form{flex:none}.learning-house.mobile-tab-lesson .learning-house-grid{margin-top:8px}.learning-house-lessons article button{min-height:44px}}@media (max-height:480px) and (pointer:coarse){.rpg-app{height:100dvh;min-height:0}.rpg-quest-hud,.rpg-zone-title small{display:none}.rpg-terminal-shade,.learning-house-shade{align-items:stretch;padding:0}.rpg-terminal-panel,.pathwarden-encounter{width:100%;height:100%;max-height:100%}.rpg-terminal-shade.terminal-keyboard-open .pathwarden-arena,.learning-house.mobile-tab-terminal>.eyebrow{display:none}}.learning-house-grid{min-height:0}.learning-house-console{height:460px;min-height:0;max-height:55dvh}.learning-house-console>.learning-house-output{overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden auto}.learning-house-console>.terminal-touch-bar{flex:none;min-height:0;padding:7px 10px;overflow:auto hidden}@media (max-width:700px){.learning-house.mobile-tab-terminal .learning-house-console{flex:1;height:auto;min-height:0;max-height:100%}.learning-house.mobile-tab-terminal .learning-house-console>.learning-house-output{flex:1;min-height:0;overflow-y:auto}.learning-house.mobile-tab-terminal .learning-house-console>.terminal-touch-bar{flex:none;min-height:0}}@media (prefers-reduced-motion:reduce){.rpg-class-card:hover{transform:none}}.rpg-direct{color:#f5eee6;background:#0b171e;min-height:100dvh;overflow-x:hidden}.rpg-direct-bar{background:#172b31;border-bottom:2px solid #ff6b00;justify-content:space-between;align-items:center;gap:12px;height:auto;min-height:58px;padding:14px clamp(16px,4vw,56px);display:flex}.rpg-direct-bar button{color:#fff;background:#273e42;border:1px solid #87664f;align-items:center;gap:7px;padding:9px 12px;display:flex}.rpg-direct-bar strong{color:#ffad72;font:700 13px Space Mono,monospace}.rpg-direct-content{max-width:1060px;margin:auto;padding:clamp(20px,5vw,70px)}.rpg-direct-content h1{margin:10px 0;font-size:clamp(28px,4vw,52px)}.rpg-direct-content>p{color:#c7d0cb;max-width:700px}.rpg-direct-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:9px;margin:30px 0;display:grid}.rpg-direct-list button{text-align:left;color:#eee8dc;background:#1a2e34;border:1px solid #526362;align-items:center;gap:14px;padding:15px;display:flex}.rpg-direct-list button:not(:disabled):hover{background:#263a3b;border-color:#ff883f}.rpg-direct-list button:disabled{opacity:.45}.rpg-direct-list button>span{color:#ff8f46;font-size:22px}.rpg-direct-list button div{flex:1;gap:3px;display:grid}.rpg-direct-list button small{color:#b9c9c7;font-size:11px}.rpg-direct-list button em{color:#ffb778;white-space:nowrap;font:10px Space Mono,monospace}.rpg-direct-legend{flex-wrap:wrap;gap:9px;margin:24px 0 28px;display:flex}.rpg-direct-legend span{letter-spacing:.05em;border:1px solid;align-items:center;gap:7px;padding:8px 11px;font:700 11px Space Mono,monospace;display:inline-flex}.rpg-direct-legend .learn{color:#82e5e8;background:#17373d}.rpg-direct-legend .practice{color:#e7d6b7;background:#2c3433}.rpg-direct-legend .boss{color:#ffa369;background:#3d2924}.rpg-direct-chapters{gap:28px;margin-bottom:32px;display:grid}.rpg-direct-chapter{background:linear-gradient(145deg,#162b31,#102129);border:1px solid #4b6160;padding:clamp(14px,2vw,22px);box-shadow:5px 5px #061116}.rpg-direct-chapter-head{height:auto;margin:0 0 18px;padding:0;display:block}.rpg-direct-chapter-head span{letter-spacing:.13em;color:#ff9d5e;font:700 11px Space Mono,monospace}.rpg-direct-chapter-head h2{margin:6px 0;font-size:clamp(20px,2.5vw,28px)}.rpg-direct-chapter-head p{color:#b9c9c7;max-width:760px;margin:0;font-size:13px}.rpg-direct-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.rpg-direct-card{text-align:left;color:#f6eee6;background:#1d3034;border:1px solid #667170;flex-direction:column;align-items:flex-start;gap:12px;min-height:210px;padding:15px;transition:transform .15s,border-color .15s,background .15s;display:flex}.rpg-direct-card:not(:disabled):hover,.rpg-direct-card:not(:disabled):focus-visible{border-color:#fff2db;transform:translateY(-3px);box-shadow:0 5px #081519}.rpg-direct-card:disabled{opacity:.48;cursor:not-allowed}.rpg-direct-card.learn{background:linear-gradient(145deg,#173e45,#183138);border-color:#55b9c0}.rpg-direct-card.boss{background:linear-gradient(145deg,#4d2a23,#31292a);border-color:#e57437}.rpg-direct-kind{letter-spacing:.03em;color:#e1c7aa;align-items:center;gap:6px;font:700 10px Space Mono,monospace;display:flex}.rpg-direct-card.learn .rpg-direct-kind{color:#88e7ed}.rpg-direct-card.boss .rpg-direct-kind{color:#ffab71}.rpg-direct-card strong{font-size:15px;line-height:1.25}.rpg-direct-card small{color:#c0ccca;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.rpg-direct-card em{color:#ffb776;margin-top:auto;font:700 10px Space Mono,monospace}.rpg-direct-card.learn em{color:#93e4e6}.rpg-direct-card.boss em{color:#ffb47b}@media (max-width:900px){.rpg-direct-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.rpg-direct-card{min-height:170px}.rpg-direct-card.boss{grid-column:1/-1}}@media (max-width:540px){.rpg-direct-steps{grid-template-columns:1fr}.rpg-direct-card,.rpg-direct-card.boss{grid-column:auto;min-height:132px}.rpg-direct-bar{flex-wrap:wrap}.rpg-direct-bar strong{order:-1;width:100%}}.rpg-modal.leaderboard{width:min(1100px,94vw)}.rpg-modal.leaderboard .leaderboard-wrap{max-width:none}.rpg-modal.leaderboard .leaderboard-grid{grid-template-columns:minmax(0,1fr) minmax(230px,300px)}@media (max-width:700px){.rpg-modal.leaderboard .leaderboard-grid{grid-template-columns:1fr}}.rpg-modal.account{width:min(980px,100%)}.rpg-modal.account .account-grid{grid-template-columns:minmax(235px,.7fr) minmax(0,1.3fr);align-items:start;min-height:0}@media (max-width:760px){.rpg-modal.account .account-grid{grid-template-columns:1fr}}.rpg-brand{align-items:center;gap:12px;margin-bottom:23px;display:flex}.rpg-brand img{object-fit:contain;filter:drop-shadow(0 0 16px #ff6b0055);width:82px;height:82px}.rpg-brand span{flex-direction:column;line-height:1;display:flex}.rpg-brand strong{letter-spacing:-.04em;font-size:clamp(23px,3vw,34px)}.rpg-brand em{letter-spacing:.28em;color:#ff9c57;margin-top:6px;font:700 12px Space Mono,monospace}@media (max-width:700px){.rpg-logo{width:32px;height:32px}.rpg-brand img{width:68px;height:68px}.rpg-brand{margin-bottom:18px}}.rpg-touch-stick{z-index:8;left:calc(18px + env(safe-area-inset-left));bottom:calc(17px + env(safe-area-inset-bottom));touch-action:none;-webkit-user-select:none;user-select:none;background:#10262ac9;border:2px solid #ff9d60a8;border-radius:50%;width:116px;height:116px;display:none;position:absolute;box-shadow:0 0 0 7px #0a202664,inset 0 0 24px #ff7d292d}.rpg-world.touch-controls .rpg-touch-stick{display:block}.rpg-world.touch-controls .rpg-dpad{display:none}.rpg-stick-ring{pointer-events:none;border:1px dashed #ffc48e6b;border-radius:50%;position:absolute;inset:22px}.rpg-stick-thumb{pointer-events:none;background:radial-gradient(circle at 34% 31%,#ffd5a6,#ff8f38 45%,#b34412 100%);border:3px solid #ffe3bc;border-radius:50%;width:49px;height:49px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 13px #070e12b3}.rpg-world.touch-controls .rpg-touch-jump{right:calc(19px + env(safe-area-inset-right));left:auto;bottom:calc(26px + env(safe-area-inset-bottom));border-radius:50%;place-items:center;width:62px;height:62px;font-size:26px;display:grid;box-shadow:0 0 18px #ff6b0044}.rpg-world.touch-controls .rpg-world-prompt{top:calc(132px + env(safe-area-inset-top));bottom:auto}@media (max-width:700px){.rpg-world.touch-controls .rpg-camera{bottom:calc(160px + env(safe-area-inset-bottom))!important}.rpg-world.touch-controls .rpg-world-prompt{font-size:10px}.rpg-world.touch-controls .rpg-touch-jump{right:calc(14px + env(safe-area-inset-right))}}@media (max-height:570px){.rpg-touch-stick{width:88px;height:88px}.rpg-stick-ring{inset:15px}.rpg-stick-thumb{width:40px;height:40px}.rpg-world.touch-controls .rpg-world-prompt{top:calc(94px + env(safe-area-inset-top))}.rpg-world.touch-controls .rpg-camera{bottom:calc(110px + env(safe-area-inset-bottom))!important}}@media (max-height:570px) and (pointer:coarse){.rpg-quest-hud{display:none}}.rpg-language-switch{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.rpg-language-switch button{color:#fff5ed;cursor:pointer;background:#1b1b20;border:1px solid #6a422b;border-radius:.45rem;padding:.55rem .9rem}.rpg-language-switch button.active{color:#17120e;background:#ff6b00;border-color:#ff6b00;font-weight:700}
.rpg-boss-world-hud{z-index:6;text-align:center;pointer-events:none;background:#151a21ed;border:1px solid #ff883f;width:min(410px,100% - 32px);padding:10px 14px;position:absolute;top:92px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0009}.rpg-boss-world-hud>span,.rpg-boss-world-hud small{letter-spacing:1px;color:#ffac72;font:10px Space Mono,monospace;display:block}.rpg-boss-world-hud strong{color:#fff2de;margin:2px 0 7px;font:700 19px Space Grotesk,sans-serif;display:block}.rpg-boss-world-track{background:#402b28;border:1px solid #a45631;height:7px;margin-bottom:6px}.rpg-boss-world-track span{background:linear-gradient(90deg,#a72d23,#ff6b00,#ffba58);width:100%;height:100%;display:block}.pathwarden-encounter{background:#11171d;border-color:#ff8e38;height:min(94dvh,860px)}.pathwarden-arena{isolation:isolate;background:radial-gradient(at 33% 75%,#79401f 0,#34262b 37%,#182029 75%);border-bottom:1px solid #ae6635;min-height:210px;display:flex;position:relative;overflow:hidden}.pathwarden-arena:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 39px,#ffc2700b 40px 42px),linear-gradient(#0000 35%,#060c15b3);position:absolute;inset:0}.pathwarden-arena:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 38px #ff6b0040}.pathwarden-arena-glow{filter:blur(66px);opacity:.3;background:#ff6b00;width:360px;height:150px;position:absolute;bottom:-78px;left:1%}.pathwarden-scene{z-index:1;pointer-events:none;flex:0 0 47%;min-width:240px;min-height:210px;position:relative}.pathwarden-scene canvas{display:block}.pathwarden-fallback{color:#ff6b00;text-shadow:0 0 22px #ff6b00;place-items:center;height:100%;font-size:80px;display:grid}.pathwarden-hud{z-index:2;color:#ffe8d3;text-shadow:0 2px 5px #111;flex-direction:column;flex:1;justify-content:center;min-width:0;padding:17px 28px 16px 0;display:flex;position:relative}.pathwarden-rank{color:#ffaf71;letter-spacing:2px;font:700 10px Space Mono,monospace}.pathwarden-hud strong{letter-spacing:1px;margin:5px 0 17px;font:700 clamp(20px,2.3vw,29px) Space Grotesk,sans-serif}.pathwarden-health-label{color:#ffd2a6;justify-content:space-between;font:700 11px Space Mono,monospace;display:flex}.pathwarden-health{background:#1d1519;border:2px solid #a76d48;height:17px;padding:2px;overflow:hidden;box-shadow:inset 0 0 7px #000}.pathwarden-health>span{background:linear-gradient(90deg,#a6241e,#ff6b00 54%,#ffb74f);height:100%;transition:width .65s steps(10,end);display:block;box-shadow:0 0 14px #ff6b00}.pathwarden-seals{color:#ff9d53;gap:10px;margin-top:10px;font-size:21px;line-height:1;display:flex}.pathwarden-seals>span{text-shadow:0 0 10px #ff6b00;transition:transform .4s,opacity .4s,filter .4s}.pathwarden-seals>span.broken{opacity:.35;filter:grayscale();transform:rotate(42deg)scale(.58)}.pathwarden-hud p{color:#f8c79d;margin:11px 0 0;font:10px/1.4 Space Mono,monospace}.pathwarden-arena[data-defeated=true] .pathwarden-arena-glow{animation:1.1s ease-out both pathwarden-flare}.pathwarden-arena[data-defeated=true] .pathwarden-hud strong{color:#ffba73}.pathwarden-reward{text-align:center;background:radial-gradient(circle at 50% 25%,#5d3422,#19252a 65%);border:2px solid #ff984b;box-shadow:0 0 70px #ff6b0038}.pathwarden-reward .eyebrow{display:block}.pathwarden-reward h2{color:#ffe0bd}.pathwarden-reward p{max-width:500px;margin:10px auto}.pathwarden-reward .primary{margin-top:15px}.pathwarden-reward-sigil{color:#ffd69d;background:#301d1c;border:3px solid #ff9a52;place-items:center;width:80px;height:80px;margin:20px auto 14px;font-size:36px;animation:.8s ease-out both pathwarden-trophy;display:grid;transform:rotate(45deg);box-shadow:0 0 0 7px #ff6b0020,0 0 40px #ff6b0066}.pathwarden-reward-sigil:first-letter{transform:rotate(-45deg)}.pathwarden-encounter .rpg-terminal-body{min-height:95px}.pathwarden-encounter .rpg-terminal-story{margin-top:8px}.encounter-boss-02{background:#161c21;border-color:#e7a56d}.encounter-boss-02 .pathwarden-arena{background:radial-gradient(at 30% 70%,#8c573a 0,#483b38 38%,#1b2930 83%);border-color:#bd8151}.encounter-boss-02 .pathwarden-arena:before{background:repeating-linear-gradient(0deg,#0000 0 29px,#f6b1760c 30px 32px),linear-gradient(#0000 30%,#0b1219b3)}.encounter-boss-02 .pathwarden-arena-glow{opacity:.38;background:#ff9a4d}.encounter-boss-02 .pathwarden-health>span{background:linear-gradient(90deg,#6a3026,#e97736 50%,#ffcf78);box-shadow:0 0 14px #ff9e58}.encounter-boss-02 .pathwarden-rank,.encounter-boss-02 .pathwarden-seals{color:#ffd09c}.encounter-boss-03{background:#101d28;border-color:#67dbe5}.encounter-boss-03 .pathwarden-arena{background:radial-gradient(at 34% 65%,#145f71 0,#22384c 40%,#1c182d 85%);border-color:#5dc9d5}.encounter-boss-03 .pathwarden-arena:before{background:repeating-linear-gradient(0deg,#0000 0 25px,#8cf4ee12 26px 27px),linear-gradient(#0000 28%,#080d20bd)}.encounter-boss-03 .pathwarden-arena:after{box-shadow:inset 0 0 38px #72e7ef63}.encounter-boss-03 .pathwarden-arena-glow{opacity:.42;background:#7ce6ee}.encounter-boss-03 .pathwarden-hud{color:#dcfaff}.encounter-boss-03 .pathwarden-rank,.encounter-boss-03 .pathwarden-seals,.encounter-boss-03 .pathwarden-health-label,.encounter-boss-03 .pathwarden-hud p{color:#a3f2f5}.encounter-boss-03 .pathwarden-health{background:#122631;border-color:#5bb9cb}.encounter-boss-03 .pathwarden-health>span{background:linear-gradient(90deg,#563c8e,#35b6d1 55%,#a0faff);box-shadow:0 0 14px #8cf6f6}.encounter-boss-03 .pathwarden-arena[data-defeated=true] .pathwarden-hud strong{color:#b9fcff}.rpg-loot-box{cursor:pointer;filter:drop-shadow(0 12px 17px #0009);background:0 0;border:0;width:154px;height:126px;margin:20px auto 16px;transition:transform .25s;display:block;position:relative}.rpg-loot-box:hover,.rpg-loot-box:focus-visible{transform:scale(1.07)}.rpg-loot-lid,.rpg-loot-base{border:5px solid #4a2e23;width:130px;display:block;position:absolute;left:12px;box-shadow:inset 0 0 0 5px #d48a42,inset 0 0 0 12px #88502e}.rpg-loot-lid{transform-origin:15% 90%;background:#ac6431;border-bottom:6px solid #ffc076;height:38px;transition:transform .55s;top:17px}.rpg-loot-base{background:#915229;height:64px;top:50px}.rpg-loot-base span{color:#402a22;background:#ffb347;border:4px solid #553624;place-items:center;width:38px;height:35px;margin:7px auto;font-size:24px;display:grid}.rpg-loot-box.opened .rpg-loot-lid{transform:translate(-11px,-13px)rotate(-28deg)}.rpg-loot-box.opened{filter:drop-shadow(0 0 21px #ff9b43)}.rpg-loot-result{color:#ffe4c1;justify-items:center;gap:5px;margin:8px auto 16px;display:grid}.rpg-loot-result strong{color:#ffb55d;font:700 22px Space Grotesk,sans-serif}.rpg-loot-result span{font-size:13px}.rpg-loot-result small{color:#bfa997;font-size:11px}@keyframes pathwarden-flare{0%{opacity:.2;transform:scale(.7)}35%{opacity:.85;transform:scale(1.6)}to{opacity:.15;transform:scale(1.2)}}@keyframes pathwarden-trophy{0%{opacity:0;rotate:-90deg;scale:.35}to{opacity:1;rotate:none;scale:1}}@media (max-width:700px){.rpg-boss-world-hud{width:min(350px,100% - 20px);padding:7px;top:78px}.rpg-boss-world-hud strong{font-size:15px}.rpg-boss-world-hud small{font-size:8px}.pathwarden-encounter{height:96dvh}.pathwarden-arena{min-height:145px}.pathwarden-scene{flex-basis:44%;min-width:125px;min-height:145px}.pathwarden-hud{padding:9px 9px 9px 0}.pathwarden-rank{letter-spacing:.8px;font-size:7px}.pathwarden-hud strong{margin:3px 0 9px;font-size:15px}.pathwarden-health{height:12px}.pathwarden-seals{margin-top:5px;font-size:16px}.pathwarden-hud p{margin-top:5px;font-size:7px}.pathwarden-encounter .rpg-terminal-story{font-size:10px}.pathwarden-encounter .rpg-phase-list{padding-bottom:5px}.pathwarden-encounter{height:100%;max-height:100%}.pathwarden-encounter .rpg-terminal-body{min-height:0}.pathwarden-hud p{font-size:9px}.pathwarden-health-label{font-size:10px}.pathwarden-rank{font-size:9px}}@media (pointer:coarse){.rpg-terminal-shade.terminal-keyboard-open .pathwarden-arena,.rpg-terminal-shade.terminal-keyboard-open .pathwarden-scene{min-height:90px}.rpg-terminal-shade.terminal-keyboard-open .pathwarden-hud{padding:4px 8px 4px 0}.rpg-terminal-shade.terminal-keyboard-open .pathwarden-hud strong{margin:1px 0 3px;font-size:13px}.rpg-terminal-shade.terminal-keyboard-open .pathwarden-seals,.rpg-terminal-shade.terminal-keyboard-open .pathwarden-hud p{display:none}}@media (prefers-reduced-motion:reduce){.pathwarden-health>span,.pathwarden-seals>span{transition:none}.pathwarden-arena[data-defeated=true] .pathwarden-arena-glow,.pathwarden-reward-sigil{animation:none}}
