:root{color:#e9eeec;font-synthesis:none;background:#0c1013;font-family:Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);align-items:center;gap:32px;max-width:1600px;min-height:100svh;margin:auto;padding:48px;display:grid}.intro{padding:24px 0}.eyebrow,.tag,.scene-label,.scene-footer{letter-spacing:.12em;font-family:Consolas,monospace;font-size:11px}.eyebrow{color:#80a5a0;margin:0 0 32px}h1{letter-spacing:-.065em;margin:0 0 18px;font-size:clamp(34px,3.5vw,56px);font-weight:600;line-height:1}h1 span{color:#8fc6ba}.pitch{color:#b9c5c7;font-size:18px;line-height:1.5}.milestone{border-top:1px solid #2a373b;max-width:310px;margin-top:24px;padding-top:16px}.tag{color:#91bfb3}.milestone p,.note{color:#91a0a5;font-size:14px;line-height:1.65}.note{max-width:310px;font-size:12px}.queue{grid-template-columns:repeat(2,1fr);gap:12px;max-width:340px;margin-top:18px;display:grid}button{font:inherit;color:#c7d8d7;cursor:pointer;background:#152025;border:1px solid #3a5056;border-radius:7px}button:hover{border-color:#a3dacb}button:focus-visible{outline-offset:3px;outline:2px solid #d7fff0}button:disabled{opacity:.5;cursor:not-allowed}.piece{text-align:center;background:#131e23;border:1px solid #3a5056;border-radius:8px;min-width:0;padding:12px 6px;font-size:11px}.piece>span,.piece>strong{display:block}.piece>strong{color:#d1e5df;margin-bottom:5px;font-weight:500}.piece>span:last-child{color:#8ca5a3}.queue-label{letter-spacing:.12em;color:#95c6b7;font:10px Consolas,monospace}.current-piece{background:#1c3032;border-color:#9ad0be}.current-piece.ended{opacity:.5}.next-piece{background:#10191e}.piece svg{fill:none;stroke-linecap:square;stroke-linejoin:round;width:92px;height:92px;margin:4px auto;display:block}.piece svg rect{stroke:#5f8182;stroke-width:1.5px;fill:#0c171c}.piece .tile-seam{stroke:#38565a;stroke-width:1px}.piece .piece-trace{stroke:#a4e5dd;stroke-width:6px}.piece .anchor-dot{fill:#ffe2a1;stroke:#142128;stroke-width:1.5px}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.actions button{padding:10px 13px;font-size:12px}.reserve-slot{width:100%;max-width:340px;margin-top:12px;padding:14px 10px;font:11px Consolas,monospace;display:block}.reserve-slot[aria-pressed=true]{color:#ffe4b5;background:#30271c;border-color:#ffc36b}kbd{border:1px solid #4c6668;border-radius:3px;margin-left:6px;padding:1px 4px;font:11px Consolas,monospace}.assembly-stats{color:#a5c6c1;margin-top:18px;font:11px Consolas,monospace}.interaction-status{color:#d0e2dc;max-width:340px;min-height:40px;font-size:12px;line-height:1.5}.interaction-status[data-tone=warning]{color:#ffc36b}.interaction-status[data-tone=invalid]{color:#ff9382}.feedback-legend{flex-wrap:wrap;gap:8px 12px;max-width:340px;margin:14px 0;font-size:10px;display:flex}.feedback-legend span:before{content:"";border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.feedback-legend .valid:before{background:#a5f3d1}.feedback-legend .warning:before{background:#ffc36b}.feedback-legend .invalid:before{background:#ff9382}.scoreboard{gap:4px;margin:18px 0;display:grid}.records{color:#9ebeb8;flex-wrap:wrap;gap:16px 24px;font:11px Consolas,monospace;display:flex}.records strong{color:#e4d59b;margin-top:4px;font-size:23px;display:block}.difficulty-panel{max-width:340px;margin:20px 0}.difficulty-panel label{color:#a5c6c1;justify-content:space-between;margin-bottom:8px;font:11px Consolas,monospace;display:flex}.difficulty-panel select{color:#d1e5df;width:100%;font:inherit;background:#152025;border:1px solid #3a5056;border-radius:6px;padding:10px 8px;font-size:13px}.difficulty-panel p{color:#b2c7c5;margin-bottom:0;font-size:11px;line-height:1.5}.score-target,.risk-label{color:#b5c9c4;max-width:340px;font-size:11px;line-height:1.5}.record-status{color:#ffdc80;max-width:340px;min-height:20px;font:700 15px Consolas,monospace}.record-status.celebrate{background:#362d1b;border:1px solid #e9c164;padding:12px;animation:.9s ease-in-out 3 record-glow}@keyframes record-glow{50%{transform:scale(1.035);box-shadow:0 0 25px #ffc65c70}}@media (prefers-reduced-motion:reduce){.record-status.celebrate{animation:none}}.scoreboard strong{color:#bcf0de;font-variant-numeric:tabular-nums;font-size:36px;font-weight:500}.scoreboard>span:last-child{color:#a5c6c1;font:11px Consolas,monospace}.clear-status{color:#bef0d9;max-width:340px;min-height:20px;font-size:13px}.heat-panel{--heat-color:#8fc6ba;max-width:340px;margin:16px 0}.heat-panel label{color:var(--heat-color);justify-content:space-between;font:11px Consolas,monospace;display:flex}.heat-panel progress{width:100%;height:10px;accent-color:var(--heat-color);margin:8px 0;display:block}.heat-panel p{color:#b2c7c5;margin:0;font-size:11px;line-height:1.5}.heat-panel[data-level=warning]{--heat-color:#efbf78}.heat-panel[data-level=critical]{--heat-color:#ff9382}.viewport{border:1px solid #283439;border-radius:18px;height:min(75vh,760px);min-height:430px;position:relative;overflow:hidden}canvas{outline:none;width:100%;height:100%;display:block}.scene-label,.scene-footer{pointer-events:none;color:#94aaa9;z-index:1;position:absolute;left:24px;right:24px}.scene-label{align-items:center;gap:10px;display:flex;top:24px}.indicator{background:#8fc6ba;border-radius:50%;width:6px;height:6px}.scene-footer{justify-content:space-between;gap:20px;font-size:10px;line-height:1.5;display:flex;bottom:22px}#render-status{text-align:right}dialog{color:#e9eeec;background:#101b20;border:1px solid #789c9b;border-radius:16px;width:min(480px,100vw - 32px);max-height:calc(100svh - 32px);padding:36px;overflow-y:auto;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#03090ddd}dialog .eyebrow{color:#e7ad95;margin-bottom:16px}dialog h2{letter-spacing:-.04em;margin:0 0 12px;font-size:clamp(30px,6vw,42px);line-height:1.1}dialog p{color:#bacbce;font-size:14px;line-height:1.6}dialog .tag{margin-top:24px;display:block}.final-score{color:#bff5de;font-variant-numeric:tabular-nums;font-size:56px;font-weight:500;display:block}dialog .end-hint{border-top:1px solid #35494e;padding-top:16px}#restart-finished{color:#0c2420;background:#b6e9d6;border-color:#b6e9d6;width:100%;margin-top:12px;padding:14px;font-weight:600}@media (width<=760px){.layout{grid-template-columns:1fr;gap:20px;padding:24px}.intro{padding:8px 0 0}h1{font-size:46px}.eyebrow{margin-bottom:24px}.pitch{font-size:18px}.milestone{margin-top:24px}.viewport{height:55svh;min-height:360px}}[hidden]{display:none!important}body{background:radial-gradient(at 70% 0,#14303b55,#0000 52%),#080e12}.site-header{border-bottom:1px solid #24343b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1600px;margin:auto;padding:24px 36px;display:flex}.brand{letter-spacing:.16em;white-space:nowrap;background:0 0;border:0;padding:6px 0;font:600 23px Segoe UI,sans-serif}.brand span{color:#9bd4cf}.site-header nav{flex-wrap:wrap;gap:5px;display:flex}.site-header nav button{background:0 0;border-color:#0000;padding:9px 12px;font-size:13px}.site-header nav button[aria-current=page]{color:#c8fff0;background:#1a3039;border-color:#4b777e}.language-select-label{color:#a2bfbd;align-items:center;gap:10px;font-size:12px;display:flex}.language-select-label select{color:#d4e4e5;font:inherit;background:#101d23;border:1px solid #3a5056;border-radius:6px;padding:9px}.shell-content{max-width:1440px;min-height:70svh;margin:auto;padding:40px 36px 64px}.welcome-hero{background:#0a141b;border:1px solid #2e4d59;border-radius:22px;align-items:center;min-height:510px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:1;width:58%;padding:48px;position:relative}.hero-copy h1{margin-bottom:18px;font-size:clamp(48px,7vw,88px)}.hero-copy h2{color:#a6e8de;font-size:clamp(20px,2vw,29px);font-weight:400}.hero-copy p{color:#c0d0d4;max-width:490px;line-height:1.7}.hero-copy .eyebrow{color:#80b7bd;margin-bottom:24px}.hero-art{opacity:.75;background:linear-gradient(90deg,#0a141b 3%,#0a141bf0 28%,#0a141b30 65%),url(/assets/arena-space.jpg) 100%/cover;position:absolute;inset:0}[dir=rtl] .hero-art{transform:scaleX(-1)}.hero-actions{flex-wrap:wrap;gap:10px;margin:24px 0;display:flex}.hero-actions button,.primary-action{padding:12px 20px;font-size:14px}.primary-action{color:#072226;background:#a7ded5;border-color:#a7ded5;font-weight:600}.primary-action:hover{background:#c4fff1;border-color:#c4fff1}.first-time{margin-top:25px;font-size:14px}.hero-copy .text-soft{color:#97b4bb;font-size:12px}.home-links{color:#84a6ad;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:12px;display:flex}.home-links button{padding:10px 14px}.page-heading{max-width:800px;margin:10px 0 30px}.page-heading h1{letter-spacing:-.04em;font-size:clamp(30px,4vw,50px)}.page-heading p{color:#a5bec4;line-height:1.7}.page-heading .eyebrow{margin-bottom:14px}.text-action{background:0 0;border:0;padding:0 5px;text-decoration:underline}.world-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.world-card{text-align:start;background:#0f1c24;border-color:#2e444e;border-radius:14px;flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.world-card.available-card{border-color:#67a69f;box-shadow:0 0 25px #57c4ae10}.world-card.available-card:hover{border-color:#b1ffec;transform:translateY(-2px)}.world-card:disabled{opacity:1;cursor:default}.card-media{aspect-ratio:16/9;background:#0a1319;width:100%;display:block;position:relative;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%;display:block}.future-card .card-media img{filter:blur(2.4px)saturate(.55);opacity:.48;transform:scale(1.04)}.construction-ribbon{top:25px;text-align:center;color:#211b12;background:#e5b56b;width:220px;padding:8px 5px;font-size:11px;font-weight:600;position:absolute;inset-inline-end:-46px;transform:rotate(32deg);box-shadow:0 3px 12px #0005}[dir=rtl] .construction-ribbon{transform:rotate(-32deg)}.card-badge{inset-inline-start:14px;color:#c0ffe5;background:#14362ded;border:1px solid #517f6a;border-radius:20px;padding:5px 10px;font-size:11px;position:absolute;bottom:12px}.card-copy{flex-direction:column;gap:10px;padding:20px;display:flex}.card-copy strong{color:#d3ece8;letter-spacing:.04em;font-size:19px;font-weight:500}.card-copy>span{color:#adc2c7;font-size:13px;line-height:1.6}.card-copy small{color:#91a7ad;font-size:11px}.future-variants{margin-top:42px}.future-variants h2{font-size:20px;font-weight:400}.compact-grid .card-media{max-height:140px}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.status-grid article{background:#10202a;border:1px solid #29404a;border-radius:14px;padding:28px}.status-grid h2{font-size:23px;font-weight:500}.status-grid p{color:#aec6cb;line-height:1.8}.status-dot{background:#a0ebce;border-radius:50%;width:9px;height:9px;display:block;box-shadow:0 0 14px #a0ebce70}.status-dot.planned{box-shadow:none;background:#d2ab75}.site-footer{color:#71949f;border-top:1px solid #20343c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;max-width:1500px;margin:auto;padding:24px 36px;font:11px Consolas,monospace;display:flex}.site-footer button{background:0 0;border-color:#0000;padding:6px;font-size:12px}.game-breadcrumb{color:#89a5af;flex-wrap:wrap;align-items:center;gap:10px;max-width:1500px;margin:18px auto 0;padding:0 36px;font-size:12px;display:flex}.game-breadcrumb button{background:0 0;border-color:#28434e;padding:7px 10px}#game-screen .layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;min-height:calc(100svh - 180px);padding-top:20px}#game-screen .eyebrow{margin-bottom:15px}#game-screen .viewport{direction:ltr;background:radial-gradient(at 20% 10%,#1a384c40,#0000 60%),#0a1116;margin-top:22px;position:sticky;top:24px}.tutorial-panel{background:#14262f;border:1px solid #bc9d61;border-radius:12px;max-width:360px;margin:20px 0;padding:20px}.tutorial-panel h2{color:#f0dfb7;font-size:21px;font-weight:500}.tutorial-panel p{color:#c7d5d7;font-size:14px;line-height:1.7}.tutorial-panel .tag{color:#dbbd7e;font-size:11px}.tutorial-panel button{margin-top:8px}.dialog-menu{width:100%;margin-top:12px;padding:12px}[dir=rtl] .eyebrow,[dir=rtl] .tag{letter-spacing:normal}@media (width<=1000px){.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{padding:20px 24px}.hero-copy{width:72%;padding:30px}#game-screen .layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px;padding:24px}}@media (width<=700px){.site-header,.shell-content,.site-footer{padding-inline:18px}.site-header nav{order:3;width:100%}.site-header nav button{padding:8px;font-size:12px}.world-grid,.status-grid{grid-template-columns:1fr}.welcome-hero{min-height:500px}.hero-copy{width:100%;padding:26px}.hero-art{opacity:.32}.hero-copy h1{font-size:56px}.home-links{flex-direction:column;align-items:start}#game-screen .layout{flex-direction:column;padding:18px;display:flex}#game-screen .intro{width:100%}#game-screen .viewport{order:-1;width:100%;height:440px;min-height:360px;position:static}.game-breadcrumb{padding-inline:18px}}@media (prefers-reduced-motion:reduce){.world-card.available-card:hover{transform:none}}.language-select-label{color:#d0ede8;background:#152e3a;border:1px solid #6b9fa7;border-radius:10px;padding:7px 10px;font-size:13px;box-shadow:0 0 24px #67c9dc18}.language-select-label select{cursor:pointer;min-width:136px;min-height:42px;font-size:14px}.language-globe{fill:none;stroke:#a3e8e1;stroke-width:1.5px;flex-shrink:0}#game-screen .viewport:has(.tutorial-panel:not([hidden])){flex-direction:column;height:min(88vh,900px);min-height:700px;display:flex}.viewport:has(.tutorial-panel:not([hidden]))>.scene-label{display:none}.viewport:has(.tutorial-panel:not([hidden]))>canvas{flex:1;height:0;min-height:360px}.viewport .tutorial-panel{z-index:2;text-align:center;background:linear-gradient(120deg,#203c49,#142a35);border:2px solid #ffcf6b;flex-shrink:0;width:calc(100% - 36px);max-width:720px;margin:18px auto 0;padding:18px 24px;position:relative;box-shadow:0 0 32px #e9b64d26}.viewport .tutorial-panel h2{color:#fff1c7;margin:8px 0;font-size:clamp(20px,2vw,27px)}.viewport .tutorial-panel p{color:#e1eceb;margin:8px 0;font-size:15px}.tutorial-panel[data-success=true]{background:#143b34;border-color:#8ef9d4;box-shadow:0 0 38px #61edbf30}.tutorial-control-target{outline-offset:3px;outline:2px solid #ffda80;animation:1s ease-in-out infinite tutorial-button-pulse}.tutorial-celebration{pointer-events:none;z-index:4;color:#b6ffdf;text-align:center;opacity:0;background:#0c2729ed;border:1px solid #8af1cf;border-radius:14px;width:max-content;max-width:90%;padding:18px 28px;font-size:clamp(18px,2.5vw,30px);position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 50px #5cf1d15c}.tutorial-celebration.show{animation:1.7s ease-out both tutorial-success}@keyframes tutorial-button-pulse{50%{background:#4c4931;box-shadow:0 0 26px #ffd16a88}}@keyframes tutorial-success{0%{opacity:0;transform:translate(-50%,-40%)scale(.9)}15%,65%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-65%)scale(1.03)}}@media (width<=700px){.viewport .tutorial-panel{width:calc(100% - 20px);margin-top:10px;padding:12px}.language-select-label{gap:6px}#game-screen .viewport:has(.tutorial-panel:not([hidden])){height:760px}}.screen-tour{z-index:1000;isolation:isolate;position:fixed;inset:0}.tour-focus{pointer-events:none;border:3px solid #91ffe1;border-radius:16px;position:fixed;box-shadow:0 0 0 9999px #02090bd6,0 0 35px #64efcc99}.tour-focus:after{content:"";border:1px solid #91ffe1;border-radius:20px;animation:1.3s ease-in-out infinite tour-focus-pulse;position:absolute;inset:-7px}.arcade-hand{filter:drop-shadow(0 0 8px #43dbcbbb);width:55px;height:63px;animation:1.3s ease-in-out infinite tour-hand-pulse;position:absolute;bottom:-42px;right:12px}.tour-bubble{color:#e2fff4;background:linear-gradient(130deg,#183a43,#102329);border:1px solid #64bea9;border-radius:16px;padding:22px 24px 16px;position:fixed;box-shadow:0 16px 80px #000a,0 0 30px #48d6b72b}.tour-label{color:#79cfba;text-transform:uppercase;letter-spacing:.09em;font:10px Consolas,monospace}.tour-bubble h2{color:#d9fff0;margin:12px 0;font-size:23px;font-weight:550;line-height:1.25}.tour-bubble p{color:#c1dcd9;margin:12px 0;font-size:15px;line-height:1.7}.tour-bubble button{color:#a2c5bd;background:0 0;border:0;margin-inline-start:auto;padding:7px 0;font-size:11px;display:block}@keyframes tour-focus-pulse{50%{opacity:.3;transform:scale(1.015)}}@keyframes tour-hand-pulse{50%{filter:drop-shadow(0 0 16px #43dbcb);transform:translateY(-9px)}}.cursor-piece{pointer-events:none;z-index:20;filter:drop-shadow(0 0 9px #77ffe8a0);opacity:.95;width:82px;height:110px;position:fixed;transform:translate(13px,-50%)}.cursor-piece svg{width:100%;height:100%;overflow:visible}@media (pointer:coarse){.cursor-piece{display:none}}.tour-callout{direction:ltr;align-items:center;gap:20px;display:flex;position:fixed}.tour-callout .arcade-hand{flex:0 0 56px;width:56px;height:64px;animation:1s ease-in-out infinite tour-hand-side-pulse;position:static;transform:rotate(-90deg)}.tour-callout .tour-bubble{flex:none;position:static}[dir=rtl] .tour-callout .tour-bubble{direction:rtl}.tour-pointer{pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.tour-pointer-line{stroke:#8af4d4;stroke-width:2px;stroke-dasharray:5 5}.tour-aim{fill:#9affde55;stroke:#a2ffe2;stroke-width:2px}@keyframes tour-hand-side-pulse{50%{transform:rotate(-90deg)translateY(-6px)scale(1.07)}}@media (prefers-reduced-motion:reduce){.tour-callout .arcade-hand{animation:none}}#tutorial-next:not(:disabled),.tour-bubble .tour-next{animation:1.6s ease-in-out infinite next-ready-pulse}.tour-actions{align-items:center;gap:14px;margin-top:18px;display:flex}.tour-bubble .tour-next{color:#072226;background:#a7ded5;border:1px solid #a7ded5;margin:0;padding:10px 18px;font-size:14px}.tour-bubble .tour-skip{margin:0;font-size:11px}@keyframes next-ready-pulse{50%{border-color:#c8ffec;box-shadow:0 0 18px #83f7d950}}@media (prefers-reduced-motion:reduce){#tutorial-next:not(:disabled),.tour-bubble .tour-next,.tutorial-control-target,.tour-focus:after,.arcade-hand{animation:none}.tutorial-celebration.show{opacity:1;animation:none}}html.tour-active body{padding-right:450px}html.tour-active{scroll-padding-top:24px}.tour-callout{max-height:calc(100svh - 32px)}.tour-callout .tour-bubble{max-height:calc(100svh - 32px);overflow-y:auto}@media (width<=1400px){html.tour-active body{padding-right:0;padding-bottom:var(--tour-dock-height,300px)}html.tour-active{scroll-padding-bottom:var(--tour-dock-height,300px)}html.tour-active #game-screen .viewport{height:max(300px, calc(100svh - var(--tour-dock-height,300px) - 70px));min-height:300px}html.tour-active .tour-callout{background:#08181eee;border-radius:18px}}@media (width>=1101px){html.tour-active[data-tour-placement=panel] body{padding:0}html.tour-active[data-tour-placement=panel]{scroll-padding-bottom:0}html.tour-active[data-tour-placement=panel] #game-screen .layout{grid-template-columns:minmax(260px,320px) 410px minmax(250px,1fr);gap:20px;max-width:none;padding-inline:24px}html.tour-active[data-tour-placement=panel] #game-screen .intro{grid-column:1}html.tour-active[data-tour-placement=panel] #game-screen .viewport{grid-column:3;height:min(75vh,760px);min-height:430px}}.cursor-piece svg{fill:none;stroke-linecap:square;stroke-linejoin:round}.cursor-piece svg rect{fill:none;stroke:#86d6d080;stroke-width:1.5px}.cursor-piece .piece-trace{fill:none;stroke:#c4fff0;stroke-width:6px}.cursor-piece .anchor-dot{fill:#ffe2a1;stroke:#153c3d;stroke-width:1.5px}
