@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2)format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff)format("woff")}:root{color:#233d34;font-synthesis:none;background:#f7f5ed;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #d89638}button{color:inherit}a{color:inherit;text-decoration:none}.topbar{background:#f7f5ed;border-bottom:1px solid #dfe1d5;justify-content:space-between;align-items:center;height:96px;padding:0 5%;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;display:flex}.brand small{letter-spacing:2px;margin-top:3px;font-size:8px;font-weight:700;display:block}.brand-mark{font-size:45px;font-weight:800;line-height:1;position:relative}.brand-mark span{color:#bc744e;font-size:16px;position:absolute;top:-7px;right:-7px}nav{align-items:center;gap:24px;height:100%;display:flex}nav button{color:#7b8276;background:0 0;border:0;height:100%;font-size:13px;position:relative}nav .active{color:#274a3d;font-weight:700}nav .active:after{content:"";background:#315d48;height:3px;position:absolute;bottom:0;left:0;right:0}.nav-dot{vertical-align:middle;background:#c88658;border-radius:50%;width:5px;height:5px;margin-left:7px;display:inline-block}.player-chip{align-items:center;gap:10px;font-size:12px;display:flex}.coin{color:#c79545}.chip-divider{background:#d9ddcd;width:1px;height:20px;margin:0 6px}.mini-avatar{background:#e4d8b9;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}main{max-width:1440px;margin:auto;padding:0 5%}.intro{justify-content:space-between;align-items:center;padding:44px 0 30px;display:flex}.eyebrow{letter-spacing:2px;color:#6b7c65;font-size:9px;font-weight:700}.eyebrow>span{background:#699073;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}h1{letter-spacing:-2px;margin:18px 0 14px;font-family:Manrope,sans-serif;font-size:clamp(32px,3.8vw,54px);font-weight:500;line-height:1.15}em{color:#467254;font-family:Georgia,serif;font-weight:400}p{color:#7d8175;font-size:13px;line-height:1.7}.intro-aside{align-items:center;gap:14px;margin-top:34px;font-size:12px;line-height:1.7;display:flex}.round-icon{border:1px solid #d9decd;border-radius:50%;place-items:center;width:45px;height:45px;font-size:22px;display:grid}.intro-aside strong{color:#6c7f68;font-weight:500}.game-shell{background:#bdd2c4;border:1px solid #d4d9c9;border-radius:14px;height:440px;position:relative;overflow:hidden;box-shadow:0 8px 30px #24372a08}.world-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.world-loading{color:#42644f;place-items:center;height:100%;display:grid}.scene-top,.scene-bottom{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;left:22px;right:22px}.scene-top{top:20px}.scene-bottom{color:#fff;font-size:10px;bottom:17px}.location-pill{color:#304b3f;background:#fbfbf0ed;border:1px solid #ffffffa6;border-radius:7px;padding:10px 15px;font-size:10px;font-weight:600}.location-pill span{color:#9fbea4;padding:0 6px}.quality-control{pointer-events:auto;background:#f9f9edeb;border-radius:7px;padding:7px 10px;font-size:10px}.quality-control select{color:#395447;background:0 0;border:0;padding-left:6px;font-size:10px}.scene-bottom>span:first-child{background:#28443bdd;border-radius:6px;padding:9px 14px}.scene-bottom b{letter-spacing:1px;font-size:9px}.scene-bottom i{background:#aab9a1;width:1px;height:10px;margin:0 10px;display:inline-block}.engine-status{letter-spacing:1px;background:#28443bc9;border-radius:6px;padding:8px 10px;font-size:8px}.engine-status span{background:#a9d9a6;border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.engine-status b{margin-left:8px}.district-card{background:#f9f7eef2;border:1px solid #ffffffb8;border-radius:10px;width:245px;padding:18px 20px;position:absolute;bottom:65px;left:23px}.district-card>span{letter-spacing:1.8px;color:#829276;font-size:8px}.district-card strong{margin-top:9px;font-family:Manrope;font-size:18px;font-weight:600;display:block}.district-card p{margin:5px 0 14px;font-size:10px}.district-card button{text-align:left;background:0 0;border:0;border-top:1px solid #dce0d1;justify-content:space-between;width:100%;padding:12px 0 0;font-size:10px;font-weight:700;display:flex}.below{grid-template-columns:1fr 1.7fr .9fr;align-items:center;gap:30px;padding:32px 0;display:grid}.featured-heading h2{letter-spacing:-.4px;margin-top:9px;font-family:Manrope;font-size:20px;font-weight:500;line-height:1.5}.course-card{text-align:left;background:#fffdf7;border:1px solid #dce0d0;border-radius:12px;align-items:center;gap:18px;padding:20px;display:flex}.course-icon{color:#4e7053;background:#e8ecd9;border-radius:8px;flex-shrink:0;place-items:center;width:52px;height:60px;font-size:30px;display:grid}.tag{letter-spacing:1.4px;color:#788c63;font-size:7px;font-weight:700}.course-card h3{margin:6px 0;font-family:Manrope;font-size:14px}.course-card p{margin:0 0 7px;font-size:10px}.course-meta{color:#7e8973;font-size:8px}.course-meta span{color:#b6bea6;margin:0 7px}.course-arrow{align-self:flex-start;margin-left:auto;font-size:20px}.preview-note{align-items:flex-start;gap:12px;display:flex}.preview-note>span{color:#8d9f75;font-size:26px}.preview-note strong{font-size:11px;font-weight:600}.preview-note p{margin-top:7px;font-size:10px}footer{color:#929b88;border-top:1px solid #dfe1d5;justify-content:space-between;align-items:center;padding:20px 0;font-size:9px;display:flex}footer>span:first-child{letter-spacing:1.7px}footer button{color:#566d51;background:0 0;border:0;font-size:9px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10;background:#11291f80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#faf8ef;border:1px solid #fff6;border-radius:20px;width:520px;max-height:90vh;padding:40px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0f241e50}.modal h2{letter-spacing:-1px;margin:16px 0;font-family:Manrope;font-size:30px;font-weight:500;line-height:1.2}.modal p{font-size:13px}.modal form>label{margin:20px 0 9px;font-size:11px;font-weight:600;display:block}.modal input{color:#304b3f;background:#fffdf6;border:1px solid #d4dbc8;border-radius:7px;width:100%;margin-top:9px;padding:13px;display:block}.outfits{gap:10px;margin:10px 0 24px;display:flex}.outfit{text-transform:capitalize;background:#f0eddf;border:1px solid #d8ddcb;border-radius:9px;flex:1;padding:12px;font-size:10px}.outfit.selected{background:#edf0e3;border:2px solid #426e51}.primary{color:#fffbed;background:#315842;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-top:16px;padding:15px 18px;font-size:12px;font-weight:600;display:flex}.modal small{color:#8d9681;margin-top:10px;font-size:9px;line-height:1.5;display:block}.close{color:#7b8875;background:0 0;border:0;font-size:26px;position:absolute;top:16px;right:20px}.detail-row{color:#6b805f;border-top:1px solid #dce2d0;border-bottom:1px solid #dce2d0;gap:12px;margin:22px 0;padding:14px 0;font-size:10px;display:flex}.objectives{color:#576f4b;padding-left:18px;font-size:12px;line-height:2}.mock-note{color:#8b7245;background:#eee8d6;border-radius:6px;margin:18px 0;padding:12px;font-size:10px;line-height:1.7}.progress-track{background:#dce3ce;border-radius:4px;height:4px;margin:25px 0 12px;overflow:hidden}.progress-track span{background:#6a8b57;height:100%;display:block}.question-count{letter-spacing:1px;color:#829273;font-size:8px}.learning h2{font-size:25px;line-height:1.4}.answers{gap:10px;margin:20px 0;display:grid}.answers button{text-align:left;background:#fffdf5;border:1px solid #d3dac7;border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:12px;display:flex}.answers button>span{border:1px solid #dae1ce;border-radius:4px;padding:5px 7px;font-size:10px}.text-button{color:#66815b;background:0 0;border:0;padding:8px 0;font-size:10px;text-decoration:underline}.help-box{background:#ecebdc;border-radius:8px;padding:12px}.result-stats{border-top:1px solid #d9dfcc;border-bottom:1px solid #d9dfcc;gap:30px;padding:18px 0;display:flex}.result-stats strong{color:#527a49;font-size:27px;display:block}.result-stats span{color:#849076;font-size:10px}.assessment-list>div{border-bottom:1px solid #e1e5d6;justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.assessment-list span{text-transform:capitalize}.assessment-list b{color:#667d58;font-weight:500}.next-route{background:#e6ecdb;border-radius:8px;margin-top:18px;padding:15px}.next-route>span{letter-spacing:1px;color:#799069;font-size:8px}.next-route strong{margin-top:7px;font-size:15px;display:block}.error-toast{z-index:20;color:#fff;background:#7c3c2c;border-radius:10px;max-width:90%;padding:15px 22px;font-size:12px;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}.error-toast button{color:#fff;background:0 0;border:0;margin-left:15px;font-size:20px}.touch-controls{z-index:3;grid-template-columns:repeat(3,34px);gap:4px;display:none;position:absolute;bottom:70px;right:20px}.touch-controls button{color:#fff;touch-action:none;background:#244a3ecc;border:1px solid #ffffff90;border-radius:6px;height:34px}@media (width<=900px){.topbar{height:76px;padding:0 5%}nav{gap:10px}nav button{font-size:11px}.intro-aside{display:none}.below{grid-template-columns:1fr 2fr}.preview-note{display:none}.game-shell{height:440px}.brand{font-size:20px}.brand small{font-size:6px}.player-chip{font-size:10px}.touch-controls{display:grid}}@media (width<=600px){nav{display:none}.topbar{height:70px}.intro{padding:28px 0 20px}h1{letter-spacing:-1.4px;font-size:34px}.intro p{font-size:11px}.game-shell{height:400px}.scene-top{top:10px;left:10px;right:10px}.location-pill{padding:8px;font-size:8px}.location-pill span{display:none}.quality-control{padding:7px 5px;font-size:0}.quality-control select{font-size:8px}.district-card{width:205px;padding:14px;bottom:60px;left:12px}.district-card strong{font-size:16px}.scene-bottom{font-size:8px;left:10px;right:10px}.scene-bottom i{display:none}.scene-bottom>span:first-child{max-width:220px;font-size:8px}.below{grid-template-columns:1fr;gap:10px;padding:22px 0}.featured-heading h2{margin:8px 0;font-size:17px}.course-card{padding:16px}.course-card h3{font-size:13px}footer>span:nth-child(2){display:none}.modal{max-height:92vh;padding:28px}.modal-backdrop{padding:15px}.modal h2{font-size:26px}.detail-row{gap:8px;font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}:root{color:#f9eedb;--hud:#202f32e8;--line:#d6b67e70;--gold:#f4c66b;--safe:24px;--hud-shadow:0 8px 24px #16282830, inset 0 1px #ffffff12;background:#162b29}html,body,#root,.app,.app main{width:100%;height:100%;margin:0;overflow:hidden}.app main{max-width:none;padding:0;position:relative}.intro,.below,footer{display:none}.game-shell{background:#96b5bd;border:0;border-radius:0;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.world-canvas{touch-action:none;width:100%;height:100%;display:block}.topbar{z-index:5;pointer-events:none;background:0 0;border:0;height:100%;padding:0;display:block;position:fixed;inset:0}.topbar button,.topbar a,.topbar select{pointer-events:auto}.topbar .brand{left:var(--safe);bottom:var(--safe);color:#fff2d6;text-shadow:0 2px 6px #162b29;gap:9px;font-size:18px;position:absolute}.topbar .brand-mark{font-size:32px}.topbar .brand small{letter-spacing:1.7px;font-size:6px}.player-chip{left:var(--safe);top:var(--safe);background:var(--hud);color:#fff5e6;width:225px;height:78px;box-shadow:var(--hud-shadow);border:1px solid #d8d4c043;border-radius:40px 16px 16px 40px;align-items:center;gap:12px;padding:8px 15px 8px 8px;display:flex;position:absolute}.mini-avatar{object-fit:cover;background:#39575b;border:3px solid #52b5c4;border-radius:50%;flex:none;width:62px;height:62px;margin:0}.player-chip strong{font-size:14px;line-height:1.5;display:block}.player-chip small{color:#ccdbd5;margin-top:1px;font-size:10px;display:block}.profile-progress{background:#0c2529;border-radius:4px;width:116px;height:6px;margin-top:7px;display:block;overflow:hidden}.profile-progress i{background:var(--gold);border-radius:4px;height:100%;display:block}.skills-hud{color:#fff3dc;gap:17px;display:flex;position:absolute;top:24px;left:275px}.skill-category{text-align:center;width:64px}.skill-category small{white-space:nowrap;text-shadow:0 1px 3px #142628,0 0 8px #142628;margin-top:6px;font-size:10px;font-weight:700;display:block}.skill-hex{clip-path:polygon(50% 0,95% 25%,95% 75%,50% 100%,5% 75%,5% 25%);filter:drop-shadow(0 2px 5px #172c2b50);background:#f5c567;place-items:center;width:45px;height:49px;margin:auto;padding:2px;display:grid}.skill-hex svg{width:39px;height:43px;clip-path:inherit;color:#f5c567;background:#273d44;padding:8px}.tech .skill-hex{background:#6abfc3}.tech .skill-hex svg{color:#6abfc3}.chat .skill-hex{background:#e593a0}.chat .skill-hex svg{color:#e593a0}.district-map{top:17px;right:var(--safe);filter:drop-shadow(0 4px 8px #1b383b50);width:144px;height:144px;position:absolute}.district-map svg{background:#293e40;border-radius:50%;width:100%;height:100%;display:block}.district-map small{text-align:center;color:#eff3e4;letter-spacing:1.5px;text-shadow:0 1px 3px #213c3e,0 0 5px #213c3e;margin-top:8px;font-size:8px;display:block}.points-chip{background:var(--hud);color:#fff2d7;min-width:95px;height:42px;box-shadow:var(--hud-shadow);border:1px solid #d8d4c043;border-radius:30px;align-items:center;gap:9px;padding:8px 14px;font-size:14px;display:flex;position:absolute;top:32px;right:190px}.points-chip svg{color:var(--gold);fill:#ad813a50}.points-chip span{color:#c9d2c9;font-size:9px}.topbar nav{right:var(--safe);bottom:var(--safe);background:var(--hud);border:1px solid var(--line);border-radius:9px;gap:3px;height:39px;padding:4px;display:flex;position:absolute;top:auto;left:auto;transform:none}.topbar nav button{color:#fff1d6;border-radius:5px;justify-content:center;align-items:center;gap:7px;height:29px;padding:0 14px;font-size:11px;display:flex}.topbar nav .active{color:#203839;background:#f0c16a}.topbar nav .active:after{display:none}.scene-top{left:var(--safe);z-index:4;align-items:center;gap:10px;display:flex;position:absolute;top:auto;bottom:79px;right:auto}.location-pill{background:var(--hud);color:#e6f0e6;letter-spacing:.3px;border:1px solid #d8d4c043;padding:9px 12px;font-size:9px}.quality-control{right:var(--safe);background:var(--hud);color:#e7ede2;pointer-events:auto;border:1px solid #d8d4c043;padding:8px 10px;font-size:9px;position:fixed;bottom:79px}.quality-control select{color:#f6eedc;background:0 0;font-size:9px}.quality-control option{color:#263b37;background:#fbf1db}.scene-bottom{left:50%;bottom:var(--safe);white-space:nowrap;z-index:4;color:#eaf0e1;align-items:center;gap:9px;font-size:9px;display:flex;position:absolute;right:auto;transform:translate(-50%)}.scene-bottom>span:first-child{background:var(--hud);border:1px solid #d8d4c043;border-radius:8px;align-items:center;gap:10px;padding:10px 13px;display:flex}.keyboard-hint{gap:3px;display:flex}.keyboard-hint kbd{color:#f8e8c5;border:1px solid #e6d5ab70;border-bottom-width:2px;border-radius:4px;place-items:center;width:17px;height:19px;font:600 9px DM Sans,sans-serif;display:grid}.scene-bottom i{background:#a8b9ac55;height:12px}.scene-bottom b{color:#f4e6c3;font-size:9px}.engine-status{background:var(--hud);border:1px solid #d8d4c043;border-radius:8px;gap:6px;padding:10px;font-size:8px;display:flex;position:static}.engine-status b{font-size:8px}.engine-status.slow>span{background:#f4c66b}.course-entry{z-index:4;color:#253c3b;background:linear-gradient(#ffd67e,#efb54b);border:1px solid #ffdf96;border-radius:14px;justify-content:center;align-items:center;gap:16px;height:46px;font-size:14px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 14px #122f3e3a}.course-entry:hover{background:#ffda85}.course-entry:focus-visible{outline-offset:4px;outline:3px solid #fff}.touch-controls{left:var(--safe);z-index:5;grid-template-columns:repeat(3,43px);gap:5px;position:absolute;bottom:136px;right:auto}.touch-controls button{background:var(--hud);border:1px solid var(--line);color:#ffe8b8;touch-action:none;border-radius:9px;height:43px;font-size:20px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0924268c}.modal{color:#fff0d5;border:1px solid var(--line);background:linear-gradient(145deg,#283a3a,#192b2eea);border-radius:18px;box-shadow:0 30px 100px #051b2370}.modal h2{letter-spacing:-.7px;font-family:Manrope,sans-serif;font-weight:700}.modal .eyebrow{color:#f3c472}.modal em{color:#f1c67c}.modal p{color:#cbd8ce}.modal small{color:#adc2b7}.modal input{color:#fff0d4;background:#172e32;border-color:#b6c6b05c}.modal input::placeholder{color:#9daea8}.modal .primary{color:#203839;background:linear-gradient(#ffda86,#efb853);border:1px solid #ffe4a5}.modal .primary svg{margin-left:auto}.close{color:#f4ddb8}.detail-row{color:#e5d3a3;border-color:#647b70}.objectives{color:#e1e6ca}.mock-note{color:#dfd2a7;background:#3d5139}.answers button{color:#f8e9c7;background:#284b45;border-color:#839884}.answers .chosen{background:#536b43;border-color:#e5bd76}.answers button>span{border-color:#789d8a}.text-button{color:#e9c78e}.help-box,.next-route{background:#355348}.next-route>span,.next-route strong{color:#f6e0ad}.assessment-list>div,.result-stats{border-color:#69826a}.assessment-list b,.result-stats strong{color:#efc678}.question-count{color:#d8c592}.character-creation{pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#17272c88,#0000 43% 75%,#16292b44);justify-content:flex-start;align-items:flex-start;padding:142px 32px 28px}.character-creation .welcome{pointer-events:auto;width:370px;max-height:calc(100dvh - 170px);box-shadow:var(--hud-shadow);background:linear-gradient(145deg,#253538f2,#17292cf2);border-radius:18px;margin:0;padding:24px}.welcome h2{margin:9px 0;font-size:26px;line-height:1.3}.welcome p{margin:0 0 20px;font-size:13px;line-height:1.6}.welcome form>label{color:#f7e8cb;font-size:12px;font-weight:700}.welcome input{height:44px;margin:10px 0 22px;padding:0 12px;font-size:13px}.welcome .primary{border-radius:11px;margin-top:18px;padding:14px 16px;font-size:14px}.welcome form>small{margin:13px 0 0;font-size:10px;line-height:1.5;display:block}.creation-heading{color:#f7f1e1;filter:drop-shadow(0 2px 4px #102830aa);align-items:center;gap:17px;display:flex;position:absolute;top:27px;left:32px}.creation-heading>svg{color:var(--gold)}.creation-heading h1{letter-spacing:1px;margin:0;font-size:42px;font-weight:800}.creation-heading h1 span{color:var(--gold)}.creation-heading p{margin:5px 0 0;font-size:15px}.creation-points{border:1px solid var(--line);width:284px;box-shadow:var(--hud-shadow);background:#1e3034ed;border-radius:18px;padding:23px;position:absolute;bottom:130px;right:32px}.creation-points h3{text-transform:uppercase;align-items:center;gap:9px;margin:0 0 20px;font-size:15px;display:flex}.creation-points h3 svg{color:var(--gold)}.creation-points>strong{color:var(--gold);background:#314343;border-radius:12px;align-items:center;gap:12px;padding:13px;font-size:27px;display:flex}.creation-points strong small{color:#e5e8d7;margin-left:auto;font-size:11px;font-weight:400}.creation-points p{color:#cbd8ce;font-size:12px;line-height:1.7}.creation-points>div{color:#a8bfb1;align-items:center;gap:11px;font-size:11px;line-height:1.6;display:flex}.creation-points>div svg{color:#edc377;flex:none}.first-adventure{border-top:1px solid #bacbbc32;padding-top:16px}.adventure-icon{background:#345955;border:1px solid #93c5bb48;border-radius:10px;flex:none;place-items:center;width:48px;height:54px;display:grid}.first-adventure small,.first-adventure b,.first-adventure span>span{display:block}.first-adventure small{letter-spacing:1.3px;color:#d1bc84;font-size:8px}.first-adventure b{color:#f8eccc;margin:2px 0;font-size:15px}.first-adventure span>span{font-size:10px;line-height:1.4}.step-number{color:#203736;background:#add5ca;border-radius:50%;place-items:center;width:21px;height:21px;margin-right:7px;font-size:12px;display:inline-grid}.free-label{float:right;color:#aad7c8;letter-spacing:1.2px;margin-top:5px;font-size:9px}.creation-step input{display:block}.outfits{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0;display:grid}.outfit{color:#d8dcca;text-transform:capitalize;background:linear-gradient(#4a5d5b,#2e4446);border:1px solid #8a9c9350;border-radius:9px;min-width:0;padding:0 3px 11px;font-size:11px;position:relative;overflow:hidden}.outfit img{object-fit:contain;width:100%;height:164px;margin:3px auto 6px;display:block}.outfit.selected{border:2px solid var(--gold);color:#fff0d3;background:linear-gradient(#4c5d5a,#365a50);padding:0 2px 10px}.outfit:hover{background:#3d5859}.outfit-name{color:#f5eddb;white-space:nowrap;margin:0;font-size:13px;line-height:1.3;display:block}.outfit-check{background:var(--gold);color:#263b35;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 1px 5px #14333040}.creating-character .topbar,.creating-character .scene-top,.creating-character .scene-bottom,.creating-character .course-entry,.creating-character .touch-controls{visibility:hidden}.world-loading{color:#f5ead3;background:#476663;place-items:center;height:100%;display:grid}@media (width<=1100px){.skills-hud{gap:10px;left:257px}.skill-category{width:50px}.skill-category small{font-size:8px}.points-chip{right:177px}.district-map{width:129px;height:129px}.scene-bottom>span:first-child{gap:6px;font-size:8px}.scene-bottom{left:45%}.creation-points{width:209px;padding:18px;right:22px}.character-creation{padding-left:22px}.character-creation .welcome{width:305px}.creation-heading{left:22px}.creation-heading h1{font-size:34px}}@media (width<=900px){.skills-hud{gap:5px}.skill-category{width:40px}.skill-hex{width:33px;height:36px}.skill-hex svg{width:29px;height:32px;padding:5px}.skill-category small{font-size:7px}.points-chip span{display:none}.points-chip{min-width:60px;padding:7px 10px;top:27px;right:143px}.district-map{width:99px;height:99px}.creation-points{display:none}.scene-bottom{left:var(--safe);bottom:76px;transform:none}.scene-top{bottom:var(--safe);left:220px}.location-pill{display:none}.quality-control{bottom:var(--safe);right:var(--safe)}.topbar nav{bottom:70px}.topbar nav button{padding:0 10px;font-size:10px}}@media (width<=600px){:root{--safe:14px}.player-chip{border-radius:35px 12px 12px 35px;gap:8px;width:171px;height:61px;padding:5px 10px 5px 5px}.mini-avatar{width:48px;height:48px}.player-chip strong{font-size:12px}.player-chip small{font-size:8px}.profile-progress{width:93px;height:5px;margin-top:5px}.skills-hud{display:none}.district-map{width:77px;height:77px;top:13px}.district-map small{display:none}.points-chip{gap:5px;min-width:53px;height:32px;padding:5px 8px;font-size:11px;top:20px;right:100px}.points-chip svg{width:20px;height:20px}.topbar .brand{font-size:14px;bottom:15px}.topbar .brand-mark{font-size:27px}.topbar .brand small{display:none}.topbar nav{right:var(--safe);height:33px;bottom:65px}.topbar nav button{height:23px;padding:0 9px;font-size:9px}.topbar nav button svg{display:none}.scene-bottom{bottom:109px;left:auto;right:var(--safe);font-size:7px;transform:none}.scene-bottom>span:first-child{display:none}.engine-status{padding:7px;font-size:6px}.engine-status b{font-size:7px}.quality-control{padding:8px;font-size:8px;bottom:14px}.quality-control select{font-size:8px}.touch-controls{grid-template-columns:repeat(3,40px);gap:4px;bottom:74px;left:14px}.touch-controls button{height:40px;font-size:18px}.course-entry{gap:10px;min-width:124px;height:35px;font-size:11px}.course-entry svg{width:15px}.creation-heading{gap:10px;top:20px;left:16px}.creation-heading h1{letter-spacing:.5px;font-size:22px}.creation-heading>svg{width:28px}.creation-heading p{font-size:11px}.character-creation{background:linear-gradient(#0000 30%,#1b2e3299);align-items:flex-end;padding:0 13px 13px}.character-creation .welcome{border-radius:15px;width:100%;max-height:43dvh;margin:0;padding:15px 17px;overflow:auto}.welcome .step-number{width:18px;height:18px;margin-right:5px;font-size:10px}.welcome .free-label{margin-top:3px;font-size:8px}.welcome h2{margin:5px 0;font-size:20px}.welcome>.eyebrow{font-size:7px}.welcome>p{display:none}.welcome input{height:34px;margin:5px 0 7px;font-size:11px}.welcome form>label{font-size:10px}.outfits{gap:9px;margin:7px 0 0}.outfit img{height:66px;margin:1px auto 2px}.outfit{padding-bottom:5px;font-size:9px}.outfit.selected{padding-bottom:4px}.outfit-name{font-size:12px}.outfit-check{width:16px;height:16px;top:5px;right:5px}.welcome .primary{z-index:1;margin-top:9px;padding:10px 12px;font-size:11px;position:sticky;bottom:0}.welcome form>small{display:none}.modal{max-width:calc(100vw - 24px);max-height:89dvh}}@media (height<=650px) and (width>=601px){.character-creation{padding-top:86px}.creation-heading{top:15px}.creation-heading h1{font-size:23px}.creation-heading p{font-size:12px}.character-creation .welcome{max-height:calc(100dvh - 106px);margin-top:0;padding:16px;overflow:auto}.welcome h2{font-size:22px}.welcome p{margin-bottom:8px}.outfit img{height:95px}.creation-points{bottom:30px}.welcome form>small{display:none}}@media (width>=601px) and (width<=740px){.skills-hud{display:none}}@media (width>=601px) and (width<=720px){.character-creation{background:linear-gradient(#0000 30%,#1b2e3299);align-items:flex-end;padding:0 22px 20px}.character-creation .welcome{border-radius:15px;width:100%;max-width:none;max-height:43dvh;margin:0;padding:16px 20px}.welcome h2{margin:6px 0;font-size:22px}.welcome>.eyebrow{font-size:8px}.welcome>p,.welcome form>small{display:none}.welcome input{height:36px;margin:7px 0 12px}.welcome .outfits{margin-top:8px}.welcome .outfit img{height:66px;margin:1px auto 2px}.welcome .outfit{padding-bottom:6px}.welcome .outfit.selected{padding-bottom:5px}.welcome .primary{z-index:1;margin-top:9px;padding:11px 14px;font-size:13px;position:sticky;bottom:0}.scene-bottom{left:auto;right:var(--safe);bottom:120px}.scene-bottom>span:first-child{display:none}}.player-chip>div{flex:1;min-width:0}.character-creation .account-gate{overflow-y:auto}.account-gate input,.account-settings input{width:100%;font-size:16px;display:block}.account-gate input{margin:5px 0 12px}.account-gate label{display:block}.account-tabs{gap:8px;margin-bottom:14px;display:flex}.account-tabs button{color:inherit;background:#ffffff0c;border:1px solid #fff2;border-radius:8px;flex:1;padding:9px}.account-tabs button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.account-link{color:var(--gold);background:0 0;border:0;margin-top:12px;padding:5px 0;font-size:12px;display:block}.account-link:disabled{opacity:.55;cursor:default}.account-error{color:#ffb6a4;margin-top:12px!important}.account-menu-button{color:var(--gold);background:0 0;border:0;flex-shrink:0;padding:3px;font-size:20px}.account-settings{z-index:100;pointer-events:auto;position:fixed;inset:0}.account-settings .modal{width:min(420px,100vw - 28px)}.account-email{overflow-wrap:anywhere}@media (width<=600px){.character-creation .account-gate{max-height:60dvh}.account-gate .outfits{margin-top:6px}}.player-chip strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-progress{width:100%}@media (width<=360px){.player-chip{gap:7px;width:146px}.mini-avatar{width:40px;height:40px}.player-chip strong{font-size:11px}.player-chip small{font-size:7px}}@media (width<=600px){.topbar nav button{padding:0 5px;font-size:8px}}.course-overlay{z-index:30;color:#faefd8;background:#172d30;position:fixed;inset:0;overflow:auto}.course-bar{border-bottom:1px solid #e8cb8c30;justify-content:space-between;align-items:center;gap:16px;padding:22px 32px;display:flex}.course-bar h1{margin:5px 0 0;font-size:24px}.course-secondary{color:#f9e7c6;cursor:pointer;background:#294349;border:1px solid #a9c4b34a;border-radius:8px;padding:10px 15px}.adventure-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.9fr);min-height:calc(100vh - 100px);display:grid}.adventure-world{height:calc(100vh - 102px);min-height:350px;position:sticky;top:0}.course-scene{touch-action:none;width:100%;height:100%;min-height:240px;display:block}.adventure-scene-label{background:#183031dd;border:1px solid #e7c78950;border-radius:8px;max-width:calc(100% - 48px);padding:12px 16px;position:absolute;top:22px;left:24px}.adventure-scene-label span{text-transform:capitalize;font-weight:700;display:block}.adventure-scene-label small{max-width:270px;margin-top:4px;display:block}.adventure-milestones{background:#172f32eb;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px;font-size:12px;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.adventure-content{min-width:0;padding:32px}.adventure-content h2{color:#fff0d4;font-size:26px;line-height:1.4}.adventure-content .answers{gap:12px}.course-task-actions{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.course-task-actions .primary{width:auto;margin:0}.course-error{background:#5d3633;border:1px solid #e69177;border-radius:8px;padding:15px}.course-error button{margin:8px 0 0;display:block}.adventure-resources{border-top:1px solid #e7c58a30;margin-top:30px;padding-top:14px}.adventure-resources details{border:1px solid #b7d2c730;border-radius:10px;margin-top:10px;padding:14px}.adventure-resources summary{cursor:pointer;font-weight:600}.adventure-resources summary span{color:#b3d2c2;margin-left:8px;font-size:11px}.adventure-resources pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#ded8c8;font:13px/1.65 DM Sans,sans-serif}.adventure-resources a{color:#f0c778;overflow-wrap:anywhere;padding:5px 0;display:block}.adventure-resources small{margin-top:8px;display:block}.adventure-celebration{text-align:center;padding:30px 0}.celebration-mark{color:#efc570;font-size:70px;display:block}.adventure-celebration strong{color:#efc570;margin:20px;font-size:24px;display:block}.retry-note{background:#aa7e3533;border-radius:8px;padding:12px}.course-directory{z-index:25;background:#162d30f7;position:fixed;inset:0;overflow:auto}.course-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1100px;margin:auto;padding:28px 32px;display:grid}.directory-card{background:#263e42;border:1px solid #f5c88240;border-radius:14px;padding:22px}.directory-card h2{font-size:21px}.directory-card p{color:#d2dacc;line-height:1.6}.directory-card .course-secondary{margin:12px 0 0}.directory-pagination{justify-content:center;align-items:center;gap:18px;padding:20px;display:flex}.directory-empty{text-align:center;padding:30px}.course-house-heading{text-transform:none}.topbar nav button.tutor-toggle{color:#efc575}@media (width>=901px){.scene-bottom{left:calc(var(--safe) + 190px);transform:none}}@media (width>=601px) and (width<=1200px){.scene-bottom>span:first-child{display:none}}@media (width<=720px){.course-bar{align-items:flex-start;padding:16px}.course-bar h1{font-size:19px}.course-bar button{padding:9px;font-size:11px}.adventure-grid{grid-template-columns:minmax(0,1fr)}.adventure-world{height:280px;min-height:0;position:relative}.adventure-content{padding:22px 16px}.adventure-content h2{font-size:21px}.course-directory-grid{grid-template-columns:minmax(0,1fr);padding:16px}.adventure-scene-label{max-width:calc(100% - 24px);padding:8px 12px;top:12px;left:12px}.adventure-scene-label small{font-size:10px}.adventure-milestones{padding:10px;font-size:10px;bottom:10px;left:12px;right:12px}.topbar nav{max-width:calc(100vw - 20px)}.topbar nav button{padding-left:7px;padding-right:7px}}@media (width<=600px){.touch-controls{bottom:118px}}.course-adventure .course-bar{z-index:3;background:#14292de8;padding:12px 24px;position:relative}.course-adventure .adventure-grid{min-height:calc(100dvh - 82px);display:block;position:relative}.course-adventure .adventure-world{height:100%;min-height:100%;position:absolute;inset:0}.course-adventure .adventure-content{z-index:2;background:linear-gradient(90deg,#12292ed9,#12292ef5);width:min(440px,42%);min-height:calc(100dvh - 82px);margin-left:auto;padding:22px;position:relative}.course-adventure .adventure-content h2{font-size:22px}.course-adventure .adventure-content .answers{gap:7px}.course-adventure .adventure-scene-label{max-width:35%}.course-adventure .adventure-milestones{right:46%}.adventure-timer{color:#ffd077;background:#182f32e8;border:1px solid #eac57880;border-radius:12px;padding:12px 20px;font-size:30px;font-weight:800;position:absolute;top:122px;left:25px}.adventure-timer small{text-transform:uppercase;font-size:11px;display:block}.adventure-task-meter{background:#182f32e8;border-radius:10px;padding:12px;position:absolute;top:220px;left:25px}.adventure-task-meter progress{accent-color:#e8b767;width:130px;margin-top:8px;display:block}.game-controls{flex-wrap:wrap;align-items:center;gap:9px;margin:12px 0;font-size:12px;display:flex}.game-controls label{align-items:center;gap:5px;display:flex}.game-controls select{color:#fce5b5;background:#203b40;border:1px solid #f1d18c70;border-radius:6px;padding:6px}.game-controls input{width:auto}.earned-badge{color:#ffdb87}.wardrobe-shop{background:#233e42;border:1px solid #e1bd7950;border-radius:16px;max-width:1000px;margin:24px auto;padding:22px}.shop-gear{flex-wrap:wrap;gap:16px;display:flex}.shop-gear article{background:#192f33;border-radius:12px;flex:1;min-width:180px;padding:18px}.gear-swatch{border:2px solid #edd09a;border-radius:16px;width:52px;height:52px;display:inline-block}@media (width<=720px){.course-adventure .adventure-grid{padding-top:260px}.course-adventure .adventure-world{height:260px;min-height:260px;position:absolute;top:0}.course-adventure .adventure-content{background:#162e32;width:100%;min-height:0;margin:0;padding:18px}.course-adventure .adventure-scene-label{max-width:48%}.course-adventure .adventure-milestones{bottom:8px;right:12px}.adventure-timer{padding:8px 12px;font-size:23px;top:12px;left:auto;right:12px}.adventure-task-meter{padding:8px;font-size:11px;top:95px;left:auto;right:12px}.adventure-task-meter progress{width:95px}}
