:root{--bg:#2a3a40;--paper:#f4ead3;--ink:#2c3a40;--brass:#d7a14a;--rope:#c4843a;--rescue:#c45a32;--rock:#4d646c;--sa-t:env(safe-area-inset-top,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);--sa-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{touch-action:none;-webkit-user-select:none;user-select:none;height:100%;color:var(--ink);background:#4a3e34;font-family:PingFang SC,Hiragino Sans GB,ui-sans-serif,system-ui,sans-serif;overflow:hidden}#stage{width:100%;height:100%;position:fixed;inset:0;transform:none}#c{width:100%;height:100%;display:block;position:absolute;inset:0}#pan-layer{z-index:1;touch-action:none;position:absolute;inset:0}#hits{pointer-events:none;z-index:2;position:absolute;inset:0}.node-hit{pointer-events:auto;cursor:pointer;background:0 0;border:0;min-width:48px;min-height:48px;position:absolute}.node-hit[data-off="1"]{background:#f4ead38c;border:2px solid #e3b23c;border-radius:999px}#hud{pointer-events:none;z-index:3;position:absolute;inset:0}#top-chip{margin:max(6px, var(--sa-t)) max(8px, var(--sa-r)) 0 max(8px, var(--sa-l));background:color-mix(in srgb, var(--paper) 94%, transparent);pointer-events:auto;z-index:4;border:1px solid #cbb992;flex-direction:column;gap:0;max-height:30%;padding:4px 8px 6px;display:flex;position:relative;overflow:auto;box-shadow:0 8px 18px #18202238}#title-row{align-items:center;gap:8px;display:flex}#title{color:var(--ink);letter-spacing:.04em;white-space:nowrap;flex:auto;min-width:0;font-size:15px;font-weight:700}.release-link{color:#6a4e24;margin-left:6px;font-size:13px;font-weight:600}#goal{color:var(--rescue);font-size:14px;font-weight:700}#panel-budget{min-height:22px;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:0;font-size:14px;position:static}.chip-btn,.guide-btn,.skin-btn,.join-btn,.dock-btn,.end-btn,.contract-opt{min-width:48px;min-height:48px;color:var(--ink);cursor:pointer;pointer-events:auto;background:#efe4c8;border:1px solid #8a6a3a;font-size:14px;font-weight:700}.chip-btn{background:#ead7a8;min-width:44px;height:44px;min-height:44px;padding:0 10px;font-size:13px}body[data-guide=on] #status,body[data-guide=off] #guide-text,body[data-guide=off] #btn-guide-skip{display:none}#guide{pointer-events:auto;align-items:center;gap:6px;display:flex;position:relative}#guide-text{min-width:0;color:var(--ink);background:0 0;flex:1;padding:4px 0;font-size:14px;line-height:1.35}.guide-btn{width:48px;color:var(--ink);background:#ead7a8;flex:0 0 48px;padding:0;font-size:12px;position:static}#status{max-width:none;color:var(--ink);pointer-events:none;background:0 0;padding:0;font-size:13px;position:static}#panel-plan{left:max(8px, var(--sa-l));right:max(8px, var(--sa-r));bottom:calc(108px + var(--sa-b));min-height:44px;color:var(--paper);border-left:4px solid var(--brass);pointer-events:none;z-index:4;background:#1a2022db;padding:8px 12px;font-size:14px;line-height:1.35;position:absolute}#panel-inspect{left:max(8px, var(--sa-l));right:max(8px, var(--sa-r));bottom:calc(164px + var(--sa-b));width:auto;min-height:72px;color:var(--ink);background:var(--paper);pointer-events:auto;z-index:5;border:1px solid #c45a32;padding:10px 112px 10px 12px;font-size:14px;line-height:1.35;position:absolute;transform:none;box-shadow:0 10px 24px #14181a47}#panel-inspect[data-empty="1"],body[data-phase=run] .join-btn,body[data-phase=preview] .join-btn,body[data-phase=paused] .join-btn,body[data-phase=won] .join-btn,body[data-phase=failed] .join-btn{display:none}body[data-phase=run] #panel-inspect,body[data-phase=preview] #panel-inspect,body[data-phase=paused] #panel-inspect,body[data-phase=won] #panel-inspect,body[data-phase=failed] #panel-inspect{padding-right:12px}body[data-rescue=waiting] #goal{color:#6a3418}body[data-rescue=carried] #goal{color:#5a3e12}body[data-rescue=safe] #goal{color:#2a4a28}.join-btn{background:var(--rescue);color:#fff6e4;border-color:#8a3018;width:92px;height:48px;font-size:13px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.join-btn[data-on="1"]{background:#a43c1c}.join-btn[data-on="0"]{color:#6a5a48;background:#d8c8a8;border-color:#a09070}#inspect-main{min-width:0;font-size:14px;line-height:1.35}#inspect-debug{color:#6a5a48;font-size:12px;position:absolute;top:8px;right:102px}#inspect-debug[open]{z-index:6;background:var(--paper);border:1px solid #8a6a3a;min-width:220px;padding:6px 8px}#inspect-debug-body{white-space:pre-wrap;word-break:break-all;margin-top:6px;font-size:11px}#settings-sheet,#contract-panel,#end-card{background:var(--paper);border:1px solid var(--brass);width:min(420px,100% - 24px);color:var(--ink);pointer-events:auto;z-index:8;max-height:calc(100% - 48px);padding:16px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}#settings-sheet[hidden],#contract-panel[hidden],#end-card[hidden]{display:none}.sheet-heading,#contract-heading{color:#6a4e24;margin-bottom:8px;font-size:18px;font-weight:700}.sheet-lead,#contract-lead,.sheet-note{color:#4a3a28;margin-bottom:12px;font-size:14px;line-height:1.4}#skin-toggle{pointer-events:auto;align-items:center;gap:8px;min-height:48px;margin:18px 0 8px;display:flex;position:relative}#skin-kicker{color:#6a4e24;font-size:12px;font-weight:700;position:absolute;top:-16px;left:0}.skin-btn{flex:1;height:48px}.skin-btn[data-on="1"]{border-color:var(--rescue);color:#fff6e4;background:#c45a32}.contract-opt{text-align:left;width:100%;min-height:64px;margin-bottom:8px;padding:8px 12px;display:block}.contract-opt[data-on="1"]{border-color:var(--rescue);background:#f3d2b4}.contract-opt strong{margin-bottom:2px;font-size:16px;display:block}#contract-close,#btn-settings-close{min-width:148px;margin:8px auto 0;display:block}#end-summary{margin-bottom:12px;font-size:16px;line-height:1.45}#end-actions{gap:12px;display:flex}.end-btn{background:#ead7a8;flex:1;min-width:48px;height:48px}@media (aspect-ratio>=1){#top-chip{max-width:min(420px,52%)}#panel-inspect{left:auto;right:max(8px, var(--sa-r));width:min(300px,36%);top:72px;bottom:auto}#panel-plan{left:auto;right:max(8px, var(--sa-r));width:min(300px,36%);bottom:calc(64px + var(--sa-b))}}#dock{padding:8px max(8px, var(--sa-r)) max(10px, var(--sa-b)) max(8px, var(--sa-l));pointer-events:none;z-index:4;background:linear-gradient(#0000,#14181a59 30%,#14181aeb);flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.dock-btn{pointer-events:auto;min-width:72px;height:48px;color:var(--ink);background:#efe4c8;flex:calc(25% - 6px);font-size:13px;position:static}.dock-btn[data-on="1"]{background:var(--rescue);color:#fff6e4;border-color:#8a3018}.dock-btn[data-need="1"]{border-color:var(--rescue);box-shadow:inset 0 0 0 2px #c45a32}.dock-btn[hidden]{display:none}#rotate-hint{z-index:20;text-align:center;color:var(--brass);pointer-events:none;background:#1a1410eb;padding:8px 12px;font-size:13px;font-weight:700;position:fixed;top:0;left:0;right:0}#rotate-hint[hidden]{display:none}#cta{color:#fff6e4;letter-spacing:.08em;pointer-events:none;background:linear-gradient(#0000 30%,#0c080e26 54%,#0c080ed1 100%);justify-content:center;align-items:flex-end;padding-bottom:88px;font-size:42px;font-weight:800;display:flex;position:fixed;inset:0}#cta[hidden]{display:none}@media (width>=900px){#top-chip{width:min(720px,100% - 300px);right:auto}#panel-plan{left:auto;right:max(16px, var(--sa-r));width:260px;top:88px;bottom:auto}#dock{width:min(720px,72%);left:auto}.dock-btn{flex:12%}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
