:root{--bg:#19271e;--panel:#203126;--line:#ffffff15;--text:#efeede;--muted:#a2b19d;--lime:#c5d990;--gold:#e8bc74;--cream:#f1e7cb}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #f3d48c;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.4}button:not(:disabled){transition:background .15s,color .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}#app{height:100dvh;min-height:500px;display:flex;flex-direction:column}.topbar{height:84px;display:flex;align-items:center;padding:0 25px;gap:24px;border-bottom:1px solid var(--line);flex-shrink:0;position:relative;z-index:2;background:#19271e}.brand{text-decoration:none;color:var(--text);display:flex;align-items:center;gap:11px;width:243px;flex-shrink:0;font-size:18px;letter-spacing:1px;font-weight:400;line-height:1.1}.brand strong{font-weight:800}.brand-dot{color:var(--lime)}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2px;margin-top:9px;color:var(--muted)}.brand-symbol{width:39px;height:43px;border:1px solid #c5d99077;border-radius:11px 11px 4px 11px;background:#c5d9900b;display:grid;place-items:center;color:var(--lime)}.brand-symbol svg{width:28px;height:28px}.resources{display:flex;flex:1;justify-content:center;gap:0}.resource{display:flex;align-items:center;gap:12px;padding:0 25px;border-left:1px solid var(--line);min-height:38px}.resource small{display:block;font-size:8px;font-weight:650;letter-spacing:1.3px;color:var(--muted);margin-bottom:6px}.resource strong{font-size:22px;line-height:1;font-weight:650;font-variant-numeric:tabular-nums}.resource em{font-size:12px;font-weight:400;font-style:normal;color:#c1cbb6}.resource-cap{align-self:flex-end;font-size:10px;color:#91a18b;padding-bottom:3px;white-space:nowrap}.resource svg{width:25px;height:25px}.gold{color:var(--gold)}.green{color:var(--lime)}.cream{color:var(--cream)}.tiny-badge{font-size:8px;color:var(--lime);padding:4px 5px;background:#c5d99012;border-radius:4px}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff06;color:#bac6af;border:1px solid #ffffff14;border-radius:7px;flex-shrink:0}.icon-btn:hover{background:#c5d99020;color:#fff}.game-layout{display:flex;flex:1;min-height:0}.sidebar{width:288px;background:#1d2d22;border-right:1px solid #f1e7cb13;display:flex;flex-direction:column;padding:22px 20px 0;flex-shrink:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4c5e47 transparent}.district{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eyebrow{font-size:9px;letter-spacing:1.4px;font-weight:650;color:#a7b499}.live{font-size:8px;color:#a4be86;letter-spacing:.5px;display:flex;align-items:center;gap:5px}.live i{width:4px;height:4px;border-radius:50%;background:#b9cf82;box-shadow:0 0 7px #c5d99066}.mission-card{background:linear-gradient(135deg,#334831,#2a3e2c);border:1px solid #c5d99030;border-radius:12px;padding:18px 17px 16px;position:relative}.mission-top{display:flex;align-items:center;justify-content:space-between;color:var(--lime)}.mission-top .eyebrow{font-size:8px;color:#c4d59e}.mission-top svg{width:18px;height:18px}.mission-card h1{font-size:24px;letter-spacing:-.8px;line-height:1.13;margin:17px 0 10px;max-width:200px;font-weight:650}.mission-card p{font-size:11px;color:#bdc9b0;line-height:1.7;margin:0 0 17px}.task{font-size:10px;color:#d4dcc8;margin-top:12px}.task-row{display:flex;align-items:center;gap:7px;margin-bottom:9px}.task-row svg{width:13px;height:13px;color:#becf93}.task-row span:first-of-type{flex:1}.task-row b{font-weight:500;color:#dae5bc;white-space:nowrap}.task-track{height:3px;background:#14281d;border-radius:4px;overflow:hidden}.task-track i{display:block;background:var(--lime);height:100%;border-radius:4px;transition:width .3s}.mission-reward{display:flex;justify-content:space-between;border-top:1px solid #ffffff0e;margin-top:17px;padding-top:12px;font-size:9px;color:#acb99c}.mission-reward strong{color:var(--gold);font-size:11px}.btn{min-height:38px;border-radius:6px;font-size:11px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#3a5036;color:#e6edda}.btn:hover{background:#4a6241}.btn.light{background:var(--lime);color:#243b28}.btn.light:hover{background:#d6e7a5}.btn svg{width:16px;height:16px}.mission-card .btn{width:100%;margin-top:15px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 14px}.section-head h2{font-size:9px;letter-spacing:1.4px;font-weight:650;margin:0}.section-head>span{font-size:9px;color:#8fa185}.tabs{display:flex;border-bottom:1px solid var(--line);gap:20px;margin-bottom:5px}.tabs button{background:none;padding:0 0 11px;font-size:11px;color:#90a287;border-bottom:2px solid transparent}.tabs button.active{border-color:var(--lime);color:var(--lime)}.tabs span{font-size:8px;background:#ffffff09;border-radius:3px;padding:2px 4px;margin-left:4px}.place-list{padding-bottom:16px}.place-row{width:100%;background:transparent;text-align:left;display:flex;align-items:center;gap:11px;border-radius:7px;padding:11px 8px;margin:3px 0}.place-row:hover,.place-row.active{background:#ffffff06}.place-row.active{box-shadow:inset 2px 0 var(--lime)}.place-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#c5d9900b;color:var(--lime);flex-shrink:0}.place-icon svg{width:19px;height:19px}.place-row strong{display:block;font-size:11px;font-weight:500;margin-bottom:5px}.place-row small{display:block;font-size:9px;color:#91a184}.place-row>svg{margin-left:auto;width:13px;height:13px;color:#809575}.crew-list{padding:8px 0}.crew-card{border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.crew-card strong{display:flex;justify-content:space-between;font-weight:600}.crew-card strong span{font-size:10px;color:var(--gold)}.crew-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 12px}.crew-card button{width:100%;min-height:32px;font-size:10px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;font-size:9px;color:#84977c;flex-shrink:0}.sidebar-bottom>span{display:flex;align-items:center;gap:6px}.sidebar-bottom svg{width:12px;height:12px}.sidebar-bottom button{background:none;padding:0;color:#91a584}.world{position:relative;flex:1;min-width:0;overflow:hidden;background:#a1b296}#city{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#city.dragging{cursor:grabbing}.world-heading{position:absolute;top:26px;left:30px;pointer-events:none;color:#203b2a;text-shadow:0 1px 10px #bbcaab}.location-kicker{font-size:8px;letter-spacing:2.4px;font-weight:750}.world-heading h2{font-size:28px;margin:6px 0 7px;letter-spacing:-1px;font-weight:700}.world-heading h2>span{font-weight:400;color:#60745b;font-size:18px;letter-spacing:-.5px}.world-heading p{font-size:10px;margin:0;display:flex;align-items:center;gap:7px;color:#435c44}.weather-sun{font-size:16px}.weather-divider{height:10px;width:1px;background:#60785877;margin:0 3px}.world-tools{position:absolute;top:27px;right:26px;display:flex;gap:8px}.world-tools .icon-btn,.speed-controls{background:#253b30ed;color:#e3e6cf;box-shadow:0 3px 12px #2d4a2820}.speed-controls{display:flex;align-items:center;border:1px solid #cbd5b33b;border-radius:7px;height:36px;padding:3px;gap:1px}.speed-controls .icon-btn{border:0;box-shadow:none;background:none;width:30px;height:28px;border-right:1px solid #ffffff15;border-radius:0;margin-right:3px}.speed-controls>button:not(.icon-btn){height:26px;padding:0 9px;font-size:10px;background:none;color:#b3c0a8;border-radius:4px}.speed-controls>button.active{background:#d0dcaa;color:#2d4430}.map-controls{position:absolute;right:25px;top:88px;display:flex;flex-direction:column;gap:5px}.map-controls .icon-btn{width:31px;height:31px;background:#f4ecd4d9;color:#40573e;border-color:#e2e6cb;font-size:22px;box-shadow:0 3px 5px #233e2314}.map-controls .icon-btn svg{width:17px;height:17px}.minimap-box{position:absolute;bottom:115px;left:25px;padding:11px;background:#223a2eee;border:1px solid #d4ddba55;border-radius:10px;width:160px;box-shadow:0 8px 25px #192c1b22}.minimap-box>div{display:flex;justify-content:space-between;font-size:7px;font-weight:600;letter-spacing:1px;color:#cfdbbd;margin-bottom:10px}.minimap-box .north{color:#879f85}.minimap-box canvas{display:block;width:136px;height:117px;cursor:crosshair;border-radius:3px;opacity:.92}.minimap-legend{font-size:8px;color:#aabb9e;display:flex;gap:5px;align-items:center;margin-top:8px}.minimap-legend i{height:4px;width:4px;border-radius:50%;background:#f2d68e}.location-panel{position:absolute;width:312px;right:25px;bottom:115px;padding:19px;background:#20392ef5;border:1px solid #d4ddba40;box-shadow:0 12px 30px #1c392b33;border-radius:12px;max-height:calc(100% - 220px);overflow:auto;scrollbar-width:thin;scrollbar-color:#57734e transparent}.location-title{display:flex;align-items:center;gap:10px}.location-title .place-icon{background:#c8d99214;width:35px;height:35px}.location-title .eyebrow{font-size:7px;letter-spacing:1.2px}.location-title h2{font-size:16px;font-weight:600;letter-spacing:-.3px;margin:5px 0 0}.location-title .icon-btn{margin-left:auto;width:24px;height:24px;background:none;border:0}.location-title .icon-btn svg{width:16px;height:16px}.location-panel>p{font-size:10px;line-height:1.7;color:#b6c5ab;margin:14px 0}.status-line{display:flex;justify-content:space-between;font-size:10px;border-top:1px solid #ffffff0b;padding:10px 0 4px;color:#a3b69b}.status-line b{color:#dce6c5;font-weight:500}#location-actions{display:flex;flex-direction:column;gap:6px;margin-top:12px}#location-actions .btn{min-height:35px;font-size:10px}#location-actions .btn.secondary{background:#ffffff06;color:#bbccb0;border:1px solid #ffffff10;font-weight:500}#location-actions .btn.secondary:hover{background:#ffffff10}.action-note{font-size:8px;color:#95aa8d;text-align:center;line-height:1.5;margin-top:5px}.command-bar{position:absolute;left:25px;right:25px;bottom:27px;min-height:67px;background:#20372bf5;border:1px solid #d4ddba3b;border-radius:11px;display:flex;align-items:center;padding:10px 17px;gap:12px;box-shadow:0 10px 24px #1d37252b}.hero-portrait{height:39px;width:39px;background:#4b6446;display:grid;place-items:center;border-radius:50%;border:1px solid #bbcf89;position:relative;color:#ebdda9;flex-shrink:0}.hero-portrait svg{height:25px;width:25px}.hero-portrait span{position:absolute;bottom:-1px;right:-1px;width:9px;height:9px;border-radius:50%;background:#c8da8f;border:2px solid #263e2d}.hero-info{min-width:155px}.hero-info strong{font-size:11px;font-weight:600;display:block}.hero-info>span{display:block;margin-top:5px;font-size:9px;color:#93ac87;max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.command-divider{width:1px;height:30px;background:#ffffff15;margin:0 6px}.command{height:41px;display:flex;align-items:center;gap:8px;padding:0 13px;background:transparent;border:1px solid transparent;border-radius:7px;font-size:10px;color:#91a987}.command.active{background:#c5d9900f;border-color:#b9cb8270;color:#d1dfab}.command:hover{background:#ffffff08}.command svg{width:19px;height:19px}.command span small{display:block;font-size:7px;line-height:1.4;color:#a1b38e}.command-hint{margin-left:auto;display:flex;align-items:center;gap:9px;color:#c4d0b8;font-size:9px;white-space:nowrap}.command-hint>span>span{display:block;font-size:8px;color:#87a07d;margin-top:5px}.mouse-shape{display:block;width:15px;height:21px;border:1px solid #9aae8c;border-radius:7px;position:relative}.mouse-shape:before{content:'';height:6px;width:1px;background:#c4d29b;position:absolute;top:2px;left:6px}.map-caption{position:absolute;bottom:8px;right:27px;font-size:7px;letter-spacing:1.5px;color:#2d482b;opacity:.8;pointer-events:none}.toast{position:absolute;top:120px;left:50%;transform:translateX(-50%);background:#213b2fed;border:1px solid #cfdda755;border-radius:8px;padding:12px 17px;box-shadow:0 5px 18px #19322025;color:#eff1d8;font-size:11px;text-align:center;max-width:80%;z-index:3;pointer-events:none;animation:toast-in .2s ease-out}.toast.warn{border-color:#dfae69;color:#ffdc9c}.event-banner{position:absolute;top:84px;right:72px;background:#efd394ed;color:#4b432c;border:1px solid #fff0bc;padding:10px 12px;border-radius:6px;font-size:10px;max-width:270px;line-height:1.5}.event-banner strong{display:block;font-size:11px}.pause-overlay{position:absolute;inset:0;z-index:4;background:#17291d88;backdrop-filter:blur(4px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}.pause-overlay>span{letter-spacing:3px;font-size:10px;color:#c3d2aa}.pause-overlay>strong{font-size:40px;font-weight:500;letter-spacing:-1px}.pause-overlay .btn{min-width:180px}.pause-overlay~.map-controls{z-index:0}dialog{border:1px solid #cad8a64a;border-radius:18px;background:#22382b;color:var(--text);padding:0;max-width:580px;width:calc(100% - 32px);max-height:90dvh;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0b1b13aa;backdrop-filter:blur(5px)}#modal-content{padding:34px;position:relative}.modal-kicker{font-size:9px;letter-spacing:2px;color:var(--lime);display:flex;align-items:center;gap:8px}.modal-kicker svg{width:18px;height:18px}.modal-art{height:100px;display:flex;align-items:center;justify-content:center;margin:-34px -34px 25px;background:repeating-linear-gradient(-45deg,transparent,transparent 20px,#d4e1ad04 20px,#d4e1ad04 21px),#2d4731;border-bottom:1px solid #cedaa91c;gap:23px}.modal-art svg{width:39px;height:39px;color:#c5d990;stroke-width:1.2}.modal-art span{height:1px;width:28px;background:#c5d99055}.modal-art svg:last-of-type{color:#e8bd73}.modal-title{font-size:36px;letter-spacing:-1.4px;font-weight:550;line-height:1.12;margin:15px 0}.modal-copy{color:#b8c8ae;line-height:1.8;font-size:12px;margin:12px 0 22px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:23px 0}.modal-tip{font-size:10px;line-height:1.7;color:#a7bc9c;padding-left:31px;position:relative}.modal-tip svg{position:absolute;left:0;top:2px;width:19px;height:19px;color:var(--lime)}.modal-tip strong{display:block;color:#e2e8d4;font-size:11px;font-weight:550;margin-bottom:3px}.modal-actions{display:flex;gap:9px;margin-top:24px}.modal-actions .btn{flex:1;min-height:44px}.modal-footnote{font-size:9px;color:#8da382;margin-top:17px;line-height:1.6}.modal-close{position:absolute;right:12px;top:12px;border:0;background:#152d2055}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.summary-stats>div{padding:15px 7px;background:#ffffff05;border-radius:8px;text-align:center}.summary-stats b{display:block;font-size:24px;color:var(--lime);margin-bottom:8px}.summary-stats span{font-size:9px;color:#a4b698}.storage-text{font-size:12px;color:#b9c7af;line-height:1.8}.storage-text p{margin:14px 0}.storage-text code{background:#ffffff08;padding:2px 5px;border-radius:3px;font-size:11px;color:#d5dfbd}@keyframes toast-in{from{opacity:0;margin-top:-8px}to{opacity:1;margin-top:0}}@media(min-width:1600px){.sidebar{width:310px;padding:26px 24px 0}.brand{width:265px}.mission-card{padding:23px 20px}.mission-card h1{font-size:27px}.place-row{padding:13px 9px}.location-panel{width:335px}.resource{padding:0 37px}.minimap-box{width:175px}.minimap-box canvas{width:151px;height:136px}}@media(max-width:1190px){.resource{padding:0 16px;gap:9px}.resource-cap{display:none}.sidebar{width:257px;padding:18px 15px 0}.brand{width:214px;font-size:16px}.topbar{padding:0 20px;gap:15px}.command-hint{display:none}.hero-info{min-width:135px}.location-panel{width:281px}.world-heading{left:22px}.minimap-box{width:138px}.minimap-box canvas{width:114px;height:100px}.command-bar{left:20px;right:20px}.command-divider{margin:0}.mission-card h1{font-size:23px}.place-row{padding:10px 7px}}@media(max-width:950px){.topbar{height:73px;padding:0 15px;gap:10px}.brand{width:195px;font-size:14px;gap:9px}.brand small{font-size:6px;letter-spacing:1.5px}.brand-symbol{width:33px;height:36px}.resource{padding:0 12px;gap:7px}.resource strong{font-size:18px}.resource small{font-size:7px;letter-spacing:.7px}.resource svg{width:21px}.top-help{width:31px;height:31px}.sidebar{width:235px;padding:16px 13px 0}.district{margin-bottom:13px}.mission-card{padding:15px 13px}.mission-card h1{font-size:22px}.minimap-box{display:none}.command-bar{gap:9px;padding:9px 12px}.hero-info{min-width:0;flex:1}.command{padding:0 10px}.world-heading h2{font-size:25px}.world-heading p{max-width:210px;font-size:9px;flex-wrap:wrap}.world-heading .weather-divider,.world-heading p{line-height:1.5}.world-tools{right:18px;top:22px}.location-panel{right:18px;bottom:105px;max-height:calc(100% - 215px)}.map-controls{right:18px;top:74px}.world-heading{top:23px;left:21px}.command-bar{bottom:23px;left:18px;right:18px}.hero-portrait{width:31px;height:31px}.hero-info strong{font-size:10px}.hero-info>span{max-width:130px;font-size:8px}.event-banner{right:58px;max-width:240px}.reputation{padding-right:0}.tiny-badge{display:none}}
@media(max-width:720px){#app{min-height:440px}.topbar{height:95px;flex-wrap:wrap;gap:0;padding:10px 14px 8px}.brand{width:calc(100% - 35px);height:30px;font-size:14px}.brand-symbol{width:29px;height:29px}.brand-symbol svg{width:21px;height:21px}.brand small{display:none}.top-help{position:absolute;right:14px;top:8px;height:29px;width:29px}.resources{width:100%;justify-content:space-between;margin-top:9px}.resource{border:0;padding:0 6px;gap:6px;min-height:30px}.resource:first-child{padding-left:0}.resource strong{font-size:16px}.resource small{font-size:6px;letter-spacing:.65px;margin-bottom:4px}.resource em{font-size:9px}.resource svg{width:18px;height:18px}.game-layout{display:block;position:relative}.sidebar{position:absolute;z-index:2;top:98px;left:12px;width:195px;max-height:calc(100% - 185px);border:1px solid #c5d99033;border-radius:9px;background:#21392ef5;padding:0;box-shadow:0 5px 18px #16341b22}.district,.section-head,.tabs,.place-list,.crew-list,.sidebar-bottom{display:none!important}.mission-card{border:0;background:transparent;border-radius:0;padding:13px}.mission-card h1{font-size:18px;line-height:1.12;margin:10px 0}.mission-card p{display:none}.mission-top .eyebrow{font-size:7px}.mission-top svg{width:15px;height:15px}.task{font-size:9px;margin-top:8px}.task-row{gap:5px;margin-bottom:7px}.mission-reward{padding-top:9px;margin-top:10px;font-size:8px}.mission-reward strong{font-size:9px}.mission-card .btn{font-size:9px;min-height:31px;margin-top:10px;padding:7px 9px}.world{height:100%}.world-heading{top:17px;left:16px}.world-heading h2{font-size:23px}.world-heading p{font-size:8px;max-width:250px}.location-kicker{font-size:7px}.world-tools{top:17px;right:13px}.world-tools>#sound{display:none}.speed-controls{height:31px}.speed-controls>button:not(.icon-btn){height:23px;padding:0 7px;font-size:9px}.speed-controls .icon-btn{height:24px;width:25px}.map-controls{right:13px;top:62px}.map-controls .icon-btn{width:28px;height:28px}.location-panel{width:calc(100% - 24px);max-height:40%;right:12px;bottom:89px;padding:15px;z-index:3}.location-panel>p{font-size:10px;margin:9px 0}.location-title h2{font-size:15px}.location-title .eyebrow{font-size:7px}#location-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}#location-actions .btn{font-size:9px;padding:8px;min-height:33px}#location-actions .action-note{grid-column:1/-1}.command-bar{left:12px;right:12px;bottom:17px;min-height:58px;padding:9px;gap:8px}.hero-info strong{font-size:10px}.hero-info>span{font-size:8px;max-width:130px}.command-divider{display:none}.command{height:35px;padding:0 9px;gap:5px;font-size:9px}.command svg{width:17px;height:17px}.command span small{font-size:7px}.hero-portrait{width:30px;height:30px}.map-caption{font-size:6px;bottom:4px;right:14px;letter-spacing:.7px}.event-banner{top:65px;left:15px;right:auto;max-width:calc(100% - 62px);font-size:8px;padding:6px 9px;z-index:3}.event-banner strong{font-size:9px;display:inline;margin-right:6px}.toast{top:72px;font-size:10px;max-width:92%;width:max-content;padding:10px 13px;z-index:6}#modal-content{padding:25px}.modal-art{margin:-25px -25px 20px;height:82px}.modal-title{font-size:30px}.modal-copy{font-size:11px;margin-bottom:16px}.modal-grid{gap:13px;margin:16px 0}.modal-tip{font-size:9px;padding-left:27px}.modal-tip strong{font-size:10px}.modal-tip svg{width:17px;height:17px}.modal-actions{margin-top:20px}.pause-overlay{z-index:5}.pause-overlay>strong{font-size:30px}}
@media(max-height:750px) and (min-width:721px){.sidebar{padding-top:15px}.district{margin-bottom:12px}.mission-card{padding:13px}.mission-card h1{font-size:22px;margin:11px 0 8px}.mission-card p{font-size:10px;line-height:1.5;margin-bottom:10px}.mission-reward{margin-top:11px;padding-top:9px}.mission-card .btn{margin-top:11px;min-height:33px}.section-head{margin:18px 0 12px}.place-row{padding:9px 6px}.location-panel{bottom:105px;max-height:calc(100% - 190px)}.minimap-box{bottom:105px}.command-bar{bottom:22px}.world-heading{top:22px}.location-panel>p{margin:10px 0}.location-panel{padding:15px}}
@media(prefers-reduced-motion:reduce){button,.task-track i{transition:none!important}.toast{animation:none}}
.text-button{font-size:9px;color:#c5d990;border:0;border-bottom:1px solid #c5d99066;padding:2px 0;background:none}.text-button:hover{color:#edf2d8}
/* Živé ulice — citizens, dispatch board and a more tactile city HUD. */
.command-hint{display:none}.command-bar{gap:10px}.command.jobs-command{margin-left:auto;color:#f0cd89;background:#ead18c0d;border-color:#e7c57944}.command.jobs-command:hover{background:#d4bb6a26}.command.badges-command{padding:0 10px;color:#d2bdde}.command.boosting{color:#ffda83;background:#a4762f44;border-color:#eec773}.command.boosting:disabled{opacity:1}.minimap-legend{font-size:7px;gap:4px}.minimap-legend b{margin-left:auto;color:#e6d192;font-weight:500}.radio-chip{position:absolute;top:74px;right:26px;padding:6px 9px;display:flex;align-items:center;gap:7px;font-size:7px;letter-spacing:.9px;border:1px solid #dde5c244;border-radius:5px;background:#294635d9;color:#d8e3bb}.radio-chip b{font-size:6px;letter-spacing:.5px;color:#9bb48c;font-weight:500}.equalizer{height:10px;display:flex;align-items:center;gap:2px}.equalizer i{display:block;width:2px;height:3px;background:#c6da94}.equalizer i:nth-child(2){height:8px}.equalizer i:nth-child(4){height:6px}.playing .equalizer i{animation:eq .8s ease-in-out infinite alternate}.playing .equalizer i:nth-child(2){animation-delay:-.5s}.playing .equalizer i:nth-child(3){animation-delay:-.2s}.playing .equalizer i:nth-child(4){animation-delay:-.7s}@keyframes eq{to{height:3px}from{height:10px}}
.street-speech{position:absolute;top:116px;left:27px;max-width:325px;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border:1px solid #fff2c5;border-radius:4px 12px 12px 12px;background:#f2e7cceF;color:#34543a;box-shadow:0 8px 25px #304a2b22;pointer-events:none;z-index:2}.street-speech strong{font-size:10px;color:#54724a;letter-spacing:.3px}.street-speech p{font-size:12px;line-height:1.5;margin:5px 0 0;font-weight:550}.citizen-portrait{display:block;width:44px;height:48px;position:relative;overflow:hidden;border-radius:13px 13px 9px 9px;background:#abc28c;flex-shrink:0;border:1px solid #6e865238;box-shadow:inset 0 -6px 0 #0001;--hair:#76563e;--skin:#e0b27f;--shirt:#587655}.citizen-portrait:after{content:'';position:absolute;width:9px;height:3px;border-bottom:1px solid #955e44;left:20px;top:29px;border-radius:50%;z-index:5}.citizen-hair{position:absolute;width:27px;height:29px;top:5px;left:8px;border-radius:13px 13px 7px 7px;background:var(--hair);z-index:1}.citizen-face{position:absolute;width:20px;height:24px;top:11px;left:12px;border-radius:8px 7px 11px 11px;background:var(--skin);z-index:2;box-shadow:inset -4px -2px 0 #0001}.citizen-shirt{position:absolute;width:38px;height:27px;left:3px;top:33px;border-radius:16px 16px 0 0;background:var(--shirt);z-index:3}.citizen-shirt:after{content:'';position:absolute;width:9px;height:17px;left:15px;top:2px;background:#eadcb9}.citizen-eye{position:absolute;left:16px;top:22px;width:2px;height:2px;background:#4f4f39;box-shadow:11px 0 #4f4f39;z-index:4}.citizen-portrait.bara{--hair:#a2653c;--shirt:#75884a;background:#c9d58e}.citizen-portrait.bara .citizen-hair{left:6px;width:31px;height:36px}.citizen-portrait.robin{--hair:#454b36;--shirt:#749a84;background:#bad0b8}.citizen-portrait.robin:before{content:'';position:absolute;left:7px;top:0;width:29px;height:15px;background:#f3e5c7;border-radius:9px 9px 2px 2px;z-index:5}.citizen-portrait.alex{--hair:#634f39;--shirt:#c38a57;background:#d8bb88}.citizen-portrait.alex .citizen-hair{background:#d59b4f;height:15px;z-index:3;top:3px;width:31px;border-radius:11px 11px 2px 2px}.citizen-portrait.vera{--hair:#dbd5b8;--shirt:#8d778d;background:#b9a8c5}.citizen-portrait.vera .citizen-eye{width:7px;height:5px;left:13px;top:20px;border:1px solid #69694c;background:none;box-shadow:11px 0 0 -1px #e0b27f,11px 0 0 0 #69694c;border-radius:2px}.citizen-portrait.kuba{--hair:#594939;--shirt:#6b8d9b;background:#adc4c7}.citizen-portrait.jarda{--hair:#9c9982;--shirt:#a37958;background:#c6b696}.citizen-portrait.jarda:after{width:13px;height:6px;background:#a09a7f;left:16px;top:27px;border-radius:2px 2px 7px 7px;border:0}
.job-panel{position:absolute;right:25px;top:111px;width:278px;padding:15px;background:#273c30f5;border:1px solid #e7c37377;border-radius:10px;box-shadow:0 8px 25px #1a33262b}.job-panel-head{display:flex;align-items:center;justify-content:space-between}.job-panel-head .eyebrow{font-size:7px;color:#cebe8e}.job-panel-head strong{font-size:17px;font-variant-numeric:tabular-nums;color:#f0cc86}.job-panel h2{font-size:15px;margin:9px 0 7px;font-weight:600;letter-spacing:-.3px}.job-panel p{font-size:10px;color:#c3d0b0;line-height:1.6;margin:0 0 9px}.job-track{height:3px;border-radius:2px;background:#ffffff15;overflow:hidden}.job-track i{display:block;height:100%;background:#e7c679;transition:width .3s}.job-panel-reward{display:flex;gap:8px;font-size:9px;align-items:center;color:#a9bb99;margin:10px 0}.job-panel-reward b{color:#ead198;font-weight:500}.job-panel-reward button{margin-left:auto;background:none;font-size:8px;color:#94aa85;text-decoration:underline;padding:3px}.job-panel .btn{width:100%;min-height:32px;font-size:10px}.job-panel.urgent{border-color:#e4a16f}.job-panel.urgent #job-time{color:#ffc08e}.combo-chip{position:absolute;top:77px;left:29px;display:flex;align-items:center;gap:7px;border-radius:4px;padding:5px 8px;background:#f6d897;color:#5e512d;font-size:8px;box-shadow:0 4px 14px #5c5e251a}.combo-chip svg{width:12px;height:12px}.combo-chip span{font-size:7px;opacity:.8}.event-banner{top:auto;bottom:102px;left:205px;right:auto;max-width:300px;font-size:9px;padding:8px 11px;z-index:2}.event-banner strong{font-size:10px}.jobs-list{display:grid;gap:13px}.job-offer{padding:17px;border:1px solid #cadaaa22;border-radius:10px;background:#ffffff04}.offer-person{display:flex;gap:12px;align-items:center}.offer-person h3{font-size:17px;letter-spacing:-.3px;font-weight:550;line-height:1.2;margin:7px 0}.offer-person .eyebrow{font-size:7px;letter-spacing:1px}.job-meta{font-size:10px;color:#d4c99d}.job-meta i{font-style:normal;padding:0 5px;color:#698164}.job-offer blockquote{margin:15px 0 10px;font-size:12px;line-height:1.6;color:#c3d1b3;font-style:normal}.job-offer cite{font-size:10px;font-style:normal;color:#92ac86;white-space:nowrap}.job-route{font-size:9px;color:#91ac83;margin:9px 0 14px;line-height:1.6}.job-offer .btn{width:100%;min-height:35px;font-size:10px}.collection-summary{display:flex;justify-content:space-between;gap:15px;margin:20px 0;font-size:11px;color:#bacaab}.collection-summary>span{display:flex;align-items:center;gap:7px}.collection-summary svg{width:17px;height:17px;color:#d8c28b}.collection-summary strong{color:#e7dbb3}.badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.achievement{padding:17px;border:1px solid #d3dfb51c;border-radius:9px;background:#ffffff03;opacity:.6}.achievement>svg{color:#bac9a7;width:25px;height:25px}.achievement h3{font-size:13px;font-weight:550;line-height:1.4;margin:12px 0 7px}.achievement p{font-size:10px;color:#a1b695;line-height:1.6;margin:0 0 15px}.achievement>span{font-size:8px;letter-spacing:.7px;color:#d0bf91}.achievement.earned{background:#b5d08710;border-color:#c7da9d55;opacity:1}.achievement.earned>svg{color:#c8df99}.mission-card{box-shadow:0 3px 14px #12231822}.location-panel{border-color:#e3e6bf5c}.world-heading{text-shadow:0 1px 9px #e0e7c677}.resource strong{font-weight:700}.topbar{background:linear-gradient(110deg,#1a2c20,#1d3023 60%,#213427)}
@media(max-width:1190px){.command-bar{gap:7px}.hero-info{min-width:110px}.command{padding:0 10px}.command.badges-command{padding:0 7px}.command .command-hint{display:none}.street-speech{max-width:280px;left:22px;top:111px}.street-speech p{font-size:11px}.job-panel{width:251px;right:18px}.radio-chip{right:18px}.event-banner{left:20px;bottom:104px;max-width:235px}.minimap-box:has(~.event-banner:not([hidden])){display:none}}
@media(max-width:1000px){.hero-info{display:none}.command-bar{gap:6px}.command{flex:1;justify-content:center;padding:0 7px}.command.jobs-command{margin-left:0}.command-divider{display:none}.street-speech{max-width:250px;left:20px}.street-speech p{font-size:10px}.citizen-portrait{width:39px;height:45px}.job-panel{width:235px}.job-panel h2{font-size:13px}.radio-chip{font-size:6px;gap:5px}.radio-chip b{display:none}}
@media(max-width:720px){.command-bar{gap:3px;padding:7px;min-height:61px}.command{flex-direction:column;gap:2px;height:43px;padding:3px;font-size:8px;min-width:35px}.command svg{width:17px;height:17px}.command span small{display:none}.command.badges-command{padding:2px;min-width:31px}.command.jobs-command{font-size:8px}.hero-portrait{width:25px;height:25px}.hero-portrait svg{width:18px;height:18px}.street-speech{top:87px;left:12px;right:49px;max-width:none;padding:9px 10px;gap:10px;min-height:56px}.street-speech p{font-size:10px;margin-top:3px;line-height:1.4}.street-speech strong{font-size:8px}.street-speech .citizen-portrait{transform:scale(.8);margin:-5px}.sidebar{top:158px;max-height:calc(100% - 250px)}.radio-chip{top:58px;left:15px;right:auto;padding:4px 6px;font-size:6px}.job-panel{top:158px;left:12px;right:auto;width:195px;padding:12px;z-index:2}.job-panel h2{font-size:13px;margin:8px 0}.job-panel p{font-size:9px}.job-panel .btn{font-size:9px}.job-panel-head strong{font-size:14px}.job-active .sidebar{display:none}.job-active .location-panel{max-height:34%}.combo-chip{top:64px;left:135px;font-size:7px;gap:4px;padding:3px 6px}.combo-chip span{display:none}.event-banner{display:none!important}.collection-summary{font-size:10px;gap:8px;flex-wrap:wrap}.collection-summary>span{gap:5px}.job-offer{padding:13px}.offer-person{gap:10px}.offer-person h3{font-size:15px}.job-offer blockquote{font-size:11px}.badge-grid{gap:8px}.achievement{padding:13px}.achievement h3{font-size:12px}.achievement p{font-size:9px}.map-caption{font-size:5px;letter-spacing:.5px}}
@media(max-height:760px) and (min-width:721px){.street-speech{top:107px;padding:10px;max-width:255px}.street-speech p{font-size:10px}.job-panel{top:106px;padding:11px}.job-panel h2{margin:5px 0;font-size:13px}.job-panel p{font-size:9px;margin:5px 0}.job-panel-reward{margin:7px 0}.job-panel .btn{min-height:28px;font-size:9px}.job-active .location-panel{max-height:185px}.job-active .location-panel>p{display:none}}
@media(prefers-reduced-motion:reduce){.equalizer i{animation:none!important}.job-track i{transition:none}}
@media(min-width:721px){.radio-chip,.job-panel{right:72px}}
/* A city-wide campaign, with one persistent local business per district. */
.district-switch{pointer-events:auto;display:flex;align-items:center;gap:7px;padding:6px 8px;margin:-7px 0 5px -8px;background:#25402edb;color:#e3edca;border:1px solid #e7efd35c;border-radius:6px;font-size:8px;font-weight:650;letter-spacing:1.1px;box-shadow:0 3px 10px #26422f12}.district-switch:hover{background:#25402e}.district-switch svg{width:13px;height:13px}.district-switch b{font-size:9px;letter-spacing:0;background:#ffffff12;border-radius:3px;padding:2px 5px}.world-heading h2{max-width:calc(100vw - 520px)}.atlas-modal{width:min(1100px,96vw);max-width:1100px}.atlas-modal #modal-content{padding:32px}.atlas-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.atlas-heading .modal-title{font-size:36px;margin:10px 0 12px}.atlas-total{font-size:36px;color:var(--lime);font-weight:650;text-align:right;flex-shrink:0}.atlas-total small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.atlas-modal .modal-copy{max-width:760px;margin-bottom:24px}.district-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.district-card{border:1px solid #ffffff1f;border-radius:11px;overflow:hidden;background:#ffffff04;display:flex;flex-direction:column}.district-card.current{border-color:var(--district-color);box-shadow:0 0 0 1px var(--district-color)}.district-preview{height:112px;position:relative;background:var(--district-color);overflow:hidden}.district-art{display:block;width:100%;height:100%;object-fit:cover;stroke:none;transform:rotate(-12deg) scale(1.3);opacity:.9}.district-number{position:absolute;left:12px;top:10px;color:#fff6df;font-size:30px;font-weight:750;letter-spacing:-2px;text-shadow:0 2px 9px #153327aa}.district-state{position:absolute;right:7px;bottom:7px;background:#1c332ee8;color:#e3e6d2;font-size:7px;letter-spacing:1px;border-radius:3px;padding:5px 7px}.district-body{padding:14px;flex:1;display:flex;flex-direction:column}.district-body .eyebrow{font-size:6px;letter-spacing:1px;color:var(--district-color)}.district-body h3{font-size:18px;letter-spacing:-.3px;line-height:1.18;margin:9px 0}.district-body p{font-size:10px;line-height:1.65;color:#b5c5aa;margin:0 0 12px;min-height:50px}.district-rule{font-size:10px;line-height:1.6;padding:9px 0;border-top:1px solid #ffffff13;color:#e4d6b3;margin-bottom:10px;flex:1}.district-chapters{font-size:8px;color:#afc29c;margin:0 0 13px}.district-chapters i{display:block;height:3px;margin-top:7px;background:linear-gradient(to right,var(--district-color) var(--progress),#ffffff12 var(--progress));border-radius:2px}.district-body .btn{font-size:9px;line-height:1.5;min-height:40px;width:100%;gap:4px}.district-body .btn svg{width:13px;height:13px}.district-card.locked .district-preview{filter:saturate(.55)}.district-card.locked .btn{opacity:.7;background:#ffffff08;color:#a2b19d;justify-content:center}.district-card .btn:disabled{white-space:normal;text-align:center}.modal-actions{flex-wrap:wrap}.world-heading p{max-width:350px}.street-speech{top:130px}
@media(max-width:1000px){.district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-modal{width:min(760px,96vw)}.world-heading h2{font-size:23px;max-width:calc(100vw - 440px)}.world-heading p{max-width:250px}.street-speech{top:135px}}
@media(max-width:720px){.world-heading h2{max-width:calc(100vw - 120px);font-size:21px;margin:5px 0}.district-switch{font-size:7px;padding:4px 6px;margin-top:-5px;gap:5px}.district-switch b{font-size:8px}.world-heading p{font-size:7px;max-width:calc(100vw - 85px)}.world-heading .weather-sun{font-size:11px}.radio-chip{top:81px}.combo-chip{top:84px}.street-speech{top:111px}.sidebar,.job-panel{top:181px;max-height:calc(100% - 267px)}.atlas-modal #modal-content{padding:20px}.atlas-heading{gap:10px}.atlas-heading .modal-title{font-size:27px}.atlas-total{font-size:27px}.atlas-total small{font-size:8px}.atlas-heading .modal-kicker{font-size:7px}.district-grid{gap:10px}.district-body{padding:11px}.district-body h3{font-size:16px}.district-body p{font-size:9px}.district-rule{font-size:9px}.district-preview{height:90px}.district-body .eyebrow{font-size:5px}.district-number{font-size:26px}.district-state{font-size:6px;right:4px}.district-switch svg{width:11px;height:11px}}
@media(max-width:390px){.district-grid{grid-template-columns:1fr}.district-preview{height:125px}.district-body p{min-height:0}}
