@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-latin.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}:root{--night:#071014;--deck:#0d1a20;--panel:#12242b;--raised:#172d35;--paper:#eef3ed;--mist:#a9bbb9;--beacon:#ffc857;--beacon-ink:#1b1405;--cyan:#61d4c7;--warning:#ff9f43;--danger:#ff7777;--line:#426069;--soft-line:#223a42;--shadow:0 24px 80px rgba(0,0,0,.35);font-family:Manrope,system-ui,sans-serif;color:var(--paper);background:var(--night);font-synthesis:none;color-scheme:dark;line-height:1.55}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;min-width:320px;background:var(--night);font-size:16px}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}img{display:block;max-width:100%}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-150%);padding:12px 16px;background:var(--beacon);color:var(--beacon-ink);font-weight:800}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--beacon);outline-offset:3px;border-radius:2px}.site-header{height:72px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(169,187,185,.18);background:#071014f0;position:relative;z-index:20}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);background:var(--deck)}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.icon-mark circle{fill:var(--beacon);stroke:none}.site-header nav{display:flex;gap:32px}.site-header nav a,.footer-links a{color:var(--mist);text-decoration:none;font-size:14px;font-weight:650}.site-header nav a:hover,.footer-links a:hover{color:var(--paper)}.connection{display:flex;align-items:center;gap:8px;font:500 12px/1 IBM Plex Mono,monospace;color:var(--mist);text-transform:uppercase;letter-spacing:.06em}.connection span{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #61d4c71f}.connection.is-offline span{background:var(--danger);box-shadow:0 0 0 4px #ff77771f}.hero{position:relative;min-height:calc(100svh - 72px);display:grid;align-items:center;overflow:hidden;border-bottom:1px solid var(--soft-line)}.hero-scene,.hero-shade{position:absolute;inset:0}.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center 45%;animation:scene-in .9s ease-out both}.hero-shade{background:linear-gradient(90deg,#071014fa,#071014e6,#07101452 68%,#0710148c),linear-gradient(0deg,rgba(7,16,20,.9),transparent 40%)}.hero-copy{position:relative;z-index:2;width:min(720px,58vw);padding:88px clamp(24px,7vw,112px)}.eyebrow{margin:0 0 16px;color:var(--beacon);font:600 12px/1.2 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em}.eyebrow span{display:inline-block;width:36px;height:1px;margin:0 12px 3px 0;background:currentColor}.hero h1{margin:0;font-size:clamp(42px,5.5vw,76px);line-height:1.02;letter-spacing:-.055em;font-weight:730;max-width:850px}.hero h1 em{color:var(--beacon);font-style:normal;font-weight:500}.hero-copy>p:not(.eyebrow,.hero-note){max-width:630px;margin:28px 0;color:#d7e0dc;font-size:clamp(17px,1.5vw,20px)}.button{min-height:48px;padding:0 18px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:var(--paper);font-weight:750;text-decoration:none;cursor:pointer;transition:transform .18s,background .18s,border-color .18s}.button:hover{background:var(--raised);border-color:var(--mist)}.button:active{transform:translateY(1px)}.button.primary{background:var(--beacon);border-color:var(--beacon);color:var(--beacon-ink)}.button.primary:hover{background:#ffd474}.button:disabled{cursor:not-allowed;opacity:.58}.button.full{width:100%}.button.ghost{background:var(--deck)}.button.danger-ghost{color:#ffb0b0;border-color:#744}.hero-note{font:500 12px/1.4 IBM Plex Mono,monospace;color:var(--mist);margin:16px 0}.hero-reading{position:absolute;z-index:3;right:4vw;bottom:44px;width:330px;display:grid;grid-template-columns:34px 1fr;gap:12px 14px;padding:20px;background:#071014d6;border-left:2px solid var(--beacon);box-shadow:var(--shadow);backdrop-filter:blur(8px)}.hero-reading span{font:600 12px IBM Plex Mono,monospace;color:var(--beacon)}.hero-reading p{margin:0;color:var(--mist);font-size:14px}.hero-reading strong{color:var(--paper)}.section{padding:clamp(72px,9vw,132px) clamp(20px,7vw,112px)}.workbench{background:var(--deck)}.work-head{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:40px}.work-head h2,.method h2,.team h2{font-size:clamp(32px,4vw,56px);line-height:1.08;letter-spacing:-.045em;margin:0;max-width:720px}.work-head>p{max-width:500px;margin:0;color:var(--mist)}.notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin:0 0 20px;border-left:3px solid var(--cyan);background:#10272a;color:#d9f5ee}.notice.error{border-color:var(--danger);background:#2a181b;color:#ffd8d8}.notice.info{border-color:var(--beacon);background:#282415;color:#f6ebc8}.watch-grid{display:grid;grid-template-columns:230px minmax(0,1fr);border-top:1px solid var(--line);min-height:600px}.watch-rail{padding:28px 28px 0 0;border-right:1px solid var(--line)}.rail-title,.stream-list>p{font:600 11px IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--mist);margin:0 0 16px}.watch-rail ol{list-style:none;margin:0;padding:0}.watch-rail li{display:flex;gap:12px;align-items:center;min-height:44px;color:#758e92;font-weight:650}.watch-rail li span{font:500 11px IBM Plex Mono,monospace;border:1px solid #395058;width:30px;height:26px;display:grid;place-items:center}.watch-rail li.active{color:var(--paper)}.watch-rail li.active span{color:var(--beacon);border-color:var(--beacon)}.stream-list{margin-top:44px;padding-top:22px;border-top:1px solid var(--soft-line)}.stream-choice,.add-stream{width:100%;min-height:52px;margin:0 0 8px;padding:8px 10px;border:1px solid transparent;background:transparent;text-align:left;color:var(--mist);cursor:pointer}.stream-choice span,.stream-choice small{display:block;overflow:hidden;text-overflow:ellipsis}.stream-choice span{color:inherit;font-weight:700;white-space:nowrap}.stream-choice small{font:11px IBM Plex Mono,monospace;margin-top:3px}.stream-choice.selected{background:var(--panel);border-color:var(--line);color:var(--paper)}.add-stream{color:var(--beacon);border-style:dashed;border-color:var(--line);font-weight:700;text-align:center}.instrument{padding:40px 0 0 clamp(28px,4vw,64px);min-width:0}.instrument-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.instrument-head h3,.results h3{font-size:28px;line-height:1.2;margin:4px 0 6px;letter-spacing:-.025em}.instrument-head p{color:var(--mist);margin:0}.station-number{font:600 11px IBM Plex Mono,monospace;color:var(--beacon);text-transform:uppercase;letter-spacing:.1em}.privacy-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;color:var(--cyan);border:1px solid #2e6965;font:600 12px IBM Plex Mono,monospace;white-space:nowrap}.privacy-chip .icon{width:18px}.sample-count{font:600 28px/1 IBM Plex Mono,monospace;color:var(--beacon);text-align:right}.sample-count small{display:block;font:500 11px/1.4 IBM Plex Mono,monospace;color:var(--mist);margin-top:6px}.field-row{display:flex;gap:20px}.field{margin-bottom:24px}.field.grow{flex:1}.field.cap{width:190px}label,.label-line{font-weight:700}.label-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.field>label{display:block;margin-bottom:9px}input,textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#09171b;color:var(--paper);padding:13px 14px}input{min-height:48px}textarea{min-height:290px;resize:vertical;font:14px/1.65 IBM Plex Mono,monospace;tab-size:2}input:hover,textarea:hover{border-color:#6c8589}input::placeholder,textarea::placeholder{color:#71878a}.text-button{min-height:44px;padding:0 4px;border:0;background:none;color:var(--beacon);font-weight:700;cursor:pointer}.under-field{display:flex;justify-content:space-between;gap:16px;margin-top:8px;color:var(--mist)}.field-error{color:#ffb0b0;text-align:right}.form-actions{display:flex;justify-content:flex-end;gap:12px}.form-actions.split{justify-content:space-between;align-items:center}.form-actions.split>div{display:flex;gap:12px}.empty-result{position:relative;min-height:240px;margin-top:52px;border-top:1px solid var(--soft-line);display:grid;place-items:center;text-align:center;overflow:hidden}.empty-result .horizon{position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),var(--beacon),var(--line),transparent)}.empty-result>div{position:relative;padding:20px;background:var(--deck)}.empty-result .icon{color:var(--beacon);width:28px;height:28px}.empty-result h4{font-size:18px;margin:8px}.empty-result p{color:var(--mist);margin:0}.results{margin-top:52px;padding-top:36px;border-top:1px solid var(--line);animation:results-in .24s ease-out both}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.result-summary p{margin:0;color:var(--mist)}.result-summary>.icon{width:44px;height:44px;color:var(--cyan)}.severity-totals{display:flex;gap:8px}.severity-totals span,.drift-group h4 span{padding:6px 10px;border:1px solid var(--line);font:600 11px IBM Plex Mono,monospace;text-transform:uppercase}.severity-totals .breaking{color:#ffb0b0;border-color:#744}.drift-group{margin-top:28px}.drift-group h4{display:flex;align-items:center;gap:9px;text-transform:capitalize;font-size:15px}.drift-group h4 span{margin-left:auto}.drift-group ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--soft-line)}.drift-group li{padding:20px 0;border-bottom:1px solid var(--soft-line)}.drift-path{display:flex;gap:12px;align-items:center}.drift-path>code{color:var(--beacon);font-size:14px}.drift-path>span{font:600 10px IBM Plex Mono,monospace;text-transform:uppercase;color:var(--mist)}.drift-group li>p{margin:8px 0;color:var(--mist)}code{font-family:IBM Plex Mono,monospace}.before-after{display:flex;align-items:center;gap:14px}.before-after span{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:8px 10px;background:var(--panel)}.before-after small{font:500 9px IBM Plex Mono,monospace;text-transform:uppercase;color:var(--mist)}.before-after b{color:var(--line)}.loading-state{min-height:400px;display:grid;place-items:center;align-content:center;gap:20px;color:var(--mist);border-top:1px solid var(--line)}.beacon-sweep{width:160px;height:2px;background:linear-gradient(90deg,transparent,var(--beacon),transparent);animation:sweep .9s ease-out 1}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.method{background:var(--night);display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:8vw}.method>ol{list-style:none;margin:0;padding:0}.method li{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--soft-line)}.method li>span{font:500 14px IBM Plex Mono,monospace;color:var(--beacon)}.method h3{font-size:20px;margin:0 0 8px}.method li p{margin:0;color:var(--mist);max-width:600px}.team{background:#0f1f25;display:grid;grid-template-columns:1fr minmax(340px,.7fr);gap:10vw;border-top:1px solid var(--soft-line)}.team-copy>p:not(.eyebrow){color:var(--mist);max-width:650px}.team ul{list-style:none;padding:0;margin:28px 0}.team li{display:flex;gap:10px;margin:12px 0}.team li .icon{color:var(--cyan)}.merchant{font-size:13px}.license-panel{align-self:start;padding:30px;border-top:3px solid var(--beacon);background:var(--night);box-shadow:var(--shadow)}.price{display:flex;align-items:end;gap:14px;margin:0 0 24px}.price strong{font:600 48px/1 IBM Plex Mono,monospace;color:var(--beacon)}.price span{color:var(--mist);font-size:13px}.restore{padding-top:24px;margin-top:24px;border-top:1px solid var(--soft-line)}.restore>div{display:flex;gap:8px;margin:8px 0}.restore small,.legal-note{color:var(--mist);font-size:12px}.legal-note{margin-top:24px}.legal-note a{color:var(--paper)}.license-active{display:flex;gap:12px;padding:16px;margin-bottom:16px;background:#10272a;color:var(--cyan)}.license-active span{display:block;color:var(--mist);font-size:13px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:28px;padding:44px clamp(20px,7vw,112px);border-top:1px solid var(--soft-line);background:#050c0f;color:var(--mist)}.site-footer .brand{color:var(--paper)}.site-footer .brand .icon{width:24px}.site-footer p{margin:8px 0 0;font-size:13px}.footer-links{display:flex;gap:24px}.provenance{grid-column:1/-1;padding-top:20px;border-top:1px solid #17272d}.legal{max-width:980px;margin:0 auto;padding:80px 24px 120px;min-height:75vh}.legal .back{text-decoration:none;display:inline-block;margin-bottom:40px}.legal h1{font-size:clamp(42px,6vw,70px);line-height:1.05;letter-spacing:-.05em;margin:0}.legal .updated{font:500 12px IBM Plex Mono,monospace;color:var(--mist)}.legal article{margin-top:64px;max-width:760px}.legal .lede{font-size:22px;color:var(--paper)}.legal article p{color:var(--mist)}.legal h2{font-size:24px;margin:40px 0 8px;color:var(--paper)}@keyframes scene-in{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes results-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sweep{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.site-header nav{display:none}.hero-copy{width:78vw;padding-left:32px}.hero-reading{display:none}.work-head{display:block}.work-head>p{margin-top:16px}.watch-grid{grid-template-columns:1fr}.watch-rail{border-right:0;padding-right:0;display:flex;gap:24px;overflow-x:auto}.watch-rail ol{display:flex;gap:8px}.watch-rail li{font-size:0;gap:0}.watch-rail li span{font-size:11px}.stream-list{display:flex;gap:8px;margin:0 0 0 auto;padding:0;border:0}.stream-list>p{display:none}.stream-choice{width:150px}.instrument{padding-left:0}.method,.team{grid-template-columns:1fr}.method{gap:56px}.site-footer{grid-template-columns:1fr}}@media(max-width:600px){.site-header{height:64px;padding:0 16px}.site-header .brand span:last-child{font-size:14px}.connection{font-size:0}.hero{min-height:760px;align-items:end}.hero-scene img{object-position:62% center}.hero-shade{background:linear-gradient(0deg,#071014 8%,#071014d1 58%,#07101438)}.hero-copy{width:100%;padding:240px 20px 60px}.hero h1{font-size:45px}.section{padding:72px 20px}.work-head h2,.method h2,.team h2{font-size:36px}.watch-rail{display:block;overflow:visible}.watch-rail ol{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.watch-rail li{font-size:0}.watch-rail li span{width:100%}.stream-list{display:block;margin:0}.stream-choice{width:100%}.instrument{padding-top:32px}.instrument-head{display:block}.privacy-chip,.sample-count{margin-top:16px}.field-row{display:block}.field.cap{width:100%}textarea{min-height:260px}.under-field,.form-actions.split,.form-actions.split>div,.result-summary,.severity-totals{align-items:stretch;flex-direction:column}.form-actions.split>div .button,.form-actions.split>.button{width:100%}.before-after{display:grid;grid-template-columns:1fr}.before-after b{display:none}.before-after span{grid-template-columns:70px 1fr}.team{grid-template-columns:minmax(0,1fr)}.license-panel{padding:22px}.restore>div{display:block}.restore button{width:100%;margin-top:8px}.site-footer{padding:40px 20px}.footer-links{flex-wrap:wrap}.provenance{grid-column:auto}.legal{padding-top:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
