:root{color-scheme:dark;--ink:#10292d;--deep:#0b1e22;--cream:#f5dfad;--teal:#7ad4c0;--rust:#c37249;--line:#64716a;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--deep);color:var(--cream);overscroll-behavior:none}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{min-height:44px;border:1px solid #83978a;background:#213e40;border-radius:7px;padding:9px 14px;cursor:pointer;font-weight:700}button:hover{background:#355655}button:active,button.held{background:var(--teal);color:var(--ink);transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffe9ab;outline-offset:3px}a{color:var(--teal)}#app{height:100dvh;max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 46px minmax(0,1fr) 168px 26px 18px;gap:4px;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden}header{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line)}header a{text-decoration:none;font-size:11px;font-weight:800;letter-spacing:1.3px;min-height:44px;display:flex;align-items:center}header span{color:var(--cream);margin-left:5px}header strong{font-family:Georgia,serif;letter-spacing:1px;font-size:18px}header button{font-size:12px;padding:8px}#hud{display:flex;align-items:center;justify-content:space-between;gap:8px}#hud small,#hud b{display:block}small{font-size:10px;letter-spacing:.5px}#stageNumber{color:var(--teal);font-family:ui-monospace,monospace;letter-spacing:1.5px}#stageName{font-size:15px}.readouts{display:flex;gap:8px;align-items:center;font-size:11px}.readouts span{white-space:nowrap}#workspace{display:flex;justify-content:center;gap:28px;min-height:0;overflow:hidden}#fieldWrap{height:100%;min-height:0;max-width:100%;flex:1;min-width:0;display:flex;align-items:center;justify-content:center}canvas{display:block;max-width:100%;max-height:100%;width:auto;height:100%;aspect-ratio:660/648;border:1px solid #798675;background:#10292d;touch-action:none}#equipmentPanel{display:none;width:200px;padding:8px 4px}#equipmentPanel img{width:180px;height:155px;object-fit:contain}#equipmentPanel small{color:var(--teal)}#gearList{font-size:13px;line-height:1.8}#workshop{font-family:Georgia,serif;font-size:16px;line-height:1.5;color:#cbbf9c}#controls{display:flex;justify-content:center;align-items:center;gap:32px;touch-action:none;user-select:none}#pad{display:grid;grid-template-columns:52px 52px 52px;grid-template-rows:52px 52px 52px;gap:3px}#pad button{padding:0;font-size:28px;min-height:52px;touch-action:none;border-color:#97b8a4;background:#294746}#pad button.held{background:var(--teal);color:var(--ink)}.up{grid-column:2;grid-row:1}.left{grid-column:1;grid-row:2}.right{grid-column:3;grid-row:2}.down{grid-column:2;grid-row:3}.padCenter{grid-column:2;grid-row:2;place-self:center;color:#6c9385;font-size:32px}#actions{width:200px;display:flex;flex-direction:column;gap:5px}#pulse{height:64px;background:var(--cream);color:var(--ink);font-size:19px;letter-spacing:2px;border-color:var(--cream);touch-action:none}#pulse small{display:block;font-size:9px;letter-spacing:0;margin-top:3px}.utilities{display:flex;gap:5px}.utilities button{flex:1;padding:4px 8px;font-size:12px;touch-action:none}.utilities small{display:block;font-size:9px;font-weight:400;margin-top:2px}.controlHint{text-align:center;color:#b1c0b5;font-size:10px;line-height:1.5}#message{margin:0;text-align:center;align-self:center;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a2afa3}dialog{padding:0;border:1px solid #89947e;border-radius:10px;max-height:calc(100dvh - 24px);width:min(900px,calc(100vw - 24px));max-width:none;color:var(--cream);background:var(--ink);box-shadow:0 20px 100px #000b}dialog::backdrop{background:#020d12da;backdrop-filter:blur(6px)}#dialogBody{max-height:calc(100dvh - 28px);overflow:auto}.hero{min-height:min(650px,80dvh);display:grid;grid-template-columns:1fr 1.05fr;background:#172a2c}.hero picture{min-height:100%;position:relative;order:2}.hero img{display:block;width:100%;height:100%;object-fit:cover}.heroText{position:relative;padding:38px 28px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-family:ui-monospace,monospace;color:var(--teal);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 16px}.hero h1{font:clamp(48px,8vw,82px)/.9 Georgia,serif;letter-spacing:-3px;margin:0 0 20px}.hero h1 em{color:var(--teal);font-weight:400}.heroText p{font-size:14px;line-height:1.5}.primary{background:var(--cream);color:var(--ink);border:1px solid var(--cream)}.primary:hover{background:#ffeec6}.hero select,.difficultySelect{min-height:44px;border:1px solid #8ba79b;background:#18383b;padding:8px;border-radius:5px;width:100%;margin:8px 0}.heroButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.heroButtons .primary{grid-column:1/-1}.credit{padding:12px 18px;margin:0;font-size:11px;text-align:center;line-height:1.5;background:var(--deep)}.credit a{display:inline-flex;align-items:center;min-height:44px}.sheet{padding:25px;max-width:760px;margin:auto}.sheet h2{font:34px/1.1 Georgia,serif;margin:6px 0 14px}.sheet p{font-size:14px;line-height:1.6}.sheet .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.sheet .actions button{flex:1;min-width:110px}.sheet ul{padding-left:20px;font-size:14px;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:15px;border:1px solid #6a8176;border-radius:6px;background:#19383b}.card h3{font:22px Georgia,serif;margin:0 0 8px}.card p{margin:7px 0;font-size:13px}.card .source{font-size:11px;color:#b9c9b8}.card a{display:inline-flex;min-height:44px;align-items:center}.muted{color:#acb9aa}.stages{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stages button{min-height:58px;font-size:16px}.stages small{display:block;font-size:9px;margin-top:4px}.rewardVisual{display:flex;align-items:center;gap:20px;padding:12px;background:#0e2529;border:1px solid #5c7f6f}.rewardVisual img{width:120px;height:110px;object-fit:contain}.rewardVisual strong{color:var(--teal);font:24px Georgia,serif}.statusBox{padding:12px;border-left:3px solid var(--teal);background:#0c2327;font-size:13px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.legend p{margin:0}.hint{font-size:12px!important;color:#bbc8b8}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.modalHead button{flex-shrink:0}@media(min-width:860px) and (min-height:550px){#equipmentPanel{display:block}#app{grid-template-rows:48px 48px minmax(0,1fr) 168px 26px 18px}#controls{gap:45px}}@media(max-width:500px){header{gap:5px}header strong{font-size:14px}header a{font-size:9px;letter-spacing:.5px}#hud{gap:3px}#stageName{font-size:13px}.readouts{gap:5px;font-size:10px}#pulseStatus{display:none}#controls{gap:12px}#actions{width:138px}#pulse{font-size:18px}.controlHint{font-size:9px}.hero{min-height:0;display:block;position:relative}.hero picture{display:block;position:absolute;inset:0}.hero img{object-position:50% 54%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d2329f5,#0d2329a8 68%,#0d232967)}.heroText{z-index:1;min-height:min(600px,calc(100dvh - 98px));padding:24px}.hero h1{font-size:59px;margin-bottom:13px}.heroText p{max-width:230px;font-size:13px}.eyebrow{font-size:10px;margin-bottom:12px}.hero select{max-width:230px;margin:4px 0}.heroButtons{max-width:230px;gap:6px}.heroButtons button{font-size:12px}.credit{padding:2px 12px;font-size:10px}.sheet{padding:17px}.sheet h2{font-size:29px}.cards{grid-template-columns:1fr}.stages{grid-template-columns:repeat(5,1fr);gap:5px}.rewardVisual{gap:10px}.rewardVisual img{width:80px}.rewardVisual strong{font-size:20px}}@media(max-height:650px) and (orientation:portrait){#app{grid-template-rows:44px 39px minmax(0,1fr) 164px 20px 14px;gap:2px}#message{font-size:10px}.heroText{padding:18px 20px;min-height:0}.hero h1{font-size:48px;margin-bottom:10px}.heroText p{margin:7px 0}.heroButtons{margin-top:5px}.eyebrow{margin-bottom:8px}}@media(orientation:landscape) and (max-height:550px){#app{grid-template-columns:minmax(0,1fr) 172px;grid-template-rows:40px 32px minmax(0,1fr) 22px 14px;gap:3px;padding:4px max(6px,env(safe-area-inset-right)) 4px max(6px,env(safe-area-inset-left))}header{grid-column:1/-1}#hud{grid-column:1;grid-row:2}#workspace{grid-column:1;grid-row:3}#controls{grid-column:2;grid-row:2/5;flex-direction:column;gap:4px;justify-content:center}#actions{width:164px;gap:3px}#pulse{height:48px;min-height:48px;font-size:16px}#pulse small{display:none}.utilities button{min-height:44px}.controlHint{display:none}#message{grid-column:1;grid-row:4;font-size:9px}footer{grid-column:1/-1;grid-row:5}#pad{grid-template-columns:48px 48px 48px;grid-template-rows:48px 48px 48px;gap:2px}#pad button{min-height:48px}#equipmentPanel{display:none}.hero{min-height:0;grid-template-columns:1.25fr 1fr}.heroText{padding:15px 22px}.hero h1{font-size:43px;margin:0 0 5px}.heroText p{font-size:11px;margin:5px 0}.hero .eyebrow{margin-bottom:8px;font-size:9px}.hero select{font-size:11px;margin:3px 0}.heroButtons{margin-top:3px;gap:5px}.heroButtons button{font-size:11px;padding:5px 8px}.hero picture{min-height:0}.credit{padding:0;font-size:10px}.sheet{padding:16px 22px}.sheet h2{font-size:28px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:500px){.hero:after{background:linear-gradient(90deg,#0d2329e8,#0d2329a8 48%,#0d232925)}.heroText:after{content:"";position:absolute;right:-5px;bottom:20px;width:150px;height:150px;background:url("./assets/retriever.webp") center/contain no-repeat;pointer-events:none;z-index:-1}}
#app{width:100%;min-width:0}#hud>div:first-child{min-width:0}#stageNumber{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readouts{flex-shrink:0}#controls{min-width:0}#actions{min-width:0}#fieldWrap{position:relative}.mobileGear{display:none}
@media(max-width:340px){#controls{gap:8px}#actions{width:126px;flex-shrink:1}.controlHint{font-size:8px}#pulse small{font-size:8px}.heroText{padding:15px 18px}.heroText .hint{display:none}.hero h1{font-size:45px}.heroText p{font-size:12px}.heroButtons{margin-top:4px}}
@media(orientation:landscape) and (max-height:550px){.heroText{padding:12px 20px}.hero h1{font-size:34px;letter-spacing:-1px;margin-bottom:5px}.hero h1 br{display:none}.hero h1 em:before{content:' '}.heroText p:nth-of-type(3),.heroText .hint{display:none}.heroText p{margin:3px 0}.heroText .eyebrow{margin-bottom:6px}.hero img{object-position:75% center}.hero picture{position:relative}.hero picture img{position:absolute;inset:0}.credit{line-height:1.3}.heroButtons{grid-template-columns:1fr 1fr}.heroButtons button{min-height:44px}}
@media(orientation:portrait) and (min-height:760px) and (max-width:550px){.mobileGear{display:block;position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:11px;color:var(--teal);padding:6px;line-height:1.5}.mobileGear span{color:#a5b6a7;font-size:10px}}

#app>*{min-width:0}#stageName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
