/* Super Principal: original block-world game UI. All artwork and textures are code drawn. */
:root{--ink:#183343;--navy:#183343;--navy-deep:#102634;--muted:#6e817d;--paper:#fffdf4;--cream:#edf4df;--line:#ccd9be;--green:#5a9e55;--grass:#a6e46e;--teal:#48c3b7;--gold:#ffd66d;--serif:'DM Sans',system-ui,sans-serif;--sans:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 3px 0 #132e3540;--gap:12px;--radius:9px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:var(--sans);font-size:14px;color:var(--ink);background-color:#d8e9cf;background-image:linear-gradient(90deg,#ffffff18 1px,transparent 1px),linear-gradient(#ffffff18 1px,transparent 1px);background-size:32px 32px;display:grid;grid-template-rows:58px minmax(0,1fr) 70px}button,input,select,a{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e7a22f;outline-offset:3px}h1,h2,h3,p{margin:0}button svg{pointer-events:none}.game-icon{width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;shape-rendering:crispEdges}.game-icon path[fill]{stroke:none}
/* Fixed-height shell. Long content lives in explicit detail dialogs. */
.topbar{background:var(--navy);color:#f2f8e4;border-bottom:3px solid #91c773;box-shadow:0 4px 0 #bdd3b4;z-index:10}.nav-wrap{height:100%;max-width:1600px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:9px;color:#fff9d8;text-decoration:none;font-size:25px;font-weight:850;letter-spacing:-1px;white-space:nowrap}.brand img{width:38px;height:38px;image-rendering:pixelated}.brand-tree{display:none}.top-nav,nav{display:flex;align-items:center;gap:6px}.nav-link{font-size:12px;font-weight:650;padding:8px 12px;border-radius:5px;color:#b7cec0}.nav-link.active,.nav-link:hover{background:#31505a;color:#f5ffe8}.utility-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.utility-actions button{min-height:34px;display:flex;gap:6px;align-items:center;font-size:11px;padding:6px 10px;color:#d9e9d3;border:1px solid #4a6770;border-bottom-width:3px;border-radius:5px}.utility-actions button:hover{background:#31505a}.utility-actions .game-icon{width:17px;height:17px}.edition{font-size:9px;letter-spacing:1.4px;color:#acc4b4;margin-left:auto}.mobile-help{display:none}.workspace{width:100%;max-width:1600px;min-height:0;margin:0 auto;padding:14px 24px;display:flex;flex-direction:column;gap:12px;overflow:visible}.school-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex:0 0 52px;min-height:0}.eyebrow{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.4px;font-weight:750;color:#6d896b}.live-dot{display:inline-block;width:7px;height:7px;background:#629c59;box-shadow:0 0 0 3px #629c5918;flex-shrink:0}.school-heading h1{font-family:var(--sans);font-size:27px;line-height:1.15;letter-spacing:-.8px;font-weight:800;display:flex;align-items:center;gap:8px;margin:3px 0 2px;min-width:0}.school-heading h1>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(60vw,650px)}.edit-name{font-size:17px;line-height:1;padding:4px;color:#708772}.school-heading p{font-size:10px;line-height:1.5;color:#789078;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-date{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 14px;text-align:right}.school-date>span:first-child{font-size:9px;letter-spacing:1px;color:#71876f;grid-column:1}.school-date strong{font-size:23px;font-weight:850;grid-column:2;grid-row:1/3;background:var(--paper);border:1px solid #ceddbf;border-bottom:3px solid #bdcfae;padding:7px 13px;border-radius:6px;white-space:nowrap}.school-date>span:last-child{font-size:8px;color:#83937c;grid-column:1}.timebar{flex:0 0 46px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;min-height:0;padding:6px 12px;border:1px solid #b8cda5;border-bottom:3px solid #adbf9c;border-radius:7px;background:#f2f7e9;overflow:hidden}.time-state{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;min-width:0}.time-state>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:7px;height:7px;display:inline-block;background:#e1ad43;flex-shrink:0}.running .status-dot{background:#58af6a;animation:pixel-pulse 1.8s infinite}.speed-controls,.speed-options{display:flex;align-items:center;gap:5px}.speed-label{font-size:8px;font-weight:700;letter-spacing:1px;color:#8b9a7f;margin-right:2px}.speed-options button,#pause{height:29px;min-width:31px;border:1px solid transparent;border-radius:4px;font-size:10px;font-weight:750;padding:0 7px;color:#678165}.speed-options button:hover,#pause:hover{background:#e3edda}.speed-options button.selected{background:var(--navy);color:var(--grass);border-bottom:3px solid #0e2430;box-shadow:0 2px 0 #263e4a20}#pause{background:#dceacf;border-bottom:3px solid #bfceaf;font-size:12px}.next-week{height:31px;padding:0 12px;background:var(--gold);border:1px solid #e5b84a;border-bottom:3px solid #d2a044;border-radius:4px;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:0 2px 0 #acb99c30}.next-week:hover{background:#ffe493}.next-week span{margin-left:7px}.time-progress{position:absolute;bottom:0;left:0;right:0;height:2px}.time-progress i{display:block;height:100%;background:#79aa61;width:0;transition:width .15s linear}
.dashboard{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);grid-template-rows:minmax(140px,1.05fr) 45px 65px minmax(175px,1fr);grid-template-areas:'campus vitals' 'region decision' 'ledger ledger' 'journal journal';gap:var(--gap);align-items:stretch}.paper-panel,.school-vitals{background:var(--paper);border:1px solid #cad9bb;border-bottom:3px solid #b6cba7;border-radius:var(--radius);box-shadow:0 3px 0 #3953450a;min-width:0;min-height:0}.campus{grid-area:campus;position:relative;overflow:hidden;border:2px solid #7eae78;border-bottom:5px solid #678d57;border-radius:10px;background:#9cdaeb;box-shadow:0 3px 0 #56784925;min-width:0;min-height:0}.campus>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 57%;image-rendering:pixelated;transition:filter 1s}.campus-wash{position:absolute;inset:0;background:linear-gradient(transparent 60%,#173d3e75);pointer-events:none}.campus-label{position:absolute;left:12px;top:11px;display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fffcebe8;border:1px solid #fff8cb;padding:6px 9px;border-radius:4px;color:#4c7953;box-shadow:2px 2px 0 #41644d22}.campus-label>span:last-child{overflow:hidden;text-overflow:ellipsis}.campus-bottom{position:absolute;bottom:12px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-end;gap:15px;color:#fffce5}.campus-location{font-size:8px;letter-spacing:1.5px;opacity:.8}.campus-bottom p{font-size:19px;line-height:1.15;letter-spacing:-.5px;font-weight:800;text-shadow:0 2px 0 #244c4b;margin-top:3px}.weather{font-size:8px;white-space:nowrap;opacity:.85}.cloud,.leaf{display:none!important}.pixel-kids{position:absolute;left:0;right:0;bottom:18px;height:70px;pointer-events:none;opacity:.85}.pixel-kids canvas{width:100%;height:70px;image-rendering:pixelated}.school-vitals{grid-area:vitals;display:flex;flex-direction:column;padding:12px;gap:8px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:9px;min-width:0}.section-heading h2{font-size:12px;font-weight:800;white-space:nowrap;letter-spacing:-.2px}.text-button{font-size:10px;font-weight:650;color:#5a8961;padding:3px 0}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.text-button span{margin-left:4px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px;flex:1;min-height:0}.metric{border:1px solid #d8e2ca;border-bottom:3px solid #c2d2b0;border-radius:5px;background:#f5f8ed;padding:8px 10px;text-align:left;position:relative;min-width:0;min-height:0;transition:background .15s,transform .15s}.metric:hover{background:#ecf3dc;transform:translateY(-1px)}.metric-top{display:flex;justify-content:space-between;align-items:center;line-height:1;margin-bottom:2px}.metric-symbol{font-size:13px;color:var(--metric)}.metric-change{font-size:8px;font-weight:700;color:#5e9961}.metric-change.negative{color:#b87a47}.metric-value{font-size:26px;font-weight:850;line-height:1.15;letter-spacing:-1px}.metric-total{font-size:8px;color:#91a083;margin-left:3px}.metric-label{display:block;font-size:9px;font-weight:650;color:#72846b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.metric-track{display:block;height:4px;margin-top:6px;background:#e1e9d5;overflow:hidden}.metric-track i{display:block;height:100%;background:var(--metric)}.metric.danger{background:#fff0de;border-color:#e0ac7c}.metric-warning{display:block;font-size:8px;line-height:1.2;color:#b26e43;margin-top:3px}
/* Collapsible context floats within the board, leaving the play viewport intact. */
.region-panel{grid-area:region;position:relative;z-index:6;border-radius:6px}.region-panel details{height:100%}.region-panel summary{height:100%;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;list-style:none;font-size:10px;color:#73856b}.region-panel summary::-webkit-details-marker{display:none}.region-panel summary:before{content:'▸';font-size:13px;color:#5a8e51}.region-panel details[open] summary:before{content:'▾'}.region-panel summary>span{margin-right:auto;font-weight:700}.region-panel summary strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#315746;max-width:50%}.region-compact{position:absolute;top:calc(100% + 4px);left:-1px;right:-1px;max-height:min(250px,40dvh);overflow:auto;padding:14px;background:#fffdf2;border:1px solid #b8cda4;border-bottom:4px solid #9bb28a;border-radius:5px;box-shadow:0 12px 24px #1d392a22;font-size:11px;line-height:1.65;color:#708267}.region-compact p{margin-bottom:9px}.region-compact button{padding:7px 10px;border:1px solid #bdd2b3;border-bottom:3px solid #a8c19e;border-radius:4px;background:#e8f1d9;font-size:10px;font-weight:750}.region-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.coverage-tag{display:inline-block;border:1px solid #c5d6b5;background:#edf5e2;border-radius:4px;padding:4px 6px;font-size:9px;color:#69855c;white-space:nowrap}.regional-review{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0;font-size:10px}.regional-review span{color:#829177}.decision-panel{grid-area:decision;display:flex;align-items:center;gap:10px;padding:7px 12px;overflow:hidden;border-color:#d7cb9d;background:#fff9df;border-bottom-color:#c7b777;border-radius:6px}.decision-panel>div{min-width:0}.decision-panel h2,.decision-panel h3{font-size:11px;line-height:1.3;font-weight:800}.decision-panel p{font-size:10px;color:#839078;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.5}.decision-panel .commit-button{margin:0 0 0 auto;width:auto;flex-shrink:0;padding:6px 10px;font-size:10px;min-height:29px}.decision-panel .text-button{white-space:nowrap;flex-shrink:0}.decision-panel .decision-label{margin:0;display:flex;gap:8px;align-items:center}.decision-panel .awaiting-state{padding:0;text-align:left}.decision-panel .awaiting-icon,.decision-panel .advisor,.decision-panel .decision-type{display:none}.needs-you{display:inline-flex;align-items:center;gap:5px;font-size:8px;font-weight:800;letter-spacing:.3px;background:#ffe5a2;color:#8b6934;padding:4px 6px;border-radius:3px;white-space:nowrap}.needs-you:before{content:'';width:5px;height:5px;background:#cf9e3f}.decision-launcher,.desk-summary{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.decision-launcher>div,.desk-summary>div{min-width:0;flex:1}.decision-launcher button,.desk-summary button{flex-shrink:0}.desk-copy{flex:1;min-width:0}.desk-icon{font-size:19px;color:#b78c3d}.desk-title{font-size:11px;font-weight:800}.desk-status{font-size:9px;color:#8b9276}
/* Full-width operating summary and report use the available table space. */
.ledger{grid-area:ledger;display:flex;align-items:center;gap:18px;padding:9px 15px;border-radius:7px;background:#233f4a;color:#e6f3df;border-color:#355862;border-bottom-color:#122c37}.ledger-summary{display:flex;align-items:center;gap:14px;flex-shrink:0}.ledger .section-heading{display:none}.bank-balance{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.bank-balance strong{font-size:25px;line-height:1.1;font-weight:850;letter-spacing:-.6px;color:#c4f48b}.bank-balance>span{font-size:8px;color:#b4c7bb}.ledger-population,.ledger-bottom{display:flex;gap:10px;align-items:center;font-size:9px;color:#b9ccbf;white-space:nowrap}.ledger-population strong,.ledger-bottom strong{color:#f3f7e4;font-weight:750}.small-icon{font-style:normal;margin-right:3px}.ledger-summary #finance-info{width:28px;height:28px;border:1px solid #54716c;background:#36565c;border-radius:4px;font-size:14px;color:#d2e8b7;flex-shrink:0}#ledger-detail{display:flex;align-items:center;justify-content:space-around;gap:16px;flex:1;min-width:0;border-left:1px solid #47616a;padding-left:20px}#ledger-detail>div{display:grid;gap:4px;min-width:0}#ledger-detail span{font-size:8px;line-height:1.3;color:#adc6b8;white-space:nowrap}#ledger-detail strong{font-size:13px;line-height:1.2;color:#f3f7e3;font-weight:750;white-space:nowrap}#ledger-detail p{font-size:8px;line-height:1.4;color:#a9c1b2;max-width:160px}.cash-negative,.cash-negative strong{color:#ffc18e!important}.ledger-net strong{color:#9ee1bc!important}
.journal{grid-area:journal;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.journal-head{flex:0 0 40px;display:flex;justify-content:space-between;align-items:stretch;border-bottom:1px solid #dce4ce;padding:0 13px;gap:12px;background:#f3f7eb}.tabs{display:flex;align-items:stretch;gap:20px;min-width:0}.tab{position:relative;font-size:11px;font-weight:700;color:#83927a;white-space:nowrap;padding:0 1px;border-bottom:3px solid transparent}.tab.active{color:#264c40;border-bottom-color:#4ba895}.tab:hover{color:#326b4d}.tab span{font-size:8px;margin-left:3px;background:#dce9cf;color:#65835e;padding:2px 4px;border-radius:2px}.journal-stamp{font-size:8px;letter-spacing:1px;color:#97a18a;align-self:center}.journal-expand,#journal-expand{font-size:11px;color:#5e8166;border-left:1px solid #dae4cd;padding:0 3px 0 13px;display:flex;align-items:center;gap:6px;white-space:nowrap}.journal-expand .game-icon,#journal-expand .game-icon{width:16px;height:16px}#journal-body{flex:1;min-height:0;padding:0 13px;overflow:hidden}.journal-pagination{flex:0 0 31px;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid #e0e7d6;padding:3px 12px;background:#fafcf4;font-size:9px;color:#84927b}.journal-pagination button{display:inline-grid;place-items:center;border:1px solid #d6e0c8;border-bottom:2px solid #c5d3b6;border-radius:3px;background:#f1f6e8;min-width:27px;height:23px;font-size:11px}.journal-pagination button:hover{background:#e7efd9}#journal-page{min-width:45px;text-align:center;font-size:9px}.operating-table{width:100%;table-layout:auto;border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:right}.operating-table th,.operating-table td{padding:7px 10px;line-height:1.35;white-space:nowrap;border-bottom:1px solid #e5eadb;font-size:11px}.operating-table th{color:#89957b;font-size:9px;letter-spacing:.2px;font-weight:700;padding-top:8px;padding-bottom:6px}.operating-table th:first-child,.operating-table td:first-child{text-align:left;padding-left:2px}.operating-table th:last-child,.operating-table td:last-child{padding-right:2px;width:75px}.operating-table td{color:#45654b;font-weight:650}.operating-table tbody tr:hover{background:#f2f7e8}.operating-table .positive{color:#31926d}.operating-table .negative{color:#b8734a}.operating-table button{font-size:9px;color:#527f61;background:#edf3e3;border:1px solid #d2dfc2;border-radius:3px;padding:3px 7px;min-height:24px;white-space:nowrap}.journal-row{display:grid;grid-template-columns:55px minmax(0,1fr) 42px;gap:12px;align-items:start;padding:11px 3px;width:100%;text-align:left;border-bottom:1px solid #e3e9d9;min-width:0}.journal-row:hover{background:#f0f5e7}.journal-row>div{min-width:0}.journal-row h3{font-size:11px;font-weight:750;line-height:1.4;margin-bottom:3px}.journal-row p{font-size:10px;color:#839279;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-week{font-size:9px;font-weight:750;color:#93a184;white-space:nowrap;line-height:1.5}.journal-row>span:last-child{font-size:8px;color:#7d9574}.journal-entry{display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #e2e9d7;min-width:0}.journal-entry>div{min-width:0}.journal-entry h3{font-size:11px;margin-bottom:4px}.journal-entry p{font-size:11px;line-height:1.65;color:#84927b}.journal-mark{display:none}.journal-mark.ledger{display:none}.empty-journal{font-size:11px;color:#86957e;padding:16px 0}.journal .plan-intro{padding:12px 0;font-size:11px}.journal .detail-heading{font-size:11px;margin:10px 0 5px}.journal .route-card{padding:9px 12px;font-size:11px}.journal .route-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal .outlook-chart{max-height:70px}.journal .outlook-row{font-size:10px;padding:4px 0}.journal .outlook-row>span:first-child{width:130px}.journal .outlook-row small{width:50px}.journal .health-note{font-size:9px}
/* Game settings dock: each labelled button remains reachable at every breakpoint. */
.game-dock{display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 18px calc(9px + env(safe-area-inset-bottom));background:#17323e;border-top:3px solid #405f5d;box-shadow:0 -3px 0 #92b17b55;z-index:10}.game-dock button{display:flex;align-items:center;justify-content:center;gap:10px;min-width:120px;max-width:220px;flex:1;height:44px;padding:7px 18px;border:1px solid #638680;border-bottom:4px solid #0b242e;border-radius:6px;background:#35565c;color:#f1f7df;font-size:12px;font-weight:800;text-shadow:0 1px 0 #1b3d43;box-shadow:inset 0 2px 0 #7f9c8a44,0 2px 0 #102833;transition:transform .12s,background .12s}.game-dock button:hover{background:#446d69;transform:translateY(-2px)}.game-dock button:active{transform:translateY(1px);border-bottom-width:2px;box-shadow:none}.game-dock button:first-child{background:#95c866;border-color:#b5df83;border-bottom-color:#4e8346;color:#173a31;text-shadow:none;box-shadow:inset 0 2px 0 #d8f1a277,0 2px 0 #102833}.game-dock button:nth-child(2){background:#53b7ac;border-color:#8bd8c3;border-bottom-color:#257c79;color:#153b3f;text-shadow:none}.game-dock button:nth-child(3){background:#e8c260;border-color:#f3da8e;border-bottom-color:#aa843c;color:#4a492b;text-shadow:none}.game-dock .game-icon{width:22px;height:22px}.game-dock span{line-height:1.2}footer{display:none}.tiny-dot{display:inline-block;width:5px;height:5px;background:var(--gold);margin-left:2px;vertical-align:super}
/* Accessible long-form windows, including choices, reports, plans and the library. */
dialog{width:min(850px,calc(100% - 32px));max-height:min(88dvh,900px);border:2px solid #6f9a77;border-bottom:6px solid #3d6a55;border-radius:10px;background:#fffdf3;color:var(--ink);padding:22px 26px;box-shadow:0 15px 0 #142f3630,0 25px 100px #102b3d5c;overflow:auto;scrollbar-gutter:stable}dialog::backdrop{background:#143445a8;backdrop-filter:blur(4px)}.modal-head,.decision-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.icon-button{display:inline-grid;place-items:center;min-width:32px;min-height:32px;font-size:23px;color:#607d65;border:1px solid #cad9bd;border-bottom:3px solid #b7cba8;border-radius:4px;background:#edf4e3}.icon-button:hover{background:#e0ecd1}.modal-title{font-size:30px;font-weight:850;line-height:1.2;letter-spacing:-.7px;margin-bottom:10px}.modal-subtitle{font-size:12px;color:#849078;line-height:1.7;margin-bottom:16px}.modal-copy{font-size:12px;line-height:1.85;color:#75866a}.modal-copy p{margin-bottom:12px}.modal-copy h3{font-size:14px;line-height:1.5;font-weight:800;color:#365941;margin:20px 0 8px}.modal-copy ul{padding-left:20px}.modal-copy li{margin:8px 0}.modal-copy a{color:#2e826e;text-underline-offset:3px}.modal-copy details{padding:10px 0}.modal-copy summary{cursor:pointer;font-weight:700;color:#3f7550}.form-label{display:block;margin:15px 0 7px;color:#6a845f;font-size:9px;letter-spacing:1.2px;font-weight:800}.name-input{width:100%;min-width:0;background:#f4f7e9;border:1px solid #bed0ae;border-bottom:3px solid #a9c098;border-radius:5px;padding:11px 12px;font-size:14px;color:#315444;outline:none}.name-input:focus{border-color:#66a683}.region-select{appearance:auto;font-size:13px}.search-country,.research-search{font-size:13px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.modal-actions button,.primary,.secondary-button{padding:11px 16px;border:1px solid #c6d8b5;border-bottom:3px solid #aec59a;border-radius:5px;background:#edf4e3;font-size:12px;font-weight:750}.primary,.modal-actions .primary{background:#a7d574;border-color:#8fb95f;border-bottom-color:#5b8a4c;color:#244c35}.primary:hover{background:#b7e28b}.health-note,.caveat{font-size:10px;line-height:1.75;color:#849077;padding:9px 0}.setup-context{background:#eff5e5;border-left:3px solid #a4c381;border-radius:0 5px 5px 0;padding:12px 15px;font-size:11px;color:#718568;line-height:1.75;margin-top:13px}.setup-context strong{font-weight:800;color:#3a6a49}.setup-context p{margin-top:5px}.setup-context .health-note{font-size:9px;padding:4px 0 0}.commit-button{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:13px 16px;margin-top:17px;min-height:44px;border:1px solid #3c8b69;border-bottom:4px solid #1c5b4a;border-radius:5px;background:#54b090;color:#fffef0;font-size:12px;font-weight:800;text-align:left;box-shadow:inset 0 2px 0 #a0d2af55,0 2px 0 #1c4e3b20}.commit-button:hover{background:#439d80}.after-button{margin-top:14px}.decision-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;border-top:1px solid #dce4cf;padding-top:13px}.secondary-button{background:#edf2e4;color:#71826b;min-height:40px}.decision-label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.decision-label h2{font-size:13px;font-weight:800}.advisor{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e0e8d2}.avatar{width:36px;height:40px;flex-shrink:0;background:#e3edd6;border-radius:4px;padding:4px;image-rendering:pixelated}.advisor strong{font-size:11px;display:block;font-weight:800}.advisor span{font-size:10px;display:block;color:#8a9780;margin-top:3px}.decision-type{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#8c9b79;margin-bottom:7px;font-weight:750}.decision-title{font-size:27px;font-weight:850;line-height:1.2;letter-spacing:-.6px;margin-bottom:12px}.decision-body{font-size:12px;line-height:1.8;color:#7b8a70}.choices{display:flex;flex-direction:column;gap:9px;margin-top:17px}.choice{display:block;position:relative;width:100%;text-align:left;padding:13px 14px;border:1px solid #d0dfbf;border-bottom:3px solid #bfd1ac;border-radius:5px;background:#f7f9ef;color:#3e634a;transition:background .15s,transform .15s}.choice:hover{border-color:#9fbc87;background:#f0f6e3}.choice.selected{background:#e8f4d9;border-color:#8fb76b;border-bottom-color:#648f50}.choice-line{display:flex;align-items:flex-start;gap:9px}.choice-radio{border:1px solid #9bb788;width:13px;height:13px;display:grid;place-items:center;flex-shrink:0;margin-top:2px;background:#fbfdf5}.choice.selected .choice-radio:after{content:'';width:7px;height:7px;background:#5c9551}.choice strong{font-size:12px;line-height:1.45;font-weight:750}.choice-cost{font-size:10px;font-weight:750;white-space:nowrap;margin-left:auto;color:#829070}.choice-description{display:block;font-size:11px;line-height:1.65;color:#8a967d;margin:6px 0 0 22px}.choice-impact{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0 22px}.plain-impact{margin-left:0}.impact{font-size:9px;line-height:1.3;border-radius:2px;padding:3px 5px;color:#5c8654;background:#e3eed6}.impact.down{color:#a77b49;background:#f5e7cf}.choice-unaffordable{display:block;font-size:9px;color:#b17e4e;margin:7px 0 0 22px}.decision-footnote{font-size:9px;text-align:center;color:#97a288;line-height:1.7;margin-top:12px}.decision-research-reminder,.evidence-note{margin:14px 0;padding:12px 14px;border-left:3px solid #9cbc7d;background:#eff5e5;border-radius:0 5px 5px 0}.decision-research-reminder>span,.evidence-heading{font-size:8px;letter-spacing:1px;color:#7f966a;font-weight:800}.decision-research-reminder p,.evidence-note p{font-size:11px;line-height:1.75;color:#718566;margin-top:6px}.decision-research-reminder small{display:block;font-size:9px;color:#97a087;line-height:1.6;margin-top:7px}.evidence-heading{display:flex;justify-content:space-between;align-items:center}.evidence-source{display:inline-block;font-size:9px;line-height:1.6;color:#7c986a;text-decoration:underline;text-underline-offset:3px;margin:7px 7px 0 0;text-align:left}.evidence-context{font-size:9px!important;color:#98a08a!important}.awaiting-state{padding:20px 0;text-align:center}.awaiting-icon{font-size:34px;color:#a2bd81;margin-bottom:8px}.awaiting-state h3{font-size:20px;margin-bottom:8px}.awaiting-state p{font-size:12px;line-height:1.7;color:#8a987d}.closure-box{background:#fff0db;border-left:3px solid #d5a16d;border-radius:0 5px 5px 0;padding:12px;font-size:12px;line-height:1.8;color:#9c7852}.detail-heading{font-size:13px;font-weight:800;margin:20px 0 8px}.plan-intro{font-size:12px;line-height:1.8;color:#7d8c70;padding:12px 0}.policy{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e1e7d5}.policy-info{flex:1;min-width:0}.policy h3{font-size:13px;font-weight:800;color:#41674b;margin-bottom:5px}.policy p{font-size:11px;line-height:1.7;color:#8c987d}.toggle{width:43px;height:25px;border-radius:4px;flex-shrink:0;background:#dce7cd;padding:3px;border:1px solid #bdcfa8;transition:background .15s}.toggle i{display:block;width:17px;height:17px;background:#fffdf4;border-bottom:2px solid #c1cfae;border-radius:2px;transition:transform .15s}.toggle.on{background:#77b86d;border-color:#649c59}.toggle.on i{transform:translateX(17px)}.staff-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid #e1e7d6}.staff-row h3{font-size:14px;font-weight:800;color:#426b4b}.staff-row p{font-size:11px;color:#839178;line-height:1.7;margin-top:4px}.staff-controls{display:flex;align-items:center;gap:9px}.staff-controls button{width:34px;height:34px;border:1px solid #b9d2a6;border-bottom:3px solid #9dbb87;border-radius:4px;background:#e8f2d9;font-size:20px;display:grid;place-items:center}.staff-controls strong{font-size:16px;min-width:24px;text-align:center}.outlook-row{display:flex;align-items:center;gap:12px;font-size:11px;padding:7px 0}.outlook-row>span:first-child{width:170px;flex-shrink:0;color:#79906b}.outlook-track{height:7px;flex:1;background:#e4ecd9;overflow:hidden}.outlook-track i{display:block;height:100%}.outlook-row small{width:60px;flex-shrink:0;text-align:right;font-size:10px;color:#92a180}.outlook-chart{width:100%;height:auto;max-height:125px;margin:12px 0}.route-card{background:#f0f6e7;border:1px solid #d9e4ca;border-radius:5px;padding:14px 16px;margin:10px 0 14px}.route-card h3{font-size:12px;font-weight:800;margin-bottom:5px}.route-card h3:not(:first-child){margin-top:13px}.route-card p{font-size:11px;line-height:1.75;color:#819071}.table-scroll{overflow-x:auto;margin:13px 0}.cohort-table{border-collapse:collapse;width:100%;font-size:10px;line-height:1.6;min-width:430px}.cohort-table td,.cohort-table th{padding:9px;border-bottom:1px solid #dfe6d3;text-align:left}.cohort-table th{color:#728b64;font-size:9px}.cohort-table td{color:#50774e}.world-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.world-data>div{background:#f0f6e7;border:1px solid #d8e5c8;border-radius:5px;padding:12px}.world-data strong{display:block;font-size:24px;line-height:1.3;font-weight:800;color:#446b4d;margin:5px 0}.world-data span{display:block;font-size:10px;line-height:1.6;color:#889a77}.world-data small{display:block;font-size:9px;line-height:1.7;color:#9da78a}.world-data a{font-size:9px;color:#559064}.world-data-note{font-size:10px;line-height:1.8;color:#8e9e7e;margin-bottom:12px}.local-areas>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e0e8d4;padding:9px 0;font-size:11px;color:#5d7e59}.local-areas span:last-child{color:#92a17f;text-align:right}.research-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.research-filter{border:1px solid #d3e1c5;border-bottom:3px solid #c1d3b0;border-radius:4px;background:#f1f6e9;color:#809570;padding:7px 10px;font-size:10px;font-weight:750}.research-filter.active{background:#6daa76;color:white;border-color:#64935f;border-bottom-color:#427249}.research-source{border-top:1px solid #e0e7d4;padding:17px 0}.research-meta{font-size:9px;line-height:1.8;color:#99a987;text-transform:uppercase;letter-spacing:.5px}.research-source h3{font-size:15px;line-height:1.5;color:#456a4a;margin:5px 0 8px}.research-source>p{font-size:12px;line-height:1.85;color:#819475}.research-source .caveat{font-size:10px;padding:4px 0;color:#9aa68a}.research-source>a{display:inline-block;margin-top:7px;font-size:10px;color:#518b61}.research-search{margin-bottom:12px}.appointment-stage{height:195px;position:relative;overflow:hidden;border:1px solid #94b77e;border-radius:6px;background:#c2e5c2}.appointment-stage>img{width:100%;height:100%;object-fit:cover;object-position:center 55%;image-rendering:pixelated}.appointment-glow{position:absolute;inset:0;background:linear-gradient(transparent,#214a3844)}.appointment-walkers{position:absolute;left:32%;bottom:18px;display:flex;gap:18px;animation:arrive-at-school 12s ease-in-out infinite alternate}.appointment-walkers .avatar{width:40px;height:45px;background:transparent;padding:0;border:0;filter:drop-shadow(0 3px 0 #315c3855);animation:pixel-step .7s steps(2) infinite}.appointment-walkers .avatar:nth-child(2){animation-delay:-.3s;transform:translateY(4px)}.appointment-walkers .avatar:nth-child(3){animation-delay:-.5s}.appointment-place{position:absolute;left:12px;top:12px;font-size:10px;font-weight:700;background:#ffffeee0;color:#5b7f55;padding:6px 9px;border-radius:4px}.appointment-conversation{background:#eff6e6;border:1px solid #d1e2bf;border-bottom:3px solid #bdd4aa;border-radius:5px;margin-top:15px;padding:15px 17px}.appointment-conversation .advisor{margin-bottom:11px;padding-bottom:10px}.appointment-conversation p{font-size:18px;line-height:1.65;font-weight:600;color:#557b50}.appointment-modal .health-note{font-size:9px;padding-top:11px}.toast{position:fixed;bottom:83px;left:50%;transform:translateX(-50%);z-index:100;background:#284a43;color:#f4fae8;border:1px solid #5d8e69;border-bottom:3px solid #102c31;border-radius:5px;padding:12px 18px;font-size:11px;line-height:1.5;max-width:min(500px,calc(100vw - 32px));box-shadow:0 7px 20px #142f3b33;opacity:0;visibility:hidden;transition:opacity .15s}.toast.visible{opacity:1;visibility:visible}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.settings-grid button{display:flex;align-items:center;gap:12px;background:#edf4e4;border:1px solid #c8dbb5;border-bottom:3px solid #acc894;border-radius:5px;padding:14px;text-align:left;font-size:12px;font-weight:800;color:#52734a}.settings-grid button:hover{background:#e4efd7}.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.report-summary>div{padding:12px;border:1px solid #d5e1c6;background:#f3f7eb;border-radius:5px}.report-summary span{display:block;font-size:9px;color:#91a17e}.report-summary strong{display:block;font-size:19px;color:#4e754e;margin-top:5px}.report-lines{width:100%;border-collapse:collapse;margin:12px 0}.report-lines th,.report-lines td{text-align:left;padding:10px 8px;border-bottom:1px solid #dce6cf;font-size:12px}.report-lines td{text-align:right;font-weight:750;color:#5c7e51}.dialog-report{font-size:12px;line-height:1.85;color:#829575}
@keyframes pixel-pulse{50%{opacity:.5}}@keyframes arrive-at-school{from{transform:translateX(-25px)}to{transform:translateX(45px)}}@keyframes pixel-step{50%{translate:0 -3px}}
/* Compact desktops keep the report at a useful width and height. */
@media(max-height:820px) and (min-width:761px){body{grid-template-rows:52px minmax(0,1fr) 60px}.workspace{padding:10px 20px;gap:9px}.school-heading{flex-basis:45px}.school-heading .eyebrow{font-size:8px}.school-heading h1{font-size:23px}.school-heading p{font-size:9px}.school-date strong{font-size:21px;padding:6px 11px}.timebar{flex-basis:42px}.dashboard{--gap:9px;grid-template-rows:minmax(130px,.8fr) 40px 57px minmax(185px,1fr)}.game-dock{padding-top:6px;padding-bottom:6px}.game-dock button{height:42px}.school-vitals{padding:9px;gap:6px}.metric{padding:6px 8px}.metric-value{font-size:23px}.metric-track{margin-top:4px}.campus-bottom p{font-size:16px}.campus-label{font-size:8px;padding:5px 7px}.journal-head{flex-basis:35px}.journal-pagination{flex-basis:28px}.operating-table th,.operating-table td{padding-top:5px;padding-bottom:5px}.operating-table th{font-size:8px}.operating-table td{font-size:10px}.bank-balance strong{font-size:22px}}
@media(min-width:761px) and (max-width:1080px){.nav-wrap{padding:0 18px;gap:18px}.workspace{padding-left:18px;padding-right:18px}.dashboard{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}.edition{display:none}.utility-actions button{font-size:10px;padding:5px 8px}.ledger{gap:13px;padding-left:12px;padding-right:12px}.ledger-summary{gap:10px}.ledger-population{gap:6px}#ledger-detail{padding-left:14px;gap:10px}#ledger-detail p{display:none}.bank-balance>span{display:none}.metric-label{font-size:8px}.school-vitals .text-button{font-size:8px}.game-dock button{min-width:120px}}
@media(min-width:761px) and (max-width:1079px){.game-dock{gap:6px;padding-left:9px;padding-right:9px}.game-dock button{min-width:0;padding-left:4px;padding-right:4px;gap:4px;font-size:10px}.game-dock .game-icon{width:18px;height:18px}}
/* Mobile: campus and scores share one row instead of stacking a long page. */
@media(max-width:760px){:root{--gap:8px}body{grid-template-rows:50px minmax(0,1fr) calc(64px + env(safe-area-inset-bottom))}.nav-wrap{padding:0 12px;gap:12px}.brand{font-size:21px;gap:6px}.brand img{width:33px;height:33px}.top-nav{margin-left:auto;gap:3px}.top-nav .nav-link{font-size:10px;padding:7px}.utility-actions{margin-left:0;gap:5px}.utility-actions button{padding:5px;min-width:28px;min-height:30px}.utility-actions .game-icon{width:16px;height:16px}.utility-actions button>span{display:none}.edition,.nav-link .tiny-dot{display:none}.workspace{padding:10px 12px;gap:8px}.school-heading{flex-basis:44px;gap:10px}.school-heading>.school-identity,.school-heading>div:first-child{min-width:0;flex:1}.school-heading .eyebrow{font-size:7px;letter-spacing:1px}.school-heading h1{font-size:20px;letter-spacing:-.6px;gap:5px;margin:3px 0 1px}.school-heading h1>span{max-width:66vw}.edit-name{font-size:13px;padding:3px}.school-heading p{font-size:8px;max-width:70vw}.school-date{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.school-date>span:first-child{font-size:7px;letter-spacing:.5px}.school-date strong{font-size:18px;padding:4px 8px;border-bottom-width:2px}.school-date #save-label{display:none}.timebar{flex-basis:51px;padding:5px 7px;gap:5px;align-items:center}.time-state{font-size:8px;max-width:30%;line-height:1.25;gap:5px}.time-state>span:last-child{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.status-dot{width:5px;height:5px}.speed-controls{gap:4px;flex:1;justify-content:flex-end}.speed-label{display:none}.speed-options{gap:1px}.speed-options button{height:29px;min-width:23px;padding:0 4px;font-size:8px;border-radius:3px}#pause{height:31px;min-width:26px;padding:0 5px;font-size:10px}.next-week{height:32px;font-size:9px;padding:0 7px}.next-week span{margin-left:2px}.dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(126px,.95fr) 42px 54px minmax(150px,1fr);grid-template-areas:'campus vitals' 'region decision' 'ledger ledger' 'journal journal';gap:8px}.campus{border-width:1px;border-bottom-width:4px;border-radius:7px}.campus>img{object-position:47% center}.campus-label{top:6px;left:6px;font-size:7px;gap:5px;padding:4px 5px;max-width:calc(100% - 12px)}.campus-label .live-dot{width:4px;height:4px;box-shadow:none}.campus-bottom{left:8px;right:8px;bottom:8px;display:block}.campus-location{font-size:6px;letter-spacing:1px}.campus-bottom p{font-size:12px;line-height:1.2;letter-spacing:-.2px;max-width:150px}.weather{display:none}.pixel-kids{height:50px;bottom:8px;opacity:.65}.pixel-kids canvas{height:50px}.school-vitals{padding:6px;gap:4px;border-radius:6px}.school-vitals .section-heading h2{font-size:8px;letter-spacing:0}.school-vitals .section-heading .text-button{font-size:7px}.school-vitals .section-heading .text-button span{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px}.metric{padding:4px 5px;border-bottom-width:2px;border-radius:3px}.metric-top{position:absolute;right:4px;top:6px;margin:0}.metric-symbol{font-size:9px}.metric-change{display:none}.metric-value{font-size:20px;letter-spacing:-.6px}.metric-total{font-size:6px;margin-left:2px}.metric-label{font-size:7px;font-weight:700;margin-top:0;line-height:1.1;padding-right:0}.metric-track{height:2px;margin-top:3px}.metric-warning{position:absolute;right:3px;bottom:3px;font-size:6px;background:#fff1dd;max-width:80%;line-height:1}.region-panel summary{padding:5px 7px;gap:4px;font-size:8px;line-height:1.25}.region-panel summary>span{max-width:66px}.region-panel summary strong{font-size:8px;max-width:50%;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.region-panel summary:before{font-size:10px}.region-compact{right:auto;width:calc(200% + 10px);max-height:38dvh;padding:12px;font-size:10px}.decision-panel{padding:5px 7px;gap:5px}.decision-panel h2,.decision-panel h3,.desk-title{font-size:9px;line-height:1.25}.decision-panel p,.desk-status{font-size:8px;line-height:1.3}.decision-panel .needs-you{display:none}.decision-panel .commit-button{font-size:8px;padding:5px 7px;min-height:27px;gap:4px;border-bottom-width:2px}.decision-panel .text-button{font-size:8px}.desk-icon{font-size:14px}.decision-launcher,.desk-summary{gap:5px}.ledger{padding:6px 9px;gap:10px;border-radius:5px;border-bottom-width:3px}.ledger-summary{gap:8px;min-width:0}.bank-balance{display:block}.bank-balance strong{display:block;font-size:18px;white-space:nowrap}.bank-balance>span{font-size:7px;display:block;line-height:1.1}.ledger-population{display:none}.ledger-summary #finance-info{width:25px;height:25px;font-size:12px;flex-shrink:0}.ledger-bottom{display:none}#ledger-detail{gap:9px;padding-left:10px;justify-content:space-between}#ledger-detail span{font-size:7px;line-height:1.3;white-space:normal;max-width:70px}#ledger-detail strong{font-size:10px}#ledger-detail p{display:none}#ledger-detail>div:nth-child(n+4){display:none}.journal{border-radius:6px}.journal-head{padding:0 8px;flex-basis:35px;gap:5px}.tabs{flex:1;gap:0;justify-content:space-between}.tab{font-size:9px;padding:0 4px;flex:1;text-align:center;line-height:1.2;border-bottom-width:3px}.tab span{font-size:7px;padding:1px 3px;margin-left:2px}.journal-expand,#journal-expand{padding-left:6px;font-size:8px;gap:3px}.journal-expand>span,#journal-expand>span{display:none}.journal-expand .game-icon,#journal-expand .game-icon{width:15px;height:15px}.journal-stamp{display:none}#journal-body{padding:0 8px}.journal-pagination{flex-basis:31px;padding:3px 8px;font-size:8px;gap:7px}.journal-pagination button{min-width:29px;height:24px}.operating-table .table-secondary{display:none}.operating-table th,.operating-table td{font-size:10px;padding:6px 5px}.operating-table th{font-size:8px;padding-top:7px;padding-bottom:5px}.operating-table th:last-child,.operating-table td:last-child{width:53px;padding-right:0}.operating-table button{font-size:8px;padding:3px 5px;min-height:25px}.journal-row{grid-template-columns:34px minmax(0,1fr) 30px;gap:7px;padding:9px 0}.journal-row h3{font-size:10px;line-height:1.35;margin-bottom:3px}.journal-row p{font-size:9px;line-height:1.4;-webkit-line-clamp:1}.journal-week{font-size:8px}.journal-row>span:last-child{font-size:7px}.journal .plan-intro{font-size:9px;padding:8px 0}.journal .outlook-row{font-size:8px;padding:3px 0;gap:6px}.journal .outlook-row>span:first-child{width:85px}.journal .outlook-row small{font-size:8px;width:44px}.journal .outlook-chart{max-height:50px;margin:6px 0}.journal .health-note{font-size:8px;padding:4px 0}.game-dock{gap:7px;padding:7px 9px calc(7px + env(safe-area-inset-bottom));border-top-width:3px}.game-dock button{min-width:0;max-width:none;flex:1;height:45px;padding:5px 4px;gap:4px;flex-direction:column;font-size:9px;border-radius:5px;border-bottom-width:3px}.game-dock .game-icon{width:19px;height:19px}.game-dock button:hover{transform:none}.toast{bottom:78px;max-width:calc(100vw - 28px);font-size:10px;padding:10px 13px}dialog{width:calc(100% - 22px);max-height:91dvh;padding:17px 17px;border-width:1px;border-bottom-width:5px;border-radius:8px}.modal-title{font-size:25px;line-height:1.2}.modal-subtitle{font-size:11px;margin-bottom:14px}.modal-copy{font-size:11px;line-height:1.8}.modal-copy h3{font-size:13px;margin-top:17px}.modal-head,.decision-dialog-head{margin-bottom:12px}.icon-button{min-height:32px;min-width:32px;font-size:22px}.modal-actions{gap:7px;flex-wrap:wrap}.modal-actions button{font-size:11px;padding:11px 13px;min-height:40px}.name-input{font-size:13px;padding:10px}.form-label{font-size:8px;margin:13px 0 6px}.setup-context{font-size:10px;padding:10px 12px}.setup-context .health-note{font-size:8px}.decision-title{font-size:23px}.decision-body{font-size:11px;line-height:1.75}.choice{padding:11px 10px}.choice strong{font-size:11px}.choice-cost{font-size:9px}.choice-description{font-size:10px;line-height:1.6;margin-left:20px}.choice-impact{margin-left:20px;gap:4px}.impact{font-size:8px}.decision-dialog-footer{gap:8px;align-items:stretch;flex-wrap:wrap}.secondary-button{font-size:11px;padding:10px 12px}.commit-button{font-size:11px;padding:12px 13px;min-height:44px}.staff-controls{gap:6px}.staff-controls button{height:36px;width:36px}.staff-row h3{font-size:13px}.staff-row p{font-size:10px}.world-data{grid-template-columns:1fr}.world-data>div{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.world-data strong{font-size:21px;grid-column:2;grid-row:1}.world-data small,.world-data a{grid-column:1/3}.world-data span{font-size:10px}.outlook-row>span:first-child{width:135px}.outlook-row{font-size:10px;gap:8px}.outlook-row small{font-size:9px;width:50px}.appointment-stage{height:145px}.appointment-conversation{padding:12px}.appointment-conversation p{font-size:16px;line-height:1.65}.appointment-walkers .avatar{width:33px;height:39px}.appointment-place{font-size:8px;left:8px;top:8px;padding:5px 7px}.research-filter{padding:6px 8px;font-size:9px}.research-source h3{font-size:14px}.research-source>p{font-size:11px}.settings-grid{gap:8px}.settings-grid button{padding:11px;font-size:11px;gap:8px}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-lines th,.report-lines td{font-size:11px;padding:9px 5px}.report-lines th{max-width:180px}.report-summary strong{font-size:17px}}
@media(max-width:760px) and (max-height:740px){body{grid-template-rows:44px minmax(0,1fr) calc(58px + env(safe-area-inset-bottom))}.nav-wrap{padding:0 10px;gap:8px}.brand{font-size:19px}.brand img{height:29px;width:29px}.top-nav .nav-link{font-size:9px;padding:5px}.utility-actions button{min-width:26px;min-height:28px}.workspace{padding:7px 10px;gap:6px}.school-heading{flex-basis:37px}.school-heading .eyebrow{display:none}.school-heading h1{font-size:18px;margin-top:0}.school-heading p{font-size:7px}.school-date strong{font-size:16px;padding:3px 7px}.school-date>span:first-child{font-size:6px}.timebar{flex-basis:44px;padding:4px 6px}.time-state{font-size:7px}.speed-options button{font-size:7px;min-width:20px;padding:0 3px;height:27px}#pause{height:28px;min-width:23px;font-size:9px}.next-week{height:29px;font-size:8px;padding:0 5px}.dashboard{grid-template-rows:minmax(104px,.8fr) 34px 44px minmax(132px,1fr);gap:6px}.campus-label{font-size:6px;padding:3px 4px;top:5px;left:5px}.campus-bottom{bottom:6px;left:6px}.campus-location{display:none}.campus-bottom p{font-size:10px;line-height:1.2}.school-vitals{padding:4px;gap:3px}.school-vitals .section-heading h2{font-size:7px}.school-vitals .section-heading .text-button{font-size:6px}.metrics{gap:3px}.metric{padding:3px 4px}.metric-value{font-size:17px;line-height:1.1}.metric-label{font-size:6px;line-height:1.1}.metric-top{top:4px;right:3px}.metric-symbol{font-size:8px}.metric-track{height:2px;margin-top:2px}.region-panel summary{font-size:7px;padding:4px 5px}.region-panel summary strong{font-size:7px}.decision-panel{padding:4px 5px}.decision-panel h2,.decision-panel h3,.desk-title{font-size:8px}.decision-panel p,.desk-status{font-size:7px}.decision-panel .commit-button{font-size:7px;min-height:24px;padding:4px 5px}.desk-icon{font-size:12px}.ledger{padding:4px 7px;gap:7px}.ledger-summary{gap:6px}.bank-balance strong{font-size:16px}.bank-balance>span{font-size:6px}.ledger-summary #finance-info{width:22px;height:23px;font-size:10px}#ledger-detail{padding-left:8px;gap:6px}#ledger-detail strong{font-size:9px}#ledger-detail span{font-size:6px}.journal-head{flex-basis:31px;padding:0 6px}.tab{font-size:8px;padding:0 3px}.tab span{font-size:6px;padding:1px 2px}.journal-pagination{flex-basis:27px;padding-top:2px;padding-bottom:2px}.journal-pagination button{height:21px;min-width:25px}.operating-table th,.operating-table td{font-size:9px;padding:4px 4px}.operating-table th{font-size:7px;padding-top:5px;padding-bottom:4px}.operating-table button{font-size:7px;min-height:21px;padding:2px 4px}.journal-row{padding:6px 0;grid-template-columns:30px minmax(0,1fr) 27px;gap:5px}.journal-row h3{font-size:9px}.journal-row p{font-size:8px}.journal-week{font-size:7px}.journal .outlook-chart{max-height:35px}.journal .outlook-row{padding:2px 0;font-size:7px}.journal .outlook-row>span:first-child{width:78px}.journal .outlook-row small{font-size:7px}.game-dock{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom));gap:6px}.game-dock button{height:43px;font-size:8px;padding:4px;gap:3px}.game-dock .game-icon{width:18px;height:18px}.toast{bottom:70px}}
@media(max-width:360px){.top-nav #desk-nav{display:none}.utility-actions{gap:3px}.time-state{max-width:24%}.speed-options button{min-width:19px;padding:0 2px}.speed-controls{gap:3px}.next-week span{display:none}.school-vitals .text-button{display:none}.campus-bottom p{font-size:9px}.tab{font-size:8px;padding:0 2px}.region-panel summary>span{max-width:58px}.journal-expand .game-icon,#journal-expand .game-icon{width:13px;height:13px}}
@media(max-height:600px) and (min-width:761px){body{grid-template-rows:44px minmax(0,1fr) 52px}.workspace{padding:7px 16px;gap:6px}.school-heading{flex-basis:34px}.school-heading .eyebrow{display:none}.school-heading h1{font-size:21px}.school-heading p{font-size:8px}.school-date strong{font-size:18px}.timebar{flex-basis:36px}.dashboard{grid-template-rows:minmax(85px,.6fr) 32px 43px minmax(135px,1fr);gap:6px}.school-vitals .section-heading{display:none}.school-vitals{padding:6px}.metrics{gap:4px}.metric{padding:4px 6px}.metric-top{position:absolute;right:6px;top:5px}.metric-change{display:none}.metric-value{font-size:20px}.metric-label{font-size:7px}.metric-track{margin-top:3px;height:2px}.campus-bottom p{font-size:13px}.campus-label{font-size:7px;padding:4px 6px}.region-panel summary{font-size:8px;padding:5px 9px}.region-panel summary strong{font-size:9px}.decision-panel{padding:4px 9px}.ledger{padding:5px 12px}.bank-balance strong{font-size:20px}#ledger-detail span{font-size:7px}#ledger-detail strong{font-size:11px}.journal-head{flex-basis:30px}.journal-pagination{flex-basis:25px}.operating-table th,.operating-table td{font-size:9px;padding-top:3px;padding-bottom:3px}.operating-table th{font-size:8px}.game-dock{padding:4px 14px}.game-dock button{height:39px;font-size:11px}.game-dock .game-icon{width:19px;height:19px}.toast{bottom:64px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.campus>img{transform:none}}
/* Live launcher and report contracts shared with the application renderer. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.desk-launcher{display:flex;align-items:center;gap:9px;width:100%;min-width:0}.desk-launcher>div{min-width:0;flex:1}.desk-launcher .eyebrow{font-size:7px;letter-spacing:1px;line-height:1.3}.desk-launcher strong{display:block;font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desk-launcher p{font-size:8px}.desk-launcher .primary,.desk-launcher .secondary-button{font-size:10px;padding:6px 10px;min-height:29px;white-space:nowrap;flex-shrink:0;border-bottom-width:3px}.desk-launcher .text-button{font-size:9px;white-space:nowrap;flex-shrink:0}.desk-launcher .desk-status{display:grid;place-items:center;width:27px;height:27px;background:#e2eed5;border:1px solid #c1d5ac;border-radius:4px;color:#658d59;font-size:17px;font-weight:800}.desk-launcher.ended{color:#a46a45}.ledger-summary #finance-info{width:auto;min-width:60px;font-size:10px;white-space:nowrap;padding:4px 6px}.operating-table thead{height:31px}.operating-table tbody tr{height:36px}.operating-table tbody th{font-size:11px;font-weight:650;color:#65805d;letter-spacing:0}.journal-row{height:54px;overflow:hidden;padding-top:7px;padding-bottom:7px;grid-template-columns:45px minmax(0,1fr) 18px;gap:10px}.journal-row h3{font-size:11px;line-height:15px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-row p{-webkit-line-clamp:1;font-size:10px;line-height:14px}.journal-row .journal-week{line-height:18px}.journal-row>span:last-child{font-size:12px;line-height:18px}.compact-routes{display:flex;align-items:center;gap:25px;padding:15px 8px 8px;min-height:0}.compact-routes>div{min-width:0;flex:1}.compact-routes>div>span{display:block;font-size:10px;color:#8b9b7d}.compact-routes strong{display:block;font-size:25px;color:#50784d;font-weight:850;margin-top:5px}.compact-routes .secondary-button{font-size:10px;padding:9px 12px;white-space:nowrap}.compact-note{font-size:9px;line-height:1.7;color:#91a080;margin:5px 8px}.compact-note .text-button{font-size:9px}.compact-trend{padding:0 7px;max-height:95px;overflow:hidden}.compact-trend .outlook-chart{max-height:80px;margin:8px 0 0}.decision-context{margin:12px 0;padding:10px 12px;border:1px solid #d5e2c7;border-radius:4px;background:#f4f8eb;font-size:11px;line-height:1.75;color:#849575}.decision-context summary{cursor:pointer;font-size:11px;font-weight:750;color:#5d8155}.decision-context p{margin-top:8px}.report-breakdown{margin:17px 0}.report-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:11px 0;border-bottom:1px solid #dee7d0;font-size:12px}.report-breakdown dt{color:#829575}.report-breakdown dd{margin:0;color:#4c754e;font-weight:800;white-space:nowrap}.settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.settings-actions button{text-align:left;font-size:12px;padding:13px 15px}.settings-speeds{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 16px}.settings-speeds .secondary-button{font-size:12px;min-width:45px;padding:9px}.settings-speeds .selected{background:#9fce78;border-color:#82ae61;color:#315b3c}.empty-state{padding:15px 4px;font-size:11px;color:#89997d}
@media(max-width:760px){.desk-launcher{gap:5px}.desk-launcher .eyebrow{font-size:6px;letter-spacing:.5px}.desk-launcher strong{font-size:8px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.desk-launcher p{display:none}.desk-launcher .primary,.desk-launcher .secondary-button{font-size:8px;padding:5px 6px;min-height:27px;border-bottom-width:2px}.desk-launcher .text-button{font-size:8px}.desk-launcher .desk-status{width:22px;height:22px;font-size:14px}.ledger-summary #finance-info{min-width:43px;font-size:8px;padding:3px 4px;height:25px}.operating-table tbody th{font-size:10px}.journal-row{grid-template-columns:30px minmax(0,1fr) 14px;gap:7px;padding:7px 0}.journal-row h3{font-size:10px;line-height:15px}.journal-row p{font-size:9px;line-height:13px}.compact-routes{gap:10px;padding:11px 2px 5px;flex-wrap:wrap}.compact-routes>div>span{font-size:8px}.compact-routes strong{font-size:19px;margin-top:3px}.compact-routes .secondary-button{font-size:8px;padding:6px 8px;min-height:30px;white-space:normal;max-width:130px}.compact-note{font-size:8px;margin:4px 2px;line-height:1.4}.compact-note .text-button{font-size:8px}.compact-trend{padding:0 2px;max-height:75px}.compact-trend .outlook-chart{max-height:60px;margin-top:5px}.settings-actions{gap:7px}.settings-actions button{font-size:11px;padding:12px}.settings-speeds{gap:5px}.settings-speeds .secondary-button{font-size:11px;padding:8px;min-width:39px}.report-breakdown>div{font-size:11px;padding:10px 0;gap:12px}.decision-context{padding:9px;font-size:10px}.decision-context summary{font-size:10px}}
@media(max-width:760px) and (max-height:740px){.desk-launcher strong{font-size:7px}.desk-launcher .eyebrow{font-size:5px}.desk-launcher .primary,.desk-launcher .secondary-button{font-size:7px;padding:4px 5px;min-height:23px}.desk-launcher .text-button{font-size:7px}.ledger-summary #finance-info{min-width:39px;height:22px;font-size:7px}.operating-table tbody th{font-size:9px}.compact-routes{padding-top:7px;gap:8px}.compact-routes strong{font-size:17px}.compact-routes .secondary-button{font-size:7px;min-height:26px;padding:5px 6px}.compact-trend{max-height:59px}.compact-trend .outlook-chart{max-height:45px}}
/* Short landscape screens use the world as a backdrop and keep all controls live. */
@media(orientation:landscape) and (max-height:500px) and (min-width:560px){body{grid-template-rows:40px minmax(0,1fr) 48px}.nav-wrap{padding:0 14px}.brand{font-size:19px}.brand img{width:28px;height:28px}.top-nav .nav-link{font-size:9px;padding:5px 8px}.utility-actions button{min-height:27px;font-size:9px;padding:4px 7px}.workspace{padding:6px 14px;gap:5px}.school-heading{flex-basis:29px}.school-heading .eyebrow{display:none}.school-heading h1{font-size:19px;margin:0}.school-heading p{font-size:7px;line-height:1.3}.school-date{display:flex;flex-direction:row;gap:12px;align-items:center}.school-date strong{font-size:16px;padding:4px 8px}.school-date #save-label{display:none}.school-date>span:first-child{font-size:7px}.timebar{flex-basis:33px;padding:3px 8px}.time-state{font-size:9px;max-width:none}.speed-options button,#pause{height:24px;font-size:8px}.next-week{height:25px;font-size:9px}.dashboard{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.9fr);grid-template-rows:minmax(70px,1fr) 29px 38px;grid-template-areas:'vitals vitals journal' 'region decision journal' 'ledger ledger journal';gap:6px}.campus{position:absolute;inset:0;grid-area:auto;opacity:.13;pointer-events:none;z-index:0;border:0}.campus>*:not(img){display:none}.school-vitals,.region-panel,.decision-panel,.ledger,.journal{position:relative;z-index:1}.school-vitals{padding:5px;gap:0;background:#fffdf4ec}.school-vitals .section-heading{display:none}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px}.metric{padding:4px 6px}.metric-top{position:absolute;right:5px;top:5px}.metric-change{display:none}.metric-value{font-size:20px}.metric-label{font-size:7px}.metric-track{height:2px;margin-top:3px}.region-panel summary{font-size:7px;padding:4px 6px;gap:4px}.region-panel summary strong{font-size:8px}.region-compact{width:calc(200% + 8px);right:auto;max-height:55dvh}.decision-panel{padding:3px 6px}.desk-launcher .eyebrow{font-size:5px;letter-spacing:.3px}.desk-launcher strong{font-size:8px;line-height:1.3}.desk-launcher p{display:none}.desk-launcher .primary,.desk-launcher .secondary-button{font-size:7px;padding:4px 6px;min-height:23px}.desk-launcher .text-button{font-size:7px}.ledger{padding:4px 7px;gap:8px}.ledger-summary{gap:6px}.ledger-population{display:none}.bank-balance strong{font-size:17px}.bank-balance>span{font-size:6px}.ledger-summary #finance-info{font-size:7px;min-width:39px;height:22px;padding:3px 4px}#ledger-detail{padding-left:8px;gap:8px}#ledger-detail span{font-size:6px}#ledger-detail strong{font-size:9px}#ledger-detail p{display:none}.journal-head{flex-basis:29px;padding:0 7px;gap:5px}.tabs{gap:0;justify-content:space-between;flex:1}.tab{font-size:8px;padding:0 4px;flex:1;text-align:center}.tab span{font-size:6px;padding:1px 2px}.journal-expand,#journal-expand{padding-left:6px;font-size:11px}.journal-pagination{flex-basis:25px;padding:2px 7px;font-size:8px}.journal-pagination button{min-width:23px;height:20px}#journal-body{padding:0 8px}.operating-table .table-secondary{display:none}.operating-table th,.operating-table td{font-size:9px;padding:4px}.operating-table thead{height:25px}.operating-table tbody th{font-size:9px}.operating-table button{font-size:8px;min-height:24px;padding:3px 5px}.journal-row{height:54px;grid-template-columns:28px minmax(0,1fr) 13px;gap:6px}.journal-row h3{font-size:10px}.journal-row p{font-size:9px}.compact-routes{gap:8px;padding:9px 2px 4px}.compact-routes strong{font-size:18px}.compact-routes .secondary-button{font-size:8px;min-height:29px;padding:6px 8px;max-width:115px;white-space:normal}.compact-routes>div>span{font-size:8px}.compact-trend .outlook-chart{max-height:64px}.compact-note{font-size:8px;margin:3px 2px}.game-dock{padding:4px 14px;gap:10px}.game-dock button{height:36px;min-width:0;max-width:200px;font-size:10px;padding:4px 10px;gap:8px;flex-direction:row}.game-dock .game-icon{width:18px;height:18px}.toast{bottom:57px;font-size:10px;padding:8px 12px}dialog{max-height:92dvh}}
.choice-delayed{display:block;font-size:10px;line-height:1.6;color:#849473;margin:7px 0 0 22px}.choice-delayed .impact{display:inline-block;margin:3px 3px 0 0}@media(max-width:760px){.choice-delayed{font-size:9px;margin-left:20px}.metric{display:grid;grid-template-columns:25px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 2px;grid-template-areas:'value label' 'track track';gap:1px 3px;align-items:center;padding:4px 5px}.metric-value{grid-area:value;font-size:20px;line-height:1.1;letter-spacing:-.8px}.metric-label{grid-area:label;font-size:8px;line-height:1.2;white-space:normal;margin:0;overflow:hidden;text-overflow:ellipsis}.metric-track{grid-area:track;width:100%;height:2px;margin:0;align-self:end}.metric-total,.metric-top{display:none}.metric-warning{position:absolute;right:2px;top:0;bottom:auto;font-size:7px;line-height:1.1;max-width:none;padding:1px 2px;border-radius:2px;background:#ffe9ca}.metric.danger .metric-label{padding-top:5px}}@media(max-width:760px) and (max-height:740px){.metric{grid-template-columns:23px minmax(0,1fr);padding:3px 4px;gap:1px 2px}.metric-value{font-size:18px;line-height:1.05}.metric-label{font-size:7px;line-height:1.1}.metric-warning{font-size:6px;padding:1px}.metric.danger .metric-label{padding-top:4px}}@media(orientation:landscape) and (max-height:500px) and (min-width:560px){.metric{display:block;padding:4px 6px}.metric-value{font-size:20px;line-height:1.1}.metric-label{display:block;font-size:7px;line-height:1.1;margin-top:1px;white-space:nowrap}.metric-track{margin-top:3px}.metric-total{display:none}.metric-top{display:none}.metric-warning{font-size:6px;top:2px;right:3px}.metric.danger .metric-label{padding-top:0}}
/* Supporting copy stays readable against light game panels. */
.modal-copy,.modal-subtitle,.decision-body,.choice-description,.research-source>p,.policy p,.staff-row p,.health-note,.caveat{color:#687c5e}.metric-label{color:#5c7454}.journal-row p{color:#6c805f}.operating-table th{color:#6d825f}.school-heading p{color:#687e5e}.modal-copy .caveat,.research-source .caveat{color:#77886a}

/* A span track must establish its own block height; percentage-height children
   otherwise inherit a tile-sized line box in some layouts. */
.metric-track{display:block;overflow:hidden;max-height:4px}.metric-track i{display:block;height:100%;max-height:4px}
/* Keep decision controls reachable while the question itself scrolls. */
#decision-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:90dvh}#decision-dialog>.modal-head,#decision-dialog>.decision-dialog-head,#decision-dialog>.decision-dialog-footer{flex:0 0 auto}#decision-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}#decision-dialog>.decision-dialog-footer{margin-top:12px;padding-top:10px}#decision-dialog>.modal-head{margin-bottom:12px}#decision-dialog #close-decision{flex-shrink:0}#decision-dialog #skip-decision{min-height:42px}@media(max-width:760px){#decision-dialog[open]{max-height:92dvh}#decision-dialog-body{padding-right:3px}#decision-dialog>.modal-head{margin-bottom:9px}#decision-dialog>.decision-dialog-footer{margin-top:9px;padding-top:8px}#decision-dialog #skip-decision{min-height:42px}}

/* Keep language selection available during appointment and play. */
.language-select{max-width:180px;min-width:76px;border:1px solid #758b7b;border-radius:8px;padding:6px;background:#fff;color:#17362e;font:inherit;font-size:12px}.game-shell{font-family:"DM Sans","Noto Sans TC","Noto Sans JP",system-ui,sans-serif}@media(max-width:600px){.language-select{max-width:112px;font-size:11px}.edition{display:none}}
/* The language menu belongs to the top icon bar, with an accessible native menu.
   Dialogs mirror it because a modal makes the page behind it inactive. */
.language-menu{display:inline-flex;position:relative;align-items:center;gap:5px;min-width:0;padding:4px 6px;border:1px solid #b2bba1;border-radius:8px;background:#f4f3e8;color:#284532}
.language-menu>.game-icon{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.language-menu>.language-select{min-width:0;width:100%;max-width:154px;border:0;border-radius:4px;padding:5px 1px;background:transparent;color:inherit;font:inherit;font-size:11px;cursor:pointer}
.language-menu:focus-within{outline:2px solid #567a57;outline-offset:2px}
.modal-head>.language-menu{margin-left:auto;margin-right:8px;flex-shrink:0}
:lang(ja) .modal-copy,:lang(zh-Hant) .modal-copy,:lang(yue-Hant) .modal-copy{line-height:1.85;overflow-wrap:anywhere}
:lang(ja) .choice-description,:lang(zh-Hant) .choice-description,:lang(yue-Hant) .choice-description{line-height:1.7}
@media(max-width:600px){.language-menu{padding:3px;gap:2px}.language-menu>.game-icon{width:16px;height:16px;flex-basis:16px}.language-menu>.language-select{max-width:96px;font-size:10px}.utility-actions{gap:5px}.modal-head>.language-menu{margin-right:4px}.modal-head>.eyebrow{min-width:0;overflow-wrap:anywhere}}
.operations-summary{padding:12px;background:#eff5df;border:2px solid #b3c89a;margin:10px 0;color:#293c2e}
.operations-summary p{margin:7px 0;font-size:13px}
.operations-opening{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.operations-opening>div{min-width:0;display:grid;gap:4px}
.operations-opening span{font-size:11px;line-height:1.3}
.operations-opening strong{font-size:17px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.operations-section{border-top:1px solid #ccd6bc;padding:13px 0}
.operations-section>summary{cursor:pointer;font-weight:750;line-height:1.5;padding:3px 0;color:#304838}
.operations-section article{padding:10px 0;border-bottom:1px dashed #ccd6bc}
.operations-section h4{margin:8px 0;font-size:15px}
.operations-section p{overflow-wrap:anywhere}
.operations-reference{font-size:11px;margin-right:8px}
.mortality-table{width:100%;border-collapse:collapse;font-size:13px}
.mortality-table caption{text-align:left;font-size:12px;margin:12px 0}
.mortality-table td,.mortality-table th{padding:9px 6px;text-align:left;border-bottom:1px solid #ccd6bc}
.mortality-table small{display:block;font-size:10px;font-weight:400}
@media(max-width:440px){.operations-opening{gap:6px}.operations-opening strong{font-size:14px}.operations-summary{padding:9px}}
.decision-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.decision-dialog-footer .commit-button{margin:0;flex:0 1 auto;width:auto;min-height:42px}
.decision-dialog-footer #skip-decision{flex:0 0 auto}
@media(max-width:600px){.decision-dialog-footer{gap:8px}.decision-dialog-footer .commit-button{padding:10px 12px;font-size:12px}.decision-dialog-footer #skip-decision{padding:10px;font-size:12px}}

/* Continuous speed control, shared by the board and settings. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pace-control{display:flex;align-items:center;gap:9px;min-width:0;width:180px}
.pace-control output{font-variant-numeric:tabular-nums;min-width:32px;font-size:12px;font-weight:800;text-align:right}
.speed-slider{appearance:none;-webkit-appearance:none;cursor:pointer;min-width:0;flex:1;width:100%;height:28px;margin:0;background:transparent;accent-color:#416e4b;touch-action:pan-y}
.speed-slider::-webkit-slider-runnable-track{height:6px;background:linear-gradient(to right,#416e4b var(--pace-progress,0%),#cdd5c1 var(--pace-progress,0%));border-radius:6px}
.speed-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:#214c3b;border:3px solid #f6f4dc;box-shadow:0 0 0 1px #416e4b}
.speed-slider::-moz-range-track{height:6px;background:#cdd5c1;border-radius:6px}.speed-slider::-moz-range-progress{height:6px;background:#416e4b}.speed-slider::-moz-range-thumb{width:13px;height:13px;border:3px solid #f6f4dc;border-radius:50%;background:#214c3b}
.speed-slider:focus-visible{outline:2px solid #376343;outline-offset:2px;border-radius:4px}
.settings-pace{max-width:420px;margin:16px 0}.settings-pace>label{font-size:13px;font-weight:700}.settings-pace .pace-control{width:100%;margin-top:8px}.pace-extremes{display:flex;justify-content:space-between;padding-right:40px;font-size:11px;color:#53645c}
@media(max-width:760px){.speed-controls .pace-control{width:125px;gap:6px}.pace-control output{font-size:10px;min-width:26px}.game-dock button{min-width:0}}
/* Eight dock buttons: 8×120px + 7×12px gaps + 36px padding needs 1080px, so narrower screens use the compact rules. Below 560px width follows each label so "Management" stays inside its button. */
@media(max-width:559px){.game-dock{gap:3px;padding-left:4px;padding-right:4px}.game-dock button{min-width:min-content;flex:1 1 auto;padding-left:2px;padding-right:2px;gap:3px}.game-dock .game-icon{width:18px;height:18px}}
@media(max-width:359px){.game-dock{gap:2px;padding-left:2px;padding-right:2px}.game-dock button{padding-left:1px;padding-right:1px;font-size:8px}}
@media(orientation:landscape) and (max-height:500px) and (min-width:560px) and (max-width:820px){.game-dock{padding-left:8px;padding-right:8px;gap:4px}.game-dock button{flex:1 1 auto;padding-left:3px;padding-right:3px;gap:3px;font-size:9px}.game-dock .game-icon{width:16px;height:16px}}
@media(max-width:390px){.speed-controls .pace-control{width:104px}.speed-controls{gap:5px}.time-state{max-width:25%}}
@media(orientation:landscape) and (max-height:500px){.speed-controls .pace-control{width:135px}}

.assigned-start-note{padding:14px 16px;border-radius:8px;background:#edf1df;border:1px solid #cdd6b9;margin:15px 0}.assigned-start-note>strong{font-size:13px}.assigned-start-note p{font-size:12px;line-height:1.5;margin:8px 0}

.location-flag{display:inline-block;width:25px;height:18px;object-fit:contain;vertical-align:middle;flex:none;border-radius:2px;filter:drop-shadow(0 1px 1px #152f2622)}
.school-place{display:flex;gap:7px;align-items:center}.school-place p{margin:0}.school-place .location-flag{width:23px;height:16px}
#campus-season,.region-panel summary strong{display:flex;align-items:center;gap:6px}#campus-season .location-flag{width:20px;height:14px}.setup-context>strong{display:flex;align-items:center;gap:8px}
.location-picker{display:flex;align-items:center;gap:12px;text-align:left;color:inherit}.location-picker>span:last-child{margin-left:auto}.location-picker .location-flag{width:32px;height:23px}
.location-list{max-height:260px;overflow:auto;overscroll-behavior:contain;background:#fffdf3;border:1px solid #a6b79c;border-radius:8px;padding:5px;margin-top:5px}.location-list[hidden]{display:none}
.location-list [role="option"]{display:flex;width:100%;align-items:center;gap:12px;border:0;background:transparent;padding:9px 11px;min-height:44px;text-align:left;border-radius:5px;color:#223d32;font:inherit;font-size:13px}.location-list [role="option"]>span{flex:1}.location-list [role="option"] small{color:#627060;font-size:10px}.location-list [aria-selected="true"]{background:#dcebc9;font-weight:750}.location-list [role="option"]:hover,.location-list [role="option"]:focus-visible{outline:2px solid #6b8e57;outline-offset:-2px;background:#e7eddb}
@media(max-width:760px){.school-place{gap:4px}.school-place .location-flag{width:18px;height:13px}.location-list{max-height:215px}.location-list [role="option"]{font-size:12px}}

.starting-conditions{padding:12px 0;border-top:1px solid #cdd6bd;margin-top:12px}.starting-conditions h3{font-size:13px;margin:0 0 8px}.starting-conditions summary{cursor:pointer;font-size:12px;font-weight:700}.starting-conditions details p{font-size:12px;line-height:1.5}.starting-weights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.starting-weights>div{display:flex;justify-content:space-between;gap:8px;background:#e8edda;padding:8px;border-radius:4px;font-size:11px}.starting-sources .text-button{display:inline-block;margin:3px}

/* Keep the language picker within the top bar on narrow phones. */
@media(max-width:420px){
 .nav-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding-inline:8px;gap:6px}
 .brand{min-width:0;overflow:hidden}
 .brand>span{overflow:hidden;text-overflow:ellipsis}
 .top-nav{gap:2px;margin-left:0}
 .top-nav .nav-link{padding-inline:4px}
 .utility-actions{gap:3px;min-width:0}
 .utility-actions .language-menu{width:96px;max-width:26vw;flex:0 1 96px}
 .utility-actions .language-select{min-width:0}
}

/* The same crest and lettering carry through from appointment to play. */
.game-wordmark {
 display: inline-block;
 color: #ffe09a;
 font-weight: 850;
 line-height: 1.14;
 letter-spacing: -.045em;
 text-shadow: 0 .055em 0 #95662e, 0 .1em 0 #0c2636;
}
.game-wordmark:lang(zh-Hant), .game-wordmark:lang(yue-Hant), .game-wordmark:lang(ja) {
 letter-spacing: .055em;
}
.appointment-brand {
 position: relative;
 isolation: isolate;
 display: flex;
 align-items: center;
 gap: clamp(10px, 2vw, 20px);
 overflow: hidden;
 padding: clamp(14px, 3vw, 24px);
 border: 1px solid #28475b;
 border-bottom: 4px solid #c3923f;
 border-radius: 6px;
 background: linear-gradient(112deg, #112b3c, #234b5c);
}
.appointment-brand::before {
 content: "";
 position: absolute;
 z-index: -1;
 inset: 0;
 opacity: .32;
 background: repeating-radial-gradient(circle at 100% 125%, transparent 0 19px, #ccac67 20px 21px, transparent 22px 30px);
 mask-image: linear-gradient(to right, transparent 45%, black);
}
.appointment-brand img {
 width: clamp(42px, 7vw, 66px);
 height: auto;
 flex: none;
}
.appointment-brand .game-wordmark { font-size: clamp(24px, 5.7vw, 46px); }
.game-wordmark .title-unit { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
 .game-wordmark .title-unit {
  animation: title-arrive 760ms cubic-bezier(.2,.8,.3,1) var(--title-delay) both;
 }

 @keyframes title-arrive {
  0% { opacity: .35; transform: translateY(.22em); }
  68% { opacity: 1; transform: translateY(-.055em); }
  100% { opacity: 1; transform: translateY(0); }
 }
}
@media (max-width: 480px) {
 .brand { gap: 3px; }
 .brand img { width: 26px; height: 26px; flex: none; }
 .brand .game-wordmark { font-size: 16px; white-space: normal; line-height: 1.04; }
 .brand .game-wordmark:lang(ja) { font-size: 14px; letter-spacing: 0; white-space: nowrap; }
}
