.app{height:100dvh;max-width:1024px;margin:0 auto;padding:.5rem;display:flex;flex-direction:column;overflow:hidden}@keyframes dmgFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.dmg-float{animation:dmgFloat .9s ease-out forwards;font-weight:800;paint-order:stroke;stroke:#000;stroke-width:2px;pointer-events:none}@keyframes hurtFlash{0%{opacity:.9}to{opacity:0}}.hurt-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 44px 10px #ff282899;animation:hurtFlash .45s ease-out forwards}@keyframes walkTargetPulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}.walk-target{transform-box:fill-box;transform-origin:center;animation:walkTargetPulse .6s ease-in-out infinite;pointer-events:none}@keyframes chestReveal{0%{opacity:0;transform:translateY(5px) scale(.6)}35%{opacity:1;transform:translateY(-3px) scale(1.12)}to{opacity:0;transform:translateY(-8px) scale(1)}}.chest-reveal{transform-box:view-box;animation:chestReveal .5s ease-out forwards;pointer-events:none}.chest-reveal-label{fill:#fff0a2;font-weight:800;paint-order:stroke;stroke:#261b0e;stroke-width:2px}@keyframes hpCriticalPulse{0%,to{opacity:1}50%{opacity:.55}}.hp-critical{animation:hpCriticalPulse .8s ease-in-out infinite}h1{margin:0;font-size:2.5rem;letter-spacing:-.02em}button{font:inherit;color:#14131a;background:#b9a7ff;border:0;border-radius:.5rem;padding:.4rem .9rem;cursor:pointer}button:hover{background:#cabcff}button:disabled{opacity:.45;cursor:default}@keyframes chimneySmoke{0%{opacity:0;transform:translate(0)}25%{opacity:.5}to{opacity:0;transform:translate(1.5px,-7px)}}.chimney-smoke{transform-box:fill-box;transform-origin:center;animation:chimneySmoke 4.2s linear infinite;pointer-events:none}@keyframes arrivalRing{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:.95;transform:scale(1.08)}}.arrival-ring{transform-box:fill-box;transform-origin:center;animation:arrivalRing 1.15s ease-in-out infinite;pointer-events:none}@media(prefers-reduced-motion:reduce){.walk-target,.arrival-ring,.hp-critical,.chimney-smoke{animation-duration:.01ms;animation-iteration-count:1}}.gear-panel{margin:8px auto;max-width:320px;padding:8px 10px 10px}.gear-row{display:flex;justify-content:center;align-items:flex-start;gap:4px}.gear-slot{width:84px;text-align:center}.gear-slot-box{width:56px;height:56px;margin:auto}.gear-figure{margin-top:8px}.pack-square{width:44px;height:44px}.pack-square-key{display:none}@media(hover:hover)and (pointer:fine){.pack-square-key{display:block;position:absolute;top:1px;left:3px;font-size:9px;line-height:1;color:#8f929b}}.pack-grid{display:grid;grid-template-columns:repeat(6,44px);gap:4px;justify-content:center}.action-bar{display:flex;flex-direction:column;gap:6px;width:100%;max-width:320px;margin:6px auto 4px}.action-bar-top{display:flex;align-items:center;gap:8px}.grind-button{flex:1 1 0;min-height:48px;font-size:16px;font-weight:700;letter-spacing:1px;border-radius:6px}.gear-button{width:44px;height:44px;flex:0 0 auto;cursor:pointer}.gear-button-badge{position:absolute;display:grid;place-items:center;width:18px;height:18px;border-radius:4px;background:#0d0f12;border:1px solid #3a3f4b}.gear-button-badge-weapon{top:-5px;left:-5px}.gear-button-badge-armor{bottom:-5px;right:-5px}.status-bar{margin:8px auto;width:100%}.item-choice{display:flex;gap:6px}.item-choice button{padding:4px 10px;font-size:11px;font-weight:700;border-radius:6px;cursor:pointer}.sheet-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b8;z-index:5}.sheet{background:#1c1b24;border:1px solid #3a3f4b;border-radius:8px}.sheet-actions{display:flex;gap:8px;margin-top:12px}.sheet-button{flex:1 1 0;min-height:44px;font-size:15px;font-weight:700;letter-spacing:1px;border-radius:6px;cursor:pointer}@media(min-width:620px){.gear-panel{max-width:560px}.gear-row{gap:18px}}@media(max-height:700px)and (min-width:620px){.action-bar{flex-direction:row;align-items:center;justify-content:center;max-width:none;gap:10px;margin:4px auto}.action-bar-top{flex:0 0 auto}.grind-button{flex:0 0 auto;min-width:116px}.pack-grid{grid-template-columns:repeat(9,44px)}.status-bar{margin:4px auto}}@media(max-height:700px){.gear-panel{margin:4px auto;padding:6px 8px 8px}.gear-slot-box{width:44px;height:44px}.gear-slot-box svg{width:32px;height:32px}.gear-figure{margin-top:12px}.gear-figure svg{width:32px;height:32px}}:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{margin:0;background:#14131a;color:#e8e6f0}
