@font-face{font-family:Manrope;src:url(./Manrope-wght-DIRNzeTG.ttf)format("truetype");font-weight:400 800;font-display:swap}@font-face{font-family:Russo One;src:url(./RussoOne-Regular-CObpATgf.ttf)format("truetype");font-weight:400;font-display:swap}:root{--cream:#f4ead1;--gold:#e7bb68;--ink:#182520;--panel:#20332e;--muted:#9fb3a7;--line:#617869;--tg-safe-top:0px;--tg-safe-bottom:0px;--tg-content-safe-top:0px;--tg-content-safe-bottom:0px}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;color:var(--cream);background:#1d2b28;margin:0;font-family:Manrope,system-ui,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:default}#app{touch-action:none;position:relative}#world{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.vignette{pointer-events:none;z-index:1;background:radial-gradient(#0000 44%,#0e17134d 100%),linear-gradient(#0a181652,#0000 25% 68%,#0d1c178c);position:absolute;inset:0}.top-ui{z-index:6;padding:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 15px) 16px 0;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.brand{text-shadow:0 2px 5px #14211b;flex-direction:column;gap:1px;display:flex}.brand strong{letter-spacing:.015em;font-family:Russo One,sans-serif;font-size:26px;line-height:1.1}.brand>span:last-child{color:#f7e8c0;font-size:12px}.eyebrow{letter-spacing:.17em;color:#e2c283;text-transform:uppercase;font-size:10px;font-weight:800}.top-buttons{pointer-events:auto;gap:6px;display:flex}.top-buttons button,.icon-button{width:40px;height:40px;color:var(--cream);background:#23382fdd;border:1px solid #b9c3a677;border-radius:12px;place-items:center;font-size:23px;display:grid;box-shadow:0 6px 20px #11271d55}.top-buttons button:hover,.icon-button:hover{background:#365044}#close-button{font-size:26px}.sheet{z-index:5;overscroll-behavior:contain;padding:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 68px) max(16px,env(safe-area-inset-left)) calc(max(env(safe-area-inset-bottom),var(--tg-safe-bottom),var(--tg-content-safe-bottom)) + 22px);background:linear-gradient(150deg,#17312aef,#1f302eec 42%,#182521f5);position:absolute;inset:0;overflow-y:auto}.sheet[hidden],[hidden]{display:none!important}.sheet-inner{max-width:480px;margin:auto}.sheet-inner.wide{max-width:700px}.logo-mark{color:#ffe4a9;background:linear-gradient(145deg,#3e6556,#1d372c);border:2px solid #d7b66e;border-radius:22px;place-items:center;width:75px;height:75px;margin:8px 0 24px;font-family:Russo One;font-size:45px;display:grid;box-shadow:0 15px 35px #0c1b16aa,0 0 0 7px #ebd39716}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:.01em;font-family:Russo One,sans-serif;font-weight:400}h1{text-shadow:0 4px 20px #091c14;margin:10px 0 22px;font-size:clamp(42px,12vw,72px);line-height:1.02}h2{margin:5px 0;font-size:31px}.lead{color:#d3dbcd;max-width:480px;font-size:16px;line-height:1.55}.feature-row{gap:9px;margin:24px 0;display:flex}.feature-row>div{background:#aac49e14;border:1px solid #74897855;border-radius:14px;flex-direction:column;flex:1;gap:2px;padding:12px;display:flex}.feature-row b{color:#f0ce8f;font:24px Russo One}.feature-row span{color:#bdc8b9;font-size:10px;line-height:1.2}.main-button{color:#253124;background:linear-gradient(#efc980,#c58f4c);border:1px solid #e8c276;border-radius:14px;width:100%;padding:17px;font-size:16px;font-weight:800;display:block;box-shadow:0 7px #8d643b,0 15px 30px #0a1e15aa}.main-button:active{transform:translateY(4px);box-shadow:0 3px #8d643b}.ghost-button{color:#e2d8b9;background:0 0;border:0;padding:20px 0;font-size:13px;text-decoration:underline}.fineprint{color:#9eb4a4;margin:12px 0;font-size:11px;line-height:1.5}.section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.wallet{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wallet>div{background:#102b25a9;border:1px solid #94a99355;border-radius:15px;flex-direction:column;padding:13px 16px;display:flex}.wallet span{letter-spacing:.12em;color:#d2c393;font-size:10px;font-weight:800}.wallet b{color:#ffdaa0;font:30px Russo One}.wallet small{color:#aabcae;font-size:10px}.tabs{border-bottom:1px solid #758a76aa;gap:5px;margin:20px 0 14px;display:flex}.tabs button{color:#abc2b0;background:0 0;border:0;flex:1;padding:11px 4px;font-size:13px;font-weight:800}.tabs .selected{color:#f3d38f;border-bottom:3px solid #e5b969}.scroll-list{scrollbar-width:thin;gap:9px;max-height:min(51vh,520px);padding:2px 2px 16px;display:grid;overflow-y:auto}.mission-item,.city-item,.rank-item{color:#f2ead5;text-align:left;background:linear-gradient(130deg,#294339ed,#22352fec);border:1px solid #66877888;border-radius:13px;align-items:center;gap:12px;padding:13px;display:flex;box-shadow:0 5px 13px #09181033}.mission-item.locked{opacity:.56}.mission-icon{color:#ffe0a0;background:#64816d6e;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font:19px Russo One;display:grid}.mission-info,.city-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.mission-info strong,.city-info strong{font-size:13px}.mission-info small,.city-info small{color:#b6c8b9;font-size:10px;line-height:1.3}.mission-state{color:#efcc82;white-space:nowrap;font-size:10px;font-weight:800}.chapter-label{color:#d4c7a4;letter-spacing:.14em;margin:11px 1px 2px;font-size:11px;font-weight:800}.detail{background:#1a342b;border:1px solid #caad745e;border-radius:15px;margin-top:14px;padding:15px}.detail h3{margin:5px 0 10px;font:20px Russo One}.detail p{color:#c5d3c2;margin-bottom:9px;font-size:12px;line-height:1.5}.detail .main-button{margin-top:15px;padding:12px}.city-item{align-items:flex-start}.city-item .city-cost{color:#f4d292;font-size:11px}.slot-select{color:#e4e9d7;background:#10251f;border:1px solid #778878;border-radius:9px;width:100%;margin-top:8px;padding:8px}.city-buy{color:#1d2c25;white-space:nowrap;background:#d7ab67;border:0;border-radius:8px;padding:9px;font-size:12px;font-weight:800}.city-buy:disabled{color:#d1d8ca;background:#667668}.city-note{color:#bfd1bd;margin:5px 2px 12px;font-size:11px;line-height:1.5}.mission-card{z-index:3;top:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 83px);background:#1c342bd9;border:1px solid #96aa8677;border-radius:13px;max-width:min(65vw,310px);padding:11px 13px;position:absolute;left:16px;box-shadow:0 9px 24px #09221c66}.mission-card strong{margin:4px 0;font:16px Russo One;display:block}.mission-card p{margin:5px 0;font-size:12px;line-height:1.3}.mission-card #stage-number{color:#deca9c;font-size:10px}.objective-line{color:#f5d693;gap:7px;font-size:10px;line-height:1.3;display:flex}.objective-line #objective-dot{color:#f5c25e}.health-panel{z-index:3;top:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 87px);background:#192d27cf;border:1px solid #9dbb9880;border-radius:12px;width:min(29vw,170px);padding:10px;position:absolute;right:16px}.health-panel>div>div:first-child{white-space:nowrap;justify-content:space-between;gap:2px;font-size:9px;display:flex}.health-panel b{color:#f0e6c9}.meter{background:#0b1c19;border-radius:9px;height:6px;margin:5px 0 10px;overflow:hidden}.meter i{background:linear-gradient(90deg,#8dcd89,#d5e49a);border-radius:9px;width:100%;height:100%;transition:width .18s;display:block}.meter.gate i{background:linear-gradient(90deg,#b6b5a1,#f2c982)}#controls{z-index:4;bottom:calc(max(env(safe-area-inset-bottom),var(--tg-safe-bottom),var(--tg-content-safe-bottom)) + 27px);pointer-events:none;justify-content:space-between;align-items:flex-end;padding:0 22px;display:flex;position:absolute;left:0;right:0}#joystick{pointer-events:auto;touch-action:none;background:#d8d9b330;border:2px solid #f0ddb19c;border-radius:50%;place-items:center;width:126px;height:126px;display:grid;box-shadow:0 0 0 10px #18291d20,inset 0 0 24px #15201577}#joystick-knob{background:#f5e5bb60;border:2px solid #fbe5b4ad;border-radius:50%;width:58px;height:58px;box-shadow:0 2px 10px #12231b}.action-stack{pointer-events:auto;grid-template-columns:repeat(2,75px);gap:7px;display:grid}.action-stack button{color:#f9f1d7;background:#25392fcf;border:1px solid #e5d5a88c;border-radius:12px;min-height:46px;font-size:10px;font-weight:800;box-shadow:0 5px 15px #11251f88}.action-stack .primary-action{color:#25362d;background:linear-gradient(160deg,#edce8e,#c08e55);border-color:#ffe1a9;grid-column:span 2;min-height:53px;font-size:15px;box-shadow:0 5px #7c5835}.action-stack .primary-action:disabled{color:#d2d9c6;box-shadow:none;background:#607266}.action-stack span{font-size:9px}#objective-pointer{z-index:3;color:#ffdc87;text-shadow:0 0 8px #5c4519;pointer-events:none;font-size:28px;position:absolute}#enemy-labels{z-index:2;pointer-events:none;position:absolute;inset:0}.enemy-bar{background:#2d1c1c;border:1px solid #120d0d;border-radius:5px;width:42px;height:5px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0009}.enemy-bar i{background:#e08871;height:100%;display:block}.result-inner{padding-top:11vh}.result-inner h2{margin:10px 0 16px;font-size:38px}.result-inner p{color:#d8dfd0;line-height:1.55}.result-reward{grid-template-columns:1fr 1fr;gap:9px;margin:20px 0 32px;display:grid}.result-reward div{background:#3952446f;border:1px solid #c6ad705c;border-radius:13px;padding:18px}.result-reward b{color:#ffdfa4;font:25px Russo One;display:block}#toast{z-index:10;top:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 63px);color:#f5e6c6;text-align:center;background:#19352d;border:1px solid #e1c881;border-radius:12px;max-width:390px;margin:auto;padding:12px 16px;font-size:12px;position:absolute;left:16px;right:16px;box-shadow:0 10px 25px #071713aa}@media (height<=670px){.mission-card{top:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 66px);padding:8px}.health-panel{top:calc(max(env(safe-area-inset-top),var(--tg-safe-top),var(--tg-content-safe-top)) + 66px)}#controls{bottom:calc(max(env(safe-area-inset-bottom),var(--tg-safe-bottom),var(--tg-content-safe-bottom)) + 10px)}#joystick{width:100px;height:100px}.action-stack button{min-height:37px}.action-stack .primary-action{min-height:42px}}@media (orientation:landscape){.sheet{padding-top:45px}.scroll-list{max-height:39vh}.mission-card{max-width:240px}#controls{padding:0 25px}#joystick{width:90px;height:90px}}@media (width<=500px){.health-panel>div>div:first-child{white-space:normal;font-size:10px;line-height:1.3;display:block}.health-panel>div>div:first-child b{font-size:11px;display:block}.mission-card{max-width:51vw}.health-panel{width:29vw}}.health-panel>div:first-child,#gate-health-wrap>div:first-child{flex-direction:column;gap:1px;line-height:1.2;display:flex}.health-panel b{font-size:11px;display:block}.health-panel span{letter-spacing:.06em;font-weight:800}#app.overlay-open .top-ui{display:none}.mission-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);align-items:start;gap:12px;display:grid}.mission-layout .detail{background:linear-gradient(160deg,#315244,#172f29);border-color:#dfbb72;grid-area:1/2;margin:0;position:sticky;top:0;box-shadow:0 12px 32px #081c17aa}.mission-layout .scroll-list{grid-area:1/1;max-height:min(56vh,620px)}.mission-item.selected{background:linear-gradient(130deg,#435e48,#263c31);border-color:#f3cb79;box-shadow:inset 4px 0 #f5c46a,0 7px 18px #071b16aa}.detail-status{font-weight:800;color:#f6cf82!important}.detail-extra{border-top:1px solid #acbc9b55;margin-top:16px;padding-top:13px}.action-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:29px;height:29px;display:none}#app.compact-actions .action-stack{grid-template-columns:repeat(3,54px)}#app.compact-actions .action-stack .small-action{color:#ffe7ad;background:linear-gradient(155deg,#496758,#19372c);border:1px solid #d6d49ba8;border-radius:16px;place-items:center;width:54px;height:54px;min-height:54px;display:grid;position:relative;box-shadow:inset 0 1px #fff3,0 6px 16px #071b14b8}#app.compact-actions .action-stack .action-icon{display:block}#app.compact-actions .action-stack .action-label{display:none}#app.compact-actions .action-stack .action-count{color:#142c22;background:#e8bc69;border:1px solid #ffe5a6;border-radius:9px;min-width:19px;padding:1px 4px;font-size:10px;position:absolute;bottom:-4px;right:-3px}#app.compact-actions .action-stack .primary-action{grid-column:span 3}@media (width<=650px){.mission-layout{flex-direction:column;display:flex}.mission-layout .detail{width:100%;padding:13px;position:static}.mission-layout .scroll-list{width:100%;max-height:min(40vh,390px)}.detail-extra{display:none}.detail h3{margin-bottom:4px}.detail .main-button{margin-top:8px}.detail-status{margin-bottom:0!important}.mission-layout .detail{flex:none}}@media (width<=390px){#app.compact-actions .action-stack{grid-template-columns:repeat(3,48px)}#app.compact-actions .action-stack .small-action{width:48px;height:48px;min-height:48px}#controls{padding:0 12px}#joystick{width:110px;height:110px}}.audio-settings{flex-wrap:wrap;gap:8px 24px;margin:8px 0 14px;display:flex}.audio-settings .ghost-button{min-height:44px;padding:9px 0;font-weight:700;text-decoration:none}.audio-settings button[aria-pressed=false]{opacity:.7}
