:root{color-scheme:dark;--bg:#f2efe5;--panel:#f2efe5;--panel-2:#f2efe5;--ink:#29332f;--muted:#4b656c;--subtle:#4b656c;--line:#f2efe5;--mint:#3d6758;--mint-dark:#f2efe5;--blue:#4b656c;--amber:#956c2c;--red:#a14d3b;--nav:178px;--radius:10px;font-family:Inter,Pretendard,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--mint)}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--mint);outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1{font-size:26px;letter-spacing:-1.1px;font-weight:650}h2{font-size:17px;letter-spacing:-.4px;font-weight:620}h3{font-size:15px;font-weight:600}small{font-size:12px}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.mint{color:var(--mint)}.amber{color:var(--amber)}.red{color:var(--red)}.blue{color:var(--blue)}.positive{color:var(--mint)}.negative{color:var(--red)}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;color:var(--subtle);text-transform:uppercase;margin-bottom:7px}.icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon.sm{width:15px;height:15px}.icon.lg{width:23px;height:23px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:10px;top:-100px;z-index:200;background:var(--mint);color:var(--bg);padding:12px}.skip-link:focus{top:10px}
.app-shell{display:grid;grid-template-columns:var(--nav) minmax(0,1fr);min-height:100vh}.sidebar{background:#f2efe5;border-right:1px solid var(--line);padding:27px 16px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:var(--nav);z-index:10}.brand{display:flex;align-items:center;gap:9px;padding:0 7px;font-size:21px;font-weight:720;letter-spacing:-.8px}.brand span{color:var(--mint)}.brand-mark{display:grid;grid-template-columns:repeat(3,4px);gap:3px;transform:rotate(-8deg)}.brand-mark i{height:4px;background:var(--mint);opacity:.85}.brand-mark i:nth-child(2),.brand-mark i:nth-child(7){opacity:.25}.brand-note{font-size:10px;letter-spacing:2.6px;color:var(--subtle);padding:8px 8px 29px}.nav-label{padding:0 12px 9px;color:var(--subtle);font-size:10px;letter-spacing:1.6px}.nav{display:grid;gap:5px}.nav-btn{display:flex;align-items:center;gap:13px;width:100%;padding:13px 15px;background:transparent;border:0;border-radius:7px;color:var(--muted);text-align:left;font-size:13px;position:relative}.nav-btn:hover{background:#f2efe5;color:var(--ink)}.nav-btn.active{background:#f2efe5;color:var(--mint)}.nav-btn.active:before{content:"";width:3px;height:17px;background:var(--mint);position:absolute;left:0;border-radius:2px}.nav-count{margin-left:auto;background:var(--mint-dark);color:var(--mint);border-radius:4px;padding:0 5px;font-size:10px}.sidebar-bottom{margin-top:auto;padding:28px 8px 0;display:grid;gap:14px}.phase-mini{border-top:1px solid var(--line);padding-top:20px}.phase-dots{display:flex;gap:5px;margin:9px 0}.phase-dots i{height:3px;flex:1;background:#f2efe5}.phase-dots i.on{background:var(--mint)}.sidebar-button{display:flex;gap:10px;align-items:center;color:var(--muted);padding:0;border:0;background:none;text-align:left;font-size:12px}.sidebar-footer{font-size:10px;letter-spacing:.3px;color:var(--subtle);margin-top:3px}.workspace{grid-column:2;min-width:0}.topbar{min-height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);gap:18px;background:#f2efe5}.organization-title{display:flex;gap:10px;align-items:center}.org-avatar{width:30px;height:30px;background:#f2efe5;border:1px solid #f2efe5;border-radius:7px;display:grid;place-items:center;color:var(--mint);font-size:12px;font-weight:700}.org-name{font-size:13px;font-weight:600}.org-context{color:var(--muted);font-size:11px;margin-top:2px}.top-actions{display:flex;align-items:center;gap:10px}.date{font-size:13px;letter-spacing:.3px}.date small{color:var(--subtle);margin-left:9px}.divider{width:1px;height:23px;background:var(--line);margin:0 4px}.pill{display:inline-flex;gap:6px;align-items:center;font-size:10px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted);white-space:nowrap}.pill.mint{background:#f2efe5;border-color:#f2efe5;color:var(--mint)}.pill.amber{background:#f2efe5;border-color:#f2efe5;color:var(--amber)}.pill.red{background:#f2efe5;border-color:#a14d3b;color:var(--red)}.pill.blue{background:#f2efe5;border-color:#f2efe5;color:var(--blue)}.icon-btn{border:1px solid var(--line);background:#f2efe5;width:32px;height:32px;border-radius:6px;display:grid;place-items:center}.icon-btn:hover{background:#f2efe5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border:1px solid var(--line);background:#f2efe5;border-radius:6px;font-size:12px;font-weight:550;text-decoration:none;white-space:nowrap}.btn:hover{background:#f2efe5}.btn-primary{background:var(--mint);color:#f2efe5;border-color:var(--mint)}.btn-primary:hover{background:#3d6758}.btn-quiet{background:transparent;border-color:transparent;color:var(--muted)}.btn-quiet:hover{background:#f2efe5}.btn-block{width:100%}.btn-sm{padding:6px 9px;font-size:11px}.btn-danger{color:var(--red);border-color:#a14d3b;background:#f2efe5}.content{padding:25px 28px 115px;max-width:1900px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-subtitle{font-size:12px;color:var(--muted);margin-top:8px}.heading-actions{display:flex;align-items:center;gap:8px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:#f2efe5;margin-bottom:20px;overflow:hidden}.metric{padding:17px 21px;position:relative;min-width:0}.metric+.metric{border-left:1px solid var(--line)}.metric-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.metric-value{font-size:27px;font-weight:550;letter-spacing:-.9px;line-height:1.1;margin:9px 0 8px;white-space:nowrap}.metric-value .unit{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:5px}.metric-note{font-size:10px;color:var(--subtle);white-space:nowrap}.metric-spark{position:absolute;right:16px;bottom:15px;width:66px;height:24px;opacity:.75}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;gap:12px}.panel-head h2{font-size:14px}.panel-body{padding:0 19px 19px}.world-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:18px;align-items:start}.side-stack{display:grid;gap:16px}.tab-group{display:flex;gap:3px;background:#f2efe5;padding:3px;border:1px solid #f2efe5;border-radius:6px;flex-wrap:wrap}.tab{background:transparent;border:0;padding:5px 10px;font-size:11px;color:var(--muted);border-radius:4px}.tab.active{background:#f2efe5;color:var(--mint)}.tab:hover{color:var(--ink)}.map-panel{background:#f2efe5;position:relative}.map-top{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #f2efe5}.map-title{font-size:13px;display:flex;gap:8px;align-items:center}.map-canvas{position:relative;min-height:310px;aspect-ratio:1.8;background:radial-gradient(ellipse at 74% 34%,#f2efe550 0,transparent 55%),radial-gradient(ellipse at 22% 45%,#f2efe530 0,transparent 45%)}.world-map{display:block;width:100%;height:100%;position:absolute;inset:0}.map-grid{stroke:#f2efe5;stroke-width:.5;opacity:.4;fill:none}.map-land{fill:#f2efe5;stroke:#4b656c;stroke-opacity:.68;stroke-width:.75;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .2s,stroke .2s,stroke-opacity .2s}.map-land:hover{fill:#4b656c;stroke:#4b656c;stroke-opacity:1;stroke-width:1.1}.map-land.selected{fill:#3d6758;stroke:#3d6758;stroke-opacity:.95;stroke-width:1.1}.map-ocean{fill:#4b656c;font-size:10px;letter-spacing:4px;opacity:.4}.map-route{fill:none;stroke:#4b656c;stroke-width:1;opacity:.52}.map-route.bright{stroke:var(--mint);stroke-width:1.4;opacity:.75}.map-route.warn{stroke:var(--amber);stroke-dasharray:5 5}.map-node{cursor:pointer}.map-node circle{fill:#f2efe5;stroke:#3d6758;stroke-width:1.2}.map-node.selected circle{fill:var(--mint);stroke:#29332f}.map-node .node-icon{fill:none;stroke:#3d6758;stroke-width:1.3}.map-node.selected .node-icon{stroke:#f2efe5}.map-node .halo{fill:#3d675818;stroke:#3d67583a;stroke-width:.8}.map-node text{fill:#4b656c;font-size:11px;paint-order:stroke;stroke:#f2efe5;stroke-width:4px;stroke-linejoin:round}.map-node.selected text{fill:var(--mint);font-weight:600}.map-coords{position:absolute;bottom:14px;left:17px;font-size:10px;letter-spacing:1.8px;color:#4b656c}.map-info{position:absolute;top:13px;left:17px;display:flex;gap:9px;align-items:center;font-size:10px;color:var(--muted)}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);display:inline-block;box-shadow:0 0 10px #3d675850}.map-credit{position:absolute;bottom:13px;right:15px;font-size:10px;color:#4b656c}.map-credit a{color:inherit;text-decoration:none}.map-legend{display:flex;align-items:center;gap:18px;padding:12px 18px;border-top:1px solid #f2efe5;font-size:10px;color:var(--muted);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px}.legend-line{width:20px;border-top:1px solid var(--mint)}.legend-border{width:18px;border-top:1px solid #4b656c}.legend-line.dashed{border-top:1px dashed var(--amber)}.region-select{max-width:140px;color:var(--ink);border:1px solid var(--line);border-radius:4px;background:#f2efe5;font-size:10px;padding:4px}.bottleneck{display:flex;align-items:flex-start;gap:12px;padding:16px 19px;margin-top:16px;border:1px solid #f2efe5;border-radius:8px;background:#f2efe5}.bottleneck .icon{color:var(--amber);margin-top:1px}.bottleneck h3{color:var(--amber);font-size:12px;margin-bottom:4px}.bottleneck p{font-size:11px;color:#767a70}.bottleneck .text-button{margin-left:auto;align-self:center}.text-button{border:0;background:none;padding:0;color:var(--mint);font-size:11px;text-decoration:none;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.region-cover{padding:19px;background:linear-gradient(120deg,#f2efe5,#f2efe5 70%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.region-cover:after{content:"";position:absolute;width:100px;height:100px;border:1px solid #3d675822;transform:rotate(35deg);right:-20px;top:-30px}.region-cover .eyebrow{color:#4b656c;font-size:10px}.region-cover h2{font-size:21px;font-weight:550;letter-spacing:-.6px;margin-bottom:3px}.region-city{font-size:11px;color:#4b656c;display:flex;gap:6px;align-items:center}.region-facts{padding:15px 18px;display:grid;gap:12px}.fact-row{display:flex;justify-content:space-between;gap:10px;font-size:11px}.fact-row .label{color:var(--muted)}.fact-row strong{font-weight:500;text-align:right}.meter{height:5px;background:#f2efe5;border:0;border-radius:1px;position:relative;overflow:visible;margin-top:7px}.meter>span{display:block;height:100%;background:var(--mint);max-width:100%;border-radius:1px}.meter.amber>span{background:var(--amber)}.meter.blue>span{background:var(--blue)}.meter.red>span{background:var(--red)}.meter .threshold{position:absolute;left:62.5%;top:-3px;bottom:-3px;width:0;border-left:1px dashed #3d6758aa}.field-row{margin-bottom:15px}.field-row:last-child{margin-bottom:0}.field-label{display:flex;justify-content:space-between;font-size:11px;gap:10px}.field-label .field-name{display:flex;align-items:center;gap:7px;color:var(--muted)}.field-label strong{font-weight:500}.helper{font-size:10px;color:var(--subtle);line-height:1.7}.agi-foot{padding:12px 18px;background:#f2efe5;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:8px}.section-gap{margin-top:22px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:12px}.section-title h2{font-size:14px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.event-card{display:flex;gap:12px;text-align:left;width:100%;padding:15px;background:#f2efe5;border:1px solid var(--line);border-radius:8px}.event-card:hover{background:#f2efe5}.event-symbol{width:32px;height:34px;border-radius:6px;background:#f2efe5;color:var(--mint);display:grid;place-items:center;flex:0 0 auto}.event-symbol.warning,.event-symbol.supply{background:#f2efe5;color:var(--amber)}.event-symbol.decision{background:#f2efe5;color:var(--blue)}.event-copy{min-width:0}.event-date{font-size:10px;color:var(--subtle);margin-bottom:4px}.event-copy h3{font-size:11px;font-weight:550;line-height:1.65}.event-arrow{margin-left:auto;color:var(--subtle);align-self:center}.turnbar{position:fixed;left:var(--nav);bottom:0;right:0;padding:13px 29px;background:#f2efe5ed;border-top:1px solid #f2efe5;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;z-index:15;gap:15px}.turn-status{display:flex;align-items:center;gap:10px;min-width:0;font-size:11px;color:var(--muted)}.turn-status strong{color:var(--ink);font-weight:500}.turn-actions{display:flex;gap:8px;align-items:center}.turn-actions .btn{padding:11px 17px;min-width:110px}.turn-actions .btn-primary{min-width:143px}.save-hint{font-size:10px;color:var(--subtle);margin-right:8px}.action-dot{background:var(--amber);width:5px;height:5px;border-radius:50%}.pending-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #f2efe5;background:#f2efe5;border-radius:7px;font-size:11px;margin-bottom:16px}.pending-banner .text-button{margin-left:auto}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.full-span{grid-column:1/-1}.flow-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.small-stat{padding:17px 18px;border:1px solid var(--line);background:var(--panel);border-radius:8px}.small-stat label{font-size:11px;color:var(--muted)}.small-stat strong{font-size:23px;font-weight:550;display:block;margin:7px 0}.small-stat small{font-size:10px;color:var(--subtle)}.chart{width:100%;height:150px;display:block}.chart .axis-label{fill:var(--subtle);font-size:10px}.chart .grid-line{stroke:#f2efe5;stroke-width:.6}.chart .line{stroke:var(--mint);stroke-width:2;fill:none}.chart .projection{stroke:var(--mint);stroke-width:1.6;stroke-dasharray:4 4;fill:none;opacity:.6}.chart-note{display:flex;gap:17px;justify-content:space-between;margin-top:9px;font-size:10px;color:var(--muted)}.chart-note span{display:flex;align-items:center;gap:6px}.ledger-table,.data-table{width:100%;border-collapse:collapse;font-size:12px}.ledger-table td,.data-table td,.data-table th{padding:12px 0;border-bottom:1px solid #f2efe5;text-align:left}.data-table th{color:var(--subtle);font-size:10px;font-weight:400}.ledger-table td:last-child,.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.ledger-table .total td{border-top:1px solid var(--subtle);border-bottom:0;font-weight:600;color:var(--ink)}.ledger-table td:first-child{color:var(--muted)}.data-table tr:last-child td{border-bottom:0}.allocation{padding:16px 0;border-top:1px solid var(--line)}.allocation:first-child{border-top:0;padding-top:0}.allocation label{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}.allocation strong{font-weight:500;color:var(--mint);font-size:12px}.allocation input[type=range]{width:100%;accent-color:var(--mint);margin:15px 0 4px;height:5px;cursor:pointer}.allocation .helper{font-size:10px}.split-bar{display:flex;height:8px;overflow:hidden;background:#f2efe5;gap:2px;border-radius:2px;margin:16px 0 9px}.split-bar>span{background:var(--mint)}.split-bar>span.blue{background:var(--blue)}.split-bar>span.amber{background:var(--amber)}.split-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px}.dot{width:6px;height:6px;background:var(--mint);border-radius:50%;display:inline-block;margin-right:5px}.dot.blue{background:var(--blue)}.dot.amber{background:var(--amber)}.action-stack{display:grid;gap:8px}.subsection{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.subsection h3{font-size:12px;margin-bottom:8px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 19px}.filter{border:1px solid var(--line);background:#f2efe5;border-radius:5px;color:var(--muted);font-size:11px;padding:7px 11px}.filter.active{border-color:#3d6758;background:#f2efe5;color:var(--mint)}.filter:hover{color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:207px}.project-card.complete{border-color:#f2efe5;background:#f2efe5}.project-card.future{background:#f2efe5}.project-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.project-id{font-size:10px;letter-spacing:1px;color:var(--subtle)}.project-name{font-size:14px;margin-bottom:7px;font-weight:600}.project-description{font-size:11px;color:var(--muted);line-height:1.8;min-height:38px}.project-effect{font-size:10px;color:var(--mint);margin:11px 0 14px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.project-bottom strong{font-weight:500;font-size:13px}.project-bottom small{font-size:10px;color:var(--subtle)}.active-project{padding:13px 0;border-bottom:1px solid var(--line)}.active-project:first-child{padding-top:0}.active-project:last-child{border:0}.active-project .label{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:8px}.active-project .helper{margin-top:8px}.empty{padding:32px 20px;text-align:center;color:var(--muted);font-size:12px}.empty .icon{margin:0 auto 12px;width:28px;height:28px;color:var(--subtle)}.empty p{margin-bottom:5px}.readiness{display:grid;gap:12px;margin:15px 0}.readiness-row{font-size:11px;display:flex;gap:8px;align-items:center;color:var(--muted)}.readiness-row .icon{color:var(--mint);width:14px;height:14px}.readiness-row.missing .icon{color:var(--amber)}.infra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.infra-card .panel-body{padding-top:0}.infra-art{height:145px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 75%,#f2efe555,transparent 65%),linear-gradient(180deg,#f2efe5,#f2efe5);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.infra-art:before{content:"";position:absolute;inset:-40% 0 0;background-image:linear-gradient(#4b656c18 1px,transparent 1px),linear-gradient(90deg,#4b656c18 1px,transparent 1px);background-size:23px 23px;transform:perspective(240px) rotateX(50deg);transform-origin:bottom}.facility-art{position:relative;width:150px;height:115px;fill:none;stroke:#3d6758;stroke-width:1.5}.facility-art .solid{fill:#f2efe5;stroke:#3d6758}.facility-art .side{fill:#f2efe5;stroke:#3d6758}.facility-art .lit{fill:var(--mint);stroke:none}.facility-art .base{fill:#f2efe5;stroke:#4b656c}.infra-location{font-size:10px;color:var(--subtle);display:flex;align-items:center;gap:5px;margin-bottom:14px}.infra-value{font-size:27px;margin-bottom:3px;letter-spacing:-.8px;font-weight:500}.infra-value span{font-size:12px;color:var(--muted);letter-spacing:0}.infra-card .fact-row{padding:8px 0;border-bottom:1px solid #f2efe5;font-size:11px}.infra-card .btn{margin-top:15px}.inline-notice{padding:13px 15px;border:1px solid #f2efe5;border-radius:7px;background:#f2efe5;font-size:11px;color:var(--muted);display:flex;gap:10px;line-height:1.8}.inline-notice .icon{color:var(--blue);margin-top:2px}.contract-list{display:grid;gap:13px}.contract{padding:19px;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:43px minmax(0,1fr) auto;gap:15px;align-items:center}.contract-icon{width:43px;height:45px;border:1px solid #f2efe5;border-radius:8px;display:grid;place-items:center;background:#f2efe5;color:var(--mint)}.contract h3{font-size:13px;margin:5px 0}.contract-details{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:7px}.contract-meta{text-align:right;font-size:12px}.contract-meta small{display:block;font-size:10px;color:var(--subtle);margin-top:5px}.rival-row{padding:14px 0;border-bottom:1px solid var(--line)}.rival-row:last-child{border:0}.rival-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.rival-label strong{font-weight:500}.rival-style{font-size:10px;color:var(--subtle);margin:4px 0 9px}.rival-bars{display:flex;gap:3px;height:22px;align-items:flex-end}.rival-bars span{flex:1;background:#4b656c;border-radius:1px 1px 0 0}.rival-bars span:nth-child(3){background:#956c2c}.timeline{display:grid;gap:0}.timeline-row{position:relative;padding:0 0 24px 30px;border-left:1px solid var(--line);margin-left:7px}.timeline-row:before{content:"";position:absolute;left:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--subtle);border:2px solid var(--panel)}.timeline-row.milestone:before,.timeline-row.agi:before{background:var(--mint)}.timeline-row.warning:before,.timeline-row.supply:before{background:var(--amber)}.timeline-row:last-child{padding-bottom:0;border-left-color:transparent}.timeline-row .event-date{font-size:10px;margin-bottom:6px}.timeline-row h3{font-size:13px;margin-bottom:7px}.timeline-row p{font-size:11px;color:var(--muted);line-height:1.9;max-width:640px}.ending-hero{padding:25px;background:linear-gradient(110deg,#f2efe5,#f2efe5);border-bottom:1px solid var(--line)}.ending-hero h2{font-size:24px;margin:8px 0}.ending-hero p{font-size:12px;color:var(--muted);line-height:1.9}.preview-note{font-size:10px;color:var(--subtle);margin-top:20px;line-height:1.9}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#f2efe5bb;backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px;animation:appear .15s ease-out}.modal{width:min(630px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #4b656c;background:#f2efe5;border-radius:12px;box-shadow:0 30px 130px #0009}.modal.wide{width:min(820px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 25px 0}.modal-head h2{font-size:21px;letter-spacing:-.7px}.modal-body{padding:20px 25px 25px}.modal-intro{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:16px 25px;border-top:1px solid var(--line);background:#f2efe5}.choice-list{display:grid;gap:10px}.choice{width:100%;background:#f2efe5;border:1px solid #f2efe5;padding:16px;border-radius:8px;text-align:left;display:flex;align-items:center;gap:13px}.choice:hover{border-color:#3d6758;background:#f2efe5}.choice strong{display:block;font-size:13px;font-weight:550;margin-bottom:5px}.choice p{font-size:11px;color:var(--muted)}.choice-price{margin-left:auto;white-space:nowrap;color:var(--mint);font-size:12px;text-align:right}.choice-price small{display:block;font-size:10px;color:var(--subtle);margin-top:3px}.choice .icon{color:var(--subtle)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:grid;gap:7px;font-size:11px;color:var(--muted)}.form-field input,.form-field select{background:#f2efe5;border:1px solid #4b656c;color:var(--ink);border-radius:6px;padding:10px 11px;min-width:0;width:100%}.country-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.country-choice{padding:16px;text-align:left;background:#f2efe5;border:1px solid var(--line);border-radius:7px}.country-choice.active{border-color:#3d6758;background:#f2efe5}.country-choice strong{display:block;font-size:14px;font-weight:550;margin-bottom:5px}.country-choice small{display:block;color:var(--muted);font-size:10px;line-height:1.8}.country-tag{font-size:10px;color:var(--mint);display:block;margin-bottom:6px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.detail-stat{background:#f2efe5;padding:13px;border-radius:6px}.detail-stat span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.detail-stat strong{font-size:16px;font-weight:500}.detail-section{margin:17px 0}.detail-section h3{font-size:12px;margin-bottom:7px}.detail-section p{font-size:11px;color:var(--muted);line-height:1.9}.rule-list{padding:0;list-style:none;display:grid;gap:10px;margin:15px 0}.rule-list li{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:flex-start}.rule-list .icon{width:14px;height:14px;color:var(--mint);margin-top:2px}.pending-row{display:flex;gap:12px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.pending-row small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.key{font-size:10px;background:#f2efe5;border:1px solid #4b656c;border-radius:4px;padding:1px 5px;color:var(--muted)}.toast{position:fixed;bottom:91px;left:50%;transform:translate(-50%,15px);z-index:160;max-width:min(540px,90vw);padding:12px 17px;background:#f2efe5;border:1px solid #3d6758;border-radius:8px;color:#29332f;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 40px #0005}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#f2efe5;border-color:#a14d3b;color:#29332f}.notice-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.notice-row span{font-size:12px}.notice-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.ending-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.ending-option{border:1px solid var(--line);padding:12px;background:#f2efe5;border-radius:6px}.ending-option strong{font-size:11px;font-weight:550}.ending-option p{color:var(--muted);font-size:10px;margin-top:5px;line-height:1.8}.fund-bar{display:flex;gap:2px;height:10px;margin:12px 0 9px;border-radius:2px;overflow:hidden}.fund-bar span:first-child{background:var(--mint)}.fund-bar span:last-child{background:#4b656c}.hint-list{display:grid;gap:11px}.hint-list p{font-size:11px;line-height:1.8;color:var(--muted)}.hint-list strong{color:var(--ink);font-weight:500}.mobile-brand{display:none}
@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){:root{--nav:192px}.content{padding:29px 34px 120px}.world-grid{grid-template-columns:minmax(0,1fr) 320px;gap:22px}.map-canvas{aspect-ratio:1.88}.metric{padding:20px 23px}.page-heading{margin-bottom:24px}.metric-value{font-size:30px}.region-facts{gap:15px;padding:19px}.field-row{margin-bottom:18px}}
@media(max-width:1230px){:root{--nav:150px}.sidebar{padding-inline:10px}.brand{font-size:19px;gap:6px}.brand-note{font-size:10px}.nav-btn{padding:12px;gap:11px}.content{padding:22px 20px 115px}.topbar{padding:0 21px}.world-grid{grid-template-columns:minmax(0,1fr) 260px;gap:14px}.two-column{grid-template-columns:minmax(0,1fr) 277px;gap:15px}.metric{padding:15px}.metric-value{font-size:24px}.metric-note{font-size:10px}.metric-spark{display:none}.map-top{align-items:flex-start;flex-direction:column;gap:10px}.map-canvas{aspect-ratio:1.7;min-height:295px}.map-info{font-size:10px}.map-legend{gap:12px;padding:11px 13px}.event-grid{gap:9px}.event-card{padding:12px;gap:9px}.infra-grid{gap:12px}.contract{grid-template-columns:36px minmax(0,1fr) auto;gap:11px;padding:16px}.contract-icon{width:36px;height:39px}.contract-details{gap:8px}.save-hint{display:none}.top-actions .pill{display:none}}
@media(max-width:1040px){:root{--nav:76px}.sidebar{padding:25px 10px 18px}.brand{padding:0;justify-content:center}.brand .brand-word,.brand-note,.nav-label,.nav-btn span,.sidebar-bottom .sidebar-button span,.phase-mini,.sidebar-footer{display:none}.brand-mark{grid-template-columns:repeat(3,5px);gap:4px}.brand-mark i{height:5px}.nav{margin-top:32px}.nav-btn{justify-content:center;padding:14px 0}.nav-count{position:absolute;right:4px;top:4px;display:block!important}.sidebar-bottom{padding-inline:0;align-items:center}.world-grid{grid-template-columns:minmax(0,1fr) 260px}.two-column{grid-template-columns:minmax(0,1fr) 255px}.project-grid{grid-template-columns:1fr}.flow-stats{gap:10px}.small-stat{padding:14px}.small-stat strong{font-size:20px}.event-grid{grid-template-columns:1fr 1fr}.event-card:nth-child(3){display:none}.infra-grid{grid-template-columns:repeat(2,1fr)}.page-heading h1{font-size:23px}.turnbar{padding:13px 20px}.turn-status .turn-detail{display:none}.contract-details{max-width:300px}}
@media(max-width:820px){.world-grid,.two-column{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr;align-items:start}.side-stack .panel{height:100%}.map-canvas{aspect-ratio:1.85}.two-column>aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-column>aside>.panel{margin-top:0}.two-column>aside .panel:last-child:first-child{grid-column:1/-1}.project-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(3){border-left:0;border-top:1px solid var(--line)}.metric:nth-child(4){border-top:1px solid var(--line)}.topbar{padding:0 18px}.top-actions .date small{display:none}.heading-actions .btn{font-size:10px}.date{font-size:11px}.org-context{font-size:10px}.turn-status{font-size:10px}.contract{grid-template-columns:36px minmax(0,1fr)}.contract-meta{grid-column:2;text-align:left;margin-top:-5px}.contract-meta small{display:inline;margin-left:6px}.form-grid{gap:12px}}
@media(max-width:580px){:root{--nav:0px}.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:0;inset:auto;border-right:0;border-bottom:1px solid var(--line);display:block}.brand,.sidebar-bottom{display:none}.nav{margin:0;display:flex;justify-content:space-around;gap:0;padding:7px 8px}.nav-btn{flex:1;display:flex;flex-direction:column;gap:3px;padding:7px 0}.nav-btn span{display:block;font-size:10px}.nav-btn.active:before{display:none}.nav-btn .icon{width:17px;height:17px}.nav-count{right:9px;top:0}.topbar{min-height:66px;padding:0 16px;gap:10px}.org-avatar{width:28px;height:28px}.org-name{font-size:12px}.org-context{font-size:10px}.top-actions{gap:7px}.top-actions .divider,.top-actions .date{display:none}.content{padding:20px 15px 120px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:17px}.page-heading h1{font-size:23px}.page-subtitle{font-size:10px;line-height:1.8;max-width:235px}.eyebrow{font-size:10px;letter-spacing:1.6px}.heading-actions{gap:4px;flex-wrap:wrap;justify-content:flex-end}.heading-actions .btn{padding:7px}.heading-actions .btn .icon{width:13px;height:13px}.metrics{margin-bottom:15px}.metric{padding:14px}.metric-value{font-size:24px}.metric-note{font-size:10px;white-space:normal}.world-grid{gap:14px}.map-top{padding:14px;flex-direction:row;align-items:center;flex-wrap:wrap}.map-title{font-size:11px}.tab{font-size:10px;padding:5px 7px}.map-canvas{min-height:228px;aspect-ratio:1.5}.map-ocean{font-size:12px}.map-info{left:12px;top:10px;font-size:10px;gap:5px}.map-credit{font-size:10px;right:10px;bottom:9px}.map-coords{left:10px;bottom:9px;font-size:10px}.map-legend{font-size:10px;gap:9px}.map-legend .legend-item:last-of-type{display:none}.region-select{max-width:130px;font-size:10px}.bottleneck{padding:13px;gap:9px}.bottleneck .text-button{font-size:0}.bottleneck .text-button .icon{width:18px;height:18px}.bottleneck h3{font-size:11px}.bottleneck p{font-size:10px}.side-stack{grid-template-columns:1fr}.side-stack .panel{height:auto}.region-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.region-facts .fact-row{flex-direction:column;gap:3px}.region-facts .fact-row strong{text-align:left}.region-facts .fact-row:last-child{grid-column:1/-1}.region-cover{padding:15px 18px}.region-cover h2{font-size:19px}.region-panel .btn{grid-column:1/-1}.field-row{margin-bottom:14px}.event-grid{grid-template-columns:1fr}.event-card:nth-child(2){display:none}.turnbar{left:0;padding:11px 13px;flex-wrap:wrap;gap:8px}.turn-status{flex:1;min-width:120px}.turn-actions{gap:6px}.turn-actions .btn{min-width:0;padding:10px 12px;font-size:11px}.turn-actions .btn-primary{min-width:109px}.turn-actions .btn .icon{width:14px}.turn-actions .btn:not(.btn-primary){padding-inline:10px}.two-column>aside{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-card{min-height:190px;padding:17px}.flow-stats{grid-template-columns:repeat(3,1fr);gap:7px}.small-stat{padding:11px}.small-stat label{font-size:10px}.small-stat strong{font-size:18px}.small-stat small{font-size:10px}.infra-grid{grid-template-columns:1fr}.infra-art{height:155px}.filters{gap:5px}.filter{font-size:10px;padding:6px 9px}.panel-head{padding:15px 17px}.panel-body{padding-inline:17px}.contract{padding:15px;gap:11px}.contract h3{font-size:12px}.contract-details{font-size:10px;gap:6px}.contract-meta{font-size:11px}.data-table{font-size:10px}.data-table th{font-size:10px}.data-table td{padding:11px 3px}.modal-backdrop{padding:12px}.modal{max-height:calc(100vh - 24px)}.modal-head{padding:20px 19px 0}.modal-head h2{font-size:18px}.modal-body{padding:16px 19px 20px}.modal-actions{padding:14px 19px}.modal-intro{font-size:11px}.form-grid{grid-template-columns:1fr}.country-grid{gap:8px}.country-choice{padding:13px}.detail-grid{gap:6px}.detail-stat{padding:11px}.detail-stat span{font-size:10px}.detail-stat strong{font-size:14px}.choice{padding:14px;gap:8px}.choice strong{font-size:12px}.choice p{font-size:10px}.choice-price{font-size:10px}.toast{bottom:94px;font-size:11px}.ending-grid{grid-template-columns:1fr}.inline-notice{font-size:10px;padding:12px}.mobile-brand{display:block}.section-title h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Beta operations and compact, locally scrolling data tables. */
.beta-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:3px 0 18px}.beta-stats small{display:block;color:var(--muted);margin-bottom:6px}.beta-stats strong{font-size:22px;font-weight:600;letter-spacing:-.6px}.beta-actions{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.table-scroll{overflow-x:auto;max-width:100%;margin-bottom:14px}.table-scroll .data-table{min-width:480px}.table-scroll td{vertical-align:middle;overflow-wrap:anywhere}.table-scroll td .btn{margin:3px}.table-scroll tr:last-child td{border-bottom:0}.beta-infra-value{font-size:22px!important;line-height:1.5;min-height:66px}.panel-body>.helper+.helper{margin-top:9px}.panel{min-width:0}.modal .detail-section p+p{margin-top:9px}.beta-disabled{opacity:.55;pointer-events:none}
/* Foldable secondary panels on dense pages: summary keeps key facts visible while collapsed. */
.fold-panel>summary{display:flex;align-items:center;gap:12px;padding:17px 19px;cursor:pointer;list-style:none}.fold-panel>summary::-webkit-details-marker{display:none}.fold-panel>summary h2{font-size:14px}.fold-summary{flex:1;min-width:0;text-align:right;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.fold-panel>summary:after{content:'▸';color:var(--subtle);font-size:12px;flex-shrink:0}.fold-panel[open]>summary:after{content:'▾'}.fold-panel>.panel-body{padding:0 19px 19px}
@media(max-width:580px){.fold-panel>summary{padding:15px 17px;gap:8px}.fold-summary{font-size:10px}}
@media(max-width:650px){.beta-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.beta-stats strong{font-size:18px}.beta-actions .btn{font-size:11px}.beta-infra-value{min-height:0}.turn-actions{gap:5px}.turn-actions .btn{padding-left:9px;padding-right:9px}}

/* Model development and treasury controls share the existing panel rhythm. */
.strategy-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.strategy-form .form-field{min-width:0}.strategy-form select,.strategy-form input{width:100%;min-width:0}.model-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:20px 0}.model-stages li{padding:12px 10px;background:var(--panel-deep,#f2efe5);border:1px solid var(--line,#f2efe5);border-radius:10px;min-width:0}.model-stages li.active{border-color:#3d6758;background:#f2efe5}.model-stages span{display:block;color:#3d6758;font:12px monospace;margin-bottom:8px}.model-stages strong{display:block;font-size:12px;line-height:1.5}.model-stages small{display:block;color:#4b656c;font-size:10px;line-height:1.7;margin-top:6px}.era-notes{margin:12px 0 20px}.era-notes p{margin:8px 0}@media(max-width:700px){.strategy-form{grid-template-columns:1fr}.model-stages{grid-template-columns:1fr}.model-stages li{display:grid;grid-template-columns:24px 1fr;gap:4px 8px}.model-stages span{grid-row:span 2}.model-stages small{margin-top:0}}
/* Flagship operations and model registry */
.flagship-panel{border-color:#f2efe5;background:linear-gradient(120deg,#f2efe5,#f2efe5 58%)}.flagship-panel .panel-head{align-items:center;gap:12px}.flagship-panel h2 small{display:inline-block;font-size:11px;font-weight:400}.model-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.model-stat{padding:17px 20px;min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.model-stat small{font-size:11px;color:var(--muted)}.model-stat strong{font-size:23px;line-height:1.2;font-weight:600;overflow-wrap:anywhere}.model-stat>span{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.model-stat.loss strong{color:var(--red)}.model-stat.gain strong{color:var(--mint)}.model-footer{padding:13px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted)}.model-footer small{font-size:10px}.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.resource-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.resource-summary>strong{font-size:25px}.resource-summary small{font-size:12px;color:var(--muted)}.resource-summary>span{font-size:11px}.model-resource-bar{height:15px;border-radius:4px;overflow:hidden;display:flex;margin:17px 0 12px;background:var(--line)}.model-resource-bar span{display:block;min-width:0}.research{background:var(--mint)}.serving{background:var(--blue)}.validation{background:var(--amber)}.idle{background:#4b656c}.resource-key{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;margin-bottom:15px;color:var(--muted)}.resource-key i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}.resource-key strong{margin-left:5px;color:var(--ink)}.memory-stats{margin:18px 0}.memory-stats strong{font-size:19px}.token-chart{margin:20px 0 12px}.token-chart svg{display:block;width:100%;height:150px;overflow:visible}.token-chart figcaption{color:var(--muted);font-size:10px}.model-assumption{font-size:11px;color:var(--muted);margin:-6px 4px 24px;max-width:1000px}.version-tree{display:grid;gap:14px;border-left:1px solid #f2efe5;margin-left:5px;padding-left:20px}.version-node{position:relative;border:1px solid var(--line);border-radius:8px;padding:17px;background:#f2efe5;min-width:0}.version-node:before{content:'';position:absolute;left:-26px;top:26px;width:9px;height:9px;border-radius:50%;background:#3d6758;border:2px solid var(--panel)}.version-node.selected{border-color:#3d6758;background:#f2efe5}.version-node.selected:before{background:var(--mint)}.version-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.version-head h3{font-size:18px}.version-head small{font-size:10px;overflow-wrap:anywhere}.version-node p{font-size:12px;color:var(--muted)}.version-facts{display:flex;flex-wrap:wrap;gap:5px 20px;font-size:11px;color:var(--muted);margin-top:10px}.version-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:13px;padding-top:12px;font-size:11px}.tech-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tech-tree section{min-width:0}.tech-tree h3{margin-bottom:12px;color:var(--muted);font-size:12px}.model-tree-node{border-left:2px solid var(--line);padding:7px 0 9px 12px;display:grid;gap:4px;min-width:0}.model-tree-node.done{border-color:var(--mint)}.model-tree-node.active{border-color:var(--blue)}.model-tree-node small{font-size:10px;color:var(--muted)}.model-tree-node button{text-align:left;background:transparent;border:0;padding:0;font-size:12px;overflow-wrap:anywhere}.model-tree-node button:hover{color:var(--mint)}
@media(max-width:1100px){.model-stat{padding:14px}.model-stat strong{font-size:20px}.memory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-tree{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.model-stats,.finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.model-stat{padding:13px 11px}.model-stat strong{font-size:19px}.model-footer{padding:12px;gap:8px}.flagship-panel .panel-head{align-items:flex-start;flex-wrap:wrap}.flagship-panel h2 small{display:block;margin-top:6px}.tech-tree{grid-template-columns:minmax(0,1fr)}.version-tree{padding-left:13px}.version-node{padding:13px}.version-node:before{left:-19px}.version-head{flex-wrap:wrap}.token-chart svg{height:100px}}
.capital-panel{border-color:#4b656c}.cap-ownership{display:flex;overflow:hidden;height:13px;border-radius:4px;background:var(--line);margin:18px 0}.cap-ownership span{display:block}.cap-founder{background:var(--mint)}.cap-seed{background:var(--blue)}.cap-fund,.cap-legacy{background:#4b656c}.cap-community{background:var(--amber)}.capital-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.capital-compare>div{padding:16px;border:1px solid var(--line);border-radius:7px}.capital-compare strong{font-size:12px}.capital-compare p{font-size:11px;color:var(--muted);margin-top:7px}.capital-history summary{cursor:pointer;color:var(--mint);font-size:12px;margin-bottom:12px}.capital-offers{display:grid;gap:14px;margin-top:18px}.capital-offer{border:1px solid var(--line);background:#f2efe5;border-radius:8px;padding:18px}.capital-offer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.capital-offer-facts>div{display:grid;gap:4px;min-width:0}.capital-offer-facts small{font-size:10px;color:var(--muted)}.capital-offer-facts strong{font-size:15px;overflow-wrap:anywhere}.capital-offer>.btn{margin-top:14px}.capital-panel .panel-head{flex-wrap:wrap;gap:10px}@media(max-width:650px){.capital-compare,.capital-offer-facts{grid-template-columns:minmax(0,1fr)}.capital-offer{padding:14px}.capital-panel .data-table{min-width:390px}}
.exit-panel{border-color:#956c2c}.exit-panel>.panel-body>.model-stats{margin-bottom:15px}.exit-panel .model-stat strong{font-size:20px}.exit-panel .panel-head{gap:12px;flex-wrap:wrap}
/* Campaign objectives use game time and keep their score separate from the economy. */
.quest-tracker{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;margin:0 0 22px;border:1px solid #f2efe5;border-left:3px solid var(--mint,#3d6758);border-radius:8px;background:#f2efe5}.quest-tracker-copy{display:grid;gap:4px;min-width:0}.quest-tracker-copy small{color:#3d6758;font-size:10px}.quest-tracker-copy strong{font-size:14px}.quest-tracker-copy>span{color:var(--muted);font-size:11px;line-height:1.6}.quest-tracker-actions,.quest-card-actions{display:flex;gap:7px;flex-wrap:wrap;flex-shrink:0}.quest-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:8px;background:var(--line);overflow:hidden;margin-bottom:18px}.quest-summary>div{background:#f2efe5;padding:18px}.quest-summary small,.quest-summary strong{display:block}.quest-summary small{color:var(--muted);font-size:11px;margin-bottom:8px}.quest-summary strong{font-size:24px}.quest-intro{align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.quest-intro p{margin:6px 0 0;line-height:1.7}.quest-filters{display:flex;flex-wrap:wrap;margin-bottom:20px;gap:6px}.quest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quest-card{min-width:0;border:1px solid var(--line);border-radius:9px;background:#f2efe5;padding:20px;display:flex;flex-direction:column;gap:13px}.quest-tutorial{border-color:#3d6758;background:#f2efe5}.quest-event{border-color:#956c2c}.quest-card-top,.quest-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.quest-card-top .eyebrow{font-size:10px}.quest-card h2{font-size:18px;line-height:1.5;margin:0}.quest-card>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.quest-steps{padding:0;margin:0;list-style:none;font-size:12px;display:grid;gap:9px}.quest-steps li{display:flex;gap:8px;line-height:1.6}.quest-steps li>span{flex-shrink:0}.quest-steps .is-done{color:#3d6758}.quest-progress{height:4px;background:#f2efe5;border-radius:4px;overflow:hidden;margin-top:auto}.quest-progress>i{display:block;height:100%;background:#3d6758}.quest-card-bottom>small{font-size:10px;color:var(--muted)}.quest-done{opacity:.76}.quest-roadmap ol{padding:4px 20px;margin:0;list-style:none}.quest-roadmap li{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted)}.quest-roadmap li>div{flex:1;min-width:0;display:grid;gap:5px}.quest-roadmap li strong{font-size:13px}.quest-roadmap li small{font-size:10px}.quest-roadmap .is-current,.quest-roadmap .is-done{color:#3d6758}.quest-roadmap>p{padding:5px 20px 15px;line-height:1.8}.quest-history{padding:4px 20px}.quest-history>div{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;flex-wrap:wrap}.quest-history>div>span:first-child{font-size:10px;color:var(--muted)}.quest-history strong{flex:1;min-width:140px}.quest-footnote{line-height:1.8;margin-top:18px}
@media(max-width:700px){.quest-grid{grid-template-columns:1fr}.quest-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-summary>div{padding:15px}.quest-summary strong{font-size:21px}.quest-tracker{align-items:flex-start;flex-direction:column;gap:10px;padding:13px 15px}.quest-tracker-actions{align-self:flex-end}.quest-intro{flex-wrap:wrap}.quest-card{padding:17px}.quest-card h2{font-size:16px}.quest-roadmap .panel-head{flex-wrap:wrap;gap:8px}.quest-roadmap li{gap:9px}.quest-filters .filter{font-size:11px;padding:8px 10px}}
/* Beginner guidance shows a reviewable next action; it never spends resources itself. */
.beginner-guide{border:1px solid #3d6758;border-radius:9px;padding:18px 20px;margin:0 0 20px;background:#f2efe5}.guide-title{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.guide-title small{color:#3d6758;font-size:10px}.guide-title h2{font-size:17px;margin:7px 0 0;line-height:1.6}.beginner-guide>p{font-size:12px;color:var(--muted);line-height:1.8;margin:11px 0}.guide-facts,.guide-progress{display:flex;gap:9px 20px;flex-wrap:wrap;font-size:11px;line-height:1.7;color:var(--muted)}.guide-facts strong{color:var(--ink)}.guide-progress{margin:10px 0;padding:10px 0;border-top:1px solid #f2efe5}.guide-actions,.turn-result-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.guide-actions{margin-top:13px}.turn-result{display:flex;gap:10px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#f2efe5;border:1px solid var(--line);border-radius:8px;padding:13px 17px;margin-bottom:18px}.turn-result>div:first-child{display:grid;gap:6px;min-width:0}.turn-result strong{font-size:12px}.turn-result span,.turn-result>p{font-size:11px;color:var(--muted);line-height:1.7}.turn-result>p{margin:0;flex-basis:100%}.project-reason{line-height:1.6;margin:7px 0 12px;color:#956c2c!important}
@media(max-width:700px){.beginner-guide{padding:15px}.guide-title h2{font-size:15px}.guide-title{gap:7px}.guide-title>.btn{padding:5px 0}.guide-facts{gap:5px 13px}.turn-result{padding:12px 14px}.turn-result-actions{gap:5px}.guide-actions .btn{font-size:11px}.project-reason{font-size:10px}}
.technology-panel{border-color:#4b656c}.tech-paths{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tech-goal-bar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#f2efe5;padding:15px;border-radius:7px;margin:12px 0}.tech-goal-bar>div{display:grid;gap:6px;flex:1;min-width:180px}.tech-goal-bar small,.tech-goal-bar span{font-size:11px;color:var(--muted)}.tech-goal-bar strong{font-size:16px}.tech-graph-scroll{width:100%;max-height:540px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f2efe5;overscroll-behavior:contain}.tech-graph{position:relative}.tech-graph svg{position:absolute;inset:0;pointer-events:none}.tech-graph path{stroke:#4b656c;stroke-width:2;fill:none}.tech-graph path.known{stroke:#3d6758}.tech-depth{position:absolute;top:17px;font-size:11px;color:#4b656c}.tech-node{position:absolute;width:196px;height:82px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:10px 12px;border:1px solid #4b656c;border-radius:7px;background:#f2efe5;color:var(--ink);text-align:left;cursor:pointer}.tech-node small,.tech-node span{font-size:10px;color:var(--muted)}.tech-node strong{font-size:12px;line-height:1.4}.tech-node.known{border-color:#3d6758;background:#f2efe5}.tech-node.goal{border:2px solid #3d6758;box-shadow:0 0 0 3px #3d675820}.tech-node:hover{background:#f2efe5}.tech-policy{margin:20px 0;padding-top:17px;border-top:1px solid var(--line)}.tech-policy h3{font-size:13px}.tech-milestones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tech-milestone{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:15px;border:1px solid var(--line);border-radius:7px;background:#f2efe5;color:var(--ink);text-align:left;cursor:pointer;min-width:0}.tech-milestone small,.tech-milestone span{font-size:11px;color:var(--muted);line-height:1.7}.tech-milestone strong{font-size:13px;line-height:1.6}.tech-milestone.known{border-color:#3d6758}.tech-milestone:hover{background:#f2efe5}@media(max-width:700px){.tech-milestones{grid-template-columns:1fr}.tech-graph-scroll{max-height:440px}.tech-paths .btn{font-size:11px}.tech-goal-bar{padding:12px}.technology-panel .panel-head h2{font-size:15px}}
.tech-phase-panel{margin-bottom:22px}.tech-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:12px 0}.tech-phases li{padding:13px;border:1px solid var(--border,#f2efe5);border-radius:9px;display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--muted,#4b656c)}.tech-phases li.known{border-color:#3d6758}.tech-phases li[aria-current]{background:#f2efe5;border-color:#3d6758}.tech-phases small{font-size:10px}.tech-phases strong{font-size:13px;color:#29332f}.tech-phases span{font-size:11px;line-height:1.6}.tech-undiscovered{padding:12px;border:1px dashed #f2efe5;border-radius:8px}@media(max-width:700px){.tech-phases{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-phase-panel .section-title{align-items:flex-start;gap:8px;flex-wrap:wrap}}
.exchange-indices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.exchange-indices .panel-body{display:flex;flex-direction:column;gap:9px}.exchange-indices strong{font-size:24px}.exchange-indices small,.exchange-indices span{font-size:11px;color:#4b656c}.exchange-spark{display:block;width:120px;height:32px;color:#3d6758}.exchange-meta{display:block;font-size:10px;margin-top:5px}.exchange-meta.mint{color:#3d6758}.exchange-meta.red{color:#a14d3b}@media(max-width:900px){.exchange-indices{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.exchange-indices{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stock-chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.stock-chart-toolbar>div:first-child{display:flex;flex-direction:column;gap:8px}.stock-chart-toolbar strong{font-size:27px}.stock-chart-toolbar small,.stock-plot text{color:#4b656c;fill:#4b656c;font-size:11px}.stock-plot{margin:16px 0 6px;border:1px solid #f2efe5;border-radius:10px;background:#f2efe5}.stock-plot svg{display:block;width:100%;min-height:150px}.stock-grid{stroke:#f2efe5;stroke-width:1}.stock-series{stroke:#3d6758;stroke-width:2.4;fill:none;stroke-linejoin:round}.stock-series-1{stroke:#4b656c;stroke-dasharray:5 3}.stock-hit{fill:transparent;cursor:pointer}.stock-hit:hover{fill:#3d6758}.stock-dot{fill:#3d6758}.stock-event-line{stroke:#956c2c;stroke-width:1;stroke-dasharray:3 5;opacity:.4}.stock-event-dot{fill:#956c2c;stroke:#f2efe5;stroke-width:1.5;cursor:pointer}.stock-week-select{max-width:290px;margin:15px 0}.stock-chart-inspector{padding:17px;border:1px solid #f2efe5;border-radius:9px;background:#f2efe5}.stock-point-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.stock-point-summary h3{margin:0}.stock-point-summary strong{font-size:20px}.stock-point-summary small{font-size:12px}.stock-contributions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:17px 0}.stock-contributions>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.stock-contributions .stock-total{grid-column:1/-1;border-top:1px solid #f2efe5;padding-top:10px}.stock-point-events{padding-left:17px;font-size:12px;line-height:1.9}.stock-event-history{margin:18px 0;border-bottom:1px solid #f2efe5;padding-bottom:16px}.stock-event-history summary{cursor:pointer;font-size:13px}.stock-event-history>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px;max-height:210px;overflow:auto}.stock-sandbox{margin-top:24px}.stock-scenario-inputs select{max-width:100%;width:100%;font-size:12px;min-width:0}.stock-scenario-inputs td:first-child{width:56%}.stock-scenario-inputs td{padding:9px 5px}.stock-scenario-result:empty{display:none}.stock-scenario-result{margin-top:24px}.stock-chart-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:11px}.stock-chart-legend span{display:flex;align-items:center;gap:7px}.stock-chart-legend i{width:18px;height:3px;background:#3d6758}.stock-chart-legend span+span i{background:#4b656c}.stock-scenario-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stock-scenario-summary>div{display:flex;flex-direction:column;gap:8px}.stock-scenario-summary small{font-size:11px;color:#4b656c}.stock-scenario-summary strong{font-size:17px}.stock-chart .mint{color:#3d6758}.stock-chart .red{color:#a14d3b}@media(max-width:600px){.stock-contributions{grid-template-columns:1fr}.stock-point-summary{align-items:flex-start;flex-direction:column}.stock-chart-toolbar{align-items:flex-start;flex-wrap:wrap}.stock-scenario-summary{grid-template-columns:1fr}.stock-scenario-inputs{min-width:350px}.stock-chart .stock-plot text{font-size:13px}}
.stock-scenario-inputs select{padding:9px 8px;background:#f2efe5;color:#29332f;border:1px solid #4b656c;border-radius:6px}.stock-scenario-inputs select:focus-visible{outline:2px solid #3d6758;outline-offset:2px}@media(max-width:600px){.stock-chart .stock-scenario-inputs{display:block;min-width:0}.stock-scenario-inputs thead{display:none}.stock-scenario-inputs tbody{display:grid;gap:12px}.stock-scenario-inputs tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:#f2efe5;border:1px solid #f2efe5;border-radius:8px}.stock-scenario-inputs td{display:flex;flex-direction:column;gap:7px;padding:0;border:0}.stock-scenario-inputs td:first-child{grid-column:1/-1;width:100%}.stock-scenario-inputs td:before{font-size:11px;color:#4b656c}.stock-scenario-inputs td:first-child:before{content:'가정 사건'}.stock-scenario-inputs td:nth-child(2):before{content:'발생 시점'}.stock-scenario-inputs td:nth-child(3):before{content:'강도'}.stock-chart .stock-plot text{font-size:20px}}
