@font-face{font-family:Pixel;src:url(../fonts/press-start-2p.woff2) format("woff2");font-display:swap}@font-face{font-family:HarborBody;src:url(../fonts/vt323.woff2) format("woff2");font-display:swap}:root{--bg:#0a202c;--panel:#133441;--alt:#102c39;--ink:#fff2d9;--paper:var(--panel);--accent:#80d4dc;--accent-hover:#a5e6e6;--accent-edge:#80d4dc73;--dim:#acc0c3;--line:#c4e2e12e;--money:#2ad27a;--warning:#ed9674;--danger:#ed7c7e;--danger-fill:#ad363d;--panel-glass:#133441f2;--alt-glass:#102c39ed;--backdrop:#0a202c99;--mono:Pixel,monospace;--display:Pixel,monospace;--body:HarborBody,monospace;color:var(--ink);background:var(--bg);font-family:var(--body);font-synthesis:none}*{box-sizing:border-box;touch-action:none;font-variant-ligatures:none}body{margin:0;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border-radius:0;min-height:44px}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}#app{height:100dvh;position:relative;overflow:hidden}#world{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%}.masthead{height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;position:absolute;inset:0 0 auto;z-index:15;background:var(--bg);border-bottom:2px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;border:0;background:none;text-align:left;color:var(--ink);padding:0;font:clamp(9px,1.2vw,12px) var(--display);line-height:1.5}.brand-icon{font:clamp(24px,3vw,30px) var(--body);color:var(--accent)}.brand small{font:clamp(6px,.7vw,8px) var(--mono);display:block;color:var(--dim);margin-top:5px}.location{font:clamp(8px,.9vw,10px) var(--mono);color:var(--dim)}.location span{display:none}nav{display:flex;gap:8px;align-items:center}.nav-button,.square{color:var(--accent);border:2px solid var(--line);background:var(--panel);padding:10px 12px;font:clamp(7px,.9vw,9px) var(--mono)}.nav-button:hover,.square:hover{border-color:var(--accent)}.square{min-width:44px}.wallet{font:clamp(18px,2vw,24px) var(--body);color:var(--money);margin-right:8px}.nav-short{display:none}footer{height:calc(30px + env(safe-area-inset-bottom));position:absolute;bottom:0;inset-inline:0;z-index:15;background:var(--bg);display:flex;align-items:center;gap:16px;justify-content:space-between;padding:0 max(18px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(18px,env(safe-area-inset-left));border-top:2px solid var(--line);font:clamp(6px,.7vw,8px) var(--mono);color:var(--dim)}#key-hints{display:flex;gap:14px;font-family:var(--body);font-size:clamp(13px,1.3vw,16px)}kbd{font:clamp(7px,.8vw,9px) var(--mono);border:1px solid var(--line);padding:4px;background:var(--alt);color:var(--accent);display:inline-block}#sound-button{font:clamp(6px,.8vw,8px) var(--mono);background:none;border:0;color:var(--accent);min-height:28px}#save-indicator{margin-left:auto;font:clamp(5px,.6vw,7px) var(--mono)}.primary{font:clamp(8px,1vw,10px) var(--mono);display:flex;justify-content:center;align-items:center;gap:15px;background:var(--accent);color:var(--bg);border:2px solid var(--bg);box-shadow:0 3px #0008;padding:16px;min-height:48px}.primary:hover{background:var(--accent-hover)}#hud{position:absolute;inset:calc(64px + env(safe-area-inset-top)) 0 calc(30px + env(safe-area-inset-bottom));pointer-events:none}.eyebrow,.micro,.section-label{font:clamp(7px,.8vw,9px) var(--mono);letter-spacing:.05em;color:var(--dim);line-height:1.7}.eyebrow{display:flex;align-items:center;gap:8px}.objective-card{position:absolute;left:18px;top:18px;width:300px;background:var(--panel-glass);border:2px solid var(--line);padding:16px;box-shadow:0 3px #0005}.objective-card .eyebrow{justify-content:space-between;flex-wrap:wrap;font-size:clamp(6px,.7vw,8px)}#weather-label{color:var(--dim)}.objective-card h2{font:clamp(11px,1.3vw,15px)/1.6 var(--display);margin:10px 0}.objective-card p{font:clamp(17px,1.8vw,21px)/1.15 var(--body);color:var(--dim);margin:0}.objective-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font:clamp(12px,1.2vw,16px) var(--body);display:flex;justify-content:space-between;gap:10px}.objective-footer span:last-child{color:var(--money)}#plot-course{display:block;pointer-events:auto;width:100%;margin-top:12px;padding:12px;background:var(--alt);color:var(--accent);border:2px solid var(--line);font:clamp(7px,.8vw,9px) var(--mono);text-align:left}.radio{position:absolute;top:290px;left:18px;width:300px;background:var(--alt-glass);border:2px solid var(--line);padding:14px 24px 14px 16px;pointer-events:auto}.radio p{font:clamp(17px,1.8vw,20px)/1.15 var(--body);margin:8px 0 0}.radio>button{position:absolute;right:0;top:0;background:none;border:0;color:var(--accent);font-size:24px;width:32px;min-height:32px}.vessel-status{position:absolute;bottom:18px;left:18px;background:var(--panel-glass);padding:12px 16px;display:flex;gap:18px;border:2px solid var(--line)}.vessel-status strong{font:clamp(25px,3vw,36px) var(--body);display:block;margin-top:5px;min-width:90px}.vessel-status strong small{font:clamp(6px,.8vw,8px) var(--mono);margin-left:6px;color:var(--dim)}.status-detail{width:140px;border-left:1px solid var(--line);padding-left:16px}.status-detail>span{font:clamp(6px,.7vw,8px) var(--mono);color:var(--dim);display:flex;justify-content:space-between;line-height:1.5}.status-detail b{color:var(--ink)}.meter{height:4px;background:var(--bg);margin:8px 0}.meter i{height:100%;display:block;width:100%;background:var(--accent)}#line-meter{width:0;background:var(--accent)}.interaction{position:absolute;left:50%;bottom:25px;transform:translate(-50%);background:var(--alt-glass);display:flex;align-items:center;padding:12px;gap:10px;font:clamp(16px,1.7vw,20px) var(--body);border:2px solid var(--line);max-width:35vw}.interaction.muted{color:var(--dim)}.map-container{position:absolute;right:18px;bottom:18px;width:166px;background:var(--panel);padding:6px;border:2px solid var(--line)}.map-container canvas{width:150px;height:110px;display:block;pointer-events:auto;cursor:crosshair}.map-container>span{display:flex;justify-content:space-between;font:clamp(5px,.6vw,7px) var(--mono);color:var(--dim);margin-top:8px}.world-label,.navigation-arrow{position:absolute;background:var(--alt);color:var(--accent);padding:9px;font:clamp(7px,.8vw,9px) var(--mono);border:2px solid var(--line);max-width:80vw}.world-label{transform:translate(-50%,-100%);white-space:nowrap}.tutorial{position:absolute;right:18px;top:18px;background:var(--panel);padding:12px 28px 10px 14px;width:240px;pointer-events:auto;border:2px solid var(--line)}.tutorial>span{font:clamp(7px,.8vw,9px) var(--mono);color:var(--accent)}.tutorial p{font:clamp(16px,1.6vw,20px)/1.2 var(--body);color:var(--dim);margin:8px 0}.tutorial button{position:absolute;top:0;right:0;background:none;border:0;font-size:24px;color:var(--accent);min-height:32px;width:32px}.clock-readout{position:absolute;right:18px;top:150px;width:120px;padding:10px;background:var(--panel);border:2px solid var(--line);text-align:right}.clock-readout span{font:clamp(6px,.7vw,8px) var(--mono);color:var(--dim)}.clock-readout strong{display:block;font:clamp(23px,2.5vw,30px) var(--body);margin-top:5px}.leisure-action{position:absolute;left:18px;bottom:124px;padding:12px;background:var(--accent);color:var(--bg);border:2px solid var(--bg);font:clamp(7px,.8vw,9px) var(--mono);pointer-events:auto;box-shadow:0 3px #0007}#notification{position:absolute;left:50%;top:calc(78px + env(safe-area-inset-top));transform:translate(-50%);background:var(--alt);color:var(--ink);padding:12px 18px;font:clamp(17px,1.8vw,22px) var(--body);max-width:min(90vw,460px);z-index:50;opacity:0;pointer-events:none;text-align:center;border:2px solid var(--accent)}.sheet{position:absolute;z-index:20;background:var(--panel);top:calc(64px + env(safe-area-inset-top));bottom:calc(30px + env(safe-area-inset-bottom));left:0;width:430px;padding:24px;overflow-y:auto;touch-action:pan-y;border-right:2px solid var(--line);scrollbar-width:thin}.sheet *,.model-card *,.modal *{touch-action:pan-y}.sheet-close{position:absolute;right:12px;top:12px;font:clamp(24px,2.5vw,30px) var(--body);background:var(--alt);color:var(--accent);border:2px solid var(--line);width:44px;height:44px;z-index:22}.sheet>.eyebrow{padding-right:30px}.sheet h2,.yard-heading h2{font:clamp(18px,2.2vw,25px)/1.45 var(--display);margin:18px 0 10px}.sheet-intro{font:clamp(18px,1.9vw,22px) var(--body);color:var(--dim)}.board-tabs{display:flex;border-bottom:2px solid var(--line);margin:14px 0;gap:12px}.board-tabs button{padding:10px 0;background:none;border:0;border-bottom:2px solid transparent;font:clamp(7px,.9vw,9px) var(--mono);color:var(--dim)}.board-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.license{border-block:1px solid var(--line);padding:14px 0}.license>div:first-child{display:flex;justify-content:space-between;font:clamp(7px,.8vw,9px) var(--mono);color:var(--dim)}#license-dots{display:flex;gap:5px;margin-top:12px}#license-dots i{height:4px;background:#ffffff26;flex:1}#license-dots i.done{background:var(--accent)}.license p{font:clamp(16px,1.7vw,20px) var(--body);color:var(--dim);margin:8px 0 0}.job-filters{display:flex;gap:5px;margin:16px 0}.job-filters button{padding:8px;background:var(--alt);border:1px solid var(--line);color:var(--dim);font:clamp(6px,.7vw,8px) var(--mono)}.job-filters button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.contracts{display:flex;flex-direction:column;gap:10px}.contract{background:var(--alt);border:2px solid var(--line);padding:14px;text-align:left;color:var(--ink);width:100%}.contract:hover:not(:disabled){border-color:var(--accent)}.contract-top,.contract-bottom{display:flex;justify-content:space-between;gap:10px;font:clamp(12px,1.3vw,16px) var(--body);color:var(--dim)}.contract-top span:first-child{max-width:65%}.contract-top span:last-child{color:var(--money);white-space:nowrap}.contract h3{font:clamp(19px,2vw,24px) var(--body);margin:10px 0 5px}.contract p{font:clamp(17px,1.7vw,20px)/1.2 var(--body);color:var(--dim);margin:0}.contract-bottom{margin-top:12px}.contract-bottom b{font-weight:400;color:var(--accent)}.sheet-note,.note{font:clamp(14px,1.5vw,18px)/1.3 var(--body);color:var(--dim);margin:20px 0 0}.panel-lead,.port-rest p,.harbor-summary p,.project-card p,.discovery p,.log-entry p,.empty-state{font:clamp(17px,1.8vw,21px)/1.2 var(--body);color:var(--dim)}.harbor-summary{border-bottom:1px solid var(--line);padding:14px 0}.harbor-summary>span,.section-label{display:block;font:clamp(7px,.8vw,9px) var(--mono);color:var(--dim);margin:18px 0 12px}.harbor-summary strong{font:clamp(25px,2.7vw,32px) var(--body)}.project-card,.discovery{border:2px solid var(--line);background:var(--alt);padding:16px;margin:12px 0}.project-card h3,.discovery h3,#free-summary h3{font:clamp(21px,2.2vw,26px) var(--body);margin:10px 0}.project-bonus{font:clamp(14px,1.5vw,18px) var(--body);color:var(--money)}.project-art{display:block;width:100%;aspect-ratio:12/7;object-fit:contain;margin-bottom:14px;background:#dce3d5}.port-rest{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.career-stats,.fleet-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.career-stats b,.fleet-facts b{display:block;font:clamp(22px,2.3vw,30px) var(--body)}.career-stats span,.fleet-facts span{display:block;font:clamp(5px,.7vw,7px)/1.7 var(--mono);color:var(--dim);margin-top:7px}.fleet-facts{grid-template-columns:repeat(4,1fr)}.log-entry{padding:14px 0;border-bottom:1px solid var(--line)}.log-entry>div{display:flex;justify-content:space-between;font:clamp(13px,1.4vw,17px) var(--body);color:var(--dim)}.log-entry b{color:var(--money)}.log-entry h3{font:clamp(21px,2.2vw,26px) var(--body);margin:8px 0}.log-entry small{font:clamp(14px,1.5vw,18px) var(--body);color:var(--dim)}#free-summary p{font:clamp(18px,1.9vw,22px) var(--body);color:var(--dim)}#shipyard{position:absolute;inset:calc(64px + env(safe-area-inset-top)) 0 calc(30px + env(safe-area-inset-bottom));pointer-events:none;z-index:20}.yard-heading{position:absolute;left:24px;top:12px;background:#0a202ce8;padding:12px}.yard-heading h2{margin:10px 0}.yard-heading p{font:clamp(14px,1.5vw,18px) var(--body);color:var(--dim);margin:4px 0}#yard-close{pointer-events:auto}.model-selector{position:absolute;left:24px;bottom:24px;width:calc(100% - 410px);display:grid;grid-template-columns:repeat(4,1fr);gap:5px;pointer-events:auto}.model-selector button{padding:12px 6px;border:2px solid var(--line);background:var(--panel);color:var(--ink);font:clamp(6px,.7vw,9px)/1.8 var(--mono)}.model-selector button.active{border-color:var(--accent);color:var(--accent)}.model-card{position:absolute;right:0;top:0;bottom:0;width:350px;background:var(--panel);border-left:2px solid var(--line);padding:60px 22px 22px;overflow-y:auto;pointer-events:auto;touch-action:pan-y;scrollbar-width:thin}.model-card h2{font:clamp(17px,2vw,23px)/1.5 var(--display);margin:12px 0}.model-facts{display:flex;gap:10px;font:clamp(12px,1.3vw,16px) var(--body);color:var(--dim)}.model-card p{font:clamp(18px,1.9vw,22px)/1.2 var(--body);color:var(--dim)}#fleet-action{width:100%}.download{display:block;margin:16px 0;color:var(--accent);font:clamp(14px,1.5vw,18px) var(--body)}.upgrade{border-top:1px solid var(--line);padding:12px 0}.upgrade-heading{display:flex;align-items:center;justify-content:space-between}.upgrade h3{font:clamp(20px,2vw,24px) var(--body);margin:0}.upgrade small{font:clamp(14px,1.5vw,18px) var(--body);color:var(--dim)}.upgrade p{margin:8px 0}.upgrade button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:12px;background:var(--alt);color:var(--accent);border:2px solid var(--line);font:clamp(6px,.7vw,8px)/1.8 var(--mono)}.paint-swatches{display:flex;gap:10px;margin:12px 0}.paint-swatches button{background:var(--paint);border:2px solid var(--line);width:44px;height:44px}.paint-swatches button[aria-pressed=true]{border-color:var(--accent)}.modal-backdrop{position:absolute;inset:calc(64px + env(safe-area-inset-top)) 0 calc(30px + env(safe-area-inset-bottom));background:var(--backdrop);z-index:40;display:grid;place-items:center;padding:12px}.modal{background:var(--panel);border:2px solid var(--accent);padding:24px;width:450px;max-width:100%;max-height:100%;overflow-y:auto;touch-action:pan-y;box-shadow:0 4px #0007}.modal h2{font:clamp(17px,2vw,24px)/1.5 var(--display);margin:18px 0}.modal p{font:clamp(18px,1.9vw,23px)/1.2 var(--body);color:var(--dim)}.modal .primary{width:100%;margin-top:20px}.secondary{display:block;width:100%;border:2px solid var(--line);color:var(--accent);background:var(--alt);padding:12px;font:clamp(7px,.8vw,9px)/1.6 var(--mono);margin-top:10px}.receipt{border-block:1px solid var(--line);padding:8px 0;margin:18px 0}.receipt>div{display:flex;justify-content:space-between;font:clamp(18px,1.9vw,22px) var(--body);padding:6px 0;color:var(--dim)}.receipt>.total{font:clamp(24px,2.7vw,32px) var(--body);color:var(--money);border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.help-grid{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;font:clamp(17px,1.8vw,20px) var(--body);color:var(--dim)}.settings-controls label{display:flex;align-items:center;justify-content:space-between;gap:18px;font:clamp(19px,2vw,23px) var(--body);padding:14px 0}.settings-controls small{display:block;font:clamp(16px,1.7vw,20px) var(--body);color:var(--dim);max-width:260px;margin-top:5px}.settings-controls input{width:24px;height:24px;accent-color:var(--accent)}.settings-controls select{padding:10px;background:var(--alt);color:var(--ink);border:2px solid var(--line);font:clamp(17px,1.8vw,22px) var(--body)}.pause-options{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px}.text-action{background:none;border:0;border-bottom:1px solid var(--line);padding:6px 0;color:var(--accent);font:clamp(7px,.8vw,9px)/1.7 var(--mono);text-align:left}#active-voyage{padding:14px;background:var(--alt);border:2px solid var(--accent);margin:14px 0}#active-voyage>span{font:clamp(7px,.8vw,9px) var(--mono);color:var(--accent)}#active-voyage p{font:clamp(20px,2vw,24px) var(--body)}#touch{position:absolute;inset:0;pointer-events:none;z-index:18}#joystick{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:calc(48px + env(safe-area-inset-bottom));width:110px;height:110px;background:#0a202c7f;border:2px solid #fff2d988;border-radius:50%;pointer-events:auto;display:grid;place-items:center}#joystick i{width:44px;height:44px;background:#80d4dcdd;border-radius:50%;border:2px solid var(--bg)}.touch-buttons{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:calc(48px + env(safe-area-inset-bottom));display:flex;gap:10px;pointer-events:auto}.touch-buttons button{width:75px;height:65px;background:var(--panel);border:2px solid var(--accent);color:var(--accent);font:clamp(7px,1vw,10px) var(--mono)}.touch-buttons button:last-child{background:var(--accent);color:var(--bg)}#fatal{position:absolute;inset:0;z-index:100;background:var(--bg);padding:15vh 10vw;line-height:1.7}#fatal h2{font:clamp(18px,3vw,30px)/1.5 var(--display)}#fatal a{color:var(--accent)}.touch #key-hints,.touch .help-grid,.touch .tutorial,.touch .interaction kbd{display:none}@media(max-width:1000px){.location,#key-hints{display:none}.interaction{bottom:130px;max-width:50vw}.model-selector{grid-template-columns:repeat(2,1fr)}.yard-heading h2{font-size:clamp(14px,2vw,20px)}}@media(max-width:700px){.masthead{height:calc(58px + env(safe-area-inset-top));padding-inline:10px}.brand{font-size:clamp(7px,1.7vw,10px);gap:5px}.brand small{font-size:clamp(5px,1.1vw,7px)}.brand-icon{display:none}nav{gap:4px}.nav-button{padding:8px;font-size:clamp(6px,1.4vw,8px)}.nav-full{display:none}.nav-short{display:inline}.square{min-width:36px;padding:6px}.wallet{margin-right:2px;font-size:clamp(18px,4.5vw,23px)}footer{padding-inline:10px;gap:8px}#footer-left{font-size:clamp(5px,1.1vw,7px);max-width:40%}#save-indicator{font-size:clamp(5px,1vw,7px)}#hud,#shipyard,.modal-backdrop{top:calc(58px + env(safe-area-inset-top))}.objective-card{left:10px;top:10px;width:230px;padding:10px}.objective-card h2{font-size:clamp(10px,2.6vw,13px);margin:8px 0}.objective-card p{font-size:clamp(17px,4vw,20px)}.objective-card .eyebrow{font-size:clamp(5px,1.3vw,7px)}.objective-footer{font-size:clamp(13px,3.1vw,16px);margin-top:8px;padding-top:8px}#plot-course{margin-top:8px;padding:10px;font-size:clamp(6px,1.6vw,8px)}.radio{left:10px;top:250px;width:230px;padding:10px 24px 10px 12px}.radio p{font-size:clamp(16px,4vw,20px)}.clock-readout{top:10px;right:10px;width:84px;padding:8px}.clock-readout span{font-size:clamp(5px,1.2vw,7px)}.clock-readout strong{font-size:clamp(24px,6vw,30px)}.vessel-status{left:10px;bottom:10px;padding:8px;gap:10px}.vessel-status strong{min-width:60px}.status-detail{width:110px;padding-left:10px}.map-container{right:10px;bottom:10px;width:102px}.map-container canvas{width:86px;height:63px}.map-container>span{font-size:5px;line-height:1.7}.interaction{left:10px;bottom:104px;transform:none;max-width:70vw;font-size:clamp(15px,3.8vw,18px);padding:8px}.leisure-action{bottom:148px;left:10px;font-size:clamp(6px,1.5vw,8px)}.sheet{top:calc(58px + env(safe-area-inset-top));width:min(430px,100%);padding:20px}.sheet-close{position:sticky;float:right;top:0;margin:-8px -8px 0 8px}.board-tabs{gap:16px}.board-tabs button{font-size:clamp(7px,1.9vw,9px)}.model-card{top:auto;bottom:0;width:100%;max-height:44%;padding:16px 20px;border-top:2px solid var(--line);border-left:0}.model-card h2{font-size:clamp(16px,4vw,21px)}.yard-heading{left:10px;top:10px;padding:8px}.yard-heading h2{display:none}.yard-heading p{font-size:clamp(13px,3vw,16px)}.yard-heading .eyebrow{font-size:clamp(6px,1.6vw,8px)}#yard-close{position:absolute;float:none;right:10px;top:10px;margin:0}.model-selector{inset:84px 10px auto;width:auto;grid-template-columns:repeat(4,1fr);gap:4px}.model-selector button{min-height:36px;padding:6px 3px;font-size:clamp(5px,1.3vw,7px)}.touch .vessel-status,.touch .map-container{bottom:154px}.touch .interaction{bottom:274px}.touch .leisure-action{bottom:252px}.touch .radio{display:none}.touch .clock-readout{top:10px}.modal{padding:20px}.modal h2{font-size:clamp(16px,4vw,22px)}.modal-backdrop{padding:10px}}@media(max-height:500px){.objective-card{top:8px;width:260px;padding:8px 12px}.objective-card .eyebrow,.objective-card p,.objective-footer{display:none}.objective-card h2{margin:0;font-size:11px}#plot-course{margin-top:7px;padding:8px;min-height:36px}.radio,.tutorial,.clock-readout{display:none}.vessel-status{bottom:8px;padding:6px 10px;gap:12px}.status-detail{width:120px}.map-container{bottom:8px;width:110px}.map-container canvas{width:94px;height:69px}.leisure-action{bottom:110px}.touch .vessel-status{inset:8px 10px auto auto}.touch .map-container{display:none}.touch .interaction{left:50%;bottom:20px;transform:translate(-50%);max-width:40vw}.touch .leisure-action{inset:90px 10px auto auto}.touch-buttons{bottom:40px}#joystick{bottom:40px;width:90px;height:90px}.sheet h2,.sheet-intro{display:none}.sheet-close{position:sticky;float:right;top:0;margin:-8px -8px 0 8px}.yard-heading{display:none}.model-card{top:0;max-height:100%;width:320px;padding-top:55px}.model-selector{width:calc(100% - 350px);top:auto;bottom:10px;grid-template-columns:repeat(2,1fr)}.model-selector button{font-size:6px;padding:5px}.modal-backdrop{padding:8px}.modal{padding:16px}.modal h2{margin:10px 0}.modal>.eyebrow{margin:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}#app[data-screen=intro]>.masthead,#app[data-screen=intro]>footer{display:none}.entry{position:absolute;inset:0;z-index:45;overflow:hidden;background:var(--bg);color:var(--ink);--entry-accent:var(--accent);--entry-ink:var(--bg);--entry-panel:var(--panel)}.entry-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;image-rendering:pixelated;pointer-events:none}.entry-studio-mark{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:96px;height:auto;image-rendering:pixelated;pointer-events:none}.entry-scrim{position:absolute;inset:0;background:#06192342;pointer-events:none}.entry-stage{position:absolute;top:calc(clamp(40px,10vh,100px) + env(safe-area-inset-top));left:20px;right:20px;display:flex;justify-content:center;pointer-events:none}.entry-title{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0;color:var(--ink);font:400 1em/1.15 var(--mono);text-shadow:3px 3px 0 var(--entry-ink),6px 6px 0 var(--entry-ink)}.entry-word-small{font-size:clamp(16px,2.2vw,26px);letter-spacing:.4em;text-indent:.4em}.entry-word-large{color:var(--accent);font-size:clamp(30px,6vw,72px);letter-spacing:.04em;text-indent:.04em;white-space:nowrap}.entry-action{position:absolute;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));bottom:calc(clamp(52px,12vh,120px) + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:22px}.entry-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:12px 20px;border:2px solid var(--entry-accent);border-radius:0;background:var(--entry-accent);box-shadow:0 3px #0007;color:var(--entry-ink);font:clamp(9px,1.2vw,12px)/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform 70ms steps(2),background 90ms steps(2)}.entry-button:hover{background:var(--accent-hover)}.entry-button:active{transform:translateY(3px);box-shadow:none}.entry-button:focus-visible{outline:2px solid var(--entry-accent);outline-offset:3px}.entry-ghost{background:var(--panel-glass);color:var(--entry-accent);border-color:var(--accent-edge)}.entry-ghost:hover{background:var(--entry-panel);border-color:var(--entry-accent)}.entry-play{min-width:240px;min-height:64px;font-size:clamp(12px,1.5vw,14px)}.entry-ways{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(600px,100%)}.entry-way{min-height:128px;width:100%;font-size:clamp(11px,1.6vw,15px);letter-spacing:.05em;padding:20px 12px}.entry-way.entry-ghost{background:var(--entry-panel);border-color:var(--entry-accent)}.entry-saved{width:min(520px,100%);display:flex;flex-direction:column;align-items:center;gap:18px}.entry-mode-title{margin:0;padding:10px 14px;color:var(--ink);background:var(--alt-glass);font:400 clamp(11px,1.6vw,15px)/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em}.entry-run-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}.entry-run-actions .entry-button{min-height:64px;font-size:clamp(8px,1vw,10px);letter-spacing:.06em}.entry-summary{margin:0;color:var(--ink);background:var(--alt-glass);padding:8px 12px;font:clamp(17px,2vw,22px)/1.2 var(--body);text-align:center;max-width:100%}.entry-back{position:absolute;top:calc(20px + env(safe-area-inset-top));left:calc(20px + env(safe-area-inset-left));width:48px;height:48px;padding:0;font-size:clamp(22px,3vw,28px)}.entry-danger,.entry-danger:hover{color:var(--ink);border-color:var(--danger-fill);background:var(--danger-fill)}.entry-danger:focus-visible{outline-color:var(--danger)}@media(max-width:520px){.entry-studio-mark{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:72px}.entry-stage{left:12px;right:12px}.entry-word-large{font-size:clamp(28px,9vw,46px)}.entry-ways{gap:12px}.entry-way{min-height:112px;font-size:clamp(9px,2.8vw,12px)}.entry-play{min-width:220px}.entry-run-actions{gap:10px}.entry-run-actions .entry-button{padding:10px;font-size:clamp(7px,2.1vw,9px)}}@media(max-height:500px){.entry-studio-mark{right:max(12px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:64px}.entry-stage{top:calc(36px + env(safe-area-inset-top))}.entry-title{gap:8px}.entry-word-small{font-size:14px}.entry-word-large{font-size:clamp(25px,5vw,42px)}.entry-action{bottom:calc(48px + env(safe-area-inset-bottom));gap:12px}.entry-way{min-height:100px}.entry-play{min-height:56px}.entry-back{top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left))}.entry-saved{gap:10px}.entry-summary{font-size:clamp(16px,2vw,20px)}.entry-run-actions .entry-button{min-height:56px}}@media(prefers-reduced-motion:reduce){.entry-button{transition:none}}
