:root{--panel: rgba(18, 22, 30, .92);--panel-2: rgba(30, 36, 48, .95);--edge: #8a7440;--gold: #e8c46a;--text: #ece6d6;--muted: #a8a294;--science: #6ab8ff;--culture: #c58af0;--goldc: #f2c230;--faith: #f0ece0;--food: #7fd04a;--prod: #f08a2a}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#15181d;color:var(--text);font-family:Segoe UI,system-ui,sans-serif;font-size:14px}#view{position:fixed;top:0;right:0;bottom:0;left:0}#view canvas{display:block}button{font:inherit;color:var(--text);background:linear-gradient(#2c3446,#1d2331);border:1px solid var(--edge);border-radius:4px;padding:5px 10px;cursor:pointer}button:hover:not(:disabled){background:linear-gradient(#3a4560,#273047);border-color:var(--gold)}button:disabled{opacity:.45;cursor:default}.hidden{display:none!important}#topbar{position:fixed;top:0;left:0;right:0;height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;background:linear-gradient(#0a0c10f2,#141820e0);border-bottom:1px solid var(--edge);z-index:5}.tb-left,.tb-right{display:flex;gap:16px;align-items:center}.tb-right button{padding:2px 10px;font-size:12px}.tb-right button.on{border-color:var(--gold);color:var(--gold)}.yield{font-weight:600;letter-spacing:.02em}.yield.science{color:var(--science)}.yield.culture{color:var(--culture)}.yield.gold{color:var(--goldc)}.yield.faith{color:var(--faith)}#tb-turn{font-family:Georgia,serif;color:var(--gold)}#research-panel{position:fixed;top:42px;left:10px;width:290px;z-index:4;display:flex;flex-direction:column;gap:6px}.rp-row{background:var(--panel);border:1px solid var(--edge);border-radius:6px;padding:7px 10px;cursor:pointer}.rp-row:hover{border-color:var(--gold)}.rp-row .rp-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.rp-row .rp-name{font-family:Georgia,serif;font-size:15px}.rp-row.tech .rp-name{color:var(--science)}.rp-row.civic .rp-name{color:var(--culture)}.rp-row .bar{height:5px;background:#333;border-radius:3px;margin-top:4px;overflow:hidden}.rp-row .bar>div{height:100%}.rp-row.tech .bar>div{background:var(--science)}.rp-row.civic .bar>div{background:var(--culture)}.rp-row.urgent{border-color:#f0c040;box-shadow:0 0 10px #f0c04080}#tip{position:fixed;display:none;max-width:340px;background:#11141a;color:#e8e2d0;border:1px solid var(--gold);border-radius:6px;padding:6px 9px;font-size:13px;line-height:1.35;z-index:50;pointer-events:none;box-shadow:0 4px 14px #00000080;white-space:pre-line}.pedia-link{color:#8fc3ff;text-decoration:underline dotted;cursor:pointer}.pedia-link:hover{color:#c2dcff}.log-row{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}.log-row.has-tile{cursor:pointer}.log-row.has-tile:hover{background:#ffffff0d}#toasts{position:fixed;top:44px;right:12px;width:300px;display:flex;flex-direction:column;gap:6px;z-index:6;pointer-events:none}.toast{background:var(--panel);border-left:4px solid var(--gold);padding:8px 10px;border-radius:4px;font-size:13px;animation:fadein .25s;pointer-events:auto;cursor:pointer}.toast.eureka{border-color:var(--science)}.toast.warning{border-color:#e05a4a}.toast.city{border-color:var(--food)}.toast.research{border-color:var(--culture)}.toast.combat{border-color:#e05a4a}.war-badge{color:#ff7a6a;font-weight:600}#combat-preview{position:fixed;bottom:210px;left:50%;transform:translate(-50%);width:460px;background:var(--panel-2);border:1px solid #a04a3a;border-radius:8px;padding:8px 12px;z-index:5;pointer-events:none;font-size:12px}.cb-cols{display:grid;grid-template-columns:1fr 90px 1fr;gap:6px;align-items:start}.cb-name{font-family:Georgia,serif;font-size:14px}.cb-str{font-size:22px;font-weight:700;color:var(--gold)}.cb-part{color:var(--muted)}.cb-part.plus{color:#8fe08a}.cb-part.minus{color:#f08a7a}.cb-vs{text-align:center;font-family:Georgia,serif;color:var(--muted);padding-top:6px}.cb-verdict{font-size:13px;color:var(--gold);margin-top:4px}.cb-dmg{margin-top:6px;text-align:center}.cb-dmg b{color:#ffb0a0}.gov-box{max-width:980px}#btn-gov.pulse{border-color:var(--gold);color:var(--gold);box-shadow:0 0 8px #e8c46a99}.gov-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.gov-card{width:200px;border:1px solid #555;border-radius:8px;padding:7px 9px;background:#1b2130;font-size:12px;cursor:pointer}.gov-card:hover{border-color:var(--gold)}.gov-card.current{border:2px solid var(--gold);cursor:default}.gov-card .gc-name{font-family:Georgia,serif;font-size:14px;margin-bottom:3px}.gov-card.military{border-top:4px solid #d0503a}.gov-card.economic{border-top:4px solid #e2b43a}.gov-card.diplomatic{border-top:4px solid #4a9be0}.gov-card.slot{border-style:dashed;color:var(--muted);cursor:default;min-height:60px}.gov-card.blocked{opacity:.45;cursor:default}.gov-note{color:var(--gold)}.newgame label,.ng-victories{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}.newgame .ng-victories label{display:inline-flex;gap:4px;margin:0 0 0 12px}.newgame select{font:inherit;background:#1d2331;color:var(--text);border:1px solid var(--edge);border-radius:4px;padding:4px 6px;min-width:220px}.ng-info{background:#00000040;border-radius:6px;padding:8px 10px;font-size:13px}#unit-tip{position:fixed;z-index:7;pointer-events:none;background:var(--panel-2);border:1px solid var(--edge);border-radius:8px;padding:7px 10px;font-size:12px;max-width:290px}#unit-tip .ut-unit+.ut-unit{border-top:1px solid #3a3320;margin-top:6px;padding-top:6px}#unit-tip .ut-name{font-family:Georgia,serif;font-size:14px}#unit-tip .ut-row{display:flex;gap:10px;margin-top:3px}#unit-tip .ut-big{font-weight:700;color:var(--gold)}#info-tip{position:fixed;z-index:30;pointer-events:none;background:var(--panel-2);border:1px solid var(--edge);border-radius:8px;padding:9px 12px;font-size:12.5px;line-height:1.4;width:320px;max-height:calc(100vh - 16px);overflow:hidden;box-shadow:0 6px 18px #00000080}#info-tip .ic-name{font-family:Georgia,serif;font-size:16px;color:var(--gold)}#info-tip .ic-sub{opacity:.75;margin-bottom:4px}#info-tip .ic-lines{margin:4px 0 0;padding-left:16px}#info-tip .ic-lines li{margin:2px 0}.cp-namebox{display:flex;align-items:center;gap:6px}.cp-step{padding:2px 8px}.gp-table{width:100%;border-collapse:collapse;font-size:13px}.gp-table td,.gp-table th{border-bottom:1px solid #3a3320;padding:5px 6px;text-align:left;vertical-align:top}.ask-buttons.list{flex-direction:column;align-items:stretch}.ask-buttons.list button{text-align:left}.ask-buttons{display:flex;gap:8px;justify-content:flex-end;padding:0 16px 14px}.diplo-row{border:1px solid #3a3320;border-radius:6px;padding:8px 10px;margin-bottom:8px}.diplo-row .dr-head{display:flex;justify-content:space-between;align-items:center}.diplo-row .dr-name{font-family:Georgia,serif;font-size:17px}.diplo-row .dr-status.war{color:#ff7a6a}.diplo-row .dr-status.peace{color:#8fe08a}.diplo-row .dr-buttons{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}@keyframes fadein{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}#unit-panel{position:fixed;left:10px;bottom:10px;width:330px;background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:10px 12px;z-index:4}.up-head{display:flex;gap:10px;align-items:center}.up-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;border:2px solid var(--gold)}.up-name{font-family:Georgia,serif;font-size:18px}.up-stats{color:var(--muted);font-size:12px;margin-top:2px}.up-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.up-actions button.primary{border-color:var(--gold);color:var(--gold)}.up-reason{color:#e0a070;font-size:12px;margin-top:6px}#city-panel{position:fixed;right:10px;top:44px;bottom:10px;width:360px;background:var(--panel);border:1px solid var(--edge);border-radius:8px;z-index:4;display:flex;flex-direction:column;overflow:hidden}.cp-head{padding:10px 12px;border-bottom:1px solid #3a3320}.cp-title{display:flex;justify-content:space-between;align-items:center}.cp-name{font-family:Georgia,serif;font-size:22px;color:var(--gold)}.cp-sub{color:var(--muted);font-size:12px;margin-top:3px}.cp-yields{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:8px;text-align:center}.cp-yields div{background:#0000004d;border-radius:4px;padding:3px 0;font-weight:600;font-size:13px}.cp-body{overflow-y:auto;padding:8px 12px 14px;flex:1}#tb-age{align-self:flex-start;padding:3px 9px;font-size:12px;color:var(--muted);white-space:nowrap;background:#0f121cd9;border-radius:6px}.gov-row{border-top:1px solid #3a3320;padding:8px 0}.gov-row button{margin:2px 4px;padding:2px 8px;font-size:12px}.yield.favor{color:#9fd3e8}.wc-item{border-top:1px solid #3a3320;padding:8px 0}.wc-item label{display:block;margin:2px 0}.wc-item button{margin:2px 4px;padding:2px 8px}.wc-chosen{color:#e8d48a}#tb-gold.deficit{color:#ff7a6b;font-weight:700}#tb-res{font-size:12px;opacity:.9;padding:0 2px}#tb-res:empty{display:none}.cp-short{font-size:12px;opacity:.7;padding:3px 8px}.menu-music{margin-top:12px;width:100%}.menu-volume{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px}.menu-volume input{flex:1}.cp-group>summary{cursor:pointer}.cp-group>summary:hover{color:var(--text, #e8e4d8)}.cp-suggest{display:block;width:100%;text-align:left;margin:2px 0 6px;padding:7px 9px;font-size:13px;line-height:1.35;white-space:normal}.cp-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:12px 0 5px}.cp-current{background:#f08a2a1f;border:1px solid #6a4a20;border-radius:6px;padding:7px 9px}.cp-current .bar{height:5px;background:#333;border-radius:3px;margin-top:5px;overflow:hidden}.cp-current .bar>div{height:100%;background:var(--prod)}.prod-item{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:5px;cursor:pointer;border:1px solid transparent}.prod-item:hover{background:#ffffff0f;border-color:#5a4a2a}.prod-item.active{border-color:var(--prod);background:#f08a2a1a}.prod-item .pi-icon{width:26px;text-align:center;font-size:18px}.prod-item .pi-name{flex:1}.prod-item .pi-sub{font-size:11px;color:var(--muted)}.prod-item .pi-turns{color:var(--prod);font-weight:600;min-width:30px;text-align:right}.prod-item button.buy{padding:2px 6px;font-size:11px;color:var(--goldc)}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{background:#ffffff12;border-radius:10px;padding:2px 8px;font-size:12px}.chip.building{opacity:.6}#tile-info{position:fixed;bottom:12px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid #4a4030;border-radius:6px;padding:5px 12px;font-size:13px;z-index:3;pointer-events:none;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#tile-info:empty{display:none}#bottom-right{position:fixed;right:10px;bottom:10px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:4}body.city-open #bottom-right,body.city-open #toasts{right:380px}.minimap{width:300px;border:2px solid var(--edge);border-radius:6px;background:#0e0f12;cursor:pointer;display:block}.next-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}#btn-next{min-width:220px;padding:12px 18px;font-family:Georgia,serif;font-size:17px;border:2px solid var(--gold);border-radius:30px;background:radial-gradient(circle at 50% 30%,#3c5a86,#1c2a44);box-shadow:0 0 18px #e8c46a40}#btn-next.blocked{background:radial-gradient(circle at 50% 30%,#866a3c,#44321c)}#btn-force{font-size:11px;padding:2px 8px;background:transparent;border-color:#555;color:var(--muted)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:10;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--panel-2);border:1px solid var(--edge);border-radius:10px;max-width:560px;width:92vw;max-height:88vh;display:flex;flex-direction:column}.modal-box.wide{max-width:1500px;width:95vw}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #3a3320}.modal-head h2{margin:0;font-family:Georgia,serif;color:var(--gold);font-weight:400}.close{padding:2px 9px}.menu-buttons{display:flex;flex-direction:column;gap:8px;padding:16px}.menu-note{padding:0 16px 14px;color:var(--muted);margin:0;min-height:1em}.filebtn{border:1px solid var(--edge);border-radius:4px;padding:5px 10px;text-align:center;cursor:pointer;background:linear-gradient(#2c3446,#1d2331)}.filebtn input{display:none}.help{padding:6px 18px 14px;line-height:1.5;overflow-y:auto}.modal-box.guide-box{max-width:720px}.modal-box.pedia-box{max-width:960px;height:84vh}.pedia{display:flex;flex-direction:column;gap:8px;padding:10px 16px 14px;flex:1;min-height:0}#pedia-search{padding:7px 10px;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--edge);border-radius:6px}#pedia-cats{display:flex;flex-wrap:wrap;gap:4px}.pedia-cat{padding:3px 8px;font-size:12px}.pedia-cat.on{color:var(--gold);border-color:var(--gold)}.pedia-body{display:grid;grid-template-columns:250px 1fr;gap:12px;flex:1;min-height:0}#pedia-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}.pedia-row{text-align:left;background:none;border:1px solid transparent;padding:4px 6px;flex:none}.pedia-row.on{border-color:var(--gold);color:var(--gold)}.pedia-row small{float:right;opacity:.65}.pedia-none{opacity:.7}#pedia-detail{overflow-y:auto;min-height:0;padding-right:6px;line-height:1.45}#pedia-detail .ic-name{font-family:Georgia,serif;font-size:20px;color:var(--gold)}#pedia-detail .ic-sub{opacity:.75;margin-bottom:6px}#pedia-detail .ic-lines{margin:6px 0 0;padding-left:18px}#pedia-detail .ic-lines li{margin:4px 0}.pedia-unlock{opacity:.8;margin:10px 0 0}@media (max-width: 640px){.pedia-body{grid-template-columns:1fr;grid-template-rows:35% 1fr}}.cp-queue{padding:4px 7px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.cp-queue-hint{padding:2px 7px}.q-item{background:#2a2618;border:1px solid #3a3320;border-radius:4px;padding:1px 2px 1px 6px;font-size:.85em}.q-remove{padding:0 4px;margin-left:4px;font-size:.8em}.q-add{padding:0 7px;margin-left:4px}.modal-box.victory-box{max-width:1100px}table.race{width:100%;border-collapse:collapse;margin:8px 0}table.race th{text-align:left;color:var(--gold);font-weight:400;padding:4px 8px;border-bottom:1px solid #3a3320}table.race td{padding:6px 8px;border-bottom:1px solid #2a2618;vertical-align:top}table.race tr.me td{background:#d4ae5114}.race-bar{height:6px;background:#2a2618;border-radius:3px;overflow:hidden;min-width:80px}.race-bar span{display:block;height:100%;background:var(--gold)}.race-text{font-size:.85em;margin-top:3px;opacity:.9}.guide-lead{color:var(--gold)}.guide details{border-top:1px solid #3a3320;padding:6px 0}.guide summary{cursor:pointer;font-family:Georgia,serif;color:var(--gold);font-size:1.05em;padding:2px 0}.guide summary:hover{filter:brightness(1.2)}.guide ul{margin:6px 0;padding-left:20px}.guide li{margin:4px 0}.tree-root{overflow:auto;padding:10px;flex:1}.tree-canvas{position:relative}.tree-lines{position:absolute;left:0;top:0}.tree-node{position:absolute;background:#1b2130;border:1px solid #444;border-radius:8px;padding:6px 8px;font-size:12px;overflow:hidden}.tree-node.done{background:#2a2a1c;border-color:#6a5a2a;opacity:.75}.tree-node.available{border-color:#6a8ab0;cursor:pointer}.tree-node.available:hover{border-color:var(--gold)}.tree-node.current{border:2px solid var(--gold);background:#23304a;cursor:pointer}.tree-node.locked{opacity:.55}.tn-head{display:flex;justify-content:space-between;gap:6px}.tn-name{font-family:Georgia,serif;font-size:14px}.tn-cost{color:var(--muted);white-space:nowrap}.tn-bar{height:4px;background:#333;border-radius:2px;margin:4px 0;overflow:hidden}.tn-bar>div{height:100%;background:var(--science)}.boost{color:#c8b88a;font-size:11px}.boost.got{color:#8fe08a}.boost .pct{color:var(--muted)}.tn-unlocks{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.unlock{background:#ffffff12;border-radius:8px;padding:1px 6px;font-size:11px}#welcome{position:fixed;left:50%;top:80px;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--edge);border-radius:10px;padding:14px 20px;z-index:8;max-width:520px;text-align:center;line-height:1.5}#welcome h1{font-family:Georgia,serif;color:var(--gold);font-weight:400;margin:0 0 6px}.placing-hint{position:fixed;top:44px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--gold);padding:6px 14px;border-radius:6px;z-index:6}.tb-left,.tb-right{white-space:nowrap}@media (max-width: 1100px){#topbar{font-size:12px;padding:0 6px}.tb-left,.tb-right{gap:8px}.tb-right button{padding:2px 6px}#tb-turn{font-size:12px}#research-panel{width:230px}#city-panel{width:300px}body.city-open #bottom-right,body.city-open #toasts{right:320px}#toasts,.minimap{width:220px}#btn-next{min-width:180px;font-size:15px;padding:9px 14px}#combat-preview{width:400px}}#view,#view canvas{touch-action:none}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select{-webkit-user-select:text;user-select:text}@media (pointer: coarse){button{min-height:32px}.pedia-link{padding:2px 0}}@media (max-width: 700px){#topbar{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;gap:10px;-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top)}.tb-left,.tb-right{flex-shrink:0;white-space:nowrap}#research-panel{width:calc(100vw - 20px);max-width:300px}#research-panel>:nth-child(n+3){display:none}#unit-panel{width:auto;right:10px;max-height:45vh;overflow-y:auto}#city-panel{left:6px;right:6px;width:auto;top:40px}body.city-open #bottom-right,body.city-open #toasts{right:10px}#toasts{width:calc(100vw - 24px);max-width:320px}#minimap-wrap{display:none}#unit-panel{bottom:100px}#btn-next{min-width:140px;font-size:14px;padding:8px 10px}#combat-preview{width:calc(100vw - 20px)}.modal-box{width:98vw;max-height:92vh}}:root{--ui-scale: 1}#topbar,#research-panel,#unit-panel,#city-panel,#toasts,#bottom-right,#tile-info,#combat-preview,.modal-box{zoom:var(--ui-scale)}#topbar{right:auto;width:calc(100vw / var(--ui-scale))}@media (max-width: 700px){.modal-box,.modal-box.wide{width:calc(98vw / var(--ui-scale));max-height:calc(92vh / var(--ui-scale))}.modal-box.pedia-box{height:calc(84vh / var(--ui-scale))}#city-panel{top:auto;bottom:6px;height:calc(52vh / var(--ui-scale))}}
