.field-screen{position:relative;isolation:isolate;overflow:hidden;max-width:1400px;margin:auto;height:calc(100dvh - 185px);min-height:640px;background:linear-gradient(#96a999 0%,#819780 28%,#6d8050 55%,#2c442f 100%);border:1px solid #d3bb7045;border-radius:0 0 12px 12px}
.field-heading{position:absolute;top:24px;left:30px;z-index:2}.field-heading h1{font:38px Georgia,serif;color:#fcf0d2;margin:8px 0}.field-heading p{color:#d7e3cb;font-size:12px}.field-heading .eyebrow{color:#e4cf9f}
.field-landscape{position:absolute;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 50% 100%,#bda96c66,transparent 65%)}.field-sun{position:absolute;left:60%;top:-150px;width:600px;height:600px;background:radial-gradient(circle,#fff5bd99,transparent 68%)}.field-mountains{position:absolute;inset:8% -20% 34%;background:linear-gradient(145deg,#647c6e,#384f42);clip-path:polygon(0 55%,12% 27%,24% 55%,38% 12%,49% 59%,65% 20%,80% 51%,89% 30%,100% 44%,100% 100%,0 100%);opacity:.6}.field-mountains.distant{transform:translateY(-50px) scaleX(-1);opacity:.2}
#idle-stage,.idle-labels{position:absolute;left:0;top:90px;width:100%;height:calc(100% - 190px)}.idle-labels{pointer-events:none}.idle-label{position:absolute;top:0;left:0;display:grid;width:100px;gap:4px;color:#fff1c9;font-size:10px;text-align:center;text-shadow:0 1px 3px #000}.idle-label progress{width:100%;height:5px;accent-color:#a3d664}.idle-label.enemy progress{accent-color:#ea906e}
.field-chapters{position:absolute;top:24px;right:30px;display:flex;gap:12px;z-index:3}.field-chapters button{width:66px;height:62px;background:#243d34;border:2px solid #a99d6c;color:#f5e0a8;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);font-weight:bold}.field-chapters button[aria-current=true]{background:#986f38;border-color:#ffe09a}.field-chapters button:disabled{opacity:.6}.field-map{position:absolute;right:30px;top:100px;z-index:3;color:#f6e5b7}
.field-loot{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:4}.loot-chest{border:0;background:none;position:relative;width:230px;height:133px;cursor:pointer;color:#f7e4b4;display:flex;flex-direction:column;align-items:center;justify-content:end}.loot-chest .hero-chest{display:block;transform:scale(.48);transform-origin:bottom center;position:absolute;bottom:25px}.loot-chest>span:last-child{position:relative;font-size:11px;letter-spacing:1px;text-shadow:0 1px 4px #000}.loot-aura{position:absolute;inset:-20px;background:radial-gradient(ellipse,#f8d27655,transparent 65%);opacity:.25}.has-loot .loot-aura{opacity:1;animation:loot-glow 3s infinite alternate}.has-loot:after{content:'● ● ● ● ●';position:absolute;bottom:22px;color:#ebc05f;letter-spacing:8px;text-shadow:0 0 8px #f8d875;z-index:-1}
#boss-entry{min-width:240px;min-height:54px;background:linear-gradient(#efd48d,#b88b3f);color:#302b1b;border:2px solid #f7dda0;box-shadow:0 5px 0 #624d28,0 10px 24px #0004}#formation-entry{color:#eee0b7;font-size:11px}.field-status{position:absolute;left:22px;bottom:22px;color:#dce9cf;font-size:11px;max-width:200px}.field-retry{position:absolute;left:22px;bottom:55px;z-index:5}
.campaign-wallet{gap:22px}.campaign-wallet span{white-space:nowrap}.campaign-wallet b{font-size:15px}.campaign-wallet span:nth-child(3){color:#dbb8ff}.campaign-wallet span:nth-child(4){color:#abd7e9}
.loot-dialog{background:linear-gradient(140deg,#2a3c30,#15271f);color:#efe7cc;border:1px solid #bda268;border-radius:12px;padding:24px;width:min(580px,calc(100% - 28px));max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #0008}.loot-dialog::backdrop{background:#06130dcc;backdrop-filter:blur(5px)}.loot-dialog header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #bda26844;padding-bottom:12px}.loot-dialog h2{font:28px Georgia,serif;margin:8px 0}.dialog-close{color:#efdab0;border:1px solid #baa36d;background:#354739;font-size:24px;width:38px;height:38px;border-radius:8px}.loot-dialog p{font-size:12px;line-height:1.7;color:#b8c9b4}.loot-rates{padding:14px;background:#0b1c1355;border-radius:6px}.loot-dialog>.primary-button{width:100%;margin-top:14px;white-space:normal;height:auto;min-height:48px;padding:14px}.loot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:120px;margin:20px 0}.loot-item{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid #cab57555;background:linear-gradient(#40544088,#172d2277);color:#e9d7ac;padding:14px 6px;border-radius:8px;cursor:pointer}.loot-item img{width:50px;height:50px}.loot-item strong{font-size:11px}.loot-item span{color:#98c5a7;font-size:13px}.item-dialog{text-align:center}.item-dialog #item-info>img{width:90px;margin-top:24px}.item-dialog h3{color:#95dfb0}.bag-screen{max-width:950px;margin:30px auto;padding:24px;color:#dccfae}.bag-screen h1{font:40px Georgia,serif}.bag-screen>p{font-size:13px;color:#aabda9}.bag-pager{display:flex;justify-content:space-between;align-items:center;color:#afc3aa;font-size:12px;margin:15px 0}.item-quantity{color:#f5d997;font-size:11px}.session-blocked{position:fixed;inset:0;z-index:500;background:#112218fa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#ebdfc2}.session-blocked p{max-width:450px;line-height:1.8}.field-screen~.guide{z-index:50}
body[data-screen=hub] .app-header{display:none}body[data-screen=hub] .field-screen{height:calc(100dvh - 126px);min-height:520px}body[data-screen=hub] .guide{left:20px;right:auto;top:120px;bottom:auto;width:300px}body[data-screen=hub] .guide img{width:48px;height:70px}#hero-level-up{white-space:normal;font-size:12px}.inventory-cell .item-quantity{position:absolute;bottom:2px;right:4px}.inventory-cell{position:relative}
@keyframes loot-glow{to{filter:brightness(1.4);transform:scale(1.08)}}
@media(max-width:600px){.field-screen{border-radius:0}.field-heading{top:83px;left:18px}.field-heading h1{font-size:25px}.field-heading p{display:none}.field-heading .eyebrow{font-size:7px}.field-chapters{top:12px;left:50%;right:auto;transform:translateX(-50%)}.field-chapters button{width:58px;height:51px}.field-map{right:12px;top:85px;font-size:9px}.campaign-wallet{gap:12px;padding:12px 6px;flex-wrap:wrap}.campaign-wallet span{font-size:8px;letter-spacing:0}.campaign-wallet b{font-size:12px;margin-left:3px}.campaign-wallet .wallet-progress{display:none}.field-status{bottom:auto;top:126px;font-size:9px;max-width:260px}.field-retry{top:158px;bottom:auto}body[data-screen=hub] .field-screen{min-height:600px;height:calc(100dvh - 118px)}#idle-stage,.idle-labels{top:155px;height:calc(100% - 335px)}.field-loot{bottom:20px}.field-loot .loot-chest{height:117px}body[data-screen=hub] .guide{left:12px;top:160px;width:calc(100% - 24px);max-width:none;padding:10px}.guide-target{outline-offset:2px}.loot-dialog{padding:16px}.loot-grid{gap:8px}.loot-item img{width:42px;height:42px}.loot-item strong{font-size:10px}.bag-screen{padding:18px;margin:0}.bag-screen h1{font-size:32px}.field-heading{pointer-events:none}}
@media(prefers-reduced-motion:reduce){.loot-aura{animation:none}}

.global-warning{position:fixed;z-index:80;top:6px;left:50%;transform:translateX(-50%);max-width:90vw;background:#332918;padding:10px;color:#f2cb81;font-size:12px}.field-loot{bottom:30px}body[data-screen=hub]{padding-bottom:70px}

.chest-lid,.chest-body{left:0}.idle-label progress{appearance:none;border:0;border-radius:3px;overflow:hidden;background:#203325}.idle-label progress::-webkit-progress-bar{background:#293d2b}.idle-label progress::-webkit-progress-value{background:#b1d878}.idle-label.enemy progress::-webkit-progress-value{background:#e5a185}

/* The battlefield fills the screen; controls stay above its quiet edges. */
.field-screen{background:linear-gradient(#b4c5ad,#7e946e 55%,#35482f)}
#idle-stage,.idle-labels{top:0;height:100%}
#idle-stage{mask-image:linear-gradient(transparent,black 16%,black 82%,transparent)}
.idle-labels{z-index:1}.idle-label{width:86px;font-size:10px;gap:3px}.idle-label span{padding:3px 5px;background:#1b302acc;border:1px solid #d5c58c55;border-radius:4px;white-space:nowrap}.idle-label progress{height:4px}
.field-landscape{background:radial-gradient(ellipse at 48% 10%,#f9e8bc99,transparent 70%)}
.field-mountains{opacity:.18}.field-mountains.distant{opacity:.1}
.field-heading h1{text-shadow:0 2px 16px #223827}.field-status{z-index:2;padding:8px 12px;border-radius:20px;background:#1b302a9c;max-width:none;font-size:10px;letter-spacing:.6px}
.field-loot{gap:7px}.loot-chest{isolation:isolate}.loot-chest .hero-chest{filter:drop-shadow(0 10px 6px #10201888)}
.has-loot:after{content:'';width:180px;height:34px;bottom:17px;left:25px;border-radius:50%;background:radial-gradient(ellipse,#dfb84c 0 23%,#876425 26% 36%,transparent 39%) 0 0/23px 12px;transform:perspective(160px) rotateX(32deg);box-shadow:0 10px 25px #e8be5744}
.field-feedback{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.field-float,.field-coin{position:absolute;left:0;top:0;pointer-events:none;will-change:transform,opacity}
.field-float{font:700 10px Georgia,serif;letter-spacing:1px;color:#fff0c1;text-shadow:0 1px 4px #32250e;margin-left:-20px}.field-float.healing{color:#a2ffc3;font-size:9px;margin-left:-30px}
.field-coin{width:13px;height:13px;border-radius:50%;border:2px solid #ffe5a3;background:radial-gradient(circle at 35% 30%,#ffedac,#d79529);box-shadow:0 0 12px #ffdc6999}
.loot-collected .hero-chest{animation:chest-collect .65s ease-out}.loot-collected .loot-aura{animation:chest-flash .7s ease-out}
.loot-receipt{position:fixed;z-index:95;left:50%;bottom:90px;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:14px 20px;border:1px solid #e5c775;border-radius:10px;background:#203929f5;color:#fff0bf;font-size:12px;line-height:1.6;box-shadow:0 8px 28px #0005;pointer-events:none}
@keyframes chest-collect{35%{transform:scale(.53) translateY(-10px)}70%{transform:scale(.46)}100%{transform:scale(.48)}}
@keyframes chest-flash{40%{opacity:1;filter:brightness(2.5);transform:scale(1.25)}100%{opacity:.25}}
@media(max-width:600px){.field-status{left:16px;top:123px;padding:6px 8px;font-size:8px}.idle-label{width:73px;font-size:8px}.field-loot{bottom:20px}.field-loot .loot-chest{height:110px}.field-heading h1{font-size:27px}.loot-receipt{bottom:85px;font-size:11px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.loot-collected .hero-chest,.loot-collected .loot-aura{animation:none}.field-feedback{display:none}}
