:root{color:#eef1e9;font-synthesis:none;--mint:#a7ebcd;--muted:#91a4ae;--line:#31414a;--paper:#f6f3e5;background:#111d27;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:5px;outline:3px solid #b5f2d7}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:30px 64px;display:flex}.brand{letter-spacing:-1px;align-items:center;gap:12px;font-size:23px;font-weight:850;display:flex}.brand img{width:34px;height:34px}.brand-light{margin-left:5px;font-weight:400}.site-header nav{color:#c6d0d3;align-items:center;gap:30px;font-size:13px;display:flex}.site-header nav button{padding:10px 0}.sound{border-radius:30px;border:1px solid var(--line)!important;padding:9px 15px!important}.sound span{margin-left:6px}main{max-width:1440px;margin:auto;padding:0 64px}.eyebrow{letter-spacing:2px;color:var(--mint);font-size:10px;font-weight:700}#home>.eyebrow{margin-top:52px}.spark{margin-right:9px;font-size:16px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-4px;margin:22px 0 25px;font-size:clamp(54px,6vw,86px);font-weight:650;line-height:1.04}h1 em{color:var(--mint);font-family:Georgia,serif;font-weight:400}p{color:#a8b8bf;font-size:14px;line-height:1.8}.hero-copy p{font-size:15px}.hero-copy{position:relative}.text-link{gap:40px;margin:5px 0 38px;font-size:12px;font-weight:650;display:inline-flex}.text-link span{color:var(--mint);font-size:20px}.hero-stamp{float:right;border:1px solid #51605e;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:180px;height:180px;margin-top:-265px;margin-right:60px;display:flex;transform:rotate(8deg)}.hero-stamp>span{color:#eedfba;font-family:Georgia,serif;font-size:66px;line-height:1}.hero-stamp small{color:#c3c9bf;margin:7px;font-size:11px}.hero-stamp div{color:#b2d8bb;letter-spacing:7px;margin-top:9px;font-size:13px}#stage{background:#213440;border:1px solid #3c515c;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 30px 60px #0002}.stage-top{letter-spacing:1.7px;color:#a5b9bd;background:#1a2a34;justify-content:space-between;align-items:center;height:42px;padding:0 23px;font-size:9px;display:flex}.stage-top i{background:#b4edc8;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}.stage-top b{font-weight:500}.stage-top>span:last-child{color:#8198a2;font-size:8px}#game-canvas{aspect-ratio:2;width:100%;position:relative}#game-canvas canvas{max-width:100%;max-height:100%;display:block!important}.play-panel{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:80px;padding:70px 0;display:grid}.panel-intro h2{letter-spacing:-1.2px;margin:20px 0;font-size:35px;line-height:1.15}.panel-intro p{font-size:13px}.session-status{border:1px solid var(--line);background:#1b2b34;border-radius:8px;align-items:center;gap:12px;max-width:360px;margin-top:30px;padding:17px;font-size:12px;display:flex}.session-status strong{font-weight:550;display:block}.session-status small{color:#8299a4;margin-top:5px;font-size:10px;display:block}.live-dot{background:#a7ebcd;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #a7ebcd33}.session-status button{color:var(--mint);margin-left:auto;font-size:23px}.modes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode{text-align:left;border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:14px;transition:all .2s;display:flex}.mode:first-child{grid-column:span 2}.mode:hover{background:#253941}.mode.selected{border-color:var(--mint);background:#a7ebcd0b}.mode strong{font-size:12px;font-weight:600;display:block}.mode small{color:#91a4ae;margin-top:4px;font-size:9px;display:block}.mode-icon{color:#c5d4cb;min-width:30px;font-size:26px}.selected .mode-icon{color:var(--mint)}.mode-check{color:#a7ebcd;margin-left:auto;font-size:13px}label{letter-spacing:1.4px;color:#b3c7cb;margin:25px 0 10px;font-size:9px;font-weight:650;display:block}.join-row{gap:10px;display:flex}.join-row input{border:1px solid var(--line);min-width:0;color:var(--paper);background:#1a2933;border-radius:5px;flex:1;padding:14px;font-size:11px}.join-row input::placeholder{color:#8295a0}.primary,.secondary{white-space:nowrap;border-radius:5px;padding:14px 19px;font-size:11px;font-weight:650}.primary{background:var(--mint);color:#162b27}.primary:hover{background:#c6f5df}.primary span{margin-left:12px}.secondary{background:#20383e;border:1px solid #6a8887}.form-note{color:#7f96a1;margin:13px 0 0;font-size:10px;line-height:1.6}.journey{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;padding:70px 0 80px;display:grid}.journey h2{letter-spacing:-.7px;margin-top:18px;font-size:26px;line-height:1.3}.journey-card img{object-fit:contain;width:44px;height:44px;margin:0 0 12px}.journey-card:nth-child(3) img{width:60px}.journey-card h3{margin-bottom:9px;font-size:13px;font-weight:600}.journey-card p{font-size:11px;line-height:1.8}footer{border-top:1px solid var(--line);color:#718b97;justify-content:space-between;align-items:center;max-width:1312px;margin:auto;padding:24px 0 30px;font-size:9px;display:flex}.brand-mini{letter-spacing:1px;color:#b8ccc9;font-weight:800}.footer-star{color:var(--mint);margin:0 12px}footer button{font-size:9px}.lobby-heading{justify-content:space-between;align-items:center;margin-top:27px;display:flex}.lobby-heading h3{margin:0;font-size:14px}.lobby-heading>span{color:var(--mint);font-size:10px}#players{grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0;display:grid}.player-card{text-align:center;background:#1c2d38;border:1px solid #3d505b;border-radius:8px;min-height:130px;padding:8px}.player-card.you{border-color:var(--mint)}.player-card img{object-fit:contain;width:58px;height:58px;margin:0 auto 2px;display:block}.player-card strong{overflow-wrap:anywhere;font-size:10px;display:block}.player-card strong small{color:var(--mint);margin-top:3px;font-size:7px;display:block}.player-card>span:last-child{color:#9cb3bc;margin-top:7px;font-size:8px;display:block}.player-card.empty{color:#748e9b;background:0 0;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;display:flex}.player-card.empty>span{margin-bottom:9px;font-size:28px}.player-card.empty strong{font-size:8px;font-weight:400}.player-card.empty small{margin-top:4px;font-size:7px}.lobby-actions{gap:9px;display:flex}.text-button{margin-left:auto;font-size:10px}.in-game main{padding-top:20px}.in-game .hero-copy,.in-game .hero-stamp,.in-game #home>.eyebrow,.in-game .play-panel,.in-game .journey,.in-game footer{display:none}.in-game .site-header{padding-top:16px;padding-bottom:16px}.in-game #stage{border-radius:8px}.in-game #game-canvas{aspect-ratio:auto;height:min(74vh,640px)}.in-game #game-hud{pointer-events:none;justify-content:space-between;gap:25px;display:flex;position:absolute;top:67px;left:26px;right:26px}#level-label{letter-spacing:2px;color:#b1d3c2;font-size:9px}#level-name{letter-spacing:-.5px;text-shadow:0 2px 8px #152430;margin:8px 0;font-size:24px}#objective{color:#d8e4e5;text-shadow:0 2px 4px #17232b;max-width:540px;font-size:11px;line-height:1.5}#private-hint{color:#f9df95;font-size:12px}.game-metrics{text-align:right;min-width:150px}.game-metrics span{display:block}#clock{color:#e7ecd4;font-variant-numeric:tabular-nums;font-size:25px}#puzzle-status{letter-spacing:1px;color:#bfd6cc;margin-top:9px;font-size:9px}#game-toolbar{align-items:center;gap:15px;max-width:1312px;margin:15px auto;padding:0 16px;font-size:11px;display:flex}#game-toolbar button{border:1px solid #405b64;border-radius:5px;padding:10px 15px}#crew-count{margin-right:auto}#network-label{color:var(--mint);font-size:9px}#results,#pause-menu,#countdown{z-index:30;text-align:center;background:#11202af2;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:42px 0 0}#results h2,#pause-menu h2{letter-spacing:-1.7px;margin:16px 0;font-size:42px}#results p,#pause-menu p{max-width:530px;font-size:13px}#results>small{color:#8aa3af;margin-top:20px;font-size:10px}.result-stats{gap:60px;margin:10px 0 25px;display:flex}.result-stats span{color:#d5ead8;font-size:30px}.result-stats small{color:#8fa9b1;margin-top:4px;font-size:10px;display:block}.result-buttons{gap:12px;display:flex}#results ol{text-align:left;width:100%;max-width:500px;margin:0 0 24px;padding-left:25px;font-size:12px}#results li{padding:5px}#results li strong{float:right;color:var(--mint);margin-left:30px;font-size:11px}#pause-menu button{min-width:220px;margin:5px;padding:12px}.in-game #pause-menu{background:#11202af7}#countdown{color:#d6f2d7;font-size:28px}#touch{z-index:15;pointer-events:none;justify-content:space-between;display:none;position:absolute;bottom:12px;left:15px;right:15px}#touch>div{gap:9px;display:flex}#touch button{color:#e1f0e1;touch-action:none;pointer-events:auto;background:#13222c99;border:1px solid #c4e7d87a;border-radius:50%;width:52px;height:52px;font-size:24px}dialog{color:#edf1e6;background:#1b2b36;border:1px solid #4c636d;border-radius:12px;width:calc(100% - 32px);max-width:650px;padding:45px}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08121bbd}dialog h2{letter-spacing:-1px;margin:14px 0 24px;font-size:33px}dialog p{font-size:13px}dialog a{color:var(--mint);text-decoration:underline}#close-dialog{color:#b4c9ce;font-size:25px;position:absolute;top:10px;right:14px}input[type=range]{width:100%;accent-color:var(--mint)}.controls-list p{border-bottom:1px solid #384c56;align-items:center;gap:8px;padding-bottom:15px;display:flex}.controls-list span{text-align:right;margin-left:auto;font-size:11px}kbd{color:var(--paper);border:1px solid #6b8389;border-bottom-width:3px;border-radius:4px;padding:5px 9px;font-size:11px}#toast{z-index:100;color:#24333b;text-align:center;background:#f4edce;border-radius:8px;max-width:calc(100vw - 30px);padding:15px 24px;font-size:12px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0006}@media (hover:none),(pointer:coarse){.in-game #touch{display:flex}}@media (min-width:1500px){.hero-stamp{margin-right:120px}.in-game #stage{max-width:1312px}}@media (max-width:1000px){main{padding:0 30px}.site-header{padding:25px 30px}.play-panel{grid-template-columns:1fr 1.4fr;gap:35px}.hero-stamp{width:150px;height:150px;margin-top:-225px;margin-right:10px}.hero-stamp>span{font-size:50px}.journey{grid-template-columns:1fr 1fr;gap:20px}.join-row{flex-direction:column}footer{margin:0 30px}.site-header nav{gap:16px}.in-game #game-hud{top:60px;left:18px}#objective{max-width:420px;font-size:10px}}@media (max-width:650px){.site-header{padding:20px}.brand{gap:7px;font-size:18px}.brand img{width:26px;height:26px}.site-header nav{gap:12px;font-size:10px}.site-header nav button[data-dialog=credits],.sound span{display:none}main{padding:0 20px}#home>.eyebrow{letter-spacing:1.3px;margin-top:32px;font-size:8px}h1{letter-spacing:-2.7px;margin-top:20px;font-size:53px}.hero-copy p{font-size:12px}.hero-stamp{display:none}.stage-top{letter-spacing:1px;height:35px;padding:0 12px;font-size:7px}.stage-top>span:last-child{display:none}.play-panel{grid-template-columns:1fr;gap:26px;padding:40px 0}.panel-intro h2{font-size:30px}.panel-intro p{font-size:12px}.session-status{max-width:none}.journey{gap:25px 20px;padding:40px 0}.journey>div:first-child{grid-column:span 2}.journey h2{font-size:26px}.journey-card p{font-size:11px}.journey-card:last-child{grid-column:span 2;max-width:200px}.join-row{flex-direction:column}.mode{padding:12px 10px}.mode strong{font-size:11px}.mode small{font-size:8px}.mode-icon{min-width:20px;font-size:20px}footer{flex-wrap:wrap;gap:18px;margin:0 20px;line-height:1.7}footer>span:nth-child(2){order:3;width:100%}.player-card{min-height:120px;padding:6px}.player-card img{width:44px;height:48px}.player-card strong{font-size:8px}.lobby-actions{flex-wrap:wrap}.in-game .site-header{padding:12px 15px}.in-game main{padding:12px 6px 0}.in-game #game-canvas{height:66vh;min-height:340px}.in-game #game-hud{gap:10px;top:52px;left:12px;right:12px}#level-name{font-size:18px}#level-label{font-size:8px}#objective{max-width:235px;font-size:9px}#clock{font-size:18px}.game-metrics{min-width:75px}#puzzle-status{font-size:7px}#game-toolbar{flex-wrap:wrap;gap:7px;padding:0 8px;font-size:9px}#game-toolbar button{padding:8px 10px;font-size:9px}#network-label{font-size:8px}#results h2,#pause-menu h2{font-size:29px}#results p,#pause-menu p{font-size:11px}.result-stats{gap:35px;margin:5px 0 15px}.result-stats span{font-size:23px}.result-buttons .primary,.result-buttons .secondary{padding:12px;font-size:10px}dialog{padding:35px 23px}dialog h2{font-size:28px}#results ol{margin-bottom:14px;font-size:10px}#results li strong{font-size:9px}.in-game #private-hint{font-size:10px}#countdown{font-size:20px}}@media (max-height:540px) and (orientation:landscape){.in-game .site-header{display:none}.in-game main{padding-top:0}.in-game #game-canvas{height:86vh;min-height:200px}.in-game #game-hud{top:50px}#game-toolbar{margin:5px auto}.in-game #objective{font-size:9px}#results h2{margin:10px 0;font-size:26px}.result-stats{margin:0 0 12px}.result-stats span{font-size:22px}#results ol{margin-bottom:10px}}
