@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(./cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(./cinzel-latin-700-normal-C-gK7hA8.woff)format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(./cinzel-latin-900-normal-BI3z7Tow.woff2)format("woff2"),url(./cinzel-latin-900-normal-t_fSDEbn.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(./alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(./alegreya-sans-latin-800-normal-CpHsWMQ0.woff2)format("woff2"),url(./alegreya-sans-latin-800-normal-17etSahV.woff)format("woff")}:root{--ink:#2b1a0e;--cream:#fff4dc;--parch:#f1e2bf;--parch-dark:#d9c399;--gold:#f2c14e;--gold-deep:#c8902a;--wood:#6b4527;--wood-dark:#3f2714;--blue:#2d5fb8;--blue-deep:#1d3d78;--red:#b0332b;--green:#4f8a3a;--shadow:0 6px 18px #140a0059;--font-head:"Cinzel", Georgia, serif;--font-body:"Alegreya Sans", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;font-family:var(--font-body);color:var(--cream);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#9fb9c9;margin:0;overflow:hidden}#app{position:fixed;top:0;bottom:0;left:0;right:0}#game-canvas{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#ui-root{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#ui-root .interactive,#ui-root button{pointer-events:auto}.loading{z-index:50;background:radial-gradient(at 50% 40%,#4f7a46 0%,#2b3a2a 70%);flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.loading h1{font-family:var(--font-head);color:var(--gold);letter-spacing:.08em;text-shadow:0 3px 0 var(--wood-dark);margin:0;font-size:clamp(34px,7vw,64px)}.loading .bar{background:#00000059;border-radius:6px;width:min(260px,60vw);height:8px;margin-top:18px;overflow:hidden}.loading .bar i{background:linear-gradient(90deg, var(--gold-deep), var(--gold));width:30%;height:100%;animation:1.2s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(340%)}}.hud{transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.hud.hidden{opacity:0}.hud{--hud-h:56px}.hud-top{top:max(10px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;position:absolute}.level-badge{border:2px solid var(--gold-deep);box-shadow:var(--shadow);background:linear-gradient(#3f2714e0,#2b1a0ee0);border-radius:12px;justify-self:start;align-items:center;gap:8px;padding:5px 12px 5px 6px;display:flex}.level-badge .shield{width:34px;height:38px;font-family:var(--font-head);color:var(--cream);background:linear-gradient(180deg, var(--blue), var(--blue-deep));clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%);place-items:center;font-size:16px;font-weight:700;display:grid}.level-badge .txt{line-height:1.05}.level-badge .txt b{font-family:var(--font-head);color:var(--gold);white-space:nowrap;font-size:14px;display:block}.level-badge .txt span{opacity:.85;white-space:nowrap;font-size:12px}.progress{border:2px solid var(--gold-deep);width:100%;max-width:420px;height:14px;box-shadow:var(--shadow);background:#2b1a0eb3;border-radius:10px;justify-self:center;position:relative}.progress .fill{background:linear-gradient(90deg,#3b6fd0,#79a7ff);border-radius:8px;width:0%;position:absolute;top:0;bottom:0;left:0}.progress .mark{background:var(--parch);border:2px solid var(--wood-dark);border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%}.progress .mark.combat{background:#d9534a}.progress .mark.hazard{background:#e0a83a;border-radius:2px;transform:rotate(45deg)}.progress .end{filter:drop-shadow(0 2px 2px #00000080);background-repeat:no-repeat;background-size:contain;width:28px;height:28px;margin-top:-14px;position:absolute;top:50%;right:-12px}.hud-right{align-items:center;gap:8px;display:flex}.gold-pill{border:2px solid var(--gold-deep);box-shadow:var(--shadow);color:var(--gold);background:linear-gradient(#3f2714e0,#2b1a0ee0);border-radius:20px;align-items:center;gap:6px;min-width:74px;padding:5px 12px 5px 6px;font-size:18px;font-weight:800;display:flex}.gold-pill img{width:24px;height:24px}.gold-pill.bump{animation:.3s bump}@keyframes bump{50%{transform:scale(1.15)}}.icon-btn{border:2px solid var(--gold-deep);cursor:pointer;width:40px;height:40px;color:var(--gold);box-shadow:var(--shadow);background:linear-gradient(#3f2714e6,#2b1a0ee6);border-radius:50%;font-size:18px}.squad-badge{will-change:transform;text-align:center;color:#fff;pointer-events:none;background:linear-gradient(180deg, #3b6fd0, var(--blue-deep));border:2px solid var(--gold);text-shadow:0 2px #00000059;min-width:40px;box-shadow:var(--shadow);border-radius:10px 10px 50% 50%/10px 10px 30% 30%;padding:2px 9px 5px;font-size:19px;font-weight:800;transition:opacity .2s;position:absolute;top:0;left:0;transform:translate(-50%,-100%)}.squad-badge.pulse-up{animation:.35s pulseUp}.squad-badge.pulse-down{animation:.3s pulseDown}@keyframes pulseUp{40%{background:linear-gradient(#5c94ff,#2d5fb8);transform:translate(-50%,-100%)scale(1.25)}}@keyframes pulseDown{40%{background:linear-gradient(#d9534a,#8a221c);transform:translate(-50%,-100%)scale(.88)}}.boss-bar{top:calc(max(10px, env(safe-area-inset-top)) + var(--hud-h));text-align:center;width:min(460px,86vw);transition:opacity .3s,transform .3s;position:absolute;left:50%;transform:translate(-50%)}.boss-bar.hidden{opacity:0;transform:translate(-50%,-10px)}.boss-bar{background:linear-gradient(#1e10089e,#1e100866);border-radius:12px;padding:4px 10px 8px}.boss-bar .name{font-family:var(--font-head);color:var(--cream);text-shadow:0 2px #000;font-size:19px;font-weight:700}.boss-bar .title{color:var(--gold);text-shadow:0 1px #000,0 0 6px #000c;margin-top:-2px;font-size:13px}.boss-bar .hp{border:2px solid var(--gold-deep);background:#1e0a08cc;border-radius:8px;height:16px;margin-top:4px;overflow:hidden}.boss-bar .hp i{background:linear-gradient(#e0574c,#8a221c);width:100%;height:100%;transition:width .15s;display:block}.hint{left:50%;bottom:calc(5% + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;align-items:center;gap:8px;transition:opacity .4s;display:flex;position:absolute;transform:translate(-50%)}.hint.hidden{opacity:0}.hint .label{white-space:nowrap;font-family:var(--font-head);letter-spacing:.08em;border:2px solid var(--gold-deep);background:#2b1a0eb8;border-radius:10px;align-items:center;gap:10px;padding:6px 16px;font-size:clamp(15px,3.4vw,20px);font-weight:700;display:flex}.hint .hand{font-size:24px;animation:1.2s ease-in-out infinite swipe;display:inline-block}@keyframes swipe{0%,to{transform:translate(-10px)}50%{transform:translate(10px)}}.floater{white-space:nowrap;pointer-events:none;color:#fff;text-shadow:0 2px #00000080,0 0 8px #00000059;font-size:22px;font-weight:800;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.floater.gain{color:#bfe0ff;font-size:24px}.floater.gold{color:var(--gold)}.floater.loss{color:#ffb3a8;font-size:18px}.floater.big{font-family:var(--font-head);color:var(--gold);font-size:30px}.banner{opacity:0;pointer-events:none;font-family:var(--font-head);color:var(--cream);letter-spacing:.05em;width:max-content;max-width:94vw;text-shadow:0 3px 0 var(--wood-dark), 0 0 20px #0006;text-align:center;font-size:clamp(24px,5.2vw,40px);font-weight:700;transition:opacity .3s,transform .3s;position:absolute;top:19%;left:50%;transform:translate(-50%,-50%)scale(.9)}.banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.banner small{color:var(--gold);letter-spacing:.12em;font-size:.45em;display:block}.overlay{opacity:0;background:radial-gradient(#140c0440,#140c0499);justify-content:center;align-items:center;padding:16px;transition:opacity .25s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.overlay.show{opacity:1}.panel{width:min(420px,100%);max-height:100%;color:var(--ink);text-align:center;background:linear-gradient(180deg, var(--parch), #e7d3a8);border:3px solid var(--wood);box-shadow:0 0 0 4px var(--gold-deep), 0 18px 40px #00000080;border-radius:18px;padding:20px 18px 18px;transition:transform .3s cubic-bezier(.2,1.4,.4,1);position:relative;overflow-y:auto;transform:translateY(14px)scale(.96)}.overlay.show .panel{transform:none}.panel h2{font-family:var(--font-head);letter-spacing:.05em;color:var(--wood-dark);margin:0 0 4px;font-size:32px}.panel h2.victory{color:#2d5fb8}.panel h2.defeat{color:var(--red)}.panel .sub{opacity:.8;margin-bottom:12px;font-size:15px}.stats{justify-content:center;gap:10px;margin:8px 0 12px;display:flex}.stat{background:#6b45271f;border-radius:10px;flex:1;padding:8px 4px}.stat b{color:var(--wood-dark);font-size:24px;display:block}.stat span{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:12px}.reward{color:var(--gold-deep);text-shadow:0 2px #ffffff80;justify-content:center;align-items:center;gap:10px;margin:6px 0 14px;font-size:40px;font-weight:800;display:flex}.reward img{width:44px;height:44px}.btn{cursor:pointer;width:100%;font-family:var(--font-head);letter-spacing:.04em;color:var(--cream);background:linear-gradient(180deg, #4a7fe0, var(--blue-deep));border:none;border-radius:12px;margin-top:10px;padding:13px 16px;font-size:19px;font-weight:700;transition:transform 80ms,filter .15s;display:block;box-shadow:0 4px #142c58,0 6px 14px #0000004d}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(3px);box-shadow:0 1px #142c58}.btn.gold{background:linear-gradient(180deg, #ffd56a, var(--gold-deep));color:var(--wood-dark);box-shadow:0 4px #8a5a12,0 6px 14px #0000004d}.btn.ghost{color:var(--wood);box-shadow:none;background:0 0;border:2px solid #6b452773;font-size:16px}.btn.small{padding:9px 12px;font-size:15px}.panel.result .council-btn{width:100%;margin-top:8px;display:block}.panel.result .council-btn.afford{color:var(--wood-dark);border-color:var(--gold-deep);background:#e8b84a47;animation:1.6s ease-in-out infinite councilPulse}@keyframes councilPulse{0%,to{box-shadow:0 0 #e8b84a00}50%{box-shadow:0 0 0 4px #e8b84a59}}.btn .ad{font-family:var(--font-body);vertical-align:middle;background:#0003;border-radius:6px;margin-right:6px;padding:2px 6px;font-size:12px;font-weight:800;display:inline-block}.btn:disabled{filter:grayscale(.8)brightness(.9);cursor:default;opacity:.6}.reward-label{text-transform:uppercase;letter-spacing:.18em;opacity:.65;margin-top:4px;font-size:12px}.panel.result .btn:first-of-type{margin-top:6px}.ad-slot{border-top:2px dashed #6b452740;margin-top:12px;padding-top:10px}.ad-slot .btn{margin-top:0}.ad-slot small{letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin-top:4px;font-size:11px;display:block}.panel .tip{opacity:.65;margin-top:12px;font-size:13px;font-style:italic}.divider-line{background:#6b452740;height:2px;margin:14px 0 10px}.upgrades{text-align:left;gap:8px;display:grid}.upg{background:#6b45271f;border-radius:12px;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.upg img{width:44px;height:44px}.upg{transition:background .2s,opacity .2s,box-shadow .2s}.upg.afford{background:#4f8a3a29;box-shadow:inset 0 0 0 2px #4f8a3a80}.upg.poor{opacity:.72}.upg.maxed{background:#c8902a2e}.upg.bought{animation:.6s ease-out bought}@keyframes bought{0%{background:#f2c14ed9;transform:scale(1.03)}to{transform:none}}.upg .info{min-width:0}.upg .pips{gap:3px;margin-top:4px;display:flex}.upg .pips i{background:#3f271433;border-radius:3px;flex:1;max-width:14px;height:5px}.upg .pips i.on{background:var(--gold-deep)}.upg .n{color:var(--wood-dark);font-size:16px;font-weight:800}.upg button:disabled{opacity:.55}.panel.council{padding-top:16px}.panel.council .upgrades{max-height:min(52vh,420px);padding-right:2px;overflow-y:auto}.panel.council .next{position:sticky;bottom:0}@keyframes vig{0%{opacity:0}15%{opacity:calc(var(--vk,.5) * .9)}to{opacity:0}}.vignette{pointer-events:none;opacity:0;background:radial-gradient(#a0140a00 55%,#a0140a8c 100%);position:absolute;top:0;bottom:0;left:0;right:0}.vignette.flash{animation:.7s ease-out vig}.upg .n small{opacity:.6;margin-left:4px;font-weight:600}.upg .d{opacity:.8;font-size:13px}.upg button{align-items:center;gap:4px;width:auto;margin:0;padding:8px 12px;font-size:15px;display:flex}.upg button img{width:18px;height:18px}.panel-gold{color:var(--gold-deep);align-items:center;gap:4px;font-size:18px;font-weight:800;display:flex;position:absolute;top:12px;right:14px}.panel-gold img{width:20px;height:20px}.menu{padding:max(7vh, env(safe-area-inset-top)) 16px max(6vh, env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;align-items:center;transition:opacity .35s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.menu.hidden{opacity:0}.menu .logo{text-align:center}.menu .logo h1{font-family:var(--font-head);letter-spacing:.06em;color:var(--gold);text-shadow:0 4px 0 var(--wood-dark), 0 8px 24px #00000073;margin:0;font-size:clamp(40px,10vw,84px);font-weight:900}.menu .logo p{font-family:var(--font-head);letter-spacing:clamp(.06em,.9vw,.2em);white-space:nowrap;color:var(--cream);text-shadow:0 2px #0009;margin:0;font-size:clamp(11px,2.6vw,18px)}.menu .bottom{flex-direction:column;align-items:center;gap:12px;width:min(360px,100%);display:flex}.menu .start{font-family:var(--font-head);letter-spacing:.08em;color:var(--cream);text-shadow:0 3px 0 var(--wood-dark), 0 0 18px #00000080;font-size:clamp(22px,5vw,30px);font-weight:700;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.85;transform:scale(1.06)}}.menu .lvl{border:2px solid var(--gold-deep);color:var(--gold);background:#2b1a0eb3;border-radius:20px;padding:4px 14px;font-size:16px;font-weight:800}.menu .row{gap:10px;width:100%;display:flex}.menu .row .btn{margin:0}.toast{border:2px solid var(--gold-deep);opacity:0;background:#2b1a0ed9;border-radius:10px;padding:8px 16px;font-weight:700;transition:opacity .3s;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.debug-stats{color:#fff;white-space:pre;background:#0000008c;border-radius:6px;padding:6px 8px;font:11px/1.35 monospace;position:absolute;bottom:8px;left:8px}.mock-ad{z-index:100;background:#000000d9;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.mock-ad-box{text-align:center;color:#fff;font-family:var(--font-body)}.mock-ad-title{font-size:22px;font-weight:800}.mock-ad-sub{opacity:.7;margin:4px 0 10px}.mock-ad-count{color:var(--gold);font-size:56px;font-weight:800}.mock-ad-skip{color:#ccc;cursor:pointer;background:0 0;border:1px solid #666;border-radius:8px;margin-top:16px;padding:6px 12px}@media (max-width:560px){.hud{--hud-h:92px}.hud-top{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.progress{grid-area:2/1/auto/-1;justify-self:start;width:calc(100% - 14px);max-width:none}.level-badge .txt b{font-size:13px}.level-badge .txt span{font-size:11px}.gold-pill{min-width:64px;font-size:16px}.panel h2{font-size:27px}.upg{grid-template-columns:38px 1fr auto;gap:8px;padding:7px 8px}.upg img{width:38px;height:38px}}@media (max-height:460px){.hud{--hud-h:50px}.banner{font-size:clamp(22px,5vw,32px);top:26%}.menu{padding-top:3vh;padding-bottom:3vh}.menu .logo h1{font-size:clamp(32px,9vh,52px)}.panel{max-width:460px;padding:12px 14px}.panel h2{font-size:24px}.stats{margin:4px 0 6px}.stat b{font-size:19px}.reward{margin:2px 0 6px;font-size:30px}.btn{margin-top:6px;padding:9px 14px;font-size:16px}.panel.council .upgrades{max-height:38vh}}@media (hover:none){.btn{min-height:46px}.icon-btn{width:44px;height:44px}}#ui-root.ad-busy button,#ui-root.ad-busy .overlay{pointer-events:none!important}#ui-root.ad-busy .overlay{opacity:.55}.pause-overlay{z-index:30}.panel.pause{width:min(340px,100%)}.panel.pause .btn.ghost{margin-top:8px}.pause-btn{letter-spacing:-2px;font-size:14px}.hud.hidden .pause-btn{pointer-events:none}.boost-ready{color:#2f6b22;padding:6px 0;font-weight:800}.hint.touch-hint{z-index:6;pointer-events:none;width:min(52vw,400px);max-width:none;top:52%;bottom:auto;left:50%;overflow:visible;transform:translate(-50%,-50%)}.hint.touch-hint.hidden{opacity:0!important;animation:none!important}.hint.touch-hint:not(.hidden){animation:3.5s linear both swipeTutorialLifetime}.hint.touch-hint .swipe-tutorial-panel{width:100%;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:0;padding:0;display:flex;position:relative}.swipe-gesture{isolation:isolate;justify-content:space-between;align-items:center;width:100%;height:94px;display:flex;position:relative}.swipe-gesture:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#070f1238,#070f1214 65%,#0000 82%);border-radius:999px;position:absolute;top:7px;bottom:7px;left:0;right:0}.swipe-arrow-shape{opacity:.96;filter:drop-shadow(0 2px 5px #0006);flex:1 1 0;align-items:center;min-width:0;height:43px;animation:1.15s ease-in-out infinite alternate swipeArrowShimmer;display:flex}.swipe-arrow-shape.left{-webkit-mask-image:linear-gradient(90deg,#000 37%,#0000 100%);mask-image:linear-gradient(90deg,#000 37%,#0000 100%)}.swipe-arrow-shape.right{transform:scaleX(-1);-webkit-mask-image:linear-gradient(90deg,#000 37%,#0000 100%);mask-image:linear-gradient(90deg,#000 37%,#0000 100%)}.swipe-arrow-svg{width:100%;height:43px;display:block}.swipe-glove{z-index:2;filter:drop-shadow(0 2px 3px #00000047);will-change:transform;flex:0 0 clamp(62px,10vw,83px);place-items:center;height:94px;animation:1.1s ease-in-out infinite alternate swipeGloveTravel;display:grid}.swipe-glove-svg{width:clamp(62px,10vw,82px);height:94px;overflow:visible}.swipe-tutorial-copy{color:#fff9ef;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 3px #000000b3;text-align:center;background:#090d10de;border:1px solid #ffffff21;border-radius:12px;margin-top:1px;padding:6px 13px 7px;font:800 clamp(15px,3.2vw,19px)/1.12 Alegreya Sans,Segoe UI,sans-serif;display:block;box-shadow:0 5px 16px #00000040}@keyframes swipeGloveTravel{0%{transform:translate(-17px)}to{transform:translate(17px)}}@keyframes swipeArrowShimmer{0%{opacity:.73}to{opacity:1}}@keyframes swipeTutorialLifetime{0%{opacity:0}7%{opacity:1}77%{opacity:1}to{opacity:0}}@media (orientation:landscape) and (max-height:460px){.hint.touch-hint{width:min(28vw,390px);top:57%}.swipe-gesture{height:76px}.swipe-glove{flex-basis:62px;height:76px}.swipe-glove-svg{width:63px;height:75px}.swipe-arrow-shape,.swipe-arrow-svg{height:35px}.swipe-tutorial-copy{padding:5px 10px 6px;font-size:14px}}@media (max-width:400px) and (orientation:portrait){.hint.touch-hint{width:min(53vw,400px)}.swipe-glove{flex-basis:62px}.swipe-tutorial-copy{font-size:15px}}@media (prefers-reduced-motion:reduce){.swipe-glove,.swipe-arrow-shape{animation:none}}
