.custody-workshop .custody-purpose{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}
.custody-purpose-option{text-align:left;display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;white-space:normal}
.custody-purpose-option[data-started="true"]{background:var(--panel2);box-shadow:inset 0 3px 8px #0008;transform:translateY(1px)}
.custody-purpose-option[aria-pressed="true"]{border-color:var(--orange)}
.custody-purpose-option small,.custody-purpose-option span{font-size:12px;color:var(--muted)}
.custody-workshop .custody-equipment-art{width:110px;height:80px;object-fit:contain}
.custody-workshop .workshop-build{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}
.custody-workshop .workshop-story{background:var(--panel2);padding:16px;border-radius:6px}
.custody-workshop .workshop-build p,.custody-workshop details p{color:var(--muted);margin:10px 0;line-height:1.6}
.workshop-checks{list-style:none;padding:0;display:grid;gap:6px;color:var(--muted)}
.workshop-client{display:flex;gap:10px;flex-wrap:wrap;width:100%}.workshop-client label{flex:1 1 170px;min-width:0}.workshop-client select{width:100%;display:block;margin:6px 0;color:var(--text);background:var(--panel);padding:10px;border:1px solid var(--line)}
.workshop-inventory h3{font-size:14px}.workshop-locations{margin:14px 0}.workshop-locations table{width:100%;text-align:left;border-collapse:collapse}.workshop-locations th,.workshop-locations td{padding:8px;border-bottom:1px solid var(--line);font-size:12px}
.workshop-floor{height:255px;position:relative;isolation:isolate;overflow:hidden;background:var(--panel2);border-radius:8px;margin:16px 0}
.workshop-plane{position:absolute;width:75%;height:80%;left:12%;top:18%;transform:perspective(600px) rotateX(55deg) rotateZ(-25deg);background:repeating-linear-gradient(0deg,transparent 0 24px,var(--line) 25px 26px),repeating-linear-gradient(90deg,transparent 0 24px,var(--line) 25px 26px),var(--panel);box-shadow:0 10px 0 var(--line)}
.workshop-station{position:absolute;left:12%;top:40%;background:transparent;border:0;color:var(--text);display:flex;flex-direction:column;align-items:center;max-width:34%;font-size:12px}
.workshop-station span{background:var(--panel);padding:5px 9px;border:1px solid var(--line);border-radius:4px}
.workshop-station.recovery-station{left:65%;top:49%}.workshop-station.node-station{left:48%;top:3%}
@media(max-width:640px){.custody-workshop .custody-purpose{grid-template-columns:repeat(2,minmax(0,1fr))}.custody-workshop .workshop-build{grid-template-columns:1fr}.custody-workshop .custody-equipment-art{width:82px;height:66px}.workshop-floor{height:230px}.workshop-station.recovery-station{left:62%}.workshop-station.node-station{left:45%}.workshop-station{left:5%}}
:root {
  --bg:#080b0c; --panel:#0d1213; --panel2:#111819; --line:#243033;
  --text:#e8ece9; --muted:#8d9a97; --dim:#74847f; --orange:#f7931a;
  --orange2:#ffc267; --green:#86c79a; --red:#ff766f; --blue:#77a9c9;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{background:var(--bg);color:var(--text);scroll-behavior:smooth}
body{margin:0;min-width:320px;background:
  radial-gradient(circle at 18% -5%,rgba(247,147,26,.10),transparent 29rem),
  linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),var(--bg);
  background-size:auto,32px 32px,32px 32px,auto;font-family:var(--sans);font-size:14px}
button,input,select{font:inherit} button{color:inherit} a{color:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.app{min-height:100vh;display:flex;flex-direction:column}
.topbar{min-height:var(--topbar-h);padding:12px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;background:rgba(8,11,12,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:11px;min-width:246px}.coin{width:40px;height:40px;border:1px solid #5d411f;background:#17120b;color:var(--orange);display:grid;place-items:center;font:700 25px var(--mono);box-shadow:inset 0 0 18px rgba(247,147,26,.1)}
.brand-name{font:700 17px/1 var(--mono);letter-spacing:.12em}.brand-sub{margin-top:5px;color:var(--muted);font:10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.era-chip{border-left:1px solid var(--line);padding-left:18px;margin-right:auto}.era-chip strong{display:block;font:600 12px var(--mono);color:var(--orange2)}.era-chip span{display:block;color:var(--muted);font:10px var(--mono);margin-top:4px;text-transform:uppercase;letter-spacing:.08em}
.clock{font-family:var(--mono);text-align:right}.clock strong{display:block;font-size:15px}.clock span{font-size:10px;color:var(--muted)}
.speeds{display:flex;border:1px solid var(--line);padding:3px;background:#080b0c}.speed{border:0;background:transparent;padding:7px 9px;min-width:38px;color:var(--muted);font:600 10px var(--mono);cursor:pointer}.speed:hover{color:var(--text);background:#161d1e}.speed.active{background:var(--orange);color:#160d03}
.save-state{display:flex;align-items:center;gap:6px;color:var(--dim);font:10px var(--mono);white-space:nowrap}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.save-state.save-failing{display:flex;color:var(--red);font-weight:700}.save-failing .save-dot{background:var(--red);box-shadow:0 0 8px var(--red)}
.mobile-menu-button,.mobile-pause-button,.mobile-nav{display:none}
.ticker{display:flex;border-bottom:1px solid var(--line);background:#090d0e;overflow:auto}.ticker-group{flex:0 0 auto;border-right:1px solid var(--line)}.ticker-group:last-child{border:0}.ticker-group-label{padding:9px 15px 0;color:var(--orange2);font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.ticker-group-values{display:flex}.tick{min-width:115px;overflow:hidden;width:148px;padding:11px 15px;border-right:1px solid var(--line)}.tick:last-child{border:0}.label{font:10px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}.value{margin-top:6px;overflow:hidden;text-overflow:ellipsis;font:600 16px/1.2 var(--mono);white-space:nowrap}.value.orange{color:var(--orange2)}.value.green{color:var(--green)}.value.dim{color:var(--dim)}.subvalue{margin-top:5px;font:11px/1.4 var(--sans);color:var(--muted)}
.status-banner{margin:14px 20px 0;border:1px solid #78433f;background:#211312;padding:11px 14px;display:flex;align-items:center;gap:12px;color:#ffd6d2}.status-banner strong{font:700 11px var(--mono);text-transform:uppercase}.status-banner span{color:#cfa5a1;font-size:12px}.status-banner .push{margin-left:auto}
.settlement-sale-banner,.forecast-warning-banner{border-color:#6d5024;background:#211a10;color:#ffe2b8}.settlement-sale-banner span{color:#d3ac78}
.exposure-warning-banner{border-color:#8a6420;background:#241c0d;color:#ffdca8}.exposure-warning-banner span{color:#cfa863}
.shopping-banner{margin:0 0 12px;border:1px solid #6f5a31;background:#18140c;padding:10px 12px;display:flex;gap:10px;align-items:center;color:#f8d8a4;font:10px var(--mono)}.shopping-banner b{text-transform:uppercase;color:var(--orange2)}.shopping-banner span{color:#baa982}
.shell{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:0;flex:1}.main{min-width:0;border-right:1px solid var(--line)}
/* The tab row sits below the sticky topbar rather than inside it, and used to scroll away
   with the page. On a Mine tab that runs to nearly twelve screens that meant the tabs were
   off-screen for most of the page and you had to scroll back to the top to change tab at
   all - the reason Mine felt worse than every other tab. Sticking it under the topbar keeps
   navigation reachable from anywhere. --topbar-h tracks the topbar's own min-height so the
   two cannot drift apart. */
:root{--topbar-h:72px}
@media(max-width:900px){.tabs{top:0}}
.tabs{display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--line);overflow-x:auto;background:rgba(9,13,14,.92);position:sticky;top:var(--topbar-h);z-index:19;backdrop-filter:blur(12px)}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:14px 15px 12px;color:var(--muted);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--orange2);border-color:var(--orange)}.tab-note{margin-left:auto;color:var(--dim);font:9px var(--mono);white-space:nowrap;padding-left:20px}
.content{padding:18px 20px 30px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}
.card{background:linear-gradient(145deg,rgba(17,24,25,.96),rgba(12,17,18,.96));border:1px solid var(--line);min-width:0}.card.locked{opacity:.55}.dim{color:var(--dim)}.card-pad{padding:16px}.card-head{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;min-height:43px}.card-head h2,.card-head h3{margin:0;font:600 10px var(--mono);letter-spacing:.09em;text-transform:uppercase}.card-head .meta{margin-left:auto;color:var(--dim);font:9px var(--mono)}
.hero{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;position:relative;overflow:hidden}.hero:after{content:"₿";position:absolute;right:18%;top:-55px;font:700 180px/1 var(--mono);color:rgba(247,147,26,.025);pointer-events:none}.hero-kicker{font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--orange)}.hero h1{font:500 clamp(25px,3vw,43px)/1.03 var(--sans);letter-spacing:-.04em;margin:9px 0 8px}.hero p{max-width:660px;color:var(--muted);line-height:1.55;margin:0;font-size:13px}.hero-stat{text-align:right;position:relative;z-index:1}.hero-stat strong{font:600 clamp(24px,3vw,36px) var(--mono);color:var(--green)}.hero-stat span{display:block;color:var(--muted);font:9px var(--mono);margin-top:5px;text-transform:uppercase}
/* Auto-fit rather than a fixed four: these strips carry four, five and now six tiles, and a
   hard column count either wrapped one orphan onto its own row or forced the tile list to be
   truncated to fit. */
.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));border-top:1px solid var(--line)}.metric{padding:14px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric strong{display:block;margin-top:6px;font:600 15px var(--mono)}.metric small{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono)}
.source-tag{display:inline-flex;align-items:center;gap:5px;color:var(--dim);font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.source-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.source-tag.recorded{color:var(--green)}.source-tag.derived{color:var(--blue)}.source-tag.modelled{color:#b99a74}
.chart-wrap{padding:12px 12px 8px}.chart{width:100%;height:190px;display:block;overflow:visible}.chart .gridline{stroke:#263033;stroke-width:1}.chart .line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.chart .area{opacity:.09}.chart-labels{display:flex;justify-content:space-between;color:var(--dim);font:9px var(--mono);padding:0 3px 4px}.chart-labels.end{justify-content:flex-end}.chart-legend{display:flex;gap:15px;align-items:center}.legend{display:flex;gap:6px;align-items:center;font:9px var(--mono);color:var(--muted)}.legend:before{content:"";width:12px;height:2px;background:var(--legend)}
.balance-list{padding:4px 14px 12px}.balance-row{padding:10px 0;border-bottom:1px solid rgba(36,48,51,.65);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.balance-row:last-child{border:0}.balance-name{font-size:12px}.balance-name small{display:block;color:var(--muted);font:9px var(--mono);margin-top:3px}.balance-num{text-align:right;font:600 11px var(--mono)}.balance-num small{display:block;color:var(--dim);font-weight:400;margin-top:3px}
.bar{height:5px;background:#080b0c;margin-top:7px;position:relative;overflow:hidden}.bar i{position:absolute;inset:0 auto 0 0;background:var(--bar,var(--orange));width:var(--w);box-shadow:0 0 8px color-mix(in srgb,var(--bar,var(--orange)) 45%,transparent)}
.feed{padding:4px 14px 10px}.feed-row{display:grid;grid-template-columns:66px 1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid rgba(36,48,51,.55);font:10px var(--mono);align-items:center}.feed-row:last-child{border:0}.feed-time{color:var(--dim)}.feed-main{color:var(--muted)}.feed-main b{color:var(--text);font-weight:500}.feed-amount{color:var(--green);text-align:right}
.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:6px}.donut-value{font:600 20px var(--mono);fill:var(--orange2)}.donut-label{font:9px var(--mono);fill:var(--muted);text-transform:uppercase;letter-spacing:.08em}.pie-legend{display:flex;flex-direction:column;gap:7px;font:10px var(--mono);color:var(--muted);width:100%}.pie-legend .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:-1px}
.mempool-viz{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;min-width:0;max-width:100%}.mp-chain{display:flex;align-items:center;gap:6px;flex:1 1 340px;min-width:0;max-width:100%;overflow-x:auto;padding:2px 0}.mp-block{flex:0 0 auto;width:76px;height:76px;border:1px solid var(--line);background:linear-gradient(160deg,#15211d,#0d1413);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:9px var(--mono);color:var(--muted)}.mp-block.latest{border-color:var(--green);box-shadow:0 0 14px rgba(134,199,154,.18)}.mp-block-h{color:var(--text);font-weight:600;font-size:10px}.mp-arrow{color:var(--dim);font-size:13px;flex:0 0 auto}.mp-arrow.big{font-size:18px;align-self:center}.mp-next{flex:1 1 340px;min-width:260px;max-width:520px;display:flex;flex-direction:column;gap:8px}.mp-next-label{font:9px var(--mono);color:var(--dim);display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.06em}.mp-next-label b{color:var(--orange2);font-weight:600}.mp-mosaic{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));grid-auto-flow:dense;gap:2px;border:1px dashed #3c4a46;padding:6px;background:#0b1011;min-width:0;height:240px;overflow:hidden;align-content:start}.mp-cell{aspect-ratio:1;background:#3d4a44;transition:background .4s}.mp-cell.sz2{grid-column:span 2;grid-row:span 2}.mp-cell.sz3{grid-column:span 3;grid-row:span 3}.mp-cell.hi{background:var(--orange)}.mp-cell.mid{background:#c98a3f}.mp-cell.lo{background:#3d4a44}.mp-legend2{display:flex;gap:10px;font:9px var(--mono);color:var(--muted);align-items:center;flex-wrap:wrap}.mp-legend2 .dot{width:7px;height:7px;display:inline-block;margin-right:4px;border-radius:1px;vertical-align:-1px}.mp-legend2 .dot.hi{background:var(--orange)}.mp-legend2 .dot.mid{background:#c98a3f}.mp-legend2 .dot.lo{background:#3d4a44}.mp-count{font:9px var(--mono);color:var(--dim)}
@keyframes faucetShrink{from{width:100%}to{width:0%}}.faucet-pop{position:fixed;left:18px;bottom:18px;z-index:71;width:min(320px,calc(100vw - 36px));border:1px solid #6b4a1f;background:#15120b;box-shadow:0 16px 40px #000;overflow:hidden}.faucet-bar{height:3px;background:var(--orange);animation:faucetShrink 6.5s linear forwards}.faucet-body{padding:13px 14px}.faucet-body b{font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--orange2);display:block}.faucet-body span{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.5}
.intro-steps{display:flex;gap:6px;margin:2px 0 4px}.intro-dot{width:6px;height:6px;border-radius:50%;background:var(--line)}.intro-dot.active{background:var(--orange)}
.action{border:1px solid #435054;background:#12191a;padding:8px 11px;font:600 10px var(--mono);cursor:pointer;transition:.15s}.action:hover:not(:disabled){border-color:#73817d;background:#182122}.action.primary{background:var(--orange);border-color:var(--orange);color:#180e03}.action.primary:hover:not(:disabled){background:#ffad45}.action.danger{border-color:#78433f;color:#ffb0aa}.action:disabled{opacity:.35;cursor:not-allowed}.action.small{padding:6px 8px;font-size:9px}.actions{display:flex;gap:7px;flex-wrap:wrap}.push{margin-left:auto}
.action.power-pending{opacity:1!important;color:#fff}.action.power-pending.to-on{animation:power-warm 1s linear forwards}.action.power-pending.to-off{animation:power-cool 1s linear forwards}
@keyframes power-warm{0%{background:#5c1a18;border-color:var(--red)}100%{background:#16241c;border-color:var(--green)}}
@keyframes power-cool{0%{background:#16241c;border-color:var(--green)}100%{background:#5c1a18;border-color:var(--red)}}
.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item{border:1px solid var(--line);background:#0b1011;padding:14px;display:flex;flex-direction:column;min-height:220px}.item.owned{border-color:#5e512f;box-shadow:inset 0 0 24px rgba(247,147,26,.04)}.item.locked{opacity:.55}.item-top{display:flex;align-items:start;gap:10px}.era{font:700 9px var(--mono);padding:4px 5px;border:1px solid #51421f;color:var(--orange2)}.item h3{font-size:14px;margin:12px 0 3px}.item-maker{font:9px var(--mono);color:var(--dim)}.item p{color:var(--muted);font-size:11px;line-height:1.5;margin:10px 0 13px;flex:1}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:12px}.spec{background:#111819;padding:7px}.spec span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase}.spec b{display:block;margin-top:4px;font:600 10px var(--mono)}.item-foot{display:flex;align-items:center;gap:6px}.price{font:600 12px var(--mono);margin-right:auto}.price small{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono);font-weight:400}.owned-count{color:var(--orange2);font:10px var(--mono)}.purchase-channel{display:flex;flex-direction:column;gap:3px;margin:-2px 0 9px;padding:7px 9px;border:1px solid var(--line);border-left:3px solid var(--green);background:#0b1112}
.purchase-channel.secondary{border-left-color:var(--orange)}
.purchase-channel b{color:var(--text);font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.purchase-channel.secondary b{color:var(--orange2)}
.purchase-channel span{color:var(--muted);font:9px/1.5 var(--mono)}
.purchase-capacity{margin:0 0 12px;border:1px solid var(--line);background:#0e1516;padding:10px}.purchase-capacity.limited{border-color:#6f5a31;background:#17130d}.purchase-capacity.blocked{border-color:#78433f;background:#191110}.purchase-capacity-head{display:flex;gap:8px;align-items:flex-start}.purchase-capacity-head b{font:600 9px/1.4 var(--mono);color:var(--green);text-transform:uppercase}.purchase-capacity.limited .purchase-capacity-head b{color:var(--orange2)}.purchase-capacity.blocked .purchase-capacity-head b{color:var(--red)}.purchase-capacity-head small{margin-left:auto;color:var(--muted);font:9px/1.35 var(--mono);text-align:right}.purchase-limits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin-top:8px}.purchase-limits span{background:#101718;padding:7px;color:var(--dim);font:9px var(--mono);text-transform:uppercase}.purchase-limits strong{display:block;margin-top:4px;color:var(--text);font:600 9px/1.35 var(--mono);text-transform:none}.purchase-capacity-note{display:block;margin-top:7px;color:var(--muted);font:9px/1.45 var(--mono)}.purchase-capacity-note .action{margin-top:7px}
.profit-wrap{overflow-x:auto}.profit-table{width:100%;border-collapse:collapse;min-width:890px}.profit-table th,.profit-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:right;font:9px/1.35 var(--mono);white-space:nowrap}.profit-table th{color:var(--dim);font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:#0b1011}.profit-table th:first-child,.profit-table td:first-child{text-align:left}.profit-table tr:last-child td{border-bottom:0}.profit-machine b{display:block;color:var(--text);font-size:10px}.profit-machine small{display:block;color:var(--dim);margin-top:3px}.profit-positive{color:var(--green)}.profit-negative{color:var(--red)}.profit-neutral{color:var(--orange2)}.profit-signal{display:inline-block;padding:4px 6px;border:1px solid currentColor;font-size:9px;text-transform:uppercase}.profit-summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.profit-summary>div{padding:12px;border-right:1px solid var(--line)}.profit-summary>div:last-child{border-right:0}.profit-summary b{display:block;margin-top:5px;font:600 14px var(--mono)}.profit-summary small{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono)}
.activity-filters{display:flex;gap:7px;flex-wrap:wrap}.activity-table{width:100%;border-collapse:collapse;min-width:860px}.activity-table th,.activity-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left;font:9px/1.45 var(--mono);vertical-align:top}.activity-table th{color:var(--dim);font-size:9px;text-transform:uppercase;letter-spacing:.06em;background:#0b1011;position:sticky;top:0}.activity-table td.amount,.activity-table td.balance{text-align:right;white-space:nowrap}.activity-table td.action-name{font-size:10px;color:var(--text)}.activity-table td.action-name small{display:block;color:var(--dim);font-size:9px;margin-top:3px}.activity-kind{display:inline-block;padding:3px 5px;border:1px solid currentColor;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.activity-kind.trade{color:var(--orange2)}.activity-kind.fleet{color:var(--blue)}.activity-kind.finance{color:var(--red)}.activity-kind.reward{color:var(--green)}.activity-kind.custody{color:#b9a4ce}.activity-kind.learning{color:#d8bd72}.activity-kind.milestone{color:var(--orange)}
.starting-capital{margin:16px 0;border:1px solid #6f5a31;background:#12150f;padding:14px}.capital-head,.percent-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.capital-head span,.percent-head span{font:9px var(--mono);color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.capital-head output{font:700 24px var(--mono);color:var(--orange2)}.difficulty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.difficulty-option{min-width:0;border:1px solid var(--line);background:#0d1314;color:var(--text);padding:11px;text-align:left;cursor:pointer}.difficulty-option:hover{border-color:#6f5a31;background:#15140f}.difficulty-option.active{border-color:var(--orange);background:#1b150c;box-shadow:inset 0 0 18px rgba(247,147,26,.08)}.difficulty-option span,.difficulty-option strong,.difficulty-option small{display:block}.difficulty-option span{font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange2)}.difficulty-option strong{margin-top:7px;font:700 16px var(--mono)}.difficulty-option small{margin-top:6px;color:var(--muted);font:9px/1.4 var(--mono)}.range-input{display:block;width:100%;accent-color:var(--orange);cursor:pointer}.capital-exact,.percent-exact{display:flex;align-items:center;gap:8px;margin-top:10px}.capital-exact label,.percent-exact label{font:10px var(--mono);color:var(--muted);text-transform:uppercase}.capital-exact input,.percent-exact input{width:125px;border:1px solid var(--line);background:#080b0c;color:var(--text);padding:8px 9px;font:600 11px var(--mono)}.capital-exact input:focus,.percent-exact input:focus{outline:2px solid var(--orange);outline-offset:1px}.range-limits{display:flex;justify-content:space-between;margin-top:5px;color:var(--dim);font:9px var(--mono)}
.percent-control{margin:12px 0;padding:10px;border:1px solid var(--line);background:#0e1516}.percent-head{align-items:center;margin-bottom:7px}.percent-head output{font:700 14px var(--mono);color:var(--orange2)}.percent-exact{flex-wrap:wrap;margin-top:7px}.percent-exact input{width:72px}.percent-snaps{display:flex;gap:4px;margin-left:auto}.percent-snap{border:1px solid var(--line);background:#101718;color:var(--muted);padding:5px 6px;font:9px var(--mono);cursor:pointer}.percent-snap:hover,.percent-snap.active{border-color:var(--orange);color:var(--orange2)}.percent-amount{display:block;margin-top:8px;color:var(--text);font:600 10px/1.4 var(--mono)}.percent-help{display:block;margin-top:5px;color:var(--dim);font:9px/1.4 var(--mono)}
.confirm-exchange{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px;align-items:stretch;margin:18px 0 12px}.confirm-side{border:1px solid var(--line);background:#101718;padding:14px}.confirm-side.receive{border-color:#456b51;background:#0e1711}.confirm-side span{display:block;color:var(--dim);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.confirm-side strong{display:block;margin:8px 0 5px;font:700 16px/1.25 var(--mono);overflow-wrap:anywhere}.confirm-side small{display:block;color:var(--muted);font:9px/1.5 var(--mono)}.confirm-arrow{display:grid;place-items:center;color:var(--orange);font:22px var(--mono)}.confirm-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.confirm-breakdown>div{background:#0d1314;padding:10px}.confirm-breakdown span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase}.confirm-breakdown b{display:block;margin-top:5px;font:600 10px/1.45 var(--mono)}
.hardware-alert-modal{width:min(780px,100%)}.release-impact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:16px 0}.release-impact>div{background:#0d1314;padding:11px}.release-impact span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em}.release-impact b{display:block;margin-top:6px;font:600 13px var(--mono);color:var(--orange2)}.release-impact small{display:block;margin-top:5px;color:var(--muted);font:9px/1.4 var(--mono)}.demand-callout{border-left:3px solid var(--green);background:#0e1711;padding:12px 14px;margin-top:14px}.demand-callout b{font:600 10px var(--mono);color:var(--green);text-transform:uppercase}.demand-callout p{margin:5px 0 0;font-size:11px}
.venue-grid,.facility-grid,.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.venue,.facility,.skill{border:1px solid var(--line);background:#0b1011;padding:14px}.venue h3,.facility h3,.skill h3{font-size:13px;margin:0 0 5px}.venue p,.facility p,.skill p{color:var(--muted);font-size:11px;line-height:1.5;margin:8px 0 12px}.risk{font:9px var(--mono);text-transform:uppercase;letter-spacing:.07em}.risk.low{color:var(--green)}.risk.medium{color:var(--orange2)}.risk.high{color:var(--red)}.trade-value{font:600 19px var(--mono);margin:11px 0 4px}.trade-sub{font:9px var(--mono);color:var(--muted);margin-bottom:12px}.facility.active,.venue.active{border-color:#6f5a31}.facility-stats{display:flex;gap:15px;margin:10px 0;color:var(--muted);font:9px var(--mono)}
.exchange-ticket{padding:0}.exchange-ticket-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.exchange-ticket-mono{width:32px;height:32px;flex:0 0 auto;border-radius:3px;display:flex;align-items:center;justify-content:center;font:700 9px var(--mono);color:#0b1011;background:var(--venue-accent,var(--orange))}.exchange-ticket-head h3{margin:0;font-size:13px;flex:1}.exchange-ticket-quote{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.exchange-ticket-quote div{padding:10px 14px;text-align:center}.exchange-ticket-quote div:first-child{border-right:1px solid var(--line)}.exchange-ticket-quote span{display:block;font:9px var(--mono);color:var(--dim);text-transform:uppercase}.exchange-ticket-quote strong{display:block;margin-top:4px;font:600 15px var(--mono)}.exchange-ticket-quote .bid strong{color:var(--red)}.exchange-ticket-quote .ask strong{color:var(--green)}.exchange-ticket-desc{color:var(--muted);font-size:11px;line-height:1.5;margin:0;padding:10px 14px 0}.exchange-ticket-position{display:flex;justify-content:space-between;padding:8px 14px 12px;color:var(--muted);font:9px var(--mono)}.exchange-ticket-transfer{padding:10px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1314}.exchange-ticket-transfer .actions{margin-top:8px;display:flex;gap:7px}.exchange-ticket-trade{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.ticket-side{padding:12px 14px;background:#0d1314}.ticket-side.buy{border-top:2px solid var(--green)}.ticket-side.sell{border-top:2px solid var(--red)}.ticket-side h4,.exchange-ticket-transfer h4{margin:0 0 8px;font:600 9px var(--mono);text-transform:uppercase;color:var(--muted)}.trade-amount-control{display:grid;gap:8px}.trade-amount-control label{font:9px var(--mono);color:var(--dim);text-transform:uppercase}.trade-amount-field{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#091011;padding:8px 9px;color:var(--muted);font:12px var(--mono)}.trade-amount-field input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);font:600 15px var(--mono);outline:0}.trade-quick{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--dim);font:9px var(--mono)}.trade-quick span{margin-right:2px}.action.tiny{padding:4px 7px;font-size:9px}.exchange-ticket-fast-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid var(--line);background:#111718}.exchange-ticket-fast-action b,.exchange-ticket-fast-action span{display:block}.exchange-ticket-fast-action b{font:600 10px var(--mono)}.exchange-ticket-fast-action span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.exchange-ticket-fast-action .action{flex:0 0 auto}
.trade-direction{display:flex;align-items:center;gap:6px;margin-bottom:10px;color:var(--muted);font:9px var(--mono);text-transform:uppercase}.trade-direction span{padding:4px 6px;border:1px solid var(--line);background:#0a1011}.trade-direction i{font-style:normal;color:var(--orange2);font-size:13px}.trade-direction.buy i{color:var(--green)}.trade-direction.sell i{color:var(--red)}
@media(max-width:640px){.exchange-ticket-quote,.exchange-ticket-trade{grid-template-columns:1fr}.exchange-ticket-quote div:first-child{border-right:0;border-bottom:1px solid var(--line)}}
.ops-map{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:1px;background:var(--line);border:1px solid var(--line)}.ops-tile{min-height:160px;background:linear-gradient(145deg,#101718,#0a0f10);padding:14px;position:relative;overflow:hidden}.ops-tile h3{margin:0;color:var(--text);font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.ops-tile p{margin:6px 0;color:var(--muted);font-size:10px}.ops-building{width:100%;height:100px;display:block;margin-top:4px}.ops-flag{width:68px;height:46px;display:block;margin:20px auto 9px;border:1px solid #53615e}.fleet-racks{width:100%;height:76px;display:block;margin:15px auto 0}.choice-icon{float:right;width:58px;height:42px;margin:0 0 6px 10px;opacity:.92}.choice-icon.building{width:66px;height:50px}.miner-icon{float:right;width:58px;height:44px;margin:0 0 5px 8px}.spare-part-icon{float:right;width:58px;height:44px;margin:0 0 6px 8px}.ops-pulse{fill:var(--orange);animation:opsPulse 1.8s ease-in-out infinite}.miner-online{fill:var(--green);filter:drop-shadow(0 0 3px rgba(134,199,154,.8))}.miner-power-warning{fill:#f4bd4f;stroke:#352a12;stroke-width:1}.miner-hardware-fire{fill:#ef645f;filter:drop-shadow(0 0 2px rgba(239,100,95,.65))}.miner-config-warning{fill:var(--orange2);stroke:#352a12;stroke-width:1}@keyframes opsPulse{50%{opacity:.35}}
.site-command{display:grid;grid-template-columns:1.1fr 1fr;min-height:242px;overflow:hidden;background:linear-gradient(120deg,#10191a,#091011 68%);position:relative}.site-command:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 58px,rgba(134,199,154,.035) 59px 60px);pointer-events:none}.site-copy{padding:24px;position:relative;z-index:1}.site-copy h2{font:500 29px/1.05 var(--sans);letter-spacing:-.04em;margin:7px 0}.site-copy p{max-width:430px;color:var(--muted);font-size:12px;line-height:1.55}.site-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.site-tags span{border:1px solid var(--line);padding:6px 8px;color:var(--muted);font:9px var(--mono);text-transform:uppercase}.site-illustration{position:relative;display:grid;place-items:center;min-height:230px;border-left:1px solid var(--line);background:radial-gradient(circle at 50% 75%,rgba(247,147,26,.12),transparent 38%)}.site-building{width:min(88%,380px);height:190px;filter:drop-shadow(0 16px 10px rgba(0,0,0,.4));position:relative;z-index:1}.site-flag{position:absolute;right:16px;top:16px;width:72px;height:48px;border:1px solid #53615e;z-index:2}.site-status{position:absolute;left:16px;bottom:15px;font:9px var(--mono);color:var(--green);z-index:2;text-transform:uppercase;letter-spacing:.06em}.site-status.offline{color:var(--red)}.site-bars{position:absolute;right:16px;bottom:14px;width:116px;z-index:2}.site-bar-label{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono);margin:5px 0}.site-bar-label b{color:var(--text)}.site-bars .bar{margin-top:2px}.site-caption{position:absolute;right:17px;top:72px;color:var(--dim);font:9px var(--mono);text-transform:uppercase;z-index:2}
.tab-command{display:grid;grid-template-columns:1.05fr .95fr;min-height:205px;overflow:hidden;background:linear-gradient(125deg,#101718,#0a0f10)}.tab-command-copy{padding:22px;position:relative;z-index:1}.tab-command-copy h2{font:500 27px/1.06 var(--sans);letter-spacing:-.035em;margin:7px 0}.tab-command-copy p{color:var(--muted);font-size:12px;line-height:1.55;max-width:460px}.tab-command-art{min-height:205px;position:relative;display:grid;place-items:center;border-left:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 50% 55%,rgba(134,199,154,.1),transparent 45%)}.tab-command-art:before{content:"";position:absolute;inset:14px;background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(134,199,154,.05) 24px 25px);pointer-events:none}.tab-art{width:min(86%,360px);height:165px;position:relative;z-index:1}.tab-art .glow{fill:var(--orange);filter:drop-shadow(0 0 7px var(--orange))}.tab-command-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.tab-command-stats span{padding:6px 8px;border:1px solid var(--line);font:9px var(--mono);color:var(--muted)}.tab-command-stats b{color:var(--text);font-weight:600}
.fleet-actual{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:10px;flex-wrap:wrap;padding:18px;max-width:520px}.fleet-actual-unit{position:relative;border:1px solid #42534f;background:#101819;padding:7px;min-width:92px;box-shadow:0 0 16px rgba(134,199,154,.12),inset 0 0 16px rgba(247,147,26,.035)}.fleet-actual .miner-icon{float:none;width:86px;height:64px;margin:0 auto;display:block;filter:drop-shadow(0 0 9px rgba(247,147,26,.22))}.fleet-actual-unit b{position:absolute;left:3px;top:3px;padding:2px 4px;background:#0a0f10;border:1px solid var(--line);font:9px var(--mono);color:var(--orange2)}.fleet-actual-label{display:block;max-width:94px;margin-top:4px;color:var(--muted);font:9px/1.2 var(--mono);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-extra{align-self:center;color:var(--muted);font:10px var(--mono);padding:8px}
.section-pulse{margin-bottom:2px}.section-pulse .metric{min-height:72px}.section-pulse .metric strong{font-size:14px;overflow-wrap:anywhere}
.incident-banner{margin:10px 20px 0;padding:12px 14px;border:1px solid var(--red);background:linear-gradient(90deg,rgba(224,91,82,.18),rgba(224,91,82,.05));display:flex;align-items:center;gap:12px;flex-wrap:wrap}.incident-banner strong{color:var(--red);font:600 11px var(--mono);text-transform:uppercase}.incident-banner span{color:var(--text);font:10px var(--mono)}.incident-banner .action{margin-left:auto}
.exposure-strip{margin-top:14px;padding:12px;border:1px solid var(--line);background:#0b1011}.exposure-strip-head{display:flex;justify-content:space-between;gap:14px;font:9px var(--mono);color:var(--muted);text-transform:uppercase}.exposure-strip-head b{color:var(--text)}.exposure-track{height:13px;display:flex;background:#172022;margin:9px 0 7px;overflow:hidden}.exposure-track i{display:block;height:100%}.exposure-loan{background:var(--orange)}.exposure-arrears{background:var(--red)}.exposure-empty{background:#86c79a;opacity:.35}.exposure-legend{display:flex;gap:12px;flex-wrap:wrap;font:9px var(--mono);color:var(--muted)}.exposure-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;background:var(--legend);vertical-align:-1px}
.tech-trees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tech-tree{border:1px solid var(--line);background:#0b1011;overflow:hidden}.tech-tree-head{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--orange)}.tree-nodes{padding:12px;display:flex;gap:8px;overflow-x:auto;align-items:stretch}.tree-node{position:relative;flex:0 0 168px;padding:12px;border:1px solid #303d3e;background:#101819}.tree-node:not(:last-child):after{content:"→";position:absolute;right:-17px;top:50%;z-index:2;color:var(--orange);font:16px var(--mono)}.tree-node.unlocked{border-color:#4d795b;background:#0d1711}.tree-node.ready{border-color:#6f5a31}.tree-node h3{font-size:12px;margin:4px 0}.tree-node p{min-height:48px;margin:6px 0;color:var(--muted);font-size:10px;line-height:1.45}.tree-node .tree-cost{font:9px var(--mono);color:var(--orange2);margin-bottom:8px}.tree-node .tree-state{font:9px/1.4 var(--mono);color:var(--red);min-height:24px;margin-bottom:8px}.tree-node.unlocked .tree-state{color:var(--green)}
.settlement-forecast{border:1px solid var(--line);background:#0b1011;padding:14px}.settlement-forecast h3{margin:0;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.forecast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:12px}.forecast-grid>div{padding:11px;background:#111819}.forecast-grid b{display:block;margin-top:5px;font:600 14px var(--mono)}.forecast-grid small{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono)}.forecast-bar{height:9px;margin-top:12px;background:#1b2425;overflow:hidden}.forecast-bar i{display:block;height:100%;background:var(--green);width:var(--forecast);box-shadow:0 0 12px var(--green)}.settlement-forecast.tight .forecast-bar i{background:var(--orange)}.settlement-forecast.short .forecast-bar i{background:var(--red)}.forecast-status{margin-top:8px;font:10px var(--mono);color:var(--green)}.settlement-forecast.tight .forecast-status{color:var(--orange2)}.settlement-forecast.short .forecast-status{color:var(--red)}
.obligation-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin-top:12px}.obligation-stop{background:#101718;padding:12px;position:relative}.obligation-stop:first-child{background:#14201c}.obligation-stop time{display:block;font:9px var(--mono);color:var(--orange2);text-transform:uppercase}.obligation-stop b{display:block;font:600 17px var(--mono);margin:7px 0 4px}.obligation-stop small{display:block;color:var(--muted);font:9px/1.45 var(--mono)}.bill-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);margin-top:12px}.bill-line{background:#0f1516;padding:10px}.bill-line span{display:block;color:var(--muted);font:9px var(--mono);text-transform:uppercase}.bill-line b{display:block;margin-top:5px;font:600 12px var(--mono)}.plan-stats{display:flex;gap:12px;flex-wrap:wrap;margin:9px 0;color:var(--muted);font:9px var(--mono)}
.skill-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skill{min-height:175px}.skill.unlocked{border-color:#4d795b;background:#0d1711}.skill-branch{font:9px var(--mono);color:var(--orange);text-transform:uppercase;letter-spacing:.08em}.skill-lock{margin-top:auto}.skill p{min-height:48px}.skill-reason{min-height:28px;margin:7px 0 8px;color:var(--red);font:9px/1.45 var(--mono)}.skill.unlocked .skill-reason{color:var(--green)}.points{font:600 26px var(--mono);color:var(--orange2)}
.method{max-width:840px}.method h2{font-size:28px;letter-spacing:-.03em;margin:0 0 12px}.method h3{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:24px 0 9px;color:var(--orange2)}.method p,.method li{color:var(--muted);line-height:1.65}.method table{border-collapse:collapse;width:100%;margin:12px 0}.method th,.method td{text-align:left;padding:10px;border:1px solid var(--line);font-size:11px}.method th{font:600 9px var(--mono);text-transform:uppercase;color:var(--dim)}
.sidebar{background:rgba(9,13,14,.75);min-width:0}.story-head{padding:16px;border-bottom:1px solid var(--line);display:flex;align-items:center}.story-head h2{font:600 11px var(--mono);margin:0;text-transform:uppercase;letter-spacing:.1em}.story-count{margin-left:auto;color:var(--orange2);font:9px var(--mono)}
.story-feature{padding:18px 16px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(247,147,26,.07),transparent 60%)}.story-date{font:9px var(--mono);color:var(--orange);text-transform:uppercase}.story-feature h3{font-size:21px;line-height:1.12;letter-spacing:-.025em;margin:9px 0}.story-feature .dek{font-size:12px;line-height:1.55;color:#bcc5c2}.story-feature p{font-size:11px;line-height:1.6;color:var(--muted)}.story-source{margin-top:10px}.story-source a{display:inline-block;color:var(--muted);font:9px var(--mono);text-decoration:none;border:1px solid var(--line);padding:6px 8px}.story-source a:hover{color:var(--text);border-color:var(--line-strong)}.pool-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-bottom:16px}.pool-summary>div{background:var(--panel);padding:12px}.pool-summary strong{display:block;font:16px var(--mono);color:var(--text)}.pool-summary span{display:block;margin-top:4px;font:9px var(--mono);color:var(--dim);text-transform:uppercase}.pool-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.pool-row{padding:8px 0}.pool-row-head{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted)}.pool-row-head b{color:var(--text)}.pool-track{height:6px;background:#151d1e;margin:6px 0 4px;overflow:hidden}.pool-track i{display:block;height:100%;background:var(--orange)}.pool-row small{font:9px var(--mono);color:var(--dim)}
.story-list{padding:4px 16px 20px}.story-item{padding:13px 0;border-bottom:1px solid rgba(36,48,51,.7);cursor:pointer}.story-item:hover h4{color:var(--orange2)}.story-item time{font:9px var(--mono);color:var(--dim)}.story-item h4{font-size:12px;line-height:1.35;margin:5px 0 0}.story-item .cat{float:right;color:var(--muted);font:9px var(--mono);text-transform:uppercase}
.empty-story{padding:30px 18px;color:var(--muted);font-size:12px;line-height:1.6}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,4,5,.84);z-index:50;display:grid;place-items:center;padding:20px;backdrop-filter:blur(7px)}.modal{width:min(650px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid #55472c;background:#0d1213;box-shadow:0 30px 100px #000}.modal-top{height:5px;background:var(--orange)}.modal-body{padding:28px}.modal-kicker{font:9px var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--orange)}.modal h2{font-size:34px;letter-spacing:-.04em;line-height:1.03;margin:11px 0}.modal .lead{font-size:15px;line-height:1.55;color:#c7cfcc}.modal p{color:var(--muted);line-height:1.65}.modal-actions{display:flex;align-items:center;gap:10px;margin-top:22px}.modal-note{color:var(--muted);font:11px/1.5 var(--mono)}
.glossary-modal{width:min(760px,100%)}.glossary-search{display:block;margin:14px 0 8px}.glossary-search input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.03);color:inherit;font:13px inherit}.glossary-search input:focus-visible{outline:none;border-color:var(--orange2)}.glossary-count{margin:0 0 10px;font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.glossary-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.glossary-entry{padding:11px 0;border-top:1px solid var(--line)}.glossary-entry[hidden]{display:none}.glossary-term{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.glossary-term b{font-size:13.5px}.glossary-term span{font:600 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.glossary-entry p{margin:4px 0 6px;font-size:12px;line-height:1.55}.glossary-empty{margin:14px 0 0;font-size:12px;color:var(--dim)}.glossary-entry .action-link{display:inline-flex;align-items:center;min-height:34px}.context-glossary-link,.method-glossary-link{margin-left:8px}.method-glossary-link{margin:0 0 12px}@media(max-width:700px){.glossary-entry .action-link{min-height:40px}.glossary-entry{padding:13px 0}.context-glossary-link{margin:8px 0 0}}.method-toc{margin:20px 0 26px;padding:16px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02)}.method-toc h3{margin:0 0 12px;font:600 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--orange2)}.method-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.method-toc-link{display:grid;grid-template-columns:22px 1fr;gap:2px 10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;color:inherit;cursor:pointer;font:inherit}.method-toc-link:hover,.method-toc-link:focus-visible{border-color:var(--line);background:rgba(255,255,255,.03)}.method-toc-number{grid-row:1/3;font:600 11px var(--mono);color:var(--orange2);padding-top:2px}.method-toc-link b{font-size:13px}.method-toc-link span:last-child{font-size:11px;line-height:1.45;color:var(--dim)}.method-chapter{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}.method-chapter>summary{cursor:pointer;list-style:none;padding:14px 16px;display:grid;gap:2px;background:rgba(255,255,255,.02)}.method-chapter>summary::-webkit-details-marker{display:none}.method-chapter>summary:hover{background:rgba(255,255,255,.045)}.method-chapter[open]>summary{border-bottom:1px solid var(--line)}.method-chapter-number{font:600 9px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--orange2)}.method-chapter>summary b{font-size:15px}.method-chapter-summary{font-size:11.5px;line-height:1.45;color:var(--dim)}.method-chapter-body{padding:4px 16px 16px}.method-detail{border:1px solid var(--line);border-radius:8px;margin:10px 0 14px;background:rgba(255,255,255,.015)}.method-detail>summary{cursor:pointer;list-style:none;padding:9px 12px;font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange2);min-height:34px;display:flex;align-items:center;gap:7px}.method-detail>summary::-webkit-details-marker{display:none}.method-detail>summary::before{content:"+";font-size:12px;line-height:1}.method-detail[open]>summary::before{content:"−"}.method-detail>summary:hover{background:rgba(255,255,255,.04)}.method-detail[open]>summary{border-bottom:1px solid var(--line)}.method-detail>p{margin:0;padding:11px 12px}@media(max-width:700px){.method-detail>summary{min-height:40px}}.method-chapter-lead{margin:14px 0 4px;padding-left:12px;border-left:2px solid var(--orange2);font-size:12.5px;line-height:1.6}.method-chapter-body h3{margin:22px 0 6px;font-size:13.5px}.method-chapter-body h4{margin:16px 0 4px;font-size:12px}@media(max-width:700px){.method-toc ol{grid-template-columns:1fr}.method-chapter>summary{padding:12px 13px}.method-chapter-body{padding:4px 13px 14px}}.sandbox-decision{border:1px solid var(--line);border-radius:10px;padding:16px;margin:16px 0;background:rgba(255,255,255,.02)}.sandbox-decision h3{margin:0 0 8px;font-size:14px}.sandbox-decision p{margin:0 0 12px;color:var(--dim);font-size:12px;line-height:1.55}.sandbox-decision dl{display:grid;gap:10px;margin:0}.sandbox-decision dt{font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange2);margin-bottom:3px}.sandbox-decision dd{margin:0;font-size:12px;line-height:1.55}@media(max-width:700px){.sandbox-decision{padding:13px}.sandbox-decision dd{font-size:11.5px}}
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.intro-fact{border:1px solid var(--line);padding:11px}.intro-fact b{display:block;font:600 14px var(--mono);color:var(--orange2)}.intro-fact span{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.leaderboard{margin:18px 0;border:1px solid var(--line)}.rank{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font:10px var(--mono);align-items:center}.rank:last-child{border:0}.rank.you{background:rgba(247,147,26,.09);color:var(--orange2)}
.toast{position:fixed;right:18px;bottom:18px;z-index:70;width:min(390px,calc(100vw - 36px));padding:12px 14px;border:1px solid #4a5a56;background:#111819;box-shadow:0 16px 40px #000;display:flex;gap:10px;align-items:start}.toast:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);margin-top:16px;flex:0 0 auto}.toast-copy{min-width:0}.toast-copy>small{display:block;margin-bottom:4px;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.09em}.toast b{font:600 10px var(--mono);display:block}.toast-copy>span{color:var(--muted);font-size:11px;display:block;margin-top:3px;line-height:1.45}.toast.toast-clickable{cursor:pointer}.toast.toast-clickable:hover{border-color:var(--orange2);background:#141c1d}.toast-go{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;align-self:center;color:var(--orange2);font-size:14px;flex:0 0 auto}.toast-go span{color:var(--dim);font:9px var(--mono);text-transform:uppercase;white-space:nowrap}
.toast.toast-bad{border-color:#8a3a35;box-shadow:0 16px 40px #000,0 0 0 1px rgba(255,90,80,.25)}.toast.toast-bad:before{background:var(--red)}
.toast.toast-milestone{border-color:#6f5a31;box-shadow:0 16px 40px #000,0 0 0 1px rgba(247,147,26,.35)}.toast.toast-milestone:before{background:var(--orange)}
.toast.toast-warning{border-color:#8a6420;box-shadow:0 16px 40px #000,0 0 0 1px rgba(226,163,45,.3)}.toast-dismiss{position:absolute;top:0;right:0;width:34px;height:34px;display:grid;place-items:center;border:0;background:none;color:var(--muted);font:16px/1 var(--mono);cursor:pointer;opacity:.6}.toast-dismiss:hover,.toast-dismiss:focus-visible{opacity:1;color:var(--fg,#fff)}.toast{padding-right:38px}@media(max-width:700px){.toast-dismiss{width:40px;height:40px}.toast{padding-right:44px}}.toast.toast-notice{border-color:#8a6420;box-shadow:0 16px 40px #000,0 0 0 1px rgba(226,163,45,.3)}.toast.toast-warning:before{background:#e2a32d}
.toast.toast-success{border-color:#476654}.toast.toast-success:before{background:var(--green)}.toast.toast-blocked{border-color:#7a5b2d}.toast.toast-blocked:before{background:var(--orange2)}
.event-reading{display:grid;gap:8px;margin:16px 0}.event-reading section{padding:12px;border:1px solid var(--line);background:#0c1213}.event-reading span,.confirmation-impact>span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.event-reading p{margin:6px 0 0;color:var(--muted);line-height:1.6}.event-reading .lead{color:var(--text);font-size:13px}.event-reading .event-effect{border-color:#6f5a31;background:#17140d}.event-reading .event-effect span{color:var(--orange2)}.event-market-head{margin-top:18px}.loss-modal .modal-top{background:linear-gradient(90deg,var(--red),#6f2f2f)}.loss-modal .modal-kicker{color:var(--red)}.loss-modal .intro-fact b.down{color:var(--red)}.loss-modal .event-reading .event-effect{border-color:#2f6f4a;background:#0c1712}.loss-modal .event-reading .event-effect span{color:var(--green)}.confirmation-impact{margin:12px 0;padding:12px;border-left:3px solid var(--orange);background:#17140d}.confirmation-impact p{margin:6px 0 0;color:var(--text);font-size:11px;line-height:1.55}.settlement-choice-grid .venue p{line-height:1.6}
.svg-sprite-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.impact-flash{position:fixed;inset:0;z-index:9000;pointer-events:none;background:radial-gradient(ellipse at center,rgba(180,30,20,0) 45%,rgba(200,35,25,.5) 100%);animation:impact-flash-fade .7s ease-out forwards}
@keyframes impact-flash-fade{0%{opacity:0}12%{opacity:1}100%{opacity:0}}
.impact-shake{animation:impact-shake .4s ease-in-out}
@keyframes impact-shake{0%,100%{transform:translate(0,0)}20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,3px)}80%{transform:translate(3px,-2px)}}
.footer{border-top:1px solid var(--line);padding:14px 20px;color:var(--muted);font:11px/1.5 var(--mono);display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--text)}.footer .footer-privacy{flex-basis:100%}.footer button{border:0;background:none;color:var(--muted);padding:0;cursor:pointer;font:inherit}.footer button:hover{color:var(--text)}
.pool-concentration{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:center}.pool-pie{width:220px;height:220px;display:block;margin:auto}.pool-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.pool-legend-row{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font:9px var(--mono)}.pool-legend-row i{width:9px;height:9px;flex:0 0 9px;margin-top:2px}.pool-legend-row b{display:block;color:var(--text);font-weight:600}.pool-legend-row small{display:block;color:var(--dim);font-size:9px;margin-top:2px}
.hardware-buy-controls{align-items:center}.hardware-buy-controls select{min-height:36px;border:1px solid var(--line);background:#080b0c;color:var(--text);padding:7px 9px;font:9px var(--mono)}.hardware-buy-controls select:focus{outline:2px solid var(--orange);outline-offset:1px}.hardware-buy-controls [data-hardware-currency]{width:64px;flex:0 0 auto}.hardware-buy-controls [data-hardware-qty]{flex:1 1 100px;min-width:90px}.hardware-buy-controls button{flex:1 1 100%}
.incoming-fleet-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.incoming-fleet-row:last-child{border-bottom:0}.incoming-fleet-name{flex:1;min-width:0}.incoming-fleet-name b{display:block;font:600 12px var(--mono)}.incoming-fleet-name small{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono)}.incoming-fleet-row .repair-stage-track{width:110px;flex:0 0 auto;margin-top:0}.incoming-fleet-row.slipped .incoming-fleet-name small{color:var(--red)}.commission-alert span{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono)}.commission-alert .actions{flex-wrap:wrap}
@media(max-width:1180px){.shell{grid-template-columns:1fr}.main{border-right:0}.sidebar{border-top:1px solid var(--line);display:grid;grid-template-columns:340px 1fr}.story-head{grid-column:1/-1}.story-feature{border-right:1px solid var(--line)}.story-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.catalog{grid-template-columns:repeat(2,1fr)}.skill-grid{grid-template-columns:repeat(2,1fr)}.ticker{grid-template-columns:repeat(14,150px)}}
@media(max-width:800px){.pool-concentration{grid-template-columns:1fr}.pool-legend{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-wrap:wrap}.brand{min-width:0}.era-chip{order:3;width:100%;border-left:0;border-top:1px solid var(--line);padding:8px 0 0}.save-state{display:none}.clock{margin-left:auto}.speeds{order:2;width:100%;justify-content:space-between}.speed{flex:1}.content{padding:12px}.tabs{padding:0 8px}.tab-note{display:none}.span-8,.span-7,.span-6,.span-5,.span-4,.span-3{grid-column:span 12}.metric-row{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr}.hero-stat{text-align:left}.catalog,.venue-grid,.facility-grid,.skill-grid,.ops-map,.forecast-grid,.site-command,.tab-command,.tech-trees{grid-template-columns:1fr}.site-illustration,.tab-command-art{border-left:0;border-top:1px solid var(--line)}#dashboard-mempool{overflow:hidden}.mempool-viz{width:100%;flex-direction:column;flex-wrap:nowrap;overflow:hidden}.mp-chain{width:100%;flex:0 0 auto;overscroll-behavior-x:contain}.mp-arrow.big{display:none}.mp-next{width:100%;flex-basis:auto;max-width:100%}.mp-mosaic{height:200px;grid-template-columns:repeat(14,minmax(0,1fr))}.sidebar{display:block}.story-feature{border-right:0}.story-list{display:block}.status-banner{margin:10px 12px 0;align-items:flex-start;flex-wrap:wrap}.footer{display:block}.footer span{display:block;margin-bottom:8px}}
@media(max-width:800px){.topbar{align-items:center;flex-wrap:nowrap;min-height:58px;padding:8px 12px;gap:9px}.brand{gap:8px}.coin{width:34px;height:34px;font-size:21px}.brand-sub,.era-chip,.save-state,.ticker,.tabs,.speeds{display:none}.clock{margin-left:auto;text-align:right;display:flex;flex-direction:column;justify-content:center;height:42px;gap:2px}.clock strong{font-size:12px;line-height:1.1;white-space:nowrap}.clock span{font-size:9px;line-height:1.1;white-space:nowrap}.mobile-pause-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:8px 10px;border:1px solid var(--line);background:#111819;color:var(--orange2);font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.04em}.mobile-pause-button.paused{border-color:var(--green);color:var(--green)}.mobile-menu-button{display:grid;grid-template-columns:12px auto;grid-template-rows:repeat(3,3px);column-gap:7px;align-items:center;align-content:center;border:1px solid var(--line);background:#111819;padding:9px 10px;min-height:42px;font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.mobile-menu-button i{width:12px;height:1px;background:var(--orange2);display:block}.mobile-menu-button span{grid-column:2;grid-row:1 / 4}.mobile-menu-button.active{border-color:var(--orange)}.mobile-nav.open{display:block;position:sticky;top:58px;z-index:19;padding:8px 10px 10px;border-bottom:1px solid var(--line);background:rgba(8,11,12,.98);backdrop-filter:blur(14px)}.mobile-menu-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.mobile-menu-sections button{min-width:0;border:1px solid var(--line);background:#101718;padding:7px 3px;color:var(--muted);font:9px var(--mono);text-transform:uppercase}.mobile-menu-sections b,.mobile-menu-sections small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-sections b{color:var(--text);font-size:9px}.mobile-menu-sections small{margin-top:3px;color:var(--dim);font-size:9px;text-transform:none}.mobile-menu-sections button.active{border-color:var(--orange);background:#1b160c}.mobile-menu-sections button.active b{color:var(--orange2)}.mobile-menu-panel{margin-top:5px;padding:8px;border:1px solid var(--line);background:#0b1112}.mobile-menu-panel-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:var(--dim);font:9px var(--mono);text-transform:uppercase}.mobile-menu-panel-head b{color:var(--orange2);font-weight:600}.mobile-speed-panel{padding:0}.mobile-speed-panel>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font:9px var(--mono);text-transform:uppercase;color:var(--dim)}.mobile-speed-panel>div:first-child b{color:var(--orange2)}.mobile-speeds{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.mobile-speeds .speed{display:block;min-width:0;min-height:34px;padding:5px 1px;border:1px solid transparent;background:#111819;font-size:9px}.mobile-speeds .speed.active{background:var(--orange);color:#160d03}.mobile-nav-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.mobile-speed-panel+.mobile-nav-tabs{margin-top:7px}.mobile-nav-tabs button{min-width:0;min-height:34px;border:1px solid var(--line);background:#101718;color:var(--muted);font:600 9px var(--mono);letter-spacing:.03em;text-transform:uppercase}.mobile-nav-tabs button.active{border-color:var(--orange);color:var(--orange2);background:#1b160c}}
@media(max-width:800px){.profit-summary{grid-template-columns:repeat(2,1fr)}.profit-summary>div:nth-child(2){border-right:0}.profit-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.confirm-exchange{grid-template-columns:1fr}.confirm-arrow{transform:rotate(90deg);min-height:24px}.confirm-breakdown{grid-template-columns:1fr}.release-impact{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){body{font-size:15px;touch-action:manipulation}.brand-sub{display:none}.topbar{padding:9px 10px;gap:10px}.brand-name{font-size:15px}.coin{width:34px;height:34px}.clock strong{font-size:12px}.era-chip{font-size:9px}.ticker{grid-template-columns:repeat(14,132px)}.tick{min-width:132px;padding:10px 12px}.tabs{min-height:48px}.tab{min-height:48px;padding:14px 13px}.speed{min-height:40px;min-width:42px;padding:8px 6px}.content{padding:8px}.grid{gap:8px}.card-pad,.hero{padding:13px}.card-head{min-height:46px}.action{min-height:40px;padding:9px 11px}.action.small{min-height:36px;padding:7px 9px}.catalog{gap:8px}.item{min-height:0}.item h3{font-size:13px}.facility-grid,.venue-grid{gap:8px}.metric{padding:11px}.metric strong{font-size:13px}.sidebar{max-height:440px;overflow:auto}.story-feature{padding:14px}.story-list{padding-bottom:10px}.intro-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-body{padding:20px}.modal h2{font-size:28px}.toast{right:10px;bottom:10px;width:calc(100vw - 20px)}}
@media(min-width:2200px){.shell{grid-template-columns:minmax(0,2500px) 380px;justify-content:center}.content{padding:22px 26px 38px}.tabs{padding-inline:26px}.grid{gap:15px}}
@media(min-width:3000px) and (min-height:1800px){body{zoom:1.25}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:800px){.obligation-timeline,.bill-breakdown{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.obligation-timeline,.bill-breakdown{grid-template-columns:1fr}}
.exchange-balance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.exchange-balance-summary>div,.exchange-balance-item{border:1px solid var(--line);background:rgba(10,17,18,.55);padding:13px}.exchange-balance-summary strong,.exchange-balance-item strong{display:block;margin:5px 0;font:600 17px var(--mono);color:var(--text)}.exchange-balance-summary small,.exchange-balance-item small{color:var(--dim)}.exchange-balance-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.exchange-balance-item span{display:block;color:var(--muted);font-size:12px}.exchange-balance-item{display:block;width:100%;cursor:pointer;text-align:left;font-family:inherit}.exchange-balance-item.active{border-color:var(--orange);box-shadow:inset 0 2px 0 rgba(247,147,26,.45)}.exchange-balance-item.frozen{border-color:var(--red)}.exchange-balance-item.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.exchange-balance-strip-etf{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.exchange-balance-divider{display:block;margin-bottom:6px;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:760px){.exchange-balance-summary{grid-template-columns:1fr}}
.item-foot{display:flex;flex-direction:column;align-items:stretch;gap:8px}.item-foot>.actions{flex-wrap:wrap}.item-foot .price{margin-right:0}.dashboard-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-command{border:1px solid var(--line);background:#0b1112;padding:13px;display:flex;flex-direction:column;min-height:132px}.dashboard-command.attention{border-color:#6f5a31}.dashboard-command.critical{border-color:#78433f}.dashboard-command strong{font:600 16px var(--mono);margin:7px 0}.dashboard-command small{color:var(--muted);line-height:1.45}.dashboard-command .action{margin-top:auto;align-self:flex-start}.pool-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}
@media(max-width:900px){.dashboard-command-grid{grid-template-columns:1fr}}

/* Interactive mining floor, thermal plant, pool explorer and custody lab. */
.mining-floor-card{overflow:hidden}.mining-floor-card .meta.cool{color:var(--green)}.mining-floor-card .meta.warm{color:var(--orange2)}.mining-floor-card .meta.hot,.mining-floor-card .meta.critical{color:var(--red)}.thermal-console{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.thermal-console>div{padding:12px 14px;background:#0b1112}.thermal-console span,.thermal-console small{display:block;font:9px/1.4 var(--mono);color:var(--dim);text-transform:uppercase}.thermal-console strong{display:block;margin:5px 0 3px;font:600 16px var(--mono)}.thermal-console .thermal-cool{color:var(--green)}.thermal-console .thermal-warm{color:var(--orange2)}.thermal-console .thermal-hot,.thermal-console .thermal-critical{color:var(--red)}
.facility-floor{padding:14px;background:radial-gradient(circle at 50% 5%,rgba(134,199,154,.08),transparent 40%),#080d0e;border:1px solid #30403e}.facility-room{width:100%;height:310px;position:relative;overflow:hidden}.facility-interior{position:absolute;inset:0;width:100%;height:100%}.floor-units{position:absolute;left:190px;right:24px;bottom:30px;max-height:176px;display:flex;align-items:flex-end;align-content:flex-end;justify-content:flex-end;gap:5px;flex-wrap:wrap-reverse}.floor-miner{position:relative;width:var(--icon-size,58px);height:calc(var(--icon-size,58px) * .776);padding:2px;background:rgba(10,16,17,.9);border:1px solid #354440;transition:filter .2s,opacity .2s,width .25s,height .25s}.floor-miner .miner-icon{width:100%;height:100%;display:block}.floor-miner>b{position:absolute;right:1px;bottom:1px;padding:1px 3px;background:#080b0c;color:var(--text);font:9px var(--mono)}.floor-miner.laptop-desk{position:absolute;left:-130px;bottom:6px;width:78px;height:53px;z-index:3;border-color:#86c79a;background:transparent}.floor-miner.online{border-color:#52715d;filter:drop-shadow(0 0 3px rgba(134,199,154,.25))}.floor-miner.paused{filter:saturate(.05);opacity:.52;border-color:#53615e}.floor-miner.broken{border-color:var(--red);background:rgba(92,24,22,.72);filter:saturate(.6) drop-shadow(0 0 5px rgba(255,118,111,.45))}.floor-miner.repair{border-color:var(--orange2);background:rgba(77,55,18,.65);filter:drop-shadow(0 0 5px rgba(255,194,103,.32))}.tier-1 .floor-units,.tier-2 .floor-units{left:28px;right:24px;bottom:48px;max-height:142px;display:grid;grid-template-columns:repeat(4,84px);grid-auto-rows:61px;gap:5px;padding-left:52%;align-content:end}.tier-1 .floor-miner,.tier-2 .floor-miner{width:84px;height:61px;margin:0}.tier-1 .floor-miner.laptop-desk,.tier-2 .floor-miner.laptop-desk{left:15%;bottom:-1px;width:78px;height:53px}.floor-caption{position:absolute;left:14px;top:12px;padding:7px 9px;background:rgba(5,8,9,.82);border-left:3px solid var(--orange)}.floor-caption b,.floor-caption span{display:block}.floor-caption b{font:600 10px var(--mono);text-transform:uppercase}.floor-caption span{margin-top:3px;color:var(--muted);font:9px var(--mono)}
.technician-sprite{position:absolute;bottom:25px;width:38px;height:58px;z-index:4;filter:drop-shadow(0 3px 3px #000)}.technician-sprite svg{width:100%;height:100%;overflow:visible}.technician-sprite circle{fill:url(#tsg)}.technician-sprite path{fill:url(#tsg);stroke:#151b1b;stroke-width:2}.technician-sprite .tech-wrench{fill:none;stroke:#dbe4df;stroke-width:3}.technician-sprite.working{animation:tech-step 1.3s ease-in-out infinite}.technician-sprite.working .tech-wrench{transform-origin:30px 30px;animation:tech-wrench .7s ease-in-out infinite alternate}.technician-sprite.patrolling{opacity:.7}.tech-target{position:absolute;left:50%;top:-15px;transform:translateX(-50%);padding:2px 5px;background:#0b1112;border:1px solid var(--orange2);color:var(--orange2);font:9px var(--mono);white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;z-index:5}.floor-legend{display:flex;align-items:center;gap:15px;padding:10px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;font:9px var(--mono);color:var(--muted)}.floor-legend span{display:flex;align-items:center;gap:5px}.floor-legend i{width:9px;height:9px;border:1px solid}.floor-legend i.online{background:#52715d;border-color:var(--green)}.floor-legend i.paused{background:#303938;border-color:#687572}.floor-legend i.broken{background:#742e2a;border-color:var(--red)}.floor-legend i.repair{background:#72551e;border-color:var(--orange2)}.floor-cooling-row{position:absolute;right:20px;top:16px;display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:58%;z-index:2}.floor-cooling{position:relative;padding:4px 5px;border:1px solid #3d5a60;border-radius:4px;background:rgba(9,17,19,.78);line-height:0}.floor-cooling.running{border-color:#5fb6c4;box-shadow:0 0 0 1px rgba(95,182,196,.18)}.floor-cooling.idle{opacity:.5;filter:grayscale(.6)}.floor-cooling.pending{opacity:.45;border-style:dashed;border-color:var(--orange2);filter:grayscale(.4)}.floor-cooling b{position:absolute;right:-3px;bottom:-6px;padding:1px 3px;background:#0a1113;border:1px solid #3d5a60;border-radius:3px;font:700 9px var(--mono);color:var(--muted);line-height:1.3}.floor-cooling.pending b{border-color:var(--orange2);color:var(--orange2)}.floor-legend i.cooling{background:#2b4a50;border-color:#5fb6c4}.floor-legend i.cooling-pending{background:transparent;border-color:var(--orange2);border-style:dashed}@media(max-width:700px){.floor-cooling-row{top:58px;left:8px;right:auto;gap:5px;max-width:150px;justify-content:flex-start}.cooling-item-icon{width:30px;height:22px}}.floor-legend .action{margin-left:auto}
.stratum-panel{padding:9px 14px;border-bottom:1px solid var(--line);background:#0a0f10;display:flex;flex-direction:column;gap:6px}.stratum-row{display:flex;align-items:center;gap:8px;font:9px var(--mono)}.stratum-row i.stratum-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);flex:0 0 auto}.stratum-row.standby i.stratum-dot{background:#4a5654;box-shadow:none}.stratum-row code{color:var(--orange2);background:none;font:9px var(--mono)}.stratum-row span{color:var(--muted);margin-left:auto}
.miner-power-controls{max-height:300px;overflow:auto}.miner-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:#0d1314}.miner-control-row>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}.miner-control-row .miner-icon{width:52px;height:38px;flex:0 0 auto}.miner-control-row span b,.miner-control-row span small{display:block}.miner-control-row span b{font:600 10px var(--mono)}.miner-control-row span small{margin-top:3px;color:var(--muted);font:9px var(--mono)}.miner-control-row .actions{flex-wrap:nowrap}
.cooling-shop{padding:16px}.cooling-shop-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:13px}.cooling-shop-head h3{margin:5px 0 0}.cooling-shop-head p{max-width:600px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.cooling-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:8px}.cooling-option{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);background:#0b1112}.cooling-option.owned{border-color:#526d59}.cooling-option.locked{opacity:.5}.cooling-option span{color:var(--orange2);font:9px var(--mono)}.cooling-option h4{margin:3px 0;font-size:11px}.cooling-option p{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.cooling-option small{display:block;margin-top:4px;color:var(--dim);font:9px var(--mono)}.cooling-item-icon{width:40px;height:29px;display:block}
.mine-top-metrics .metric-row{grid-template-columns:repeat(5,1fr)}
.energy-tariff-desk .metric-row{grid-template-columns:repeat(5,1fr)}
.pool-command-kpis{border-top:2px solid var(--orange)}.pool-command-kpis .card-head{align-items:end}.pool-command-kpis h2{margin-top:4px}.pool-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}.pool-kpi{min-height:92px;padding:12px;background:#0b1112}.pool-kpi>span,.pool-kpi small{display:block;color:var(--dim);font:9px/1.4 var(--mono);text-transform:uppercase}.pool-kpi strong{display:block;margin:7px 0 4px;color:var(--text);font:600 17px var(--mono)}.pool-kpi strong.good{color:var(--green)}.pool-kpi strong.warn{color:var(--orange2)}.pool-kpi strong.bad{color:var(--red)}.pool-kpi small{color:var(--muted);text-transform:none}.pool-kpi-note{margin:12px 0 0;max-width:850px}
.energy-model-intro{max-width:850px;color:var(--muted);line-height:1.6}.energy-model-chart{margin-top:14px;padding:10px 12px 4px;border:1px solid var(--line);background:linear-gradient(180deg,#0b1214,#0a0f10);overflow:hidden}.energy-model-chart svg{display:block;width:100%;height:230px;min-width:560px}.energy-model-grid line{stroke:#1e2a2c;stroke-width:1;vector-effect:non-scaling-stroke}.energy-model-grid text,.energy-model-dates text{fill:var(--dim);font:9px var(--mono)}.energy-model-line{fill:none;stroke-width:1.7;opacity:.72;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.energy-model-line.recommended{stroke-width:2.8;opacity:1}.energy-model-point{stroke:#0b1112;stroke-width:1.5;cursor:crosshair;transition:r .15s ease}.energy-model-point:hover{r:5.5;stroke:var(--text);stroke-width:2}.energy-model-point.now{stroke:var(--orange2);stroke-width:2}.energy-model-now{stroke:var(--orange2);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.energy-model-now-label{fill:var(--orange2);font:9px var(--mono)}.energy-model-split{stroke:#3d5a4d;stroke-width:1;vector-effect:non-scaling-stroke}.energy-model-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:10px 2px;color:var(--muted);font:9px var(--mono)}.energy-model-legend span{display:flex;align-items:center;gap:5px}.energy-model-legend i{width:9px;height:3px;background:var(--legend);display:inline-block}.energy-model-legend i.replay{width:11px;background:var(--muted)}.energy-model-legend i.forecast{width:11px;background:transparent;border-top:1px dashed var(--muted)}.energy-model-key{margin-left:auto}.energy-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.energy-plan-card{padding:12px;border:1px solid var(--line);background:#0b1112}.energy-plan-card.active{border-color:var(--green);box-shadow:inset 0 0 18px rgba(134,199,154,.05)}.energy-plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.energy-plan-top>b{font:600 10px var(--mono);color:var(--orange2)}.energy-plan-card .risk{display:inline-block;font:600 9px var(--mono);letter-spacing:.06em}.energy-plan-card .risk-low{color:var(--green)}.energy-plan-card .risk-mid{color:var(--orange2)}.energy-plan-card .risk-high{color:var(--red)}.energy-plan-card h3{margin:10px 0 6px}.energy-plan-value{font:600 18px var(--mono);color:var(--text)}.energy-plan-value small{display:block;margin-top:3px;color:var(--dim);font:9px var(--mono)}.energy-plan-stats{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:9px var(--mono);color:var(--muted)}.energy-plan-stats span:first-child{color:var(--green)}.energy-plan-card p{min-height:44px;color:var(--muted);font-size:10px;line-height:1.45}.energy-plan-card .action{margin-top:4px}@media(max-width:760px){.energy-model-chart{overflow-x:auto}.energy-plan-grid{grid-template-columns:1fr}.energy-model-key{margin-left:0}}
@media(max-width:900px){.mine-top-metrics .metric-row,.energy-tariff-desk .metric-row{grid-template-columns:repeat(2,1fr)}.mine-top-metrics .metric-row>.metric:last-child:nth-child(odd),.energy-tariff-desk .metric-row>.metric:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:900px){.pool-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pool-kpi:last-child{grid-column:1/-1}}
.maintenance-nudge{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--orange2);background:#1b160c}.maintenance-nudge span{color:var(--muted);font:9px var(--mono);max-width:520px}
.xp-breakdown{margin-top:12px;padding:11px 12px;border:1px solid #3a3423;background:#141109}.xp-breakdown-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.xp-breakdown-head b{font:600 10px var(--mono);text-transform:uppercase;color:var(--text)}.xp-breakdown-head span{font:9px var(--mono);color:var(--muted)}.xp-breakdown .xp-track{height:7px}.xp-source-row{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.xp-source-row span{display:block;padding:7px 9px;background:#0b1112;font:9px var(--mono);color:var(--dim);text-transform:uppercase}.xp-source-row b{display:block;margin-top:4px;font:600 12px var(--mono);color:var(--orange2)}@media(max-width:760px){.xp-source-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.topbar>.brand,.topbar>.clock{flex-shrink:0}
.xp-meter{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:150px;padding:0 4px}.xp-meter-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.xp-meter-top b{font:600 12px var(--mono);color:var(--orange)}.xp-meter-top span{font:9px var(--mono);color:var(--dim);white-space:nowrap}.xp-track{height:5px;background:#131b1c;border:1px solid #2c3a38;overflow:hidden}.xp-track i{display:block;height:100%;background:linear-gradient(90deg,#d9871c,#ffe1a1);transition:width .35s ease}.xp-best{font:9px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.xp-meter{min-width:112px}.xp-best{display:none}}@media(max-width:900px){.topbar{position:relative}.xp-meter{position:absolute;left:0;right:0;bottom:0;min-width:0;padding:0;gap:0}.xp-meter .xp-meter-top,.xp-meter .xp-best{display:none}.xp-meter .xp-track{height:3px;border:0;background:#131b1c}}
.self-service-bench{margin-bottom:10px;padding:11px 12px;border:1px solid #3a4a3f;background:#0d1512}.self-service-bench .bench-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.self-service-bench .bench-head b{display:block;font:600 11px var(--mono);text-transform:uppercase;color:var(--text)}.self-service-bench .bench-head span{display:block;margin-top:4px;max-width:62ch;color:var(--muted);font:9px/1.6 var(--mono)}.bench-list{margin-top:10px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.bench-row{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:8px;align-items:center;padding:7px 9px;background:#0b1112;font:9px var(--mono)}.bench-row span{color:var(--text)}.bench-row b{color:var(--muted);font-weight:400}.bench-row i{font-style:normal;text-align:right;color:var(--muted)}.bench-row i.good{color:var(--green)}.bench-row i.warn{color:var(--orange2)}.bench-row i.bad{color:var(--red)}.bench-row i.dim{color:var(--dim)}@media(max-width:760px){.bench-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:4px}.bench-row i{text-align:left}}
.part-fit{margin:6px 0 2px;padding:5px 7px;border-left:2px solid var(--green);background:rgba(255,255,255,.03);font:9px var(--mono);line-height:1.5;color:var(--muted)}.part-fit.unused{border-left-color:#5a5a5a;opacity:.75}.auto-repair-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line);background:#101718}.auto-repair-toggle b{color:var(--text);font:600 10px var(--mono);text-transform:uppercase}.auto-repair-toggle span{display:block;margin-top:3px;color:var(--muted);font:9px var(--mono);max-width:460px}.auto-repair-toggle.on{border-color:var(--green);background:#101a14}.auto-repair-toggle.on b{color:var(--green)}
.maintenance-row{padding:12px 0;border-bottom:1px solid rgba(36,48,51,.65);transition:background .3s}.maintenance-row:last-child{border:0}.maintenance-row.focus-flash{background:rgba(240,169,47,.14)}
.maintenance-row-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:8px}
/* Mine is the only tab in the game with a second level of navigation, so this bar has to
   read as navigation rather than as another card. It sticks directly under the main tab row
   - --tabs-h is measured after each render, because the row's height moves with the
   breakpoint - and carries a live figure per section so it earns a glance. */
.mine-sections{grid-column:span 12;display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-left:3px solid var(--orange);background:rgba(9,13,14,.96);position:sticky;top:calc(var(--topbar-h) + var(--tabs-h,41px));z-index:18;backdrop-filter:blur(12px)}
.mine-sections-label{display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--line);color:var(--orange2);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.16em;white-space:nowrap}
.mine-section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1;min-width:0}
.mine-section{position:relative;border:0;border-right:1px solid var(--line);background:none;padding:10px 14px 11px;text-align:left;cursor:pointer;min-width:0;transition:background .12s ease}
.mine-section:last-child{border-right:0}
.mine-section:hover{background:#121a1b}
.mine-section b{display:block;color:var(--muted);font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.09em}
.mine-section small{display:block;margin-top:2px;color:var(--dim);font:9px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mine-section-badge{display:block;margin-top:5px;color:var(--muted);font:600 9px var(--mono);font-style:normal;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mine-section-badge.good{color:var(--green)}
.mine-section-badge.halted{color:var(--orange2);text-transform:uppercase}
.toast-repeat{display:block;margin-top:4px;color:var(--dim);font-style:normal;font:9px var(--mono)}
/* Optional viewpoints stay out of the chapter's reading flow. */
.event-perspectives{display:flex;gap:8px;margin:16px 0;align-items:center}
.event-perspectives-compact{margin-bottom:4px}
.perspective-trigger{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--muted);cursor:pointer;padding:9px}
.perspective-trigger svg{width:24px;height:24px}
.perspective-trigger:hover,.perspective-trigger[aria-expanded="true"]{color:var(--orange2);border-color:var(--orange2);background:var(--panel)}
.perspective-trigger:focus-visible{outline:2px solid var(--orange2);outline-offset:3px}
.perspective-panel{position:fixed;inset:auto;margin:0;width:min(370px,calc(100vw - 20px));box-sizing:border-box;max-height:calc(100dvh - 20px);overflow:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel,#0d1213);color:var(--text,#e8ece9);box-shadow:0 12px 40px #0008;font:14px/1.65 var(--sans,system-ui)}
.perspective-panel::backdrop{background:transparent;pointer-events:none}
.perspective-panel b{display:block;color:var(--orange2,#ffc267);font-weight:600}
.perspective-panel p{margin:9px 0 12px;color:var(--text,#e8ece9)}
.perspective-panel small{display:block;color:var(--muted,#8d9a97);font-size:11px;line-height:1.5}
.conference-scene{margin:20px 0;padding:18px;background:var(--surface,#141c1d);border-left:2px solid var(--orange2)}
.conference-scene h3{margin:8px 0;color:var(--fg,#fff)}
.conference-scene p{color:var(--muted);line-height:1.6;margin:12px 0}
.notification-prompt{position:fixed;left:18px;bottom:18px;z-index:71;width:min(410px,calc(100vw - 36px));padding:18px;border:1px solid var(--orange2);background:#111819;box-shadow:0 12px 32px #0008;color:var(--muted);max-height:calc(100dvh - 100px);overflow:auto}
.notification-prompt h3{margin:0 0 10px;color:var(--fg,#fff);font:600 12px var(--mono)}
.notification-prompt p{font-size:12px;line-height:1.5;margin:10px 0}
.notification-prompt .actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.notification-prompt .action{min-height:40px}
@media(max-width:850px){.notification-prompt{top:80px;bottom:auto;left:18px}.notification-prompt .action{min-height:44px}}
.toast-repeated{border-left-width:3px}
.venue.closing{border-color:#6f5a31}
.migration-banner{border-color:#3a5f7a}.migration-banner strong{color:var(--blue)}
.overcapacity-banner{border-color:var(--red)}.overcapacity-banner strong{color:var(--red)}
.part-stock{display:flex;align-items:baseline;gap:6px;margin:2px 0 6px}
.part-stock b{font:600 22px var(--mono);line-height:1;color:var(--text)}
.part-stock span{color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.owned-count.has-fleet{color:var(--muted)}
.owned-count b{font:600 15px var(--mono);color:var(--orange2);margin-right:2px}
/* ---- ELECTRICAL LOAD ---- */
.power-card .meta.cool{color:var(--green)}.power-card .meta.warm{color:var(--orange2)}
.power-card .meta.hot{color:var(--orange)}.power-card .meta.critical{color:var(--red)}
.power-bar{position:relative;display:flex;height:17px;border:1px solid var(--line);background:#0a0f10;overflow:hidden}
.power-seg{display:block;height:100%;transition:width .25s}
.power-seg.miners{background:linear-gradient(180deg,#f7a13d,#c97d24)}
.power-seg.cooling{background:linear-gradient(180deg,#68bafa,#3f83b8)}
.power-peak{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--edge);box-shadow:0 0 0 1px #0a0f10}
.power-peak.over{background:var(--red);width:3px}
.power-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0 4px}
.power-split>div{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"key label" "val val" "sub sub";gap:2px 6px;padding:8px 10px;background:#0c1213;border:1px solid var(--line)}
.power-key{grid-area:key;width:9px;height:9px;align-self:center;border:1px solid var(--line)}
.power-key.miners{background:#f7a13d;border-color:#f7a13d}
.power-key.cooling{background:#68bafa;border-color:#68bafa}
.power-key.free{background:#0a0f10}
.power-key.peak{background:var(--edge);border-color:var(--edge)}
.power-split span{grid-area:label;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em;align-self:center}
.power-split strong{grid-area:val;font:600 17px var(--mono);color:var(--text)}
.power-split strong.down{color:var(--red)}
.power-split small{grid-area:sub;color:var(--muted);font:9px var(--mono)}
.buy-load{flex:1 1 100%;margin-top:6px}
.buy-load-bar{display:flex;height:6px;border:1px solid var(--line);background:#0a0f10;overflow:hidden}
.buy-load-bar .now{background:#4a5a62}
.buy-load-bar .add{background:var(--green)}
.buy-load.over .add{background:var(--red)}
.buy-load small{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono)}
.buy-load.over small b{color:var(--red)}
/* ---- REPAIR BENCH ---- */
.bench-face{display:flex;flex-direction:column;gap:5px;align-items:center;margin:0 0 12px}
.bench-face small{color:var(--dim);font:9px var(--mono)}
.bench-case{position:relative;display:flex;gap:8px;align-items:center;padding:8px 10px;
  border:1px solid var(--edge);background:linear-gradient(180deg,#1a2225,#101617)}
.bench-fans{display:flex;flex-direction:column;gap:5px}
.bench-fan{width:26px;height:26px;border:2px solid #43555d;border-radius:50%;background:radial-gradient(circle,#26343a 38%,#151d20 40%)}
.bench-boards{display:flex;flex-direction:column;gap:4px}
.bench-board{width:52px;height:8px;background:#2d5c46;border:1px solid #3f7a5e}
.bench-psu{width:20px;height:30px;background:#3a444a;border:1px solid #55636b}
.bench-fan.target,.bench-board.target,.bench-psu.target{border-color:var(--orange);box-shadow:0 0 0 2px rgba(247,161,61,.35)}
/* The printed sequence: a service manual shows you the pattern, it does not make you guess. */
.torque-pattern{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 10px;
  padding:8px 10px;border-left:2px solid var(--orange2);background:#17140d;font:9px var(--mono)}
.torque-pattern span{color:var(--muted)}
.torque-pattern span.done{color:var(--dim);text-decoration:line-through}
.torque-pattern span.next{color:var(--orange);font-weight:600}
.torque-pattern i{color:var(--dim);font-style:normal}
.repair-puzzle-memory{margin:0 0 10px;padding:8px 10px;border-left:2px solid var(--green);
  background:#0c1712;color:var(--muted);font:9px var(--mono)}
.repair-bolt.next{border-color:var(--orange);color:var(--orange)}
.repair-cable{font:600 11px var(--mono)}
/* A torque spec is a band you work into, not a number you land on. */
.torque-gauge{position:relative;height:20px;margin:2px 0 8px;border:1px solid var(--line);background:#0a0f10}
.torque-gauge .band{position:absolute;top:0;bottom:0;background:rgba(117,227,178,.22);border-left:1px solid var(--green);border-right:1px solid var(--green)}
.torque-gauge .needle{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--edge)}
.torque-gauge .needle.good{background:var(--green)}
.torque-gauge .needle.over{background:var(--red)}
.torque-gauge .needle.under{background:var(--orange2)}
.torque-readout{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--dim);font:9px var(--mono)}
.torque-readout b{color:var(--text)}
.torque-readout .good b{color:var(--green)}
.torque-readout .off b{color:var(--orange2)}


/* ---- SKILL TREE LATTICE ---- */
.tech-tree-card{overflow:hidden}
.tech-tree-scroll{overflow-x:auto;overflow-y:hidden;padding:4px 12px 14px}
.tech-tree-lattice{position:relative;display:grid;
  grid-template-columns:repeat(var(--tech-cols),minmax(112px,1fr));
  grid-template-rows:repeat(var(--tech-rows),86px);
  gap:14px 10px;min-width:calc(var(--tech-cols) * 122px);padding-top:26px}
.tech-branch-heads{position:absolute;top:0;left:0;right:0;display:grid;
  grid-template-columns:repeat(var(--tech-cols),minmax(112px,1fr));gap:0 10px;pointer-events:none}
.tech-branch-head{display:flex;justify-content:space-between;gap:8px;padding:0 4px 4px;
  border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.tech-branch-head b{color:var(--orange2)}.tech-branch-head span{color:var(--dim)}
/* One SVG behind the whole lattice: the edges that matter are the ones that cross branches. */
.tech-wires{position:absolute;inset:26px 0 0 0;width:100%;height:calc(100% - 26px);pointer-events:none;z-index:0}
/* non-scaling-stroke makes stroke-width a SCREEN measurement, so this is pixels rather than
   the fractions of a grid cell the viewBox would otherwise imply. At .02 it was sub-pixel and
   the entire wiring diagram was invisible. */
.tech-edge{fill:none;stroke:#33454e;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.tech-edge.live{stroke:#6d8f9c;stroke-width:2}
.tech-edge.done{stroke:var(--orange);stroke-width:2.25;opacity:.9}
.tech-node{position:relative;z-index:1;display:flex;align-items:stretch}
.tech-node-face{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;
  width:100%;padding:8px 9px;border:1px solid var(--line);background:#0b1113;color:var(--muted);
  font:inherit;text-align:left;cursor:default}
.tech-node-face b{color:var(--text);font-size:11px;line-height:1.25}
.tech-node-cost{font:9px var(--mono);color:var(--dim)}
.tech-node-mark{position:absolute;top:6px;right:8px;font-style:normal;font:11px var(--mono);color:var(--dim)}
.tech-unlocked .tech-node-face{border-color:var(--orange);background:#17140d}
.tech-unlocked .tech-node-mark{color:var(--orange)}
.tech-ready .tech-node-face{border-color:var(--green);background:#0c1712;cursor:pointer}
.tech-ready .tech-node-face:hover{background:#102019}
.tech-ready .tech-node-mark{color:var(--green)}
.tech-short .tech-node-face{border-color:#6f5a31}
.tech-locked .tech-node-face{opacity:.5}
.tech-node-face:focus-visible{outline:2px solid var(--orange);outline-offset:1px}
/* Detail on demand, so the lattice stays a lattice. */
.tech-node-detail{position:absolute;left:0;top:calc(100% + 6px);z-index:5;width:230px;padding:10px;
  border:1px solid #3a4a4e;background:#0c1213;isolation:isolate;box-shadow:0 8px 22px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transition:opacity .12s}
.tech-node:hover .tech-node-detail,.tech-node:focus-within .tech-node-detail{opacity:1;visibility:visible}
/* The node is its own stacking layer, so a popover's z-index only ever ranked it inside its own node: every later node
   painted over it, and their text showed through the detail. The node being read is lifted above its neighbours instead.
   The popover opens upward, or to the left, when the lattice would cut it off (see placeTechDetail in events.js). */
.tech-node:hover,.tech-node:focus-within{z-index:30}
.tech-node.flip-up .tech-node-detail{top:auto;bottom:calc(100% + 6px)}
.tech-node.align-right .tech-node-detail{left:auto;right:0}
.tech-node-detail b{display:block;color:var(--text);font-size:11px}
.tech-node-detail p{margin:4px 0 6px;color:var(--muted);font-size:11px;line-height:1.5}
.tech-node-detail span{display:block;color:var(--muted);font:10px var(--mono);line-height:1.6}
.tech-node-detail em{display:block;margin-top:6px;color:var(--orange2);font-style:normal;font:10px var(--mono)}
.tech-legend{display:flex;gap:14px;flex-wrap:wrap;padding:0 14px 14px;color:var(--dim);font:9px var(--mono)}
.tech-key{display:inline-block;width:9px;height:9px;margin-right:4px;border:1px solid var(--line);vertical-align:-1px}
.tech-key.unlocked{border-color:var(--orange);background:#17140d}
.tech-key.ready{border-color:var(--green);background:#0c1712}
.tech-key.short{border-color:#6f5a31}
.tech-key.locked{opacity:.5}

.mine-section:has(.mine-section-badge.halted){border-color:#6f5a31}
.mine-section-badge.bad{color:var(--orange)}
/* The active section is filled and flagged, not merely underlined: an underline alone was
   the whole reason this row read as decoration. */
.mine-section.active{background:#1b160c}
.mine-section.active b{color:var(--orange2)}
.mine-section.active small{color:var(--muted)}
.mine-section.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--orange)}
.mine-section.active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--orange)}
@media(max-width:800px){
  .mine-sections{flex-direction:column;border-left-width:3px;position:static}
  .mine-sections-label{border-right:0;border-bottom:1px solid var(--line);padding:8px 12px}
  .mine-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mine-section{border-bottom:1px solid var(--line)}
  .mine-section:nth-last-child(-n+2){border-bottom:0}
}
.firmware-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:9px 11px;border:1px solid var(--line);border-left:3px solid var(--green);background:#0b1112}
.firmware-status.warn{border-left-color:var(--orange)}
.firmware-status.bad{border-left-color:var(--red)}
.firmware-status b{display:block;color:var(--text);font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.firmware-status.warn b{color:var(--orange2)}
.firmware-status.bad b{color:var(--red)}
.firmware-status span{display:block;margin-top:4px;color:var(--muted);font:9px/1.5 var(--mono)}
.firmware-status .action{flex:none;white-space:nowrap}
.price-chart-card{overflow:hidden}
.price-chart-controls{display:flex;gap:4px;padding:8px 14px;border-bottom:1px solid var(--line)}
.price-chart-plot{padding:10px 12px 4px;background:linear-gradient(180deg,#0b1214,#0a0f10)}
.price-chart-svg{display:block;width:100%;height:250px}
.price-chart-svg .grid line{stroke:#1e2a2c;stroke-width:1;vector-effect:non-scaling-stroke}
.price-chart-svg .grid text,.price-chart-svg .dates text{fill:var(--dim);font:9px var(--mono)}
.price-chart-svg .halving{stroke:#3d5a4d;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.price-chart-svg .halving-label{fill:#5d8873;font:9px var(--mono)}
.price-chart-svg .halving.projected{stroke:#d957c7}
.price-chart-svg .halving-label.projected{fill:#e27bd4}
.price-chart-halving-key .recorded-halving{color:#83b99b}
.price-chart-halving-key .projected-halving{color:#e27bd4}
.price-chart-svg .area{fill:rgba(247,147,26,.10)}
.price-chart-svg .line{fill:none;stroke:var(--orange);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.price-chart-svg .now{fill:var(--orange2);stroke:#0b1112;stroke-width:2}
.price-chart-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.price-chart-stats>div{background:#0b1112;padding:10px 12px}
.price-chart-stats span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.price-chart-stats strong{display:block;margin-top:5px;font:600 13px var(--mono)}
.price-chart-stats .up{color:var(--green)}
.price-chart-stats .down{color:var(--red)}
.price-chart-empty{padding:36px 14px;color:var(--dim);font:10px var(--mono);text-align:center}
.parts-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;margin-bottom:10px}
.parts-status-block{border:1px solid var(--line);background:#0b1112;padding:8px 10px}
.parts-status-block.short{border-color:var(--orange)}
.parts-status-block h4{margin:0 0 6px;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
.parts-status-block.inbound h4{color:var(--muted)}
.parts-status-block ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.parts-status-block li{display:flex;align-items:center;justify-content:space-between;gap:10px;font:9px var(--mono)}
.parts-status-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.parts-status-text b{color:var(--text)}
.parts-status-text span{color:var(--muted);line-height:1.5}
.parts-status-block li .action{flex:none;white-space:nowrap}
.part-short{color:var(--orange);font-style:normal;font:9px var(--mono);margin-left:auto;padding-right:6px;text-align:right}
.part-fault-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--line);background:#0b1112;font:9px var(--mono)}.part-fault-row span{color:var(--muted)}.part-fault-row b{color:var(--text)}.part-fault-row.empty{color:var(--dim)}
.part-badge{position:absolute;left:1px;top:1px;padding:1px 3px;background:var(--orange2);color:#17130b;font:600 9px var(--mono);text-transform:uppercase;line-height:1}
.repair-stage-track{display:flex;gap:3px;margin-top:5px}.repair-stage-track i{flex:1;height:4px;background:#1c2728;border:1px solid var(--line)}.repair-stage-track i.done{background:var(--green);border-color:var(--green)}.repair-stage-track i.active{background:var(--orange2);border-color:var(--orange2)}
.repair-puzzle{margin-top:7px;padding:8px;border:1px dashed var(--orange2);background:#1b160c}.repair-puzzle-note{margin:0 0 7px;color:var(--muted);font:9px var(--mono);line-height:1.5;max-width:460px}.repair-puzzle-grid{display:grid;grid-template-columns:repeat(2,38px);grid-template-rows:repeat(2,38px);gap:5px}.repair-bolt{width:38px;height:38px;border:1px solid var(--line);background:#141c1d;color:var(--orange2);font-size:16px;cursor:pointer;transition:background .2s,border-color .2s}.repair-bolt:hover:not(:disabled){border-color:var(--orange2)}.repair-bolt.done{background:#16241c;border-color:var(--green);color:var(--green);cursor:default}.repair-puzzle-progress{margin-top:6px;font:9px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.repair-cable-grid{display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(2,34px);gap:6px}.repair-cable{width:34px;height:34px;border:1px solid var(--line);background:#141c1d;color:#647d78;font-size:15px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.repair-cable:hover:not(:disabled){border-color:var(--orange2)}.repair-cable.selected{border-color:var(--orange2);color:var(--orange2);background:#241a0c}.repair-cable.done{background:#16241c;border-color:var(--green);color:var(--green);cursor:default}
.repair-dial{display:flex;gap:14px;margin-bottom:8px}.repair-dial-readout{padding:6px 10px;border:1px solid var(--line);background:#141c1d}.repair-dial-readout span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase}.repair-dial-readout b{display:block;margin-top:3px;font:600 15px var(--mono);color:var(--muted)}.repair-dial-readout.current b{color:var(--orange2)}.repair-dial-buttons{display:flex;gap:6px}.repair-dial-buttons .action{min-width:42px;text-align:center}
.floor-miner.broken,.floor-miner.repair{cursor:pointer}
.pool-time-control{display:grid;gap:8px;margin-bottom:16px}.pool-time-control>div{display:flex;justify-content:space-between;color:var(--dim);font:9px var(--mono);text-transform:uppercase}.pool-time-control output{color:var(--orange2);font:600 12px var(--mono)}.pool-time-control input{width:100%;accent-color:var(--orange)}.pool-explorer .pool-bars{display:grid;grid-template-columns:1fr;gap:7px}.pool-bar-row{display:grid;grid-template-columns:150px minmax(130px,1fr) 54px minmax(190px,.8fr);gap:10px;align-items:center;font:9px var(--mono)}.pool-bar-row>span{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-bar-row>div{height:12px;background:#161f20;overflow:hidden}.pool-bar-row>div i{display:block;height:100%;width:var(--pool-width);background:var(--pool-color);box-shadow:0 0 10px color-mix(in srgb,var(--pool-color),transparent 55%)}.pool-bar-row>b{color:var(--orange2);text-align:right}.pool-bar-row>small{color:var(--dim)}.pool-bar-row.selected{padding:5px 7px;margin:-5px -7px;border:1px solid #66532e;background:rgba(247,147,26,.05)}.pool-era-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-bottom:15px}.pool-era-summary>div{padding:11px;background:#0c1213}.pool-era-summary span,.pool-era-summary b{display:block}.pool-era-summary span{color:var(--dim);font:9px var(--mono);text-transform:uppercase}.pool-era-summary b{margin-top:5px;font:600 12px var(--mono)}.pool-era-foot{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font:9px var(--mono)}.pool-era-empty{padding:30px;border:1px dashed var(--line);text-align:center}.pool-era-empty b,.pool-era-empty span{display:block}.pool-era-empty span{max-width:620px;margin:7px auto 0;color:var(--muted);line-height:1.5}
.custody-lab-layout{display:grid;grid-template-columns:150px minmax(330px,1.15fr) minmax(260px,.85fr);gap:1px;background:var(--line)}.custody-scenarios{display:flex;flex-direction:column;background:#0b1112;padding:8px}.custody-scenarios button{border:0;border-left:2px solid transparent;background:transparent;color:var(--muted);padding:11px 9px;text-align:left;font:9px var(--mono);cursor:pointer}.custody-scenarios button.active{border-color:var(--orange);background:#18140d;color:var(--orange2)}.custody-diagram{display:grid;grid-template-columns:1fr 24px 1fr;grid-template-rows:1fr 25px 1fr;align-items:center;padding:14px;background:radial-gradient(circle at 50% 50%,rgba(247,147,26,.06),transparent 55%),#0c1213}.custody-route{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);background:#101718}.custody-route svg{width:44px;height:44px;fill:none;stroke:#879590;stroke-width:3}.custody-route span b,.custody-route span small{display:block}.custody-route span b{font:600 10px var(--mono)}.custody-route span small{margin-top:4px;color:var(--muted);font:9px var(--mono)}.custody-route.safe{border-color:#50725b;box-shadow:inset 0 0 20px rgba(134,199,154,.08)}.custody-route.safe svg{stroke:var(--green)}.custody-route.at-risk{border-color:#7b3f3b;box-shadow:inset 0 0 20px rgba(255,118,111,.1)}.custody-route.at-risk svg{stroke:var(--red)}.custody-route.warn{border-color:#765d2f}.custody-route.warn svg{stroke:var(--orange2)}.custody-diagram>i{font:18px var(--mono);text-align:center;color:var(--orange);font-style:normal}.custody-route.node{grid-column:3;grid-row:3}.custody-diagram .node-link{grid-column:3;grid-row:2}.custody-lesson{padding:20px;background:#0b1112}.custody-lesson>span{font:9px var(--mono);color:var(--orange);letter-spacing:.08em}.custody-lesson h3{margin:7px 0 15px;font-size:18px}.custody-lesson>b{display:block;font-size:11px}.custody-lesson p{color:var(--muted);font-size:10px;line-height:1.55}.lesson-answer{padding:10px;border-left:3px solid var(--green);background:#101a14;color:var(--green);font:600 9px var(--mono)}.custody-risk-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:1px;background:var(--line);border-top:1px solid var(--line)}.custody-risk-strip>div{padding:12px;background:#0c1213}.custody-risk-strip span,.custody-risk-strip strong,.custody-risk-strip small{display:block}.custody-risk-strip span{color:var(--dim);font:9px var(--mono);text-transform:uppercase}.custody-risk-strip strong{margin:5px 0;font:600 13px var(--mono)}.custody-risk-strip small{color:var(--muted);font-size:9px;line-height:1.4}.custody-risk-strip .actions{align-content:center;justify-content:flex-end;flex-wrap:wrap}
@keyframes tech-step{50%{transform:translateY(-2px)}}@keyframes tech-wrench{to{transform:rotate(28deg)}}
@media(max-width:980px){.thermal-console{grid-template-columns:repeat(3,1fr)}.custody-lab-layout{grid-template-columns:130px 1fr}.custody-lesson{grid-column:1/-1}.custody-risk-strip{grid-template-columns:repeat(2,1fr)}.pool-bar-row{grid-template-columns:120px 1fr 50px}.pool-bar-row>small{grid-column:2/-1}}
@media(max-width:700px){.thermal-console{grid-template-columns:repeat(2,1fr)}.miner-control-row{align-items:flex-start;flex-direction:column}.miner-control-row .actions{flex-wrap:wrap}.cooling-shop-head{display:block}.cooling-shop-head p{margin-top:8px}.cooling-option{grid-template-columns:38px 1fr}.cooling-option .action{grid-column:1/-1}.pool-era-summary{grid-template-columns:repeat(2,1fr)}.pool-bar-row{grid-template-columns:100px 1fr 45px}.pool-era-foot{display:block}.pool-era-foot span{display:block;margin-top:5px}.custody-lab-layout{grid-template-columns:1fr}.custody-scenarios{flex-direction:row;overflow:auto}.custody-scenarios button{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.custody-scenarios button.active{border-bottom-color:var(--orange)}.custody-lesson{grid-column:auto}.custody-risk-strip{grid-template-columns:1fr}.custody-diagram{min-height:330px}}
@media(prefers-reduced-motion:reduce){.technician-sprite,.technician-sprite .tech-wrench,.action.power-pending{animation:none!important}}
.rival-list{margin-top:14px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.rival-row{padding:10px 12px;background:#0e1516}.rival-row div{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.rival-row b{font:600 11px var(--mono)}.rival-status{color:var(--orange2);font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.rival-row p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.career-summary{margin:14px 0;padding:12px;border:1px solid #6f5a31;background:#15120b}.career-summary-kicker{display:block;margin-bottom:9px;color:var(--orange2);font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.career-summary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.career-summary-stats div{border:1px solid var(--line);padding:9px;background:#101718}.career-summary-stats b{display:block;font:600 12px var(--mono);color:var(--text)}.career-summary-stats span{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.run-recap{margin:18px 0;padding:14px;border:1px solid var(--line);background:#101718}.run-recap h3{margin:0 0 8px;font:600 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--orange2)}.run-recap p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.6}.run-recap p:last-child{margin-bottom:0}
.run-verdict{margin:12px 0;padding:14px;border-left:3px solid var(--orange);background:#18140d}.run-verdict span,.recap-outcomes span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.07em}.run-verdict b{display:block;margin:6px 0;font-size:15px;line-height:1.45}.run-verdict p{font-size:11px}.recap-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 0;background:var(--line)}.recap-outcomes>div{padding:11px;background:#0c1213}.recap-outcomes b{display:block;margin:5px 0;color:var(--orange2);font:600 14px var(--mono)}.recap-outcomes p{font-size:9px;line-height:1.45}
.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.milestone-row{border:1px solid var(--line);background:#0e1516;padding:11px}.milestone-row div{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.milestone-row b{font:600 11px var(--mono)}.milestone-row span{color:var(--dim);font:9px var(--mono);text-transform:uppercase;white-space:nowrap}.milestone-row p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.milestone-row.hit{border-color:#6f5a31;background:#15120b}.milestone-row.hit b{color:var(--orange2)}.milestone-row.pending{opacity:.55}
@media(max-width:700px){.milestone-grid{grid-template-columns:1fr}}
@media(max-width:600px){.career-summary-stats{grid-template-columns:repeat(2,1fr)}.recap-outcomes{grid-template-columns:1fr}}
.dice-roll-widget{display:flex;align-items:center;gap:16px;margin:18px 0}.die-face{width:64px;height:64px;flex:0 0 auto;border:1px solid var(--line);background:#141c1d;color:var(--orange2);font:700 28px var(--mono);cursor:pointer;transition:background .15s,border-color .15s}.die-face:hover:not(:disabled){border-color:var(--orange2);background:#1b160c}.die-face:active{background:#241a0c}.dice-tally{display:flex;flex-direction:column;gap:4px}.dice-tally b{font:600 13px var(--mono);color:var(--text)}.dice-tally span{color:var(--muted);font:9px var(--mono)}
.wallet-visual{margin:20px 0 18px;border:1px solid var(--line);background:#0b1112;overflow:hidden}.wallet-visual svg{display:block;width:100%;height:auto;min-height:138px}.wallet-visual-caption{padding:10px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.45}.wallet-risk-visual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 20px;background:var(--line);border:1px solid var(--line)}.wallet-risk-visual>div{min-height:104px;padding:11px;background:#101718}.wallet-risk-visual span,.wallet-risk-visual b,.wallet-risk-visual small{display:block}.wallet-risk-visual span{color:var(--orange2);font:9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.wallet-risk-visual b{margin:8px 0 5px;font-size:12px}.wallet-risk-visual small{color:var(--muted);font-size:9px;line-height:1.4}@media(max-width:700px){.wallet-visual svg{min-height:180px}.wallet-risk-visual{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wallet-key-reveal{margin:14px 0;padding:12px;border:1px solid var(--line);background:#0b1011;color:var(--green);font:12px/1.6 var(--mono);word-break:break-all}
.action-link{border:0;background:none;color:var(--dim);font:9px var(--mono);cursor:pointer;margin-left:auto;padding:0}.action-link:hover{color:var(--muted)}
.build-queue-eta{flex:0 0 auto;color:var(--orange2);font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.build-queue-eta.awaiting{color:var(--red)}
.liquidity-head{margin-top:18px}
.operator-briefing{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:20px;border-color:#6f5a31;background:linear-gradient(135deg,rgba(247,147,26,.1),rgba(13,18,19,.96) 55%)}.operator-briefing.attention{border-color:#806832}.operator-briefing.critical{border-color:#8a3a35;background:linear-gradient(135deg,rgba(255,90,80,.1),rgba(13,18,19,.96) 55%)}.briefing-copy h2{margin:6px 0 8px;font-size:22px}.briefing-copy>p{margin:0;color:var(--muted);line-height:1.6;max-width:850px}.briefing-recommendation{display:grid;gap:4px;margin-top:13px;padding-left:11px;border-left:2px solid var(--orange)}.briefing-recommendation span{font:9px var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.briefing-recommendation b{font-size:12px;line-height:1.5}.briefing-actions{display:flex;min-width:175px;flex-direction:column;align-items:stretch;justify-content:center;gap:10px}.briefing-actions .action-link{margin:0;text-align:center}.briefing-definitions{margin-top:14px;border-top:1px solid var(--line);padding-top:11px}.briefing-definitions summary{cursor:pointer;color:var(--orange2);font:9px var(--mono)}.briefing-definitions dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 0 0}.briefing-definitions dl>div{border:1px solid var(--line);padding:9px}.briefing-definitions dt{font:600 9px var(--mono);color:var(--text)}.briefing-definitions dd{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:700px){.operator-briefing{grid-template-columns:1fr}.briefing-actions{min-width:0}.briefing-definitions dl{grid-template-columns:1fr}}
.section-orientation{border-color:#46504a;background:linear-gradient(135deg,rgba(121,200,211,.055),rgba(13,18,19,.98) 48%);overflow:hidden}.orientation-intro{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);gap:22px;padding:20px}.orientation-intro h2{margin:6px 0 0;font-size:21px;line-height:1.25}.orientation-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.orientation-guide>div{padding:12px;background:#0d1415}.orientation-guide span{display:block;color:var(--dim);font:9px var(--mono);text-transform:uppercase;letter-spacing:.07em}.orientation-guide p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.orientation-guide .orientation-next{background:#17140d;box-shadow:inset 2px 0 var(--orange)}.orientation-guide .orientation-next span{color:var(--orange2)}.section-orientation>.metric-row{border-top:1px solid var(--line)}
@media(max-width:980px){.orientation-intro{grid-template-columns:1fr}.orientation-guide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.orientation-intro{padding:14px}.orientation-guide{grid-template-columns:1fr}.orientation-guide .orientation-next{box-shadow:inset 2px 0 var(--orange)}.section-orientation>.metric-row{grid-template-columns:repeat(2,1fr)}}
.context-help{border-top:1px solid var(--line);background:#0b1112}.context-help summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 14px;cursor:pointer;color:var(--orange2);font:600 9px var(--mono);text-transform:uppercase;letter-spacing:.06em}.context-help summary span{color:var(--dim);font-weight:400;text-transform:none;letter-spacing:0}.context-help summary::marker{color:var(--orange)}.context-help-body{padding:0 14px 14px}.context-help dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}.context-help dl>div{border:1px solid var(--line);padding:10px;background:#101718}.context-help dt{font:600 10px var(--mono);color:var(--text)}.context-help dd{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.context-method-link{color:var(--orange2)}
.blocked-control{display:inline-flex;align-items:stretch;max-width:100%}.blocked-control>.action{border-radius:0}.blocked-help{display:inline-grid;place-items:center;flex:0 0 34px;min-width:34px;border:1px solid #6c5831;border-left:0;background:#1a160e;color:var(--orange2);font:700 11px var(--mono);cursor:help}.blocked-help:hover,.blocked-help:focus-visible{background:#28200f;outline:1px solid var(--orange);outline-offset:1px}.blocked-control>.action+ .blocked-help{margin-left:0}
.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}
@media(max-width:700px){.context-help dl{grid-template-columns:1fr}.context-help summary{min-height:48px}.blocked-help{flex-basis:40px;min-width:40px}}
.floor-3d-fallback{margin:0 0 10px}.cooling-actions{display:flex;gap:6px;flex-wrap:wrap}.incoming-fleet-row.outgoing{border-left:2px solid var(--orange)}.purchase-intake{margin:8px 0;padding:8px 10px;border-left:2px solid var(--green);background:#0c1712}.purchase-intake b{display:block;font-size:12px}.purchase-intake small{color:var(--muted);line-height:1.5}.purchase-pipeline{display:block;margin-top:4px;color:var(--dim)}.payout-thresholds{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 16px}.payout-thresholds button{flex-direction:column;align-items:flex-start;line-height:1.3}.payout-thresholds small{color:var(--dim);font-size:9px}.payout-destinations{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:8px 0}.payout-destination{padding:12px;border:1px solid var(--line);background:#0c1213}.payout-destination.active{border-color:var(--orange)}.payout-destination.custodial{border-left:2px solid var(--red)}.payout-destination.self{border-left:2px solid var(--green)}.payout-destination h4{margin:6px 0 4px}.payout-destination p{margin:0 0 6px;color:var(--text);font-size:11px}.payout-destination small{display:block;color:var(--muted);line-height:1.5;margin-bottom:8px}.payout-card em{color:var(--orange2);font-style:normal}
/* The mount is exactly as tall as the canvas inside it. A min-height left a band of empty
   background under the floor at narrow widths, which reads as the view failing to fill. */
.floor-3d-mount{position:relative;width:100%;border-radius:10px;overflow:hidden;background:#101b24;line-height:0}
.floor-3d-canvas{display:block;width:100%;height:auto;touch-action:pan-y}
/* Vertical scrolling still belongs to the page: a floor that swallows a reader's scroll is a
   worse bug than the one an orbit control fixes. */
.floor-3d-bar{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-top:0;background:#0b1112;padding:5px 8px 5px 10px}
.floor-3d-controls{display:flex;gap:4px;margin-left:auto;flex:none}
.floor-3d-readout{flex:1;margin:0;color:var(--dim);font:9px/1.5 var(--mono);min-height:15px;overflow:hidden;text-overflow:ellipsis}
.floor-3d-canvas.dragging{cursor:grabbing}
.floor-3d-readout.live{color:var(--orange2)}

/* Opening chapter: optional configuration stays out of the first action. */
.intro-customise{margin:22px 0;border-top:1px solid var(--line);padding-top:16px}.intro-customise summary{cursor:pointer;font-weight:600;padding:8px 0}.intro-customise .starting-capital{margin-top:16px}

/* THE HEADER STAYS WHERE IT IS.

   Below 900px the topbar was made position:relative so the XP bar could anchor to it, which also
   stopped it sticking. It scrolled away, and whatever was sticky beneath it kept an offset written
   down once: the open phone menu hung 58px down the screen with page content showing above it, and
   between 801 and 900px the tab row and the Mine tab's section bar did the same. The topbar sticks
   again (sticky is positioned, so the XP bar still anchors to it), and everything beneath it takes
   its offset from the topbar's MEASURED height. Under 800px the tab row is hidden, so the Mine
   section bar sits directly beneath the topbar. */
:root{--topbar-live-h:58px}
@media(max-width:900px){
  .topbar{position:sticky;top:0}
  .tabs{top:var(--topbar-live-h)}
  .mine-sections{top:calc(var(--topbar-live-h) + var(--tabs-h,41px))}
}
@media(max-width:800px){
  .mobile-nav.open{top:var(--topbar-live-h)}
  .mine-sections{top:var(--topbar-live-h)}
}

/* The Treasury: one strip of position above three sections, sharing the Mine tab's sticky section bar. */
.treasury-strip{padding:0;margin-bottom:10px;width:100%}
.treasury-sections{margin-bottom:10px}
.treasury-strip .metric-row{margin:0}
.treasury-sections .mine-section-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
/* The Mine tab turns its section bar static on phones because four stacked sections would eat the screen. Three
   compact buttons do not, so the Treasury's stays under the header wherever you are in it. */
@media(max-width:800px){
  .treasury-sections{position:sticky;top:var(--topbar-live-h);flex-direction:row}
  .treasury-sections .mine-sections-label{display:none}
  .treasury-sections .mine-section{padding:7px 9px 8px}
  .treasury-sections .mine-section small{display:none}
}
@media(max-width:400px){.topbar{gap:6px;padding-left:10px;padding-right:10px}}

/* The first-run tour: a card that says what the area is for, and a ring around the area it is talking about. */
.tour-dim{position:fixed;inset:0;background:rgba(2,4,5,.72);z-index:60}
.tour-card{position:fixed;right:18px;bottom:18px;z-index:75;width:min(410px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;padding:16px 18px 14px;border:1px solid var(--orange);background:#0d1213;box-shadow:0 18px 50px #000,0 0 0 1px rgba(247,147,26,.25)}
.tour-card.tour-center{right:auto;bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 36px));z-index:76}
.tour-bar{height:3px;background:var(--line);margin:-16px -18px 12px}.tour-bar i{display:block;height:100%;background:var(--orange)}
.tour-kicker{font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange2);margin-bottom:6px}
.tour-card h3{margin:0 0 8px;font-size:17px}.tour-card p{margin:0 0 14px;color:var(--text);font-size:13px;line-height:1.55}
.tour-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tour-actions .action-link{margin-left:auto}
.tour-target{outline:2px solid var(--orange)!important;outline-offset:4px;box-shadow:0 0 0 6px rgba(247,147,26,.18),0 0 30px rgba(247,147,26,.25)!important;animation:tour-pulse 1.8s ease-in-out infinite;scroll-margin-top:calc(var(--topbar-live-h,72px) + 70px)}
.topbar.tour-target,.sidebar.tour-target,.ticker.tour-target{outline-offset:-4px}
@keyframes tour-pulse{50%{box-shadow:0 0 0 10px rgba(247,147,26,.08),0 0 40px rgba(247,147,26,.35)}}
body.tour-on .toast{bottom:auto;top:80px}
body.tour-modal .tour-card,body.tour-modal .tour-dim{display:none}
body.tour-on .speed:not([data-value="0"]),body.tour-on .mobile-pause-button.paused{opacity:.45}
@media(max-width:800px){.tour-card{left:8px;right:8px;bottom:8px;width:auto;max-height:50vh}.tour-card.tour-center{left:50%;right:auto;width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.tour-target{animation:none}}

.save-notice{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:90;width:min(620px,calc(100vw - 24px));display:flex;gap:14px;align-items:center;padding:12px 14px;border:1px solid #8a6420;background:#1d1608;color:#f4e3c0;box-shadow:0 16px 40px #000}.save-notice strong{display:block;font:700 12px var(--mono);text-transform:uppercase;margin-bottom:4px}.save-notice span{font-size:12px;line-height:1.5;color:#d9c79c}.save-notice .push{margin-left:auto;flex-shrink:0}
@media(max-width:560px){.save-notice{flex-direction:column;align-items:stretch}.save-notice .push{margin-left:0}}
.modal-warning{margin:10px 0;padding:10px 12px;border-left:3px solid var(--orange);background:#1a1408;color:var(--text);font-size:14px;line-height:1.5}
.footer .footer-tip{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border:1px solid var(--orange);border-radius:999px;color:var(--orange2);font-weight:700;background:rgba(247,147,26,.08)}.footer .footer-tip:hover,.footer .footer-tip:focus-visible{background:var(--orange);color:#090c0d}.footer .footer-tip svg{flex:none}
.custody-group{margin:14px 0 -4px;padding:0 2px}.custody-group h2{display:flex;align-items:center;gap:10px;margin:0;font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--orange2)}.custody-group h2 span{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--orange);border-radius:50%;font-size:11px;color:var(--orange2)}.custody-group p{margin:4px 0 0 32px;color:var(--muted);font-size:13px}
.cold-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.cold-steps li{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:start;padding:10px 12px;border:1px solid var(--line);background:#0b1011}.cold-steps li.current{border-color:var(--orange);background:#171207}.cold-steps li.done{opacity:.75}.cold-steps li.later{opacity:.6}.cold-steps p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.cold-steps li.done p{display:none}.cold-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);font:700 12px var(--mono);color:var(--muted)}.cold-steps li.current .cold-mark{background:var(--orange);border-color:var(--orange);color:#090c0d}.cold-steps li.done .cold-mark{border-color:var(--green);color:var(--green)}.cold-steps .actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.cold-steps li{grid-template-columns:30px 1fr}.cold-steps li .actions{grid-column:2;justify-content:flex-start}.custody-group p{margin-left:0}}
.modal-odds{margin:10px 0 0;color:var(--muted);font:11px/1.55 var(--mono);border-left:2px solid var(--line);padding-left:10px}

/* Disasters: the emblem at the head of a loss window, and the overlay on the live mining floor (src/ui/disaster-art.js). */
.loss-emblem{display:flex;align-items:center;gap:14px;margin:0 0 14px;font:700 14px var(--mono);letter-spacing:.1em;text-transform:uppercase}.loss-emblem .disaster-glyph{flex:none;padding:8px;border:1px solid currentColor;border-radius:50%;background:rgba(255,255,255,.04)}
.scene-fire{color:#f7931a}.scene-flood{color:#6fb7e6}.scene-burglary{color:#f5c542}.scene-seizure{color:#a9b5ff}.scene-disk{color:#b6c0bd}.scene-hack{color:#ff766f}.scene-grid{color:#e2a32d}.scene-net{color:#9db4c0}
.loss-modal.scene-fire .modal-top{background:linear-gradient(90deg,#f7931a,#c2410c)}.loss-modal.scene-flood .modal-top{background:linear-gradient(90deg,#6fb7e6,#2d6f9c)}.loss-modal.scene-burglary .modal-top{height:9px;background:repeating-linear-gradient(45deg,#f5c542 0 12px,#111 12px 24px)}.loss-modal.scene-seizure .modal-top{background:linear-gradient(90deg,#a9b5ff,#4a55b0)}.loss-modal.scene-disk .modal-top{background:linear-gradient(90deg,#b6c0bd,#4b5855)}
.loss-modal .modal-body{color:var(--text)}.loss-modal .loss-emblem{color:inherit}.loss-modal.scene-fire .loss-emblem{color:#f7931a}.loss-modal.scene-flood .loss-emblem{color:#6fb7e6}.loss-modal.scene-burglary .loss-emblem{color:#f5c542}.loss-modal.scene-seizure .loss-emblem{color:#a9b5ff}.loss-modal.scene-disk .loss-emblem{color:#b6c0bd}.loss-modal.scene-hack .loss-emblem{color:#ff766f}
.glyph-fire .flame-outer{fill:rgba(247,147,26,.22)}.glyph-fire .flame-inner{fill:#ffc267;stroke:#ffc267;stroke-width:1.2}.glyph-fire .flame-outer,.glyph-fire .flame-inner{transform-origin:50% 92%;animation:flame-flicker 1.3s ease-in-out infinite}.glyph-fire .flame-inner{animation-duration:.9s}
@keyframes flame-flicker{0%,100%{transform:scale(1,1)}35%{transform:scale(1.05,.95)}70%{transform:scale(.96,1.05)}}
.mining-floor-card{position:relative}.floor-scene{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.floor-scene-art{position:absolute;inset:0}
.floor-scene-banner{position:relative;z-index:7;display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;background:rgba(8,11,12,.9)}.floor-scene-banner b{display:block;font:700 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}.floor-scene-banner span{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.floor-scene.scene-fire .floor-scene-art{background:radial-gradient(ellipse at 50% 108%,rgba(255,130,25,.5),rgba(170,45,12,.28) 42%,rgba(12,6,4,.5) 100%)}
.floor-scene.scene-flood .floor-scene-art{background:linear-gradient(to top,rgba(50,135,185,.42),rgba(50,135,185,.2) 40%,rgba(10,40,60,.05) 75%),repeating-radial-gradient(circle at 50% 135%,rgba(170,220,245,.1) 0 4px,transparent 4px 26px)}
.floor-scene.scene-burglary .floor-scene-art{background:rgba(6,8,10,.3)}.floor-scene.scene-burglary .floor-scene-art:before,.floor-scene.scene-burglary .floor-scene-art:after{content:"";position:absolute;left:-5%;width:110%;height:24px;background:repeating-linear-gradient(45deg,#f5c542 0 14px,#16181a 14px 28px);box-shadow:0 3px 8px rgba(0,0,0,.6)}.floor-scene.scene-burglary .floor-scene-art:before{top:26%;transform:rotate(-3deg)}.floor-scene.scene-burglary .floor-scene-art:after{top:60%;transform:rotate(2deg)}
.floor-scene.scene-grid .floor-scene-art{background:radial-gradient(ellipse at center,rgba(2,4,6,.7),rgba(2,4,6,.86))}
.floor-scene.scene-net .floor-scene-art{background:rgba(8,14,20,.3);backdrop-filter:grayscale(.75)}
@media(prefers-reduced-motion:reduce){.glyph-fire .flame-outer,.glyph-fire .flame-inner{animation:none}}
.floor-stage{position:relative}.facility-floor{position:relative}
.floor-smoke{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.floor-smoke:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,20,16,.6),rgba(28,20,16,.18) 55%,transparent)}
.floor-smoke i{position:absolute;bottom:26%;width:30%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(196,186,176,.9) 0,rgba(140,130,122,.58) 44%,transparent 72%);filter:blur(5px);opacity:0;animation:smoke-rise 7.5s ease-out infinite}
.floor-smoke i:nth-child(1){left:22%;animation-delay:0s}.floor-smoke i:nth-child(2){left:34%;animation-delay:1.3s;width:28%}.floor-smoke i:nth-child(3){left:46%;animation-delay:2.4s}.floor-smoke i:nth-child(4){left:28%;animation-delay:3.6s;width:40%}.floor-smoke i:nth-child(5){left:52%;animation-delay:4.7s;width:30%}.floor-smoke i:nth-child(6){left:38%;animation-delay:5.9s;width:36%}
@keyframes smoke-rise{0%{transform:translate(0,12%) scale(.5);opacity:0}20%{opacity:.95}100%{transform:translate(8%,-130%) scale(1.9);opacity:0}}
@media(prefers-reduced-motion:reduce){.floor-smoke i{animation:none;opacity:.4;transform:translate(0,-30%) scale(1.2)}}
.next-up{color:var(--orange2);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.facility.teaser,.item.teaser{border-style:dashed;filter:grayscale(.55)}.facility.teaser .risk,.item.teaser .owned-count{opacity:1}
.footer .footer-tipline{flex-basis:100%;display:flex;justify-content:flex-start;padding-top:10px;margin-top:4px;border-top:1px solid var(--line)}
.hw-order-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--orange);border-left-width:4px;background:rgba(247,147,26,.09)}.hw-order-strip b{font:700 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange2)}.hw-order-strip span{flex:1 1 160px;color:var(--text);font-size:13px;line-height:1.45}

/* The internet cut (src/ui/offline.js) */
.offline-lock{padding:20px;display:grid;gap:14px}.offline-card{padding:26px 24px;text-align:left}.offline-card h1{margin:6px 0 10px}.offline-card .lead{max-width:60ch}.offline-card .actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.offline-icon{color:#9db4c0;margin-bottom:10px}
.tab.offline-locked{opacity:.42;text-decoration:line-through}
body.is-offline .ticker .tick.offline-masked .value,body.is-offline .ticker .tick.offline-masked .subvalue{visibility:hidden}body.is-offline .ticker .tick.offline-masked{position:relative}body.is-offline .ticker .tick.offline-masked:after{content:"NO LINK";position:absolute;left:12px;top:50%;font:700 10px var(--mono);letter-spacing:.1em;color:var(--dim)}
.offline-sidebar{opacity:.85}
/* The two moments that earn confetti (src/ui/confetti.js) */
.confetti-canvas{position:fixed;inset:0;z-index:9500;pointer-events:none}
.celebrate-banner{margin:0 0 12px;padding:6px 12px;display:inline-block;background:linear-gradient(90deg,#f7931a,#ffc267);color:#090c0d;font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.event-celebrate .modal-top{height:8px;background:linear-gradient(90deg,#f7931a,#ffc267,#86c79a,#77a9c9,#b69ce0)}.event-celebrate h2{color:var(--orange2)}

/* The message from a friend on the first screen (src/ui/intro-chat.js) */
.irc{margin:12px 0;border:1px solid #2a3a36;background:#05090a}.irc-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:6px 10px;background:#12201c;color:var(--muted);font:11px var(--mono)}
.irc-log{padding:8px 0;font:12px/1.55 var(--mono);color:#c8d3cf}.irc-line{padding:1px 10px}.irc-nick{color:var(--orange2);font-weight:700}.irc-you{color:var(--green)}.irc-sys{color:var(--dim)}
.irc-cursor{display:inline-block;width:7px;height:13px;margin-left:3px;vertical-align:-2px;background:var(--green);animation:irc-blink 1s steps(2) infinite}@keyframes irc-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.irc-cursor{animation:none}}
a.coin{text-decoration:none;cursor:pointer;transition:border-color .12s,background .12s}a.coin:hover{border-color:var(--orange);background:#241a0c}a.coin:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* Copy hierarchy: values first, readable meaning alongside, technical depth on demand. */
.card-head{padding:16px 18px;flex-wrap:wrap;gap:8px 16px}
.card-head h2,.card-head h3{font:600 15px/1.3 var(--sans);letter-spacing:-.01em;text-transform:none}
.card-head .meta{font:10px/1.5 var(--mono);overflow-wrap:anywhere}
.metric{min-width:0}
.metric strong{font-size:19px;line-height:1.35;overflow-wrap:anywhere}
.metric small{font:12px/1.55 var(--sans);max-width:32ch;margin-top:8px}
.hero p{font-size:15px;line-height:1.65;max-width:58ch}
.hero-stat{max-width:300px}
.hero-stat span{font:11px/1.5 var(--mono)}
.hero-stat small{display:block;margin-top:8px;font:12px/1.5 var(--sans);color:var(--muted)}
.dashboard-chapter{padding:22px 4px 2px;border-top:1px solid var(--line);margin-top:14px}
.dashboard-chapter>span{font:600 10px var(--mono);color:var(--orange2);letter-spacing:.08em;text-transform:uppercase}
.dashboard-chapter h2{font:500 clamp(22px,2.4vw,30px)/1.2 var(--sans);letter-spacing:-.025em;margin:8px 0}
.dashboard-chapter p{font:14px/1.65 var(--sans);color:var(--muted);max-width:72ch;margin:0}
.concept-caption{font:13px/1.65 var(--sans);color:var(--muted);max-width:72ch;margin:16px 18px}
.dashboard-command{padding:18px;display:flex;flex-direction:column;align-items:flex-start}
.dashboard-command>.label{font:600 14px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--text)}
.dashboard-command strong{font-size:21px;line-height:1.4;overflow-wrap:anywhere}
.dashboard-command small{font:13px/1.6 var(--sans);margin:8px 0 16px}
.dashboard-command .action{margin-top:auto}
.orientation-intro{grid-template-columns:1fr;padding:22px;gap:18px}
.orientation-intro h2{font-size:26px;max-width:36ch}
.orientation-guide{grid-template-columns:1fr 1fr;gap:14px;background:transparent}
.orientation-guide>div{padding:16px;border:1px solid var(--line)}
.orientation-guide span{font-size:10px}
.orientation-guide p{font:14px/1.65 var(--sans);max-width:60ch}
.orientation-principle{margin:0;padding:16px 22px;font:14px/1.65 var(--sans);color:var(--muted);border-top:1px solid var(--line)}
.orientation-principle b{display:block;color:var(--text);font:600 11px var(--mono);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.context-help summary{font-size:11px;text-transform:none;letter-spacing:0}
.context-help dt{font:600 14px/1.4 var(--sans)}
.context-help dd{font:13px/1.65 var(--sans)}
.profit-summary small,.profit-table td small{font:12px/1.5 var(--sans)}
@media(max-width:700px){
  .orientation-guide{grid-template-columns:1fr}
  .orientation-intro{padding:16px}
  .orientation-intro h2{font-size:23px}
  .orientation-principle{padding:16px}
  .hero-stat{text-align:left;max-width:none}
  .card-head .meta{margin-left:0;width:100%}
  .dashboard-chapter{padding-top:18px}
}
@media(max-width:480px){
  .metric strong{font-size:17px}
  .ticker-group-values .tick{width:148px;min-width:148px}
  .dashboard-command{padding:16px}
}

.method-provenance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.method-provenance>div{border-top:2px solid var(--line);padding-top:12px}
.method-provenance dt{font:600 15px var(--sans);color:var(--text)}
.method-provenance dd{font:14px/1.65 var(--sans);color:var(--muted);margin:8px 0 0}
.forecast-grid small,.briefing-definitions dd{font:12px/1.6 var(--sans)}
.briefing-definitions dt{font:600 13px var(--sans)}
@media(max-width:700px){.method-provenance{grid-template-columns:1fr}}

.settlement-forecast h3{font:600 17px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.forecast-assumptions{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font:13px/1.6 var(--sans)}
.forecast-assumptions summary{cursor:pointer;color:var(--orange2)}
.forecast-assumptions p{max-width:70ch;margin:10px 0 0}

/* Keep the three ticker concepts visible together on desktop. */
@media(min-width:801px){
  .ticker{display:grid;grid-template-columns:3fr 1.5fr 3fr;overflow:hidden}
  .ticker-group{min-width:0}
  .ticker-group-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .ticker-group:nth-child(2) .ticker-group-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ticker-group-values .tick{width:auto;min-width:0;padding:10px 12px;border-bottom:1px solid var(--line)}
  .ticker-group-values .tick:nth-child(3n){border-right:0}
  .ticker-group:nth-child(2) .ticker-group-values .tick:nth-child(3n){border-right:1px solid var(--line)}
  .ticker-group:nth-child(2) .ticker-group-values .tick:nth-child(2n){border-right:0}
  .ticker-group-values .tick .label{font-size:9px}
  .ticker-group-values .subvalue{font-size:11px;line-height:1.4;min-height:2.8em}
}
@media(min-width:801px) and (max-width:1100px){
  .ticker{grid-template-columns:3fr 1fr 3fr}
  .ticker-group-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ticker-group:nth-child(2) .ticker-group-values{grid-template-columns:1fr}
  .ticker-group-values .tick:nth-child(3n){border-right:1px solid var(--line)}
  .ticker-group-values .tick:nth-child(2n){border-right:0}
}
/* Persistent correspondence: readable prose, with the actual finding outside the joke. */
.freebill-letter{border-top:1px solid var(--line);padding:16px 0}
.freebill-letter summary{cursor:pointer;display:grid;gap:7px}
.freebill-letter summary span,.freebill-letter summary small{color:var(--dim);font-size:12px}
.freebill-letter summary b{font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.freebill-letter-body{max-width:68ch;line-height:1.7;padding-top:8px}
.freebill-finding{margin-top:20px;padding:16px;border-left:3px solid var(--orange2);background:rgba(255,255,255,.025)}
