:root{color-scheme:light;--ink: #17213d;--muted: #64708a;--paper: #fffdf8;--cream: #f5efe2;--line: #e4dacb;--blue: #2f65d9;--blue-dark: #214ca9;--blue-soft: #eaf0ff;--yellow: #f7bd4c;--yellow-soft: #fff3d4;--green: #238a66;--green-soft: #e7f7ef;--coral: #e56f5f;--coral-soft: #fff0ed;--shadow: 0 18px 50px rgba(40, 54, 91, .12);font-family:Trebuchet MS,Avenir Next,sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--cream)}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 5% 4%,rgba(247,189,76,.24),transparent 22rem),radial-gradient(circle at 95% 16%,rgba(47,101,217,.13),transparent 24rem),var(--cream)}button,a,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid rgba(47,101,217,.34);outline-offset:3px}.page-shell{width:min(1240px,calc(100% - 32px));min-height:100vh;margin:0 auto;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 18px}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:14px 14px 14px 4px;color:var(--blue);background:var(--yellow);font-size:1.45rem;font-weight:900;transform:rotate(-7deg)}.brand strong,.brand small{display:block}.brand strong{font-size:1.05rem;letter-spacing:-.02em}.brand small{margin-top:2px;color:var(--muted);font-size:.75rem}.header-actions{display:flex;align-items:center;gap:12px}.progress-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fffdf8c7;font-size:.82rem;font-weight:700}.progress-dot{width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px var(--yellow-soft)}.button{min-height:44px;padding:10px 17px;border:2px solid transparent;border-radius:13px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--blue);box-shadow:0 9px 18px #2f65d938}.button-primary:hover{background:var(--blue-dark)}.button-secondary{color:var(--ink);border-color:var(--line);background:var(--paper)}.button-secondary:hover{border-color:var(--blue)}.button-quiet{min-height:38px;padding:7px 12px;color:var(--muted);background:transparent}.button-quiet:hover{color:var(--ink);background:#ffffff8c}main{flex:1;padding:12px 0 42px}.world-shell{position:relative;min-height:min(72vh,700px);overflow:hidden;border:1px solid rgba(65,81,115,.18);border-radius:30px;background:#bad8e8;box-shadow:var(--shadow)}.world-canvas,.world-canvas canvas{position:absolute;inset:0;width:100%;height:100%}.world-canvas canvas{display:block;touch-action:none}.world-labels{position:absolute;inset:0;pointer-events:none}.world-label{position:absolute;padding:6px 10px;border:2px solid rgba(23,33,61,.18);border-radius:999px;color:var(--ink);background:#fffdf8eb;box-shadow:0 5px 13px #17213d21;font-size:.74rem;font-weight:900;white-space:nowrap;transform:translate(-50%,-100%);transition:opacity .15s ease,background .15s ease}.world-label.is-complete{color:var(--green);background:var(--green-soft)}.world-hud{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:16px}.hud-card{width:100%;padding:16px 20px;border:1px solid var(--line);border-radius:21px;background:#fffdf8f0;box-shadow:var(--shadow)}.hud-card h1{margin-bottom:7px;font-size:clamp(1.65rem,3vw,2.45rem)}.hud-card .eyebrow{margin-bottom:5px}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2rem,4vw,3.3rem);line-height:.98;letter-spacing:-.06em}h2{margin-bottom:10px;font-size:clamp(1.7rem,3vw,2.45rem);letter-spacing:-.04em}h3{margin-bottom:8px;font-size:1.12rem}.hud-card p:not(.eyebrow){margin-bottom:10px;color:var(--muted);line-height:1.5}.control-hints{display:flex;flex-wrap:wrap;gap:8px 13px;color:var(--muted);font-size:.75rem;font-weight:800}kbd{display:inline-grid;min-width:22px;min-height:22px;margin-right:2px;place-items:center;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;color:var(--ink);background:#fff;font-size:.68rem}.world-status{max-width:360px;padding:10px 14px;border:1px solid rgba(255,255,255,.78);border-radius:12px;color:var(--ink);background:#fffdf8e6;box-shadow:0 8px 20px #1e37571f;font-size:.84rem;font-weight:800}.world-status.success{color:var(--green);background:var(--green-soft)}.hidden{display:none!important}.fallback-panel,.career-panel{margin:22px auto 0;padding:clamp(22px,5vw,40px);border:1px solid var(--line);border-radius:28px;background:#fffdf8f0;box-shadow:var(--shadow)}.fallback-panel>p:not(.eyebrow){max-width:650px;color:var(--muted);line-height:1.6}.fallback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:23px}.fallback-job{padding:17px;border:2px solid var(--line);border-radius:16px;color:var(--ink);background:var(--paper);text-align:left}.fallback-job:hover{border-color:var(--blue)}.fallback-job.is-complete{border-color:#238a6661;background:var(--green-soft)}.fallback-job strong,.fallback-job span{display:block}.fallback-job span{margin-top:5px;color:var(--muted);font-size:.78rem}.panel-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.back-link{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;color:var(--muted);background:transparent;font-size:.9rem;font-weight:800}.back-link:hover{color:var(--blue)}.panel-progress{color:var(--muted);font-size:.83rem;font-weight:800}.career-header{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:24px;margin-bottom:26px}.career-emblem{width:120px;height:120px;display:grid;place-items:center;border-radius:30px;color:var(--blue-dark);background:var(--blue-soft);font-size:3.4rem;font-weight:900}.career-header p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.6}.challenge-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.challenge-tab{min-height:58px;padding:10px 12px;border:2px solid var(--line);border-radius:13px;color:var(--muted);background:var(--paper);text-align:left}.challenge-tab span,.challenge-tab strong{display:block}.challenge-tab span{margin-bottom:3px;font-size:.7rem;font-weight:900;text-transform:uppercase}.challenge-tab strong{color:var(--ink);font-size:.8rem}.challenge-tab.is-active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.challenge-tab.is-complete{border-color:#238a6666;background:var(--green-soft)}.challenge-panel{padding:clamp(20px,4vw,30px);border:1px solid var(--line);border-radius:22px;background:#fffefa}.challenge-panel>p:not(.eyebrow):not(.feedback){color:var(--muted);line-height:1.55}.challenge-list{display:grid;gap:10px;margin:19px 0}.challenge-option{width:100%;padding:13px 15px;border:2px solid var(--line);border-radius:12px;color:var(--ink);background:var(--paper);text-align:left}.challenge-option:hover{border-color:var(--blue);transform:translate(3px)}.challenge-option.is-picked{border-color:var(--blue);color:var(--blue-dark);background:var(--blue-soft)}.sequence-order{display:flex;flex-wrap:wrap;gap:8px;min-height:39px;margin:15px 0;padding:9px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:.8rem}.sequence-order span{padding:6px 9px;border-radius:8px;color:var(--blue-dark);background:var(--blue-soft);font-weight:800}.choice-grid{display:grid;gap:12px;margin:19px 0}.choice-grid label{display:grid;gap:7px;color:var(--ink);font-size:.9rem;font-weight:800}select,textarea{width:100%;padding:10px 12px;border:2px solid var(--line);border-radius:10px;color:var(--ink);background:#fff}textarea{min-height:95px;resize:vertical}.challenge-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.feedback{margin:17px 0 0;padding:12px 14px;border-radius:11px;color:#7d332c;background:var(--coral-soft);font-weight:700;line-height:1.45}.feedback.success{color:#21664b;background:var(--green-soft)}.finish-card{padding:27px;border:2px solid rgba(35,138,102,.3);border-radius:20px;background:var(--green-soft)}.finish-card h3{color:var(--green)}.finish-card p{color:#27684f;line-height:1.6}.finish-card p:last-child{margin-bottom:0}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:18px 0 24px;color:var(--muted);font-size:.73rem}@media(max-width:820px){.site-header,.header-actions,.site-footer{align-items:flex-start;flex-direction:column}.header-actions,.progress-chip{width:100%}.world-shell{min-height:650px}.world-hud{grid-template-columns:1fr;gap:10px}.hud-card{padding:16px}.world-status{max-width:none}.fallback-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.page-shell{width:min(100% - 20px,1240px)}.world-shell{min-height:590px;border-radius:22px}.world-label{padding:5px 7px;font-size:.65rem}.fallback-grid,.challenge-tabs,.career-header{grid-template-columns:1fr}.career-emblem{width:88px;height:88px;border-radius:22px;font-size:2.5rem}.panel-topline{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
