@charset "UTF-8";:root{--bg: #1e0a10;--bg-warm: #2a0e16;--panel: #321218;--panel-elevated: #3d161f;--silver: #8a8680;--silver-bright: #aeaaa4;--silver-dim: #6a6660;--text: var(--silver-bright);--border: #4a4540;--muted: #7a7670;--gold: #9a8240;--accent: #b8942e;--accent-hover: #c4a855;--gold-dim: #6b5a28;--roman-red: #722020;--roman-red-hover: #8a2828;--roman-red-deep: #1e0a10}*{box-sizing:border-box}body{margin:0;font-family:Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(114,32,32,.08),transparent 55%),linear-gradient(180deg,var(--bg-warm) 0%,var(--bg) 100%);background-color:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.app-body{display:flex;min-height:calc(100vh - 8rem)}.main-content{flex:1;overflow-y:auto;padding:1rem 1.5rem;max-width:1400px}.screen{display:none;gap:1rem}.screen.screen-active{display:grid}#screen-overview{grid-template-columns:1fr 1fr}@media(max-width:768px){#screen-overview{grid-template-columns:1fr}}#screen-population,#screen-buildings,#screen-trade{grid-template-columns:1fr}.screen-title{margin:0;grid-column:1/-1;font-size:1.25rem;font-weight:400;letter-spacing:.04em;color:var(--gold)}.screen-summary{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:4px;background:#72202014;font-size:.9rem;color:var(--muted)}.screen-summary strong{color:var(--text);font-weight:600}@media(max-width:768px){.app-body{flex-direction:column;min-height:auto}}.sidebar{flex-shrink:0;width:200px;display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem;border-right:1px solid var(--border);background:linear-gradient(180deg,var(--panel-elevated) 0%,var(--panel) 100%);box-shadow:inset -1px 0 #8a86800d}.sidebar-group{display:flex;flex-direction:column;gap:.15rem;margin-top:.5rem}.sidebar-header{display:block;padding:.35rem .85rem .25rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none}.sidebar-item{width:100%;text-align:left;padding:.6rem .85rem;border:1px solid transparent;border-left:3px solid transparent;border-radius:3px;background:transparent;color:var(--muted);transition:border-color .15s,color .15s,background .15s}.sidebar-item:hover{color:var(--accent-hover);background:#7220201f;border-color:var(--border);border-left-color:var(--gold-dim)}.sidebar-item.active{color:var(--gold);background:#7220202e;border-color:var(--border);border-left-color:var(--roman-red)}.sidebar-item.sidebar-subitem{margin-left:.85rem;padding-left:1.1rem;font-size:.9rem;border-left:2px solid var(--border);border-top-left-radius:0;border-bottom-left-radius:0}.sidebar-item.sidebar-subitem:hover,.sidebar-item.sidebar-subitem.active{border-left-color:var(--gold-dim)}.sidebar-item.sidebar-subitem.active{border-left-color:var(--roman-red)}.sidebar-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border)}.sidebar-feedback{width:100%;margin:0;padding:.45rem .85rem;border:none;border-radius:3px;background:transparent;font:inherit;font-size:.85rem;color:var(--silver);letter-spacing:.04em;text-align:left;cursor:pointer}.sidebar-feedback:hover{color:var(--gold);background:#7220201a}@media(max-width:768px){.sidebar{flex-direction:row;flex-wrap:nowrap;align-items:center;width:100%;border-right:none;border-bottom:1px solid var(--border);padding:.5rem 1rem;overflow-x:auto;gap:.5rem}.sidebar-group{flex-direction:row;align-items:center;margin-top:0;padding-left:.5rem;border-left:1px solid var(--border);gap:.25rem}.sidebar-header{padding:.6rem .5rem .6rem 0;white-space:nowrap}.sidebar-item{width:auto;flex-shrink:0;white-space:nowrap}.sidebar-item.sidebar-subitem{margin-left:0;padding-left:.85rem;border-left:none;border-top-left-radius:3px;border-bottom-left-radius:3px}.sidebar-footer{margin-top:0;margin-left:auto;padding-top:0;border-top:none;padding-left:.5rem;border-left:1px solid var(--border)}.sidebar-feedback{width:auto;white-space:nowrap}}.header{position:relative;display:grid;grid-template-columns:1fr;align-items:stretch;column-gap:1rem;padding:1rem 1.5rem 1.25rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--panel-elevated) 0%,var(--panel) 100%);box-shadow:inset 0 -2px 0 var(--roman-red),0 4px 12px #0006}.header:has(.pinned-resources:not([hidden])){grid-template-columns:1fr auto}.header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 20%,var(--silver-dim) 50%,var(--border) 80%,transparent 100%)}@media(max-width:768px){.header{grid-template-columns:1fr}.header:has(.pinned-resources:not([hidden])){grid-template-columns:1fr}}.header-main{position:relative;min-width:0}.header-version{position:absolute;top:0;right:0;margin:0;padding:.15rem .25rem;border:none;border-radius:4px;background:transparent;font:inherit;font-size:.85rem;color:var(--silver);letter-spacing:.04em;cursor:pointer}.header-version:hover{color:var(--gold);background:#7220201a}.header-version:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.header h1{margin:0 0 .5rem;padding-right:3.5rem;font-size:1.5rem;font-weight:400;letter-spacing:.06em;color:var(--gold)}.status-bar{font-size:.95rem;color:var(--muted);margin-bottom:.5rem}.status-message{font-size:.9rem;margin-bottom:.5rem;padding:.35rem .6rem;border-radius:4px;background:var(--panel-bg, rgba(0, 0, 0, .15));color:var(--muted)}.status-message--error{color:var(--danger, #c44);background:#c844441f}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}button{font-family:inherit;padding:.4rem .9rem;background:linear-gradient(180deg,var(--panel-elevated) 0%,var(--panel) 100%);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:3px;transition:border-color .15s,color .15s,box-shadow .15s}button:hover{border-color:var(--silver-dim);color:var(--accent-hover)}button.primary{background:linear-gradient(180deg,var(--roman-red-hover) 0%,var(--roman-red) 100%);color:var(--gold);border-color:var(--gold-dim);font-weight:700}button.primary:hover{background:linear-gradient(180deg,#963030 0%,var(--roman-red-hover) 100%);border-color:var(--gold);color:var(--accent-hover)}input,select{font-family:inherit;padding:.35rem .5rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:3px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:none;border-color:var(--silver-dim);box-shadow:0 0 0 2px #8a868026}select{min-width:6rem;flex-shrink:0}.inline-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.inline-form label{color:var(--muted)}.trade-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.trade-mode-toggle{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;border:none;min-width:0}.trade-mode-option{position:relative;display:flex;margin:0;cursor:pointer}.trade-mode-option input[type=radio]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.trade-mode-option span{display:block;padding:.4rem 1rem;font-family:inherit;font-size:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);transition:border-color .15s,color .15s,background .15s}.trade-mode-option:first-child span{border-radius:3px 0 0 3px}.trade-mode-option:last-child span{border-radius:0 3px 3px 0}.trade-mode-option:not(:first-child) span{margin-left:-1px}.trade-mode-option:hover span{border-color:var(--silver-dim);color:var(--text)}.trade-mode-option input:focus-visible+span{outline:none;border-color:var(--silver-dim);box-shadow:0 0 0 2px #8a868026;z-index:1}.trade-mode-option input:checked+span{z-index:1;color:var(--gold);background:linear-gradient(180deg,var(--roman-red-hover) 0%,var(--roman-red) 100%);border-color:var(--gold-dim);font-weight:700}.trade-mode-hint{margin:.5rem 0 0;font-size:.9rem;color:var(--muted)}.trade-deal{display:flex;flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-top:.75rem;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:3px}.trade-deal[hidden]{display:none!important}.trade-deal-side{display:flex;flex:1 1 10rem;flex-direction:column;gap:.35rem;min-width:0}.trade-deal-heading{font-size:.85rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.trade-deal-value{display:block;margin:0;font-size:1.1rem;font-weight:700;color:var(--gold)}.trade-deal-value-inline{font-size:inherit;font-weight:700}.trade-deal-meta{font-size:.85rem;color:var(--muted)}.trade-deal-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.trade-deal-arrow{display:flex;flex:0 0 auto;align-items:center;align-self:center;font-size:1.25rem;color:var(--gold-dim)}@media(max-width:768px){.trade-deal{flex-direction:column;align-items:stretch}.trade-deal-arrow{justify-content:center;transform:rotate(90deg)}}.trade-preview{margin:.5rem 0 0;color:var(--muted);font-size:.9rem}.panel{background:linear-gradient(180deg,var(--panel-elevated) 0%,var(--panel) 100%);border:1px solid var(--border);border-radius:4px;padding:1rem;box-shadow:inset 0 1px #8a86800d,0 2px 8px #0000004d}.panel-span-full{grid-column:1/-1}.panel h2{margin:0 0 .75rem;font-size:1.1rem;font-weight:400;letter-spacing:.04em;color:var(--gold);border-bottom:1px solid var(--border);padding-bottom:.35rem}.empty-state{color:var(--muted);font-style:italic}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:400;letter-spacing:.03em;text-transform:uppercase;font-size:.75rem}tbody tr:hover td{background:#72202014}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.resource-item{display:flex;align-items:center;gap:.15rem;padding:.2rem .35rem;border-left:2px solid transparent}.resource-item:hover,.resource-item.resource-item-active{border-left-color:var(--gold-dim);background:#7220200f}.resource-item .resource-item-trigger{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:.35rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.resource-item .resource-item-trigger:focus-visible{outline:2px solid var(--gold-dim);outline-offset:1px;border-radius:2px}.resource-item .resource-item-label{display:flex;align-items:center;gap:.15rem;flex:1;min-width:0}.resource-item strong{color:var(--gold);font-variant-numeric:tabular-nums}.resource-popover{position:fixed;z-index:90;width:min(17.5rem,100vw - 1.5rem);padding:.75rem 2rem .85rem 1rem;background:var(--panel-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 24px #00000040}.resource-popover .resource-popover-title{margin:0 0 .4rem;font-size:.95rem;color:var(--gold)}.resource-popover .resource-popover-body{margin:0;font-size:.875rem;line-height:1.45;color:var(--text)}.resource-popover .resource-popover-dismiss{position:absolute;top:.35rem;right:.35rem;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px}.resource-popover .resource-popover-dismiss:hover{color:var(--text);background:#72202014}.feedback-popover{position:fixed;z-index:95;width:min(22rem,100vw - 1.5rem);max-height:min(28rem,100vh - 1.5rem);overflow:auto;padding:.75rem 2rem .85rem 1rem;background:var(--panel-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 24px #00000040}.feedback-popover .feedback-popover-dismiss{position:absolute;top:.35rem;right:.35rem;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px}.feedback-popover .feedback-popover-dismiss:hover{color:var(--text);background:#72202014}.feedback-popover-heading{margin:0 0 .65rem;font-size:.95rem;color:var(--gold)}.feedback-popover-field{margin-bottom:.55rem}.feedback-popover-field label{display:block;margin-bottom:.25rem;font-size:.8rem;color:var(--muted)}.feedback-popover-field input,.feedback-popover-field textarea{width:100%;box-sizing:border-box;padding:.45rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;font-size:.9rem}.feedback-popover-field textarea{min-height:5rem;resize:vertical}.feedback-popover-actions{display:flex;flex-direction:column;gap:.4rem;margin-top:.65rem}.feedback-popover-message{margin:0;font-size:.85rem}.feedback-popover-message--error{color:var(--roman-red, #c44)}.feedback-popover-message--success{color:var(--gold)}.feedback-review-panel{max-width:none}.feedback-review-layout{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:1rem;min-height:20rem}.feedback-review-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.feedback-review-filter{padding:.3rem .55rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer}.feedback-review-filter:hover{color:var(--text);border-color:var(--muted)}.feedback-review-filter.active{color:var(--gold);border-color:var(--gold-dim, var(--gold));background:#c9a22714}.feedback-review-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;max-height:min(32rem,100vh - 14rem);overflow-y:auto}.feedback-review-list-item{display:block;width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.feedback-review-list-item:hover{background:#72202014;border-color:var(--roman-red)}.feedback-review-list-item.selected{border-color:var(--gold-dim, var(--gold));background:#c9a22714}.feedback-review-list-title{display:block;font-weight:600;font-size:.9rem;color:var(--gold);margin-bottom:.2rem}.feedback-review-list-meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;font-size:.75rem;color:var(--muted)}.feedback-review-status{text-transform:capitalize}.feedback-review-status--new{color:var(--gold)}.feedback-review-status--picked{color:var(--text)}.feedback-review-status--dismissed{color:var(--muted)}.feedback-review-status--done{color:var(--silver);text-decoration:line-through}.feedback-review-remove{margin-left:auto;color:var(--muted);border-color:var(--border)}.feedback-review-remove:hover{color:var(--roman-red, #c44);border-color:var(--roman-red, #c44)}.feedback-review-detail-title{margin:0 0 .35rem;font-size:1.1rem;color:var(--gold)}.feedback-review-detail-meta{margin:0 0 .75rem;font-size:.8rem;color:var(--muted)}.feedback-review-detail-body{margin-bottom:1rem;padding:.75rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.feedback-review-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.feedback-review-nav{display:flex;gap:.5rem}.feedback-review-empty{margin:0;font-size:.85rem;color:var(--muted)}@media(max-width:768px){.feedback-review-layout{grid-template-columns:1fr}.feedback-review-list{max-height:12rem}}.changelog-panel{max-width:none}.changelog-layout{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:1rem;min-height:20rem}.changelog-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem;max-height:min(32rem,100vh - 14rem);overflow-y:auto}.changelog-list-item{display:block;width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.changelog-list-item:hover{background:#72202014;border-color:var(--roman-red)}.changelog-list-item.selected{border-color:var(--gold-dim, var(--gold));background:#c9a22714}.changelog-list-label{display:block;font-weight:600;font-size:.9rem;color:var(--gold);margin-bottom:.2rem}.changelog-list-meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;font-size:.75rem;color:var(--muted)}.changelog-current-tag{color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.changelog-detail-title{margin:0 0 .35rem;font-size:1.1rem;color:var(--gold)}.changelog-detail-date{margin:0 0 .75rem;font-size:.8rem;color:var(--muted)}.changelog-detail-body,.changelog-section{margin-bottom:1rem}.changelog-section:last-child{margin-bottom:0}.changelog-section-title{margin:0 0 .35rem;font-size:.85rem;font-weight:600;color:var(--silver-bright, var(--text));text-transform:uppercase;letter-spacing:.04em}.changelog-bullets{margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.5;color:var(--text)}.changelog-nav{display:flex;gap:.5rem}.changelog-empty{margin:0;font-size:.85rem;color:var(--muted)}@media(max-width:768px){.changelog-layout{grid-template-columns:1fr}.changelog-list{max-height:12rem}}.pinned-resources{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:.35rem .65rem;border-left:1px solid var(--border);background:#72202014}@media(max-width:768px){.pinned-resources{margin-top:.75rem;padding-top:.65rem;border-left:none;border-top:1px solid var(--border)}}.pinned-resources-table{width:100%;border-collapse:collapse;font-size:.8rem}.pinned-resources-table td{padding:.15rem .35rem;vertical-align:middle;white-space:nowrap}.pinned-resources-table .pinned-resource-label{color:var(--muted);padding-right:.5rem}.pinned-resources-table .pinned-resource-amount{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:600;text-align:right;padding-right:.35rem}.pinned-resources-table .pinned-resource-pin{width:1.5rem;text-align:center;padding-left:0;padding-right:0}.pinned-resources-table tr:hover{background:#7220200f}.pin-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;font-size:0;line-height:0;border-radius:2px;background:transparent;border:1px solid var(--border);cursor:pointer;transition:border-color .15s,color .15s}.pin-toggle:before{content:"";width:.35rem;height:.55rem;border-left:2px solid var(--silver);border-bottom:2px solid var(--silver);transform:rotate(-45deg) translate(1px,-1px);transition:border-color .15s}.pin-toggle:hover{border-color:var(--gold-dim)}.pin-toggle:hover:before{border-color:var(--gold)}.pin-toggle.pinned{border-color:var(--gold-dim);background:#c9a2271f}.pin-toggle.pinned:before{border-color:var(--gold)}.resource-item .pin-toggle{margin-right:.15rem}#screen-overview .event-log{max-height:min(50vh,480px)}.event-log{max-height:200px;overflow-y:auto;font-size:.85rem;scrollbar-color:var(--border) var(--panel)}.event-log .event{padding:.25rem 0;border-bottom:1px solid var(--border)}.event-log .event-type{color:var(--gold-dim);font-size:.75rem;letter-spacing:.03em}.tutorial-panel{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;width:min(22rem,100vw - 2rem);padding:1rem 1.25rem;background:var(--panel-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 24px #00000040}.tutorial-panel .tutorial-step-indicator{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.tutorial-panel .tutorial-title{margin:0 0 .5rem;font-size:1.1rem}.tutorial-panel .tutorial-body{margin:0 0 .5rem;color:var(--text);line-height:1.5}.tutorial-panel .tutorial-hint{margin:0 0 .75rem;font-size:.875rem;color:var(--muted);line-height:1.4}.tutorial-panel .tutorial-actions{display:flex;gap:.5rem;flex-wrap:wrap}.tutorial-panel #tutorial-got-it{flex:1;min-width:5rem}.tutorial-panel #tutorial-skip{background:transparent;color:var(--muted);border:1px solid var(--border)}.tutorial-panel #tutorial-skip:hover{color:var(--text);border-color:var(--muted)}.tutorial-highlight{outline:2px solid var(--accent, #c9a227);outline-offset:2px;animation:tutorial-pulse 2s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{outline-color:var(--accent, #c9a227)}50%{outline-color:transparent}}
