:root{color-scheme:dark;--ink:#e7e8d8;--muted:#93a99b;--faint:#687f73;--panel:rgba(19,35,31,.94);--stroke:rgba(191,209,178,.17);--gold:#d3bb7f;--mint:#b6d8ad;--danger:#e7a199;--shadow:0 12px 42px #0618114d,0 2px 5px #06181130;--radius:12px;font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#263f32;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.34;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button,input,select{touch-action:manipulation}button{transition:background .15s,color .15s,transform .15s,border-color .15s}button:active:not(:disabled){transform:translateY(1px)}button:hover:not(:disabled){color:#fff}svg.icon{width:18px;height:18px;flex-shrink:0;fill:currentColor;vertical-align:middle}svg.icon.sm{width:13px;height:13px}svg.icon.lg{width:26px;height:26px}img{user-select:none;-webkit-user-drag:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}input,select{min-width:0;color:var(--ink);border:1px solid var(--stroke);background:#10231f;border-radius:7px;padding:10px;outline:none}select{cursor:pointer}option{background:#142b23}input::placeholder{color:var(--faint)}.glass{background:var(--panel);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:var(--radius)}
#world{display:block;width:100vw;height:100dvh;position:absolute;inset:0;outline:none;touch-action:none;cursor:default}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,transparent 40%,#07191030 100%)}#topbar{position:absolute;top:23px;left:26px;right:26px;display:flex;align-items:center;gap:24px;pointer-events:none}#topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;text-align:left;flex:0 0 245px;padding:0;text-shadow:0 2px 10px #071b11bb}.brand img{border:1px solid #ccdab24d;border-radius:10px;box-shadow:0 2px 12px #071b1133}.brand>span{font:22px Georgia,"Times New Roman",serif;letter-spacing:3.5px;color:#eff0dc}.brand small{display:block;font:8px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:2px;color:#d0dabf;margin-top:5px}.resource-bar{display:flex;align-items:center;gap:0;padding:5px 8px;margin:auto;min-height:51px}.resource{display:flex;align-items:center;gap:8px;min-width:76px;padding:5px 11px;border-right:1px solid #bbd0b112;position:relative}.resource:last-child{border-right:0}.resource svg{width:16px;height:16px}.resource b{font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.3px;font-weight:550}.resource .rate{display:block;font-size:8px;color:var(--muted);line-height:1.15;letter-spacing:.2px}.resource .empty{color:var(--faint)}.resource.full b{color:var(--gold)}.resource.negative .rate{color:var(--danger)}.more-resources{padding:6px 5px}.more-resources .icon{width:12px;height:12px}.top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.icon-button{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--muted);flex-shrink:0}.icon-button:hover:not(:disabled){background:#c5d6b319;color:var(--ink)}.top-actions>.icon-button{height:44px;width:44px}.network{height:44px;display:flex;align-items:center;gap:7px;padding:0 13px;font-size:10px;letter-spacing:.7px;color:var(--muted)}.status-dot{height:5px;width:5px;border-radius:50%;background:#819176;box-shadow:0 0 6px #8cba8622}.network.online .status-dot{background:#abd49b;box-shadow:0 0 7px #abd49b44}.network.offline .status-dot{background:#e6ad72}.network.offline{color:#e6bd94}.network.pending .status-dot{animation:breathe 1s infinite}
.civ-card{position:absolute;left:26px;top:98px;width:262px;display:flex;gap:12px;align-items:center;padding:14px 16px}.civ-sigil{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #e2d6a32b;border-radius:50%;background:#a7be8e0b}.civ-sigil img{border-radius:8px;opacity:.9}.civ-identity{flex:1;min-width:0}#civ-name{padding:0;font-family:Georgia,serif;font-size:18px;letter-spacing:.3px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:149px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase;font-weight:500}#era-label{margin-top:2px;font-size:8px;letter-spacing:1.5px;color:#b6c4a8}#population{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}#population .icon{width:12px;height:12px}.tool-rail{position:absolute;left:26px;top:190px;display:flex;flex-direction:column;padding:7px;width:54px;gap:4px;border-radius:13px}.tool-rail>button{height:47px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:7px;color:#a9bba6}.tool-rail>button:hover,.tool-rail>button.active{background:#c1d2a815;color:#e2d8af}.tool-rail>button.active:before{content:"";position:absolute;left:-8px;width:2px;height:18px;background:var(--gold);border-radius:2px}.tool-rail kbd{position:absolute;right:1px;bottom:1px;font:7px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#687e6d}.rail-divider{height:1px;margin:6px 5px;background:var(--stroke)}.panel{position:absolute;top:190px;left:94px;width:337px;max-height:calc(100dvh - 312px);display:flex;flex-direction:column;overflow:hidden;animation:panel-in .16s ease-out;z-index:5}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 22px 16px;flex-shrink:0;border-bottom:1px solid #b7c59f13}.panel-header h1{font:26px Georgia,serif;letter-spacing:.1px;margin-top:4px;color:#eae5cf}.panel-header .eyebrow{font-size:8px}.panel-content{overflow:auto;padding:16px 18px 20px;scrollbar-width:thin;scrollbar-color:#536b54 transparent;overscroll-behavior:contain}.panel.wide{width:min(820px,calc(100vw - 350px));top:98px;max-height:calc(100dvh - 210px)}.panel.medium{width:430px}.panel-content::-webkit-scrollbar{width:5px}.panel-content::-webkit-scrollbar-thumb{background:#536b54;border-radius:5px}.category-tabs{display:flex;gap:5px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px solid #b7c59f17}.category-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 2px;color:#879e8e;border-radius:6px;border:1px solid transparent}.category-tabs button.active{background:#acc39115;color:#d2d7b5;border-color:#bcc99c25}.category-tabs .icon{width:16px;height:16px}.category-tabs span{font-size:10px}.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.build-card{padding:0;display:flex;flex-direction:column;text-align:left;border:1px solid #b7c59f20;background:#20372a99;border-radius:9px;overflow:hidden;position:relative;min-height:138px}.build-card:hover:not(:disabled){border-color:#bace9a83;background:#344831}.build-card.locked{filter:saturate(.25);opacity:.4}.build-card .preview{width:100%;height:81px;object-fit:contain;image-rendering:auto;background:radial-gradient(ellipse,#9aad7414,transparent 73%);padding:6px 10px 0}.build-card .card-title{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:6px 10px 0}.build-card .card-title .icon{width:10px;height:10px;color:var(--muted)}.build-card .cost{padding:6px 10px 10px;font-size:9px;gap:7px}.cost{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#b2bea5;font-size:11px;font-variant-numeric:tabular-nums}.cost>span{display:inline-flex;gap:4px;align-items:center;white-space:nowrap}.cost .icon{width:11px;height:11px}.cost .missing{color:#d99487}.subhead{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.subhead:first-child{margin-top:0}.muted{color:var(--muted)}.small{font-size:11px}.micro{font-size:9px}.empty-state{text-align:center;color:var(--muted);padding:32px 10px 26px;font-size:12px;line-height:1.7}.empty-state>.icon{display:block;margin:0 auto 14px;width:30px;height:30px;color:#bed0a066}.empty-state strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:400;color:#c8d0b3;margin-bottom:4px}.empty-state p{max-width:260px;margin:auto;font-size:11px}.primary,.secondary,.danger{border:1px solid #c4d69c45;border-radius:7px;padding:10px 14px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:550;font-size:11px}.primary{background:#bacb96;color:#1b3021;border-color:#cbdbaf55}.primary:hover:not(:disabled){background:#cbdab0;color:#14251a}.secondary{background:#bdd3ad0c;color:#c9d5b9;border-color:#bcc6a331}.secondary:hover:not(:disabled){background:#bdd3ad1b}.danger{background:#b2726820;color:#e1afa6;border-color:#bb8d7944}.block{width:100%}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.gap-top{margin-top:12px}.line{height:1px;background:var(--stroke);margin:15px 0}.badge{font-size:9px;border:1px solid #c3cdaf22;border-radius:5px;padding:3px 6px;color:var(--muted);white-space:nowrap}.badge.gold{color:var(--gold);border-color:#cbb87b3d}.progress{height:3px;background:#ced7b412;border-radius:3px;overflow:hidden}.progress>i{display:block;height:100%;background:#b5cd95;border-radius:3px;transition:width .2s}.progress.gold>i{background:var(--gold)}
.research-top{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:17px}.city-picker{max-width:190px;padding:7px 9px;font-size:11px}.tech-legend{display:flex;align-items:center;gap:13px;font-size:9px;color:var(--muted)}.tech-legend i{width:5px;height:5px;border:1px solid #6c8c6a;display:inline-block;margin-right:4px;border-radius:50%}.tech-legend .done{background:#b5d29d}.branch-headings{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:2px 0 16px;border-bottom:1px solid #bed0ac20;margin-bottom:14px;position:relative;z-index:1}.branch-headings>div{font-size:9px;color:#a8bea5;display:flex;align-items:center;gap:7px;letter-spacing:.3px}.branch-headings .icon{width:13px;height:13px}.tech-graph{position:relative;padding:0 0 12px}.tech-edges{position:absolute;inset:0;pointer-events:none;overflow:visible}.tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:102px;gap:24px 12px;position:relative}.tech-card{min-width:0;position:relative;border:1px solid #60755266;background:#1b3028;display:flex;flex-direction:column;justify-content:space-between;text-align:left;border-radius:8px;padding:12px 10px 10px;z-index:1;transition:border-color .2s,background .2s}.tech-card .tech-symbol{display:flex;align-items:center;justify-content:space-between;color:#78977d}.tech-card .tech-symbol>.icon{width:15px;height:15px}.tech-card .tier-label{font:8px Georgia,serif;color:#809377;letter-spacing:1px}.tech-card b{display:block;font-size:11px;line-height:1.25;font-weight:550;color:#afbda8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:6px 0}.tech-card .cost{gap:5px;font-size:8px;flex-wrap:nowrap}.tech-card .cost .icon{width:9px;height:9px}.tech-card.available{background:#243d2d;border-color:#a7bd7b66;box-shadow:0 1px 12px #bed59705}.tech-card.available .tech-symbol{color:#bacb96}.tech-card.available b{color:#dedfc6}.tech-card.available:hover{background:#314934;border-color:#c6d09f}.tech-card.locked{opacity:.46}.tech-card.researched{background:#244438;border-color:#8cbaa158}.tech-card.researched b{color:#b8d6be}.tech-card.researched .tech-symbol{color:#bad4a4}.tech-card.active{background:#3e412b;border-color:#d9c48491}.tech-card.active b,.tech-card.active .tech-symbol{color:#e6d6a4}.tech-card.active .progress{margin-top:8px}.tech-card .research-time{color:var(--gold);font-size:10px;font-variant-numeric:tabular-nums}.tech-detail{position:sticky;bottom:-20px;margin:16px -18px -20px;padding:16px 20px;background:#142820f5;border-top:1px solid #acc19840;backdrop-filter:blur(12px);z-index:3;box-shadow:0 -10px 25px #061a1229}.tech-detail h3{font:20px Georgia,serif}.tech-detail .description{font-size:11px;margin:6px 0 12px;color:#bdc8b1;line-height:1.5}.tech-detail .requires{font-size:10px;color:#82977f;margin-bottom:10px}.tech-detail .detail-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}.tech-detail .cost{font-size:10px}.tech-detail .primary{white-space:nowrap}
.selection{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);min-width:360px;max-width:min(610px,calc(100vw - 640px));display:flex;gap:16px;align-items:center;padding:14px 17px;z-index:4}.selection .sel-portrait{position:relative;height:54px;width:54px;border:1px solid #b6c99c27;border-radius:9px;background:#b8caa313;display:flex;align-items:center;justify-content:center;color:#cad1a9;flex-shrink:0}.selection .sel-portrait>img{width:64px;height:64px;object-fit:contain}.selection .sel-info{min-width:100px;flex:1}.selection h2{font:18px Georgia,serif;color:#e8e2c7;white-space:nowrap;margin-bottom:4px}.selection .sel-meta{font-size:10px;color:#a9ba9f;display:flex;align-items:center;gap:9px;white-space:nowrap}.selection .sel-meta .icon{width:10px;height:10px}.selection .sel-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.selection .primary{padding:11px 12px;white-space:nowrap}.selection .progress{margin-top:8px}.selection .pill{height:35px;display:flex;align-items:center;gap:8px;border:1px solid #b5c5a726;border-radius:6px;padding:0 5px}.selection .pill .icon-button{width:23px;height:27px}.selection .pill>span{font-size:12px;font-variant-numeric:tabular-nums}.selection .mini-cost{display:flex;gap:7px;margin-top:4px}.placement{position:absolute;bottom:135px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-color:#d0c08966;color:#dfd4af;font-size:12px;z-index:7}.placement #placement-label{display:flex;gap:9px;align-items:center}.placement .badge{font-size:9px}.map-corner{position:absolute;right:26px;bottom:26px;width:182px}.map-controls{display:flex;justify-content:flex-end;gap:5px;margin-bottom:8px}.map-controls .icon-button{width:30px;height:30px;border-radius:6px}.map-controls .icon{width:12px;height:12px}.minimap-shell{position:relative;padding:6px;overflow:hidden;border-radius:10px}.minimap-shell canvas{display:block;width:168px;height:133px;border-radius:6px;background:#1b3427;cursor:crosshair;opacity:.95}.north{position:absolute;right:15px;top:10px;font-size:8px;letter-spacing:1px;color:#d0d6b9;text-shadow:0 1px 4px #0d241a;z-index:1;pointer-events:none}.north span{margin-left:3px;color:var(--gold)}.map-caption{display:flex;justify-content:space-between;padding:7px 4px 2px;font-size:8px;color:#b3c2a7;letter-spacing:.8px;font-variant-numeric:tabular-nums}.bottom-left{position:absolute;bottom:27px;left:26px;display:flex;align-items:center;gap:15px}.chat-toggle{display:flex;align-items:center;justify-content:center;gap:8px;height:39px;padding:0 12px;color:#b9c9a8;border-radius:8px;font-size:11px}.chat-toggle .icon{width:13px;height:13px}.chat-toggle.unread{border-color:#d4c18d77;box-shadow:0 0 20px #c8b66f22}.p2p-label{font-size:8px;font-style:normal;color:var(--faint);letter-spacing:1px}.world-caption{font-size:7px;color:#c2d0ad;letter-spacing:1.7px;text-shadow:0 1px 8px #152e19;white-space:nowrap}.little-star{font-size:13px;color:#d0c38e;margin-right:5px}.chat-panel{position:absolute;left:26px;bottom:80px;width:338px;z-index:8;overflow:hidden}.chat-panel header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px 15px;border-bottom:1px solid var(--stroke)}.chat-panel header .eyebrow{font-size:8px;color:#c0c9aa}.chat-panel header #chat-status{font-size:9px;flex:1;text-align:right;color:var(--muted)}.chat-panel header .icon-button{height:27px;width:25px}.chat-panel header .icon{width:12px;height:12px}#chat-messages{height:222px;overflow:auto;padding:12px 14px;scrollbar-width:thin;font-size:11px;line-height:1.55}#chat-messages .chat-line{margin-bottom:9px;overflow-wrap:anywhere}.chat-line .chat-author{font-weight:600;margin-right:7px}.chat-line time{font-size:8px;color:var(--faint);margin-left:7px}.chat-line.system{font-size:10px;color:var(--muted)}.chat-line .ping-link{display:inline-flex;align-items:center;gap:5px;color:#d4c084;padding:0}.chat-line .mute-peer{opacity:0;float:right;font-size:8px;padding:2px;color:#809582}.chat-line:hover .mute-peer{opacity:1}#chat-form{display:flex;gap:4px;padding:8px;background:#071d1629;border-top:1px solid var(--stroke)}#chat-input{flex:1;background:none;border:0;padding:8px;font-size:11px}#chat-form .icon{width:13px;height:13px}#toasts{position:absolute;top:100px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:7px;align-items:center;pointer-events:none;z-index:30;max-width:80vw}.toast{font-size:11px;background:#152c24f5;border:1px solid #bed6a44d;padding:10px 17px;border-radius:7px;color:#dce1c7;box-shadow:var(--shadow);animation:toast-in .2s ease-out;display:flex;align-items:center;gap:9px;line-height:1.4}.toast.error{border-color:#cf96826e;color:#e5b5a8}.toast .icon{width:13px;height:13px}.toast.leaving{opacity:0;transform:translateY(-5px);transition:all .25s}#tooltip{position:fixed;padding:7px 10px;background:#10271ff2;border:1px solid #ced7b244;border-radius:5px;color:#e4e5cb;font-size:10px;box-shadow:0 4px 16px #041e153b;pointer-events:none;z-index:100;max-width:calc(100vw - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.45}
.loading{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 38%,#203e32,#11241e 65%);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:1000;transition:opacity .5s;overflow:hidden}.loading:before{content:"";position:absolute;width:410px;height:410px;border:1px solid #adc1910c;border-radius:50%;box-shadow:0 0 0 65px #adc19103,0 0 0 140px #adc19102;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.loading-emblem{margin-bottom:22px;filter:drop-shadow(0 0 28px #b9d69b17)}.loading h1{font:38px Georgia,serif;letter-spacing:8px;color:#e7e8cb;margin-left:8px}.loading-rule{width:90px;height:1px;background:linear-gradient(90deg,transparent,#c1c296,transparent);margin:23px 0;position:relative}.loading-rule:after{content:"";position:absolute;left:43px;top:-2px;width:5px;height:5px;transform:rotate(45deg);background:#c9c698;animation:breathe 1.5s infinite}.loading p{font-size:11px;letter-spacing:.6px;color:#97ad91;max-width:480px;text-align:center;padding:0 20px;line-height:1.8}.loading.error p{color:#dbb3a0}.loading #retry{margin-top:18px;z-index:1}.loading.done{opacity:0;pointer-events:none}.loading noscript{position:relative;margin:20px;color:#e0b8a4}.list-card{border:1px solid #bad1a323;border-radius:8px;background:#b2c89808;padding:12px;margin-bottom:9px}.list-card .title{font-family:Georgia,serif;font-size:18px;display:flex;align-items:center;gap:8px}.list-card .title>.icon{width:15px;height:15px;color:#bac5a2}.list-card .details{margin-top:8px;font-size:10px;display:flex;gap:12px;color:#9bb192;align-items:center}.list-card .details .icon{width:11px;height:11px}.list-card .actions{display:flex;gap:6px;margin-top:10px}.list-card .actions button{padding:7px 9px;font-size:10px}.item-row{display:flex;gap:11px;align-items:center;padding:10px 4px;border-bottom:1px solid #bed0aa16}.item-row:last-child{border-bottom:0}.item-row .item-icon{width:32px;height:32px;border-radius:7px;background:#b8c69a10;border:1px solid #b8c69a1a;display:flex;justify-content:center;align-items:center;color:#b7c5a2}.item-row .item-info{flex:1;min-width:0}.item-row b{font-size:11px;font-weight:500}.item-row small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.item-row .icon-button{width:28px;height:28px}.item-row .icon-button .icon{width:12px;height:12px}.stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stock-tile{border:1px solid var(--stroke);border-radius:7px;padding:10px 11px}.stock-tile .stock-top{display:flex;align-items:center;gap:7px;font-size:10px;color:#bcc8ab}.stock-tile strong{display:block;font-size:21px;font-weight:400;margin:7px 0 4px;font-variant-numeric:tabular-nums}.stock-tile small{font-size:9px;color:var(--muted)}.trade-form{display:flex;flex-direction:column;gap:8px}.asset-fields{display:flex;gap:8px}.asset-fields select{flex:1;font-size:10px}.asset-fields input{width:69px;padding:8px;font-size:11px}.trade-arrow{color:var(--gold);text-align:center;font-size:16px;padding:2px}.offer-assets{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;padding:9px 0}.offer-assets>.icon{width:15px;height:15px;color:var(--gold)}.offer-assets span{display:flex;align-items:center;gap:6px}.offer-assets span .icon{width:14px;height:14px}.chronicle-row{position:relative;border-left:1px solid #c4d3a522;margin-left:9px;padding:0 0 24px 20px}.chronicle-row:last-child{border-left-color:transparent}.chronicle-row:before{content:"";width:5px;height:5px;border-radius:50%;background:#acc194;position:absolute;left:-3px;top:7px;box-shadow:0 0 0 4px #213629}.chronicle-row time{font-size:8px;color:#8c9f83;letter-spacing:.5px}.chronicle-row p{font-size:11px;color:#c4ceb4;margin-top:4px}.chronicle-row.research:before{background:#dbc787}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #c3d5aa16;font-size:11px}.settings-row:last-child{border:0}.toggle{border:1px solid #bdd1a32b;background:#b9cc9310;width:36px;height:21px;border-radius:20px;position:relative;flex-shrink:0}.toggle:after{content:"";width:11px;height:11px;background:#7a9177;border-radius:50%;position:absolute;top:4px;left:4px;transition:all .15s}.toggle.on{background:#afc9952b;border-color:#afc99555}.toggle.on:after{left:19px;background:#c7d6ac}.settings-field{display:flex;gap:7px;margin:8px 0}.settings-field input{flex:1;font-size:12px}.settings-field .primary{padding:8px 12px}.keymap{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px;font-size:10px;color:var(--muted);margin-top:12px}.keymap span{display:flex;justify-content:space-between;align-items:center}.keymap kbd{border:1px solid #bdcba333;background:#a8c1940a;border-radius:3px;font:8px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:3px 5px;color:#cbd3b7}.file-input{display:none}.version{font-size:9px;color:var(--faint);text-align:center;margin:18px 0 0;letter-spacing:.6px}dialog{color:var(--ink);max-width:390px;padding:27px;border:1px solid #bcce9f44}dialog::backdrop{background:#061b16aa;backdrop-filter:blur(3px)}dialog h2{font:24px Georgia,serif}dialog p{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px}
@keyframes breathe{50%{opacity:.4}}@keyframes panel-in{from{opacity:0;translate:-6px 0}to{opacity:1;translate:0 0}}@keyframes toast-in{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.brand{flex-basis:275px}.resource{min-width:86px;padding-left:13px;padding-right:13px}.resource-bar{padding-left:12px;padding-right:12px}.selection{bottom:30px}}
@media(max-width:1250px){#topbar{gap:12px}.brand{flex-basis:215px}.brand>span{font-size:19px;letter-spacing:3px}.brand small{font-size:6px;letter-spacing:1.8px}.brand img{width:30px;height:30px}.resource{min-width:64px;padding:4px 8px;gap:6px}.resource b{font-size:13px}.resource .icon{width:13px;height:13px}.network{padding:0 9px}.network span{display:none}.selection{max-width:calc(100vw - 520px);min-width:330px;padding:12px;gap:10px}.world-caption{display:none}.civ-card{width:242px}.panel.wide{width:calc(100vw - 205px)}.selection h2{font-size:16px}.selection .sel-portrait{width:45px;height:45px}.selection .sel-meta{font-size:9px}.selection .primary{font-size:10px;padding:10px}}
@media(max-width:950px){#topbar{top:15px;left:18px;right:18px;flex-wrap:wrap;justify-content:space-between}.brand{flex-basis:auto}.resource-bar{order:3;flex-basis:100%;justify-content:center;min-height:42px;margin-top:2px}.resource{flex:1;justify-content:center;min-width:0;padding:3px 6px}.resource .rate{display:none}.top-actions .icon-button,.network{height:33px}.top-actions .icon-button{width:33px}.civ-card{top:118px;left:18px;width:234px;padding:10px 12px}.tool-rail{left:18px;top:189px}.panel{left:86px;top:189px;max-height:calc(100dvh - 300px)}.panel.wide{top:118px;width:calc(100vw - 172px);max-height:calc(100dvh - 235px)}.map-corner{right:18px;bottom:18px;width:134px}.minimap-shell canvas{width:120px;height:101px}.map-caption{font-size:7px}.selection{bottom:18px;left:calc(50% - 20px);max-width:calc(100vw - 270px);min-width:310px}.bottom-left{bottom:18px;left:18px}.tech-grid{gap:20px 8px;grid-auto-rows:102px}.branch-headings{gap:8px}.branch-headings>div{font-size:8px}.tech-card{padding:10px 8px}.tech-card b{font-size:10px}.tech-card .cost{gap:4px}.tech-card .cost .icon{width:8px;height:8px}.tech-legend{display:none}.chat-panel{left:18px;bottom:68px}#toasts{top:120px}}
@media(max-width:650px){:root{font-size:12px}#topbar{top:12px;left:12px;right:12px;gap:8px}.brand img{height:28px;width:28px}.brand{gap:8px}.brand>span{font-size:17px;letter-spacing:3px}.brand small{display:none}.resource-bar{min-height:39px;padding:3px 4px;border-radius:8px}.resource{padding:3px 4px;gap:4px}.resource b{font-size:11px}.resource svg.icon{width:11px;height:11px}.resource .rate{display:none}.top-actions{gap:6px}.network{height:30px;padding:0 9px}.top-actions .icon-button{width:30px;height:30px}.top-actions svg.icon{width:13px;height:13px}.civ-card{top:102px;left:12px;width:205px;padding:8px 11px;gap:8px;border-radius:9px}.civ-sigil{width:31px;height:31px}.civ-sigil img{width:25px;height:25px}#civ-name{font-size:16px;max-width:125px}#population{font-size:10px}.tool-rail{left:12px;top:173px;width:44px;padding:5px;gap:2px}.tool-rail>button{height:38px}.tool-rail .icon{width:15px;height:15px}.tool-rail kbd{display:none}.rail-divider{margin:4px}.map-corner{bottom:calc(104px + var(--safe));right:12px;width:110px}.minimap-shell{padding:4px}.minimap-shell canvas{width:100px;height:86px}.north{right:10px;top:7px;font-size:7px}.map-caption{padding:5px 2px 1px;font-size:6px}.map-controls{gap:4px;margin-bottom:5px}.map-controls .icon-button{height:27px;width:27px}.selection{bottom:calc(12px + var(--safe));left:12px;right:12px;transform:none;min-width:0;max-width:none;padding:10px 12px;gap:10px;min-height:76px;border-radius:10px}.selection .sel-portrait{width:43px;height:43px}.selection h2{font-size:16px}.selection .sel-info{min-width:72px}.selection .sel-actions{gap:4px}.selection .sel-actions .icon-button{width:27px}.selection .primary{font-size:10px;padding:9px 11px}.selection .sel-meta{gap:6px;font-size:9px}.bottom-left{left:12px;bottom:calc(107px + var(--safe))}.chat-toggle{height:31px;font-size:10px;padding:0 10px}.chat-toggle .icon{width:12px;height:12px}.panel,.panel.medium{top:167px;left:66px;right:12px;width:auto;max-height:calc(100dvh - 275px - var(--safe));z-index:9}.panel.wide{top:102px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 207px - var(--safe))}.panel-header{padding:16px 16px 13px}.panel-header h1{font-size:23px}.panel-header .eyebrow{font-size:7px}.panel-content{padding:13px}.category-tabs{gap:3px;margin-bottom:11px}.category-tabs button{padding:6px 2px}.build-grid{gap:7px}.build-card{min-height:127px}.build-card .preview{height:70px}.build-card .card-title{font-size:10px;padding:5px 8px 0}.build-card .cost{padding:6px 8px 9px;font-size:8px;gap:6px}.build-card .cost .icon{width:9px;height:9px}.panel.wide .panel-content{padding:13px 10px 18px}.branch-headings{gap:5px;margin-bottom:10px;padding-bottom:12px}.branch-headings>div{font-size:7px;display:flex;flex-direction:column;gap:5px}.branch-headings .icon{width:12px;height:12px}.tech-grid{grid-auto-rows:105px;gap:19px 5px}.tech-card{padding:8px 6px}.tech-card b{font-size:9px;white-space:normal;line-height:1.25;height:24px;margin:7px 0}.tech-card .tech-symbol .icon{width:12px;height:12px}.tech-card .tier-label{font-size:7px}.tech-card .cost{flex-wrap:wrap;gap:2px 4px;font-size:7px;line-height:1.3}.tech-card .cost .icon{width:7px;height:7px}.tech-detail{padding:13px;margin:15px -10px -18px}.tech-detail h3{font-size:18px}.tech-detail .description{font-size:10px;margin-bottom:10px}.tech-detail .primary{font-size:10px;padding:8px}.tech-detail .detail-actions{gap:6px}.tech-detail .cost{font-size:9px;gap:5px}.tech-detail .requires{font-size:9px}.research-top{margin-bottom:13px}.research-top .city-picker{max-width:150px;font-size:10px}.research-top .badge{font-size:8px}.placement{bottom:calc(105px + var(--safe));font-size:10px;max-width:calc(100vw - 155px);left:69px;transform:none;padding:5px 6px 5px 10px;gap:5px;z-index:10}.placement .badge{display:none}.placement .icon-button{width:27px;height:29px}.placement #placement-label{gap:5px}.placement #placement-label>.icon{display:none}.chat-panel{left:12px;bottom:calc(147px + var(--safe));width:min(338px,calc(100vw - 24px));z-index:11}#chat-messages{height:180px}#toasts{top:102px;max-width:90vw}.toast{font-size:10px;padding:8px 12px}#tooltip{font-size:9px}.loading h1{font-size:28px;letter-spacing:6px}.loading p{font-size:10px}.selection .queue-detail{display:none}.keymap{gap:7px 9px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact art frames keep every label separate from the overhead preview. */
.build-card .preview{display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.build-card .preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.build-card .preview>.icon{position:absolute;right:9px;bottom:7px;width:12px;height:12px}.build-card .card-title{width:100%}.build-card .requires{padding:4px 10px 10px;font-size:9px}.empty-state h2{font:20px Georgia,serif;margin-bottom:7px;color:#c8d0b3}.tech-card strong{display:block;font-size:11px;line-height:1.3;margin:6px 0;min-height:27px}.branch-headings>span{font-size:10px;display:flex;align-items:center;gap:7px}.tech-detail h2{font:23px Georgia,serif}.sel-info h2{font:21px Georgia,serif}.tech-grid{position:relative}.stock-tile>small{display:block;margin-top:6px;color:var(--muted)}
@media(max-width:650px){.tech-card strong{font-size:9px}.branch-headings>span{font-size:7px;gap:3px;flex-direction:column}.sel-info h2{font-size:16px}.sel-actions>.micro{max-width:110px;font-size:9px}.selection .secondary{padding:8px;font-size:9px}}
