
/* CivNet: shared responsive view shell, independently scoped retro skin. */
body.theme-civnet {
 --bg:#20272b; --panel:#c3c2bd; --panel-2:#d3d1ca; --line:#646663;
 --text:#181b1d; --muted:#454b4b; --accent:#134e91; --pass:#247419;
 --fail:#b32121; --radius:0px;
 --metal:linear-gradient(115deg,#ffffff12,#3333330c),repeating-linear-gradient(0deg,#ffffff06 0 1px,#00000004 1px 2px),linear-gradient(#c6c6c2,#aaaead);
 --relief:inset 1px 1px #f8f5ec,inset -1px -1px #414748,0 0 0 1px #161c20;
 font-family:Georgia,"Times New Roman",serif;
 background:#20272b;
}
body.theme-civnet button,body.theme-civnet select,body.theme-civnet input,
body.theme-civnet .top-menu summary {
 font-family:inherit; border-radius:0; border:1px solid #6d716f;
 background:var(--metal); color:#151a1c; box-shadow:var(--relief);
}
body.theme-civnet button:hover:not(:disabled),body.theme-civnet .top-menu summary:hover {
 background:linear-gradient(#eeeae0,#bfc4c5); border-color:#333d43;
}
body.theme-civnet button:disabled { opacity:.5; }
body.theme-civnet :focus-visible { outline:3px solid #c38b21; outline-offset:2px; }
body.theme-civnet button.primary,body.theme-civnet #turn-button button,
body.theme-civnet .atlas-nav button[aria-current="page"] {
 background:linear-gradient(120deg,#164f91,#0e2c5b); color:#fff5df;
 border:2px solid #c4c9c7; box-shadow:inset 1px 1px #588fc3,inset -2px -2px #071b38,0 0 0 1px #171d22;
}
body.theme-civnet button.primary:hover:not(:disabled),body.theme-civnet #turn-button button:hover:not(:disabled) { background:#225da0; }
body.theme-civnet #topbar { padding:8px 12px; gap:6px 14px; background:var(--metal); border:3px ridge #d2d3cd; }
body.theme-civnet #topbar .brand { color:#1b2e40; font-weight:700; letter-spacing:1px; }
body.theme-civnet #status .stat { color:#171c21; border-right:1px solid #777; }
body.theme-civnet .top-actions { gap:3px; }
body.theme-civnet .top-menu summary { padding:6px 18px; font-size:14px; color:#181b1d; }
body.theme-civnet .top-menu[open] summary { background:#173f70; color:#fff; }
body.theme-civnet .menu-popover { background:var(--panel); border:3px ridge #ddd; }
body.theme-civnet .atlas-shell {
 grid-template-columns:minmax(270px,310px) minmax(0,1fr);
 grid-template-rows:auto minmax(0,1fr) auto;
 grid-template-areas:"nav nav" "inspector map" "turn map";
 border:3px ridge #d2d3cd; gap:4px; padding:4px; background:var(--metal);
}
body.theme-civnet .atlas-nav { flex-direction:row; padding:0; gap:3px; background:transparent; border:0; }
body.theme-civnet .atlas-nav button { flex:1; flex-direction:row; gap:8px; min-height:44px; padding:5px 10px; font-size:15px; color:#171c21; background:var(--metal); border:1px solid #727776; }
body.theme-civnet .atlas-nav-icon { font-size:22px; }
body.theme-civnet .atlas-map-slot { padding:0; background:#10161a; border:3px ridge #d4d4ce; }
body.theme-civnet .atlas-shell .workspace-pane { border-radius:0; }
body.theme-civnet .atlas-map-slot [data-view="map"] { border:0; box-shadow:none; }
body.theme-civnet .atlas-inspector { background:var(--metal); border:2px ridge #dfded7; }
body.theme-civnet .atlas-heading { padding:10px 12px; border-bottom:3px ridge #d9d9d3; background:linear-gradient(#46515a,#242d33); }
body.theme-civnet .atlas-heading h1 { font-size:22px; color:#f5efdf; font-weight:700; }
body.theme-civnet .atlas-heading p { color:#e0ded4; font-size:10px; margin-top:4px; }
body.theme-civnet .atlas-inspector-body { padding:6px; }
body.theme-civnet .atlas-inspector-body > .workspace-pane { background:var(--metal); border:3px ridge #d7d9d4; margin-bottom:7px; }
body.theme-civnet .atlas-shell .pane-header { padding:5px 9px; background:linear-gradient(#bbbeba,#9c9f9d); border-bottom:2px groove #e0e0da; }
body.theme-civnet .atlas-shell .pane-grip { font-size:16px; color:#171b1c; text-transform:none; letter-spacing:0; font-weight:bold; }
body.theme-civnet .atlas-shell .pane-content > .panel { padding:10px; }
body.theme-civnet .panel-title,body.theme-civnet h2 { color:#20292e; font-family:inherit; letter-spacing:0; text-transform:none; }
body.theme-civnet #minimap { border-radius:0; border:3px inset #d3d3cd; background:#020609; }
body.theme-civnet #map-bar,body.theme-civnet .map-mode { background:linear-gradient(#303b44,#1b252d); color:#f2eee1; border-color:#b4b9b7; }
body.theme-civnet .map-mode span { color:#e0e4de; }
body.theme-civnet .objective-teaser { background:#303a43; color:#f5e1ae; border-bottom:2px ridge #aaa; }
body.theme-civnet .mobile-quick { background:var(--metal); gap:4px; }
body.theme-civnet .mobile-quick button { border-radius:0; background:linear-gradient(#37424b,#20282f); color:#fff5e1; border:2px ridge #c1c7c6; }
body.theme-civnet .atlas-turn-slot { padding:6px; background:var(--metal); border:2px ridge #d7d9d4; }
body.theme-civnet #turn-button button { border-radius:0; font:700 18px Georgia,serif; min-height:56px; }
body.theme-civnet .atlas-shortcuts { padding:8px 6px; gap:4px; }
body.theme-civnet .city-row,body.theme-civnet .player-row,body.theme-civnet .stack-entry,
body.theme-civnet .objective-card,body.theme-civnet .trade-panel,body.theme-civnet .trade-composer fieldset,
body.theme-civnet .negotiation-card,body.theme-civnet .trade-offer { border-radius:0; }
body.theme-civnet .city-row:hover,body.theme-civnet .player-row:hover { background:#f7f1df70; }
body.theme-civnet .modal { background:var(--metal); border:4px ridge #dbdcd5; border-radius:0; color:var(--text); }
body.theme-civnet .modal-header { padding:12px 18px; background:linear-gradient(#3b4751,#202a32); border-bottom:3px ridge #d3d4cb; }
body.theme-civnet .modal-header h2 { color:#fff4df; font:700 23px Georgia,serif; }
body.theme-civnet .modal-footer { background:var(--metal); border-top:3px ridge #d9dad1; }
body.theme-civnet .modal input,body.theme-civnet .modal select { background:#e7e5df; }
body.theme-civnet .tech-card { border:3px ridge #c8cdc7; border-radius:0; background:#303b44; color:#f7f1e4; }
body.theme-civnet .tech-card .muted,body.theme-civnet .tech-cost,
body.theme-civnet .tech-prereq,body.theme-civnet .tech-unlocks { color:#dddcd2; }
body.theme-civnet .tech-card.known { background:#254d30; border-color:#83b37c; }
body.theme-civnet .tech-card.available { background:#183d6a; }
body.theme-civnet .tech-card.target { border-color:#e6bf60; box-shadow:0 0 0 1px #836322; }
body.theme-civnet .tech-estimate { color:#f4d78f; }
body.theme-civnet progress { accent-color:#1b629f; border-radius:0; }
body.theme-civnet .atlas-compact {
 grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto auto;
 grid-template-areas:"content" "turn" "nav"; gap:3px; padding:3px;
}
body.theme-civnet .atlas-compact .atlas-map-slot { padding:0; }
body.theme-civnet .atlas-compact .atlas-nav { background:var(--metal); padding:2px 0 calc(2px + env(safe-area-inset-bottom)); gap:2px; }
body.theme-civnet .atlas-compact .atlas-nav button { flex-direction:column; padding:4px 1px; gap:2px; min-height:50px; }
body.theme-civnet .atlas-compact .atlas-heading { padding:9px 10px; }
body.theme-civnet .atlas-compact .atlas-heading h1 { font-size:21px; }
body.theme-civnet .atlas-compact .atlas-inspector-body { padding:5px; }
body.theme-civnet .atlas-compact .atlas-turn-slot { padding:3px; }
@media(max-width:760px),(max-height:500px) and (pointer:coarse) {
 body.theme-civnet #topbar { padding:4px 6px 0; gap:3px 6px; }
 body.theme-civnet .top-menu summary { padding:5px 8px; font-size:12px; }
 body.theme-civnet .interface-switch select { padding:3px 5px; }
 body.theme-civnet .interface-switch span { display:none; }
 body.theme-civnet .atlas-compact #turn-button button { min-height:44px; }
 body.theme-civnet .mobile-quick { padding:3px; }
}

body.theme-civnet .modal-title { background:linear-gradient(#3b4751,#202a32); color:#fff4df; border-bottom:3px ridge #d3d4cb; font-family:Georgia,serif; }
body.theme-civnet .city-instructions summary { color:#164c7e; }
body.theme-civnet .tile-cell { color:#142014; text-shadow:0 1px #ffffff50; }
body.theme-civnet .tile-cell.unknown { color:#e8e8da; }
body.theme-civnet .bar { height:10px; background:#919795; border:2px inset #d5d5cf; border-radius:0; }
body.theme-civnet .objective-toast { color:#fff4df; border-radius:0; border:2px ridge #bdd0b4; }
body.theme-civnet .mobile-quick button:hover:not(:disabled) { color:#161d23; }

body.theme-civnet .tech-card .pass { color:#b5eaa0; }
body.theme-civnet .tech-card .skip { color:#f2d085; }
body.theme-civnet .tech-head .skip { color:#705009; }
body.theme-civnet .negotiation-nav { border-radius:0; }
body.theme-civnet .modal input[type="number"] { border-radius:0; }
body.theme-civnet input[type="checkbox"] { width:18px; height:18px; min-height:18px; padding:0; box-shadow:none; accent-color:#184e86; }
