:root{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#000}#root{min-height:100vh}.screen-root{min-height:100vh;width:100%;display:grid;place-items:center}.game-frame{position:relative;width:min(100vw,calc(100vh * 16 / 9));aspect-ratio:16 / 9;background:#000;overflow:hidden;container-type:inline-size}.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.scene-image-fade-in{opacity:0;animation:scene-fade-in .5s linear forwards}.main-ui-overlay{position:absolute;inset:0;pointer-events:none}.main-menu{position:absolute;left:18%;top:21%;width:30%;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;display:grid;gap:1.4%;pointer-events:auto}.main-menu-button{position:relative;width:100%;border:0;margin:0;padding:.5% 0;background:transparent;color:#2b160c;font-size:1.7vw;font-weight:700;letter-spacing:.01em;text-align:left;display:grid;grid-template-columns:1.4em 1fr;align-items:center;cursor:pointer;transition:background-color .12s ease}.main-menu-button>*{position:relative;z-index:1}.main-menu-button-active{color:#2b160c;text-shadow:0 0 6px rgba(237,185,105,.62),0 0 12px rgba(237,185,105,.35)}.main-menu-button-active:before{content:"";position:absolute;inset:8% -3% 8% -1%;background:linear-gradient(90deg,#b03c3a00,#c02c2c94 18% 82%,#b03c3a00);border-radius:999px;box-shadow:0 0 10px #c02c2c5c;animation:menu-bar-blink 2s ease-in-out infinite;pointer-events:none;z-index:0}.main-menu-button:hover{color:#3a2111}.main-menu-pointer{color:#5f3015;font-size:.8em}.quick-icon-hotspots{position:absolute;inset:0;pointer-events:none}.quick-icon-hotspot{position:absolute;left:var(--icon-x);top:var(--icon-y);width:5.45%;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid transparent;border-radius:12px;background:transparent;pointer-events:auto;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.quick-icon-hotspot-active{border-color:#4fc3ff;box-shadow:0 0 0 2px #4fc3fff0,0 0 14px #4fc3ffad;animation:quick-icon-blink .5s ease-in-out infinite}.message-window{position:absolute;border:0;padding:0;margin:0;background:transparent;pointer-events:auto;cursor:pointer}.message-window-bottom,.message-window-center{right:5.8%;bottom:4.8%;width:39%}.message-window-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.message-window-text{position:absolute;inset:27% 8.8% 23% 8.4%;margin:0;color:#1d120c;font-size:1.35vw;font-weight:700;line-height:1.42;text-align:left;white-space:pre-wrap;word-break:break-word}.message-wait-indicator{display:inline-block;margin-left:.34em;color:#f2c848;font-weight:800;animation:message-wait-bob .7s ease-in-out infinite}.forage-root{position:absolute;inset:0;overflow:hidden;background:#172314;font-family:Hiragino Maru Gothic ProN,Yu Gothic UI,Yu Gothic,Noto Sans JP,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.forage-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none}.forage-hud{position:absolute;left:2.2%;top:3%;width:31%;display:grid;gap:.83cqw;pointer-events:none}.forage-ui-hidden{opacity:0;transition:opacity .36s ease}.forage-gauge{display:grid;grid-template-columns:3em 1fr;align-items:center;gap:.83cqw;color:#f8fafc;font-size:1.65cqw;font-weight:900;line-height:1;text-shadow:0 .21cqw .42cqw rgba(0,0,0,.65)}.forage-gauge-track{height:1.46cqw;overflow:hidden;border:.21cqw solid rgba(248,250,252,.82);border-radius:.73cqw;background:#0f172ab8;box-shadow:inset 0 .1cqw .42cqw #000000a6}.forage-gauge-track i{display:block;height:100%;border-radius:inherit;transition:width .14s ease,background-color .14s ease}.forage-inventory{position:absolute;left:2%;right:2%;bottom:2.2%;display:flex;flex-wrap:wrap-reverse;gap:1.25cqw;align-items:center;align-content:flex-end;pointer-events:none}.forage-inventory-item{position:relative;width:8.75cqw;height:8.75cqw;border:.31cqw solid rgba(15,23,42,.78);border-radius:1.25cqw;display:grid;place-items:center;color:#111827;overflow:visible;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.54),transparent 24%),linear-gradient(145deg,#d8e3eb,#8f9bab);box-shadow:inset 0 .21cqw .31cqw #ffffff6b,inset 0 -.42cqw .83cqw #0f172a38,0 .42cqw 1.25cqw #00000052}.forage-inventory-item-miss{background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.5),transparent 25%),linear-gradient(145deg,#d9e1e9,#8e9aaa)}.forage-inventory-item-hit{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.62),transparent 25%),linear-gradient(145deg,#8df5de,#159f91)}.forage-inventory-item-rare{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.74),transparent 26%),linear-gradient(145deg,#ffe77a,#d99308);box-shadow:0 0 0 .21cqw #fef08aad,0 0 1.88cqw #facc15cc,inset 0 .21cqw .31cqw #ffffff75,inset 0 -.42cqw .83cqw #67350047}.forage-inventory-stack{background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.45),transparent 25%),linear-gradient(145deg,#cbd5e1,#475569)}.forage-inventory-stack .forage-item-art{filter:drop-shadow(0 .35cqw .32cqw rgba(15,23,42,.44)) saturate(.94)}.forage-inventory-item b{position:absolute;z-index:6;right:-.73cqw;bottom:-.83cqw;min-width:2.7cqw;height:2.7cqw;border-radius:1.35cqw;background:#111827;color:#f8fafc;font-size:1.35cqw;line-height:2.7cqw;text-align:center}.forage-item-art{position:absolute;display:block;box-sizing:border-box;left:50%;top:50%;width:7.5cqw;height:7.5cqw;transform:translate(-50%,-50%);background-repeat:no-repeat;background-size:400% 400%;filter:drop-shadow(0 .42cqw .42cqw rgba(15,23,42,.32))}.forage-notice{position:absolute;left:50%;top:15.5%;transform:translate(-50%);width:72%;padding:1.05cqw 1.9cqw;border:.25cqw solid rgba(254,240,138,.76);border-radius:.94cqw;background:#111827bd;color:#fefce8;font-size:2.15cqw;font-weight:900;line-height:1.22;text-align:center;text-shadow:0 .21cqw .31cqw rgba(0,0,0,.55);pointer-events:none}.forage-game-over{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:0;border:0;background:#000;cursor:pointer;opacity:1;animation:forage-game-over-in .52s ease-out both}.forage-game-over img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.forage-game-over-leaving{animation:forage-game-over-out .62s ease-in both}@keyframes forage-game-over-in{0%{opacity:0}to{opacity:1}}@keyframes forage-game-over-out{0%{opacity:1}to{opacity:0}}.forage-dialog{position:absolute;inset:0;display:grid;place-items:center;background:#00000061}.forage-dialog-panel{width:46%;padding:2.5cqw;border:.31cqw solid #f8d46b;border-radius:.83cqw;background:linear-gradient(#ffffff1a,#fff0),#2d2018;color:#fff7ed;box-shadow:0 1.88cqw 4.38cqw #0000007a}.forage-dialog-panel p{margin:0 0 1.88cqw;font-size:2.08cqw;font-weight:900;text-align:center}.forage-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:1.25cqw}.forage-dialog-actions button{min-height:4.17cqw;border:.21cqw solid #f8d46b;border-radius:.73cqw;background:#5f3015;color:#fff7ed;font-size:1.77cqw;font-weight:900;cursor:pointer}.forage-dialog-actions button:hover{background:#7c3f1c}.start-button{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);padding:0;margin:0;border:none;background:transparent;cursor:pointer;opacity:0;animation:start-button-fade 2.2s ease-out .12s forwards}.start-button img{display:block;width:min(34vw,380px);max-width:72%;height:auto;-webkit-user-select:none;user-select:none}.start-button:hover{transform:translate(-50%,-50%) scale(1.015)}.start-button:active{transform:translate(-50%,-50%) scale(.985)}.fade-overlay{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}.fade-overlay-visible{opacity:1;transition:opacity .5s linear}.fade-overlay-hiding{opacity:0;transition:opacity .5s linear}@keyframes start-button-fade{0%{opacity:0}to{opacity:1}}@keyframes scene-fade-in{0%{opacity:0}to{opacity:1}}@keyframes menu-bar-blink{0%{opacity:1}50%{opacity:.28}to{opacity:1}}@keyframes message-wait-bob{0%{transform:translateY(0)}50%{transform:translateY(4px)}to{transform:translateY(0)}}@keyframes quick-icon-blink{0%{opacity:1;box-shadow:0 0 0 2px #4fc3fff0,0 0 14px #4fc3ffad}50%{opacity:.28;box-shadow:0 0 0 2px #4fc3ff75,0 0 6px #4fc3ff38}to{opacity:1;box-shadow:0 0 0 2px #4fc3fff0,0 0 14px #4fc3ffad}}
