@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=Fraunces:ital,wght@0,600;0,650;0,700;1,500;1,600&display=swap";:root{font-family:DM Sans,Segoe UI,sans-serif;color:#294337;background:#f8f6ed;font-synthesis:none;--ink: #294337;--muted: #7b8474;--green: #315c45;--cream: #f8f6ed;--border: #dddfd0}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #d9a84d;outline-offset:4px}button{transition:background .15s,transform .15s,box-shadow .15s}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{flex-shrink:0;vertical-align:middle}#app{height:100dvh;min-height:660px;display:flex;flex-direction:column;overflow:hidden}.header{height:78px;flex-shrink:0;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:var(--cream);gap:20px;z-index:2}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:1.6px;line-height:1.05}.brand-light{display:block;font-size:10px;font-weight:600;letter-spacing:3.05px;margin-top:5px}.brand-icon{width:41px;height:43px;display:grid;place-items:center;background:#365b43;border-radius:13px 13px 13px 3px;color:#efd593;transform:rotate(-7deg)}.brand-icon svg{transform:rotate(7deg)}.header-center{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.7px;font-weight:650;color:#808875}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#749c6d;flex-shrink:0}.header-actions{display:flex;gap:9px;align-items:center}.text-button{display:flex;gap:8px;align-items:center;border:0;background:transparent;font-size:12px;font-weight:600;padding:9px}.text-button:hover{background:#eeeedf;border-radius:8px}.icon-button{border:0;background:transparent;border-radius:8px;display:inline-grid;place-items:center;width:34px;height:34px;padding:0}.icon-button:not(:disabled):hover{background:#e1e6d7}.divider{width:1px;height:22px;background:var(--border);margin:0 5px}.layout{flex:1;min-height:0;display:flex}.sidebar{width:324px;min-width:324px;background:var(--cream);padding:35px 28px 18px;border-right:1px solid var(--border);z-index:2;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.4px;color:#7c846d;display:flex;gap:7px;align-items:center}.tiny-line{height:2px;width:17px;background:#c59951}h1{font-family:Fraunces,Georgia,serif;font-size:37px;line-height:1.14;font-weight:600;letter-spacing:-1.7px;margin:23px 0 17px}h1 em,h2 em{color:#788d64;font-weight:500}.intro-copy{font-size:12px;line-height:1.85;color:#7b8272;max-width:253px}.character-intro{display:flex;align-items:center;gap:13px;padding:22px 0 23px}.portrait{width:66px;height:66px;border-radius:50%;background:#e1e6ce;overflow:hidden;flex-shrink:0}.portrait svg{width:100%;height:100%}.main-portrait{border:4px solid #e9ecdc}.overline{font-size:8px;letter-spacing:1.1px;font-weight:750;color:#838a76}.character-intro h3{font-size:18px;letter-spacing:-.5px;margin:3px 0}.character-intro p{font-size:10px;color:#8b8d7b}.primary-button{background:#335c43;color:#fff7df;border:1px solid #335c43;border-radius:9px;min-height:47px;padding:12px 16px;width:100%;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 4px 8px #335c4310}.primary-button:hover{background:#244b35;box-shadow:0 4px 10px #335c4329}.start-note{text-align:center;font-size:8.5px;color:#969883;margin:10px 0 25px}.intro-missions{border-top:1px solid var(--border);padding-top:19px;display:grid;gap:18px}.intro-missions>div{display:flex;align-items:center;gap:12px}.mission-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:10px}.amber{background:#f1e6c8;color:#b7984e}.mint{background:#e3ead8;color:#74916e}.coral{background:#f0dfd0;color:#b8866b}.intro-missions strong{font-size:11px;font-weight:650;display:block;margin-bottom:4px}.intro-missions small{color:#8a8b79;font-size:9px}.sidebar-footer{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;color:#a0a38c;font-size:6.5px;letter-spacing:.6px;font-weight:600}.game-area{flex:1;min-width:0;position:relative;overflow:hidden;background:#c8d0b1}#world{position:absolute;inset:0;touch-action:none}.playing #world{cursor:crosshair}#world canvas{display:block;width:100%;height:100%}.world-heading{position:absolute;left:30px;top:26px;pointer-events:none}.location-label{font-size:8px;letter-spacing:1.5px;font-weight:750;display:flex;align-items:center;gap:6px}.world-heading h2{font-family:Fraunces,Georgia,serif;font-size:27px;font-weight:600;letter-spacing:-.9px;margin:5px 0}.world-heading h2 span{display:inline-flex;font-family:DM Sans,sans-serif;font-size:9px;padding:3px 5px;border:1px solid #a3b193;border-radius:4px;margin-left:5px;vertical-align:middle;letter-spacing:0}.world-heading p{font-size:10px;color:#5f775d}.world-badge{position:absolute;right:26px;top:30px;display:flex;align-items:center;gap:7px;border:1px solid #829c7077;padding:8px 11px;border-radius:20px;color:#5c7957;font-size:7px;letter-spacing:1px;font-weight:700;background:#dbe0c844}.camera-controls{position:absolute;right:21px;top:85px;display:flex;flex-direction:column;background:#f5f2e1e6;border:1px solid #fbf9e978;border-radius:9px;padding:3px;box-shadow:0 3px 10px #2540320d}.camera-controls .icon-button{width:28px;height:28px}.camera-controls .icon-button[aria-pressed=true]{background:#dce7cd;color:#355c43}.camera-controls .icon-button+.icon-button{border-top:1px solid #d5dbc6;border-radius:0 0 7px 7px}.map-card{position:absolute;bottom:21px;right:21px;width:162px;padding:11px;background:#f8f5e8ef;border:1px solid #ffffff90;box-shadow:0 8px 24px #344b3210;border-radius:12px}.map-title{display:flex;justify-content:space-between;gap:3px;font-size:6px;letter-spacing:.45px;font-weight:750;margin-bottom:8px}.map-title span+span{color:#929580;font-size:6px;font-weight:500;letter-spacing:0}#minimap{width:100%;aspect-ratio:1;display:block;border-radius:5px}.map-legend{display:flex;justify-content:space-between;margin-top:9px;font-size:6.5px;color:#7d8872}.map-legend span{display:flex;align-items:center;gap:4px}.map-legend i{width:5px;height:5px;border-radius:50%}.world-note{position:absolute;bottom:35px;left:31px;display:flex;align-items:center;gap:10px;color:#55714f;font-size:10px;line-height:1.7;transform:rotate(-3deg)}.world-note strong{font-weight:650}.note-star{font-size:41px;font-weight:300}.bottom-bar{height:82px;flex-shrink:0;display:flex;align-items:center;border-top:1px solid var(--border);background:var(--cream);position:relative;z-index:3;padding:0 29px;gap:25px}.tank-stat{display:flex;align-items:center;gap:13px;min-width:258px;width:258px;padding-right:23px;border-right:1px solid var(--border)}.equipment-icon{color:#738768}.tank-info{flex:1}.tank-info>div:first-child{display:flex;align-items:center;justify-content:space-between}.tank-info>div:first-child>span{font-size:7px;letter-spacing:.8px;font-weight:700;color:#8c947c}.tank-info strong{font-size:12px;font-weight:700}.tank-info strong span{font-size:9px;font-weight:500;color:#959983}.tank-track{height:5px;background:#e3e6d5;border-radius:10px;margin-top:9px;overflow:hidden}.tank-track>div{height:100%;width:0;background:#87a679;transition:width .1s}.wallet-stat{display:flex;align-items:center;gap:10px;min-width:78px}.wallet-stat>div>span,.trap-stat>div>span{font-size:7px;letter-spacing:1px;color:#909880;font-weight:650;display:block;margin-bottom:4px}.wallet-stat strong{font-size:18px;font-weight:650}.coin-icon{width:26px;height:26px;color:#b3954f;background:#eee1b3;border:2px solid #e1d29c;border-radius:50%;display:grid;place-items:center;font-size:18px}.trap-stat{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:7px 13px;border-right:1px solid var(--border);text-align:left;min-width:128px}.trap-stat:not(:disabled):hover{background:#eeedde;border-radius:6px}.trap-stat:disabled{opacity:1}.trap-stat b{font-weight:650;font-size:18px;margin-right:8px}kbd{font-family:inherit;display:inline-block;background:#f0f0e5;border:1px solid #d9ddcb;border-bottom-width:2px;border-radius:4px;padding:3px 5px;line-height:1;font-size:8px;color:#79866e;vertical-align:middle;white-space:nowrap}.controls-hint{display:flex;gap:13px;align-items:center;font-size:8px;color:#8a927a;flex-wrap:wrap}.controls-hint span{white-space:nowrap}.controls-hint kbd{margin-right:3px}.shift-clock{margin-left:auto;display:flex;align-items:center;gap:7px;color:#8a957a;font-size:7px;font-weight:650;letter-spacing:.8px;white-space:nowrap}.shift-heading{font-size:35px;margin-top:19px;margin-bottom:24px}.player-card{display:flex;align-items:center;gap:10px;margin-bottom:28px}.small-portrait{width:43px;height:43px}.player-card h3{font-size:14px;margin-bottom:3px}.player-card p{font-size:9px;color:#92947e}.level-badge{margin-left:auto;font-size:10px;color:#9b9f85;border:1px solid #d7dfc5;border-radius:5px;padding:5px}.score-heading{display:flex;justify-content:space-between;font-size:8px;font-weight:650;color:#859077;letter-spacing:.8px}.score-heading span+span{font-weight:500;letter-spacing:0}.race-track{height:7px;margin-top:10px;background:#e3e7d5;border-radius:5px;overflow:hidden;position:relative}.race-track>div{height:100%;position:absolute;transition:width .1s}#player-race{background:#73996d;left:0}#thief-race{background:#c68b70;right:0}.score-grid{display:grid;grid-template-columns:1fr 1fr;margin:17px 0 24px}.score-grid>div{font-size:8px;font-weight:600;color:#879078;letter-spacing:.6px}.score-grid>div+div{border-left:1px solid var(--border);padding-left:21px}.score-dot{width:5px;height:5px;display:inline-block;border-radius:50%;margin-right:3px}.player-dot{background:#759a74}.thief-dot{background:#c88e70}.oil-dot{background:#cba050}.score-grid strong{display:block;font-size:29px;letter-spacing:-1px;line-height:1;font-weight:650;color:#37563d;margin-top:7px}.score-grid small{font-size:10px;font-weight:500;color:#a0a48c;letter-spacing:0}.objective-card{padding:16px;border:1px solid #dce2cb;background:#ecefde;border-radius:10px;margin-bottom:24px}.objective-card h3{font-size:13px;margin:7px 0}.objective-card p{font-size:10px;line-height:1.8;color:#7c886d}.thieves-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.thieves-heading>span+span{font-size:8px;color:#99a084}.thief-card{display:flex;align-items:center;gap:8px;margin-bottom:13px}.thief-portrait{width:35px;height:35px}.fox{background:#e9ded5}.rat{background:#eee0cd}.thief-card strong{font-size:11px;display:block;margin-bottom:3px}.thief-card small{font-size:7px;display:block;color:#91977e}.state-pill{margin-left:auto;font-size:7px;padding:5px 7px;border-radius:12px;color:#92927b;background:#eaeade}.state-pill.stealing,.state-pill.fleeing{color:#ae7057;background:#f0e0cc}.state-pill.caught{color:#567d4e;background:#e0e8ce}.shift-tip{margin-top:22px;display:flex;align-items:center;gap:7px;font-size:8px;color:#90977c}.toast{position:absolute;top:130px;left:50%;transform:translate(-50%);max-width:min(540px,85%);padding:12px 18px;border-radius:10px;background:#f8f6eaef;color:#53694b;box-shadow:0 4px 20px #3c4a2420;font-size:11px;line-height:1.6;text-align:center;border:1px solid #ffffdd80;pointer-events:none}.toast.warn,.toast.thief{color:#a97143}.toast.caught{background:#e5edcf;color:#3c663a}.interaction{position:absolute;bottom:36px;left:43%;transform:translate(-50%);display:flex;align-items:center;gap:10px;border-radius:10px;padding:9px 14px 9px 9px;background:#f8f7eaef;box-shadow:0 4px 20px #35513020;font-size:10px;white-space:nowrap;border:1px solid #fff7d4}.interaction.working{background:#e0edce}.key{border:1px solid #c8d2b9;border-bottom-width:2px;border-radius:5px;padding:6px 7px;font-size:9px;letter-spacing:.6px;font-weight:700}.shop-panel{position:absolute;bottom:91px;left:23px;width:min(510px,calc(100% - 210px));border:1px solid #f7fae8;border-radius:12px;background:#f7f5e8f5;padding:16px;box-shadow:0 8px 30px #2c493224}.shop-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-title h3{font-size:13px;margin-top:5px}.shop-wallet{font-size:11px;font-weight:700;white-space:nowrap}.shop-actions{display:flex;gap:7px;margin-top:12px}.shop-actions button{flex:1;border:1px solid #dae0c6;border-radius:7px;background:#ecefde;padding:10px 7px;display:flex;gap:7px;align-items:center;text-align:left;font-size:9px;font-weight:650}.shop-actions button:hover{background:#dfe7cf}.shop-actions small{display:block;font-size:7px;font-weight:450;color:#89957b;margin-top:4px}.dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1px solid #e1e3cd;border-radius:18px;padding:36px;color:var(--ink);background:var(--cream);box-shadow:0 20px 100px #203f3650;overflow-y:auto}.dialog::backdrop{background:#213e366b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:17px;top:15px}.dialog h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:35px;letter-spacing:-1px;line-height:1.14;margin:15px 0}.dialog p{font-size:12px;line-height:1.8;color:#7d8874}.dialog .primary-button{margin-top:22px}.guide-cast{display:flex;flex-wrap:wrap;justify-content:space-around;gap:15px;margin:23px 0;text-align:center}.guide-cast>div{width:125px}.guide-cast .portrait{margin:auto;width:65px;height:65px}.guide-cast strong{font-size:12px;display:block;margin-top:8px}.guide-cast small{font-size:9px;color:#93977e}.guide-steps p{font-size:10px;margin-top:10px}.guide-rule{background:#edf0df;border-radius:9px;padding:14px;margin-top:20px}.guide-rule strong{font-size:11px}.guide-rule p{font-size:10px;margin-top:4px}.secondary-button{border:0;background:transparent;text-align:center;width:100%;padding:15px 10px 0;color:#829071;font-size:11px}.secondary-button:hover{color:#3c6049}.secondary-button svg{margin-right:5px}.result-emblem{display:grid;place-items:center;margin-bottom:25px;width:78px;height:78px;border-radius:50%;background:#e2ead0;color:#779963}.result-emblem.loss{color:#b2855d;background:#f1e5cf}.result-stats{display:flex;justify-content:space-between;border-block:1px solid #e0e3ce;margin:24px 0 13px;padding:20px 0;gap:15px}.result-stats strong{font-size:32px;font-weight:600;display:block}.result-stats span{font-size:7px;font-weight:650;color:#8d977d;letter-spacing:.7px}.dialog p.result-note{font-size:9px}.webgl-error{margin:20%;background:var(--cream);padding:30px;border-radius:15px}.webgl-error p{margin-top:15px;line-height:1.8}.touch-controls{position:absolute;bottom:22px;left:16px;display:flex;gap:12px;align-items:end}.touch-controls button{touch-action:none;background:#f5f5e6d9;border:1px solid #bacbaa;border-radius:10px;width:44px;height:44px;font-size:24px;color:#4d6e4b}.dpad{display:grid;grid-template-columns:repeat(3,40px);gap:4px}.dpad button{width:40px;height:40px}.dpad [data-move=up]{grid-column:2}.dpad [data-move=left]{grid-column:1;grid-row:2}.dpad [data-move=down]{grid-column:2;grid-row:2}.dpad [data-move=right]{grid-column:3;grid-row:2}@media(min-width:1550px){.sidebar{width:360px;min-width:360px;padding-inline:34px}h1{font-size:43px}.intro-copy{font-size:13px}.intro-missions{gap:22px}.world-heading{left:38px;top:35px}.world-heading h2{font-size:32px}.map-card{width:185px}.tank-stat{width:295px;min-width:295px}}@media(max-height:800px)and (min-width:1000px){.sidebar{padding-top:24px}h1{font-size:34px;margin:17px 0 13px}.character-intro{padding:17px 0}.start-note{margin-bottom:19px}.intro-missions{gap:14px;padding-top:15px}.intro-copy{font-size:11px}.shift-heading{margin-bottom:18px}.player-card{margin-bottom:20px}.score-grid{margin-bottom:17px}.objective-card{margin-bottom:19px;padding:13px}.shift-tip{margin-top:15px}.sidebar-footer{padding-top:19px}}@media(max-width:1150px){.header-center{display:none}.sidebar{width:295px;min-width:295px;padding-inline:23px}h1{font-size:34px}.bottom-bar{padding-inline:22px;gap:14px}.tank-stat{min-width:240px;width:240px}.controls-hint{gap:8px}.shift-clock,.world-badge{display:none}.shop-panel{width:calc(100% - 46px);bottom:87px;z-index:1}.shop-actions button{font-size:8px}.interaction{left:40%}.map-card{width:142px}}@media(max-width:900px){#app{min-height:610px}.header{height:64px;padding:0 19px}.sidebar{width:252px;min-width:252px;padding:25px 20px 17px}h1{font-size:30px;letter-spacing:-1.2px}.intro-copy{font-size:10px}.character-intro{gap:9px}.main-portrait{width:52px;height:52px}.overline{font-size:7px}.character-intro p{font-size:9px}.start-note{font-size:7px}.intro-missions strong{font-size:10px}.intro-missions small{font-size:8px}.intro-missions{gap:14px}.world-heading{left:20px;top:20px}.world-heading h2{font-size:24px}.world-heading p{font-size:8px}.map-card{width:122px;right:15px;bottom:15px;padding:8px}.map-title{font-size:5px}.map-title span+span{display:none}.world-note{bottom:28px;left:17px;font-size:8px}.note-star{font-size:25px}.bottom-bar{height:72px;gap:12px;padding:0 20px}.tank-stat{width:215px;min-width:215px;padding-right:17px;gap:8px}.controls-hint{font-size:7px}.controls-hint span:last-child{display:none}.trap-stat{min-width:100px;padding:6px;gap:7px}.wallet-stat{min-width:69px}.thief-card{gap:6px}.thief-card small{font-size:6px}.thief-portrait{width:30px;height:30px}.state-pill{font-size:6px}.interaction{left:44%;bottom:25px;font-size:8px}.toast{top:110px;font-size:10px}.sidebar-footer{font-size:5.2px}.shop-panel{bottom:77px}}@media(max-width:680px){#app{min-height:550px}.header{height:59px;padding-inline:15px}.brand{font-size:15px}.brand-light{font-size:8px;letter-spacing:2.6px}.brand-icon{width:34px;height:36px}.header-actions{gap:2px}.text-button{padding:6px}.text-button span,.divider{display:none}.layout{position:relative}.sidebar{width:218px;min-width:218px;padding:22px 17px 14px;background:#f8f6edf5}h1{font-size:29px;margin-block:16px 12px}.intro-copy{font-size:10px}.eyebrow{font-size:6.5px}.intro-missions{display:none}.character-intro{padding:17px 0}.character-intro h3{font-size:17px}.main-portrait{width:45px;height:45px}.character-intro p{font-size:7px}.primary-button{font-size:11px;padding-inline:12px}.start-note{font-size:7px;line-height:1.7}.sidebar-footer{display:none}.world-heading{left:13px}.world-heading h2{font-size:19px}.world-heading p{display:none}.location-label{font-size:5px}.camera-controls{top:89px;right:13px}.world-note{display:none}.map-card{width:100px}.map-legend{font-size:5px}.bottom-bar{gap:12px;padding-inline:13px}.tank-stat{min-width:0;flex:1;width:auto;padding-right:12px}.tank-info>div:first-child{align-items:start;flex-direction:column;gap:4px}.tank-info>div:first-child>span{font-size:6px}.tank-track{margin-top:5px}.wallet-stat{min-width:58px;gap:6px}.wallet-stat strong{font-size:16px}.trap-stat{min-width:83px;border:0}.trap-stat>div>span{font-size:6px}.controls-hint{display:none}.coin-icon{width:23px;height:23px}.playing .sidebar{display:none}.playing .world-heading h2{font-size:25px}.playing .location-label{font-size:7px}.playing .world-heading{left:20px;top:22px}.playing .map-card{width:123px}.playing .camera-controls{top:22px}.playing .interaction{bottom:115px;left:50%;font-size:8px}.playing .toast{top:90px}.shop-panel{width:calc(100% - 30px);left:15px;bottom:168px}.shop-title h3{font-size:12px}.shop-actions{gap:5px}.shop-actions button{padding:8px 5px;gap:4px}.shop-actions button svg{width:17px}.shop-actions small{font-size:6px}.dialog{padding:28px 23px}.dialog h2{font-size:30px}.result-stats strong{font-size:28px}.result-stats span{font-size:6px}.dialog p{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}@media(max-width:680px){body:not(.playing) .layout{flex-direction:column-reverse}body:not(.playing) .sidebar{width:100%;min-width:0;flex-shrink:0;height:265px;overflow:hidden;padding:20px;border-right:0;border-top:1px solid var(--border);position:relative}body:not(.playing) .game-area{min-height:230px}body:not(.playing) h1{font-size:28px;margin:12px 0 19px;max-width:245px}body:not(.playing) .intro-copy{display:none}body:not(.playing) .character-intro{position:absolute;right:22px;top:41px;width:83px;padding:0;display:flex;flex-direction:column;gap:6px;text-align:center}body:not(.playing) .character-intro .overline,body:not(.playing) .character-intro p{display:none}body:not(.playing) .character-intro h3{font-size:12px}body:not(.playing) .main-portrait{width:57px;height:57px}body:not(.playing) .map-card{display:none}body:not(.playing) .start-note{margin:9px 0 0}body:not(.playing) .world-heading h2{font-size:25px}body:not(.playing) .location-label{font-size:7px}body:not(.playing) .camera-controls{top:20px}}.world-heading h2>b{font-weight:inherit}.level-choices{display:grid;gap:10px;margin-top:23px}.level-choice{display:flex;align-items:center;gap:14px;width:100%;padding:17px 15px;text-align:left;border:1px solid #d7dfca;border-radius:12px;background:#eef1e1}.level-choice:hover{background:#e1ead1;border-color:#9db68e}.level-choice-number{display:grid;place-items:center;width:41px;height:47px;border-radius:9px;background:#d9e5cb;color:#50734d;font-size:21px;font-weight:700;flex-shrink:0}.level-choice>span:nth-child(2){flex:1;min-width:0}.level-choice strong,.level-choice small,.level-choice em{display:block}.level-choice strong{font-size:15px;margin-bottom:5px}.level-choice small{color:#5f7756;font-size:10px}.level-choice em{color:#8a947c;font-size:9px;font-style:normal;margin-top:7px}@media(max-width:680px){.world-heading .level-summary{display:block;font-size:9px;margin-top:5px}.level-choice{padding:14px 10px;gap:10px}.level-choice small{font-size:9px}.level-choice em{line-height:1.5}}.police-feed{position:absolute;left:8px;top:110px;width:200px;max-width:calc(100% - 16px);max-height:100%;border:2px solid #59798a;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #203c3230;pointer-events:auto;z-index:3}.police-feed-heading{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;gap:6px;padding:6px 8px;border:0;border-radius:0;background:#365b70;color:#f7eed5;font-size:8px;font-weight:700;letter-spacing:.6px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.police-feed-heading:focus-visible{outline:2px solid #f7eed5;outline-offset:-4px}.police-feed.dragging .police-feed-heading{cursor:grabbing}.police-feed-view{height:112px}.police-status{padding:8px 10px;background:#f1f1e2;color:#3e6173;font-size:10px;font-weight:650}.police-dot{background:#416c89}.state-pill.caught{white-space:normal;text-align:center;max-width:100px}@media(max-width:680px){.police-feed{width:144px;top:78px}.police-feed-view{height:81px}.police-feed-heading{font-size:7px;padding:6px;letter-spacing:0}.police-status{font-size:8px;padding:6px}}@media(max-width:1000px)and (max-height:500px){.police-feed{top:8px;width:144px}.police-feed-view{height:72px}.police-status{font-size:8px;padding:6px}}.map-card,.world-heading,.world-badge,.toast{transition:opacity .18s ease}.game-area .actor-overlap{opacity:.06;pointer-events:none}.sidebar .shop-panel{position:static;width:100%;padding:0;border:0;background:transparent;box-shadow:none}.sidebar .shop-title{align-items:start;margin-top:10px;flex-wrap:wrap}.sidebar .shop-title h3{font-family:Fraunces,Georgia,serif;font-size:27px;line-height:1.15;margin:0}.sidebar .shop-wallet{padding:6px 9px;background:#e6ecd7;border-radius:7px}.shop-note{font-size:11px;line-height:1.7;color:#657b5c;margin-top:16px}.sidebar .shop-actions{flex-direction:column;gap:9px;margin-top:20px}.sidebar .shop-actions button{padding:14px 12px;gap:10px;font-size:12px}.sidebar .shop-actions small{font-size:10px;line-height:1.4}.sidebar .shop-actions button:disabled{opacity:.5;cursor:not-allowed}.shop-feedback{min-height:38px;font-size:11px;line-height:1.6;color:#657b5c;margin:16px 0}.rewards-open .sidebar-footer{display:none}.rewards-button{position:absolute;right:18px;top:90px;padding:10px 12px;border:1px solid #9eaf89;border-radius:9px;background:#f7f5e8;color:#426247;font-size:11px;z-index:2}@media(min-width:681px)and (max-height:680px){.sidebar .shop-title h3{font-size:22px}.shop-note{font-size:10px;line-height:1.5;margin-top:10px}.sidebar .shop-actions{margin-top:12px;gap:7px}.sidebar .shop-actions button{padding:10px;font-size:11px}.sidebar .shop-actions small{font-size:9px}.shop-feedback{min-height:30px;margin:12px 0;font-size:10px}#shop-done{min-height:40px;padding-block:9px}}@media(max-width:680px){.rewards-open .layout{flex-direction:column}.rewards-open .sidebar{display:flex;width:100%;min-width:0;max-height:50%;flex:0 0 auto;padding:10px 15px;border-right:0;border-bottom:1px solid var(--border)}.rewards-open .game-area{min-height:170px}.sidebar .shop-title{margin-top:5px;align-items:center}.sidebar .shop-title h3{font-size:18px}.shop-note{margin-top:5px;font-size:9px;line-height:1.4}.sidebar .shop-actions{flex-direction:row;margin-top:8px;gap:5px}.sidebar .shop-actions button{min-width:0;padding:8px 6px;font-size:9px;gap:5px}.sidebar .shop-actions small{font-size:8px}.sidebar .shop-actions button svg{display:none}.shop-feedback{min-height:0;margin:6px 0;font-size:9px}#shop-done{min-height:32px;padding:7px 12px}.rewards-open .police-feed{top:8px}.rewards-open .world-heading,.rewards-open .map-card,.rewards-open .camera-controls,.rewards-open .toast{display:none}.rewards-button{top:74px;right:12px;font-size:9px}}.recovery-button{position:absolute;top:92px;right:65px;z-index:2;border:2px solid #b58b44;border-radius:10px;padding:12px 15px;background:#fff0bd;color:#684d27;font-size:12px;font-weight:700;box-shadow:0 3px 12px #70572722}.recovery-button:disabled{opacity:1}.character-form{display:grid;gap:14px}.language-picker{display:grid;gap:3px;margin-inline:6px;font-size:9px}.language-picker select{max-width:110px;min-height:32px;padding:5px;border:1px solid #9cae9a;border-radius:6px;background:#fffdf4;color:#243b35;font:inherit;font-size:11px}.language-picker select:focus-visible{outline:2px solid #375f47;outline-offset:2px}.header-actions{flex-wrap:wrap}.state-pill,.map-legend,.police-feed-heading{overflow-wrap:anywhere}.interaction{white-space:normal;max-width:calc(100% - 24px)}@media(max-width:1100px){.header-center{display:none}}@media(max-width:680px){.header{height:auto;min-height:72px;flex-wrap:wrap;gap:6px;padding-block:8px}.header-actions{margin-left:auto}.language-picker{margin-inline:2px}.language-picker>span{display:none}.language-picker select{max-width:84px}body:not(.playing) .sidebar{height:auto;min-height:265px;max-height:45dvh;overflow-y:auto}body:not(.playing) h1{max-width:calc(100% - 100px);font-size:25px;overflow-wrap:anywhere}}.character-form label,.records-select{display:grid;gap:7px;font-size:13px;font-weight:700}.character-form input:not([type=checkbox]),.character-form select,.records-select select{width:100%;padding:11px;border:1px solid #9cae9a;border-radius:8px;background:#fffdf4;color:#243b35;font:inherit}.character-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collector-preview{display:flex;align-items:center;gap:20px}.collector-preview .portrait{width:100px;height:100px;flex:0 0 100px}.character-form .publish-option{display:flex;align-items:flex-start;line-height:1.5;font-weight:400}.publish-option input{margin-top:4px;flex-shrink:0}.personal-records,.global-records{margin:22px 0;padding-top:18px;border-top:1px solid #c9d1bd}.leaderboard-list{padding-left:26px}.leaderboard-list li{padding:10px 0;border-bottom:1px solid #dbe0d2}.leaderboard-list strong,.leaderboard-list span{display:block;overflow-wrap:anywhere}.leaderboard-list span{font-size:12px;margin-top:5px}.recent-records{margin-top:18px;line-height:1.8;font-size:12px}.recent-records summary{cursor:pointer;font-weight:700}@media(max-width:680px){.character-options{grid-template-columns:1fr}.header-actions{gap:5px}}@media(max-width:680px){.recovery-button{top:75px;right:55px;font-size:10px;padding:9px 11px}}.mode-picker{display:grid;gap:6px;font-size:13px;margin:12px 0}.mode-picker select{max-width:100%;padding:10px;border:1px solid #b4c9b8;border-radius:8px;background:#f7f6ec;color:#315e4f}#delivery-screen{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:100;background:#ccd5b7}#app{height:100vh;height:100dvh;min-height:0}.header{height:auto;min-height:78px;padding:calc(8px + var(--safe-top)) max(20px,var(--safe-right)) 8px max(20px,var(--safe-left))}.bottom-bar{height:auto;min-height:82px;padding:12px max(20px,var(--safe-right)) calc(12px + var(--safe-bottom)) max(20px,var(--safe-left))}.layout,.sidebar,#intro-panel,.header-actions,.tank-info{min-width:0}.dialog{max-width:calc(100% - var(--safe-left) - var(--safe-right) - 24px);max-height:calc(min(100dvh,var(--visible-height, 100dvh)) - var(--safe-top) - var(--safe-bottom) - 24px);scroll-padding-block:20px}.dialog h2{padding-right:25px}.dialog-close{right:10px;top:10px}.publish-option{min-height:44px;align-items:center}.publish-option input{margin:0}.dpad{grid-template-columns:repeat(3,44px)}.dpad button{width:44px;height:44px}#delivery-screen{height:100vh;height:100dvh}@media(max-width:680px){.header{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:4px;min-height:0;padding:calc(6px + var(--safe-top)) max(12px,var(--safe-right)) 6px max(12px,var(--safe-left))}.header .brand{grid-column:1 / 5;grid-row:1}.header-actions{display:contents}.header-actions button{grid-row:2;width:100%;padding:6px}.header-actions .language-picker{grid-column:5 / 7;grid-row:1;margin:0;min-width:0}.language-picker select{max-width:100%;width:100%;min-height:44px}body:not(.playing) #app{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}body:not(.playing) .layout{flex:none}body:not(.playing) .game-area{flex:none;height:clamp(180px,27dvh,280px);min-height:0}body:not(.playing) .sidebar{flex:none;height:auto;min-height:0;max-height:none;overflow:visible;padding:16px max(20px,var(--safe-right)) 20px max(20px,var(--safe-left))}body:not(.playing) h1{font-size:clamp(25px,7vw,30px)}body:not(.playing) .start-note{font-size:11px}.primary-button,.secondary-button{font-size:14px}.bottom-bar{min-height:72px;gap:8px;padding:8px max(12px,var(--safe-right)) calc(8px + var(--safe-bottom)) max(12px,var(--safe-left))}.tank-stat{padding-right:8px}.tank-info>div:first-child>span,.wallet-stat>div>span,.trap-stat>div>span{font-size:8px;letter-spacing:0}.trap-stat{min-width:76px}.playing .game-area{min-height:0}.playing .world-heading{top:12px;left:max(12px,var(--safe-left));max-width:calc(100% - 90px)}.playing .world-heading h2{font-size:clamp(20px,6vw,25px)}.camera-controls,.playing .camera-controls{right:max(10px,var(--safe-right));top:12px}.playing .map-card{width:94px;bottom:124px;right:max(10px,var(--safe-right))}.touch-controls{left:max(12px,var(--safe-left));bottom:12px;gap:10px}.playing .interaction{bottom:112px;font-size:11px}.dialog{top:calc(var(--visible-top, 0px) + var(--safe-top) + 12px);bottom:auto;margin:0 auto;padding:28px 20px 22px}.dialog h2{font-size:clamp(26px,7vw,32px)}.dialog p,.guide-steps p{font-size:13px}.character-form,.collector-preview{min-width:0}.collector-preview{gap:12px}.collector-preview .portrait{width:80px;height:80px;flex-basis:80px}.rewards-open .sidebar{max-height:55%;overflow-y:auto}.rewards-open .game-area{min-height:0}.sidebar .shop-actions{flex-direction:column}.sidebar .shop-actions button{font-size:13px;flex:none}.sidebar .shop-actions small{font-size:11px}#shop-done{min-height:44px}}@media(max-width:1000px)and (max-height:500px){.header{min-height:56px;padding-block:calc(4px + var(--safe-top)) 4px}.header-actions{gap:2px}.text-button span,.header .divider{display:none}.header-actions .language-picker>span{display:none}.playing .sidebar{display:none}.bottom-bar{min-height:56px;padding-block:4px calc(4px + var(--safe-bottom))}.playing .map-card,.playing .world-heading{display:none}.playing .camera-controls{top:8px;flex-direction:row}.dialog{padding-block:22px}}.map-toggle{position:absolute;right:max(10px,var(--safe-right));bottom:12px;z-index:4;min-height:44px;max-width:82px;display:flex;align-items:center;justify-content:center;gap:4px;padding:5px;border:1px solid #bacbaa;border-radius:10px;background:#f5f5e6ed;color:#4d6e4b;font-size:11px}.playing.touch-city .map-card:not([hidden]){display:block;right:max(10px,var(--safe-right));bottom:64px;width:162px;max-width:calc(100% - 24px)}.touch-city #touch-vacuum{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:52px}#touch-vacuum span{font-size:10px;line-height:1}.touch-city .controls-hint{display:none}.touch-city .interaction .key{display:flex;align-items:center}.touch-city .touch-controls{gap:8px}.touch-city.playing .interaction{bottom:112px;left:50%;font-size:11px}.touch-city .map-card.actor-overlap{opacity:1;pointer-events:auto}.touch-city .map-card{z-index:3}@media(min-width:550px)and (max-width:1000px)and (max-height:500px){.playing.touch-city .map-card:not([hidden]){width:104px;right:max(170px,var(--safe-right));padding:6px}}.city-touch-dock{flex:none;border-top:1px solid var(--border);background:var(--cream);padding:6px max(12px,var(--safe-right)) 6px max(12px,var(--safe-left))}.touch-city .city-touch-dock .touch-controls{position:static;display:grid;grid-template-columns:140px 56px 44px minmax(44px,1fr);grid-template-rows:minmax(44px,auto) 52px;gap:4px 8px;align-items:end}.city-touch-dock .dpad{grid-column:1;grid-row:1 / 3;align-self:center}.city-touch-dock #touch-vacuum{grid-column:2;grid-row:2}.city-touch-dock #touch-trap{grid-column:3;grid-row:2}.city-touch-dock .map-toggle{font-size:11px;height:52px;position:static;grid-column:4;grid-row:2;width:100%;max-width:none;align-self:stretch}.touch-city.playing .city-touch-dock .interaction{position:static;grid-column:2 / 5;grid-row:1;transform:none;max-width:none;padding:0;margin:0;background:none;border:0;box-shadow:none;font-size:11px;line-height:1.3;align-self:center}.touch-city .city-touch-dock .interaction .key{display:none}.playing.touch-city .map-card:not([hidden]){bottom:8px}@media(min-width:550px)and (max-height:500px){.touch-city .city-touch-dock .touch-controls{grid-template-columns:188px minmax(0,1fr) 56px 44px 72px;grid-template-rows:52px}.city-touch-dock .dpad{grid-row:1;display:flex;gap:4px}.city-touch-dock .dpad [data-move=left]{order:-1}.touch-city.playing .city-touch-dock .interaction{grid-column:2;grid-row:1}.city-touch-dock #touch-vacuum{grid-column:3;grid-row:1}.city-touch-dock #touch-trap{grid-column:4;grid-row:1}.city-touch-dock .map-toggle{grid-column:5;grid-row:1}}.playing{overflow:hidden;overscroll-behavior:none}.playing #app{position:relative}.playing .layout{position:relative;flex-direction:row}.playing .game-area{width:100%;height:100%;min-height:0}.playing .world-heading,.playing .world-badge,.playing .sidebar-footer,.playing .shift-heading,.playing .header .brand,.playing .header-center{display:none}.city-toolbar{position:absolute;z-index:6;top:max(8px,var(--safe-top));left:max(8px,var(--safe-left));display:flex;align-items:center;gap:6px;max-width:calc(100% - 16px - var(--safe-left) - var(--safe-right))}.city-toolbar button{position:static;display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-width:44px;min-height:44px;height:auto;max-width:none;padding:8px 10px;border:1px solid #ffffff90;border-radius:10px;background:#f8f6edcf;color:var(--ink);box-shadow:0 2px 8px #29433715;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.city-toolbar button[aria-expanded=true]{background:#dce7cfee;border-color:#8b9f79}.city-toolbar small{font-size:11px;font-variant-numeric:tabular-nums}.city-toolbar #quick-tank{display:inline-block;width:9ch;flex:0 0 9ch;text-align:center;white-space:nowrap}.playing .header,.playing .sidebar{display:none;position:absolute;z-index:5;top:calc(max(8px,var(--safe-top)) + 52px);left:max(8px,var(--safe-left));width:min(340px,calc(100% - 16px - var(--safe-left) - var(--safe-right)));min-width:0;min-height:0;height:auto;max-height:calc(100% - max(8px,var(--safe-top)) - 68px);padding:18px;overflow-y:auto;border:1px solid #ffffffaa;border-radius:14px;background:#f8f6edf0;box-shadow:0 8px 28px #29433725;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.playing .header{max-height:min(60dvh,calc(100% - 190px))}.playing.city-menu-open .header{display:block}.playing.city-status-open .sidebar,.playing.rewards-open .sidebar{display:flex}.playing .header-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.playing .header-actions button{width:auto}.playing .header-actions .text-button{width:100%}.playing .header-actions .text-button span{display:inline}.playing .header .divider{display:none}.playing .header-actions .language-picker{display:grid;flex:1;margin:0}.playing .header .language-picker>span{display:inline}.playing .header .language-picker select{width:100%;max-width:none}.playing .sidebar .bottom-bar{position:static;display:flex;flex-wrap:wrap;min-height:0;height:auto;padding:0 0 14px;gap:12px;margin-bottom:18px;border-top:0;border-bottom:1px solid var(--border);background:transparent}.playing .sidebar .tank-stat{width:100%;min-width:0;padding:0;border:0}.playing .sidebar .tank-info{max-width:none}.playing .sidebar .wallet-stat,.playing .sidebar .trap-stat{display:flex}.playing .sidebar .shift-clock{display:flex;margin-left:0}.playing .sidebar .controls-hint{display:none}.playing .sidebar .player-card{margin-bottom:18px}.playing .sidebar .shop-actions{flex-direction:column}.playing .sidebar .shop-actions button{flex:none}.playing .game-area .camera-controls{top:calc(max(8px,var(--safe-top)) + 52px);left:max(8px,var(--safe-left));right:auto;z-index:5;flex-direction:row;background:#f8f6eddf}.playing .game-area .map-card:not([hidden]){display:block;z-index:5;top:calc(max(8px,var(--safe-top)) + 52px);bottom:auto;right:max(8px,var(--safe-right));width:min(200px,calc(100% - 16px));max-height:calc(100% - max(8px,var(--safe-top)) - 68px);overflow-y:auto;background:#f8f6ede8;opacity:1;pointer-events:auto}.playing .city-touch-dock{position:absolute;inset:auto 0 0;z-index:4;border:0;background:transparent;padding-bottom:calc(6px + var(--safe-bottom));pointer-events:none}.playing .city-touch-dock button{pointer-events:auto;background:#f8f6ed66;border-color:#ffffffb3;color:#294337;box-shadow:0 1px 5px #29433730;text-shadow:0 1px 2px #fff9}.playing .city-touch-dock button:active{background:#e0edcedd}.playing .city-touch-dock .interaction{color:#294337;text-shadow:0 1px 2px #fff,0 0 5px #fff}.playing .sidebar{max-height:calc(100% - max(8px,var(--safe-top)) - 68px - var(--city-controls-height, 0px))}.control-desktop-label{display:none}#touch-trap{display:flex;align-items:center;justify-content:center;gap:4px}#action-trap-count{font-size:11px}.playing:not(.touch-city) .city-touch-dock .touch-controls{position:static;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.playing:not(.touch-city) .city-touch-dock .dpad{display:flex;gap:4px}.playing:not(.touch-city) .city-touch-dock .dpad [data-move=left]{order:-1}.playing:not(.touch-city) .city-touch-dock #touch-vacuum,.playing:not(.touch-city) .city-touch-dock #touch-trap{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;height:auto;min-height:44px;max-width:210px;padding:8px 12px}.playing:not(.touch-city) .control-touch-label{display:none}.playing:not(.touch-city) #touch-vacuum .control-desktop-label,.playing:not(.touch-city) #touch-trap .control-desktop-label{display:inline;font-size:12px;line-height:1.3}.touch-city #touch-trap{padding:2px}.playing:not(.touch-city) .city-touch-dock .interaction{position:static;order:1;flex:1 1 180px;transform:none;margin:0;max-width:none;min-height:44px;padding:4px 8px;background:transparent;border:0;box-shadow:none}.playing .toast,.playing .police-feed{top:calc(max(8px,var(--safe-top)) + 60px)}@media(max-width:680px){.city-toolbar{gap:4px}.city-toolbar button{gap:4px;padding:7px;font-size:11px}.city-toolbar #status-toggle{display:grid;grid-template-columns:18px auto;gap:0 4px;height:44px;padding:4px 7px}.city-toolbar #quick-tank{grid-column:1 / -1;justify-self:center;line-height:12px}.city-toolbar small{font-size:10px}}@media(max-height:500px){.playing .game-area .map-card:not([hidden]){width:140px}}
