:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#13303f;background:#f6efe3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #13303f;--paper: #fbf8f1;--paper-dark: #e8dece;--orange: #ef4a14;--teal: #1d5d74;--gold: #e0a91c;--muted: #5b6a6d}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6efe3}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ef4a14;outline-offset:3px}.demo-shell{min-height:100vh}.topbar{min-height:76px;padding:11px clamp(14px,3vw,42px);display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:2px solid var(--ink);background:#fbf8f1f2}.brand-mark{display:inline-flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.mark{width:44px;height:44px;display:grid;place-items:center;background:var(--orange);font-size:14px;font-weight:1000;letter-spacing:-.08em;border:2px solid var(--ink)}.brand-mark small,.brand-mark strong{display:block}.brand-mark small{font:700 10px/1.3 ui-monospace,monospace;letter-spacing:.18em;color:var(--muted)}.brand-mark strong{font:1000 clamp(22px,3vw,30px)/1 "Arial Narrow",Impact,system-ui,sans-serif;letter-spacing:-.04em;text-transform:uppercase}.header-tools{display:flex;align-items:center;gap:15px}.edition,.eyebrow{font:750 10px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}.edition{color:var(--muted);text-align:right}.language-switch{display:flex;border:2px solid var(--ink);background:var(--paper)}.language-switch button{min-width:42px;min-height:42px;border:0;border-right:1px solid rgba(19,48,63,.24);background:transparent;font:800 12px ui-monospace,monospace;cursor:pointer}.language-switch button:last-child{border-right:0}.language-switch button.selected{background:var(--ink);color:#fff}.game-layout{width:min(1500px,100%);margin:0 auto;padding:20px clamp(14px,3vw,42px) 28px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}.play-column,.side-column{min-width:0}.level-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}.eyebrow{margin:0 0 5px;color:var(--orange)}h1{margin:0;font:1000 clamp(34px,5vw,55px)/.98 "Arial Narrow",Impact,system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.035em}h1 span{font:900 .44em/1 system-ui,sans-serif;color:var(--muted);letter-spacing:0}.sim-time{margin:0 0 4px;text-align:right;font:600 11px/1.5 ui-monospace,monospace;color:var(--muted)}.sim-time strong{display:block;color:var(--ink);font:850 17px/1.2 ui-monospace,monospace}.scene-frame{position:relative;border:2px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--teal);overflow:hidden}.harbour{width:100%;display:block;height:auto;touch-action:none}.paused-veil{position:absolute;inset:0;display:grid;place-items:center;background:#13303f61;padding:18px}.paused-card{max-width:360px;padding:19px;border:2px solid var(--ink);background:var(--paper);text-align:center;box-shadow:5px 5px 0 var(--orange)}.paused-card b{font:950 25px/1 Arial Narrow,Impact,sans-serif}.paused-card p{font-size:13px}.touch-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:8px;margin-top:17px}.direction-control,.magnet-control{min-width:44px;min-height:64px;border:2px solid var(--ink);background:var(--paper);display:flex;justify-content:center;align-items:center;gap:8px;font:950 clamp(13px,2vw,21px)/1 "Arial Narrow",Impact,sans-serif;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.direction-control:active,.magnet-control:active{transform:translateY(2px)}.magnet-control{background:var(--orange);color:#fff}.magnet-control.active{background:var(--gold);color:var(--ink)}.magnet-control:disabled{opacity:.6;cursor:not-allowed}.magnet-control>span{font-size:23px}.utility-controls,.result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.button{min-height:44px;padding:9px 12px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font:850 12px/1.15 ui-monospace,monospace;cursor:pointer}.button:hover,.text-action:hover{background:var(--paper-dark)}.button:disabled{opacity:.48;cursor:not-allowed}.button.primary{background:var(--ink);color:#fff}.stat-card{min-width:0;padding:14px;border:2px solid var(--ink);background:var(--paper)}.side-column{display:grid;gap:11px}.progress-card{background:var(--teal);color:#fff;padding:16px}.stat-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:750 10px ui-monospace,monospace;letter-spacing:.14em}.stat-title strong{font:950 34px/1 Arial Narrow,Impact,system-ui,sans-serif;letter-spacing:-.03em}.stat-title small{font-size:17px;opacity:.68}.progress-card>p{margin:5px 0 10px;font:600 11px ui-monospace,monospace;opacity:.78}.progress-track{height:8px;background:#ffffff40}.progress-track span{display:block;height:100%;background:var(--gold);transition:width .2s}.crate-track{display:flex;gap:7px;margin-top:13px}.crate-indicator{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);font-weight:900;font-size:13px}.crate-indicator.done{color:var(--ink);background:var(--gold);border-color:var(--gold)}.status-card .eyebrow,.damage-card .eyebrow,.level-card .eyebrow{color:var(--muted)}.magnet-state{display:flex;gap:9px;align-items:center;margin:4px 0 3px;font:950 20px/1.1 Arial Narrow,Impact,system-ui,sans-serif}.lamp{width:11px;height:11px;border-radius:50%;background:#829096;border:1px solid var(--ink)}.lamp.on{background:var(--gold);box-shadow:0 0 0 3px #e0a91c30}.status-card>[data-testid=carrying-label]{font-size:12px;color:var(--muted)}.damage-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:11px}.impact-dots{display:flex;gap:3px}.impact-dots i{width:10px;height:10px;border:1px solid var(--ink)}.impact-dots i.hit{background:var(--orange)}.small-copy{margin:0;font-size:12px;color:var(--muted)}.level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.level-grid button{min-width:44px;min-height:44px;border:2px solid var(--ink);background:var(--paper);font:900 16px ui-monospace,monospace;cursor:pointer}.level-grid button.current{background:var(--orange);color:#fff}.level-grid button.completed:not(.current){background:var(--teal);color:#fff}.text-action{width:100%;min-height:44px;margin-top:8px;border:0;background:transparent;text-align:left;text-decoration:underline;text-underline-offset:3px;font:750 10px ui-monospace,monospace;cursor:pointer}.guide-card summary{min-height:34px;cursor:pointer;font:850 11px ui-monospace,monospace;letter-spacing:.12em}.guide-card p{margin:8px 0;font-size:12px;line-height:1.48}.guide-card .tip{font-weight:750}.guide-card h3{margin:13px 0 4px;color:var(--orange);font:850 10px ui-monospace,monospace;letter-spacing:.12em}.saved-note{margin:0;padding:0 2px;font-size:10px;line-height:1.4;color:var(--muted)}.result-panel{margin-top:15px;padding:18px;border:2px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--gold)}.result-panel h2{margin:0 0 7px;font:950 27px/1 Arial Narrow,Impact,sans-serif}.result-panel>p:not(.eyebrow){margin:0;font-size:13px;line-height:1.5}.footer{display:flex;justify-content:space-between;gap:12px;padding:12px clamp(14px,3vw,42px);border-top:2px solid var(--ink);font:700 9px ui-monospace,monospace;letter-spacing:.13em;color:var(--muted)}.wave{animation:wave-drift 8s ease-in-out alternate infinite}@keyframes wave-drift{0%{transform:translate(-7px)}to{transform:translate(7px)}}@media(max-width:980px){.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:17px}.edition{display:none}}@media(max-width:700px){.topbar{align-items:flex-start;flex-direction:column}.header-tools{width:100%;justify-content:flex-end}.language-switch{margin-left:auto}.game-layout{display:flex;flex-direction:column;padding-top:15px}.play-column,.side-column{width:100%}.side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-card,.saved-note{grid-column:1 / -1}.level-heading{align-items:end}.touch-controls{gap:5px}.direction-control,.magnet-control{gap:4px;font-size:clamp(11px,3.4vw,16px)}.utility-controls .button{flex:1;padding-inline:7px;font-size:10px}}@media(max-width:370px){.side-column{grid-template-columns:1fr}.guide-card,.saved-note{grid-column:auto}.level-heading h1{font-size:33px}.language-switch button{min-width:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
