@font-face{font-family:"Instrument Serif";src:url(/assets/fonts/InstrumentSerif-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Instrument Serif";font-style:italic;src:url(/assets/fonts/InstrumentSerif-Italic.ttf) format("truetype");font-display:swap}
:root{--bg:#07090d;--bg2:#0e1219;--ink:#e9edf3;--mute:#8d97a8;--amber:#ffb000;--cyan:#4fd1ff;--red:#ff5a4f;--line:#1d2430;--serif:"Instrument Serif",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--cyan)}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--amber),var(--red));z-index:50}
.hero{min-height:100svh;padding:12vh 6vw 6vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;max-width:1200px;margin:0 auto}
.racks{position:absolute;inset:0;z-index:-1;opacity:.35;background:
 repeating-linear-gradient(90deg,transparent 0 46px,#0f141c 46px 50px),
 repeating-linear-gradient(0deg,transparent 0 10px,#121a24 10px 12px);mask-image:radial-gradient(ellipse at 70% 40%,#000 0,transparent 70%)}
.racks:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,var(--amber) 1px,transparent 2px) 0 0/50px 24px;animation:blink 3s steps(2) infinite;opacity:.5}
@keyframes blink{50%{opacity:.15}}
.kicker,.step{font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
h1{font:400 clamp(56px,11vw,150px)/.9 var(--serif);margin:.2em 0 .25em;letter-spacing:-.02em}
h1 em,h2 em{color:var(--amber)}
.lede{font-size:clamp(19px,2.2vw,24px);max-width:720px;color:#c9d1dc}
.tickers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:32px 0 10px}
.ticker{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.tnum{font:500 clamp(34px,5vw,52px)/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--amber)}
.tlab{color:#c9d1dc}.tsub{color:var(--mute);font-size:14px}.tsub b{color:var(--ink)}
.method{font-size:13px;color:var(--mute)}
.scrollcue{margin-top:24px;color:var(--mute);text-decoration:none;animation:bob 2s infinite}
@keyframes bob{50%{transform:translateY(6px)}}
main{max-width:860px;margin:0 auto;padding:0 6vw}
.chapter{padding:14vh 0 6vh;border-top:1px solid var(--line);opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}
.chapter.in{opacity:1;transform:none}
h2{font:400 clamp(34px,5.4vw,60px)/1.02 var(--serif);margin:.3em 0 .5em;letter-spacing:-.01em}
h3{font:400 28px var(--serif)}
.src{font-size:.72em;vertical-align:super;text-decoration:none;color:var(--cyan);white-space:nowrap}
.src:before{content:"["}.src:after{content:"]"}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:24px 0}
.stat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.stat b{display:block;font:400 44px/1 var(--serif);color:var(--amber)}.stat span{font-size:14px;color:#c9d1dc}
#map{border-radius:14px;border:1px solid var(--line);background:#0b0f15;margin-top:16px;padding:8px;max-width:560px}#map svg{width:100%;height:auto;display:block}#map text{fill:#e9edf3;font-family:var(--sans);paint-order:stroke;stroke:#07090d;stroke-width:3px}#map .pin{cursor:pointer}#map .pin:hover circle,#map .pin:focus circle{stroke:#fff}.mapinfo{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:10px;font-size:15px;max-width:560px;min-height:70px}
.legend{font-size:13px;color:var(--mute)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 10px;vertical-align:middle}
.dot.hub{background:var(--amber)}.dot.aigz{background:var(--cyan)}.dot.project{background:var(--red)}
.guess{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:22px;margin:20px 0}
.guess .q{margin-top:0}
input[type=range]{width:100%;accent-color:var(--amber);height:36px}
.guessout{font:400 64px/1 var(--serif);color:var(--cyan)}
.big{font:400 clamp(80px,14vw,140px)/1 var(--serif);color:var(--amber);margin:.1em 0}
.btn{background:var(--amber);color:#111;border:0;border-radius:999px;padding:12px 22px;font:600 15px var(--sans);cursor:pointer;margin-top:10px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #3a4456}
.btn:hover{filter:brightness(1.1)}
.zoom{display:flex;flex-direction:column;gap:14px;margin:24px 0}
.zrow{opacity:.15;transition:opacity .6s}.zrow.in{opacity:1}
.zlab{display:flex;justify-content:space-between;gap:12px;font-size:15px}.zlab b{color:var(--amber);white-space:nowrap}
.zbar{height:14px;background:#141a24;border-radius:7px;overflow:hidden;margin-top:6px;background-image:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),#232c3a calc(10% - 1px) 10%)}
.zbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--amber));border-radius:7px;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.zsub{font-size:13px;color:var(--mute)}
.calc{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:22px}
.calc label{display:block;font-weight:600}.calc output{color:var(--amber);font-size:24px;margin-left:8px}
.calcout{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
.co{border:1px solid var(--line);border-radius:12px;padding:14px}.co h4{margin:0 0 6px;font-size:13px;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.co .n{font:400 34px/1.1 var(--serif);color:var(--amber)}.co p{margin:4px 0;font-size:14px}
.aside{border-left:3px solid var(--amber);padding-left:16px;color:#c9d1dc}
.chart svg{width:100%;height:auto;display:block}.chart text{fill:var(--ink);font-family:var(--sans)}
.pools{display:grid;grid-template-columns:repeat(auto-fill,minmax(6px,1fr));gap:2px;margin:18px 0}
.pools i{aspect-ratio:2/1;background:var(--cyan);opacity:.85;border-radius:1px}
.tracker{list-style:none;padding:0;margin:0;border-left:2px solid var(--line)}
.tracker li{position:relative;padding:0 0 22px 22px}.tracker li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--amber)}
.tracker time{font-size:13px;color:var(--mute)}.tracker .tag{font-size:12px;border:1px solid #3a4456;border-radius:999px;padding:1px 8px;margin-left:6px;color:var(--mute)}
.sharerow{display:flex;gap:10px;flex-wrap:wrap}
.more ul{columns:2;padding-left:18px}
.sources ol{font-size:14px;color:var(--mute)}.sources li{margin:4px 0}
footer{padding:40px 6vw;color:var(--mute);font-size:13px;text-align:center;border-top:1px solid var(--line)}
.page{max-width:760px;margin:0 auto;padding:10vh 6vw}.page .chapter{opacity:1;transform:none;padding-top:4vh}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--amber);color:#111;padding:10px 18px;border-radius:999px;font-weight:600;z-index:99}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.chapter{opacity:1;transform:none}}
/* ---- Data Center Clock brand ---- */
.topbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:12px 6vw;background:rgba(7,9,13,.82);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.wordmark{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font:600 14px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.wordmark b{color:var(--amber);font-weight:700}
.wordmark .hand{transform-origin:256px 256px;animation:spin 12s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.live{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:7px}
.live i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.6s steps(2) infinite}
.hero{min-height:calc(100svh - 50px);padding-top:6vh}
.board{background:linear-gradient(180deg,#0b0f16,#090c12);border:1px solid #2a3342;border-radius:18px;padding:18px 18px 8px;margin:28px 0 12px;box-shadow:0 0 0 1px #000,0 20px 60px rgba(0,0,0,.4)}
.boardhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:600 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:4px 2px 0}
.boardhead small{letter-spacing:.04em;text-transform:none;font-weight:400}
.elapsed{font:500 20px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--red);letter-spacing:.06em}
.board .tickers{margin:12px 0 18px}
.tnum.cyan{color:var(--cyan)}
.ytd{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0 10px}
.ytd div{border-top:1px solid var(--line);padding:10px 2px}
.ytd b{display:block;font:500 clamp(22px,3vw,30px)/1.1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.ytd span{font-size:14px;color:var(--mute)}
.cups{display:grid;grid-template-columns:repeat(auto-fill,minmax(14px,1fr));gap:4px;margin:16px 0 4px}
.cups i{aspect-ratio:1;border-radius:2px 2px 6px 6px;background:linear-gradient(180deg,#c98a4b 0 30%,#7a4a22 30%);opacity:.9}
.caveat{background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:12px;padding:6px 20px 10px;margin:22px 0}
.caveat h3{margin:.4em 0 .2em}.caveat li{margin:6px 0;color:#c9d1dc}
/* ---- headline ticker ---- */
.hticker{position:sticky;top:0;z-index:45;height:34px;display:flex;align-items:stretch;background:#ffb000;color:#111;font:600 13px/34px var(--sans);overflow:hidden;border-bottom:1px solid #000}
.hticker ~ .topbar{top:34px}
.ht-pause{flex:0 0 auto;width:34px;border:0;border-right:1px solid rgba(0,0,0,.25);background:#111;color:#ffb000;font:700 11px/1 var(--sans);cursor:pointer;padding:0}
.ht-pause:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.ht-vp{flex:1;overflow:hidden;position:relative}
.ht-track{display:flex;width:max-content;animation:ht 70s linear infinite}
.ht-set{display:flex;flex:0 0 auto}
.hticker a{color:#111;text-decoration:none;white-space:nowrap;padding:0 18px;border-right:1px solid rgba(0,0,0,.18);letter-spacing:.02em}
.hticker a b{font-weight:800;font-variant-numeric:tabular-nums;background:#111;color:#ffb000;padding:2px 6px;border-radius:4px;margin:0 4px}
.hticker a:hover,.hticker a:focus-visible{background:rgba(0,0,0,.08);outline:none}
.hticker:hover .ht-track,.hticker:focus-within .ht-track,.hticker.paused .ht-track{animation-play-state:paused}
@keyframes ht{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ht-track{animation:none}.ht-vp{overflow-x:auto;scrollbar-width:none}.ht-set[aria-hidden]{display:none}.ht-pause{display:none}}
/* ---- site map ---- */
.mapctl{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}
.seg{display:inline-flex;border:1px solid #3a4456;border-radius:999px;overflow:hidden}
.seg button{background:transparent;color:var(--ink);border:0;padding:9px 16px;font:600 14px var(--sans);cursor:pointer}
.seg button+button{border-left:1px solid #3a4456}
.seg button[aria-pressed=true]{background:var(--amber);color:#111}
.mapwrap{position:relative;border-radius:14px;border:1px solid var(--line);background:#0b0f15;overflow:hidden}
#sitemap{display:block;width:100%;height:auto;touch-action:manipulation;cursor:crosshair}
.maphud{position:absolute;left:14px;top:10px;pointer-events:none;font:500 13px/1.3 var(--sans);color:var(--mute);text-shadow:0 1px 3px #000}
.maphud b{display:block;font:400 clamp(34px,6vw,56px)/1 var(--serif);color:var(--amber)}
.maphud .hy{font-size:clamp(18px,3vw,26px);color:var(--ink)}
.tlctl{display:flex;align-items:center;gap:12px;margin-top:10px}
.tlctl .btn{margin:0;min-width:96px}
.tlctl input{flex:1;accent-color:#ffb000}
.tlctl output{font:600 15px var(--sans);min-width:44px;font-variant-numeric:tabular-nums}
#sitenote{max-width:none}
.coverage{margin-top:18px}
.tag.planned{background:#ff5a4f22;color:#ff8a80}.tag.proposed{background:#ffb00022;color:#ffb000}.tag.building{background:#4fd1ff22;color:#4fd1ff}
@media (min-width:960px){.mapwrap{width:min(1160px,calc(100vw - 48px));margin-left:50%;transform:translateX(-50%)}}
.mapwrap[data-reg=world] .maphud{top:auto;bottom:10px}
.mapwrap[data-reg=world] .maphud b{font-size:clamp(26px,4vw,48px)}
.tlctl[hidden],#tlpanel[hidden],#planpanel[hidden]{display:none!important}
@media (max-width:600px){.mapwrap[data-reg=world] .maphud{position:static;padding:8px 12px 10px}.mapwrap[data-reg=world] .maphud b{font-size:28px}}
.smallprint{font-size:12.5px;line-height:1.45;color:var(--mute);margin-top:8px}
