@font-face{font-family:Galmuri11;src:url(/fonts/Galmuri11.woff2) format("woff2");font-display:swap}@font-face{font-family:Galmuri14;src:url(/fonts/Galmuri14.woff2) format("woff2");font-display:swap}@font-face{font-family:GalmuriMono11;src:url(/fonts/GalmuriMono11.woff2) format("woff2");font-display:swap}:root{--bg: #100c06;--bg-2: #19150e;--panel: #322c21;--panel-2: #433b2b;--line: #574d3a;--text: #f4eee2;--muted: #c2b6a0;--muted-2: #b8a892;--ant: #ff6e36;--ant-deep: #e24a18;--gold: #f8c84f;--up: #ff5b5b;--down: #4da3ff;--flat: #b6a081;--good: #5fd071;--g-grass-deep: #202b13;--g-grass: #2b3a1b;--g-grass-lit: #33451f;--g-grass-hi: #4a6130;--g-pave-deep: #241c11;--g-pave: #352b1b;--g-pave-lit: #473a24;--g-pave-hi: #5a4a2e;--g-water-deep: #123038;--g-water: #184450;--g-water-lit: #2a6270;--b-wall: #a67c52;--b-wall-hi: #c9a678;--b-wall-lit: #b98f60;--b-wall-sh: #85603c;--b-wall-sh2: #6e4f31;--b-roof: #3a2c1c;--b-roof-border: #2a1109;--food: #9bdc6a;--digging: #f4a850;--tech: #69ccd2;--radius: 0px;--radius-sm: 0px;--shadow: 2px 2px 0 rgba(0, 0, 0, .5);--safe: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--tabbar-h: 56px;--tap: 44px;--sp-1: 3px;--sp-2: 5px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 11px;--sp-7: 14px;--fs-xs: 10px;--fs-sm: 11px;--fs-base: 11px;--fs-md: 12px;--fs-lg: 13px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}*,*:before,*:after{border-radius:0!important}html,body,#root{height:100%}html,body{overflow-x:hidden;max-width:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Galmuri11,Galmuri14,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,Roboto,system-ui,sans-serif;font-variant-numeric:tabular-nums;font-size:11px;line-height:1.4;letter-spacing:0}button{font-family:inherit;cursor:pointer;touch-action:manipulation;transition:transform .04s ease-out,filter .04s ease-out}button:active:not(:disabled){transform:scale(.94);filter:brightness(1.08)}button:disabled{cursor:default}h1,h2,h3,h4,p{margin:0}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--flat)}.spark{display:block;width:100%;height:28px}.trade-chart{height:96px;margin:4px 0 6px}.trade-chart .spark{width:100%;height:96px;display:block}@keyframes toastIn{0%{transform:translateY(-10px);opacity:0}}@keyframes onboardPulse{50%{outline-color:#f8c84fdb;box-shadow:0 0 0 9px #f8c84f1a,0 0 34px #f8c84f42}}@keyframes pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes antwalk{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.antwalk{animation:antwalk .3s steps(2,end) infinite}.tickerSwap{animation:toastIn .35s ease}.bubblePop{animation:pop .18s ease-out}.cos-aura-aura_none{display:none}.cos-aura-aura_gold{background:radial-gradient(circle,rgba(255,231,150,.92),rgba(248,200,79,.5) 42%,transparent 72%);filter:blur(.5px)}.cos-aura-aura_mint{background:radial-gradient(circle,rgba(178,248,224,.92),rgba(95,214,176,.5) 42%,transparent 72%);filter:blur(.5px)}.cos-aura-aura_violet{background:radial-gradient(circle,rgba(214,178,255,.92),rgba(155,108,214,.5) 42%,transparent 72%);filter:blur(.5px)}.cos-aura-aura_ember{background:radial-gradient(circle,rgba(255,198,120,.95),rgba(255,100,44,.55) 42%,transparent 72%);animation:cosAuraPulse 1.5s ease-in-out infinite}.cos-aura-aura_rainbow{background:conic-gradient(from 0deg,#ff5b5b,#f8c84f,#5fd071,#4da3ff,#9b6cd6,#ff5b5b);opacity:.55;filter:blur(1px);animation:cosAuraSpin 3s linear infinite}.cos-aura-aura_abyss{background:conic-gradient(from 0deg,#ff2f2f,#7a1010,#6f2fa3,#2a0f4a,#ff2f2f);opacity:.66;filter:blur(1px);animation:cosAuraSpin 4.5s linear infinite}@keyframes cosAuraPulse{0%,to{opacity:.35;transform:translate(-50%,-50%) scale(.9)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.1)}}@keyframes cosAuraSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.cos-frame-plain{display:none}.cos-frame-leaf{border:2px solid var(--food);border-radius:50%;box-shadow:inset 0 0 6px #5fd07180,0 0 5px #5fd07173}.cos-frame-gilded{border:3px solid var(--gold);border-radius:50%;box-shadow:inset 0 0 8px #f8c84f80,0 0 12px #f8c84fb3}.cos-frame-frame_pixel{border:3px solid var(--text);box-shadow:0 0 0 3px #1a0606,0 0 0 4px var(--text)}.cos-frame-frame_laurel{border:3px solid var(--gold);box-shadow:0 0 0 2px #100c06,0 0 0 4px var(--gold),0 0 0 6px #100c06,0 0 11px #f8c84f8c}.cos-frame-frame_neon{border:2px solid #46f0ff;border-radius:50%;box-shadow:0 0 10px #46f0ff,inset 0 0 6px #46f0ff80;animation:cosNeonPulse 1.4s ease-in-out infinite}@keyframes cosNeonPulse{0%,to{box-shadow:0 0 6px #46f0ff,inset 0 0 4px #46f0ff66}50%{box-shadow:0 0 16px #46f0ff,inset 0 0 8px #46f0ff99}}.cos-plate-plate_gold{color:var(--gold)!important;border:1px solid var(--gold);background:linear-gradient(180deg,#f8c84f2e,#f8c84f0a)!important;text-shadow:0 0 3px rgba(248,200,79,.5)}.cos-plate-plate_neon{color:#46f0ff!important;border:1px solid #46f0ff;text-shadow:0 0 6px #46f0ff;box-shadow:0 0 8px #46f0ff73}.cos-plate-plate_gradient{background:linear-gradient(90deg,#ff5b5b,#f8c84f,#5fd071,#4da3ff,#9b6cd6,#ff5b5b)!important;background-size:250% 100%;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.55);animation:cosPlateShift 3s linear infinite}.cos-plate-plate_royal{background:linear-gradient(180deg,#7d54b5,#5a3690)!important;color:var(--gold)!important;border:1px solid var(--gold);text-shadow:0 0 3px rgba(248,200,79,.5)}@keyframes cosPlateShift{to{background-position:250% 0}}@media(prefers-reduced-motion:reduce){.cos-aura-aura_ember,.cos-aura-aura_rainbow,.cos-aura-aura_abyss,.cos-frame-frame_neon,.cos-plate-plate_gradient{animation:none}}@keyframes reelStopPop{0%{transform:scale(1.4)}60%{transform:scale(.92)}to{transform:scale(1)}}.reelStop{animation:reelStopPop .22s ease-out}@keyframes slotShake{0%,to{transform:translate(0)}20%{transform:translate(-5px,3px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(4px,2px)}}.slotShake{animation:slotShake .4s ease-in-out 2}@keyframes slotFlash{0%{opacity:.85}to{opacity:0}}.slotFlash{animation:slotFlash .7s ease-out forwards;pointer-events:none}@keyframes floatUp{0%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%,-52px) scale(1.25);opacity:0}}.floatUp{animation:floatUp 1.1s ease-out forwards;pointer-events:none}@keyframes floatFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes diceTumble{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-13deg) translateY(-6px)}50%{transform:rotate(9deg) translateY(2px)}75%{transform:rotate(-7deg) translateY(-4px)}}.diceTumble{animation:diceTumble .3s ease-in-out infinite}@keyframes coinFlip3d{0%{transform:rotateX(0)}to{transform:rotateX(1080deg)}}.coinFlip{animation:coinFlip3d .7s cubic-bezier(.32,.72,.46,.98)}@keyframes casinoWinGlow{0%,to{filter:drop-shadow(0 0 3px rgba(248,200,79,.4))}50%{filter:drop-shadow(0 0 10px rgba(248,200,79,.9))}}.casinoWin{animation:casinoWinGlow .5s ease-in-out 3}@media(prefers-reduced-motion:reduce){.reelStop,.slotShake,.slotFlash,.diceTumble,.coinFlip,.casinoWin{animation:none}.slotFlash{opacity:0}.floatUp{animation-name:floatFade}}@keyframes targetSpin{to{transform:rotate(360deg)}}.targetSpin{animation:targetSpin 2.4s linear infinite}@keyframes softPulse{0%{opacity:.5}to{opacity:1}}@keyframes bossPulse{50%{transform:scale(1.08)}}.bossPulse{animation:bossPulse 1.6s ease-in-out infinite}@keyframes mobBob{50%{transform:translateY(-3px)}}.mobBob{animation:mobBob 1.4s ease-in-out infinite}.dungeonCombatFx{position:absolute;width:0;height:0;z-index:5000;color:var(--gold);pointer-events:none;isolation:isolate}.dungeonCombatFx,.dungeonCombatFx *,.dungeonSlash,.dungeonSpark,.dungeonShard,.dungeonImpactCore,.dungeonImpactRing,.dungeonCritMark,.dungeonKillMark,.dungeonScreenFx,.mobDefeat{pointer-events:none}@keyframes dungeonSlashSweep{0%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--fx-angle, 0deg) + var(--fx-arc-offset, 0deg))) scaleX(.18)}22%{opacity:1}68%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--fx-angle, 0deg) + var(--fx-arc-offset, 0deg))) scaleX(1.24)}}.dungeonSlash{position:absolute;left:0;top:0;width:64px;height:9px;background:linear-gradient(90deg,transparent 0%,currentColor 24%,#fff 57%,currentColor 76%,transparent 100%);clip-path:polygon(0 50%,72% 0,100% 50%,72% 100%);opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--fx-angle, 0deg) + var(--fx-arc-offset, 0deg)));transform-origin:center;animation:dungeonSlashSweep .34s cubic-bezier(.12,.72,.18,1) forwards;will-change:transform,opacity}.dungeonSlash--echo{--fx-arc-offset: 72deg;width:52px;height:6px;animation-delay:38ms;filter:brightness(1.3)}.dungeonCombatFx--swing .dungeonSlash{width:82px;height:7px}.dungeonCombatFx--crit .dungeonSlash{width:76px;height:11px}.dungeonCombatFx--kill .dungeonSlash{width:94px;height:13px}@keyframes dungeonSparkBurst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg)) translate(3px) scale(.45)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg)) translate(var(--fx-distance, 30px)) scale(.08)}}.dungeonSpark{position:absolute;left:0;top:0;width:10px;height:3px;background:linear-gradient(90deg,#fff,currentColor 45%,transparent);opacity:0;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg));transform-origin:center;animation:dungeonSparkBurst .48s ease-out var(--fx-delay, 0ms) forwards;will-change:transform,opacity}@keyframes dungeonShardBurst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg)) translate(5px) scale(.25)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg)) translate(var(--fx-distance, 32px)) rotate(145deg) scale(.75)}}.dungeonShard{position:absolute;left:0;top:0;width:5px;height:10px;background:currentColor;box-shadow:inset 2px 0 #ffffffa6;opacity:0;transform-origin:center;animation:dungeonShardBurst .62s cubic-bezier(.08,.72,.25,1) var(--fx-delay, 0ms) forwards;will-change:transform,opacity}@keyframes dungeonCoreFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(45deg)}16%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.5) rotate(45deg)}}.dungeonImpactCore{position:absolute;left:0;top:0;width:24px;height:24px;background:#fff;box-shadow:0 0 12px 5px currentColor;opacity:0;animation:dungeonCoreFlash .34s ease-out forwards;will-change:transform,opacity}.dungeonCombatFx--crit .dungeonImpactCore{width:34px;height:34px;box-shadow:0 0 20px 9px currentColor}.dungeonCombatFx--kill .dungeonImpactCore{width:46px;height:46px;box-shadow:0 0 28px 13px currentColor}@keyframes dungeonImpactExpand{0%{opacity:.9;transform:translate(-50%,-50%) rotate(45deg) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(1.55)}}.dungeonImpactRing{position:absolute;left:0;top:0;width:34px;height:34px;border:3px solid currentColor;box-shadow:0 0 8px currentColor,inset 0 0 8px currentColor;opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(1);animation:dungeonImpactExpand .52s ease-out 40ms forwards;will-change:transform,opacity}.dungeonCombatFx--crit .dungeonImpactRing{width:48px;height:48px}.dungeonCombatFx--kill .dungeonImpactRing{width:66px;height:66px;border-width:4px}.dungeonImpactRing--echo{animation-delay:.12s;animation-duration:.68s;opacity:0}@keyframes dungeonCritRise{0%{opacity:0;transform:translate(-50%,-20%) scale(.55)}22%{opacity:1;transform:translate(-50%,-65%) scale(1.16)}to{opacity:0;transform:translate(-50%,-125%) scale(.94)}}.dungeonCritMark{position:absolute;left:0;top:-22px;color:#fff4b0;font-size:15px;font-weight:900;letter-spacing:1px;text-shadow:2px 2px 0 #7b2800,0 0 8px currentColor;white-space:nowrap;opacity:0;animation:dungeonCritRise .72s ease-out forwards;will-change:transform,opacity}@keyframes dungeonKillRise{0%{opacity:0;transform:translate(-50%,-45%) scale(.65)}20%{opacity:1;transform:translate(-50%,-55%) scale(1.12)}to{opacity:0;transform:translate(-50%,-115%) scale(1)}}.dungeonKillMark{position:absolute;left:0;top:-18px;color:currentColor;font-size:20px;font-weight:900;line-height:1;white-space:nowrap;opacity:0;transform:translate(-50%,-50%);text-shadow:2px 2px 0 #000,0 0 10px currentColor;animation:dungeonKillRise .82s ease-out forwards;will-change:transform,opacity}@keyframes hazardCharge{0%,to{opacity:.5}50%{opacity:1}}.hazardCharge{animation:hazardCharge .5s steps(2,end) infinite}@keyframes hazardImminentPulse{50%{transform:scale(1.07)}}.hazardImminent{animation:hazardImminentPulse .2s steps(2,end) infinite}.hazardImminent--rage{animation-duration:.12s}@keyframes hazardRingSpin{to{transform:rotate(405deg)}}.hazardRing{animation:hazardRingSpin 1.2s steps(8,end) infinite}@keyframes hazardStrike{0%,25%{opacity:.92}to{opacity:0}}.hazardStrike{animation:hazardStrike .22s steps(4,end) both}@keyframes hazardShockwave{0%{transform:scale(.5);opacity:.9}to{transform:scale(1.55);opacity:0}}.hazardShockwave{animation:hazardShockwave .28s steps(4,end) both}@keyframes hazardDebris{0%{opacity:1;transform:rotate(var(--fx-angle, 0deg)) translate(8px) rotate(0)}70%{opacity:1}to{opacity:0;transform:rotate(var(--fx-angle, 0deg)) translate(var(--fx-distance, 60px)) translateY(12px) rotate(220deg)}}.hazardDebris{position:absolute;width:7px;height:7px;background:currentColor;box-shadow:inset 2px 2px #ffffffb3,inset -2px -2px #7a1010d9;animation:hazardDebris .44s steps(6,end) both}@keyframes hazardSlash{0%{transform:scaleX(0);opacity:1}55%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}.hazardSlash{transform-origin:0 50%;animation:hazardSlash .26s steps(4,end) both}@keyframes hazardSpawnPop{0%{transform:rotate(45deg) scale(.3)}60%{transform:rotate(45deg) scale(1.25)}to{transform:rotate(45deg) scale(1)}}.hazardProj{animation:hazardSpawnPop .14s steps(3,end)}@keyframes hazardReticle{0%{transform:rotate(45deg) scale(1.9);opacity:0}to{transform:rotate(45deg) scale(1);opacity:1}}.hazardReticle{animation:hazardReticle .18s steps(3,end) both}@keyframes hazardHitCore{0%,22%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}.hazardHitCore{width:22px;height:22px;background:#fff;box-shadow:0 0 0 3px currentColor,0 0 0 6px #ff5b5b59;animation:hazardHitCore .34s steps(4,end) both}@keyframes hazardHitBurst{0%{transform:translate(-50%,-50%) rotate(var(--rot, 45deg)) scale(.35);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--rot, 45deg)) scale(1.7);opacity:0}}.hazardHitBurst{animation:hazardHitBurst .34s steps(3,end) both}@keyframes hazardConverge{0%{transform:rotate(45deg) scale(1.6);opacity:0}30%{opacity:.9}to{transform:rotate(45deg) scale(.35);opacity:0}}.hazardConverge{animation:hazardConverge .75s steps(6,end) infinite}@keyframes hazardCrack{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}.hazardCrack{animation:hazardCrack .55s steps(5,end) both}@keyframes hazardChevron{to{transform:translate(16px)}}.hazardChevron{animation:hazardChevron .42s steps(4,end) infinite}@keyframes hazardSpeed{0%{transform:scaleX(0);opacity:.95}55%{transform:scaleX(1);opacity:.95}to{transform:scaleX(1);opacity:0}}.hazardSpeed{transform-origin:0 50%;animation:hazardSpeed .24s steps(3,end) both}.bossPulse--rage{animation-duration:.9s}@media(prefers-reduced-motion:reduce){.hazardProj,.hazardShockwave,.hazardImminent,.hazardImminent--rage,.hazardCharge,.hazardRing,.hazardStrike,.hazardSlash,.hazardReticle,.hazardHitBurst,.hazardHitCore,.hazardDebris,.hazardConverge,.hazardCrack,.hazardChevron,.hazardSpeed{animation:none}.hazardHitBurst,.hazardHitCore{opacity:.7}.hazardDebris{opacity:0}}@keyframes dungeonScreenCrit{0%{opacity:0;transform:scale(1)}16%{opacity:.5}to{opacity:0;transform:scale(1.025)}}@keyframes dungeonScreenKill{0%{opacity:0;transform:scale(.985)}13%{opacity:.72}38%{opacity:.2}to{opacity:0;transform:scale(1.035)}}.dungeonScreenFx{position:fixed;inset:0;z-index:980;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.42),rgba(248,200,79,.13) 34%,transparent 72%);box-shadow:inset 0 0 42px 8px #f8c84f3d;opacity:0;mix-blend-mode:screen;will-change:transform,opacity}.dungeonScreenFx--crit{animation:dungeonScreenCrit .38s ease-out forwards}.dungeonScreenFx--kill{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.58),rgba(255,110,54,.2) 32%,transparent 76%);box-shadow:inset 0 0 60px 14px #ff5b5b40;animation:dungeonScreenKill .56s ease-out forwards}@keyframes mobDefeatOut{0%{opacity:1;transform:translateY(0) scale(1)}35%{opacity:1;transform:translateY(-4px) scale(1.08)}to{opacity:0;transform:translateY(5px) scale(.72)}}.mobDefeat{animation:mobDefeatOut .52s ease-in forwards;transform-origin:50% 72%;will-change:transform,opacity}.onbGlow{outline:2px solid transparent;animation:onboardPulse 1.4s ease-in-out infinite}.honeyPop{animation:pop .16s ease-out}@keyframes forgeSwing{0%,to{transform:rotate(-34deg)}50%{transform:rotate(16deg)}}.forgeSwing{animation:forgeSwing .32s ease-in-out infinite;transform-origin:78% 82%}@keyframes forgeShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.forgeShake{animation:forgeShake .45s ease-in-out}@keyframes atkSwing{0%{transform:rotate(-42deg)}45%{transform:rotate(64deg)}to{transform:rotate(20deg)}}.atkSwing{animation:atkSwing .3s ease-out forwards}@media(prefers-reduced-motion:reduce){.honeyPop,.antwalk,.tickerSwap,.onbGlow,.targetSpin,.bossPulse,.mobBob,.forgeSwing,.forgeShake,.atkSwing,.dungeonSlash,.dungeonSpark,.dungeonShard,.dungeonImpactCore,.dungeonImpactRing,.dungeonCritMark,.dungeonKillMark,.dungeonScreenFx,.mobDefeat,.bubblePop{animation:none}.dungeonSlash{opacity:.8;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg))}.dungeonSlash--echo{opacity:.45;transform:translate(-50%,-50%) rotate(calc(var(--fx-angle, 0deg) + 72deg))}.dungeonSpark{opacity:.7;transform:translate(-50%,-50%) rotate(var(--fx-angle, 0deg)) translate(13px)}.dungeonShard{display:none}.dungeonImpactCore{opacity:.72;transform:translate(-50%,-50%) scale(.7) rotate(45deg);box-shadow:none}.dungeonImpactRing{opacity:.65;transform:translate(-50%,-50%) scale(1)}.dungeonCritMark{opacity:.9;transform:translate(-50%,-65%)}.dungeonKillMark{opacity:.9;transform:translate(-50%,-50%)}.dungeonScreenFx{display:none}.mobDefeat{opacity:0;transform:none}.dungeonSlash,.dungeonSpark,.dungeonImpactCore,.dungeonImpactRing,.dungeonCritMark,.dungeonKillMark,.mobDefeat{will-change:auto}}.worldDust i{position:absolute;width:3px;height:3px;background:#f8c84f8c;box-shadow:0 0 5px 1px #f8c84f4d;animation-name:dustDrift;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes dustDrift{0%{transform:translateY(10px);opacity:0}20%{opacity:.8}80%{opacity:.8}to{transform:translate(14px,-46px);opacity:0}}@media(prefers-reduced-motion:reduce){.worldDust i{animation:none;opacity:.35}}.wscroll::-webkit-scrollbar{width:8px;height:8px}.wscroll::-webkit-scrollbar-thumb{background:var(--line)}.wscroll::-webkit-scrollbar-track{background:transparent}.billboard-backdrop{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-end;align-items:stretch;padding:12px calc(12px + var(--safe-r)) 12px 12px;background:#0403019e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.town-map-dock{width:182px;flex:none;overflow:hidden;background:#100c06e0;border:1px solid var(--line);box-shadow:2px 2px #0006;pointer-events:auto}.town-map-dock__head{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:4px 7px;background:#171208;border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left}.town-map-dock__head>span:first-child{min-width:0;display:flex;flex-direction:column;gap:1px}.town-map-dock__head b{color:var(--gold);font-family:GalmuriMono11,monospace;font-size:10px;letter-spacing:1px}.town-map-dock__head small{overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.town-map-dock__head>span:last-child{color:var(--gold);font-size:15px}.town-minimap{width:100%;height:auto;display:block;background:#1e2915;image-rendering:pixelated}.town-map-dock__legend{display:flex;justify-content:space-between;gap:4px;padding:3px 5px 4px;border-top:1px solid var(--line);color:var(--muted);font-size:7px}@keyframes minimapLive{50%{opacity:.35}}.minimap-billboard.is-live{animation:minimapLive 1s steps(2,end) infinite}.world-landmark{isolation:isolate;overflow:visible}.world-landmark__shadow{position:absolute;z-index:0;right:-6px;bottom:-8px;left:-6px;height:12px;background:#00000080;pointer-events:none}.world-landmark__art{position:absolute;z-index:2;inset:0;filter:drop-shadow(5px 7px 0 rgba(0,0,0,.4));pointer-events:none}.world-landmark__ownership-ring{position:absolute;z-index:3;inset:-4px;border:2px solid var(--gold);box-shadow:0 0 14px 2px #f8c84f66;pointer-events:none}.world-landmark__identity{position:absolute;z-index:5;top:-32px;left:50%;display:flex;align-items:stretch;max-width:calc(100% + 36px);transform:translate(-50%);overflow:hidden;background:#14110a;border:2px solid var(--landmark-accent, var(--gold));box-shadow:3px 3px #0000006b,inset 0 -3px #00000038;white-space:nowrap;pointer-events:none}.world-landmark__name{overflow:hidden;padding:4px 7px 3px;color:#fff1b5;font-size:12px;text-overflow:ellipsis;text-shadow:0 0 6px color-mix(in srgb,var(--landmark-accent, var(--gold)) 65%,transparent)}.world-landmark__owner{flex:none;max-width:92px;overflow:hidden;padding:4px 6px 3px;background:#00000057;border-left:1px solid var(--landmark-accent, var(--line));color:var(--muted);font-size:9px;text-overflow:ellipsis}.world-landmark.is-owned .world-landmark__owner{color:var(--gold)}.world-billboard-mount{position:absolute;z-index:1;pointer-events:none;filter:drop-shadow(3px 5px 0 rgba(0,0,0,.36))}.world-billboard-mount:before,.world-billboard-mount:after,.world-billboard-mount__hardware{content:"";position:absolute;z-index:0;display:block;box-sizing:border-box;pointer-events:none}.world-billboard-mount--hanging .world-billboard-mount__hardware{top:10px;right:-28px;width:34px;height:7px;background:#6b4126;border:2px solid #21140c}.world-billboard-mount--hanging:before{top:7px;right:-8px;width:8px;height:54px;background:#5a341d;border:2px solid #21140c}.world-billboard-mount--hanging:after{top:7px;right:-31px;width:10px;height:10px;background:var(--landmark-accent, #d67a3b);border:2px solid #21140c}.world-billboard-mount--kiosk .world-billboard-mount__hardware{right:23px;bottom:0;left:23px;height:8px;background:#3f4c4d;border:2px solid #182224}.world-billboard-mount--kiosk:before,.world-billboard-mount--kiosk:after{top:66px;width:8px;height:22px;background:#59696a;border:2px solid #182224}.world-billboard-mount--kiosk:before{left:32px}.world-billboard-mount--kiosk:after{right:32px}.world-billboard-mount--marquee .world-billboard-mount__hardware{top:42px;right:-30px;width:36px;height:9px;background:#d8c47f;border:2px solid #4f3d18}.world-billboard-mount--marquee:before{top:18px;right:-8px;width:9px;height:48px;background:#e8d59a;border:2px solid #4f3d18}.world-billboard-mount--marquee:after{top:40px;right:-33px;width:11px;height:11px;background:var(--landmark-accent, var(--gold));border:2px solid #4f3d18}.world-billboard-mount--monument .world-billboard-mount__hardware{right:2px;bottom:0;left:2px;height:14px;background:#544d40;border:2px solid #29251f;box-shadow:inset 0 3px #ffffff14}.world-billboard-mount--monument:before{right:14px;bottom:12px;left:14px;height:8px;background:#756c5c;border:2px solid #29251f}.world-billboard-mount--monument:after{top:44px;left:-20px;width:24px;height:9px;background:#6a6152;border:2px solid #29251f}.world-billboard{position:absolute;z-index:4;display:block;width:100%;height:100%;overflow:visible;padding:0;background:transparent;border:0;color:#fff;font-family:inherit;cursor:pointer;pointer-events:auto}.world-billboard__screen{position:absolute;top:0;left:8px;display:block;width:calc(100% - 16px);aspect-ratio:2 / 1;overflow:hidden;background:#120e08;box-shadow:0 0 0 4px #100d08,0 0 0 6px var(--landmark-accent, var(--gold)),0 7px #1b140b,0 11px #0000004d,inset 0 0 18px #0006}.world-billboard__screen>img{width:100%;height:100%;display:block;object-fit:cover;image-rendering:auto}.world-billboard__status{position:absolute;z-index:2;bottom:0;left:10px;display:inline-flex;align-items:center;gap:4px;max-width:calc(100% - 20px);overflow:hidden;padding:1px 5px;background:#080603e6;border-left:2px solid var(--landmark-accent, var(--gold));color:#d9ccb0;font-family:GalmuriMono11,monospace;font-size:7px;letter-spacing:.8px;line-height:12px;white-space:nowrap;text-overflow:ellipsis}.world-billboard__status>span{width:5px;height:5px;flex:none;background:#7c7465;box-shadow:0 0 0 1px #080603}.world-billboard__status.is-on-air{color:#fff1b5}.world-billboard__status.is-on-air>span{background:var(--good);box-shadow:0 0 5px var(--good)}.world-billboard__status.is-bidding{color:var(--gold)}.world-billboard__status.is-bidding>span{background:var(--up);box-shadow:0 0 5px var(--up)}.world-billboard__empty{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#fff1b5;font-family:GalmuriMono11,monospace;font-size:11px;letter-spacing:1px;text-shadow:1px 1px 0 #000}.world-billboard__screen>i{position:absolute;z-index:3;inset:0;opacity:.09;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#000 3px 4px)}@keyframes billboardLive{50%{box-shadow:0 0 0 4px #28100c,0 0 0 6px var(--landmark-accent, var(--gold)),0 7px #1b140b,0 11px #0000004d,0 0 16px #ff5b5bc7}}.world-billboard.is-live .world-billboard__screen{animation:billboardLive 1.2s steps(2,end) infinite}.world-billboard:hover .world-billboard__screen{filter:brightness(1.08)}.world-billboard:focus-visible{outline:none}.world-billboard:focus-visible .world-billboard__screen{outline:4px solid #fff;outline-offset:4px}.billboard-near-prompt{position:fixed;left:50%;bottom:calc(76px + var(--safe));z-index:58;min-width:220px;min-height:48px;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#120d06f0;border:2px solid var(--gold);color:var(--text);box-shadow:3px 3px #00000080;font-size:10px}.billboard-near-prompt span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.billboard-near-prompt b{flex:none;color:var(--gold);font-size:10px}@media(max-width:700px){.town-map-dock{width:150px}.town-map-dock__head{min-height:31px;padding:3px 6px}.town-map-dock__legend{font-size:6px}.billboard-near-prompt{left:calc(8px + var(--safe-l));right:calc(140px + var(--safe-r));bottom:calc(194px + var(--safe));min-width:0;transform:none;flex-direction:column;align-items:flex-start;gap:2px}}@media(prefers-reduced-motion:reduce){.minimap-billboard.is-live,.world-billboard.is-live .world-billboard__screen{animation:none}}.billboard-sheet{width:min(440px,100%);min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:2px solid var(--gold);box-shadow:-8px 8px #00000073,0 0 40px #f8c84f21;animation:billboardSlideIn .2s steps(4,end)}@keyframes billboardSlideIn{0%{transform:translate(40px);opacity:0}}.billboard-sheet__header{flex:none;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:10px 10px 9px 12px;background:#1a1409;border-bottom:2px solid var(--line)}.billboard-sheet__header h2{margin-top:2px;font-size:16px;color:var(--text)}.billboard-kicker{display:block;color:var(--gold);font-family:GalmuriMono11,monospace;font-size:9px;letter-spacing:1.5px}.billboard-close{width:var(--tap);height:var(--tap);flex:none;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-size:14px}.billboard-tabs{flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#120e08;border-bottom:2px solid var(--line)}.billboard-tab{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 8px;background:transparent;border:0;border-right:1px solid var(--line);color:var(--muted);font-family:inherit}.billboard-tab:last-child{border-right:0}.billboard-tab>span{overflow:hidden;max-width:100%;font-size:11px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}.billboard-tab>small{color:var(--muted-2);font-family:GalmuriMono11,monospace;font-size:8px}.billboard-tab>small.is-live{color:var(--up)}.billboard-tab[aria-selected=true]{background:#211a0b;color:var(--gold);box-shadow:inset 0 -3px 0 var(--gold)}.billboard-tab[aria-selected=true]>small{color:var(--gold)}.billboard-tab:focus-visible{position:relative;z-index:1;outline:3px solid #fff;outline-offset:-3px}.billboard-sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:10px}.billboard-tabpanel{min-width:0;display:flex;flex-direction:column;gap:10px}.billboard-tabpanel[hidden]{display:none}.billboard-preview{position:relative;min-height:190px;aspect-ratio:2 / 1;overflow:hidden;display:block;color:#fff;background:#120e08;border:4px solid #090704;outline:2px solid var(--gold);outline-offset:-7px;box-shadow:inset 0 0 28px #0006,3px 3px #00000073}.billboard-preview>img{width:100%;height:100%;display:block;object-fit:cover;image-rendering:auto}.billboard-preview:after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:3px;background:var(--gold);box-shadow:0 0 10px var(--gold)}.billboard-preview__scan{position:absolute;inset:0;opacity:.17;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#000 3px 4px)}.billboard-preview__top{position:absolute;z-index:3;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;gap:8px;color:var(--gold);font-family:GalmuriMono11,monospace;font-size:9px}.billboard-preview__top span{padding:2px 4px;background:#080603d1}.billboard-preview__empty{position:absolute;z-index:2;inset:0;display:grid;place-items:center;padding-top:12px;color:#fff2bd;font-family:GalmuriMono11,monospace;font-size:clamp(18px,6vw,28px);letter-spacing:2px;text-shadow:3px 3px 0 #000}.billboard-ad-description{min-width:0;padding:9px 10px;background:#1b1812;border-left:3px solid var(--gold)}.billboard-ad-description span{display:block;margin-bottom:4px;color:var(--gold);font-family:GalmuriMono11,monospace;font-size:8px;letter-spacing:1.2px}.billboard-ad-description p{margin:0;color:var(--text);font-size:11px;line-height:1.6;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}.billboard-visit{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#211a0b;border:1px solid var(--gold);color:var(--text);text-decoration:none;box-shadow:2px 2px #0006}.billboard-visit>span{min-width:0;display:flex;flex-direction:column;gap:2px}.billboard-visit b{color:var(--gold);font-size:11px}.billboard-visit small{overflow:hidden;color:var(--muted);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.billboard-visit>strong{flex:none;color:var(--gold);font-size:20px}.billboard-visit:focus-visible{outline:3px solid #fff;outline-offset:2px}.billboard-visit:hover{background:#2a2110}.billboard-upload{min-height:76px;display:flex;align-items:center;gap:10px;padding:9px;background:var(--panel);border:1px dashed var(--gold);cursor:pointer}.billboard-upload.has-file{border-style:solid;background:#182216}.billboard-upload input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.billboard-upload__icon{width:42px;height:42px;flex:none;display:grid;place-items:center;background:#211a0b;border:1px solid var(--gold);color:var(--gold);font-size:18px}.billboard-upload>span:last-child{min-width:0;display:flex;flex-direction:column;gap:4px}.billboard-upload b{overflow:hidden;color:var(--text);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.billboard-upload small{color:var(--muted);font-size:8px;line-height:1.5}.billboard-upload:focus-within{outline:3px solid #fff;outline-offset:2px}.billboard-editor{min-width:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:#15120d;border:1px solid var(--line)}.billboard-editor__preview{position:relative;min-width:0;aspect-ratio:2 / 1;overflow:hidden;background:#080603;border:2px solid #090704;outline:1px solid var(--gold);outline-offset:-4px}.billboard-editor__preview canvas{width:100%;height:100%;display:block}.billboard-editor__preview>span{position:absolute;right:7px;bottom:7px;padding:3px 5px;background:#080603db;color:var(--gold);font-size:8px}.billboard-editor__ranges{display:grid;gap:6px}.billboard-editor__ranges label{min-width:0;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;color:var(--muted);font-size:9px}.billboard-editor__ranges label>span{display:flex;justify-content:space-between;gap:4px}.billboard-editor__ranges b{color:var(--text);font-weight:400}.billboard-editor__ranges input{width:100%;min-width:0;min-height:44px;accent-color:var(--gold)}.billboard-editor__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.billboard-editor__actions button{min-height:44px;padding:6px;background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:9px}.billboard-editor__actions button:disabled{opacity:.5}.billboard-editor__commit{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px}.billboard-secondary{min-height:44px;padding:8px 9px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:9px}.billboard-secondary:disabled{opacity:.5}.billboard-policy{margin:0;color:var(--muted-2);font-size:8px;line-height:1.55}.billboard-field>small{color:var(--muted-2);font-size:8px;line-height:1.45}.billboard-field>small.is-error{color:var(--up)}.billboard-message{padding:8px 10px;border:1px solid currentColor;background:var(--bg-2);font-size:11px;line-height:1.45}.billboard-message.is-ok{color:var(--good)}.billboard-message.is-error{color:var(--up)}.billboard-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--bg-2)}.billboard-stat{min-width:0;display:flex;flex-direction:column;gap:3px;padding:8px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.billboard-stat:nth-child(2n){border-right:0}.billboard-stat:nth-last-child(-n+2){border-bottom:0}.billboard-stat span{color:var(--muted);font-size:9px}.billboard-stat b{min-width:0;overflow:hidden;color:var(--text);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.billboard-stat b.is-live{color:var(--up)}.billboard-owner-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;background:#211b10;border-left:3px solid var(--gold);color:var(--muted);font-size:10px}.billboard-owner-row b{overflow:hidden;color:var(--gold);white-space:nowrap;text-overflow:ellipsis}.billboard-section{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--bg-2);border:1px solid var(--line)}.billboard-section__title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--line)}.billboard-section__title h3{margin-top:2px;font-size:13px}.billboard-auction-policy{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;padding:7px 8px;background:#211a0b;border-left:3px solid var(--gold);color:var(--muted);font-size:9px;line-height:1.5}.billboard-auction-policy strong{flex:none;color:var(--gold);white-space:nowrap}.billboard-auction-policy span{min-width:0;word-break:keep-all;overflow-wrap:anywhere}.billboard-rights,.billboard-highest{max-width:48%;overflow:hidden;padding:3px 5px;border:1px solid var(--gold);color:var(--gold);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.billboard-field{display:flex;flex-direction:column;gap:4px}.billboard-field>span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.billboard-field i{color:var(--muted-2);font-style:normal}.billboard-field input,.billboard-field textarea,.billboard-bid-row input{width:100%;min-height:44px;padding:9px 10px;background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;font-size:16px;outline:none}.billboard-field textarea{min-height:76px;resize:vertical;line-height:1.5}.billboard-field input:focus,.billboard-field textarea:focus,.billboard-bid-row input:focus{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}.billboard-primary{min-height:44px;padding:9px 12px;background:var(--gold);border:2px solid #151006;color:#151006;font-size:11px;font-weight:800;box-shadow:2px 2px #00000073}.billboard-primary:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.5}.billboard-empty{padding:14px 10px;border:1px dashed var(--line);color:var(--muted);font-size:11px;line-height:1.6;text-align:center}.billboard-empty b{color:var(--gold)}.billboard-ad-empty{display:flex;flex-direction:column;align-items:stretch;gap:7px}.billboard-ad-empty>span{color:var(--muted);font-size:9px}.billboard-ad-empty>.billboard-primary{width:100%;margin-top:2px}.billboard-auction-schedule{display:flex;flex-direction:column;align-items:center;gap:3px}.billboard-auction-schedule span,.billboard-auction-schedule small{color:var(--muted)}.billboard-auction-schedule b,.billboard-auction-schedule time{max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.billboard-leading{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 10px;background:#211a0b;border:1px solid var(--gold);text-align:center}.billboard-leading span{color:var(--gold)}.billboard-leading b{font-size:18px}.billboard-leading small{color:var(--muted);font-size:9px;line-height:1.45}.billboard-bid-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:end;gap:6px}.billboard-bid-row label{min-width:0;display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:10px}.billboard-bid-row input{font-family:GalmuriMono11,monospace}.billboard-quick-bids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.billboard-quick-bids button{min-height:44px;overflow:hidden;padding:5px 3px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.billboard-auction-note{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted);font-size:9px;line-height:1.5}.billboard-auction-note b{color:var(--text)}@media(max-width:700px){.billboard-backdrop{align-items:flex-end;padding:0;background:#0403018f;-webkit-backdrop-filter:none;backdrop-filter:none}.billboard-sheet{width:100%;max-height:min(78dvh,calc(100dvh - var(--safe-t) - 8px));border-width:2px 0 0;box-shadow:0 -6px #0006;animation-name:billboardSheetUp}@keyframes billboardSheetUp{0%{transform:translateY(42px);opacity:0}}.billboard-sheet__header{min-height:58px;padding:7px 8px 6px 10px}.billboard-sheet__body{padding:8px 8px calc(10px + var(--safe));gap:8px}.billboard-preview{min-height:142px;aspect-ratio:2 / 1}.billboard-auction-policy{align-items:flex-start;flex-direction:column}}@media(max-width:370px){.billboard-bid-row,.billboard-quick-bids{grid-template-columns:1fr}.billboard-quick-bids button{min-height:44px}}@media(prefers-reduced-motion:reduce){.billboard-sheet{animation:none}}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}html,body{overscroll-behavior:none}@keyframes joyIntro{0%,to{box-shadow:0 0 #f8c84f00}50%{box-shadow:0 0 0 10px #f8c84f38,0 0 18px 4px #f8c84f47}}.joyBase--hint{animation:joyIntro 1.4s ease-in-out 3}@media(prefers-reduced-motion:reduce){.joyBase--hint{animation:none;box-shadow:0 0 0 2px #f8c84f4d}}
