:root{color:#edf2f3;font-synthesis:none;text-rendering:optimizelegibility;--bg:#11191d;--surface:#151f24;--surface-2:#1b272d;--line:#33444b;--muted:#a3b1b7;--quiet:#73848b;--cyan:#50c2dc;--amber:#e7a53a;--text:#edf2f3;--max:1500px;background:#11191d;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--bg);min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,a,select{outline-offset:3px}:focus-visible{outline:2px solid var(--cyan)}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#11191df7;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,4vw,64px);display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;gap:12px;display:flex}.brand-mark{color:var(--cyan);letter-spacing:-.06em;font:800 20px Segoe UI,system-ui,sans-serif}.brand-divider{background:var(--line);width:1px;height:24px}.brand-name{font:600 14px Segoe UI,system-ui,sans-serif}.topbar nav{scrollbar-width:none;align-items:center;gap:clamp(16px,2.4vw,38px);display:flex;overflow-x:auto}.topbar nav a{color:#bfcbcf;white-space:nowrap;border-bottom:2px solid #0000;padding:28px 0 25px;font-size:13px}.topbar nav a:hover,.topbar nav a.active{color:var(--cyan);border-color:var(--cyan)}.page-shell{max-width:var(--max);margin:0 auto;padding:0 clamp(24px,4vw,64px)}section{scroll-margin-top:95px}.hero-section{padding:40px 0 26px}.hero-copy{grid-template-columns:1.05fr .95fr;align-items:end;gap:42px;padding:0 2px 28px;display:grid}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Segoe UI,system-ui,sans-serif}h1{letter-spacing:-.055em;max-width:760px;margin-bottom:7px;font-size:clamp(38px,5vw,66px);font-weight:700;line-height:1.05}.hero-subtitle{color:#c3d1d5;letter-spacing:-.02em;margin:0 0 13px;font-size:clamp(18px,2vw,25px)}.hero-description{max-width:630px;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.pipeline{grid-template-columns:repeat(4,1fr);gap:14px;padding:0 0 6px;display:grid}.pipeline-step{flex-direction:column;gap:7px;min-width:0;padding-right:12px;display:flex;position:relative}.pipeline-step strong{font:600 14px Segoe UI,system-ui,sans-serif}.pipeline-step span{color:var(--muted);font-size:11px;line-height:1.45}.pipeline-step b{color:var(--cyan);font-size:17px;font-weight:400;position:absolute;top:-2px;right:1px}.overview-grid{grid-template-columns:1.04fr .96fr;gap:22px;display:grid}.media-panel,.timeline-panel,.viz-block{background:var(--surface);border:1px solid var(--line);border-radius:3px}.media-panel{overflow:hidden}.media-panel video{aspect-ratio:16/9;object-fit:cover;background:#0a0e10;width:100%;display:block}.video-placeholder{aspect-ratio:16/9;background:#0a0e10;position:relative}.video-placeholder img{object-fit:cover;opacity:.75;width:100%;height:100%}.video-placeholder p{color:#fff;background:linear-gradient(#0000,#000000c7);margin:0;padding:12px;font-size:12px;position:absolute;inset:auto 0 0}.media-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}select{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:2px;min-width:130px;padding:7px 10px}.timeline-panel{flex-direction:column;justify-content:space-between;padding:19px 18px 16px;display:flex}.panel-heading,.viz-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-heading h2,.panel-heading h3,.viz-heading h3{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:650}.panel-heading span,.viz-heading>span,.viz-heading div span{color:var(--muted);font-size:11px}.event-timeline{padding-top:15px}.timeline-row{grid-template-columns:minmax(98px,132px) 1fr 28px;align-items:center;gap:10px;margin:0 0 12px;display:grid}.timeline-label{color:#d5dddf;text-overflow:ellipsis;font-size:11px;overflow:hidden}.timeline-track{border-top:1px solid #394950;border-bottom:1px solid #394950;height:14px;position:relative}.timeline-event{opacity:.93;cursor:pointer;border:0;border-radius:1px;min-width:2px;height:10px;padding:0;position:absolute;top:1px}.timeline-event:hover{filter:brightness(1.2);transform:scaleY(1.25)}.timeline-count{color:var(--muted);text-align:right;font-size:11px}.timeline-axis{color:var(--quiet);justify-content:space-between;margin:-2px 36px 0 142px;font-size:10px;display:flex}.compact .timeline-row{grid-template-columns:minmax(96px,130px) 1fr 24px;margin-bottom:9px}.compact .timeline-label,.compact .timeline-count{font-size:10px}.compact .timeline-axis{margin-left:140px}.gate-note{background:var(--surface-2);border:1px solid var(--line);grid-template-columns:3px 1fr auto;align-items:center;gap:13px;margin-top:20px;padding:13px 14px;display:grid}.gate-rule{background:var(--cyan);align-self:stretch}.gate-note p{color:#c2cdd1;margin:0;font-size:11px;line-height:1.55}.gate-note p b{color:var(--amber);font-weight:600}.gate-note>div{border-left:1px solid var(--line);align-items:center;gap:8px;padding-left:14px;display:flex}.gate-note>div strong{font:700 23px Segoe UI,system-ui,sans-serif}.gate-note>div span{color:var(--muted);font-size:10px;line-height:1.4}.hero-bottom{border-bottom:1px solid var(--line);color:var(--quiet);justify-content:space-between;padding:17px 0 20px;font-size:11px;display:flex}.hero-bottom a,.text-link{color:var(--cyan)}.hero-bottom b,.text-link b{padding-left:5px;font-weight:500}.section-rule{border-top:1px solid var(--line)}.section-block,.text-section{padding:48px 0}.section-title{align-items:flex-start;gap:18px;margin-bottom:25px;display:flex}.section-number{color:var(--cyan);padding-top:8px;font:600 12px Segoe UI,system-ui,sans-serif}.section-title h2{letter-spacing:-.045em;margin:0 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.1}.section-title p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.team-intro{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;margin:0 0 16px 38px;padding:18px 0 2px;display:flex}.team-kicker{color:var(--cyan);letter-spacing:.12em;font-size:9px}.team-intro h3{letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(19px,2vw,25px)}.team-intro>p{max-width:430px;color:var(--muted);margin:0;font-size:12px;line-height:1.6}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-left:38px;display:grid}.team-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;min-width:0;min-height:242px;padding:18px;display:flex}.team-card-meta{color:var(--quiet);letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:9px;display:flex}.team-initials{border:1px solid var(--line);width:30px;height:30px;color:var(--cyan);letter-spacing:0;place-items:center;font-size:10px;display:grid}.team-role{color:var(--amber);margin:16px 0 0;font-size:10px;line-height:1.4}.team-card h3{letter-spacing:-.025em;margin:7px 0 9px;font-size:18px}.team-responsibility{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.team-links{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:17px;display:flex}.team-links a{border:1px solid var(--line);color:var(--cyan);padding:7px 9px;font-size:10px}.team-links a:hover{border-color:var(--cyan)}.profile-note,.team-note,.small-note,.license-note{color:var(--quiet);font-size:10px}.profile-note{padding:7px 0}.team-note{margin:13px 0 0 38px;line-height:1.5}.small-note,.license-note{font-size:11px}.approach-grid{grid-template-columns:.85fr 1.15fr;gap:8vw;padding:8px 0 28px;display:grid}.approach-copy h3{margin:0 0 12px;font-size:19px}.approach-copy p{color:var(--muted);font-size:13px;line-height:1.7}.text-link{font-size:12px}.approach-steps{margin:0;padding:0;list-style:none}.approach-steps li{border-top:1px solid var(--line);grid-template-columns:38px 1fr;gap:14px;padding:13px 0;display:grid}.approach-steps li:last-child{border-bottom:1px solid var(--line)}.approach-steps li>span{color:var(--cyan);padding-top:2px;font-size:11px}.approach-steps strong{font-size:13px}.approach-steps p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.class-policy{background:var(--surface);border-left:2px solid var(--cyan);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;font-size:11px;display:flex}.class-policy>span:first-child{color:var(--text)}.class-policy strong{font-weight:600}.policy-divider{background:var(--line);width:1px;height:17px}.data-note{color:var(--muted);margin:-8px 0 24px 38px;font-size:12px}.eda-top,.eda-bottom,.result-bottom{grid-template-columns:1fr 1fr;gap:20px;display:grid}.eda-bottom{grid-template-columns:1.15fr .85fr;margin-top:20px}.viz-block{min-width:0;padding:17px 17px 18px}.viz-heading{margin-bottom:17px}.viz-heading h3{font-size:14px}.viz-heading div{gap:5px;display:grid}.count-bars{padding:3px 2px 0}.count-row{grid-template-columns:minmax(118px,160px) 1fr 35px;align-items:center;gap:12px;margin:14px 0;font-size:11px;display:grid}.count-row .class-name{overflow-wrap:anywhere}.count-row strong{text-align:right;color:var(--amber);font-size:11px}.bar-track{background:#26343a;height:12px;overflow:hidden}.bar-fill{height:100%;display:block}.histogram-wrap{padding:0 4px}.event-histogram{width:100%;height:142px;display:block;overflow:visible}.histogram-axis{color:var(--quiet);justify-content:space-between;margin:2px 0 0;font-size:10px;display:flex}.histogram-legend{color:var(--muted);flex-wrap:wrap;gap:7px 14px;margin-top:14px;font-size:10px;display:flex}.histogram-legend span,.map-legend span{align-items:center;gap:6px;display:inline-flex}.histogram-legend i,.map-legend i{width:9px;height:9px;display:inline-block}.scene-map{aspect-ratio:16/8.5;background:#182126;width:100%;display:block}.map-label{fill:#e5ecee;font:28px Segoe UI,system-ui,sans-serif}.map-legend{color:var(--quiet);justify-content:space-between;gap:12px;margin-top:10px;font-size:10px;display:flex}.map-legend i{background:var(--cyan);opacity:.75}.lane-block{flex-direction:column;display:flex}.flow-list{gap:0;margin-top:6px;display:grid}.flow-list>div{border-top:1px solid var(--line);align-items:flex-start;gap:16px;padding:18px 2px;display:flex}.flow-list>div:last-child{border-bottom:1px solid var(--line)}.direction-arrow{color:var(--cyan);font:24px/1 Segoe UI,system-ui,sans-serif}.flow-list strong{font-size:12px}.flow-list p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.lane-counts{gap:9px;margin-top:18px;display:grid}.lane-counts>div{color:var(--muted);grid-template-columns:125px 1fr 44px;align-items:center;gap:10px;font-size:10px;display:grid}.lane-counts i{background:var(--cyan);height:4px;display:block}.lane-counts b{color:var(--text);text-align:right;font-size:10px;font-weight:500}.result-toolbar{color:var(--muted);align-items:center;gap:12px;margin:-5px 0 17px 38px;font-size:12px;display:flex}.runtime{color:var(--quiet);margin-left:auto}.results-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.result-player{align-self:start}.result-timelines{border:1px solid var(--line);background:var(--surface);min-width:0;padding:17px}.prediction-heading{border-top:1px solid var(--line);margin-top:22px;padding-top:17px}.result-bottom{margin-top:20px}.curve{width:100%;height:104px;display:block}.chart-grid{stroke:#33444b;stroke-width:.5px}.empty-curve{border-bottom:1px solid var(--line);height:104px;color:var(--quiet);place-items:center;font-size:11px;display:grid}.score-block p{color:var(--muted);font-size:11px;line-height:1.5}.metrics-table{font-size:11px}.metrics-table>div{border-top:1px solid var(--line);grid-template-columns:minmax(88px,1.25fr) repeat(3,minmax(27px,.42fr)) minmax(68px,.95fr);gap:6px;padding:9px 0;display:grid}.metrics-table>div>span:not(:first-child){text-align:right}.metrics-table .metric-head{color:var(--quiet)}.metrics-table .metric-counts{font-variant-numeric:tabular-nums;white-space:nowrap}.ablation-block{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.ablation-table>div{grid-template-columns:minmax(120px,1.7fr) repeat(3,minmax(44px,.6fr))}.small-note{margin:13px 0 0!important}.report-grid{grid-template-columns:repeat(3,1fr);gap:25px;margin:6px 0 30px 38px;display:grid}.report-grid article{border-top:1px solid var(--line);padding-top:14px}.report-grid h3{margin:0 0 8px;font-size:14px}.report-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.runtime-table{margin-left:38px;font-size:11px}.runtime-table>div{border-top:1px solid var(--line);grid-template-columns:1.3fr .8fr .8fr 1fr;gap:14px;padding:11px 4px;display:grid}.runtime-table>div:first-child{color:var(--quiet)}.links-section{padding-bottom:42px}.link-list{border-top:1px solid var(--line);margin-left:38px}.link-list>*{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:48px;padding:12px 4px;font-size:12px;display:flex}.link-list b{color:var(--cyan);font-size:11px;font-weight:500}.link-list>div b{color:var(--quiet)}.license-note{margin:15px 0 0 38px}.demo-section{padding-bottom:64px}.demo-workspace{grid-template-columns:.82fr 1.18fr;gap:20px;margin-left:38px;display:grid}.demo-controls,.demo-output{min-width:0}.upload-box{background:var(--surface);text-align:center;cursor:pointer;border:1px dashed #788a91;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:205px;padding:20px;display:flex}.upload-box:hover{border-color:var(--cyan);background:#172329}.upload-box strong{font-size:13px}.upload-box span:not(.upload-icon){color:var(--muted);font-size:11px}.upload-icon{color:var(--cyan);font-size:30px;line-height:1}.file-summary{background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:11px;display:flex}.file-summary span:nth-child(2){color:var(--muted)}.file-summary button{color:var(--muted);cursor:pointer;background:0 0;border:0}.run-button{border:1px solid var(--cyan);color:#071317;background:var(--cyan);cursor:pointer;width:100%;margin:11px 0;padding:12px;font-weight:700}.run-button:disabled{color:var(--quiet);border-color:var(--line);cursor:not-allowed;background:#253239}.status-message{min-height:18px;color:var(--muted);font-size:11px}.status-message.failed{color:#ff9d8c}.status-message.completed{color:var(--cyan)}.demo-steps{counter-reset:step;border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;margin:13px 0;padding:15px 0 12px;list-style:none;display:flex}.demo-steps li{counter-increment:step;color:var(--quiet);align-items:center;gap:7px;font-size:11px;display:flex}.demo-steps li:before{content:counter(step, decimal-leading-zero);color:var(--quiet);font-size:10px}.demo-steps li.current,.demo-steps li.current:before{color:var(--cyan)}.demo-steps li.done,.demo-steps li.done:before{color:var(--text)}.demo-note{background:var(--surface-2);border-left:2px solid var(--cyan);padding:12px 14px}.demo-note strong{font-size:11px}.demo-note p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.5}.demo-empty{aspect-ratio:16/9;background:#0a0e10;position:relative}.demo-empty img{object-fit:cover;opacity:.65;width:100%;height:100%}.demo-empty p{text-align:center;background:linear-gradient(#0000,#000c);margin:0;padding:17px;font-size:12px;position:absolute;inset:auto 0 0}.demo-output video{aspect-ratio:16/9;object-fit:contain;background:#000;width:100%;display:block}.output-empty{border-top:1px solid var(--line);color:var(--muted);margin-top:14px;padding:15px 0}.output-empty span{color:var(--text);font-size:12px}.output-empty p{margin:6px 0 0;font-size:11px}.risk-heading{margin-top:23px}.footer{border-top:1px solid var(--line);color:var(--quiet);justify-content:space-between;padding:19px clamp(24px,4vw,64px);font-size:11px;display:flex}.footer a{color:var(--cyan)}@media (width<=1000px){.topbar{gap:20px;height:68px;padding:0 24px}.topbar nav{gap:17px}.hero-copy{grid-template-columns:1fr;gap:24px}.pipeline{max-width:700px}.overview-grid,.eda-bottom,.demo-workspace,.results-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}@media (width<=650px){.topbar{flex-direction:column;align-items:flex-start;gap:0;height:auto;min-height:72px;padding:13px 18px 0}.brand{min-height:25px}.topbar nav{gap:20px;width:100%}.topbar nav a{padding:12px 0 10px;font-size:12px}.page-shell{padding:0 18px}.hero-section{padding-top:28px}h1{font-size:40px}.hero-subtitle{font-size:17px;line-height:1.4}.hero-description{font-size:12px}.pipeline{grid-template-columns:repeat(2,1fr);gap:18px 10px}.pipeline-step b{display:none}.overview-grid,.eda-top,.result-bottom{grid-template-columns:1fr}.timeline-panel{padding:15px 12px}.timeline-row{grid-template-columns:92px 1fr 22px;gap:7px}.timeline-axis{margin-left:98px;margin-right:29px}.compact .timeline-row{grid-template-columns:90px 1fr 20px}.compact .timeline-axis{margin-left:96px}.gate-note{grid-template-columns:3px 1fr}.gate-note>div{border-left:0;border-top:1px solid var(--line);grid-column:2;padding:9px 0 0}.hero-bottom{align-items:center;gap:10px;font-size:10px}.section-block,.text-section{padding:36px 0}.section-title{gap:12px;margin-bottom:18px}.section-number{padding-top:6px}.section-title h2{font-size:28px}.data-note,.report-grid,.runtime-table,.result-toolbar,.demo-workspace,.link-list,.license-note,.team-intro,.team-grid,.team-note{margin-left:0}.team-intro{display:block}.team-intro>p{margin-top:11px}.team-grid{grid-template-columns:1fr}.team-card{min-height:0}.team-responsibility{max-width:42em}.approach-grid{grid-template-columns:1fr;gap:24px}.class-policy{gap:8px}.policy-divider{display:none}.count-row{grid-template-columns:105px 1fr 26px;gap:8px}.eda-top,.eda-bottom{gap:12px}.viz-block{padding:13px 11px}.report-grid{grid-template-columns:1fr;gap:17px}.runtime-table{overflow-x:auto}.runtime-table>div{min-width:520px}.result-toolbar{flex-wrap:wrap}.runtime{width:100%;margin-left:0}.metrics-table{font-size:9px}.metrics-table>div{grid-template-columns:minmax(79px,1.2fr) repeat(3,minmax(23px,.4fr)) minmax(60px,.9fr);gap:4px}.ablation-table>div{grid-template-columns:minmax(103px,1.5fr) repeat(3,minmax(40px,.6fr))}.link-list>*{flex-direction:column;align-items:flex-start;gap:5px}.footer{padding:17px 18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
