:root{color-scheme:dark;--ink:#e8e6da;--muted:#9aaca9;--line:#33413f;--gold:#d4bd87;--dark:#101a1e;--form:#d4bd87}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0d1519;color:var(--ink);font-family:Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}body{overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.38;cursor:default}[hidden]{display:none!important}.layout{display:grid;grid-template-columns:295px 470px 110px;gap:55px;justify-content:center;align-items:center;min-height:100svh;padding:32px 20px;background:radial-gradient(ellipse at 56% 40%,#24333155,transparent 65%)}.intro .edition{font:9px monospace;letter-spacing:1.6px;color:#8faaa3;display:flex;gap:8px;align-items:center}.edition i,footer i{display:inline-block;width:4px;height:4px;background:var(--gold);border-radius:50%}.intro h1{font-size:46px;letter-spacing:-2.5px;line-height:.94;margin:24px 0 34px}.intro h1 em{font-style:normal;color:var(--gold)}.rule{height:1px;width:35px;background:#647064;margin:28px 0}.intro h2{font-size:37px;line-height:1.7;letter-spacing:3px;font-weight:500;margin:0 0 24px}.intro p{font-size:12px;line-height:2.3;color:#a5b4ad}.intro-meta{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;display:flex;flex-direction:column;gap:8px;color:#a1b0a5;font-size:10px}.intro .desktop-help{font-size:10px;line-height:2;color:#71847f;margin:25px 0 18px}.intro a{font-size:10px;color:#8f9c8d;text-underline-offset:4px}.device{position:relative;isolation:isolate;width:470px;background:#111d21;border:1px solid #45524c;box-shadow:0 25px 90px #0006;overflow:hidden;display:flex;flex-direction:column;height:900px}.topbar{display:flex;justify-content:space-between;align-items:center;height:42px;flex-shrink:0;border-bottom:1px solid #3e4b434f;padding:0 15px;background:#132023}.topbar>span{font:10px monospace;letter-spacing:1.8px}.topbar>div{display:flex;gap:5px}.topbar button{background:transparent;border:0;min-width:34px;height:34px;font-size:16px;position:relative;color:#aabaaf}.topbar small{position:absolute;font-size:9px;top:4px;right:2px;color:#d3a46b}.resources{height:94px;flex-shrink:0;padding:10px 16px 6px;display:grid;grid-template-columns:1fr 1fr;gap:5px 18px;background:#122025}.meter-row label{display:flex;justify-content:space-between;font:8px monospace;color:#b2c0b5;letter-spacing:.8px;margin-bottom:6px}.meter-row b{font-weight:400;color:#e8e3cb}.meter{height:7px;border:1px solid #50615a;background:#09151a;position:relative;overflow:hidden}.meter i{position:absolute;inset:0 auto 0 0;height:100%;width:100%}.meter .trail{background:repeating-linear-gradient(135deg,#916e47 0 3px,#4b4130 3px 6px)}.meter .fill{background:#b5c99e}.meter.life .fill{background:#e3deca}.life:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(5% - 1px),#122025 calc(5% - 1px) 5%);z-index:2}.life:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 2px),#122025 calc(25% - 2px) 25%);z-index:3}.supply-line{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font:9px monospace;color:#91a69b}.supply-line>span:last-child{color:#d6c291}.viewport{position:relative;flex:1;min-height:270px;background:#0c1418;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.background{position:absolute;inset:0;background:url('assets/shaft.webp') center 35%/cover no-repeat;filter:brightness(.7);pointer-events:none}#scene{display:block;width:100%;height:100%;position:relative;z-index:1}.scene-vignette{position:absolute;inset:0;background:linear-gradient(#08111540,transparent 30%,transparent 80%,#07101630);pointer-events:none;z-index:2}.scene-label{position:absolute;top:13px;left:15px;pointer-events:none;z-index:3;text-shadow:0 1px 5px #000}.scene-label>span{font:8px monospace;color:#b1bca4;letter-spacing:1.4px}.scene-label strong{font-size:12px;font-weight:500;display:block;margin-top:6px;color:#d8ddcf;letter-spacing:2px}.context{position:absolute;z-index:3;pointer-events:none;background:#101e25dd;border:1px solid #8e9d78;padding:6px 9px;color:#d5dcb8;font-size:10px;white-space:nowrap;transform:translate(-50%,-100%)}.reticle{position:absolute;color:#d3bd83;z-index:3;pointer-events:none;font-size:26px;transform:translate(-50%,-50%);line-height:24px;text-align:center}.reticle span{font-size:8px;display:block;white-space:nowrap}.toast{position:absolute;left:15px;right:15px;bottom:16px;z-index:4;background:#0d1a20eb;border:1px solid #7d8b63;padding:11px;font-size:11px;line-height:1.7;text-align:center;color:#d5dcb8;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}.transition{position:absolute;inset:0;z-index:5;background:#080f14;opacity:0;pointer-events:none;transition:opacity .35s}.transition.on{opacity:1}.overlay{position:absolute;inset:0;z-index:6;background:#0c171edb;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:23px;overflow-y:auto}.screen{width:100%;max-width:310px;text-align:center;margin:auto}.eyebrow{font:8px monospace;letter-spacing:1.6px;color:#afbf9c;display:block}.glyph{font-size:58px;color:var(--gold);line-height:1.2;margin:14px 0}.screen h2{font-size:43px;letter-spacing:5px;font-weight:500;line-height:1.45;margin:8px 0 16px}.screen h2 em{font-style:normal;color:#d6c291}.screen>p{font-size:12px;color:#aebeb2;line-height:2.1;margin:15px 0 24px}.screen .small{font-size:26px;letter-spacing:2px}.primary{border:1px solid #e2cf9b;width:100%;min-height:46px;display:flex;justify-content:space-between;align-items:center;background:#d4bd87;color:#172323;font-size:12px;font-weight:700;padding:10px 17px}.primary span{font-size:20px;font-weight:400}.secondary{width:100%;border:1px solid #526256;background:#233637;min-height:42px;margin-top:12px;font-size:11px}.text-button{font-size:10px;min-height:38px;border:0;background:none;color:#a2b49f;text-decoration:underline;text-underline-offset:4px;padding:9px}.screen>small{display:block;font-size:8px;color:#738c82;margin-top:3px}.help-screen{text-align:left}.help-screen .small{font-size:23px}.help-screen dt{font-size:11px;color:#d4c18b;margin:13px 0 4px}.help-screen dd{font-size:10px;color:#aebdb0;line-height:1.7;margin:0}.note{font-size:8px!important;line-height:1.7!important;margin:14px 0!important;color:#869e91!important}.setting{display:flex;justify-content:space-between;font-size:11px;color:#c5cebc;border-top:1px solid var(--line);padding-top:10px;margin-bottom:16px}.setting input{accent-color:var(--gold)}.record-screen{text-align:left}.record-screen>p{white-space:pre-line;font-size:12px;line-height:2.3;margin:20px 0 25px}.stats{display:flex;justify-content:center;gap:34px;margin-bottom:25px}.stats span{font-size:9px;color:#8fa391}.stats b{display:block;font:23px monospace;color:#dedbc3;margin-top:6px}.objective{height:88px;flex-shrink:0;padding:12px 15px 10px;background:#142326;border-top:1px solid #4151456b}.objective>div:first-child{display:flex;justify-content:space-between;font:8px monospace;color:#90a38f;letter-spacing:1px}.objective b{font-weight:400;color:#d4c18c}.objective p{font-size:11px;line-height:1.6;margin:8px 0 10px;min-height:18px}.progress{display:flex;gap:5px}.progress i{height:2px;flex:1;background:#34483f}.progress i.done{background:#bcce9b}.controls{height:124px;flex-shrink:0;display:flex;gap:10px;padding:10px 12px;background:#101e22}.pad{position:relative;flex:1;border:1px solid #4c6259;background:repeating-linear-gradient(90deg,transparent 0 31px,#45604d10 32px),repeating-linear-gradient(transparent 0 31px,#45604d10 32px),#1b2d30;touch-action:none;user-select:none;-webkit-user-select:none;min-width:0}.pad-art{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center;gap:5px;color:#738f80;pointer-events:none}.pad-art>span{font:12px monospace;line-height:12px}.pad-art>div{font-size:20px;display:flex;justify-content:space-around;align-items:center}.pad-art b{font:9px monospace;letter-spacing:1px;color:#b4c5ac}.pad-art small{font-size:8px;color:#879f8c}.pad.active{border-color:#d1c28d;background-color:#263c36}.pad.active .pad-art{opacity:.2}.thumb{position:absolute;display:none;width:42px;height:42px;border:1px solid #e0ce98;background:#d4bd8712;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.pad.active .thumb{display:block}.actions{width:90px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.actions button{border:1px solid #88936a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#233731;color:#d1d9b3;min-width:0}.actions b{font-size:25px;font-weight:400}.actions span{font-size:9px}.actions .form{background:#26312f;border-color:#52685c;color:#b5bfa0}.form>span{font-size:23px}.form small{font-size:8px}.form.on{background:var(--form);color:#14252a}.device>.form-menu{position:absolute;z-index:9;left:12px;right:12px;bottom:151px;background:#102229f5;border:1px solid #92a076;padding:13px;text-align:center}.form-menu>span{font-size:10px;color:#c5d1ac}.form-menu>div{display:flex;gap:7px;margin:12px 0}.form-menu button{border:1px solid #5c7164;background:#263d39;min-height:40px;font-size:11px}.form-menu>div button{flex:1}.form-menu>button{width:100%;background:transparent;border:0;font-size:10px;min-height:30px;color:#a9baa5}footer{height:22px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 13px;border-top:1px solid #334b414f;font:7px monospace;letter-spacing:.8px;color:#748d7e}footer i{margin-right:5px}.side-note{font-size:10px;color:#788f80}.side-note>span{writing-mode:vertical-rl;font:9px monospace;letter-spacing:1.5px}.side-note i{display:block;width:1px;height:100px;background:#4b6051;margin:20px 4px}.side-note p{font-size:10px;line-height:2}
@media(max-width:1100px){.layout{grid-template-columns:270px 440px;gap:35px}.device{width:440px}.side-note{display:none}}
@media(max-width:760px){.layout{display:block;padding:0}.intro,.side-note{display:none}.device{width:min(100%,500px);height:100svh;border:0;margin:0 auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-shadow:none}.topbar{height:40px}.topbar button{width:38px;height:38px}.resources{height:78px;padding:9px 15px 4px}.viewport{min-height:190px}.objective{height:82px;padding-top:10px}.controls{height:124px}.device>.form-menu{bottom:calc(148px + env(safe-area-inset-bottom))}.screen h2{font-size:38px}.glyph{font-size:48px;margin:10px 0}.screen>p{font-size:11px;margin:12px 0 18px}.help-screen .small{font-size:21px}.help-screen dt{margin-top:10px}}
@media(max-height:700px) and (max-width:760px){.topbar{height:34px}.resources{height:65px;padding-top:7px;gap:3px 12px}.meter-row label{font-size:7px;margin-bottom:4px}.supply-line{font-size:8px}.objective{height:74px;padding:8px 13px}.objective p{font-size:10px;margin:6px 0 8px}.controls{height:108px;padding:8px 10px}.viewport{min-height:180px}footer{height:18px}.glyph{display:none}.screen h2{font-size:29px}.screen .small{font-size:21px}.screen>p{margin:10px 0 13px}.overlay{padding:16px;align-items:flex-start}.screen{margin:auto 0}.device>.form-menu{bottom:128px}.pad-art{gap:3px}.help-screen .small{font-size:18px}.help-screen dt{font-size:10px;margin-top:7px}.help-screen dd{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.device{background:linear-gradient(#101c20dd,#101c20ed),url('assets/shaft.webp') center/cover}.topbar,.resources,.objective,.controls{background-color:#102025cc}.transition.active{opacity:1}.thumb{margin:-21px 0 0 -21px}.actions{width:115px;grid-template-columns:2fr 1fr}.actions .interact span{font-size:9px;line-height:1.5;padding:0 4px}.context{pointer-events:none;white-space:nowrap}.record-screen>p{white-space:pre-line}
