.national-grid td:not(.is-empty){cursor:default;transition:transform .2s ease-out,box-shadow .2s ease-out;position:relative}.national-grid th{transition:box-shadow .2s}.national-grid td:not(.is-empty):hover{z-index:2;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--wire)}.national-grid tr:has(td:not(.is-empty):hover)>th{box-shadow:inset 4px 0 0 var(--wire)}html[dir=rtl] .national-grid tr:has(td:not(.is-empty):hover)>th{box-shadow:inset -4px 0 0 var(--wire)}@media (prefers-reduced-motion:no-preference){.national-grid td:not(.is-empty):hover{animation:.4s ease-out cell-glow;transform:scale(1.06)}}@keyframes cell-glow{0%{filter:brightness(1.18)}}html.theme-swap::view-transition-old(root){mix-blend-mode:normal;animation:none}html.theme-swap::view-transition-new(root){mix-blend-mode:normal;animation:none}html.theme-swap::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:no-preference){::view-transition-old(.nav-forward){animation:.16s ease-in reverse both vt-fade,.38s cubic-bezier(.4,0,.2,1) reverse both vt-slide}::view-transition-old(.nav-back){animation:.16s ease-in reverse both vt-fade,.38s cubic-bezier(.4,0,.2,1) reverse both vt-slide}::view-transition-new(.nav-forward){animation:.24s ease-out .14s both vt-fade,.38s cubic-bezier(.4,0,.2,1) both vt-slide}::view-transition-new(.nav-back){animation:.24s ease-out .14s both vt-fade,.38s cubic-bezier(.4,0,.2,1) both vt-slide}::view-transition-old(.nav-forward){--vt-offset:-48px}::view-transition-new(.nav-forward){--vt-offset:48px}::view-transition-old(.nav-back){--vt-offset:48px}::view-transition-new(.nav-back){--vt-offset:-48px}html[dir=rtl]::view-transition-old(.nav-forward){--vt-offset:48px}html[dir=rtl]::view-transition-new(.nav-forward){--vt-offset:-48px}html[dir=rtl]::view-transition-old(.nav-back){--vt-offset:-48px}html[dir=rtl]::view-transition-new(.nav-back){--vt-offset:48px}::view-transition-group(nav-wire){animation-duration:.38s;animation-timing-function:cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@keyframes vt-fade{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}@keyframes vt-slide{0%{translate:var(--vt-offset,0)}to{translate:0}}@property --pct{syntax:"<integer>";inherits:false;initial-value:0}.intro-load{opacity:0;width:min(78vw,20rem);margin:1.25rem auto 0;animation:.3s ease-out .35s forwards word-in}.intro-bar{background:var(--sky-line);height:3px;position:relative;overflow:hidden}.intro-bar:before{content:"";background:var(--wire);box-shadow:0 0 10px var(--wire);transform-origin:0;animation:2.7s linear .35s forwards intro-fill;position:absolute;inset:0;transform:scaleX(0)}html[dir=rtl] .intro-bar:before{transform-origin:100%}.intro-meta{font-family:var(--font-plex), ui-monospace, monospace;letter-spacing:.06em;color:var(--sky-muted);justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.7rem;line-height:1.6;display:flex}html[lang=ur] .intro-meta{font-family:var(--font-urdu), serif;letter-spacing:0;font-size:.85rem;line-height:2}.intro-steps{text-align:start;display:grid}.intro-steps>span{opacity:0;grid-area:1/1}.intro-steps>span:first-child{animation:.95s .35s both step-show}.intro-steps>span:nth-child(2){animation:.95s 1.3s both step-show}.intro-steps>span:nth-child(3){animation:.4s 2.25s forwards step-last}.intro-pct{font-family:var(--font-plex), ui-monospace, monospace;font-variant-numeric:tabular-nums;counter-reset:pct var(--pct);animation:2.7s linear .35s forwards intro-pct}.intro-pct:after{content:counter(pct) "%"}@keyframes intro-fill{0%{transform:scaleX(0)}18%{transform:scaleX(.22)}30%{transform:scaleX(.27)}52%{transform:scaleX(.58)}64%{transform:scaleX(.63)}86%{transform:scaleX(.94)}to{transform:scaleX(1)}}@keyframes intro-pct{0%{--pct:0}18%{--pct:22}30%{--pct:27}52%{--pct:58}64%{--pct:63}86%{--pct:94}to{--pct:100}}@keyframes step-show{0%{opacity:0;transform:translateY(4px)}15%,85%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}@keyframes step-last{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.connect-wire{stroke-dasharray:14 200;stroke-dashoffset:14px}.connect-bulb .bulb-glass{fill-opacity:.1}@media (prefers-reduced-motion:no-preference){.connect-wire{animation:.55s ease-in 50ms forwards spark-run}.connect-bulb .bulb-glass{animation:.55s linear .5s forwards bulb-on}.connect-bulb .bulb-rays{animation:.6s ease-out .55s forwards bulb-rays}.connect-panel{animation:.18s ease-out pop-in}.lead-reveal>*{animation:.5s cubic-bezier(.2,.7,.2,1) both lead-in}.lead-reveal>:nth-child(2){animation-delay:70ms}.lead-reveal>:nth-child(3){animation-delay:.14s}.lead-reveal>:nth-child(4){animation-delay:.21s}.lead-reveal>:nth-child(5){animation-delay:.28s}.lead-reveal>:nth-child(n+6){animation-delay:.35s}.lead-reveal .line-draw svg{clip-path:inset(0 100% 0 0);animation:.9s cubic-bezier(.4,0,.2,1) .3s forwards line-draw}}@keyframes spark-run{to{stroke-dashoffset:-190px}}@keyframes lead-in{0%{opacity:0;filter:blur(2px);transform:translateY(10px)}}@keyframes line-draw{to{clip-path:inset(0)}}.arch-flow{gap:2.5rem;padding:0;list-style:none;display:grid}@media (min-width:64rem){.arch-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.75rem 3rem}}.arch-stage{border:1.5px solid var(--ink);background:var(--surface);padding:1.1rem 1rem;transition:transform .25s,box-shadow .25s;position:relative}.arch-stage:hover,.arch-stage:focus-within{box-shadow:0 0 0 3px var(--wire), 0 14px 30px -14px #00000073;transform:translateY(-3px)}.arch-num{background:var(--ink);color:var(--bg);font-family:var(--font-plex), ui-monospace, monospace;padding:0 .45rem;font-size:.7rem;font-weight:600;line-height:1.6;position:absolute;inset-block-start:-.8rem;inset-inline-start:.75rem}.arch-lamp{border:1.5px solid var(--ink);background:var(--wire);border-radius:999px;width:.7rem;height:.7rem;position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem}.arch-tool{border:1px solid var(--line);background:var(--bg);font-family:var(--font-plex), ui-monospace, monospace;align-items:center;padding:.1rem .5rem;font-size:.75rem;line-height:1.6;transition:border-color .2s,transform .2s;display:inline-flex}.arch-stage:hover .arch-tool{border-color:var(--ink)}.arch-tool:hover{transform:translateY(-2px)}.arch-stage:not(:last-child):after{content:"";background:linear-gradient(to bottom, transparent 0 30%, var(--wire) 30% 70%, transparent 70%) 0 0 / 100% 200% no-repeat, var(--line);width:3px;height:2.5rem;position:absolute;inset-block-start:calc(100% + 1.5px);inset-inline-start:calc(50% - 1.5px)}@media (min-width:64rem){.arch-stage:nth-child(4){grid-area:2/3}.arch-stage:nth-child(5){grid-area:2/2}.arch-stage:nth-child(6){grid-area:2/1}.arch-stage:is(:first-child,:nth-child(2),:nth-child(4),:nth-child(5)):after{background:linear-gradient(to right, transparent 0 30%, var(--wire) 30% 70%, transparent 70%) 0 0 / 200% 100% no-repeat, var(--line);width:3rem;height:3px;inset-block-start:calc(50% - 1.5px)}.arch-stage:is(:first-child,:nth-child(2)):after{inset-inline-start:calc(100% + 1.5px)}.arch-stage:is(:nth-child(4),:nth-child(5)):after{inset-inline:auto calc(100% + 1.5px)}.arch-stage:nth-child(3):after{height:2.75rem}}@media (prefers-reduced-motion:no-preference){.arch-stage:not(:last-child):after{animation:1.4s linear infinite wire-pulse-y;animation-delay:calc(var(--i,0) * .5s)}.arch-lamp{animation:lamp-cycle calc(var(--n,6) * .5s) steps(1, end) infinite;animation-delay:calc(var(--i,0) * .5s);background:0 0}}@media (prefers-reduced-motion:no-preference) and (min-width:64rem){.arch-stage:is(:first-child,:nth-child(2)):after,html[dir=rtl] .arch-stage:is(:nth-child(4),:nth-child(5)):after{animation-name:wire-pulse-x}.arch-stage:is(:nth-child(4),:nth-child(5)):after,html[dir=rtl] .arch-stage:is(:first-child,:nth-child(2)):after{animation-name:wire-pulse-x-rtl}}@keyframes wire-pulse-y{0%{background-position:0 100%,0 0}to{background-position:0 -100%,0 0}}@keyframes wire-pulse-x{0%{background-position:100% 0,0 0}to{background-position:-100% 0,0 0}}@keyframes wire-pulse-x-rtl{0%{background-position:-100% 0,0 0}to{background-position:100% 0,0 0}}@keyframes lamp-cycle{0%{background:var(--wire);box-shadow:0 0 10px 2px var(--wire)}18%,to{box-shadow:none;background:0 0}}@media (prefers-reduced-motion:no-preference){.reveal-pending{opacity:0;transform:translateY(16px)}.reveal-shown{opacity:1;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transform:none}}.nav-tab{position:relative}.nav-tab:after{content:"";background:var(--line);transform-origin:0;height:4px;transition:transform .25s;position:absolute;inset-block-end:-4px;inset-inline:0;transform:scaleX(0)}html[dir=rtl] .nav-tab:after{transform-origin:100%}.nav-tab:hover:after{transform:scaleX(1)}.nav-tab[aria-current=page]:after{display:none}@media (prefers-reduced-motion:no-preference){.reveal-pending .bar-grow{transform:scaleY(0)}.reveal-shown .bar-grow{transform-origin:bottom;animation:.7s cubic-bezier(.2,.7,.2,1) both bar-grow;animation-delay:calc(.15s + var(--i,0) * 70ms)}}@keyframes bar-grow{0%{transform:scaleY(0)}}.skeleton{background:var(--line);opacity:.6}@media (prefers-reduced-motion:no-preference){.skeleton{background:linear-gradient(90deg, var(--line) 0 40%, var(--surface) 50%, var(--line) 60% 100%) 0 0 / 250% 100%;animation:1.3s linear infinite shimmer}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:target,h1[id],h2[id]{scroll-margin-top:1rem}.nav-row{scrollbar-width:none}.nav-row::-webkit-scrollbar{display:none}.to-top{z-index:30;transition:opacity .25s,transform .25s;position:fixed;inset-block-end:1rem;inset-inline-end:1rem}.to-top[data-shown=false]{opacity:0;pointer-events:none;transform:translateY(.75rem)}.tool-tile{background:#14213d;border:1px solid #34446a;flex-shrink:0;place-items:center;transition:transform .2s,box-shadow .2s;display:inline-grid}.tool-letters{font-family:var(--font-plex), ui-monospace, monospace;color:#f5c518;letter-spacing:0;font-weight:600;line-height:1}.tool-card{text-align:center;font-family:var(--font-plex), ui-monospace, monospace;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:.3rem;font-size:.65rem;line-height:1.25;display:flex}.tool-card:hover .tool-tile,.arch-tool:hover .tool-tile{box-shadow:0 0 0 2px var(--wire), 0 6px 14px -6px #f5c518b3;transform:translateY(-2px)}.national-grid td:not(.is-empty){padding:0}.grid-cell{width:100%;height:100%;min-height:2.6rem;color:inherit;font:inherit;cursor:pointer;place-items:center;display:grid}.national-grid td.is-open{z-index:2;box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--ink)}.grid-city{text-decoration:none;display:block}.grid-city:hover .font-semibold{text-decoration:underline;-webkit-text-decoration-color:var(--wire);text-decoration-color:var(--wire);text-underline-offset:3px;text-decoration-thickness:2px}@media (prefers-reduced-motion:no-preference){.grid-pop{animation:.24s cubic-bezier(.2,.9,.3,1.2) grid-pop}}@keyframes grid-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.chart-tick{font-family:var(--font-plex), ui-monospace, monospace;font-size:11px}.chart-label{font-family:var(--font-plex), ui-monospace, monospace;font-size:12px;font-weight:600}.chart-big{font-family:var(--font-display), Georgia, serif;font-size:34px}.chart-key{vertical-align:middle;width:.9rem;height:3px;display:inline-block}@media (prefers-reduced-motion:no-preference){.chart-draw{stroke-dasharray:2000;stroke-dashoffset:2000px;animation:1.2s cubic-bezier(.4,0,.2,1) .15s forwards chart-draw}.clock-turn path{transform-origin:150px 150px;animation:.5s cubic-bezier(.2,.7,.2,1) both clock-in}.bar-up{transform-origin:bottom;animation:.7s cubic-bezier(.2,.7,.2,1) both bar-grow}.city-card{animation:.45s ease-out both lead-in;animation-delay:calc(var(--i,0) * 50ms)}}@keyframes chart-draw{to{stroke-dashoffset:0}}@keyframes clock-in{0%{opacity:0;transform:scale(.85)rotate(-8deg)}}.hour-matrix{border-collapse:separate;border-spacing:2px;font-size:.75rem}.hour-matrix th{font-family:var(--font-plex), ui-monospace, monospace;color:var(--muted);white-space:nowrap;padding:0 .15rem;font-size:.65rem;font-weight:600}.hour-matrix tbody th{color:var(--ink);padding-inline-end:.5rem;font-family:inherit;font-size:.75rem}.hour-matrix td{background:color-mix(in srgb, var(--line) 45%, transparent);width:1.05rem;height:1.05rem;padding:0}.hour-matrix .is-hour{outline:1.5px solid var(--accent)}.hour-dot{background:var(--dark);width:100%;height:100%;display:block}.hour-scale{background:linear-gradient(to right, transparent, var(--dark));border:1px solid var(--line);width:6rem;height:.6rem;display:inline-block}html[dir=rtl] .hour-scale{background:linear-gradient(to left, transparent, var(--dark))}.city-card{border:1.5px solid var(--ink);background:var(--surface);transition:transform .2s,box-shadow .2s}.city-card:hover,.city-card:focus-within{box-shadow:0 0 0 3px var(--wire), 0 14px 30px -14px #00000073;transform:translateY(-3px)}.hour-matrix td,.hour-matrix thead th:not(.sticky){position:relative}.freshness{align-items:center;gap:.35rem;display:inline-flex}.freshness-dot{background:var(--wire);width:.5rem;height:.5rem;box-shadow:0 0 6px var(--wire);border-radius:999px}.freshness.is-stale{color:#ffb4ab}.freshness.is-stale .freshness-dot{box-shadow:none;background:0 0;border:1.5px solid #ffb4ab}.maker-night{--bg:var(--sky);--ink:var(--sky-ink);--muted:var(--sky-muted);--line:var(--sky-line);--accent:var(--wire);background:var(--sky);color:var(--sky-ink);padding:2.5rem 1.25rem 3rem;position:relative;overflow:hidden}@media (min-width:40rem){.maker-night{padding:3.5rem 3rem 4rem}}.maker-sky{pointer-events:none;position:absolute;inset:0}.maker-star{opacity:.55;background:#ece7dc;border-radius:999px;width:2px;height:2px;position:absolute}.maker-bulb .bulb-glass{fill-opacity:.95}.maker-bulb .bulb-rays{opacity:1}@media (prefers-reduced-motion:no-preference){.maker-star{animation:3.2s ease-in-out infinite twinkle;animation-delay:calc(var(--s) * -.37s)}.maker-bulb .bulb-glass{animation:2.6s linear infinite bulb-flicker}.maker-bulb .bulb-rays{animation:2.6s ease-out infinite bulb-rays}}@keyframes twinkle{50%{opacity:.1}}.story-line{gap:3.5rem;max-width:44rem;margin-top:3rem;padding:0;list-style:none;display:grid;position:relative}.story-line:before,.story-line:after{content:"";background:var(--sky-line);width:2px;position:absolute;inset-block:1.5rem 2rem;inset-inline-start:1.1rem}.story-line:after{background:var(--wire);box-shadow:0 0 8px var(--wire);transform-origin:top;transform:scaleY(var(--progress,1));transition:transform .9s cubic-bezier(.4,0,.2,1)}.story-chapter{opacity:.55;padding-inline-start:3.5rem;transition:opacity .6s;position:relative}.story-chapter.is-lit{opacity:1}.story-lamp{inset-inline-start:0;width:2.3rem;height:2.75rem;color:var(--sky-muted);position:absolute;top:-.2rem}.story-lamp svg{width:100%;height:100%}.story-lamp .bulb-glass{fill-opacity:.08;transition:fill-opacity .4s}.story-chapter.is-lit .story-lamp{color:var(--sky-ink)}.story-chapter.is-lit .story-lamp .bulb-glass{fill-opacity:1}@media (prefers-reduced-motion:no-preference){.story-chapter.is-lit .story-lamp .bulb-glass{animation:.9s linear bulb-on}.story-chapter.is-lit .story-lamp .bulb-rays{animation:.9s ease-out bulb-rays}.story-chapter.is-lit .story-title{animation:1.1s ease-out word-glow}}.story-kicker{font-family:var(--font-plex), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--wire);font-size:.7rem;font-weight:600}html[lang=ur] .story-kicker{font-family:var(--font-urdu), serif;letter-spacing:0;font-size:.9rem}.story-title{margin-top:.25rem;font-size:clamp(1.7rem,4.5vw,2.6rem)}.story-body{color:var(--sky-ink);max-width:38rem;margin-top:.6rem;font-size:1.1rem;line-height:1.65}html[lang=ur] .story-body{line-height:2.2}.story-finale .story-title{color:var(--wire)}.maker-card{border:2px solid var(--ink);background:var(--surface);gap:0;display:grid}.maker-card>*{padding:1.25rem}@media (min-width:40rem){.maker-card>*{padding:1.5rem 2rem}}.maker-card-head{border-block-end:2px solid var(--ink);background:repeating-linear-gradient(90deg, transparent 0 22px, color-mix(in srgb, var(--line) 60%, transparent) 22px 23px), var(--surface)}.maker-quote{font-family:var(--font-display), Georgia, serif;border-block-end:1px solid var(--line);text-align:start;font-size:clamp(1.3rem,3.5vw,1.8rem);line-height:1.3}.maker-links{background:var(--sky);color:var(--sky-ink);--ink:var(--sky-ink);--muted:var(--sky-muted);--accent:var(--wire);--line:var(--sky-line);gap:.75rem;display:grid}.maker-link{border:1.5px solid var(--sky-line);align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.maker-link:hover,.maker-link:focus-visible{border-color:var(--wire);box-shadow:0 0 0 1px var(--wire), 0 10px 24px -14px var(--wire);transform:translateY(-2px)}.maker-arrow{color:var(--wire);margin-inline-start:auto;transition:translate .2s}.maker-link:hover .maker-arrow{translate:4px}html[dir=rtl] .maker-link:hover .maker-arrow{translate:-4px}.arch-explore{border-color:var(--ink);background:var(--surface)}.arch-explore:hover .maker-arrow,.arch-explore .maker-arrow{color:var(--accent)}.maker-card{grid-template-columns:minmax(0,1fr)}.maker-link>*{overflow-wrap:anywhere;min-width:0}.plan-badge{background:var(--wire);color:#14213d;width:fit-content;font-family:var(--font-plex), ui-monospace, monospace;white-space:nowrap;margin-top:.15rem;padding:0 .3rem;font-size:.6rem;font-weight:600;line-height:1.6;display:block}html[lang=ur] .plan-badge{font-family:var(--font-urdu), serif;font-size:.75rem}.maint-grid{border-collapse:separate;border-spacing:3px;font-size:.8rem}.maint-grid th{font-family:var(--font-plex), ui-monospace, monospace;color:var(--muted);white-space:nowrap;padding:.2rem .4rem;font-size:.7rem;font-weight:600}.maint-grid tbody th{color:var(--ink);font-family:inherit;font-size:.8rem}.maint-grid td{text-align:center;background:var(--surface);border:1px solid var(--line);min-width:4.2rem;padding:.35rem .4rem .6rem;position:relative}.maint-grid td.is-empty{color:var(--muted);background:0 0;border-color:#0000}.maint-fill{inset-inline-start:0;background:var(--dark);height:4px;position:absolute;bottom:0}.maint-grid tr.is-focus th,.maint-grid tr.is-focus td{border-color:var(--ink)}.maint-grid tr.is-focus th{box-shadow:inset 4px 0 0 var(--wire);font-weight:600}html[dir=rtl] .maint-grid tr.is-focus th{box-shadow:inset -4px 0 0 var(--wire)}
