/* The public play surface. Existing game controls keep their original IDs. */
body.observer-shell{--rail-width:320px;--rail-space:0px;--shell-top:72px;overflow:hidden;background:#0c171b;font-size:14px;color:#e6eeea}
body.observer-shell.rail-open:not(.focus-mode),body.observer-shell.has-inspector,body.observer-shell.has-choice-dock{--rail-space:344px}
body.observer-shell .topbar{display:flex!important;position:fixed;inset:0 0 auto;height:60px;z-index:42;padding:0 20px;background:#102023;border-bottom:1px solid #314447;gap:22px}
.observer-shell .brand{font-size:17px;gap:9px}.observer-shell .brand-symbol{font-size:29px;color:#bde0ca}.observer-shell .brand small{font-size:8px;letter-spacing:2px;margin-top:5px}.observer-shell .version{font-size:8px;border-color:#4a5b53;color:#d8c69b;margin-left:2px}.observer-shell .topbar nav{gap:21px}.observer-shell .topbar .nav{font-size:13px}.observer-shell .top-actions{gap:12px}.observer-shell .connection{font-size:10px;color:#afc6bb}.observer-shell .top-actions #new-world{font-size:12px!important;padding:9px 13px!important;min-height:38px;border-radius:7px;background:#b8dfc5;border-color:#b8dfc5}.shell-quiet{font-size:12px;color:#bfcec6;min-height:40px;min-width:40px;border:1px solid #3c514d;border-radius:6px;padding:5px 11px}
.observer-shell main{padding:0;margin:0;max-width:none}.observer-shell .intro,.observer-shell .lower-section,.observer-shell .era-card,.observer-shell .under-map{display:none!important}
body.observer-shell .observatory{display:block;position:static;inset:auto;width:auto;height:auto;margin:0;gap:0}
.observer-shell .world-column{display:block;position:static;min-width:0}
body.observer-shell .observer-metrics{display:grid!important;position:fixed;top:var(--shell-top);left:16px;right:calc(var(--rail-space) + 16px);gap:10px;height:58px;margin:0;z-index:15;grid-template-columns:repeat(4,minmax(0,1fr))}
.observer-metrics article{min-width:0;min-height:0!important;height:58px;padding:9px 13px!important;gap:10px!important;background:#15252a!important;border:1px solid #2b4345!important;border-radius:9px!important}
.observer-metrics .stat-icon{width:29px!important;height:29px!important;font-size:18px!important;border-radius:8px!important;background:#244335!important}
.observer-metrics article>div{min-width:0}.observer-metrics article div>span{font-size:10px!important;white-space:nowrap;color:#a3bcb4!important;margin:0!important}.observer-metrics article strong{font-size:19px!important;line-height:1.3;white-space:nowrap}.observer-metrics article strong.era-value{font-size:15px!important}.observer-metrics .stat-note{display:none!important}
body.observer-shell .world-column .map-card{display:flex!important;flex-direction:column;position:fixed!important;inset:142px calc(var(--rail-space) + 16px) calc(var(--controlbar-height) + 12px) 16px!important;width:auto!important;height:auto!important;max-height:none!important;margin:0;border:1px solid #3c5550;border-radius:11px;overflow:hidden;background:#13252b;z-index:10}
.observer-shell .map-header{height:43px;min-height:43px;padding:9px 13px!important;background:#192d2c;border-bottom:1px solid #334c43}
.observer-shell .map-title h2{font-size:13px!important;font-weight:600;color:#d8e5d4}.observer-shell .map-options .pill,.observer-shell .map-emblem,.observer-shell .map-title>div>span{display:none!important}
.observer-shell .icon-button{min-width:36px;min-height:34px;border-radius:6px}
.observer-shell .atlas-toolbar{padding:6px 10px!important;min-height:43px;gap:8px;background:#14262b;border-color:#2f4548}
.observer-shell .atlas-toolbar>span{display:none!important}.observer-shell .atlas-toolbar>div{display:flex;gap:5px!important;min-width:0;align-items:center}
.observer-shell .atlas-toolbar button{font-size:11px!important;min-height:30px;padding:4px 9px!important;background:#20382f;color:#d8e6d5;border:1px solid #435c4c;border-radius:5px;white-space:nowrap}
.observer-shell .atlas-toolbar #zoom-label{font-size:11px;min-width:32px}.observer-shell .atlas-toolbar #map-front{border-color:#78684c;color:#ebd9b3}.observer-shell .map-display>summary{font-size:11px!important;min-height:30px;padding:5px 8px!important}
body.observer-shell .map-wrap{position:relative;flex:1!important;min-height:0!important;height:auto!important;aspect-ratio:auto!important;overflow:hidden}
.observer-shell #world-map{display:block;width:100%!important;height:100%!important}.observer-shell .map-top-left{font-size:10px!important;color:#d0e8dd;opacity:1!important;max-width:calc(100% - 24px);padding:6px 9px;left:10px;top:10px;background:#12272edb;border-color:#456058}
.observer-shell .map-coordinates,.observer-shell .map-bottom-left{display:none!important}.observer-shell .minimap-wrap{width:105px!important;bottom:10px;right:10px;padding:4px;background:#152c30ef;border-color:#a0b59a;opacity:.95!important}.observer-shell .minimap-wrap>span{display:none}.observer-shell #minimap{width:100%!important;height:auto!important}
.observer-shell .territory-legend{display:flex!important;gap:5px;padding:7px 10px!important;min-height:34px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;background:#172c2b;border-top:1px solid #344b41}
.observer-shell .territory-legend button{min-height:26px;white-space:nowrap;font-size:10px!important;padding:3px 7px!important;border-radius:5px}.observer-shell .territory-legend button.active{background:#365843;border-color:#a4c7a4}.observer-shell .territory-legend small,.observer-shell .territory-legend .unclaimed{display:none!important}
.observer-shell .map-footer{padding:5px 10px!important;min-height:35px;background:#122429;border-top:1px solid #304544}.observer-shell .map-layers button{font-size:11px;min-height:26px;padding:3px 12px}.observer-shell .map-footer .legend{display:none!important}
.observer-shell .conflict-strip,.observer-shell .empire-strip,.observer-shell .history-strip,.observer-shell .nation-banner{display:none!important}
.observer-shell .controlbar{display:flex;position:fixed;inset:auto 0 0;min-height:78px;height:auto!important;padding:12px 20px;gap:18px;background:#102023;border-top:1px solid #31484a;z-index:42;justify-content:space-between;flex-wrap:nowrap}
.observer-shell .playback{min-width:190px;gap:12px}.observer-shell .play-button{width:44px;height:44px;border:1px solid #90bda1;background:#284b3d;color:#d1efda;font-size:18px}.observer-shell .playback strong{font-size:12px!important;max-width:260px;line-height:1.5}.observer-shell .playback span{display:none!important}.observer-shell .speed-control{width:auto;gap:10px;order:0;border:0;padding:0}.observer-shell .speed-control>span{font-size:11px;color:#b3c9bf}.observer-shell .segmented{padding:3px;background:#182d31;border:1px solid #36504a;border-radius:7px}.observer-shell .segmented button{font-size:12px;padding:7px 10px;min-width:35px;min-height:32px}.observer-shell .segmented button.active{background:#365c46;color:#ddedce}.observer-shell .save-controls{gap:8px}.observer-shell #save-status{display:none!important}.observer-shell #save{min-height:39px;font-size:12px!important;padding:7px 12px!important}.shell-panel-button{border:1px solid #50665b;border-radius:6px;min-height:39px;padding:6px 10px;font-size:12px;color:#d7e5ce;background:#20392f}.observer-shell #settings{font-size:19px;min-height:39px;min-width:36px}
#observer-rail{display:none;position:fixed;top:var(--shell-top);right:16px;bottom:calc(var(--controlbar-height) + 12px);width:var(--rail-width);z-index:24;background:#132329;border:1px solid #354c48;border-radius:11px;overflow:hidden;flex-direction:column}
.rail-open:not(.focus-mode) #observer-rail{display:flex}.has-choice-dock #observer-rail,.has-inspector #observer-rail{visibility:hidden;pointer-events:none}
.rail-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 9px;min-height:58px;border-bottom:1px solid #2b4346}.rail-heading>span{font-size:8px;letter-spacing:1.8px;color:#9db6ab;line-height:1.6}.rail-heading b{display:block;letter-spacing:0;font-size:15px;font-weight:500;color:#e3e9dc}.rail-heading button{height:34px;width:34px;border:1px solid #3c5650;border-radius:6px;color:#adbdad}
.rail-tabs{display:flex;border-bottom:1px solid #34504b;padding:0 12px;gap:20px;flex-shrink:0}.rail-tabs button{min-height:44px;padding:8px 7px;font-size:13px;color:#a3b8ae;border-bottom:2px solid transparent}.rail-tabs [aria-selected=true]{color:#dcebd9;border-bottom-color:#b3d5a9}.rail-tabs button span{font-size:9px;background:#28483b;color:#c8dabb;border-radius:4px;padding:1px 4px;margin-left:3px}
.rail-context{padding:13px 14px;border-bottom:1px solid #304b45;background:#182d2c;flex-shrink:0}.observed-nation{display:flex;align-items:center;gap:9px}.observed-nation>i{width:8px;height:29px;border-radius:3px}.observed-nation>span{font-size:10px;color:#afc5b4;flex:1}.observed-nation b{display:block;color:#e8ebdc;font-size:16px;font-weight:500}.observed-nation b small{color:#a4beaa;font-size:10px;margin-left:5px}.observed-nation>button{width:36px;height:36px;border:1px solid #3e5b48;border-radius:5px;color:#c0d4b6}.nation-pulse{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #365043;margin-top:10px;padding-top:9px;font-size:10px;color:#a7bda9}.nation-pulse b{font-size:12px;color:#d3dfbe;margin-left:3px}.nation-pulse b.pulse-danger{color:#f4ad91}
#rail-records,#rail-nations{min-height:0;overflow:auto;flex:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#49685b transparent}#rail-records[hidden],#rail-nations[hidden]{display:none!important}
.observer-shell #observer-rail .chronicle,.observer-shell #observer-rail .faction-panel{display:block!important;position:static;width:auto;height:100%;max-height:none;background:transparent;border:0;padding:0;border-radius:0}
.observer-shell #observer-rail .chronicle{display:flex!important;flex-direction:column}.observer-shell .chronicle>.section-heading{display:none!important}.observer-shell .feed-tabs{padding:10px 12px;border-bottom:1px solid #2b4545;gap:4px}.observer-shell .feed-tabs button{padding:5px 9px;min-height:30px;font-size:10px;border-radius:5px}.observer-shell .feed-tabs button.active{color:#d5e9c7;background:#2c4a3b}
.observer-shell .event-feed{height:auto!important;min-height:0;flex:1;overflow:auto;padding:0 12px;scrollbar-width:thin;overscroll-behavior:contain}.observer-shell .log-item{padding:12px 1px;border-bottom:1px solid #2b4244;margin:0}.observer-shell .log-item::before{display:none}.observer-shell .log-meta{font-size:9px;margin:0 0 4px;gap:5px;color:#91ab9e}.observer-shell .log-meta span:first-child{color:var(--event-color)}.observer-shell .log-item summary{cursor:pointer;list-style:none;font-size:12px;line-height:1.6;color:#dde5d7;font-weight:500;padding-right:12px;position:relative}.observer-shell .log-item summary::-webkit-details-marker{display:none}.observer-shell .log-item summary::after{content:'+';position:absolute;right:0;top:0;color:#9cafa0}.observer-shell .log-item[open] summary::after{content:'−'}.observer-shell .log-item p{margin-top:8px;font-size:11px;line-height:1.9;color:#b1c7b6}.observer-shell .chronicle-footer{padding:10px 13px;border-top:1px solid #355047;font-size:10px;background:#14282a;gap:7px}.observer-shell .chronicle-footer button{font-size:10px;min-height:30px}.observer-shell #observer-rail .faction-panel>.section-heading{display:none}.observer-shell #faction-list{display:block;padding:10px;max-height:none;overflow:visible}.observer-shell .faction-card{margin:0 0 8px;padding:12px;border-color:#3c5547;background:#1b302e}.observer-shell .faction-card .faction-top h3{font-size:14px}.observer-shell .faction-mark{font-size:23px}.observer-shell .faction-card .faction-bottom{display:none}.observer-shell .faction-card .faction-top small{font-size:10px}.observer-shell .faction-stats{font-size:10px;margin-top:9px}.observer-shell .insight{margin:2px 12px 16px;padding:15px 0;border-top:1px solid #3c5549}.observer-shell .insight-reason{font-size:12px}.observer-shell .insight .detail-grid{grid-template-columns:1fr 1fr;font-size:11px}.observer-shell .insight .detail-grid b{font-size:13px}
body.observer-shell #info-dialog,body.observer-shell #info-dialog:has(.civ-tabs),body.observer-shell #event-dialog.decision-dock{position:fixed!important;inset:var(--shell-top) 16px calc(var(--controlbar-height) + 12px) auto!important;width:var(--rail-width)!important;height:auto!important;max-height:none!important;margin:0!important;transform:none!important;border:1px solid #6b775c;border-radius:10px;z-index:35;background:#172b2c;box-shadow:none;overflow:auto}
body.observer-shell #info-dialog:not([open]),body.observer-shell #event-dialog[hidden]{display:none!important}.observer-shell #info-dialog .dialog-top{padding:14px!important;min-height:50px;background:#203a32;border-color:#4d624b}.observer-shell #info-title{font-size:16px!important}.observer-shell #info-body{padding:14px!important;font-size:13px}.observer-shell #info-body p{font-size:12px;line-height:1.9}.observer-shell #info-close{min-height:36px;min-width:36px}
.observer-shell #decision-body{padding:16px}.observer-shell .decision-dock-heading{padding:11px 14px;min-height:49px;background:#3a4332;border-color:#7b7d50}.observer-shell .decision-dock-heading strong{font-size:12px}.observer-shell .decision-dock-heading button{min-height:31px;padding:5px 8px;font-size:11px}.observer-shell #decision-body h2{font-size:20px;line-height:1.5;margin:8px 0 12px;color:#f0e8c9}.observer-shell #decision-body>p{font-size:13px;line-height:1.9;color:#bdcbb7}.observer-shell #decision-body .event-for{font-size:11px;margin:11px 0;color:#d1cb9c}.observer-shell #decision-body .event-option{padding:13px;margin:9px 0;border:1px solid #748060;border-radius:8px;background:#2b422f;min-height:65px}.observer-shell #decision-body .event-option strong{font-size:13px;line-height:1.6;color:#e8ead5}.observer-shell #decision-body .event-option small{font-size:11px;line-height:1.8;color:#bdcaaa;margin-top:5px;display:block}.observer-shell #decision-hint{font-size:11px;line-height:1.8;color:#b0bda4}.observer-shell #decision-body .event-option:hover{background:#36543a;border-color:#c9c089}.observer-shell #event-dialog.decision-collapsed{inset:var(--shell-top) 16px auto auto!important;width:190px!important}.observer-shell .decision-receipt-actions button{min-height:38px}.observer-shell .command-dock{top:45px;width:272px;font-size:13px;max-height:calc(100% - 58px)}.observer-shell .command-dock label{font-size:11px}.observer-shell .command-dock button{min-height:36px;font-size:12px!important}.observer-shell .command-dock select{font-size:12px!important;padding:10px}
.observer-shell.focus-mode:not(.has-inspector):not(.has-choice-dock){--rail-space:0px}.observer-shell.focus-mode .observer-metrics{display:none!important}.observer-shell.focus-mode .world-column .map-card{top:var(--shell-top)!important}.observer-shell.focus-mode #observer-rail{display:none!important}
.observer-shell .setup-dialog{max-width:1080px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);border:1px solid #6d8062;border-radius:15px;background:#172b2c}.observer-shell .setup-heading h2{font-size:25px}.observer-shell .setup-heading p,.observer-shell .setup-sidebar label,.observer-shell .start-summary p{font-size:13px}.observer-shell .setup-dialog button{min-height:38px}.observer-shell .setup-dialog select,.observer-shell .setup-dialog input[type=text]{min-height:40px;font-size:13px}.observer-shell .personality-card p{font-size:12px}.observer-shell .trait-bars{font-size:11px}.observer-shell .setup-steps{font-size:12px}.observer-shell #toast{z-index:70;font-size:12px;line-height:1.8;max-width:min(500px,calc(100vw - 32px));bottom:calc(var(--controlbar-height) + 18px)}
dialog.welcome-dialog,dialog.help-dialog{color:#e7eddf;border:1px solid #708366;border-radius:17px;background:#182e2c;padding:0;max-height:calc(100dvh - 40px);box-shadow:0 20px 80px #0007}
dialog.welcome-dialog::backdrop,dialog.help-dialog::backdrop{background:#061218c4;backdrop-filter:blur(8px)}
.welcome-dialog{width:min(980px,calc(100vw - 40px));overflow:auto}.welcome-dialog[open]{display:grid;grid-template-columns:1.2fr 1fr}.welcome-close{position:absolute;top:13px;right:13px;z-index:2;min-height:38px;min-width:38px;border:1px solid #6c8062;border-radius:7px;color:#d8debe}.welcome-copy{padding:46px 40px 30px;position:relative;z-index:1}.welcome-kicker{color:#bdd0ab;font-size:9px;letter-spacing:2.5px;font-weight:500}.welcome-copy h1{font-size:42px!important;line-height:1.35;letter-spacing:-2.5px;color:#eef0dc;margin:14px 0 16px;font-weight:500}.welcome-copy h1 em{font-style:normal;color:#cbd9a2}.welcome-copy>p{font-size:13px;line-height:1.9;color:#bed0b6}.welcome-facts{display:flex;gap:13px;margin:19px 0 24px;font-size:10px;color:#bccea9}.welcome-facts span::before{content:'·';color:#e3cf9c;margin-right:5px}.welcome-presets{display:grid;gap:8px}.quick-world{display:flex;text-align:left;gap:12px;align-items:center;min-height:73px;border:1px solid #526e50;border-radius:8px;padding:12px 14px;background:#234238}.quick-world:hover{background:#30513c}.quick-world.recommended{border-color:#b0be7c;background:#354b34}.quick-art{font-size:29px;color:#d9dfb2;min-width:31px;text-align:center}.quick-world>span:nth-child(2){flex:1}.quick-world strong{display:block;font-weight:500;font-size:15px;color:#f0ead0}.quick-world strong small{display:inline;margin-left:8px;padding:2px 5px;font-size:8px;border:1px solid #a6b06f;border-radius:3px;color:#dfe3a6}.quick-world small{display:block;font-size:10px;color:#b7cbaa;margin-top:4px}.quick-world>b{color:#d3dcae}.welcome-customize{width:100%;display:flex;gap:6px;justify-content:space-between;align-items:center;text-align:left;margin-top:12px;min-height:40px;font-size:12px;color:#d8ddbd}.welcome-customize>span{font-size:10px;color:#9eb499}.welcome-storage{display:block;color:#9fb29b;font-size:10px;line-height:1.8;margin-top:13px}.welcome-resume{width:100%;margin:0 0 12px;padding:14px!important;font-size:13px!important}.welcome-world{position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,#44644e55,transparent 65%),linear-gradient(135deg,#182d2b,#101f29);min-height:520px;border-left:1px solid #3c5844}.orbit{position:absolute;width:420px;height:420px;left:50%;top:43%;transform:translate(-50%,-50%);border:1px solid #a6bd8040;border-radius:50%}.orbit-b{width:335px;height:335px;border-style:dashed;animation:observer-orbit 100s linear infinite}.world-silhouette{position:absolute;width:250px;height:250px;top:43%;left:50%;transform:translate(-50%,-50%) rotate(-16deg);border-radius:50%;border:1px solid #97aa6c;background:radial-gradient(circle at 30% 30%,#284c4a,#142d34 65%,#0a2027);box-shadow:inset -20px -20px 40px #06171b,0 0 70px #8caa4b18}.world-silhouette::before,.world-silhouette::after{content:'';position:absolute;inset:20px;background:repeating-linear-gradient(65deg,#839e68 0 7px,#a2b479 8px 9px);opacity:.85;clip-path:polygon(17% 13%,28% 9%,34% 20%,48% 14%,57% 27%,50% 38%,63% 50%,49% 55%,39% 77%,31% 72%,28% 54%,13% 45%,18% 35%,8% 28%)}.world-silhouette::after{inset:31px 5px 21px 80px;transform:rotate(90deg);clip-path:polygon(38% 12%,70% 19%,64% 35%,80% 43%,66% 55%,74% 72%,45% 87%,35% 66%,20% 59%,31% 42%);background:#9eac6e}.world-star{position:absolute;height:5px;width:5px;border-radius:50%;background:#d7dfab;box-shadow:0 0 15px #b7d09c}.star-a{top:15%;left:28%}.star-b{top:61%;left:82%;height:3px;width:3px}.star-c{top:74%;left:20%;height:3px;width:3px}.world-caption{position:absolute;bottom:60px;left:12%;right:12%;text-align:center;font:8px monospace;letter-spacing:2px;color:#a5b797}
.help-dialog{width:min(550px,calc(100vw - 32px));padding:26px!important}.help-dialog>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.help-dialog header button{min-width:35px;min-height:35px;border:1px solid #567153;border-radius:5px}.help-dialog h2{font-size:26px;font-weight:500;letter-spacing:-1px}.help-dialog ol{list-style:none;padding:0;display:grid;gap:23px;margin:25px 0}.help-dialog li{display:flex;gap:16px}.help-dialog li>b{font:23px Georgia,serif;color:#cfce9b}.help-dialog li strong{font-size:15px;font-weight:500;color:#e3e8cd}.help-dialog li p{font-size:13px;line-height:1.9;color:#b3c8af;margin-top:6px}.help-shortcuts{display:flex;gap:14px;font-size:11px;color:#bccdb0;flex-wrap:wrap}.help-shortcuts kbd{font:10px monospace;border:1px solid #647b59;padding:3px 6px;border-radius:4px;background:#213e33}.help-save{border-top:1px solid #476246;margin-top:23px;padding-top:17px;font-size:11px;color:#a9bfa4;line-height:1.9}.help-dialog>button{width:100%;margin-top:19px;min-height:44px;background:#c1d3a1!important;border-color:#c1d3a1!important}
@keyframes observer-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(min-width:1100px){body.observer-shell:not(.rail-open):not(.has-choice-dock):not(.has-inspector){--rail-space:0px}}
@media(max-width:1099px){.observer-shell .connection{display:none}.observer-shell .topbar nav{gap:14px}.observer-shell .speed-control>span{display:none}.observer-shell .playback{min-width:150px}.observer-shell .playback strong{max-width:180px}.observer-shell .controlbar{gap:10px;padding:11px 16px}.observer-shell .save-controls{gap:5px}}
@media(max-width:760px){
 body.observer-shell{--rail-space:0px!important;--shell-top:65px;--rail-width:calc(100vw - 16px)}
 body.observer-shell .topbar{height:56px;padding:0 10px;gap:8px}.observer-shell .topbar nav,.observer-shell .version{display:none}.observer-shell .brand{font-size:14px}.observer-shell .brand small{font-size:6px}.observer-shell .brand-symbol{font-size:26px}.observer-shell .top-actions{gap:5px}.observer-shell .top-actions #new-world{min-height:40px;font-size:11px!important;padding:7px 9px!important}.shell-quiet{min-height:40px;min-width:40px;padding:4px}.shell-quiet>span{display:none}
 body.observer-shell .observer-metrics{left:8px;right:8px;top:65px;height:51px;gap:5px}.observer-metrics article{height:51px;padding:7px 8px!important;border-radius:6px!important;display:block!important}.observer-metrics .stat-icon{display:none!important}.observer-metrics article div>span{font-size:8px!important}.observer-metrics article strong{font-size:16px!important}.observer-metrics article strong.era-value{font-size:12px!important}
 body.observer-shell .world-column .map-card{inset:124px 8px calc(var(--controlbar-height) + 8px) 8px!important;border-radius:8px}.observer-shell .map-header{min-height:36px;height:36px;padding:6px 10px!important}.observer-shell .map-title h2{font-size:11px!important}.observer-shell #fullscreen{min-height:28px;min-width:30px}
 .observer-shell .atlas-toolbar{min-height:42px;padding:5px 6px!important}.observer-shell .atlas-toolbar>div{gap:3px!important}.observer-shell .atlas-toolbar button{min-height:32px;padding:5px 7px!important;font-size:10px!important}.observer-shell .atlas-toolbar #map-front,.observer-shell .atlas-toolbar #economy-open{display:none}.observer-shell .atlas-toolbar #zoom-label{min-width:28px;font-size:10px}.observer-shell .map-display>summary{min-height:32px;font-size:10px!important}.observer-shell .map-display-menu{right:4px;max-height:52dvh;z-index:40}
 .observer-shell .map-top-left{font-size:8px!important;top:7px;left:7px;max-width:calc(100% - 14px);padding:4px 6px}.observer-shell .minimap-wrap{width:82px!important;right:7px;bottom:7px}.observer-shell .territory-legend{min-height:32px;padding:4px 6px!important}.observer-shell .territory-legend button{font-size:9px!important;min-height:26px;padding:4px 6px!important}.observer-shell .map-footer{min-height:31px;padding:3px 6px!important}.observer-shell .map-layers button{font-size:10px;padding:4px 11px;min-height:26px}
 .observer-shell .controlbar{display:flex;flex-wrap:wrap;min-height:116px;padding:9px 11px calc(9px + env(safe-area-inset-bottom));gap:7px}.observer-shell .playback{min-width:0;flex:1;gap:8px}.observer-shell .playback strong{font-size:10px!important;max-width:150px}.observer-shell .play-button{width:42px;height:42px}.observer-shell .save-controls{gap:5px}.observer-shell #save{font-size:10px!important;padding:7px!important;min-height:37px}.observer-shell #settings{min-width:30px;min-height:37px}.shell-panel-button{min-height:37px;padding:6px 8px;font-size:11px}.observer-shell .speed-control{order:3;width:100%;justify-content:center;gap:12px;border-top:1px solid #324b45;padding-top:6px}.observer-shell .segmented button{min-height:30px;padding:3px 13px}.observer-shell .speed-control #step{min-height:32px}.observer-shell #toast{font-size:11px;max-width:calc(100vw - 24px)}
 #observer-rail{top:auto;right:8px;left:8px;width:auto;bottom:calc(var(--controlbar-height) + 8px);height:35dvh;border-radius:9px}.rail-heading{min-height:42px;padding:5px 12px}.rail-heading>span{font-size:7px}.rail-heading b{font-size:13px}.rail-heading button{height:32px;width:36px}.rail-tabs{padding:0 10px;gap:20px}.rail-tabs button{min-height:36px;font-size:12px}.rail-context{display:none}
 .observer-shell .feed-tabs{padding:5px 10px}.observer-shell .log-item{padding:9px 0}.observer-shell .log-item summary{font-size:12px}.observer-shell .chronicle-footer{padding:4px 10px}.observer-shell #faction-list{display:grid!important;grid-template-columns:1fr 1fr;padding:7px;gap:6px}.observer-shell .faction-card{margin:0;padding:8px}.observer-shell .faction-card .faction-top h3{font-size:12px}.observer-shell .faction-card .faction-top small{font-size:8px}.observer-shell .faction-stats{font-size:9px;gap:4px}.observer-shell .faction-card .faction-mark{font-size:18px}.observer-shell .insight{padding-top:8px}
 body.observer-shell.rail-open:not(.focus-mode) .world-column .map-card,body.observer-shell.has-inspector .world-column .map-card,body.observer-shell.has-choice-dock:has(#event-dialog:not(.decision-collapsed)) .world-column .map-card{bottom:calc(var(--controlbar-height) + 35dvh + 16px)!important}
 body.observer-shell #info-dialog,body.observer-shell #info-dialog:has(.civ-tabs),body.observer-shell #event-dialog.decision-dock{inset:auto 8px calc(var(--controlbar-height) + 8px) 8px!important;width:auto!important;height:35dvh!important;max-height:35dvh!important}
 .observer-shell .decision-dock-heading{min-height:42px;padding:7px 12px}.observer-shell #decision-body{padding:12px}.observer-shell #decision-body h2{font-size:18px;margin:6px 0 9px}.observer-shell #decision-body>p{font-size:12px;line-height:1.8}.observer-shell #decision-body .event-option{min-height:60px;padding:11px;margin:7px 0}.observer-shell #decision-body .event-option strong{font-size:12px}.observer-shell #decision-body .event-option small{font-size:11px}.observer-shell #decision-hint{font-size:10px}
 body.observer-shell #event-dialog.decision-collapsed{inset:auto 8px calc(var(--controlbar-height) + 8px) auto!important;height:auto!important;max-height:60px!important;width:190px!important}.observer-shell .command-dock{right:6px;top:44px;max-height:calc(100% - 51px);width:min(272px,calc(100% - 12px))}
 .welcome-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)!important}.welcome-dialog[open]{grid-template-columns:1fr}.welcome-copy{padding:32px 23px 23px}.welcome-copy h1{font-size:33px!important;letter-spacing:-1.5px}.welcome-copy>p{font-size:12px}.welcome-facts{gap:10px;font-size:9px;margin:17px 0 20px}.welcome-world{display:none}.welcome-presets .quick-world{min-height:67px;padding:10px 12px}.quick-world strong{font-size:14px}.quick-world small{font-size:10px}.welcome-storage{font-size:9px}.welcome-customize{font-size:11px}.welcome-customize>span{font-size:9px}.help-dialog{padding:21px!important;max-height:calc(100dvh - 24px)!important}.help-dialog h2{font-size:23px}.help-dialog li p{font-size:12px}.help-dialog ol{gap:19px;margin:20px 0}
 .observer-shell .setup-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}.observer-shell .setup-heading h2{font-size:22px}.observer-shell .setup-steps{font-size:10px}.observer-shell .setup-bottom{gap:10px}.observer-shell .setup-bottom button{font-size:12px!important;min-height:42px}
}
@media(max-height:540px) and (min-width:761px){.observer-shell .observer-metrics{display:none!important}body.observer-shell .world-column .map-card{top:var(--shell-top)!important}.welcome-copy{padding-top:25px;padding-bottom:20px}.welcome-copy h1{font-size:30px!important}.welcome-world{min-height:430px}.help-dialog ol{gap:12px}}
@media(prefers-reduced-motion:reduce){.orbit-b{animation:none}*{scroll-behavior:auto!important}.observer-shell button{transition:none}}

.observer-shell h1,.observer-shell h2,.observer-shell p,.observer-shell button strong{word-break:keep-all;overflow-wrap:break-word}
.decision-participants{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.observer-shell .decision-nation{flex:1 1 115px;min-width:0;max-width:100%;padding:9px 10px;border:1px solid #60775b;border-radius:6px;background:#20382e;text-align:left;color:#e8eed9;cursor:pointer}
.decision-nation>small{display:block;font-size:10px;color:#b3c6ac;line-height:1.5;margin-bottom:4px}
.decision-nation>strong{display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;word-break:normal}
.decision-nation i{flex:none;width:9px;height:9px;border-radius:2px}.decision-nation strong>span{margin-left:auto;flex:none;font-size:11px;color:#b6c5a8}
.observer-shell .decision-nation:hover{background:#304c37;border-color:#b3c38c}.decision-nation:focus-visible{outline:2px solid #e8dba2;outline-offset:2px}
#decision-context-toggle{display:none}
@media(max-width:760px){
 body.observer-shell.has-choice-dock:has(#event-dialog[data-mode="choice"]:not(.decision-collapsed)) .observer-metrics{display:none!important}
 body.observer-shell.has-choice-dock:has(#event-dialog[data-mode="choice"]:not(.decision-collapsed)) .world-column .map-card{top:65px!important;bottom:calc(var(--controlbar-height) + 44dvh + 16px)!important}
 body.observer-shell.has-choice-dock:has(#event-dialog[data-mode="choice"]:not(.decision-collapsed)) .map-header{height:32px;min-height:32px}
 body.observer-shell.has-choice-dock:has(#event-dialog[data-mode="choice"]:not(.decision-collapsed)) :is(.atlas-toolbar,.map-footer,.territory-legend){display:none!important}
 body.observer-shell #event-dialog[data-mode="choice"]:not(.decision-collapsed){height:44dvh!important;max-height:44dvh!important}
 .observer-shell #decision-body{padding:10px 12px}.observer-shell #decision-body h2{font-size:17px;line-height:1.45;margin:3px 0 6px}.observer-shell #decision-body .event-for{display:none}.observer-shell #decision-body>.eyebrow{font-size:9px}.observer-shell #event-text{display:none}.observer-shell #decision-body.context-expanded #event-text{display:block;font-size:12px;line-height:1.7}
 #decision-context-toggle{display:block;font-size:10px;min-height:25px;padding:1px 0;color:#bdccaa;margin-bottom:2px}
 .observer-shell #decision-body .event-option{min-height:56px;padding:9px 10px;margin:6px 0}.observer-shell #decision-body .event-option strong{font-size:12px;line-height:1.5}.observer-shell #decision-body .event-option small{font-size:10px;line-height:1.6;margin-top:3px}.observer-shell #decision-hint{font-size:9px;margin-top:5px}
}

body.observer-shell.has-choice-dock:has(#event-dialog.decision-collapsed):not(.has-inspector){--rail-space:0px}

.observer-tools{position:relative}.observer-tools>summary{list-style:none;cursor:pointer;font-size:11px;min-height:32px;padding:8px 10px;border:1px solid #475047;border-radius:5px;color:#e4e8d8;background:#26302b;white-space:nowrap}.observer-tools>summary::-webkit-details-marker{display:none}.observer-tools>summary[aria-disabled="true"]{opacity:.45;cursor:default}.observer-tools[open]>summary{background:#46533d;border-color:#a7b283}.observer-tools-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(290px,calc(100vw - 38px));max-height:min(65dvh,520px);overflow:auto;padding:12px;background:#19241f;border:1px solid #53604b;box-shadow:0 16px 45px #0009;border-radius:9px;z-index:45;display:grid;gap:5px}.tools-caption{font-size:10px;color:#b9c3b2;letter-spacing:.06em;padding:0 7px 5px}.observer-shell .observer-tools button,.observer-shell .observer-tools #economy-open{display:block!important;min-height:40px!important;width:100%;padding:9px 10px!important;text-align:left;border:1px solid transparent!important;border-radius:5px;background:#243129;font-size:12px!important;color:#e2e7db;white-space:normal;line-height:1.5}.observer-shell .observer-tools button:hover{background:#364332;border-color:#627252!important}.observer-tools :is(#relations,#intervene)>:is(span,b),.observer-tools :is(#relations,#intervene) small{display:none}.observer-tools :is(#relations,#intervene) strong{font-size:12px;font-weight:500}.observer-shell .observer-tools .pace-label{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px 5px;color:#bdc7b7;font-size:11px;border-top:1px solid #45513f;margin-top:4px}.observer-tools select{min-height:36px;max-width:155px;background:#243129;color:#e2e7db;border:1px solid #53604b;border-radius:5px;font:inherit}.observer-shell #observer-population{width:100%;height:200px;display:block}.observer-tools>summary:focus-visible{outline:2px solid #d6d4a1;outline-offset:3px}
.observer-tools-menu{position:fixed}.observer-tools>summary{user-select:none}
@media(max-width:760px){.observer-tools>summary{font-size:10px;padding:7px}.observer-tools-menu{width:min(290px,calc(100vw - 28px))}}
@media(max-height:540px){body.observer-shell .observer-metrics{display:none!important}body.observer-shell .world-column .map-card{top:64px!important;min-height:0!important}.observer-shell .territory-legend,.observer-shell .map-footer{display:none!important}.observer-shell .map-header{min-height:31px;height:31px;padding:4px 10px!important}.observer-shell .minimap-wrap{width:72px!important}.observer-shell .map-top-left{font-size:8px!important;padding:4px 7px}.observer-shell .atlas-toolbar{min-height:39px;padding:4px 7px!important}}

/* The final setup step asks for decisions, with secondary settings folded away. */
.observer-shell .setup-dialog.setup-final{width:min(620px,calc(100vw - 24px))}
.setup-final #setup-body{min-height:0;padding:4px 28px 24px}
.setup-final .setup-heading{margin-bottom:25px}
.setup-final .setup-heading h2{font-size:25px;margin:0 0 12px}
.setup-world-tags{display:flex;gap:7px;flex-wrap:wrap}
.setup-world-tags span{color:#a5bcb0;font-size:11px;padding:4px 8px;border:1px solid #3b5149;border-radius:4px}
.setup-final-primary{display:flex;flex-direction:column;gap:12px}
.setup-final .setup-field{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#dbe7dc}
.setup-final .setup-field select{width:100%;min-height:44px;padding:10px 12px;background:#1b332b;border:1px solid #566f57;border-radius:6px;color:#e6eddf;font:inherit}
.setup-final .toggle-row{font-size:12px;color:#b5cbb8;display:flex;align-items:center;gap:8px;margin:0}
.setup-final .toggle-row input{width:16px;height:16px;accent-color:#a9d5b4}
.setup-conflict{margin-top:13px}.setup-conflict>span{font-size:13px;color:#dbe7dc}
.setup-conflict>div{display:flex;gap:8px;margin-top:10px}
.setup-conflict button{flex:1;min-height:42px;border:1px solid #47604e;background:#21372f;color:#b7cbbb;border-radius:6px;font-size:13px}
.setup-conflict button.chosen{background:#3a4c37;color:#f0dca7;border-color:#c8b77d}
.setup-extra{border-top:1px solid #3b5149;margin-top:24px;padding-top:5px}
.setup-extra>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:45px;font-size:12px;color:#c8d9cb}
.setup-extra>summary::-webkit-details-marker{display:none}.setup-extra>summary::after{content:'＋';margin-left:auto;color:#9bb59e;font-size:15px}.setup-extra[open]>summary::after{content:'−'}
.setup-extra summary small{font-size:10px;color:#90aa98}.setup-extra-fields{display:grid;gap:17px;padding:12px 0 0}.setup-extra-fields>small{font-size:10px;color:#90aa98}
.setup-final #setup-tip{display:none}.setup-final .setup-bottom #setup-next{min-width:164px}
@media(max-width:760px){.setup-final #setup-body{padding:4px 20px 19px}.setup-final .setup-heading{margin-bottom:21px}.setup-final .setup-heading h2{font-size:23px}.setup-final .setup-steps{gap:8px;padding:16px 20px;font-size:9px}.setup-final .setup-bottom{padding:14px 20px}.setup-final .setup-bottom #setup-next{min-width:140px}}

/* A readable chronological column at every rail width. */
.observer-shell #event-feed{display:flex!important;flex-direction:column;grid-template-columns:none;columns:auto;width:100%;min-width:0}
.observer-shell #event-feed>.log-item{display:block;flex:none;width:100%;min-width:0;box-sizing:border-box}
.site-info-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;font-size:11px;line-height:1.7}.site-info-links a{color:#b7c3a8;text-underline-offset:4px}.site-info-links a:hover{color:#eef1d4}.site-info-links a:focus-visible{outline:2px solid #d6d4a1;outline-offset:4px}.help-dialog .site-info-links{margin-bottom:18px}
.observer-shell #event-feed .log-item summary{display:block;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.65;font-size:12px}
.observer-shell #event-feed .log-item p{white-space:pre-line;word-break:normal;overflow-wrap:anywhere;line-height:1.8}
.observer-shell #event-feed .log-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:10px}
.world-situation{flex:none;border-top:1px solid #354a44;border-bottom:1px solid #354a44;background:#1d302b}
.world-situation>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 14px;border:0;background:none;text-align:left;color:#dbe5d7;cursor:pointer}
.world-situation strong{display:block;font-size:12px;line-height:1.5}.world-situation small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.65;color:#aec2b4;margin-top:2px}.world-situation b{color:#cdbd8b;font-weight:400}
.world-situation[data-kind="danger"]{border-left:3px solid #dbac79}
.observation-next{flex:none;padding:13px 15px;background:#28372c;border-block:1px solid #76805b}
.observation-next h3{margin:0 0 6px;color:#edd9a8;font-size:15px}.observation-next p{font-size:11px;line-height:1.7;color:#bdcdbb;margin:0 0 9px}
.observation-follow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.observation-follow label{flex-basis:100%;font-size:10px;color:#afc4b2}.observation-follow select{min-width:100px;flex:1;padding:7px;background:#182e28;color:#e2ebdb;border:1px solid #638064;border-radius:4px}
.observation-next button{padding:8px 10px;font-size:11px;background:#344b35;color:#ecdfb9;border:1px solid #7b895f;border-radius:4px;cursor:pointer}.observation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.observation-actions button{background:transparent}.observation-next button:disabled{opacity:.5;cursor:default}
