:root{color-scheme:dark;--ink:#0b1014;--ink-raised:#10181d;--ink-soft:#162126;--line:#2d3b42;--line-soft:#203037;--text:#e7eff2;--muted:#9aa9b0;--dim:#6d7f88;--signal:#59d2c3;--signal-soft:rgba(89,210,195,.12);--ease-out:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{background:var(--ink)}body{min-width:320px;margin:0;background:var(--ink);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}button,summary{font:inherit}button{color:inherit}button:focus-visible,summary:focus-visible,.reading-tooltip:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(100%,1540px);margin:0 auto;padding:0 clamp(1rem,4vw,4rem)}.topbar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;padding:2.2rem 0 2rem 2rem;border-bottom:1px solid var(--line)}.topbar:before,.observatory-rail:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--signal) 4%,var(--line) 18%,var(--line) 92%,transparent)}.brand-lockup{display:flex;align-items:center;gap:.9rem}.logo-mark{width:2.65rem;height:2.65rem;flex:0 0 auto;fill:none;stroke:var(--signal);stroke-width:1.8}.logo-mark rect{fill:var(--signal);stroke:none}.eyebrow,.section-serial{margin:0 0 .2rem;color:var(--signal);font-size:.68rem;font-weight:700;letter-spacing:.17em}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);font-family:ui-serif,Georgia,Cambria,serif;font-weight:600;letter-spacing:-.025em}h1{margin-bottom:0;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1}.subtitle{grid-column:1/-1;max-width:69rem;margin:.25rem 0 0;color:var(--muted);font-size:clamp(.86rem,1.25vw,.98rem)}.topbar-status{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.asof-badge,.shell-chip{padding:.33rem .55rem;border:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:650;letter-spacing:.05em;white-space:nowrap}.shell-chip{border-color:#59d2c359;background:var(--signal-soft);color:var(--signal)}.observatory-rail{position:relative;padding:1.5rem 0 1rem 2rem}.observatory-section{position:relative;padding:clamp(1.75rem,4vw,3.4rem) 0;border-bottom:1px solid var(--line-soft)}.observatory-section:before{content:"";position:absolute;left:-2.26rem;top:3.35rem;width:.5rem;height:.5rem;background:var(--ink);border:1px solid var(--signal);box-shadow:0 0 0 4px var(--ink)}.observatory-section:after{content:"";position:absolute;left:0;top:3.58rem;width:1.15rem;height:1px;background:var(--line)}.section-heading{position:relative;display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.section-heading>div{position:relative;padding-right:1.25rem}.section-heading>div:after{content:"";position:absolute;right:0;bottom:.12rem;width:.34rem;height:.34rem;background:var(--signal)}.section-heading h2{margin:0;font-size:clamp(1.38rem,2.2vw,1.9rem);line-height:1.1}.matrix-section .section-heading h2{font-size:clamp(1.6rem,2.5vw,2.12rem)}.section-serial{display:block;color:var(--dim)}.export-button{display:inline-flex;align-items:center;gap:.42rem;padding:.38rem .56rem;border:1px solid var(--line-soft);background:transparent;color:var(--dim);font-size:.7rem;font-weight:700;letter-spacing:.07em;transition:color .16s var(--ease-out),border-color .16s var(--ease-out),transform .16s var(--ease-out)}.export-button:hover{border-color:var(--signal);color:var(--signal)}.export-button:active,.period-filter button:active{transform:scale(.97)}.export-button svg{width:.9rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.section-empty{min-height:8rem;display:grid;place-items:center;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);color:var(--muted);background:linear-gradient(90deg,rgba(89,210,195,.035),transparent 35%)}.anchor-grid,.cross-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.anchor-card,.cross-leg{min-width:0;padding:1rem;background:linear-gradient(105deg,#162126b8,#10181d52)}.anchor-card+.anchor-card,.cross-leg+.cross-leg{border-left:1px solid var(--line)}.anchor-card{animation:card-enter .42s var(--ease-out) both}.anchor-card:nth-child(2){animation-delay:45ms}.anchor-card:nth-child(3){animation-delay:90ms}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.card-label,.cross-leg h3{margin:0;color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.73rem;font-weight:650;line-height:1.3;letter-spacing:.02em}.anchor-number,.cross-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;min-height:2.2rem;margin:.9rem 0 .4rem}.anchor-number strong,.cross-value strong{color:var(--text);font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.anchor-z,.cross-z{display:grid;grid-template-columns:auto minmax(8rem,1fr);align-items:center;gap:.7rem;min-height:2.35rem;margin-bottom:.4rem;color:var(--muted);font-size:.69rem;font-variant-numeric:tabular-nums}.note-badge{display:inline-flex;align-items:center;max-width:100%;padding:.16rem .32rem;border:1px solid rgba(89,210,195,.34);color:var(--signal);font-size:.62rem;font-weight:700;line-height:1.15;overflow-wrap:anywhere}.reading-tooltip{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--dim);cursor:help}.reading-tooltip svg{width:100%;fill:none;stroke:currentColor;stroke-width:1.3}.tooltip-bubble{position:absolute;z-index:4;bottom:calc(100% + .55rem);right:0;left:auto;width:min(17rem,calc(100vw - 2.5rem));padding:.55rem .65rem;border:1px solid var(--line);background:#19242a;color:var(--text);font-size:.72rem;font-weight:400;line-height:1.35;opacity:0;pointer-events:none;transform:translateY(.25rem);transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.reading-tooltip:hover .tooltip-bubble,.reading-tooltip:focus .tooltip-bubble{opacity:1;transform:translateY(0)}.z-wrap{min-width:0}.z-band{position:relative;display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr;height:.42rem;overflow:visible}.z-zone{border-right:1px solid rgba(11,16,20,.65)}.z-negative-strong{background:#7c3029}.z-negative{background:#a64f43}.z-neutral{background:#42535a}.z-positive{background:#357c71}.z-positive-strong{border-right:0;background:#1f665d}.z-marker{position:absolute;top:-.18rem;height:.78rem;width:2px;background:#f4fafb;transform:translate(-1px);box-shadow:0 0 0 1px #0b10148c}.z-marker i{position:absolute;top:-.12rem;left:50%;width:.34rem;height:.34rem;border-radius:50%;background:inherit;transform:translate(-50%)}.z-labels{display:flex;justify-content:space-between;margin-top:.16rem;color:var(--dim);font-size:.55rem;line-height:1}.sparkline-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;margin-top:.65rem}.sparkline{width:100%;height:2.35rem;overflow:visible}.spark-baseline{stroke:var(--line);stroke-width:.75}.spark-line{fill:none;stroke:var(--signal);stroke-width:1.5;vector-effect:non-scaling-stroke}.spark-dot{fill:var(--signal)}.spark-empty{fill:var(--dim);font-size:9px}.period-filter{display:flex;gap:2px}.period-filter button{border:0;padding:.22rem .28rem;background:transparent;color:var(--dim);font-size:.6rem;font-variant-numeric:tabular-nums;transition:background .15s var(--ease-out),color .15s var(--ease-out),transform .15s var(--ease-out)}.period-filter button:hover,.period-filter button.active{background:var(--signal-soft);color:var(--signal)}.matrix-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:var(--line)}.heatmap-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:1px;background:var(--line);table-layout:fixed}.heatmap-table th,.heatmap-table td{background:var(--ink-raised)}.heatmap-table thead th{position:sticky;top:0;z-index:2;padding:.85rem .75rem;color:var(--text);background:#111b20;font-size:.76rem;font-weight:700;text-align:left}.heatmap-table thead th:first-child{width:min(37vw,24rem)}.heatmap-table thead small{display:block;margin-top:.12rem;color:var(--dim);font-size:.6rem;font-weight:500}.heatmap-table tbody th{padding:.8rem .75rem;color:var(--muted);font-size:.72rem;font-weight:600;line-height:1.25;text-align:left}.heatmap-table tbody th>span{display:inline-block;max-width:calc(100% - 1.4rem);vertical-align:middle}.heatmap-table tbody th .reading-tooltip{margin-left:.35rem;vertical-align:middle;position:static}.heatmap-table tbody th{position:relative}.heatmap-table tbody th .tooltip-bubble{left:.75rem;right:auto;width:min(17rem,calc(100vw - 4rem))}.group-row th{padding:.43rem .75rem!important;background:#0d1519!important;color:var(--signal)!important;font-size:.64rem!important;font-weight:750!important;letter-spacing:.12em;text-transform:uppercase}.matrix-cell{min-width:10.5rem;padding:.68rem .72rem;transition:background-color .18s var(--ease-out)}.matrix-value{min-height:1.35rem;color:inherit;font-size:.92rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.015em}.matrix-meta{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-top:.33rem;color:inherit;font-size:.62rem;font-variant-numeric:tabular-nums}.matrix-cell:not([style]) .matrix-meta{color:var(--dim)}.fixed-note{margin:.85rem 0 0;color:var(--dim);font-size:.72rem}.cross-leg{min-height:13rem}.cross-leg h3{max-width:17rem;font-family:ui-serif,Georgia,serif;font-size:.95rem;font-weight:600;line-height:1.15}.cross-value{margin-top:1rem}.cross-z{margin-top:.55rem}.method-panel,.bg-angle,.pair-reading{border:1px solid var(--line);background:var(--ink-raised)}.method-panel{padding:clamp(1rem,3vw,1.6rem)}.panel-copy,.empty-copy{max-width:72ch;margin-bottom:1.25rem;white-space:pre-wrap}.panel-copy{color:var(--text)}.empty-copy{color:var(--muted)}.caveat{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.65rem;align-items:baseline;margin:1.05rem 0 0;padding-top:.9rem;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.78rem;white-space:pre-wrap}.caveat span{color:var(--signal);font-size:.62rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.falsifier-list{margin-top:.7rem;color:var(--muted);font-size:.78rem}.falsifier-list summary{color:var(--text);font-weight:600}.falsifier-list ul{display:grid;gap:.35rem;margin:.65rem 0 0;padding-left:1.05rem}.falsifier-list p{margin:.55rem 0 0}.narrative-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.85fr);gap:1px;border:1px solid var(--line);background:var(--line)}.pair-reading,.bg-angle{padding:1rem}.reading-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.reading-panel{min-height:10rem;padding:1rem;background:var(--ink-soft)}.reading-panel h3,.bg-angle h3{margin-bottom:.8rem;font-size:1.05rem}.reading-panel .panel-copy,.reading-panel .empty-copy{margin-bottom:0}.footer{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0 2.5rem 2rem;color:var(--dim);font-size:.68rem}.footer span:first-child{max-width:65ch;white-space:pre-wrap}.service-screen{min-height:100vh;display:grid;align-content:center;gap:1rem;max-width:48rem;margin:0 auto;padding:2rem}.service-screen h1{margin:0}.service-screen p:last-child{color:var(--muted)}@media (prefers-reduced-motion:no-preference){@keyframes card-enter{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}}@media (max-width:820px){.anchor-grid,.cross-grid{grid-template-columns:1fr}.anchor-card+.anchor-card,.cross-leg+.cross-leg{border-top:1px solid var(--line);border-left:0}.narrative-layout,.topbar{grid-template-columns:1fr}.topbar-status{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.footer{flex-direction:column}.cross-leg{min-height:auto}}@media (max-width:560px){.app-shell{padding:0 1rem}.topbar,.observatory-rail,.footer{padding-left:1rem}.topbar{padding-top:1.4rem}.topbar:before,.observatory-rail:before{left:0}.observatory-section:before{left:-1.26rem}.section-heading h2{font-size:1.34rem}.matrix-section .section-heading h2{font-size:1.48rem}.reading-pair{grid-template-columns:1fr}.anchor-z,.cross-z{grid-template-columns:1fr;gap:.2rem}.heatmap-table{min-width:700px}.matrix-cell{min-width:9.5rem}}
