/* Readability layer. Load after the existing game, market and theme sheets. */
:root{--surface:#fff;--surface-raised:#f1f4ee;--muted:#58685e;--readable-label:#465a4e;--readable-focus:#4f813a}
:root[data-theme=dark]{--ink:#edf1f7;--muted:#bdc8d6;--line:#515d6b;--paper:#1c2026;--white:#29313b;--surface:#29313b;--surface-raised:#343e4a;--dark:#151b22;--accent:#b6d993;--green:#bfdc94;--red:#ffb2a4;--readable-label:#d5deea;--readable-focus:#c7e5a2;color-scheme:dark}
:is(.management-window,.modal,.map-utility-panel,.entry-card,.profile-page){font-size:14px;line-height:1.55;font-variant-numeric:tabular-nums}
:is(.management-window,.modal,.entry-card,.profile-page) :is(label,dt){font-size:12px;line-height:1.5;color:var(--readable-label);font-weight:650}
:is(.management-window,.modal,.entry-card,.profile-page) :is(input,select,textarea){font-size:14px;line-height:1.45;min-height:42px;color:var(--ink);border-color:var(--line)}
:is(.management-window,.modal,.entry-card,.profile-page) :is(input,select,textarea)::placeholder{color:var(--muted);opacity:1}
:is(.management-window,.modal,.entry-card,.profile-page) :is(input[type=checkbox],input[type=radio]){min-height:0;width:17px;height:17px;flex-shrink:0;accent-color:#6b984d}
:is(.management-window,.modal,.entry-card,.profile-page) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--readable-focus);outline-offset:3px}
:is(.management-window,.modal) :is(p,.desc){font-size:13px;line-height:1.65}
:is(.management-window,.modal) :is(small,.form-hint,.panel-sub,.aircraft-age-info,.catalog-years,.estimate small,.detail-kpis span){font-size:12px;line-height:1.55}
:is(.management-window,.modal) :is(h2,.panel-title){font-size:19px;line-height:1.35;letter-spacing:-.3px}
:is(.management-window,.modal) h3{font-size:17px;line-height:1.4;letter-spacing:-.2px}
:is(.management-window,.modal) h4{font-size:15px;line-height:1.4}
:is(.management-window,.modal) .eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.2px;color:var(--muted)}
:is(.management-window,.modal) .btn{font-size:13px;line-height:1.35;min-height:39px;white-space:normal;text-align:center}
:is(.management-window,.modal) .btn.small{font-size:12px;min-height:34px;padding:8px 11px}
:is(.management-window,.modal) .btn.icon-only{min-width:38px;min-height:38px;padding:9px;flex-shrink:0}
:is(.management-window,.modal) .tag{font-size:11px;line-height:1.35;padding:5px 8px}
:is(.management-window,.modal) :is(.buttons,.field-row,.section-toolbar,.route-heading-actions){gap:12px}
:is(.management-window,.modal) :is(.field,.field-row){margin-bottom:17px}
:is(.management-window,.modal) .management-check{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.5;margin:10px 0}
:is(.management-window,.modal) :is(table,.exchange-table,.study-table,.study-archive-table){font-size:13px;line-height:1.5}
:is(.management-window,.modal) :is(th,.exchange-table th,.study-table th,.study-archive-table th){font-size:11px;line-height:1.5;letter-spacing:.3px;color:var(--readable-label)}
:is(.management-window,.modal) :is(td,th){padding:13px 12px}
:is(.management-window,.modal) td small{display:block;font-size:11px;margin-top:4px}
:is(.management-window,.modal) .table-wrap{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
:is(.management-window,.modal) :is(.pills,.exchange-tabs,.market-mode-tabs,.route-tabs){gap:8px;flex-wrap:wrap}
:is(.management-window,.modal) :is(.pills button,.exchange-tabs button,.market-mode-tabs button,.route-tabs button){font-size:13px;line-height:1.4;padding:10px 13px;min-height:38px}
:is(.management-window,.modal) details>summary{font-size:13px;line-height:1.5;padding-block:8px;cursor:pointer}
:is(.management-window,.modal) :is(.notice,.estimate,.response-options article,.internal-report-row){line-height:1.6}
:is(.management-window,.modal) .internal-report-row{font-size:13px;gap:12px}
:is(.management-window,.modal) :is(.airport-card .iata,.airport-tile .iata){font-size:20px}
:is(.management-window,.modal) :is(.airport-card .city,.airport-tile .city,.map-airport-name){font-size:14px}
:is(.management-window,.modal) :is(.portfolio-route,.ops-card,.company-card,.stock-card,.corporate-card){line-height:1.55}
.window-titlebar,.modal-head{gap:15px}
.window-titlebar h2,.modal-head h2{font-size:19px;line-height:1.35}
.window-control{min-width:34px;min-height:34px;font-size:20px}
.window-titlebar>span,.modal-head>span{font-size:10px}
.window-page-content,#page-content{scroll-padding-top:16px;scrollbar-gutter:stable}
.workspace-nav button span{font-size:10px;line-height:1.35;color:inherit;overflow-wrap:anywhere}
.workspace-nav button{min-height:53px;color:#50654f}
.workspace-nav button.active{font-weight:700}
.workspace-events .ticker-story{font-size:12px}
.workspace-events .ticker-story b{font-size:10px}
.news-archive-tools{gap:12px;align-items:end}
.news-archive-tools button{min-height:42px}
.news-archive-item>summary{font-size:14px}
.news-date,.news-expiry{font-size:11px}
.menu712-index{display:flex;gap:7px;flex-wrap:wrap;padding:0 0 18px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.menu712-jump{font:600 12px inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface-raised);padding:8px 11px;border-radius:7px;cursor:pointer}
.menu712-jump:hover{border-color:var(--readable-focus)}
/* Katalog: values stay prominent; labels and the operating assumptions are legible. */
.catalog714-body{padding:22px}
.catalog714-body>h3{font-size:22px;line-height:1.3;margin:9px 0 11px}
.catalog714-body>.eyebrow{font-size:10px;line-height:1.4}
.catalog714-description{font-size:13px;line-height:1.65;min-height:42px;margin-bottom:19px}
.catalog714-years{font-size:12px;line-height:1.6;gap:14px}
.catalog714-specs{gap:13px;padding:18px 0}
.catalog714-specs>span{font-size:10px;line-height:1.5;letter-spacing:.25px}
.catalog714-specs b{font-size:16px;line-height:1.35;margin-top:7px}
.catalog714-prices{gap:18px;margin-top:19px}
.catalog714-prices section>span{font-size:11px;line-height:1.5}
.catalog714-prices strong{font-size:26px;line-height:1.25}
.catalog714-prices small{font-size:12px;line-height:1.6;min-height:18px}
.catalog714-prices .btn{font-size:12px;min-height:38px;margin-top:12px}
.catalog714-more{font-size:12px;padding-top:11px}
.catalog714-running{font-size:12px;line-height:1.6;margin-top:20px}
.catalog714-info summary,.catalog714-info p{font-size:12px;line-height:1.6}
.catalog714-maker{font-size:10px}
.catalog714-photo>.tag{font-size:10px}
.catalog714-photo .photo-credit{font-size:9px;line-height:1.4}
.catalog714-prices.single-purchase,.catalog714-prices:has(>section:only-child){grid-template-columns:1fr}
.catalog714-prices.single-purchase>section,.catalog714-prices>section:only-child{border-left:0;padding-left:0;display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:center}
.catalog714-prices.single-purchase>section>span,.catalog714-prices>section:only-child>span{grid-column:1}
.catalog714-prices.single-purchase>section>strong,.catalog714-prices>section:only-child>strong{grid-column:1}
.catalog714-prices.single-purchase>section>small,.catalog714-prices>section:only-child>small{grid-column:1}
.catalog714-prices.single-purchase>section>.btn,.catalog714-prices>section:only-child>.btn{grid-column:2;grid-row:1/5;min-width:122px;margin:0}
.catalog714-offer>span{font-size:13px}.catalog714-offer small{font-size:12px;line-height:1.5}.catalog714-offer strong{font-size:19px}
/* Entry/account pages: the pale code field always has dark lettering. */
.entry-card{line-height:1.65}
.entry-card-title p,.entry-card>p,.entry-card .form-hint{font-size:14px;line-height:1.7;color:var(--muted)}
.entry-card-title>span,.entry-kicker{font-size:11px;color:#526f3e;line-height:1.4}
.entry-card label{font-size:13px;color:var(--readable-label);margin-top:19px}
.entry-card input,.entry-card select{font-size:14px;line-height:1.5;min-height:48px}
.entry-card>small,.entry-card small,.waiting-note{font-size:12px;line-height:1.6;color:var(--muted)}
.entry-logout{font-size:13px;line-height:1.5;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.entry-primary,.entry-secondary{font-size:14px;line-height:1.5;min-height:46px;padding:13px 16px}
.lobby-code-box{background:#eaf3da;border-color:#adc38e;color:#243925}
.lobby-code-box strong{font:750 25px/1.35 ui-monospace,monospace;letter-spacing:2px;color:#243925;user-select:all}
.lobby-code-box button{background:#fff;color:#2e4e29;border-color:#a8bd90;min-width:38px;min-height:38px}
.ready-badge{font-size:11px;color:#536348;background:#edf1e7;padding:6px 10px}
.ready-badge.ready{color:#365b22;background:#e1edce}
.lobby-player strong,.lobby-player b{font-size:14px}
.lobby-player small{font-size:12px}
.entry-error{font-size:13px;line-height:1.6}
/* Company tree: buttons are native actions, branches can be folded without JavaScript. */
.org712{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:22px 0 28px;overflow:hidden}
.org712-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:24px}
.org712-heading h3{font-size:20px;line-height:1.35;margin:0}
.org712-root{display:flex;justify-content:center;position:relative;padding-bottom:28px}
.org712-root:after{content:'';position:absolute;bottom:0;left:50%;height:28px;border-left:2px solid var(--line)}
.org712-node{min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:17px;box-shadow:0 4px 14px #1b2a3010;position:relative}
.org712-parent{width:min(430px,100%);border-top:4px solid #93b765}
.org712-identity{display:flex;gap:12px;align-items:center;text-align:left;width:100%;color:var(--ink);padding:0;border-radius:6px}
.org712-identity>span:nth-child(2){flex:1;min-width:0}
.org712-identity small{display:block;font-size:10px;letter-spacing:.8px;line-height:1.5;color:var(--muted)}
.org712-identity strong{display:block;font-size:17px;line-height:1.4;margin:3px 0;overflow-wrap:anywhere}
.org712-identity em{display:block;font-size:12px;line-height:1.5;color:var(--muted);font-style:normal}
.org712-identity:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.org712-logo{width:48px;height:45px;object-fit:contain;border-radius:7px;padding:5px;background:#fff;flex-shrink:0}
.org712-arrow{font-size:20px;color:var(--muted);align-self:flex-start}
.org712-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;padding:14px 0;border-block:1px solid var(--line)}
.org712-metrics dt{font-size:11px;line-height:1.4;color:var(--muted);font-weight:500}
.org712-metrics dd{font-size:22px;font-weight:700;line-height:1.3;margin:4px 0 0}
.org712-finance{display:grid;gap:10px;font-size:11px;color:var(--muted)}
.org712-finance strong{display:block;font-size:15px;line-height:1.45;color:var(--ink);margin-top:2px}
.org712-finance strong.profit{color:#467336}.org712-finance strong.negative{color:#ad433c}
.org712-dividend{border-top:1px solid var(--line);padding-top:11px;margin-top:13px;display:flex;gap:10px;justify-content:space-between;font-size:11px;line-height:1.5;color:var(--muted)}
.org712-dividend b{color:var(--ink);font-size:12px;white-space:nowrap}
.org712-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.org712-actions .btn{flex:1;min-width:110px}
.org712-branches>summary{width:max-content;max-width:100%;margin:0 auto 24px;padding:9px 15px;font-size:13px;background:var(--surface-raised);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;position:relative;z-index:1}
.org712-branches>summary span{margin-left:10px;background:var(--surface);padding:2px 7px;border-radius:5px;font-weight:700}
.org712-children{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px 18px;border-top:2px solid var(--line);padding-top:25px}
.org712-children>.org712-node:before{content:'';position:absolute;left:50%;top:-27px;height:25px;border-left:2px solid var(--line)}
.org712-empty{font-size:13px;color:var(--muted);text-align:center;max-width:480px;margin:auto;line-height:1.65}
/* Gray dark mode: secondary text remains readable, including formerly green labels. */
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page,.map-utility-panel){color:var(--ink)}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) :is(h1,h2,h3,h4,strong,b,dt,label){color:var(--ink)}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) :is(p,small,.form-hint,.desc,.panel-sub,.country,.tile-foot,.executive-detail,.executive-team-meta,.study-result-count){color:var(--muted)}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) :is(input,select,textarea){background:#1c242e;color:#f0f4f9;border-color:#657386}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) :is(input,select,textarea)::placeholder{color:#b2bfce}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) :is(.btn,.entry-secondary){background:#354150;color:#edf2f9;border-color:#657386}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) :is(.btn.primary,.entry-primary,.btn.lime){background:#bfdc94;color:#1b2b17;border-color:#bfdc94}
[data-theme=dark] :is(.management-window,.modal) :is(.btn.primary,.btn.lime) :is(strong,b,small,span){color:inherit}
[data-theme=dark] :is(.management-window,.modal,.entry-card,.profile-page) button:disabled{opacity:.65}
[data-theme=dark] .entry-card-title>span,[data-theme=dark] .entry-kicker{color:#c0daa3}
[data-theme=dark] .lobby-code-box{background:#eaf3da;border-color:#adc38e;color:#243925}
[data-theme=dark] .lobby-code-box strong{color:#243925}
[data-theme=dark] .lobby-code-box button{background:#fff;color:#2e4e29;border-color:#a8bd90}
[data-theme=dark] .ready-badge{background:#3b4552;color:#e3eaf3}
[data-theme=dark] .ready-badge.ready{background:#354d33;color:#d9edc7}
[data-theme=dark] .workspace-nav button{color:#cad4e2}
[data-theme=dark] .workspace-nav button.active{background:#43533c;color:#f0f6ea}
[data-theme=dark] :is(.market713-tabs,.exchange-tabs,.pills) button{color:#d5dfeb}
[data-theme=dark] :is(.market713-tabs,.exchange-tabs,.pills) button.active,[data-theme=dark] .market713-tabs button.primary{background:#bfdc94;color:#1b2b17;border-color:#bfdc94}
[data-theme=dark] .catalog714-prices :is(strong,b),[data-theme=dark] .catalog714-specs b{color:#f1f5fa}
[data-theme=dark] .catalog714-prices :is(small,section>span),[data-theme=dark] .catalog714-running,[data-theme=dark] .catalog714-years,[data-theme=dark] .catalog714-more{color:#c7d1de}
[data-theme=dark] .org712,[data-theme=dark] .org712-node{background:#29313b}
[data-theme=dark] .org712-parent{background:#2d3741}
[data-theme=dark] .org712-finance strong.profit{color:#b9df9c}
[data-theme=dark] .org712-finance strong.negative{color:#ffb2a4}
[data-theme=dark] .org712-identity :is(small,em),[data-theme=dark] .org712-dividend{color:#bdc8d6}
[data-theme=dark] .org712-branches>summary{background:#354150;color:#edf2f9}
@media(max-width:850px){.org712{padding:18px}.org712-children{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.org712-heading{flex-wrap:wrap}.catalog714-body{padding:18px}:is(.management-window,.modal) :is(td,th){padding:11px 9px}}
@media(max-width:600px){.org712-children{grid-template-columns:1fr}.org712-heading h3{font-size:18px}.org712-root{padding-bottom:22px}.org712-node{padding:15px}.org712-identity strong{font-size:16px}.catalog714-prices.single-purchase>section,.catalog714-prices>section:only-child{display:block}.catalog714-prices.single-purchase>section>.btn,.catalog714-prices>section:only-child>.btn{margin-top:12px;min-width:0;width:100%}.catalog714-prices strong{font-size:23px}.menu712-index{gap:6px}.menu712-jump{font-size:11px;padding:8px}.workspace-nav button span{font-size:8px;line-height:1.25}.workspace-nav button{min-height:0}.entry-card{padding:25px}.lobby-code-box strong{font-size:23px;letter-spacing:1.5px}}
@media(prefers-reduced-motion:reduce){.menu712-jump{scroll-behavior:auto}}
