:root{font-family:Outfit,system-ui,sans-serif;color:#ece8d7;background:#172823;font-synthesis:none;--ink:#ece8d7;--muted:#a9b4a2;--gold:#d5ba83;--line:#b8c3a826;--panel:#192c27;--danger:#e3a28c;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;transition:background .18s,border-color .18s,transform .18s}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}button[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400}h3{font-weight:500}p{line-height:1.7}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}#scene,#unity-canvas,.atmosphere{position:fixed;inset:0;width:100%;height:100%;border:0}#unity-canvas{outline:none}.atmosphere{pointer-events:none;background:linear-gradient(90deg,#142820f5,#142820d9 23%,#14282044 57%,#14282011),linear-gradient(0deg,#142820d9,transparent 25%)}#app{position:relative;z-index:2;pointer-events:none;min-height:100dvh}#app button,#app a,#app input,#app select,.management,.dialog{pointer-events:auto}.site-header{position:absolute;top:34px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;letter-spacing:4px;font-size:20px}.brand>.icon{width:35px;height:35px;color:var(--gold)}.brand small{display:block;margin-top:6px;color:var(--muted);font-size:7px;letter-spacing:2.7px}.site-header nav{display:flex;align-items:center;gap:24px}.text-button{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:#d1d7c6}.text-button:hover{color:var(--gold)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;color:var(--gold)}.icon-button:hover{background:#b8c3a815}.home{position:absolute;left:7%;top:25%;max-width:670px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:500;letter-spacing:2.2px;color:var(--gold)}.signal{display:inline-block;flex-shrink:0;width:5px;height:5px;border-radius:50%;background:#bdca97;box-shadow:0 0 9px #b7c88e66}h1{font-size:clamp(58px,6.1vw,104px);line-height:1.06;letter-spacing:-4px;margin:25px 0}h1 em{color:var(--gold);font-weight:400}.home>p{font-size:15px;color:#c6ceba;line-height:1.9}.home-actions{display:flex;gap:12px;margin-top:32px}.primary,.secondary,.bell-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:13px 21px;border-radius:4px;font-size:12px;letter-spacing:.25px;font-weight:500}.primary{background:var(--gold);color:#27362b;border:1px solid var(--gold)}.primary:hover:not(:disabled){background:#e4cea2;border-color:#e4cea2;transform:translateY(-2px)}.secondary{border:1px solid #b9c5a843;background:#263a2e88;color:#e0e2cc}.secondary:hover:not(:disabled){background:#3a4a34}.bell-button{background:#784d3b;border:1px solid #bc8665;color:#f1d9ba}.bell-button:hover:not(:disabled){background:#946349}.load-status{font-size:10px;color:#9ba990;min-height:26px;padding-top:11px}.home-features{display:flex;gap:23px;margin-top:25px;border-top:1px solid var(--line);padding-top:22px;color:#aebba2;font-size:10px}.home-features span{display:flex;align-items:center;gap:7px}.home-features .icon{width:16px;height:16px;color:#becc9f}.scene-caption{position:absolute;right:8%;bottom:24%;display:flex;flex-direction:column;gap:8px;text-align:right;border-right:1px solid #d3c59a55;padding-right:16px}.scene-caption>span{font-size:8px;letter-spacing:2px;color:var(--gold)}.scene-caption strong{font-family:Georgia,serif;font-size:24px;font-weight:400}.scene-caption small{font-size:10px;color:#c2cbb4}.home-footer{position:absolute;bottom:29px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#9ead94;font-size:8px;letter-spacing:1.5px}.home-footer b{color:var(--gold);padding:0 6px}.home-footer .text-button{font-size:10px;letter-spacing:0}.online{display:flex;align-items:center;gap:8px}body[data-screen=game] .atmosphere{background:linear-gradient(0deg,#12241fed,transparent 23%),linear-gradient(90deg,#12241f88,transparent 42%)}.game-header{position:absolute;inset:0 0 auto;height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 28px;background:#172823ee;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.game-brand{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:16px;letter-spacing:3px;flex-shrink:0}.game-brand .icon{width:28px;height:28px}.game-brand small{display:block;font-size:7px;letter-spacing:1px;color:#a8b69a;margin-top:6px}.resources{display:flex;gap:27px}.resource{display:flex;align-items:center;gap:9px}.resource>.icon{color:#b8b794;width:20px}.resource b{display:block;font-size:19px;font-weight:400;font-variant-numeric:tabular-nums}.resource small{display:block;font-size:8px;text-transform:uppercase;color:#9cad95;letter-spacing:1px;margin-top:3px}.header-buttons{display:flex;gap:9px}.management{position:absolute;top:105px;left:22px;bottom:106px;width:365px;display:flex;flex-direction:column;border:1px solid #aabc972d;border-radius:7px;background:#172b26ef;backdrop-filter:blur(20px);box-shadow:0 10px 40px #0002;overflow:hidden}.tabs{display:flex;flex-shrink:0;min-height:66px;border-bottom:1px solid var(--line);padding:0 8px}.tabs button{flex:1;color:#8c9f8a;padding:12px 0 10px;border-bottom:2px solid transparent}.tabs button span{display:block;font-size:8px;margin-top:6px}.tabs button>.icon{width:19px;height:19px}.tabs button[aria-pressed=true]{color:var(--gold);border-bottom-color:var(--gold);background:#d5ba8308}.tabs button:hover{color:#ddd6b5}.panel{overflow:auto;overscroll-behavior:contain;flex:1;padding:24px 20px 30px;scrollbar-width:thin;scrollbar-color:#81907755 transparent}.panel-heading .eyebrow{font-size:7px;letter-spacing:1.7px}.panel h2{font-size:31px;line-height:1.2;margin:12px 0 9px;letter-spacing:-.5px}.panel-heading p{font-size:11px;color:#a9b6a0;line-height:1.7}.people-list{display:flex;flex-direction:column;gap:7px}.person-row{display:flex;align-items:center;gap:11px;text-align:left;padding:10px;width:100%;border:1px solid transparent;border-radius:5px;background:#91a27c08}.person-row.selected{background:#97a67912;border-color:#c9bb764d}.person-row:hover{background:#9dac8117}.person-row>span:nth-child(2){flex:1}.person-row strong{display:block;font-weight:500;font-size:13px}.person-row small{display:block;font-size:9px;margin-top:5px;color:#a4b398}.person-health{font-size:16px;color:#cbd7b4;text-align:right;line-height:.9}.person-health small{font-size:6px;letter-spacing:1px}.portrait{position:relative;display:block;width:40px;height:46px;flex-shrink:0;background:linear-gradient(145deg,#667563,#334b42);overflow:hidden;border-radius:5px}.portrait i{position:absolute;bottom:-13px;left:4px;width:33px;height:40px;border-radius:15px 15px 0 0;background:#8f6651}.portrait b{position:absolute;width:18px;height:23px;background:#c9a381;left:11px;top:6px;border-radius:9px 8px 7px 7px;border-top:6px solid #413d32;box-shadow:0 5px 0 -2px #a38364}.portrait.p2 i{background:#687f8e}.portrait.p2 b{background:#a58261}.portrait.p3 i{background:#b29865}.portrait.p3 b{background:#936b4e}.portrait.p0 i{background:#7c8061}.portrait.p0 b{background:#d4ac84;border-top-color:#8b7155}.person-detail{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.detail-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.detail-title h3{font-size:21px;font-family:Georgia,serif}.detail-title>span{font-size:8px;color:var(--gold);background:#c5b7780e;border:1px solid #c5b77822;padding:5px 7px;border-radius:3px}.muted{color:#99ac95;font-size:10px;line-height:1.7;margin-top:10px}.field{display:flex;flex-direction:column;gap:7px;font-size:9px;color:#b6c0a8;letter-spacing:.4px;margin-top:17px}.field select,.field input,.setting-row select{border:1px solid #aabb9136;border-radius:4px;background:#243b30;color:#e1e4d0;padding:10px 9px;width:100%;min-height:37px;font-size:11px}.field select:disabled{opacity:.5}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.equipment-grid .field:last-child{grid-column:1/-1}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.sub-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #aeb78e3d;background:#8999670a;color:#d4d7b8;border-radius:4px;padding:9px 11px;font-size:9px}.sub-button>.icon{width:14px;height:14px}.sub-button:hover:not(:disabled){background:#acb17b1c;border-color:#c3c49588}.notice{font-size:10px;line-height:1.7;margin:17px 0 10px;padding:11px;border-left:2px solid #bba776;background:#c1ae700b;color:#c0c7aa}.danger{color:var(--danger)!important}.world-status{position:absolute;right:30px;top:120px;width:220px;text-align:right}.world-status>.eyebrow{justify-content:flex-end;font-size:8px}.world-status>strong{display:block;font-family:Georgia,serif;font-size:76px;font-weight:400;line-height:1.1;margin:9px 0;color:#eee5cb;text-shadow:0 2px 20px #14251a}.world-status>span:last-of-type{font-size:10px;color:#c5cfb7}.wall-info{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#d5d6bc;margin-top:26px}.wall-info>span{display:flex;align-items:center;gap:5px;letter-spacing:1px}.wall-info .icon{width:14px;height:14px}.wall-info b{font-weight:400}.health-track{height:5px;background:#1c3027aa;border-radius:3px;margin-top:10px;overflow:hidden}.health-track i{display:block;height:100%;background:#becb98;transition:width .25s}.health-track.critical i{background:#d58c70}.town-info{display:flex;justify-content:space-between;color:#bdc9ac;font-size:8px;margin-top:9px}.world-caption{position:absolute;bottom:127px;left:425px;right:35px;text-align:center;font-size:11px;color:#d3d9c0;text-shadow:0 1px 9px #000;line-height:1.8}.command-bar{position:absolute;bottom:0;left:0;right:0;min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 28px;background:#152821f0;border-top:1px solid var(--line);backdrop-filter:blur(15px)}.wave-results{display:flex;gap:28px;align-items:center}.wave-results>span{display:flex;flex-direction:column;color:#93a58e;font-size:7px;letter-spacing:1px;gap:4px}.wave-results strong{font-size:24px;font-weight:400;color:#e4e7cf;font-variant-numeric:tabular-nums}.wave-results>#save-status{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:8px;letter-spacing:0;color:#8ca487}.wave-results>#save-status>.icon{width:14px;height:14px}.command-actions{display:flex;gap:10px;align-items:center}.command-actions .primary,.command-actions .secondary,.command-actions .bell-button{min-height:44px;font-size:11px}.command-actions .secondary{font-size:9px}.build-list,.expedition-list{display:flex;flex-direction:column;gap:12px}.build-card{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.build-card>div:last-child{flex:1;min-width:0}.build-icon{display:flex;width:37px;height:42px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid #b8bd8926;background:linear-gradient(135deg,#68735033,#334d3533);color:#aeb991;border-radius:5px}.build-card.owned .build-icon{color:var(--gold);border-color:#d5ba8344}.card-title{display:flex;justify-content:space-between;align-items:center;gap:7px}.card-title h3{font-size:13px}.card-title>span{font-size:7px;color:#b9c393;white-space:nowrap}.build-card p,.expedition-card p{font-size:10px;color:#9eae94;margin:7px 0;line-height:1.7}.cost{font-size:9px;color:#c5bd91;margin:9px 0 11px;line-height:1.6}.expedition-card{border:1px solid var(--line);border-radius:5px;padding:15px;margin-top:12px;background:#9ba77d06}.expedition-card h3{font-size:14px}.expedition-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.expedition-card footer small{font-size:8px;color:#a5b39a}.towns{display:flex;flex-direction:column;gap:8px}.towns>span{font-size:12px;padding:11px;border:1px solid var(--line);border-radius:4px;color:#c4cda9}.towns .icon{color:var(--gold);margin-right:8px}.chronicle{list-style:none;padding:0 0 0 15px;margin:25px 0;border-left:1px solid #a2b58b35}.chronicle li{position:relative;padding:0 0 24px 2px}.chronicle li:before{content:"";position:absolute;left:-19px;top:3px;width:5px;height:5px;background:#a3b383;border:2px solid #192c27;border-radius:50%}.chronicle li.death:before{background:#c48972}.chronicle li>span{font-size:7px;letter-spacing:1px;color:#b4bf95}.chronicle li.death>span{color:#d3977c}.chronicle p{font-size:11px;color:#c6ceba;margin-top:7px;line-height:1.8}.memorial{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.memorial span{font-family:Georgia,serif;font-size:16px;color:#cabba1;padding:10px;border:1px solid var(--line)}.memorial small{font-family:Outfit,system-ui,sans-serif;display:block;font-size:8px;color:#9ba58d;margin-top:7px}.dialog{width:min(650px,calc(100vw - 32px));max-height:88dvh;overflow:auto;margin:auto;padding:42px 40px;border:1px solid #b0b98945;border-radius:9px;background:linear-gradient(140deg,#293f31,#182e26);color:var(--ink);box-shadow:0 20px 90px #0007;scrollbar-width:thin;scrollbar-color:#81907755 transparent}.dialog::backdrop{background:#0c1915ba;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:15px;right:15px;width:30px;height:30px}.dialog h2{font-size:43px;line-height:1.15;letter-spacing:-1px;margin:18px 0 15px}.dialog p{font-size:12px;color:#b6c2a9}.dialog .muted{font-size:10px;margin-top:17px}.dialog .eyebrow{font-size:8px}.stack{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:25px}.stack>.text-button{justify-content:center;padding:10px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding:23px 0;font-size:13px}.setting-row small{display:block;font-size:10px;color:#98ac91;margin-top:7px}.setting-row input{accent-color:var(--gold);width:18px;height:18px;flex-shrink:0}.setting-row select{width:150px}.handbook{display:grid;grid-template-columns:1fr 1fr;gap:27px 23px;margin:28px 0}.handbook .icon{color:var(--gold);width:25px;height:25px}.handbook h3{font-size:14px;margin:10px 0 7px}.handbook p{font-size:11px;line-height:1.8}.board-tabs{display:flex;gap:8px;margin:24px 0 20px}.board-tabs button{font-size:10px;padding:9px 15px;border:1px solid var(--line);border-radius:4px;color:#a8b596}.board-tabs button[aria-pressed=true]{background:#b8bf8333;color:#e3ddaf;border-color:#bbc48877}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{color:#9cac8c;font-size:8px;letter-spacing:1px;font-weight:400;padding:12px 8px;border-bottom:1px solid var(--line)}td{padding:14px 8px;border-bottom:1px solid var(--line)}td:first-child{color:var(--gold)}.empty-board{text-align:center;padding:25px 10px}.empty-board .icon{width:34px;height:34px;color:var(--gold)}.empty-board h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:15px 0 9px}.result-stats{display:flex;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:24px 0}.result-stats>div{flex:1}.result-stats strong{font-family:Georgia,serif;display:block;font-size:42px;font-weight:400;color:var(--gold)}.result-stats span{display:block;font-size:7px;letter-spacing:1px;margin-top:7px;color:#aabd9c}#score-form .field{margin-bottom:12px}#score-form .primary{width:100%}#toast{position:fixed;z-index:10;bottom:107px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;width:max-content;max-width:min(560px,90vw);padding:13px 20px;background:#203b2df5;color:#e0dbb9;border:1px solid #c2b47955;border-radius:5px;box-shadow:0 6px 30px #0004;font-size:11px;line-height:1.7;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%)}.reduced-motion *{animation:none!important;transition:none!important}#scene #unity-canvas{position:absolute;inset:0;width:100%;height:100%}@media(max-width:600px){body[data-screen=game] #scene{top:102px;bottom:auto;height:calc(34dvh - 67px)}}@media(min-width:1650px){.home{top:27%;left:9%}.management{width:390px;left:30px;top:113px;bottom:113px}.world-status{right:50px;top:140px}.panel{padding:27px 24px}.home>p{font-size:16px}}@media(max-width:1150px){.resources{gap:15px}.game-header{gap:16px;padding:0 20px}.game-brand{font-size:13px;letter-spacing:2px}.game-brand small{font-size:6px;letter-spacing:.5px}.resource{gap:6px}.resource b{font-size:17px}.resource>.icon{width:16px}.management{width:325px;left:16px}.world-status{width:185px;right:22px}.world-caption{left:370px}.wave-results{gap:22px}.wave-results>#save-status{display:none}.command-bar{padding:15px 20px}.home{top:25%;left:6%}.home-features{gap:15px;font-size:9px}.scene-caption{right:5%;bottom:23%}.scene-caption strong{font-size:20px}}@media(max-width:800px){.game-header{height:105px;align-items:flex-start;padding:14px 16px}.game-brand{font-size:12px}.game-brand .icon{width:22px}.resources{position:absolute;left:16px;right:16px;bottom:12px;justify-content:space-between;gap:8px}.resource b{font-size:16px}.resource small{font-size:6px;letter-spacing:.5px}.header-buttons .icon-button{width:30px;height:30px}.management{top:125px;bottom:103px;width:310px;left:12px}.world-status{top:126px;width:145px;right:15px}.world-status>strong{font-size:53px}.world-status>span:last-of-type{font-size:8px}.world-status .eyebrow{font-size:6px;letter-spacing:1px}.world-caption{left:342px;right:14px;font-size:10px;bottom:118px}.command-actions .secondary{padding:9px;font-size:8px}.command-actions .primary,.command-actions .bell-button{padding:10px 14px;font-size:10px}.command-actions .icon{width:16px;height:16px}.wave-results{gap:16px}.wave-results>span{font-size:6px}.wave-results strong{font-size:20px}.scene-caption{display:none}.home h1{font-size:74px}.home-features span:last-child{display:none}.home-footer>span:first-child{display:none}}@media(max-width:600px){.site-header{top:24px;left:6%;right:6%}.brand{font-size:15px;letter-spacing:2px;gap:8px}.brand small{font-size:6px;letter-spacing:1.5px}.brand>.icon{width:27px}.site-header nav{gap:12px}.site-header .text-button span{display:none}.home{top:22%;left:7%;right:6%}.home h1{font-size:clamp(46px,11.5vw,69px);letter-spacing:-2px;margin:24px 0}.home .eyebrow{font-size:7px;letter-spacing:1.5px;gap:8px}.home>p{font-size:12px;line-height:1.9}.home-actions{flex-direction:column;align-items:flex-start;gap:9px;margin-top:27px}.home-actions .primary,.home-actions .secondary{min-height:44px;font-size:11px}.home-features{font-size:8px;gap:15px;flex-wrap:wrap;margin-top:20px;padding-top:18px}.home-features .icon{width:14px}.load-status{font-size:8px;max-width:290px;line-height:1.7}.home-footer{bottom:22px;left:7%;right:7%;font-size:6px;letter-spacing:.6px}.home-footer .text-button{font-size:8px;gap:5px}.home-footer .icon{width:13px}.atmosphere{background:linear-gradient(90deg,#142820ee,#142820bb 60%,#14282055),linear-gradient(0deg,#142820,transparent 25%)}.game-header{height:102px;padding:12px}.game-brand small{font-size:5px}.resources{left:12px;right:12px;bottom:12px;gap:3px}.resource{gap:4px}.resource>.icon{width:13px;height:13px}.resource b{font-size:15px}.resource small{font-size:5px}.world-status{top:118px;right:14px;width:130px}.world-status>strong{font-size:42px;margin:4px 0}.wall-info{margin-top:12px;font-size:7px}.town-info{font-size:7px}.world-caption{inset:121px 158px auto 14px;text-align:left;font-size:9px;line-height:1.8;max-width:210px}.management{top:calc(34dvh + 35px);left:10px;right:10px;bottom:88px;width:auto;background:#172b26f7}.tabs{min-height:53px}.tabs button{padding:8px 0 7px}.tabs button>.icon{width:16px;height:16px}.tabs button span{font-size:7px;margin-top:4px}.panel{padding:19px 17px 25px}.panel h2{font-size:28px;margin:10px 0 8px}.panel-heading{margin-bottom:17px}.panel-heading p{font-size:10px}.people-list{gap:6px}.person-row{padding:8px}.person-row strong{font-size:12px}.person-row small{font-size:8px}.portrait{width:35px;height:39px}.portrait i{left:2px}.portrait b{left:9px}.person-detail{padding-top:16px;margin-top:16px}.command-bar{padding:10px 12px;min-height:77px;gap:10px}.wave-results{gap:13px}.wave-results>span{font-size:5px;letter-spacing:.5px}.wave-results strong{font-size:19px}.command-actions{gap:6px}.command-actions .secondary{width:35px;min-height:38px;font-size:0;padding:8px}.command-actions .secondary>.icon{width:18px;height:18px}.command-actions .primary,.command-actions .bell-button{font-size:9px;padding:9px 12px;min-height:38px;gap:7px}.command-actions .primary>.icon{width:14px}.dialog{padding:35px 23px;max-height:90dvh}.dialog h2{font-size:35px}.handbook{gap:24px 17px}.handbook h3{font-size:12px}.handbook p{font-size:10px}.dialog p{font-size:11px}.dialog .eyebrow{font-size:7px;letter-spacing:1.5px}.setting-row{font-size:12px;gap:15px}.setting-row small{font-size:9px}.setting-row select{width:130px;font-size:10px}.result-stats{gap:13px}.result-stats strong{font-size:33px}.result-stats span{font-size:6px;letter-spacing:.3px}#toast{bottom:94px;font-size:10px;padding:10px 14px}}@media(max-height:700px)and (min-width:601px){.home{top:22%}.home h1{font-size:66px;margin:18px 0}.home>p{font-size:12px}.home-actions{margin-top:22px}.home-features{margin-top:15px;padding-top:13px}.site-header{top:23px}.home-footer{bottom:17px}.management{top:99px;bottom:88px}.game-header{height:80px}.command-bar{min-height:74px;padding-top:10px;padding-bottom:10px}.world-caption{bottom:100px}}:root{--ink:#eee8dc;--muted:#a7afb2;--gold:#d7ae76;--line:#c3c5c320;--panel:#182126;--danger:#ed9d86;background:#111a20}body[data-screen=home] .atmosphere{background:linear-gradient(90deg,#0a121ae8,#101922a8 35%,#11182008 76%),linear-gradient(0deg,#09131be0,transparent 35%),url(/art/settlement-dusk.webp) center/cover}.home{top:24%;max-width:640px}.home h1{font-size:clamp(60px,6vw,94px);letter-spacing:-3px}.home>p{color:#c4c8ca;font-size:16px;line-height:1.9}.brand small,.home-features,.home-footer,.load-status{color:#b5bec2}.scene-caption{bottom:20%;text-shadow:0 2px 12px #000}.primary{color:#211d18;background:linear-gradient(135deg,#e2bd88,#c59a62);box-shadow:0 4px 16px #0002,inset 0 1px #ffffff40}.secondary{background:#1c2a32cc;border-color:#87959d55}.secondary:hover:not(:disabled){background:#34444e}.game-header,.command-bar{background:#131e26f5;border-color:#8b9ba433}.game-brand small,.resource small,.wave-results>span{color:#abb7bd}.resource>.icon{color:#d3b587}.resource b{font-size:22px;font-weight:500}.resources{gap:24px}.management{width:440px;left:20px;top:102px;bottom:103px;background:#162229f7;border-color:#81919c45;border-radius:9px;box-shadow:0 14px 45px #0006}.management:not([data-tab=survivors]){width:min(740px,calc(100vw - 295px))}.tabs{min-height:68px;padding:0 8px;background:#101a22}.tabs button{position:relative;color:#9baeb9;min-width:0}.tabs button span{font-size:10px;letter-spacing:.2px;margin-top:7px}.tabs button[aria-pressed=true]{color:#eed0a1;background:#d7ae7610;border-bottom-color:#d7ae76}.tabs button:hover{background:#ffffff08;color:#f3e1c8}.tabs .has-news:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#e4b575;right:13px;top:12px;box-shadow:0 0 12px #dfad68}.panel{padding:25px 25px 32px;scrollbar-color:#74849166 transparent}.panel-heading{margin-bottom:22px}.panel h2{font-size:33px;line-height:1.14;margin:13px 0 10px;letter-spacing:-.6px}.panel-heading p,.panel .muted{color:#aeb9bf;font-size:12px;line-height:1.75}.eyebrow{font-size:9px;letter-spacing:1.8px}.workforce{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:6px;margin-bottom:20px;background:#101a224d}.workforce span{padding:12px 8px;font-size:10px;color:#aab9c1;text-align:center}.workforce span+span{border-left:1px solid var(--line)}.workforce b{display:block;color:#e8d9bf;font-size:22px;font-weight:400;margin-bottom:4px}.people-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:175px;overflow:auto;padding:2px}.person-row{position:relative;padding:7px;gap:9px;border:1px solid #62758040;border-radius:6px;background:#111c2355}.person-row.selected{border-color:#cda570b0;background:#9f7b3c15;box-shadow:0 0 0 1px #cda57025}.person-row:hover{background:#31404a}.person-row strong{font-size:14px;font-weight:500}.person-row small{font-size:10px;color:#a8b6bd;line-height:1.5}.person-health{display:block;flex-shrink:0;font-size:12px;color:#c6b791}.person-health small{font-size:7px}.person-row>span:nth-child(2){min-width:0;flex:1}.person-row>span:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survivor-vitals{padding:13px 0 4px}.survivor-vitals>span{display:flex;justify-content:space-between;font-size:10px;color:#aebbc2}.survivor-vitals b{font-weight:400;color:#d5c49f}.survivor-vitals>small{display:block;margin-top:8px;font-size:10px;color:#92a6b1}.portrait.survivor-portrait{width:45px;height:60px;flex-shrink:0;border-radius:4px;background-image:url(/art/survivors.webp);background-size:400% 200%;background-position:var(--portrait-x) var(--portrait-y);border:1px solid #c2b49d35;box-shadow:inset 0 -5px 12px #0002}.person-detail{margin-top:22px;padding-top:22px}.survivor-dossier{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.survivor-dossier summary{color:#c6b08a;font-size:11px;cursor:pointer}.survivor-dossier>div{display:flex;gap:15px;margin:18px 0}.survivor-dossier .portrait{width:78px;height:104px}.survivor-dossier p{font-family:Georgia,serif;font-size:12px;color:#b9c3c8;line-height:1.8}.detail-title h3{font-family:Georgia,serif;font-weight:400;font-size:26px}.detail-title>span{color:#d0b88c;font-size:10px}.field{font-size:11px;color:#bac6cc;letter-spacing:.5px;gap:9px;margin-top:18px}.field select,.field input,.setting-row select{background:#101a22;border:1px solid #687c8a66;color:#e3e8e9;border-radius:5px;min-height:43px;padding:10px;font-size:12px}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equipment-grid .field{display:flex;flex-direction:column;margin-top:5px;min-width:0}.equipment-grid .field:has([data-slot=ranged]){grid-column:1/-1;grid-row:1}.sub-button{min-height:36px;padding:9px 12px;font-size:11px;border:1px solid #b49a7055;color:#e0c69d;border-radius:4px;background:#d7ae760a}.sub-button:hover:not(:disabled){background:#d7ae7622;border-color:#d7ae76}.detail-actions{gap:9px;flex-wrap:wrap;margin-top:18px}.notice{font-size:12px;line-height:1.75;background:#c9a5680a;border-left:2px solid #b48c58;color:#c7c3b8;padding:13px}.panel-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.panel-filters button{font-size:11px;padding:9px 13px;color:#a8bac3;border:1px solid #81929c33;border-radius:4px}.panel-filters button[aria-pressed=true]{color:#f1d7ad;background:#d7ae761a;border-color:#d7ae7666}.build-list,.expedition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:stretch}.build-card{padding:17px;gap:11px;background:linear-gradient(145deg,#23323a99,#101a2255);border:1px solid #81919c30;border-radius:6px}.build-card.owned{border-color:#b49a7060}.build-icon{width:31px;height:35px;border:0;background:none;color:#d4b47f}.card-title{align-items:flex-start;flex-wrap:wrap;gap:7px}.card-title h3{font-family:Georgia,serif;font-size:18px;font-weight:400;line-height:1.3}.card-title>span{color:#bdc1b8;font-size:9px;letter-spacing:.3px}.build-card p,.expedition-card p{font-size:12px;color:#afbbc1;line-height:1.75;margin:10px 0}.cost{color:#d6b989;font-size:10px;line-height:1.7;min-height:4px}.cost:empty{display:none}.supply-cost{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.supply-cost>span{display:flex;align-items:center;gap:4px;background:#0d161d88;border:1px solid #84969f2b;border-radius:4px;color:#d0c6ad;padding:6px;font-size:12px}.supply-cost .icon{width:13px;height:13px}.supply-cost small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.supply-cost .shortage{color:#e89d88;border-color:#b9644c55}.expedition-card{margin:0;padding:17px;border-color:#82949f3b;background:#122029;border-radius:7px;overflow:hidden}.expedition-card footer{margin-top:16px;flex-wrap:wrap}.expedition-card footer small{font-size:10px}.location-art{height:132px;margin:-17px -17px 17px;border-bottom:1px solid #c5ae8033;background-image:linear-gradient(0deg,#12202955,transparent 60%),url(/art/locations.webp);background-size:100% 100%,300% auto;background-position:0 0,0 19%}[data-location=grocer] .location-art,[data-location=orchard] .location-art{background-position:0 0,50% 19%}[data-location=pharmacy] .location-art,[data-location=hospital] .location-art{background-position:0 0,100% 19%}[data-location=depot] .location-art,[data-location=substation] .location-art,[data-location=rail] .location-art{background-position:0 0,0 81%}[data-location=armory] .location-art,[data-location=school] .location-art{background-position:0 0,50% 81%}[data-location=scout] .location-art,[data-location=ranger] .location-art{background-position:0 0,100% 81%}.towns>span{background:#1d303b;color:#dbc7a5;font-size:14px;padding:16px}#council-notice{flex-shrink:0}#council-notice button{display:flex;align-items:center;width:100%;gap:12px;padding:13px 20px;text-align:left;background:linear-gradient(90deg,#70533655,#b8944d10);border-bottom:1px solid #c99e5644;color:#d3b17f;font-size:10px}#council-notice strong{display:block;font-family:Georgia,serif;color:#f1dfc4;font-size:15px;margin-top:3px;font-weight:400}#council-notice button>.icon:last-child{margin-left:auto}.chapter-banner{padding:24px;margin:-25px -25px 26px;min-height:190px;background:linear-gradient(90deg,#0e1b24e8,#0c182580),url(/art/settlement-dusk.webp) center 55%/cover;border-bottom:1px solid #d7ae7644}.chapter-banner h3{font-family:Georgia,serif;font-weight:400;font-size:31px;margin:16px 0 8px}.chapter-banner p{max-width:430px;font-size:12px;color:#c1cbd0}.chapter-goal{display:flex;gap:8px;align-items:center;font-size:10px;color:#dec49b;margin-top:17px}.chapter-goal .icon{width:14px}.council-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.trust-score{font-size:28px;color:#ddbd8d;text-align:right}.trust-score small{display:block;font-size:8px;letter-spacing:1px;line-height:1.7;color:#a7b8c2}.speaker{display:flex;gap:12px;align-items:center;color:#dfc6a1;font-size:14px}.speaker small{display:block;color:#99aeb9;font-size:8px;letter-spacing:1px;margin-top:7px}.story-event>h3{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:23px 0 16px}.event-prose{font-family:Georgia,serif;font-size:16px;color:#d3d6d4;line-height:1.95}.story-choices{display:grid;gap:12px;margin:26px 0 18px}.story-choice{border:1px solid #ba9a6655;border-radius:6px;padding:17px 19px;background:linear-gradient(120deg,#ae854a15,#18242c);text-align:left}.story-choice:hover:not(:disabled){background:#a47a392d;border-color:#d7ae76}.story-choice strong{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:14px;font-weight:500;color:#ebd1aa}.story-choice span{display:block;font-size:11px;color:#aabcc6;line-height:1.8;margin-top:9px}.story-choice em{display:block;font-size:11px;color:#e6a18e;margin-top:8px;font-style:normal}.council-quiet{text-align:center;padding:35px 20px;background:#101a224d;border:1px solid var(--line);border-radius:6px}.council-quiet>.icon{color:#d7ae76;width:34px;height:34px}.council-quiet h3{font-family:Georgia,serif;font-size:26px;margin:17px 0}.council-quiet p{color:#aebdc4;font-size:13px;margin-bottom:22px}.chapter-index{margin-top:28px;border-top:1px solid var(--line)}.chapter-index summary{padding:18px 0;color:#c9b18b;cursor:pointer;font-size:12px}.chapter-step{display:flex;gap:15px;align-items:center;padding:15px 0;border-top:1px solid var(--line);opacity:.5}.chapter-step.reached{opacity:1}.chapter-step>span{font-family:Georgia,serif;font-size:25px;color:#d7ae76}.chapter-step strong{font-size:13px;font-weight:400}.chapter-step small{display:block;font-size:10px;color:#a8b7be;margin-top:5px}.chapter-step>.icon{margin-left:auto;color:#c5b18d;width:16px}.chronicle{padding-left:23px;border-color:#c2a06b55}.chronicle li{padding:0 0 27px 8px}.chronicle li:before{left:-28px;top:4px;border-color:#17232b;background:#b8a484}.chronicle li>span{color:#c8ab7c;font-size:9px}.chronicle p{font-family:Georgia,serif;font-size:15px;line-height:1.9;color:#c9d0d1}.chronicle li.decision{padding:15px;margin-bottom:25px;background:#c49b6010;border:1px solid #c49b6033;border-radius:5px}.chronicle li.decision:before{top:19px}.memorial span{font-size:20px;padding:17px;background:#c6ac7908}.memorial small{font-size:10px}.world-status{right:28px;top:119px;width:205px;padding:20px;border:1px solid #b3bcc330;border-radius:7px;background:#111e27ba;backdrop-filter:blur(12px)}.world-status>strong{font-size:58px;margin:10px 0}.world-status>span:last-of-type{font-size:11px}.world-caption{left:490px;right:35px;font-size:12px;bottom:115px}body[data-screen=game]:not([data-tab=survivors]) .world-caption{display:none}.camera-controls{position:absolute;right:30px;bottom:172px;display:flex;gap:5px}.camera-controls button{background:#12202ce0;border:1px solid #b0bdc244;border-radius:5px;width:39px;height:39px;font-size:22px;color:#dec299}.camera-controls .icon{width:17px}.dialog{background:linear-gradient(140deg,#24333e,#121e28);border-color:#9cabb855;border-radius:10px}.dialog p,.dialog .muted,.setting-row small{color:#afbec6}.dialog::backdrop{background:#08121bcc}#toast{background:#142632f7;color:#eddbbd;font-size:12px}@media(max-width:1150px)and (min-width:601px){.management{width:375px}.management:not([data-tab=survivors]){width:calc(100vw - 255px)}.world-status{right:16px;width:190px}.world-caption{left:410px}.panel{padding:21px}.chapter-banner{margin:-21px -21px 24px}.survivor-dossier p{font-size:11px}.people-list{grid-template-columns:1fr;max-height:180px}.person-health{display:block}.build-card{padding:13px;gap:7px}.build-icon{display:none}}@media(max-width:800px)and (min-width:601px){.management{top:123px;width:335px}.management:not([data-tab=survivors]){width:calc(100vw - 225px)}.build-list,.expedition-list{grid-template-columns:1fr}.world-status{top:123px;width:176px}}@media(max-width:600px){body[data-screen=home] .atmosphere{background:linear-gradient(90deg,#07121bee,#10192288),linear-gradient(0deg,#0b141def,transparent 50%),url(/art/settlement-dusk.webp) 60% center/cover}.home{top:20%}.home h1{font-size:clamp(48px,12vw,69px)}.home>p{font-size:13px}.home-features{font-size:9px}.resource b{font-size:17px}.resources{gap:5px}.management,.management:not([data-tab=survivors]){top:calc(36dvh + 10px);bottom:88px;left:9px;right:9px;width:auto;background:#15222bf7}body[data-screen=game] #scene{height:calc(36dvh - 92px)}.tabs{min-height:55px;padding:0 4px}.tabs button span{font-size:8px}.tabs button>.icon{width:16px;height:16px}.tabs .has-news:after{right:7px;top:6px;width:4px;height:4px}.panel{padding:20px 17px 30px}.panel h2{font-size:28px}.panel-heading p{font-size:11px}.people-list{max-height:190px}.person-row strong{font-size:12px}.person-row small{font-size:9px}.portrait.survivor-portrait{width:36px;height:48px}.survivor-dossier .portrait{width:66px;height:88px}.survivor-dossier p{font-size:11px}.workforce span{font-size:9px}.build-list,.expedition-list{grid-template-columns:1fr}.build-card{padding:16px}.build-icon{display:flex}.location-art{height:145px}.panel-filters button{padding:8px 10px;font-size:10px}.world-status{top:108px;left:10px;right:10px;width:auto;padding:8px 11px;background:#111e27c9;display:grid;grid-template-columns:28px 30px minmax(0,1fr) 85px;gap:2px 8px;align-items:center}.world-status>strong{font-size:28px;margin:0}.world-status .eyebrow{font-size:6px;letter-spacing:.6px}.world-status>span:last-of-type{font-size:8px}.world-status .wall-info{margin:0;grid-column:4;grid-row:1;font-size:9px;justify-content:flex-end}.world-status .wall-info>span{display:none}.world-status .health-track{grid-column:4;margin:0;height:3px}.world-status .town-info{display:none}.world-caption{inset:169px 155px auto 14px;font-size:8px}.camera-controls{right:auto;left:14px;bottom:auto;top:calc(36dvh - 30px);gap:4px}.camera-controls button{width:29px;height:29px;font-size:18px}.camera-controls .icon{width:13px}#council-notice button{padding:9px 14px}#council-notice strong{font-size:13px}.chapter-banner{margin:-20px -17px 22px;padding:21px 17px;min-height:170px}.chapter-banner h3{font-size:26px}.council-heading{gap:8px}.council-heading h2{font-size:25px}.trust-score{font-size:24px}.trust-score small{font-size:7px;letter-spacing:.4px}.story-event>h3{font-size:27px}.event-prose{font-size:14px}.story-choice{padding:15px}.story-choice strong,.chronicle p{font-size:13px}.command-actions .primary,.command-actions .bell-button{font-size:10px}}
