.ledger-open>:not(#red-ledger):not(#game){visibility:hidden!important}#red-ledger{position:absolute;inset:0;z-index:80;overflow:auto;color:#efe5d1;background:#100c0ab8;font-family:Modern DOS,monospace;overscroll-behavior:contain;display:grid;align-items:safe center;justify-items:center}#red-ledger[hidden],.ledger-modal[hidden]{display:none}#red-ledger *{box-sizing:border-box}#red-ledger button{font:inherit;cursor:pointer;color:#fbfaf8;border:2px solid #a87941;background:#221a16;padding:11px 17px;border-radius:7px;min-height:44px}#red-ledger button:hover:not(:disabled){background:#3a2d24;border-color:#e8c17d}#red-ledger button:focus-visible,.ledger-details summary:focus-visible{outline:3px solid #fff1cf;outline-offset:3px}#red-ledger button:disabled{cursor:default;opacity:.55}#red-ledger button.ledger-primary{background:#e8c17d;border-color:#f0d69e;color:#30291e;box-shadow:inset 0 -3px #a87941}#red-ledger button.ledger-primary:hover:not(:disabled){background:#f0d69e;color:#30291e;border-color:#fff1cf}.ledger-board{width:min(650px,calc(100% - 32px));margin:18px auto;background:#100c0a;border:3px solid #6e5035;border-radius:12px;box-shadow:0 18px 90px #12140bba;overflow:hidden}.ledger-board-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 26px;background:#181210;border-bottom:2px solid #3a2d24}.ledger-topline{margin:0 0 8px;font-size:11px;letter-spacing:1.4px;color:#ad9a7d}#red-ledger h1{font-size:30px;line-height:1.15;color:#fbfaf8;margin:0;font-weight:400}#red-ledger .ledger-board-header button{font-size:27px;min-width:44px;padding:0}.ledger-board-body{padding:20px 26px}.ledger-contract{margin-bottom:18px}#red-ledger h2{font-size:25px;font-weight:400;margin:0 0 8px}.ledger-contract h2{color:#f0d69e}.ledger-contract>span{color:#ad9a7d;font-size:14px}.ledger-hunters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#red-ledger .ledger-hunter{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 4px 14px;min-width:0;border-color:#3a2d24;background:#181210}#red-ledger .ledger-hunter[aria-pressed=true]{border-color:#e8c17d;background:#2c2118;box-shadow:inset 0 0 0 1px #6e5035}#red-ledger .ledger-hunter:disabled{opacity:1;color:#ad9a7d}.ledger-hunter:disabled canvas{opacity:.78;filter:saturate(.6)}.ledger-hunter canvas{width:160px;height:180px;max-width:100%;object-fit:contain;image-rendering:pixelated}.ledger-hunter strong{font-size:16px;line-height:1.25;font-weight:400}.ledger-hunter small{font-size:11px;color:#ad9a7d;margin-top:7px}.ledger-hunter[aria-pressed=true] small{color:#e8c17d}.ledger-loadout{color:#f0d69e;font-size:14px;margin:14px 0 20px;text-align:center}.ledger-loadout span{color:#ad9a7d}.ledger-reward-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0;border-top:1px solid #3a2d24}.ledger-prize{color:#e8c17d;font-size:14px}.ledger-reward-row strong{color:#f0d69e;font-size:22px;font-weight:400;white-space:nowrap}.ledger-reward-row small{color:#ad9a7d;font-size:12px}#red-ledger .ledger-start{width:100%;font-size:18px;padding:14px}.ledger-entry-note{font-size:12px;color:#ad9a7d;text-align:center;margin:12px 0 18px}.ledger-details{border-top:1px solid #3a2d24;padding-top:15px}.ledger-details summary{cursor:pointer;font-size:13px;color:#ad9a7d}.ledger-history{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;font-size:11px;color:#ad9a7d}.ledger-history strong{display:block;color:#f0d69e;font-size:17px;font-weight:400;margin:5px 0}.ledger-controls-note{margin:18px 0 0;color:#ad9a7d;font-size:12px;line-height:1.6}.ledger-kicker{color:#d9917b;letter-spacing:2px;text-transform:uppercase;font-size:11px;margin:0 0 10px}.ledger-session{position:absolute;inset:0;overflow:hidden;background:#11151c}.ledger-field{position:absolute;inset:0}#ledger-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;cursor:crosshair;touch-action:none}#ledger-canvas:focus{outline:none}.ledger-hud{position:absolute;z-index:1;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px 40px;pointer-events:none;background:linear-gradient(#080c13b0,transparent);text-shadow:1px 2px #080b12}.ledger-hud>div{min-width:120px}.ledger-hud small{display:block;font-size:11px;color:#bccbc9;margin-bottom:4px}.ledger-hud strong{font-size:23px;font-weight:400}.ledger-time{text-align:center;color:#edd1aa}.ledger-score{text-align:right}.ledger-health-track{height:5px;background:#431f30;margin-top:6px;width:130px;box-shadow:0 1px 3px #0008}.ledger-health-track i{display:block;height:100%;background:#e98288}.ledger-bottom{position:absolute;z-index:1;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:35px 26px 22px;pointer-events:none;background:linear-gradient(transparent,#080c13c9);text-shadow:1px 2px #080b12}.ledger-bottom small{display:block;color:#afc6c6;font-size:12px;margin-top:5px}.ledger-toolbar{display:flex;gap:6px;pointer-events:auto}#red-ledger .ledger-toolbar button{padding:9px 11px;font-size:12px;background:#151b23b8;border-color:#64777588}.ledger-boss{position:absolute;top:85px;left:30%;right:30%;pointer-events:none;text-align:center;font-size:11px;text-shadow:1px 1px #000;color:#ffb995}.ledger-boss i{display:block;height:4px;background:#cf596e;margin-top:5px}.ledger-pickup{position:absolute;bottom:90px;left:50%;transform:translate(-50%);border:1px solid #bda171;background:#101923e8;padding:8px 14px;white-space:nowrap;font-size:13px;pointer-events:none}.ledger-modal{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#080e18c9;overflow:auto;padding:20px}.ledger-dialog{width:min(580px,100%);padding:30px;background:#100c0a;border:3px solid #6e5035;border-radius:12px;box-shadow:0 20px 90px #0008}.ledger-dialog p{color:#ad9a7d;font-size:14px;line-height:1.6}.ledger-dialog .ledger-result-score{color:#f1c78f;font-size:48px;margin:14px 0}.ledger-dialog .ledger-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.ledger-perks{display:grid;gap:10px}#red-ledger .ledger-perks button{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px;text-align:left;padding:17px}.ledger-perk-icon{display:block;width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.ledger-perk-copy{min-width:0}.ledger-perks strong{display:block;font-weight:400;color:#f1d3a7;font-size:19px;margin-bottom:7px}.ledger-perks small{display:block;color:#ad9a7d}.ledger-warning{color:#ffc67f!important;padding:10px;border:1px solid #a8774d}.ledger-touch{display:none;position:absolute;z-index:1;inset:auto 0 98px;justify-content:space-between;padding:0 22px;pointer-events:none}.ledger-stick{width:104px;height:104px;border-radius:50%;border:1px solid #91aea56b;background:#151f2833;touch-action:none;position:relative;color:#cadcd2;font-size:10px;display:grid;place-items:center;-webkit-user-select:none;user-select:none;pointer-events:auto}.ledger-stick i{position:absolute;width:32px;height:32px;border-radius:50%;border:1px solid #b6cfc8;background:#abc5b42e;pointer-events:none}.ledger-stick span{position:absolute;bottom:8px;pointer-events:none}@media(pointer:coarse){.ledger-touch{display:flex}.ledger-controls-note .ledger-keyboard{display:none}.ledger-pickup{bottom:215px}}@media(max-width:650px){#red-ledger .ledger-perks button{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px}.ledger-perk-icon{width:32px;height:32px}.ledger-board{margin:12px auto;width:calc(100% - 20px)}.ledger-board-header,.ledger-board-body{padding:16px}.ledger-hunters{gap:6px}.ledger-hunter canvas{width:96px;height:108px}.ledger-hunter strong{font-size:13px;min-height:32px}.ledger-hunter small,.ledger-reward-row small{font-size:10px}#red-ledger h1{font-size:27px}.ledger-hud{padding:16px 14px 32px;gap:6px}.ledger-hud>div{min-width:70px}.ledger-hud small{font-size:9px}.ledger-hud strong{font-size:20px}.ledger-health-track{width:85px}.ledger-bottom{flex-wrap:wrap;justify-content:center;padding:26px 10px 14px;gap:12px;text-align:center}.ledger-bottom>div:first-child{width:100%}#red-ledger .ledger-toolbar button{padding:9px 8px;font-size:11px}.ledger-dialog{padding:22px}.ledger-pickup{font-size:11px}.ledger-boss{left:18%;right:18%}.ledger-touch{bottom:125px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:600px){.ledger-touch{bottom:70px;padding:0 18px}.ledger-stick{width:80px;height:80px}.ledger-hud{padding-top:10px}.ledger-bottom{padding:18px 16px 10px}.ledger-bottom small{display:none}.ledger-pickup{bottom:70px}}.ledger-loadout{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ledger-loadout img{width:56px;height:56px;image-rendering:pixelated;object-fit:contain}.ledger-equipped{display:flex;align-items:center;gap:12px}.ledger-equipped>img{width:48px;height:48px;image-rendering:pixelated;object-fit:contain;filter:drop-shadow(0 2px 2px #000)}.ledger-charge-track{width:150px;height:4px;margin-top:8px;background:#13141b;overflow:hidden}.ledger-charge-track i{display:block;height:100%;background:#a6d8cc;transition:width .12s linear}.ledger-health-track i{transition:width .15s ease-out}#red-ledger .ledger-ready{border-color:#e8c17d;box-shadow:inset 0 0 12px #e8c17d22;color:#ffe8b5}#red-ledger .ledger-hunter:not(:disabled){transition:transform .14s ease-out,background .14s ease-out}#red-ledger .ledger-hunter:hover:not(:disabled){transform:translateY(-3px)}#red-ledger .ledger-hunter:active:not(:disabled),#red-ledger .ledger-primary:active:not(:disabled){transform:translateY(2px)}.ledger-pickup{max-width:calc(100% - 24px);text-align:center;white-space:normal;color:#f0d69e;border-color:#a87941;border-radius:7px;background:#181210ed}@media(max-width:650px){#red-ledger .ledger-perks button{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px}.ledger-perk-icon{width:32px;height:32px}.ledger-equipped{justify-content:center;text-align:left}.ledger-equipped>img{width:40px;height:40px}.ledger-charge-track{width:130px}}@media(prefers-reduced-motion:reduce){#red-ledger .ledger-hunter{transition:none}#red-ledger .ledger-hunter:hover:not(:disabled),#red-ledger .ledger-hunter:active:not(:disabled),#red-ledger .ledger-primary:active:not(:disabled){transform:none}.ledger-charge-track i,.ledger-health-track i{transition:none}}.ledger-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}#red-ledger .ledger-stage{padding:0 0 8px;overflow:hidden;text-align:left;border-color:#493828;border-radius:5px}#red-ledger .ledger-stage[aria-pressed=true]{border-color:#f0d69e;background:#3a2d24}.ledger-stage img{display:block;width:100%;height:68px;object-fit:cover;image-rendering:pixelated;margin-bottom:6px}.ledger-stage span,.ledger-stage small{display:block;padding:0 8px;font-size:13px}.ledger-stage small{color:#c3ab88;font-size:11px;margin-top:5px}.ledger-stage:disabled img{filter:saturate(.3)}.ledger-hunter canvas{width:96px;height:108px}#ledger-clock{font-size:clamp(14px,2vw,23px)}@media(max-width:600px){.ledger-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-stage img{height:52px}.ledger-stage span{font-size:12px}.ledger-hunter canvas{height:84px}#ledger-phase-label{font-size:9px}}.ledger-worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}#red-ledger .ledger-worlds button{padding:0 0 10px;overflow:hidden;font-size:13px}.ledger-worlds img{display:block;width:100%;height:60px;object-fit:cover;image-rendering:pixelated;margin-bottom:7px}#red-ledger .ledger-worlds [aria-pressed=true]{border-color:#f0d69e;background:#3a2d24}.ledger-worlds :disabled img{filter:saturate(.3)}.ledger-stages{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}#red-ledger .ledger-stage{text-align:center;padding:10px 0}.ledger-stage span,.ledger-stage small{padding:0 2px}.ledger-current-hero{display:flex;align-items:center;gap:12px;margin:8px 0}.ledger-current-hero canvas{width:96px;height:108px;image-rendering:pixelated;flex:0 0 96px}.ledger-current-hero p{font-size:13px;color:#baa783;line-height:1.5;margin:6px 0}@media(max-width:600px){.ledger-stages{grid-template-columns:repeat(5,minmax(0,1fr))}.ledger-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-worlds img{height:44px}}.ledger-celebrating .ledger-hud,.ledger-celebrating .ledger-bottom,.ledger-celebrating .ledger-touch,.ledger-celebrating .ledger-boss,.ledger-celebrating .ledger-pickup{visibility:hidden}.ledger-victory{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding:20px;background:radial-gradient(ellipse at center,transparent 15%,#190c1b88 100%)}.ledger-victory strong{color:#ffe6a2;font-size:clamp(44px,11vw,128px);letter-spacing:.06em;text-shadow:0 5px #813747,0 9px #26121c,0 0 55px #ffb84788;animation:ledger-victory-impact .65s cubic-bezier(.12,.8,.2,1) both}.ledger-victory p{color:#f6ce90;letter-spacing:.24em;font-size:clamp(12px,2vw,19px)}.ledger-victory span{color:#fff1d4;font-size:clamp(16px,3vw,28px);margin-top:18px;animation:ledger-spoils .5s .3s both}.ledger-victory small{color:#d4b89a;margin-top:36px;animation:ledger-spoils .5s .7s both}.ledger-victory-label{color:#ffdf94!important;font-size:24px!important;letter-spacing:.16em;margin-top:0}.ledger-victory-result{animation:ledger-spoils .4s ease-out both}.ledger-victory-result .ledger-result-score{text-shadow:0 0 24px #edac4744;animation:ledger-spoils .4s .1s both}@keyframes ledger-victory-impact{0%{opacity:0;transform:scale(1.6) translateY(-18px);filter:brightness(2)}45%{opacity:1;transform:scale(.96)}to{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes ledger-spoils{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ledger-victory *,.ledger-victory-result,.ledger-victory-result .ledger-result-score{animation:none}}@font-face{font-family:Modern DOS;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/ModernDOS8x16.ttf) format("truetype")}:root{font-family:Modern DOS,monospace;font-size:16px;color:#eadfc9;background:#100c0a;font-synthesis:none;color-scheme:dark;--ink: #100c0a;--panel: #181210f4;--parchment: #e8c17d;--muted: #ad9a7d;--frame: url(/assets/minifantasy/ui/classic-frame.png);--button-accent: url(/assets/minifantasy/ui/classic-button-accent.png)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#app img,#app a{-webkit-user-drag:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{min-height:40px;padding:6px 14px;border:7px solid transparent;border-image:var(--frame) 16 fill / 7px / 0 stretch;font:400 16px Modern DOS,monospace;letter-spacing:.02em;color:#e6d8bd;background:#1b1310e8;cursor:pointer}button:hover:not(:disabled){color:#fff2d2;background:#2b1d17f2;filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.9)}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #f2d9a7;outline-offset:3px}a{color:#dfbc80}[hidden]{display:none!important}#stage{position:relative;width:100%;height:100dvh;outline:none;background:var(--ink);isolation:isolate}#game{display:block;width:100%;height:100%;image-rendering:pixelated;cursor:crosshair;touch-action:none}.hud{position:absolute;inset:0;z-index:2;pointer-events:none}.vitals{position:absolute;top:max(20px,calc(env(safe-area-inset-top) + 12px));left:max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:16px 150px;grid-template-rows:25px 12px;align-items:center;gap:2px 7px;filter:drop-shadow(0 2px 1px #000b)}.vitals:before{content:"";grid-row:1 / 3;width:16px;height:16px;background:url(/assets/minifantasy/ui/icon-heart.png) center / 16px no-repeat;image-rendering:pixelated}.health{position:relative;width:150px;height:20px;padding:4px 10px;border:4px solid transparent;border-image:url(/assets/minifantasy/ui/classic-bar-frame.png) 6 14 fill / 4px 10px / 0 stretch;background:#160d0b}.health:after{content:"";position:absolute;inset:8px 10px;box-shadow:inset 0 0 0 1px #0b0706aa;pointer-events:none}.health i{display:block;width:100%;height:4px;background:linear-gradient(#d76a57 0 40%,#9b352d 40% 100%);box-shadow:0 0 6px #9c3f3544;transition:width .12s}.health i.low{background:linear-gradient(#f08162 0 40%,#bd3327 40% 100%);animation:low-health .8s steps(2,end) infinite}#hp-number{grid-column:2;color:#c8b89d;font:400 16px Modern DOS,monospace;letter-spacing:.08em}.area{position:absolute;top:max(19px,calc(env(safe-area-inset-top) + 11px));right:max(64px,calc(env(safe-area-inset-right) + 64px));min-width:142px;padding-right:3px;text-align:right;line-height:1.35;text-shadow:1px 1px 0 #000,0 2px 5px #000}#area-name{display:block;color:#f0d69e;font:400 16px Modern DOS,monospace;letter-spacing:.08em}#area-progress{display:block;color:#b6a88e;font-size:14px;letter-spacing:.06em}.menu-button{position:absolute;top:max(17px,calc(env(safe-area-inset-top) + 9px));right:max(17px,env(safe-area-inset-right));width:38px;min-height:34px;padding:0;color:transparent;background:#17100edf;pointer-events:auto}.menu-button:after{content:"";position:absolute;inset:7px;background:url(/assets/minifantasy/ui/icon-menu.png) center / 16px no-repeat;image-rendering:pixelated}#minimap{position:absolute;top:max(66px,calc(env(safe-area-inset-top) + 66px));right:max(17px,env(safe-area-inset-right));width:136px;height:102px;padding:7px;border:7px solid transparent;border-image:var(--frame) 16 fill / 7px / 0 stretch;background:#0d0a08dd;image-rendering:pixelated;opacity:.78;filter:drop-shadow(0 3px 4px #0008)}.abilities{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));display:flex;align-items:center;gap:4px;filter:drop-shadow(0 2px 2px #0009)}.ability{position:relative;display:grid;place-items:center;width:38px;height:38px;border:6px solid transparent;border-image:var(--frame) 16 fill / 6px / 0 stretch;background:#17100ed9}.ability svg,.ui-icon{position:relative;z-index:1;display:inline-block;width:20px;height:20px;image-rendering:pixelated;background-position:center;background-repeat:no-repeat;background-size:contain}.ability svg,#touch-controls svg{fill:none;stroke:#e7d4ad;stroke-width:1.5}.ui-icon--sword{background-image:url(/assets/minifantasy/ui/icon-sword.png)}.ui-icon--fire{background-image:url(/assets/minifantasy/ui/icon-fire.png)}.ui-icon--dash{background-image:url(/assets/minifantasy/ui/icon-dash.png)}.ui-icon--potion{background-image:url(/assets/minifantasy/ui/icon-potion.png)}.ui-icon--currency{background-image:url(/assets/minifantasy/ui/icon-currency.png)}.ui-icon--arrow{background-image:url(/assets/minifantasy/class-effects/icon-arrow.png)}.ui-icon--arcane{background-image:url(/assets/minifantasy/class-effects/icon-arcane.png)}.ui-icon--holy-nova{background-image:url(/assets/minifantasy/class-effects/icon-holy-nova.png)}.ui-icon--shockwave{background-image:url(/assets/minifantasy/class-effects/icon-shockwave.png)}.ability i{position:absolute;inset:0;z-index:2;background:#080605b8;transform:scaleY(0);transform-origin:bottom}.ability span:not(.ui-icon){position:absolute;right:2px;bottom:0;z-index:3;min-width:11px;color:#fff2d0;font-size:14px;text-align:center;text-shadow:1px 1px #000}.keycap{position:absolute;top:calc(100% + 7px);left:50%;z-index:3;padding:0 3px;color:#d9c7a3;background:#17100ee6;border:1px solid #6d5335;border-radius:2px;font:10px/12px Modern DOS,monospace;letter-spacing:.04em;white-space:nowrap;transform:translate(-50%);pointer-events:none}.fps{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));font-size:12px;color:#d3c4a0;opacity:.8;text-shadow:1px 1px 0 #000,0 0 4px #000;pointer-events:none}.gold{display:flex;align-items:center;gap:7px;margin-left:6px;padding:3px 10px 3px 7px;border:1px solid #b08a4a;color:#ffd977;font:400 18px Modern DOS,monospace;letter-spacing:.04em;text-shadow:1px 1px 0 #000;background:#140e0ceb;box-shadow:0 2px #0009}.gold:before{content:"";width:16px;height:16px;background:url(/assets/minifantasy/ui/icon-currency.png) center / 16px no-repeat;image-rendering:pixelated}.travel-button{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:max(184px,calc(env(safe-area-inset-left) + 184px));z-index:4;min-width:124px;color:#2d1a12;border:6px solid transparent;border-image:var(--button-accent) 6 14 fill / 6px 14px / 0 stretch;background:transparent;font:400 16px Modern DOS,monospace;letter-spacing:.08em}.travel-button:hover:not(:disabled){color:#24120c;background:transparent;filter:brightness(1.08)}.in-city .vitals,.in-city .ability{display:none}.in-city .abilities{bottom:max(24px,env(safe-area-inset-bottom))}.prompt{position:absolute;bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px));left:50%;z-index:3;max-width:calc(100% - 32px);padding:9px 16px;border:7px solid transparent;border-image:var(--frame) 16 fill / 7px / 0 stretch;color:#ead8b6;background:#17100ee8;font-size:16px;white-space:nowrap;pointer-events:none;transform:translate(-50%);filter:drop-shadow(0 3px 5px #0009)}.overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at center,#2a1d163d,transparent 58%),#0807068c;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.panel{width:300px;max-width:100%;max-height:min(90dvh,760px);overflow:auto;padding:22px 24px;border:10px solid transparent;border-image:var(--frame) 16 fill / 10px / 0 stretch;color:#e4d5b9;background:var(--panel);box-shadow:0 14px 50px #000a;scrollbar-color:#8e6b42 #140e0c;scrollbar-width:thin}.panel h1,.panel h2{color:#f0d49c;font-family:Modern DOS,monospace;font-weight:400}.panel h1{margin:0 0 22px;font-size:32px;letter-spacing:.12em}.panel h2{margin:0 0 18px;font-size:24px;letter-spacing:.045em}.panel p{color:var(--muted);font-size:16px;line-height:1.65}.start-panel{width:min(310px,100%);padding:30px 34px 34px;text-align:center}.title-mark{margin-bottom:7px;color:#aa7446;font-size:16px}.start-panel h1{margin-bottom:2px;text-shadow:2px 2px 0 #5b251f}.city-caption,.eyebrow{margin:0;color:#9e8767!important;font-size:12px!important;font-weight:400;letter-spacing:.2em}.start-panel .city-caption{margin-bottom:26px}.primary{width:100%;min-height:43px;border:6px solid transparent;border-image:var(--button-accent) 6 14 fill / 6px 14px / 0 stretch;color:#321c12;background:transparent;font:400 16px Modern DOS,monospace;letter-spacing:.08em;text-shadow:0 1px #f7dba4}.primary:hover:not(:disabled){color:#24120c;background:transparent;filter:brightness(1.08)}.plain{width:100%;margin-top:8px;border-color:transparent;border-image:none;color:#aa987b;background:none}.menu-options{display:grid;gap:6px;margin-top:9px}.menu-options button{min-height:38px}.panel details{margin-top:14px;padding-top:11px;border-top:1px solid #8c6a413d;color:#a79880;font-size:14px}.panel summary{cursor:pointer}.panel dl{display:grid;grid-template-columns:1fr 1.2fr;font-size:14px;line-height:1.8}.panel dd{margin:0;color:#d4c3a6}.relic-list{margin-top:14px;padding-top:10px;border-top:1px solid #8c6a413d}.upgrades{width:min(680px,100%)}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choices button{min-height:108px;padding:14px 12px;text-align:left}.choices strong,.choices span{display:block}.choices strong{margin-bottom:8px;color:#ead09b;font:400 16px Modern DOS,monospace}.choices span{color:#ab9a7e;font-size:14px;line-height:1.5}.expeditions{display:flex;width:min(940px,100%);max-height:min(680px,88dvh);padding:20px;overflow:hidden;flex-direction:column}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:2px 2px 16px;padding:0 2px 13px;border-bottom:1px solid #a9804e42}.panel-header h2{margin:4px 0 0}.close-button{width:38px;min-width:38px;min-height:38px;padding:0;color:#c5ad84;font-size:24px;line-height:1}.destination-list{display:grid;min-height:0;overflow:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:8px;padding:2px 5px 5px 2px;scrollbar-color:#8e6b42 #140e0c;scrollbar-width:thin}.destination{position:relative;display:flex;width:100%;min-height:0;flex:1;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:78px 12px 4px 14px;border:0;border-image:none;text-align:left;background:transparent}.destination:hover:not(:disabled){background:transparent}.destination-rank{position:absolute;top:10px;left:12px;display:grid;width:30px;height:24px;place-items:center;border:1px solid var(--region-accent, #9f7348);color:#f0d69e;font:400 16px Modern DOS,monospace;background:#140e0cf5}.destination-state{display:block;margin-top:6px;color:#e8c17d;font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.destination strong,.destination small,.destination-state{display:block;text-shadow:1px 0 #0d0908,-1px 0 #0d0908,0 1px #0d0908,0 -1px #0d0908}.destination strong{margin:0 0 5px;color:#f3dca6;font:400 16px Modern DOS,monospace}.destination small{color:#dccdae;font-size:14px;line-height:1.45}.panel-footer{margin:12px 3px 0!important;color:#9b896d!important;font-size:14px!important;letter-spacing:.08em;text-align:right;text-transform:uppercase}#touch-controls{position:absolute;inset:0;z-index:4;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-stick,.touch-button{color:#ead5aa;background:#17100ecc;border:2px solid #9f764c99;box-shadow:inset 0 0 0 2px #241712,0 2px 8px #0008;pointer-events:auto;touch-action:none}.touch-stick{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));display:grid;width:clamp(104px,29vw,126px);height:clamp(104px,29vw,126px);place-items:center;border-radius:50%;background:linear-gradient(90deg,transparent 49%,#9f764c22 49% 51%,transparent 51%),linear-gradient(transparent 49%,#9f764c22 49% 51%,transparent 51%),#130e0bc9}#move-stick{left:max(15px,env(safe-area-inset-left))}#aim-stick{right:max(15px,env(safe-area-inset-right))}.stick-knob{display:grid;width:48px;height:48px;place-items:center;border:2px solid #b88a56aa;border-radius:50%;background:#352319d9;box-shadow:inset 0 0 0 2px #17100e;pointer-events:none}#touch-controls svg{width:23px;height:23px;pointer-events:none}#touch-controls .ui-icon{width:24px;height:24px;pointer-events:none}.touch-actions{position:absolute;right:max(15px,env(safe-area-inset-right));bottom:calc(max(20px,env(safe-area-inset-bottom)) + clamp(104px,29vw,126px) + 14px);display:flex;gap:9px}.touch-button{position:relative;display:grid;width:50px;height:50px;min-height:50px;padding:0;overflow:hidden;place-items:center;border-radius:50%}.touch-button:before{content:"";position:absolute;inset:0;background:#080605a8;transform:scaleY(var(--cooldown, 0));transform-origin:bottom;pointer-events:none}.touch-button svg,.touch-button .ui-icon,.touch-button span:not(.ui-icon){z-index:1}.touch-button span:not(.ui-icon){position:absolute;right:7px;bottom:2px;color:#fff0cd;font-size:14px}#touch-controls .pressed{border-color:#f0c781;background:#604329e6}.touch-interact{position:absolute;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 36px);left:50%;width:auto;min-width:84px;height:46px;padding:0 12px;border-radius:0;font:400 16px Modern DOS,monospace;letter-spacing:.06em;transform:translate(-50%)}.touch-mode .abilities .ability{display:none}.touch-mode .abilities{top:calc(max(15px,env(safe-area-inset-top)) + 34px);bottom:auto;left:max(15px,env(safe-area-inset-left))}.touch-mode .gold{margin-left:0}.touch-mode .vitals{top:max(15px,env(safe-area-inset-top));left:max(15px,env(safe-area-inset-left))}.touch-mode .menu-button{top:max(10px,env(safe-area-inset-top));right:max(11px,env(safe-area-inset-right));width:46px;min-height:46px}.touch-mode .area{top:max(12px,env(safe-area-inset-top));right:calc(max(11px,env(safe-area-inset-right)) + 56px)}.touch-mode #minimap{top:calc(max(10px,env(safe-area-inset-top)) + 57px);right:max(11px,env(safe-area-inset-right))}.touch-mode .travel-button{bottom:max(18px,env(safe-area-inset-bottom));left:50%;min-height:46px;transform:translate(-50%)}.touch-mode .town-actions{top:max(10px,env(safe-area-inset-top));left:max(11px,env(safe-area-inset-left))}.touch-mode .in-city .abilities{top:calc(max(10px,env(safe-area-inset-top)) + 54px)}.touch-mode .in-city #aim-stick,.touch-mode .in-city #touch-heal{display:none}.touch-mode .in-city .touch-actions{right:max(18px,env(safe-area-inset-right));bottom:max(42px,calc(env(safe-area-inset-bottom) + 42px))}@keyframes low-health{50%{filter:brightness(1.35)}}@media(max-width:680px){.vitals{left:max(12px,env(safe-area-inset-left));grid-template-columns:14px 108px;grid-template-rows:23px 12px}.vitals:before{width:14px;height:14px;background-size:14px}.health{width:108px}.area{top:max(13px,env(safe-area-inset-top));right:max(55px,calc(env(safe-area-inset-right) + 55px));min-width:110px;max-width:calc(100vw - 195px);line-height:1.1}#area-name{font-size:14px}#area-progress{font-size:12px}.menu-button{right:max(10px,env(safe-area-inset-right))}#minimap{top:max(58px,calc(env(safe-area-inset-top) + 58px));right:max(10px,env(safe-area-inset-right));width:108px;height:80px}.abilities{left:max(12px,env(safe-area-inset-left))}.ability{width:34px;height:34px}.ability svg,.ability .ui-icon{width:18px;height:18px}.panel{padding:19px}.choices{grid-template-columns:1fr}.choices button{min-height:74px}.expeditions{width:100%;height:100%;max-height:100%;padding:16px}.panel-header{margin-bottom:10px}.destination-list{grid-template-columns:1fr}.panel-footer{margin-top:8px!important}.travel-button{min-width:104px}}@media(max-height:500px){.touch-mode #minimap{width:86px;height:64px}.touch-mode .touch-stick{bottom:max(10px,env(safe-area-inset-bottom));width:100px;height:100px}.touch-mode .touch-actions{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 110px)}.touch-mode .in-city .touch-actions{bottom:max(34px,calc(env(safe-area-inset-bottom) + 34px))}.expeditions{height:94dvh}.destination-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.audio-setting{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;font-size:16px}.audio-setting input{width:60%;accent-color:#d3af70;cursor:pointer}.hero-select{width:min(580px,100%);padding:26px}.hero-select .city-caption{margin:10px 0 20px}.hero-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hero-choice{display:flex;align-items:center;flex-direction:column;padding:0 0 10px;background:#120e0c;color:#b7a68a}.hero-choice canvas{display:block;width:96px;height:88px;max-width:100%;object-fit:contain;image-rendering:pixelated}.hero-choice[aria-pressed=true]{color:var(--hero-accent);background:#30251b;box-shadow:inset 0 -2px var(--hero-accent)}.hero-description{min-height:96px;padding:10px 0 16px}.hero-description p{margin:0 0 8px;line-height:1.4;color:#c2b293}.hero-description span{color:#ead09b;font-size:14px}.hero-description span+span:before{content:" · ";color:#8e7858}@media(max-width:540px){.hero-select{padding:18px}.hero-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-choice{flex-direction:row;justify-content:center;padding:0 5px}.hero-choice canvas{width:56px;height:68px}.hero-description{min-height:105px}}@media(max-height:500px)and (min-width:541px){.hero-select{padding:14px 22px}.hero-select .city-caption{margin:4px 0 8px}.hero-choice canvas{height:50px;width:55px}.hero-description{min-height:65px;padding:6px 0 8px}}.xp,.run-info,.loadout,.boss-bar{display:none}.in-run .xp,.in-run .run-info,.in-run .loadout{display:flex}.in-run .boss-bar:not([hidden]){display:grid}.xp{position:absolute;top:env(safe-area-inset-top);left:0;right:0;height:13px;align-items:center;background:#0d0908e6;border-bottom:2px solid #3b2a1d}.xp i{display:block;height:100%;width:0;background:linear-gradient(#8fd0ff 0 45%,#3f78c9 45% 100%);box-shadow:0 0 6px #5fa8ff66;transition:width .12s}.xp span{position:absolute;right:max(10px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);color:#e6f3ff;font-size:12px;line-height:1;letter-spacing:.08em;text-shadow:1px 1px 0 #000}.run-info{position:absolute;top:max(16px,calc(env(safe-area-inset-top) + 14px));left:50%;flex-direction:column;align-items:center;transform:translate(-50%);text-shadow:1px 1px 0 #000,0 2px 5px #000;line-height:1.2}#timer{color:#fff1cf;font-size:24px;letter-spacing:.08em}#wave{color:#e8c17d;font-size:14px;letter-spacing:.08em}#kills{color:#b6a88e;font-size:12px;letter-spacing:.08em}.boss-bar{width:min(440px,62vw);margin-top:6px;gap:3px;justify-items:center}#boss-name{color:#ff9a7a;font-size:16px;letter-spacing:.1em;text-shadow:1px 1px 0 #000}.boss-health{width:100%;height:12px;padding:3px;border:2px solid #5a2a1d;background:#140806e6;box-shadow:0 2px 6px #000a}.boss-health i{display:block;height:100%;width:100%;background:linear-gradient(#ff7a5a 0 45%,#b3301f 45% 100%);transition:width .15s}.boss-bar.nemesis #boss-name{color:#e2b8ff}.boss-bar.nemesis .boss-health{border-color:#4a2a5d}.boss-bar.nemesis .boss-health i{background:linear-gradient(#d08cff 0 45%,#7a2fb3 45% 100%)}.loadout{position:absolute;top:max(62px,calc(env(safe-area-inset-top) + 58px));left:max(18px,env(safe-area-inset-left));flex-direction:column;gap:3px}.slots{display:flex;gap:3px}.slot{position:relative;display:grid;width:26px;height:26px;place-items:center;border:2px solid #5b4330;background:#140e0bd9;box-shadow:inset 0 0 0 1px #0b0706}.slot .ui-icon{width:16px;height:16px}.slot b{position:absolute;right:1px;bottom:-2px;color:#fff0c8;font-size:12px;font-weight:400;text-shadow:1px 1px 0 #000}.banner{position:absolute;top:24%;left:50%;z-index:3;display:grid;gap:4px;justify-items:center;padding:10px 22px;pointer-events:none;transform:translate(-50%);text-align:center;text-shadow:2px 2px 0 #000,0 0 12px #000;animation:banner-in 2.6s steps(12,end) both}.banner strong{color:#f6e2b0;font-size:32px;font-weight:400;letter-spacing:.12em}.banner span{color:#cbb592;font-size:16px;letter-spacing:.1em}.banner--elite strong{color:#ffb870}.banner--boss strong{color:#ff7a5a;font-size:36px}.banner--gate strong{color:#9ef5c0}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,8px)}12%,82%{opacity:1;transform:translate(-50%)}to{opacity:0}}.pips{display:inline-flex;gap:2px;vertical-align:middle}.pips i{display:block;width:6px;height:6px;border:1px solid #8e6b42;background:#1a120e}.pips i.on{border-color:#f0c781;background:#e8b45a}.levelup{width:min(860px,100%)}.levelup .eyebrow,.treasure .eyebrow,.summary-panel .eyebrow{margin-bottom:4px}.levelup .choices{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.levelup .choices button{display:grid;align-content:start;gap:6px}.choices .choice-head{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px}.choices .choice-head strong{margin:0;grid-column:1 / -1;grid-row:2;overflow-wrap:anywhere}.choices .choice-head .ui-icon{display:inline-block;width:48px;height:48px;margin:0;background-size:contain;image-rendering:pixelated}.choices kbd{grid-column:2;grid-row:1;justify-self:end;color:#8e7858;font:inherit;font-size:12px}.choices em{color:#9fd0ff;font-size:12px;font-style:normal;letter-spacing:.12em;text-transform:uppercase}.treasure{width:min(420px,100%);text-align:center}.rewards{display:grid;gap:6px;margin:0 0 12px;padding:0;list-style:none;text-align:left}.rewards li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #8c6a413d;background:#1b1311}.rewards strong,.rewards small{display:block}.rewards strong{color:#ead09b;font-weight:400}.rewards small{color:#9fd0ff;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.chest-gold,.shrine-gold,.vault{display:flex;align-items:center;justify-content:center;gap:8px;color:#e6bf68!important}.shrine{display:flex;width:min(640px,100%);flex-direction:column}.shrine-gold{justify-content:flex-start;margin:0!important}.shrine-gold strong{font-weight:400}.shrine-note,.expedition-rules,.pause-note{margin:4px 2px 12px;font-size:14px!important;line-height:1.45!important}.boon-list{display:grid;gap:6px;overflow:auto}.boon{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #8c6a413d;background:#1b1311}.boon-text{display:grid;gap:3px}.boon-text strong{color:#ead09b;font-weight:400}.boon-text small{color:#ab9a7e;font-size:14px}.boon button{min-width:88px}.summary-panel{width:min(460px,100%)}.summary-actions{position:sticky;bottom:-22px;z-index:2;margin:0 -24px -22px;padding:10px 24px 22px;background:#181210}.summary{display:grid;grid-template-columns:1fr auto;gap:4px 16px;margin:0 0 12px;font-size:16px}.summary dt{color:#a79880}.summary dd{margin:0;color:#f0d49c;text-align:right}.summary-loadout{display:grid;gap:4px;margin-bottom:8px;font-size:14px}.summary-item{display:flex;align-items:center;gap:8px;color:#d4c3a6}.summary-item .pips{margin-left:auto}.victory h2{color:#9ef5c0!important}.defeat h2{color:#ff9a7a!important}.hero-description small{display:block;margin-top:6px;color:#8e7858;font-size:12px;letter-spacing:.1em}.in-city .xp,.in-city .loadout{display:none}.touch-mode .loadout{top:calc(max(15px,env(safe-area-inset-top)) + 58px)}.touch-mode .run-info{top:calc(max(15px,env(safe-area-inset-top)) + 2px)}@media(max-width:680px){#timer{font-size:18px}.run-info,.touch-mode .run-info{top:calc(max(14px,env(safe-area-inset-top)) + 46px)}.boss-bar{width:80vw}.banner strong{font-size:24px}.levelup .choices{grid-template-columns:1fr}.choices .choice-head{grid-template-columns:40px minmax(0,1fr) auto}.choices .choice-head .ui-icon{width:40px;height:40px}.choices .choice-head strong{grid-column:2;grid-row:1}.choices kbd{grid-column:3}.slot{width:22px;height:22px}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.panel .version{margin:0 0 14px;color:#7f6c55;font-size:12px;letter-spacing:.14em}.pause-panel .brand-line{display:flex;flex-direction:column;align-items:center;gap:6px;margin:2px 0 18px;padding-bottom:16px;border-bottom:1px solid #3a2c22;text-align:center}.pause-panel .brand-line strong{color:#f0d49c;font-size:32px;font-weight:400;line-height:1;letter-spacing:.12em;text-shadow:2px 2px 0 #5b251f}.pause-panel .brand-line span{color:#8f7b61;font-size:12px;letter-spacing:.1em;white-space:nowrap}.pause-panel h2{text-align:center}.journey-preparation{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;padding:12px;background:#282015;border:1px solid #a9804e55}.journey-preparation strong,.journey-preparation small{display:block;line-height:1.4}.journey-preparation strong{color:#ead09b;font-size:15px}.journey-preparation small{color:#b7a587;font-size:13px;margin-top:4px}.destination-card{position:relative;display:flex;min-width:0;flex-direction:column;border:1px solid #795c36;background-color:#1b1311;background-image:linear-gradient(to bottom,#0d090814 0 54px,#0d0908eb 74px,#0d0908f0),var(--region-art, none);background-size:auto,var(--region-art-size, auto);image-rendering:pixelated;box-shadow:inset 3px 0 0 var(--region-accent, #9f7348)}.destination-card:has(.destination:hover),.destination-card:has(.destination:focus-visible){border-color:var(--region-accent, #9f7348)}.hunt-selector{display:flex;align-items:center;gap:10px;padding:6px 12px 8px 14px;color:#dcc99f;font-size:13px}.hunt-details{display:block;padding:0 12px 10px 14px;color:#d3c4a6;font-size:12px;line-height:1.4}.social-links{display:grid;grid-template-columns:repeat(2,minmax(max-content,1fr));gap:8px;margin-top:12px}.social-link{display:flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:4px 6px;border:7px solid transparent;border-image:var(--frame) 16 fill / 7px / 0 stretch;color:#e6d8bd;font:400 16px Modern DOS,monospace;letter-spacing:.02em;text-decoration:none;background:#1b1310e8}.social-link:hover{color:#fff2d2;background:#2b1d17f2;filter:brightness(1.12)}.social-link:active{transform:translateY(1px);filter:brightness(.9)}.social-link .pixel-icon{flex:none;filter:drop-shadow(0 2px 0 #0d0908)}.social-link[data-social=discord] .pixel-icon{color:#7c89ff}.social-link[data-social=x] .pixel-icon{color:#f4ead6}.dropdown{position:relative;min-width:0;flex:1}.dropdown-trigger{display:flex;width:100%;min-height:36px;align-items:center;justify-content:space-between;gap:10px;padding:4px 10px;border:1px solid #795c36;border-image:none;color:#f0dcae;font-size:14px;text-align:left;background:#1d1511}.dropdown-trigger:hover:not(:disabled){border-color:#b08a55;background:#2a1e17;filter:none}.dropdown.is-open .dropdown-trigger{border-color:#e8c17d}.dropdown-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-caret{width:10px;height:6px;flex:none;background:currentColor;clip-path:polygon(0 0,100% 0,100% 33.4%,80% 33.4%,80% 66.7%,60% 66.7%,60% 100%,40% 100%,40% 66.7%,20% 66.7%,20% 33.4%,0 33.4%)}.dropdown.is-open .dropdown-caret{transform:scaleY(-1)}.dropdown-list{position:fixed;z-index:40;margin:0;padding:2px;overflow-y:auto;border:7px solid transparent;border-image:var(--frame) 16 fill / 7px / 0 stretch;color:#e6d8bd;font:400 14px Modern DOS,monospace;list-style:none;background:#181210;box-shadow:0 10px 28px #000c;scrollbar-color:#8e6b42 #140e0c;scrollbar-width:thin}.dropdown-option{display:flex;min-height:34px;align-items:center;gap:9px;padding:4px 12px 4px 8px;white-space:nowrap;cursor:pointer}.dropdown-option:before{content:"";width:6px;height:6px;flex:none}.dropdown-option[aria-selected=true]:before{background:#e8c17d}.dropdown-option.is-active{color:#fff2d2;background:#3a2a1c}.dropdown-option[aria-disabled=true]{color:#8f806a;cursor:default}@media(pointer:coarse){.dropdown-trigger,.dropdown-option{min-height:42px}}.build-controls{display:flex;align-items:center;gap:16px;margin-top:18px}.build-controls small{color:#b7a587;font-size:14px}.mastery-guide{margin-top:16px;color:#b7a587;font-size:14px}.mastery-guide summary{cursor:pointer;color:#ead09b}.mastery-guide p{font-size:14px;line-height:1.5;margin:10px 0}.career-result,.mastery-earned{color:#ead09b;font-size:15px}@media(max-width:640px){.journey-preparation{grid-template-columns:1fr;gap:8px;padding:9px}.build-controls{flex-direction:column;align-items:stretch;gap:8px}}@media(max-height:500px){.expeditions{display:block;overflow-y:auto}.destination-list{overflow:visible}}.town-guide{position:absolute;top:76px;left:max(18px,env(safe-area-inset-left));z-index:4;width:min(280px,calc(100% - 36px));padding:10px 14px 14px;background:#181210f2;border:2px solid #a87941;border-radius:7px;color:#ead8b6;font:14px/1.4 Modern DOS,monospace}.town-guide header{display:flex;align-items:center;justify-content:space-between;gap:6px}.town-guide header strong{color:#ad9a7d;font-weight:400}.town-guide button{min-width:44px;min-height:44px;padding:0;background:transparent;border:0;color:#ead8b6;font-size:22px}.town-guide-target{display:flex;gap:10px;align-items:center;color:#f0d69e;font-size:18px}#guide-direction{font:24px/1 sans-serif}.town-guide p{margin:8px 0}.town-guide small{display:block;font:inherit;color:#c5bca4}@media(max-width:620px)and (min-height:501px){.town-guide{top:174px;width:min(280px,calc(100% - 36px))}}@media(max-height:500px){.town-guide{top:66px;left:calc(50% - 130px);width:260px;padding:5px 12px 10px;font-size:13px}.town-guide header{height:30px}.town-guide p{margin:4px 0}}.town-guide.guide-fight{border-color:#e55b54}.guide-fight #guide-title{color:#ff8276;font-size:22px;font-weight:700}.guide-fight #guide-direction{color:#ff8276}@media(max-width:620px)and (min-height:501px){.town-guide.guide-fight{top:auto;bottom:164px;width:calc(100% - 36px)}}.run-hint{position:absolute;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 66px);left:max(18px,env(safe-area-inset-left));z-index:4;display:flex;gap:10px;align-items:flex-start;width:min(300px,calc(100% - 36px));padding:10px 14px 12px;color:#ead8b6;background:#181210f2;border:2px solid #a87941;border-radius:7px;font:14px/1.4 Modern DOS,monospace;pointer-events:none}.run-hint .keycap{position:static;flex:none;padding:1px 6px;color:#f0d69e;border-color:#a87941;font-size:13px;line-height:18px;transform:none}.run-hint strong{display:block;color:#f0d69e;font-size:16px;font-weight:400}.run-hint p{margin:4px 0 0}.touch-mode .run-hint{right:max(15px,env(safe-area-inset-right));bottom:calc(max(20px,env(safe-area-inset-bottom)) + clamp(104px,29vw,126px) + 76px);left:auto;width:min(260px,calc(100% - 30px))}@media(max-height:500px){.touch-mode .run-hint{right:auto;bottom:max(14px,env(safe-area-inset-bottom));left:50%;width:min(300px,calc(100% - 300px));padding:6px 10px 8px;font-size:13px;transform:translate(-50%)}}.next-steps{margin:0 0 12px;padding:8px 12px;border-left:3px solid #a87941;background:#1b1311;text-align:left}.next-steps p:not(.eyebrow){margin:4px 0 0;color:#ead8b6;font-size:14px;line-height:1.45}.ui-icon--item-blade{background-image:url(/assets/minifantasy/icons/blade.png)}.ui-icon--item-axe{background-image:url(/assets/minifantasy/icons/axe.png)}.ui-icon--item-missile{background-image:url(/assets/minifantasy/icons/missile.png)}.ui-icon--item-lightning{background-image:url(/assets/minifantasy/icons/lightning.png)}.ui-icon--item-aura{background-image:url(/assets/minifantasy/icons/aura.png)}.ui-icon--item-frost{background-image:url(/assets/minifantasy/icons/frost.png)}.ui-icon--item-poison{background-image:url(/assets/minifantasy/icons/poison.png)}.ui-icon--item-fire{background-image:url(/assets/minifantasy/icons/fire.png)}.ui-icon--item-might{background-image:url(/assets/minifantasy/icons/might.png)}.ui-icon--item-vitality{background-image:url(/assets/minifantasy/icons/vitality.png)}.ui-icon--item-swiftness{background-image:url(/assets/minifantasy/icons/swiftness.png)}.ui-icon--item-haste{background-image:url(/assets/minifantasy/icons/haste.png)}.ui-icon--item-area{background-image:url(/assets/minifantasy/icons/area.png)}.ui-icon--item-magnet{background-image:url(/assets/minifantasy/icons/magnet.png)}.ui-icon--item-armor{background-image:url(/assets/minifantasy/icons/armor.png)}.ui-icon--item-recovery{background-image:url(/assets/minifantasy/icons/recovery.png)}.ui-icon--item-fortune{background-image:url(/assets/minifantasy/icons/fortune.png)}.ui-icon--item-skull{background-image:url(/assets/minifantasy/icons/skull.png)}.ui-icon--item-boss{background-image:url(/assets/minifantasy/icons/boss.png)}.ui-icon--item-clock{background-image:url(/assets/minifantasy/icons/clock.png)}.ui-icon--item-gem{background-image:url(/assets/minifantasy/icons/gem.png)}.ui-icon--item-chest{background-image:url(/assets/minifantasy/icons/chest.png)}.ui-icon--item-lock{background-image:url(/assets/minifantasy/icons/lock.png)}.ui-icon--item-unlock{background-image:url(/assets/minifantasy/icons/unlock.png)}.ui-icon--item-trophy{background-image:url(/assets/minifantasy/icons/trophy.png)}.ui-icon--item-scroll{background-image:url(/assets/minifantasy/icons/scroll.png)}.ui-icon--item-potion{background-image:url(/assets/minifantasy/icons/potion.png)}.auto-tavern{--a-bg: #100c0a;--a-surface: #181210;--a-line: #3a2d24;--a-muted: #ad9a7d;width:min(850px,100%);max-width:100%;max-height:calc(100dvh - 36px);padding:0!important;display:flex;flex-direction:column;overflow:hidden;text-align:left;background:var(--a-bg)!important;color:#fcfbf9;border:3px solid #6e5035!important;border-image:none;border-radius:12px;box-shadow:0 18px 90px #12140bba}.auto-tavern *,.auto-tavern *:before,.auto-tavern *:after{box-sizing:border-box}.auto-tavern img{image-rendering:pixelated;object-fit:contain}.auto-tavern button,.auto-tavern select{font:inherit;min-height:44px;border-radius:7px;border:2px solid #a87941;color:#fbfaf8;background:#221a16;cursor:pointer;padding:8px 14px}.auto-tavern button:hover:not(:disabled){background:#3a2d24;transform:translateY(-1px)}.auto-tavern button:active:not(:disabled){transform:translateY(2px)}.auto-tavern button:disabled{cursor:default;background:#221a16;color:#ad9a7d;border-color:#3a2d24}.auto-tavern button:focus-visible,.auto-tavern select:focus-visible{outline:3px solid #fff1cf;outline-offset:3px}.auto-tavern [hidden]{display:none!important}.auto-tavern p{font-size:14px;line-height:1.5;color:var(--a-muted);margin:0}.a-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 26px 20px;background:#181210;border-bottom:2px solid #3a2d24;flex-shrink:0}.auto-tavern h2{font-size:30px;line-height:1.15;letter-spacing:-.5px;color:#fbfaf8;margin:6px 0 0}.a-kicker{font-size:13px;letter-spacing:1.4px;color:#ad9a7d;line-height:1.4}.a-header button{font-size:27px;min-width:44px;padding:0}.a-scroll{overflow:auto;overscroll-behavior:contain;padding:0 26px 20px}.a-topline{display:flex;align-items:center;gap:12px;padding:15px 0}.a-live{font-size:14px;color:#e3d3b5;display:flex;align-items:center;gap:8px}.a-live i{width:7px;height:7px;background:#e8c17d;border-radius:50%;box-shadow:0 0 9px #c0b18a}.a-gold{margin-left:auto;font-size:25px;color:#f0d69e;white-space:nowrap}.a-gold small{font-size:14px}.a-topline select{max-width:170px;font-size:14px;min-height:36px;padding:5px}.a-scene{height:264px;overflow:hidden;position:relative;border-radius:9px 9px 0 0;background:#221a16;border:2px solid #3a2d24;border-bottom:0;isolation:isolate}.a-scene:before{content:"";position:absolute;inset:74% 0 0;background:repeating-linear-gradient(0deg,transparent 0 23px,#1b0f0988 23px 25px),repeating-linear-gradient(90deg,#181210 0 86px,#2d231c 86px 88px);border-top:5px solid #100c0a;z-index:-1}.a-window{position:absolute;width:90px;height:94px;left:45%;top:24px;background:#100c0a;border:7px solid #5b4532;box-shadow:0 0 0 4px #1b0f09;color:#e2dbc8;text-align:center;padding:6px;font-size:30px}.a-window:after{content:"";position:absolute;width:6px;height:100%;left:50%;top:0;background:#5b4532}.a-cook{position:absolute;width:256px;height:256px;bottom:8px;left:25px}.a-stove,.a-chef{width:100%;height:100%;position:absolute;inset:0;background-size:2048px 256px;image-rendering:pixelated;animation:a-cooking .8s steps(8) infinite;animation-play-state:paused}.a-stove{background-image:url(/assets/hospitality/stove-working.png)}.a-chef{background-image:url(/assets/hospitality/cook-working.png)}.a-working .a-stove,.a-working .a-chef{animation-play-state:running}@keyframes a-cooking{to{background-position-x:-2048px}}.a-comment{position:absolute;right:18px;top:30px;width:205px;padding:13px;background:#f0d69e;color:#30291e;font-size:14px;line-height:1.4;border-radius:9px 9px 0;box-shadow:4px 4px #221a16;z-index:3}.a-comment:after{content:"";position:absolute;bottom:-10px;right:15px;border-top:10px solid #f0d69e;border-left:10px solid transparent}.a-guest{position:absolute;right:-6px;bottom:-9px;width:192px;height:192px;image-rendering:pixelated;background-position:0 0;animation:a-guest-frames var(--guest-duration) steps(var(--guest-steps)) infinite}@keyframes a-guest-frames{to{background-position-x:var(--guest-end)}}.a-queasy{filter:sepia(.5) hue-rotate(40deg)}.a-table{position:absolute;right:32px;bottom:53px;width:136px;height:26px;background:#8c7251;border:5px solid #3a2d24;border-top-color:#b59a6e;box-shadow:0 7px #181210}.a-table:before,.a-table:after{content:"";width:9px;height:32px;background:#695d45;position:absolute;top:23px}.a-table:after{right:0}.a-flying-plate{position:absolute;width:56px;height:18px;background:#eee7ca;border:4px solid #9e9e87;border-top-color:#fff5d6;box-shadow:4px 4px #201b14;left:23%;bottom:82px;z-index:4;animation:a-serve 2s cubic-bezier(.2,.8,.2,1) both}@keyframes a-serve{0%{opacity:0;transform:translateY(-25px) scale(.5)}15%{opacity:1;transform:none}65%,85%{left:calc(100% - 135px);opacity:1;transform:rotate(5deg)}to{left:calc(100% - 135px);opacity:0;transform:scale(.6)}}.a-floating-coins{position:absolute;right:35px;bottom:110px;z-index:5;color:#ffe294;font-size:24px;text-shadow:2px 2px #3a2d24;animation:a-coins 2.8s ease-out both}@keyframes a-coins{0%,35%{opacity:0;transform:translateY(20px)}45%,75%{opacity:1}to{opacity:0;transform:translateY(-25px)}}.a-progress{height:6px;background:#100c0a;border-radius:0 0 6px 6px;overflow:hidden}.a-progress i{display:block;height:100%;width:0;background:#ded7c3;transition:width .7s linear;box-shadow:0 0 14px #e8e2d4}.a-result{display:flex;align-items:center;gap:16px;min-height:113px;padding:15px 0}.a-dish-icon,.a-first-plate{width:75px;height:75px;flex-shrink:0}.a-first-plate{border:2px dashed #80745e;color:#b8ae93;border-radius:50%;font-size:38px;display:grid;place-items:center}.a-result h3{font-size:20px;line-height:1.25;margin:5px 0 0;color:#fbfaf8}.a-result p{margin-top:4px}.a-result>div{flex:1;min-width:0}.a-quality{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#d8ceb6}.q-0{color:#bad18f}.q-2{color:#e3ddcc}.q-3,.q-4{color:#ffdd89}.a-sale-gold{font-size:28px;color:#f0d69e;text-align:right}.a-sale-gold small{display:block;font-size:13px}.a-reveal{animation:a-reveal .4s ease-out}@keyframes a-reveal{0%{transform:translateY(8px);opacity:.4}to{transform:none;opacity:1}}.a-upgrade{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:2px solid #9b8a69;border-radius:10px;background:#181210}.a-cook-info h3{font-size:29px;margin:4px 0;color:#faf9f6}.a-cook-info h3 small{font-size:14px;color:#c6bca2}.a-upgrade-action{text-align:center}.a-upgrade-action button{display:block;width:100%;background:#e8c17d;border-color:#e7e1d2;color:#181210;box-shadow:0 4px #806d49;font-size:19px;min-height:52px;padding:10px 19px}.a-upgrade-action button:hover:not(:disabled){background:#edcc8e;color:#181210;filter:none}.a-upgrade-action button:disabled{box-shadow:0 3px #221a16}.a-upgrade-action small{display:block;font-size:13px;color:#ded6c2;margin-top:10px}.a-level-up{animation:a-level-up .7s}@keyframes a-level-up{25%{border-color:#f6da94;box-shadow:0 0 28px #d6ccb388;transform:scale(1.015)}}.auto-tavern .a-notice{min-height:18px;margin:6px 0;text-align:center;color:#ebe6d9;font-size:13px}.a-pantry{border-top:1px solid #5c513d;padding-top:13px}.a-pantry-heading{display:flex;justify-content:space-between;gap:10px;color:#cec6b1;font-size:14px}.a-pantry-heading strong{color:#ece7db;font-weight:400}.a-pantry-items{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;min-height:0}.a-ingredient{display:flex;align-items:center;gap:1px;background:#221a16;border:1px solid #685c45;border-radius:7px;padding:3px 9px 3px 3px}.a-ingredient img{width:48px;height:48px}.a-ingredient b{font-size:16px;color:#e3ded0}.a-more{display:flex;flex-direction:column;justify-content:center;color:#cec6b1;font-size:14px}.a-more small{font-size:13px}.auto-tavern #pantry-empty,#find-ingredients{margin-top:8px}.a-footer{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:13px;color:#c5bca4}.a-footer b{color:#e4dece}.a-property{padding:26px 0;text-align:center}.a-property h3{font-size:27px;color:#f6f3ed;margin:15px 0}.a-property p{margin:14px 0}.a-lot{width:210px;height:180px}.a-property #build-venue{margin:10px 0;background:#c0b18b;color:#181210;font-size:20px}.a-property #build-venue:hover:not(:disabled){background:#d0bd91;color:#181210;filter:none}.a-property #build-venue:disabled{background:#221a16;color:#ad9a7d}.a-build-scene{position:relative;height:230px;width:256px;margin:20px auto}.a-build-scene img{width:230px;height:230px}.a-builder{position:absolute;width:128px;height:128px;right:-20px;bottom:0;background:url(/assets/hospitality/builder.png) 0 0 / 768px 512px;image-rendering:pixelated;animation:a-build .6s steps(6) infinite}.a-coming-soon .a-build-scene{width:min(100%,320px);height:214px}.a-coming-soon .a-build-scene img{width:100%;height:100%}.a-coming-soon .a-builder{left:8px;right:auto;bottom:25px}.a-coming-soon .a-digger{left:auto;right:5px;bottom:13px;background-image:url(/assets/hospitality/builder-digging.png);animation-duration:1.2s;animation-delay:-.4s}@keyframes a-build{to{background-position-x:-768px}}#build-time{font-size:30px;color:#e7e1d2}@media(max-width:620px){.a-header{padding:16px}.auto-tavern h2{font-size:24px}.a-kicker{font-size:13px;letter-spacing:1px}.a-scroll{padding:0 14px 15px}.a-topline{flex-wrap:wrap;padding:12px 0;gap:6px}.a-live{font-size:13px}.a-gold{font-size:22px}.a-topline select{flex-basis:100%;max-width:100%}.a-scene{height:224px}.a-cook{left:-50px;bottom:7px}.a-window{left:40%;width:57px;height:70px;top:20px}.a-comment{width:137px;right:9px;top:12px;font-size:13px;padding:9px}.a-guest{right:-35px;bottom:-9px}.a-table{right:8px;width:112px;bottom:43px}.a-result{gap:10px;min-height:103px}.a-dish-icon,.a-first-plate{width:57px;height:57px}.a-result h3{font-size:16px}.a-result p{font-size:13px}.a-sale-gold{font-size:23px}.a-quality{font-size:13px}.a-upgrade{padding:12px;gap:9px;flex-wrap:wrap}.a-cook-info{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;width:100%}.a-cook-info>.a-kicker{display:none}.a-cook-info h3{font-size:25px;margin:0}.a-cook-info p{font-size:13px}.a-upgrade-action{width:100%}.a-upgrade-action button{font-size:18px;padding:9px}.a-upgrade-action small{margin-top:8px}.a-pantry-heading{font-size:13px}.a-pantry-items{gap:4px;flex-wrap:wrap}.a-ingredient{padding:2px 5px 2px 0}.a-ingredient img{width:40px;height:40px}.a-ingredient b{font-size:15px}.a-footer{flex-direction:column;gap:5px}.a-flying-plate{width:48px;height:16px;bottom:70px}.a-floating-coins{right:17px;font-size:21px}}@media(prefers-reduced-motion:reduce){.auto-tavern *,.auto-tavern *:before,.auto-tavern *:after{animation:none!important;transition:none!important}#dish-flight,.a-steam,.a-fx{display:none}}.town-actions{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));display:flex;gap:8px;z-index:4}.town-actions .travel-button{position:static;transform:none}.tavern-button{color:#2d1a12}.harvest-count{color:#c3d69d;white-space:nowrap}.journey-harvest{color:#afbe8e!important;font-size:12px!important;margin-top:5px}.harvest-summary{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin:14px 0;color:#b9ca9b;font-size:14px}.harvest-summary span{display:inline-flex;align-items:center;gap:6px}.harvest-summary img{width:20px;height:20px;image-rendering:pixelated}@media(max-width:620px){.town-actions{flex-direction:column;align-items:stretch;gap:6px}.town-actions button{font-size:14px;padding:5px 8px}}.a-cooking-now{min-height:108px;display:flex;align-items:center;gap:16px;margin-top:14px;padding:12px 16px;background:#181210;border:1px solid #3a2d24;border-radius:9px;color:#e3d3b5}.a-cooking-now img{width:80px;height:80px;flex-shrink:0}.a-cooking-copy{display:flex;flex-direction:column;gap:5px;min-width:0;line-height:1.4}#cook-caption{font-size:20px;color:#fcfbf9;overflow-wrap:anywhere}#cook-time{font-size:14px;color:#c5bca4}@media(max-width:620px){.a-cooking-now{padding:10px;gap:12px}.a-cooking-now img{width:64px;height:64px}#cook-caption{font-size:18px}#cook-time{font-size:13px}}.a-flying-plate i{display:block;position:absolute;width:28px;height:12px;left:9px;top:-12px;background:#9b683e;border-top:4px solid #c29357;box-shadow:4px -4px #67703d}.a-steam{position:absolute;left:148px;top:94px;width:80px;height:80px;opacity:0;background:url(/assets/hospitality/steam.png) no-repeat;background-size:640px 80px;image-rendering:pixelated;pointer-events:none}.a-working .a-steam{opacity:.35;animation:a-steam-frames 1.6s steps(8) infinite}@keyframes a-steam-frames{to{background-position-x:-640px}}.a-fx{position:absolute;width:128px;height:128px;image-rendering:pixelated;pointer-events:none;background-repeat:no-repeat;background-size:512px 128px;animation:a-fx-frames .6s steps(4) forwards;--fx-end: -512px}.a-fx-upgrade{left:64px;top:72px;background-image:url(/assets/hospitality/upgrade-effect.png);background-size:896px 128px;--fx-end: -896px;animation-duration:.7s;animation-timing-function:steps(7)}.a-fx-plating{left:124px;top:110px;background-image:url(/assets/minifantasy/class-effects/holy-hit.png)}.a-fx-joy,.a-fx-bad{right:36px;bottom:60px;animation-delay:1.6s;animation-fill-mode:both;background-image:url(/assets/minifantasy/class-effects/holy-hit.png)}.a-fx-bad{background-image:url(/assets/hospitality/steam.png);background-size:1024px 128px;--fx-end: -1024px;animation-duration:.8s;animation-timing-function:steps(8);opacity:.45}@keyframes a-fx-frames{0%{visibility:visible;background-position-x:0}to{visibility:hidden;background-position-x:var(--fx-end)}}.a-pot-ingredients{display:flex;flex-wrap:wrap;flex-shrink:0;max-width:160px}.a-pot-ingredients:empty{display:none}@media(max-width:620px){.a-cooking-now{flex-wrap:wrap}.a-pot-ingredients{max-width:100%;gap:0}.a-pot-ingredients img{width:64px;height:64px}.a-fx-joy,.a-fx-bad{right:0;bottom:50px}}#dungeon-map-button{position:absolute;z-index:12;top:calc(max(66px,env(safe-area-inset-top)) + 108px);right:max(17px,env(safe-area-inset-right));min-height:40px;padding:6px 16px;color:#f0d28f;background:#191d22;border:1px solid #8e7851}#dungeon-map-dialog{width:min(1120px,94vw);height:min(860px,92dvh);max-width:94vw;max-height:92dvh;box-sizing:border-box;padding:20px;color:#e5dbc5;background:#10171e;border:2px solid #ab8b52;box-shadow:0 12px 70px #000c}#dungeon-map-dialog[open]{display:flex;flex-direction:column;gap:12px}#dungeon-map-dialog::backdrop{background:#03070be6}.dungeon-map-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.dungeon-map-header h2{margin:0 0 6px;font-size:24px;color:#f2d392}.dungeon-map-header p{margin:0;font-size:14px}#close-dungeon-map{min-height:44px;flex-shrink:0}.dungeon-map-viewport{flex:1;min-height:80px;position:relative;overflow:hidden;background:#0b1015}#dungeon-map-canvas{position:absolute;width:100%;height:100%;image-rendering:pixelated;touch-action:none;cursor:grab}#dungeon-map-canvas:active{cursor:grabbing}.dungeon-map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dungeon-map-tools button{min-height:44px}.dungeon-map-tools span{margin-left:auto;color:#aca99f;font-size:12px}.dungeon-map-legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;font-size:13px}.dungeon-map-legend span:first-child{color:#ace5ed}.dungeon-map-legend span:nth-child(2){color:#f2d392}@media(max-width:700px){#dungeon-map-button{top:calc(max(67px,env(safe-area-inset-top)) + 86px);right:10px;min-height:44px}#dungeon-map-dialog{padding:12px}#close-dungeon-map{max-width:105px}.dungeon-map-header h2{font-size:19px}.dungeon-map-header p,.dungeon-map-legend{font-size:12px}}@media(max-height:500px){#dungeon-map-button{top:calc(max(67px,env(safe-area-inset-top)) + 70px);min-height:40px}#dungeon-map-dialog{padding:10px;gap:5px}.dungeon-map-header h2{font-size:18px}.dungeon-map-legend{font-size:11px;gap:4px 10px}}.under-town-panel{display:block;max-height:90dvh;overflow-y:auto;border-color:#88704e;background:linear-gradient(180deg,#211f29 0,#141318 280px,#101014)}.under-town-panel h2{color:#efd3a0;letter-spacing:.025em}.descent-error{margin-bottom:16px;padding:12px;border:1px solid #9a7857;background:#33251f;color:#efd3a0}.descent-error p{margin:0 0 10px}.descent-intro{color:#bdb3a6;max-width:48em;margin:0 0 16px}.descent-promise{display:flex;align-items:center;gap:15px;color:#d8ba82;padding:13px 0;border-block:1px solid #544635;margin-bottom:12px}.descent-promise b{color:#74604b}.descent-list{overflow:visible;border-left:2px solid #665238;padding-left:12px;margin-left:10px}.descent-card{position:relative}.descent-card:before{content:"";position:absolute;left:-18px;top:28px;width:8px;height:8px;background:var(--region-accent);border:1px solid #17141a}.descent-card .destination-title small{color:#c7c0b7;font-size:.84em;font-weight:400}.descent-card .destination-state{color:#ead3a9}.depth-locked{filter:saturate(.4)}.depth-locked .destination{opacity:1;cursor:not-allowed}.depth-locked .destination-state{color:#d1c9c1}#stage.in-descent #area-progress{max-width:min(620px,70vw);white-space:normal;line-height:1.15}@media(max-width:650px){.under-town-panel .panel-header{margin-bottom:10px}.under-town-panel .eyebrow{font-size:11px}.under-town-panel .descent-intro,.under-town-panel .descent-promise{display:none}.under-town-panel .expedition-rules{font-size:13px;line-height:1.35}.under-town-panel .journey-preparation{gap:6px}.under-town-panel .journey-preparation small{font-size:12px;line-height:1.25}.under-town-panel .destination{padding-top:56px}.descent-promise{gap:8px;font-size:13px}.descent-list{padding-left:8px;margin-left:4px}.descent-card:before{left:-14px}#stage.in-descent #area-progress{max-width:66vw;font-size:12px}}.descent-grudge{margin:6px 12px 10px;padding:6px 10px;font-size:12px;line-height:1.35;color:#e2b8ff;background:#1c1024cc;border-left:3px solid #a864e0}.descent-grudge strong{display:block;font-weight:400}.descent-grudge span{display:block;color:#b9a3c9;font-size:11px}.grudge-rules{color:#cdb4e2}.grudge-result{margin:4px 0 10px;color:#e2b8ff}.grudge-result.vengeance{color:#ffe08b}.catch-card,.catch-book{--f-bg: #100c0a;--f-surface: #181210;--f-line: #3a2d24;--f-muted: #ad9a7d;--f-gold: #e8c17d;color:#fcfbf9;background:var(--f-bg);border:3px solid #6e5035;border-radius:12px;box-shadow:0 18px 90px #000c;text-align:left}.catch-card *,.catch-book *{box-sizing:border-box}.catch-card img,.catch-book img,.book-button img{image-rendering:pixelated}.catch-card button,.catch-book button{font:inherit;min-height:44px;border-radius:7px;border:2px solid #a87941;color:#fbfaf8;background:#221a16;cursor:pointer;padding:8px 14px}.catch-card button:hover,.catch-book button:hover{background:#3a2d24}.catch-card button:focus-visible,.catch-book button:focus-visible{outline:3px solid #fff1cf;outline-offset:3px}.hero-button{display:inline-flex;align-items:center;gap:7px;padding:0 10px}.hero-badge{width:36px;height:36px;margin:-8px -4px -8px -8px;image-rendering:pixelated}.book-button{display:inline-flex;align-items:center;gap:6px;padding:0 10px}.book-button img{width:28px;height:28px;margin:-6px 0 -6px -4px}@media(max-width:620px){.town-actions .hero-button{width:48px;min-width:0;height:48px;padding:0;justify-content:center}.town-actions .hero-button .hero-badge{margin:0}.town-actions .hero-button span{display:none}.town-actions .book-button{position:absolute;top:100px;left:0;width:48px;min-width:0;height:48px;padding:0;justify-content:center}.town-actions .book-button img{margin:0}.town-actions .book-button span{display:none}}.catch-card{position:relative;width:min(460px,100%);padding:0 28px 24px;text-align:center;animation:catch-in .42s cubic-bezier(.2,1.4,.4,1) both}.catch-stage{position:relative;height:250px;margin:0 -28px;overflow:hidden;border-radius:9px 9px 0 0;border-bottom:2px solid var(--f-line);background:radial-gradient(circle at 50% 55%,#3b6c8a 0,#1c3148 45%,#0f1622 80%)}.rarity-3 .catch-stage{background:radial-gradient(circle at 50% 55%,#3f8a86 0,#1b3c44 45%,#0e1a1e 80%)}.rarity-4 .catch-stage{background:radial-gradient(circle at 50% 55%,#6a4f9a 0,#2a1f48 45%,#120e22 80%)}.rarity-5 .catch-stage{background:radial-gradient(circle at 50% 55%,#b48a3c 0,#4a3217 45%,#1a110a 80%)}.catch-rays{position:absolute;left:50%;top:55%;width:640px;height:640px;margin:-320px 0 0 -320px;background:repeating-conic-gradient(from 0deg,#ffe6a13a 0 9deg,transparent 9deg 22.5deg);-webkit-mask:radial-gradient(circle,#000 12%,transparent 58%);mask:radial-gradient(circle,#000 12%,transparent 58%);animation:catch-rays 18s linear infinite}.rarity-5 .catch-rays{background:repeating-conic-gradient(from 0deg,#fff0b866 0 9deg,transparent 9deg 22.5deg);animation-duration:9s}.catch-glow{position:absolute;left:50%;top:55%;width:230px;height:230px;margin:-115px 0 0 -115px;background:radial-gradient(circle,#fff3c6aa 0,#ffd98a44 35%,transparent 68%);animation:catch-glow 1.6s ease-in-out infinite alternate}.catch-icon{position:absolute;left:50%;top:55%;width:224px;height:224px;margin:-112px 0 0 -112px;filter:drop-shadow(0 6px 0 #0007);animation:catch-fish .7s cubic-bezier(.2,1.6,.4,1) .08s both}.catch-spark{position:absolute;width:20px;height:20px;background:linear-gradient(#fff6d0,#fff6d0) center / 4px 100% no-repeat,linear-gradient(#fff6d0,#fff6d0) center / 100% 4px no-repeat;animation:catch-twinkle 1.1s steps(3) infinite}.catch-spark.small{width:12px;height:12px}.catch-ribbon{position:absolute;top:16px;right:-8px;padding:6px 16px 7px 14px;color:#2d1a10;background:#f0c85e;font:400 18px Modern DOS,monospace;letter-spacing:.12em;box-shadow:0 3px #7a4f1c;transform:rotate(4deg);animation:catch-ribbon .5s cubic-bezier(.2,1.8,.4,1) .35s both}.catch-ribbon.record{background:#9fd3a0;box-shadow:0 3px #3d6b3e}.catch-card.junk .catch-stage{background:radial-gradient(circle at 50% 55%,#3f4a4a 0,#232a2c 45%,#121517 80%)}.catch-card.junk .catch-glow{background:radial-gradient(circle,#b8c4c255 0,transparent 60%);animation:none}.catch-card.junk .catch-icon{filter:drop-shadow(0 6px 0 #0007) saturate(.85);animation:catch-flop .9s cubic-bezier(.3,1.5,.5,1) .08s both}.catch-ribbon.junk{color:#1d1a18;background:#a8a196;box-shadow:0 3px #4a4640;transform:rotate(-3deg)}.catch-card.junk .catch-meta .rarity,.book-rarity.junk{color:#a8a196}.catch-kicker{margin:18px 0 2px!important;color:var(--f-muted)!important;font-size:13px!important;letter-spacing:.18em}.catch-card h2{margin:0;color:#fbfaf8;font:400 34px Modern DOS,monospace;letter-spacing:-.5px}.catch-meta{display:flex;justify-content:center;gap:14px;margin:8px 0 12px;color:#e3d3b5;font-size:15px}.catch-meta .rarity,.book-rarity{color:#f0c85e}.catch-meta .off,.book-rarity .off{color:#4a3b2e}.catch-quip{margin:0 auto 16px!important;max-width:36ch;color:#e8dcc3!important;font-size:15px!important;line-height:1.55!important}.catch-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:2px solid var(--f-line);border-radius:7px;background:var(--f-surface);color:#e3d3b5;font-size:14px}.chip img{width:24px;height:24px;margin:-4px 0}.catch-actions{display:flex;gap:10px}.catch-actions button{flex:1}.catch-actions .go{color:#321c12;background:var(--f-gold);border-color:#f4dca8;box-shadow:0 3px #7a5230}.catch-actions .go:hover:not(:disabled),.book-tabs button.active:hover:not(:disabled){color:#24120c;background:#f0d094}@keyframes catch-in{0%{opacity:0;transform:translateY(18px) scale(.86)}}@keyframes catch-fish{0%{opacity:0;transform:translateY(70px) scale(.4) rotate(-40deg)}60%{opacity:1;transform:translateY(-14px) scale(1.12) rotate(4deg)}to{transform:rotate(-6deg)}}@keyframes catch-flop{0%{opacity:0;transform:translateY(-90px) rotate(20deg)}45%{opacity:1;transform:translateY(8px) rotate(-8deg) scale(1.04,.9)}70%{transform:translateY(-6px) rotate(3deg)}to{transform:rotate(-12deg)}}@keyframes catch-rays{to{transform:rotate(360deg)}}@keyframes catch-glow{to{opacity:.55;transform:scale(1.12)}}@keyframes catch-twinkle{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes catch-ribbon{0%{opacity:0;transform:rotate(-18deg) scale(1.8)}}.catch-book{width:min(960px,100%);max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden}.book-header{display:flex;align-items:center;gap:16px;padding:20px 24px 18px;background:var(--f-surface);border-bottom:2px solid var(--f-line);flex-shrink:0}.book-kicker{color:var(--f-muted);font-size:13px;letter-spacing:1.4px}.catch-book h2{margin:6px 0 0;font:400 30px Modern DOS,monospace;color:#fbfaf8}.book-progress{margin-left:auto;text-align:right}.book-progress b{display:block;font-size:25px;font-weight:400;color:#f0d69e}.book-progress small{color:var(--f-muted);font-size:13px}.book-progress .bar{width:170px;height:8px;margin-top:6px;background:#221a16;border:1px solid var(--f-line)}.book-progress .bar i{display:block;height:100%;background:var(--f-gold)}.catch-book .book-close{flex:0 0 44px;font-size:26px;padding:0}.book-top{display:flex;align-items:center;gap:12px;padding:14px 24px 0;font-size:14px;color:#e3d3b5;flex-shrink:0}.book-now i{display:inline-block;width:7px;height:7px;margin-right:8px;background:#8fd18c;border-radius:50%;box-shadow:0 0 9px #8fd18c}.catch-book .book-toggle{flex:0 0 auto;margin-left:auto;padding:4px 12px;font-size:14px}.catch-book .book-toggle.on{background:#2c3a26;border-color:#8fd18c}.catch-book .book-sell{color:#321c12;background:var(--f-gold);border-color:#f4dca8}.catch-book .book-sell:hover:not(:disabled){color:#24120c;background:#f0d094}.catch-book .book-sell:disabled{color:var(--f-muted);background:#221a16;border-color:#a87941}.catch-book .book-detail .book-sell{width:100%;margin-top:14px}.book-sold{margin:10px 24px 0!important;color:#f0c85e!important;font-size:14px!important}.book-tip{margin:12px 24px 0!important;padding:10px 14px;border:2px dashed #6f8f5f;border-radius:8px;color:#d9e6c8!important;font-size:14px!important;line-height:1.5!important}.book-tip kbd,.book-tip b{color:#f0d69e;font:inherit}.book-tabs{display:flex;gap:8px;padding:14px 24px;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.book-tabs button.junk{margin-left:8px}.book-tabs button{flex:0 0 auto;padding:6px 14px;text-align:left;font-size:15px;line-height:1.2}.book-tabs button small{display:block;color:var(--f-muted);font-size:12px}.book-tabs button.active{color:#321c12;background:var(--f-gold);border-color:#f4dca8}.book-tabs button.active small{color:#6b4a2a}.book-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;padding:0 24px 22px;min-height:0;overflow:auto;overscroll-behavior:contain}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:start}.catch-book .slot{position:relative;width:100%;min-height:96px;aspect-ratio:1;display:grid;place-items:center;padding:0;background:var(--f-surface);border:2px solid var(--f-line);border-radius:8px}.catch-book .slot img{width:76px;height:76px}.catch-book .slot.unknown{background:#140f0d;border-style:dashed}.catch-book .slot.unknown img{filter:brightness(0) saturate(0);opacity:.55}.catch-book .slot.unknown:after{content:"?";position:absolute;color:#6e5a45;font-size:22px}.catch-book .slot.unknown.now{border-color:#6f8f5f;box-shadow:inset 0 0 18px #8fd18c22}.catch-book .slot .count{position:absolute;right:6px;bottom:4px;color:#e3d3b5;font-size:13px}.catch-book .slot .here{position:absolute;top:6px;left:6px;width:9px;height:9px;background:#8fd18c;box-shadow:0 0 0 2px #1c2a1a,0 0 8px #8fd18c}.catch-book .slot.selected{border-color:#f4dca8;box-shadow:0 0 0 2px #e8c17d55,inset 0 0 20px #e8c17d22}.book-none{grid-column:1 / -1;margin:12px 0!important;color:var(--f-muted)!important;font-size:14px!important}.book-detail{align-self:start;padding:18px;background:var(--f-surface);border:2px solid var(--f-line);border-radius:10px}.book-detail.empty p{margin:0!important;color:var(--f-muted)!important;font-size:14px!important}.book-hero{display:grid;place-items:center;height:150px;margin:-18px -18px 14px;border-radius:8px 8px 0 0;background:radial-gradient(circle at 50% 55%,#2f5670 0,#192b3c 55%,#111820 90%);border-bottom:2px solid var(--f-line)}.book-hero img{width:128px;height:128px;filter:drop-shadow(0 5px 0 #0007)}.book-detail.unknown .book-hero img{filter:brightness(0) saturate(0);opacity:.6}.book-detail h3{margin:0;font:400 24px Modern DOS,monospace;color:#fbfaf8}.book-rarity{margin:5px 0 10px;font-size:14px}.book-detail p{margin:0 0 12px!important;color:#e8dcc3!important;font-size:14px!important;line-height:1.5!important}.book-detail .book-hint{margin-top:8px!important;color:var(--f-muted)!important}.book-detail dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:14px}.book-detail dt{color:var(--f-muted)}.book-detail dd{margin:0;color:#fbfaf8}.book-detail .ok{color:#8fd18c}@media(max-width:620px){.catch-book{max-height:calc(100dvh - 20px);border-radius:10px}.book-header{padding:14px 14px 12px;gap:10px}.catch-book h2{font-size:24px}.book-progress b{font-size:19px}.book-progress .bar{width:90px}.book-top{padding:10px 14px 0;font-size:13px;flex-wrap:wrap}.book-tabs{padding:10px 14px}.book-body{grid-template-columns:1fr;padding:0 14px 14px;gap:12px}.book-grid{gap:8px}.catch-book .slot{min-height:64px}.catch-book .slot img{width:52px;height:52px}.book-detail{padding:14px}.book-hero{height:112px;margin:-14px -14px 12px}.book-hero img{width:96px;height:96px}.catch-card{padding:0 18px 18px}.catch-stage{height:210px;margin:0 -18px}.catch-icon{width:176px;height:176px;margin:-88px 0 0 -88px}.catch-card h2{font-size:28px}.catch-actions{flex-direction:column-reverse}}@media(prefers-reduced-motion:reduce){.catch-card,.catch-rays,.catch-glow,.catch-icon,.catch-card.junk .catch-icon,.catch-spark,.catch-ribbon{animation:none}}
