@font-face{font-family:Krafton;src:url('assets/fonts/krafton-sans.otf') format('opentype');font-display:swap;font-weight:100 900}
@font-face{font-family:Urbanist;src:url('assets/fonts/urbanist-regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Urbanist;src:url('assets/fonts/urbanist-medium.ttf') format('truetype');font-display:swap;font-weight:500}
@font-face{font-family:Urbanist;src:url('assets/fonts/urbanist-semibold.ttf') format('truetype');font-display:swap;font-weight:600}
@font-face{font-family:Urbanist;src:url('assets/fonts/urbanist-bold.ttf') format('truetype');font-display:swap;font-weight:700 900}
:root{--bg:#0e0e0e;--surface:#151515;--red:#f9423a;--text:#f4f3ef;--muted:#a8a8a8;--line:#333;--pad:clamp(22px,5vw,80px);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Urbanist,Arial,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}button:disabled{cursor:default}p{margin:0 0 20px}h1,h2,h3,p,figure{margin-top:0}figure{margin:0}.shell{width:min(1440px,100%);margin:auto;padding-left:var(--pad);padding-right:var(--pad)}.section{padding-top:104px;padding-bottom:104px}.accent{color:var(--red)}.eyebrow,.section-index{font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.section-index{color:var(--muted);margin-bottom:40px}.fine-print{font-size:14px;color:var(--muted);line-height:1.55}.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}.skip{position:fixed;left:20px;top:-60px;background:var(--red);color:#fff;z-index:100;padding:10px}.skip:focus{top:10px}
.masthead{border-bottom:1px solid var(--line);background:var(--bg)}.mast-inner{height:86px;display:flex;align-items:center;gap:38px}.brand{width:196px;flex-shrink:0}.brand img{filter:brightness(0) invert(1);width:100%;height:auto}.mast-inner nav{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:600}.paper-nav{font-size:14px;font-weight:700;border-left:1px solid var(--line);padding-left:30px}.paper-nav span{margin-left:10px;font-size:20px}.hero{padding-top:54px;padding-bottom:24px}.hero-kicker{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:30px}.hero-kicker span:first-child{color:var(--text)}h1,h2{font-family:Krafton,Urbanist,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.018em}h1{font-size:clamp(46px,6.6vw,96px);line-height:1.01;margin:0 0 34px;color:var(--red)}h1 span{color:var(--text)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:42px}.hero-bottom p{font-size:20px;line-height:1.5;margin:0}.actions{display:flex;gap:12px;flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:16px 24px;font-size:14px;font-weight:700;white-space:nowrap;border:1px solid var(--text);transition:background .2s,color .2s}.button span{font-size:20px;line-height:1}.button.primary{background:var(--text);color:var(--bg)}.button.primary:hover{background:var(--red);border-color:var(--red);color:#fff}.button.outline:hover{background:#202020;color:#fff}.hero-reel{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:12px}.hero-reel figure{position:relative;overflow:hidden;min-width:0}.hero-reel img{width:100%;height:256px;object-fit:cover;transition:transform .5s}.hero-reel figure:hover img{transform:scale(1.025)}.hero-reel figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.065em}.hero-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:14px}.hero-caption a{color:var(--text)}.facts-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px}.facts{display:grid;grid-template-columns:repeat(4,1fr)}.facts>div{padding:30px 28px;border-right:1px solid var(--line)}.facts>div:first-child{padding-left:0}.facts>div:last-child{border-right:0;padding-right:0}.facts strong{font-family:Krafton,Urbanist,sans-serif;font-size:46px;line-height:1.1;display:block;font-weight:800}.facts span{font-size:14px;color:var(--muted);display:block;margin-top:10px}
h2{font-size:clamp(32px,3.5vw,52px);line-height:1.09;margin-bottom:24px}h3{font-size:25px;font-weight:700;line-height:1.2;margin-bottom:18px}.gap-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:58px;align-items:start}.gap-copy>p{color:var(--muted);font-size:17px}.requirement{border-left:3px solid var(--red);padding:4px 0 4px 20px;margin-top:32px}.requirement .eyebrow{font-size:11px;color:var(--red)}.requirement p{font-size:20px;line-height:1.35;margin:12px 0 0}.evidence-demo{background:var(--surface);border:1px solid var(--line)}.demo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.045em}.segmented{display:flex;gap:2px;padding:3px;background:#222;border:1px solid var(--line);width:max-content;max-width:100%}.segmented button{border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:8px 12px;min-height:38px;white-space:nowrap;transition:background .2s,color .2s}.segmented button:hover{color:#fff}.segmented button.active{background:var(--text);color:var(--bg)}.demo-frame{aspect-ratio:16/9;background:#151515}.demo-frame img{width:100%;height:100%;object-fit:contain}.demo-verdict{border-top:1px solid var(--line);padding:20px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 28px;position:relative}.demo-verdict .eyebrow{font-size:11px;color:var(--muted)}.demo-verdict strong{font-family:Krafton,Urbanist,sans-serif;font-size:44px;display:block;line-height:1.2}.demo-verdict strong span{color:#818181;font-size:28px}.demo-verdict p{font-size:15px;line-height:1.4;margin:0}.state-label{grid-column:2;font-size:11px;letter-spacing:.08em;color:var(--muted)}.state-label.violated{color:var(--red)}.gap-finding{border-top:1px solid var(--line);margin-top:68px;padding-top:34px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 64px}.gap-finding>.fine-print{grid-column:1/-1;max-width:760px;margin:12px 0 0}.gap-finding .eyebrow{color:var(--muted);font-size:12px}.gap-finding p:not(.fine-print){max-width:440px;font-size:22px;line-height:1.4;margin:14px 0 0}.finding-numbers{display:flex;align-items:center;gap:34px}.finding-numbers>div{display:flex;flex-direction:column}.finding-numbers strong{font-family:Krafton,Urbanist,sans-serif;font-size:60px;line-height:1.2}.finding-numbers strong span{font-size:30px}.finding-numbers>div>span{font-size:14px;color:var(--muted)}.versus{font-size:40px;color:#575757}
.method,.revision,.paper-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:44px}.section-heading h2{margin-bottom:0;flex:1.35}.section-heading p{flex:1;max-width:435px;color:var(--muted);font-size:18px;margin:0 0 4px}.contract-strip{display:grid;grid-template-columns:1fr auto 1.5fr auto 1fr;align-items:center;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin:42px 0}.contract-strip>div{display:flex;flex-direction:column;gap:8px}.contract-strip .eyebrow{color:var(--muted);font-size:11px}.contract-strip strong{font-size:20px}.contract-strip span:not(.eyebrow):not(.flow-arrow){color:var(--muted);font-size:14px}.contract-core strong{color:var(--red)}.flow-arrow{font-size:28px;color:var(--muted)}.axis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.axis-number{color:var(--red);font-family:Krafton,Urbanist,sans-serif;font-size:36px;margin-bottom:18px}.axis h3{margin-bottom:12px}.axis p{color:var(--muted);font-size:16px;min-height:96px}.axis-image{height:210px;background:#080808;border:1px solid #2e2e2e;overflow:hidden}.axis-image img{width:100%;height:100%;object-fit:contain}.axis-question{display:block;font-size:14px;font-weight:600;margin-top:17px}.method-close{font-family:Krafton,Urbanist,sans-serif;font-size:clamp(22px,2.6vw,36px);line-height:1.25;margin:48px 0 0;padding-top:28px;border-top:1px solid var(--line);color:var(--muted)}.method-close strong{color:var(--text)}
.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:44px;margin-bottom:20px}.results-toolbar h3{margin:0;font-size:20px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px;font-variant-numeric:tabular-nums;text-align:left}th{font-size:13px;color:var(--muted);font-weight:500;padding:14px 18px;border-bottom:1px solid #666}td{padding:19px 18px;border-bottom:1px solid #2a2a2a;font-size:17px}th:first-child,td:first-child{padding-left:0;width:65px;color:var(--muted);font-size:14px}th:last-child,td:last-child{text-align:left;padding-right:18px;width:42%}th:nth-child(2){width:36%}.score-th{color:var(--text)}.score-cell{position:relative;font-weight:700;width:34%}.score-meter{position:absolute;left:18px;bottom:9px;height:3px;width:calc((100% - 36px) * var(--score) / 100);background:#626262}.top-result .score-cell{color:var(--red)}.top-result .score-meter{background:var(--red)}.top-result td:nth-child(2){font-weight:700}.results>.fine-print{margin:18px 0 0}.split-finding{display:flex;align-items:center;gap:52px;margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}.split-finding>strong{font-family:Krafton,Urbanist,sans-serif;color:var(--red);font-size:64px;line-height:1;white-space:nowrap}.split-finding>strong span{display:block;color:var(--muted);font:700 12px Urbanist,sans-serif;letter-spacing:.16em;margin-top:10px}.split-finding p{font-size:21px;max-width:650px;margin:0;color:var(--muted)}.split-finding b{color:var(--text)}
.revision-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:72px;align-items:center}.revision-stat>strong{font-family:Krafton,Urbanist,sans-serif;font-size:clamp(60px,6.2vw,92px);letter-spacing:-.025em;line-height:1.1;color:var(--red)}.revision-stat>strong>span{font-size:.55em}.revision-stat>p{font-size:20px;max-width:340px;margin-top:16px}.revision-bars{margin:32px 0 24px}.revision-bars>div{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;padding:0 0 14px;margin-top:22px;font-size:14px}.revision-bars i{position:absolute;bottom:0;left:0;width:calc(var(--value)*1%);height:4px;background:#727272}.revision-bars .ours i{background:var(--red)}.revision-bars .ours b{color:var(--red)}.revision-bars b{font-size:20px}.repair-demo{border:1px solid var(--line)}.repair-pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.repair-pair img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.repair-pair figure{background:var(--bg)}.repair-pair figcaption{padding:12px 15px;font-size:13px}.repair-pair figure:last-child figcaption{color:var(--red)}.repair-demo>p{font-size:15px;color:var(--muted);padding:18px;margin:0;border-top:1px solid var(--line)}.repair-demo .eyebrow{font-size:10px;color:var(--muted)}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 24px}.game-card{display:block;padding:0;border:0;text-align:left;color:var(--text);background:none;min-width:0}.game-image{position:relative;display:block;overflow:hidden;background:#181818}.game-image img{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .35s,filter .35s}.game-card:hover .game-image img{transform:scale(1.035);filter:brightness(1.1)}.image-action{position:absolute;right:10px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;background:rgba(0,0,0,.75);font-size:22px}.game-title{font-size:21px;font-weight:700;display:flex;justify-content:space-between;gap:12px;margin-top:16px}.game-title>span{font-size:12px;color:var(--muted);margin-top:6px}.game-detail{display:block;color:var(--muted);font-size:14px;margin-top:4px}.paper-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:90px}.paper-grid .eyebrow{display:block;color:var(--red);margin-bottom:22px}.paper-grid h2{font-size:34px;line-height:1.18;margin-bottom:0}.authors{font-size:20px;line-height:1.65;margin-bottom:12px}.affiliation{color:var(--muted);font-size:14px;letter-spacing:.08em}.paper-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:30px 0}.release-status{font-size:13px;color:var(--muted)}.abstract{border-top:1px solid var(--line);padding-top:18px}.abstract summary{font-size:15px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.abstract summary::-webkit-details-marker{display:none}.abstract summary span{font-size:22px;line-height:1}.abstract[open] summary span{transform:rotate(45deg)}.abstract p{font-size:16px;color:var(--muted);margin-top:18px;margin-bottom:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:40px;padding-bottom:40px}.footer .brand{width:170px}.footer p{font-size:14px;margin:0}.footer p span{color:var(--muted);font-size:12px}.footer>a:last-child{font-size:14px}.footer>a:last-child span{margin-left:12px}dialog{background:var(--surface);color:var(--text);border:1px solid #555;max-width:min(1100px,94vw);width:1100px;padding:22px;max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.85)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-top h2{font-size:26px;margin:0}.close-dialog{background:none;border:1px solid #555;color:var(--text);width:44px;height:44px;font-size:30px;line-height:1}.close-dialog:hover{background:var(--red)}dialog>img{width:100%;height:auto}dialog>p{margin:20px 0 10px;font-size:18px}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero-reel img{height:290px}}
@media(max-width:1100px){.hero-bottom{align-items:flex-start;flex-direction:column}.hero-reel img{height:210px}.reel-main figcaption span:last-child{display:none}.gap-grid{gap:32px;grid-template-columns:.9fr 1.2fr}.demo-toolbar{flex-wrap:wrap}.gap-finding{gap:20px}.finding-numbers{gap:24px}.finding-numbers strong{font-size:48px}.section-heading{gap:36px}.contract-strip{gap:15px}.contract-strip strong{font-size:17px}.axis-grid{gap:24px}.axis-image{height:170px}.revision-grid{gap:36px;grid-template-columns:.8fr 1.2fr}.repair-pair{grid-template-columns:1fr}.repair-demo .eyebrow{display:none}.paper-grid{gap:48px}.mast-inner nav{gap:20px}.brand{width:165px}.mast-inner{gap:24px}}
@media(max-width:760px){.section{padding-top:64px;padding-bottom:64px}.section-index{margin-bottom:28px}.mast-inner{height:74px;gap:20px}.mast-inner nav{display:none}.paper-nav{margin-left:auto;padding-left:0;border:0}.brand{width:164px}.hero{padding-top:34px}.hero-kicker{font-size:11px;margin-bottom:24px}.hero-kicker span:last-child{display:none}h1{font-size:clamp(39px,8.6vw,65px);line-height:1.13;letter-spacing:-.03em;margin-bottom:24px}.hero-bottom{gap:24px;margin-bottom:30px}.hero-bottom p{font-size:18px}.actions{flex-wrap:wrap;gap:10px}.button{font-size:13px;padding:13px 16px;gap:14px}.hero-reel{grid-template-columns:1fr 1fr;gap:8px}.hero-reel .reel-main{grid-column:1/-1}.hero-reel .reel-main img{height:auto;aspect-ratio:16/9}.hero-reel figure:not(.reel-main) img{height:auto;aspect-ratio:16/9}.hero-reel figcaption{padding:24px 10px 10px;font-size:10px}.hero-caption{font-size:12px}.facts{grid-template-columns:1fr 1fr}.facts>div{padding:22px 0}.facts>div:nth-child(even){padding-left:22px;border-right:0}.facts>div:nth-child(n+3){border-top:1px solid var(--line)}.facts strong{font-size:37px}.facts span{font-size:13px;max-width:170px}.gap-grid{grid-template-columns:1fr;gap:30px}h2{font-size:34px}.gap-copy>p{font-size:17px}.requirement{margin-top:24px}.demo-toolbar{padding:12px;font-size:11px;gap:10px}.segmented button{font-size:12px;padding:8px 10px}.demo-verdict{padding:16px;gap:10px 18px}.demo-verdict strong{font-size:40px}.demo-verdict p{font-size:14px}.gap-finding{grid-template-columns:1fr;gap:26px;margin-top:40px;padding-top:28px}.gap-finding p:not(.fine-print){font-size:21px}.gap-finding>.fine-print{margin:0}.finding-numbers{gap:30px}.finding-numbers strong{font-size:54px}.finding-numbers>div>span{font-size:13px}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:22px;font-size:17px;max-width:100%}.contract-strip{grid-template-columns:1fr;gap:20px;margin:30px 0}.flow-arrow{transform:rotate(90deg);justify-self:start;line-height:1;font-size:24px}.contract-strip strong{font-size:21px}.contract-strip span:not(.eyebrow):not(.flow-arrow){font-size:14px}.axis-grid{grid-template-columns:1fr;gap:32px}.axis{display:grid;grid-template-columns:45px 1fr;gap:0 10px;border-bottom:1px solid var(--line);padding-bottom:28px}.axis-number{font-size:27px;grid-row:1/3}.axis h3{font-size:24px}.axis p{min-height:0;font-size:16px}.axis-image{height:auto;aspect-ratio:16/9;grid-column:2}.axis-question{grid-column:2;font-size:14px}.method-close{font-size:24px;margin-top:28px;line-height:1.5}.results-toolbar{align-items:flex-start;gap:18px;flex-direction:column;margin-top:30px}.results-toolbar .segmented button{padding:8px 16px}.split-finding{gap:26px;align-items:flex-start}.split-finding>strong{font-size:48px}.split-finding p{font-size:17px}.revision-grid{grid-template-columns:1fr;gap:30px}.revision-stat>strong{font-size:78px}.revision-stat>p{max-width:none;font-size:19px}.revision-bars{max-width:430px}.repair-pair{grid-template-columns:1fr 1fr}.repair-pair figcaption{font-size:11px;padding:10px}.repair-demo .eyebrow{display:block}.game-grid{grid-template-columns:1fr 1fr;gap:26px 16px}.game-title{font-size:18px;margin-top:12px}.game-title>span{display:none}.game-detail{font-size:13px}.image-action{width:28px;height:28px;font-size:19px}.paper-grid{grid-template-columns:1fr;gap:26px}.paper-grid h2{font-size:29px}.authors{font-size:19px}.footer{flex-wrap:wrap;gap:24px;padding-top:30px;padding-bottom:30px}.footer .brand{width:155px}.footer p{margin-left:auto;text-align:right;font-size:12px}.footer>a:last-child{margin-left:auto}.dialog-top h2{font-size:21px}dialog{padding:15px}dialog>p{font-size:16px}}
@media(max-width:380px){h1{font-size:36px}.actions{width:100%}.button{padding:12px;font-size:12px;gap:10px}.hero-caption>a{display:none}.segmented button{padding:8px}.demo-verdict{grid-template-columns:1fr}.state-label{grid-column:1}.finding-numbers strong{font-size:47px}.game-grid{grid-template-columns:1fr}.repair-pair{grid-template-columns:1fr}.repair-demo .eyebrow{display:none}.split-finding{display:block}.split-finding p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep data and comparison figures readable on narrow screens. */
table{table-layout:fixed;min-width:0}th:first-child,td:first-child{width:10%}th:nth-child(2){width:48%}th:last-child,td:last-child{width:42%}.gap-finding>*{min-width:0}
@media(max-width:760px){.finding-numbers{gap:16px}.finding-numbers strong{font-size:clamp(34px,10vw,50px)}.finding-numbers strong span{font-size:22px}.finding-numbers .versus{font-size:24px}th,td{padding-left:9px;padding-right:9px}th{font-size:11px}td{font-size:14px}th:first-child,td:first-child{font-size:11px;width:9%}th:nth-child(2){width:51%}th:last-child,td:last-child{width:40%;padding-right:0}.score-meter{left:9px;width:calc((100% - 18px)*var(--score)/100)}}
/* Shared navigation and the two-page research site. */
.masthead{position:sticky;top:0;z-index:50;background:rgba(14,14,14,.97);backdrop-filter:blur(14px)}.mast-inner{height:78px}.mast-inner .brand,.footer .brand{width:174px}.brand img{filter:none}.mast-inner nav{display:flex;align-items:center;gap:36px;margin-left:auto;height:100%;font-size:15px}.mast-inner nav>a{display:flex;align-items:center;height:100%;position:relative}.mast-inner nav>a[aria-current=page]{color:var(--text)}.mast-inner nav>a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red)}.mast-inner nav>a:not([aria-current]):not(.paper-nav):not(.code-nav){color:var(--muted)}.mast-inner nav>a:hover{color:var(--red)}.mast-inner .paper-nav{height:auto;border-left:1px solid var(--line);padding-left:32px;margin-left:0;font-size:15px}.home-hero{padding-top:48px;padding-bottom:28px}.home-hero .hero-kicker,.glance-hero .hero-kicker{font-size:14px;margin-bottom:30px}.home-hero h1{font-size:clamp(40px,5.05vw,72px);line-height:1.12;color:var(--text);margin-bottom:28px;letter-spacing:-.025em}.home-hero h1 .accent{color:var(--red)}.home-hero .hero-bottom{margin-bottom:34px}.home-hero .hero-bottom p{font-size:20px;line-height:1.5}.home-showcase{display:grid;grid-template-columns:1.75fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(330px,31vw,440px)}.showcase-frame{position:relative;overflow:hidden;padding:0;border:0;text-align:left;color:var(--text);background:#191919}.showcase-main{grid-row:1/3}.showcase-frame>img{width:100%;height:100%;object-fit:cover;transition:transform .35s,filter .35s}.showcase-frame:hover>img{transform:scale(1.025);filter:brightness(1.08)}.showcase-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:36px 20px 16px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:16px;font-weight:600}.showcase-caption>span:last-child{font-size:12px;letter-spacing:.045em}.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid var(--line);align-items:center}.home-intro .section-index{margin-bottom:24px}.home-intro h2{font-size:clamp(32px,3.1vw,46px);margin-bottom:0}.home-intro-copy>p{font-size:20px;color:var(--muted)}.home-intro-copy>p:first-child{color:var(--text);font-size:23px;line-height:1.45}.home-axes{display:flex;flex-wrap:wrap;gap:10px 22px;margin:28px 0;font-size:14px;font-weight:600}.home-axes>span{border-bottom:2px solid var(--red);padding-bottom:8px}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:15px;font-weight:700}.text-link>span{font-size:20px}.home-next{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:48px;padding-bottom:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-next .eyebrow{color:var(--muted);display:block;margin-bottom:16px}.home-next h2{font-size:36px;margin:0}.glance-hero{padding-top:54px;padding-bottom:64px;border-bottom:1px solid var(--line)}.glance-hero h1{font-size:clamp(38px,5vw,70px);line-height:1.12;color:var(--text);margin-bottom:30px}.glance-hero h1 .accent{color:var(--red)}.glance-intro{display:flex;gap:50px;align-items:flex-end;justify-content:space-between}.glance-intro p{max-width:730px;color:var(--muted);font-size:20px;margin:0}.glance-intro .text-link{white-space:nowrap}.glance-page .section{padding-top:80px;padding-bottom:80px}
@media(max-width:1100px){.home-intro{gap:40px}.home-hero .hero-bottom{flex-direction:row;align-items:center}.home-hero .hero-bottom p{font-size:18px}.desktop-break{display:none}.home-hero .button{padding:14px 18px}.glance-intro{display:block}.glance-intro .text-link{margin-top:24px}}
@media(max-width:760px){html{scroll-padding-top:88px}.mast-inner{height:68px;gap:20px}.mast-inner .brand{width:126px}.mast-inner nav{display:flex;gap:22px;font-size:14px}.mast-inner .paper-nav{font-size:14px;padding-left:0;border:0}.paper-nav span{font-size:17px;margin-left:5px}.home-hero{padding-top:32px}.home-hero .hero-kicker,.glance-hero .hero-kicker{font-size:12px;margin-bottom:24px}.home-hero h1{font-size:clamp(32px,6.7vw,51px);line-height:1.2;letter-spacing:-.02em}.home-hero .hero-bottom{display:block;margin-bottom:28px}.home-hero .hero-bottom p{font-size:18px;margin-bottom:22px}.home-showcase{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto;gap:8px}.showcase-main{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9}.showcase-frame:not(.showcase-main){aspect-ratio:16/10}.showcase-caption{padding:30px 12px 10px;font-size:14px}.showcase-caption>span:last-child{font-size:12px}.showcase-main .showcase-caption>span:last-child{display:none}.home-intro{grid-template-columns:1fr;gap:28px}.home-intro h2{font-size:32px}.home-intro-copy>p{font-size:17px}.home-intro-copy>p:first-child{font-size:21px}.home-axes{gap:12px 20px}.home-next{display:block;padding-top:32px;padding-bottom:32px}.home-next h2{font-size:28px}.home-next .button{margin-top:24px}.glance-hero{padding-top:34px;padding-bottom:40px}.glance-hero h1{font-size:clamp(30px,6.6vw,46px);line-height:1.2}.glance-intro p{font-size:18px}.glance-page .section{padding-top:56px;padding-bottom:56px}.footer .brand{width:140px}}
@media(max-width:480px){.mast-inner{gap:12px}.mast-inner .brand{width:104px}.mast-inner nav{gap:17px;font-size:13px}.mast-inner .paper-nav{font-size:13px}.paper-nav span{display:none}.home-hero h1{font-size:clamp(28px,7.5vw,35px)}.home-hero .hero-caption>a{display:none}}
@media(max-width:350px){.mast-inner .brand{width:90px}.mast-inner nav{gap:12px}.home-hero h1{font-size:26px}.glance-hero h1{font-size:27px}}
.home-hero h1{font-size:clamp(40px,4.75vw,68px)}.code-nav{display:flex;align-items:center;gap:9px;font-size:15px}.code-nav>span{font-size:19px}.unreleased-link{color:#8e8e8e;cursor:default}.mast-inner nav>.code-nav{height:auto}
@media(max-width:760px){.mast-inner .brand{width:114px}.mast-inner nav{gap:20px}.code-nav{font-size:14px;gap:5px}.code-nav>span{font-size:17px}.home-hero h1{font-size:clamp(30px,5.6vw,42px)}}
@media(max-width:480px){.mast-inner .brand{width:90px}.mast-inner nav{gap:13px;font-size:12px}.mast-inner .paper-nav,.code-nav{font-size:12px}.code-nav>span{display:none}.home-hero h1{font-size:clamp(27px,7vw,33px)}.hero-bottom .button{white-space:normal;text-align:left}}
@media(max-width:350px){.mast-inner{gap:10px}.mast-inner .brand{width:78px}.mast-inner nav{gap:10px}.home-hero h1{font-size:25px}}
.gap-copy h2{font-size:clamp(30px,2.6vw,38px)}
@media(max-width:480px){.mast-inner nav,.mast-inner .paper-nav,.code-nav{font-size:14px}}
@media(max-width:350px){.mast-inner nav,.mast-inner .paper-nav,.code-nav{font-size:13px}}

.home-results{border-bottom:1px solid var(--line)}.results-detail-link{margin-top:26px}.home-results .section-heading h2{font-size:clamp(30px,3.1vw,44px)}

/* Reveal score bars only when their rows enter the viewport. */
.agent-identity{display:flex;align-items:center;gap:12px;min-width:0}.agent-logo{flex:0 0 24px;width:24px;height:24px;object-fit:contain}.agent-logo.monochrome{filter:brightness(0) invert(1)}.agent-name{min-width:0;overflow-wrap:anywhere}
.score-meter{transform:scaleX(0);transform-origin:left center;will-change:transform}
.score-meter.is-revealed{transform:scaleX(1);animation:score-fill 900ms cubic-bezier(.22,1,.36,1) both;animation-delay:var(--bar-delay,0ms)}
@keyframes score-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.agent-identity{gap:8px}.agent-logo{flex-basis:20px;width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.score-meter,.score-meter.is-revealed{transform:scaleX(1);animation:none!important;will-change:auto}}


/* Native evaluation diagrams shared by Home and the research overview. */
[hidden]{display:none!important}.home-evaluation{border-bottom:1px solid var(--line)}.home-evaluation .section-heading h2{font-size:clamp(30px,3.2vw,46px)}.diagram-eyebrow{display:block;color:#a3a3a3;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.contract-bridge{display:flex;align-items:center;gap:30px;padding:23px 0;margin:0 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.bridge-input{display:flex;align-items:center;gap:18px}.bridge-input img{width:48px;height:62px;object-fit:contain}.bridge-input strong{display:block;font-size:19px;margin-top:7px}.bridge-arrow{font-size:28px;color:var(--red);margin:0 16px}.bridge-contract{flex:1}.bridge-contract>strong{display:block;font-size:20px;margin:7px 0 4px}.bridge-contract>strong i{font-style:normal;color:#777;padding:0 8px;font-weight:400}.bridge-contract>span:last-child{font-size:13px;color:var(--muted)}.bridge-judge{height:94px;width:85px;object-fit:contain;margin-left:auto}
.explorer-tabs{display:grid;grid-template-columns:1fr 2fr;gap:22px;margin-top:38px}.explorer-tab-group{min-width:0}.tab-group-label{display:block;font-size:12px;letter-spacing:.13em;color:#a8a8a8;margin-bottom:10px;font-weight:600}.policy-tab-group>div{display:grid;grid-template-columns:1fr 1fr;gap:22px}.policy-tab-group>.tab-group-label{border-bottom:1px solid #3a3a3a;padding-bottom:7px;margin-bottom:0;position:relative;top:-7px}.method-tab{display:flex;align-items:center;gap:15px;width:100%;min-height:72px;text-align:left;padding:15px 16px;border:0;border-top:2px solid #3a3a3a;background:#191919;color:#aaa;transition:background .2s,border-color .2s,color .2s}.method-tab>b{font-family:Krafton,Arial,sans-serif;font-size:21px;color:#777}.method-tab>span{font-size:17px;font-weight:600}.method-tab>i{font-style:normal;margin-left:auto;font-size:21px}.method-tab:hover{background:#222;color:#fff}.method-tab.active{border-top-color:var(--red);background:linear-gradient(100deg,rgba(249,66,58,.15),rgba(249,66,58,.025));color:#fff}.method-tab.active>b,.method-tab.active>i{color:var(--red)}.explorer-panel{display:grid;grid-template-columns:.75fr 1.65fr;gap:44px;align-items:center;min-height:395px;border-bottom:1px solid var(--line);padding:32px 0;animation:method-enter .35s ease both}.explorer-copy{max-width:360px}.explorer-copy>.diagram-eyebrow{color:var(--red);margin-bottom:17px}.explorer-copy h3{font-size:30px;line-height:1.17;margin:0 0 18px;letter-spacing:-.025em}.explorer-copy p{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:27px}.evidence-label{display:flex;align-items:center;gap:12px;color:#777;font-size:11px;font-weight:700;letter-spacing:.1em}.evidence-label b{font-size:13px;color:#ddd;letter-spacing:0;font-weight:500;border-left:1px solid #444;padding-left:12px}.explorer-visual,.story-visual{min-width:0}.explorer-visual{min-height:320px;display:flex;flex-direction:column;justify-content:center}.evaluation-detail-link{margin-top:26px}.dependency-drawing{background:radial-gradient(ellipse at 20% 54%,rgba(249,66,58,.075),transparent 55%)}.dependency-drawing svg{width:100%;height:auto;display:block;font-family:Urbanist,Arial,sans-serif}.graph-mobile{display:none}.diagram-foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:13px;font-size:13px;color:#aaa;text-align:center;line-height:1.5}.signal-dot{display:block;flex:0 0 6px;height:6px;border-radius:50%;background:var(--red)}.replay-drawing{padding:10px 0}.replay-route{display:flex;align-items:center;justify-content:center;gap:15px;font-size:14px;color:#ccc;margin-bottom:24px}.replay-route i{font-style:normal;color:var(--red);font-size:18px}.replay-windows{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.replay-window{min-width:0}.replay-window figcaption{font-size:13px;color:#b7b7b7;border-top:1px solid #505050;padding:9px 0 11px;line-height:1.3}.replay-shot{position:relative;border:1px solid #555;overflow:hidden}.replay-shot img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(.95)}.replay-window:nth-child(2) .replay-shot{border-color:var(--red);box-shadow:0 0 25px rgba(249,66,58,.09)}.frame-corner{position:absolute;width:15px;height:15px;right:5px;bottom:5px;border-right:1px solid #ddd;border-bottom:1px solid #ddd}.replay-track{height:20px;position:relative;margin-top:13px;border-top:2px solid #4a4a4a}.replay-track:before,.replay-track:after{content:"";position:absolute;top:-4px;background:#767676;height:6px;width:2px;left:0}.replay-track:after{left:auto;right:0}.replay-track i{position:absolute;top:-3px;height:4px;width:20%;left:var(--moment);background:var(--red);transform:translateX(-50%)}.replay-track b{position:absolute;top:-6px;left:var(--moment);width:1px;height:13px;background:var(--red)}.replay-evidence{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:5px}.evidence-target{font-size:32px;color:var(--red);line-height:1}.replay-evidence strong{display:block;font-size:16px;font-weight:600}.replay-evidence div>span{font-size:12px;color:#999;display:block;margin-top:3px}.drawing-note{color:#777;font-size:12px;text-align:center;margin:17px 0 0}
.adaptive-drawing{width:100%;padding:3px 0}.policy-loop{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:26px}.policy-loop>img{width:112px;height:77px;object-fit:contain}.policy-loop .diagram-eyebrow{font-size:11px;margin-bottom:10px}.loop-labels{display:flex;gap:20px;align-items:center;font-size:17px;font-weight:500}.loop-labels>b{font-size:26px;font-weight:400;color:var(--red);line-height:1}.trajectory-lane{display:grid;grid-template-columns:110px 1fr;gap:28px;padding:19px 0;border-top:1px solid #333;align-items:center}.lane-label strong{display:block;font-size:16px;color:#ebebeb}.lane-label>span{display:block;font-size:12px;color:#979797;margin-top:4px}.trajectory{display:flex;list-style:none;margin:0;padding:0;width:100%;color:#929ca5}.trajectory>li{position:relative;flex:1;text-align:center;font-size:12px;padding-top:21px}.trajectory>li:before{content:"";position:absolute;top:0;left:50%;width:100%;height:1px;background:#626e77}.trajectory>li:last-child:before{display:none}.trajectory>li:after{content:"";position:absolute;top:-5px;left:calc(50% - 6px);width:11px;height:11px;border-radius:50%;border:1.5px solid #b6c0c7;background:#17191b}.targeted-lane .trajectory{color:#de817d}.targeted-lane .trajectory>li:before{background:var(--red)}.targeted-lane .trajectory>li:first-child:before{background:none;border-top:1px dashed #bf625d}.targeted-lane .trajectory>li:after{border-color:var(--red);background:#301c1b}.targeted-lane .trajectory>li:nth-child(2):after{box-shadow:0 0 0 5px rgba(249,66,58,.13);background:var(--red)}.targeted-lane .lane-label strong{color:#f36e68}.adaptive-drawing>.diagram-foot{border-top:1px solid #333;padding-top:16px;margin-top:0}
.method-editorial{background:#111}.method-editorial .contract-bridge{margin-bottom:10px}.method-story{display:grid;grid-template-columns:.8fr 1.5fr;gap:70px;align-items:center;padding:62px 0;border-bottom:1px solid var(--line)}.story-copy{position:relative}.story-number{font-family:Krafton,Arial,sans-serif;font-size:45px;line-height:1;color:#454545;display:block;margin-bottom:20px}.story-copy>.diagram-eyebrow{color:var(--red);margin-bottom:17px}.story-copy h3{font-size:35px;line-height:1.16;letter-spacing:-.025em;margin-bottom:20px}.story-copy p{font-size:17px;color:var(--muted);line-height:1.6;margin-bottom:20px}.story-detail{display:block;font-size:13px;color:#b2b2b2;margin-bottom:24px}.story-visual{padding:20px 0}.story-replay{grid-template-columns:1.5fr .8fr}.story-replay .story-copy{grid-column:2;grid-row:1}.story-replay .story-visual{grid-column:1;grid-row:1}.test-policy-heading{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--red);margin-top:42px;padding-top:25px}.test-policy-heading>span{font-family:Krafton,Arial,sans-serif;font-size:32px;line-height:1}.test-policy-heading p{font-size:15px;line-height:1.5;color:#aaa;margin:0}.evidence-close{display:flex;align-items:center;justify-content:center;gap:16px;padding:28px 0 0;font-size:14px;color:#999;flex-wrap:wrap}.evidence-close i{font-style:normal;color:#555}.evidence-close>b{font-size:24px;color:var(--red);font-weight:400;margin:0 10px}.evidence-close strong{font-size:16px;color:#eee;font-weight:600}
@keyframes method-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.contract-bridge{gap:20px}.bridge-arrow{margin:0}.bridge-input strong{font-size:17px}.bridge-contract>strong{font-size:17px}.bridge-contract>strong i{padding:0 4px}.bridge-judge{width:64px;height:82px}.explorer-panel{gap:30px;grid-template-columns:.8fr 1.5fr}.explorer-copy h3{font-size:27px}.explorer-tabs,.policy-tab-group>div{gap:14px}.method-tab{gap:10px;padding:14px 12px}.method-tab>span{font-size:15px}.method-tab>b{font-size:18px}.method-tab>i{display:none}.replay-windows{gap:11px}.replay-route{font-size:12px;gap:9px}.method-story{gap:40px}.story-copy h3{font-size:29px}.trajectory-lane{grid-template-columns:91px 1fr;gap:12px}.lane-label strong{font-size:15px}.trajectory>li{font-size:11px}.policy-loop{gap:16px}.loop-labels{font-size:15px;gap:14px}}
@media(max-width:900px){.explorer-panel{grid-template-columns:1fr;gap:10px;padding:30px 0}.explorer-copy{max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.explorer-copy>.diagram-eyebrow{grid-column:1/-1}.explorer-copy h3{margin-bottom:0}.explorer-copy p{margin:0}.explorer-copy .evidence-label{grid-column:1/-1;margin-top:18px}.explorer-visual{min-height:300px;max-width:720px;width:100%;margin:0 auto}.method-story,.story-replay{grid-template-columns:1fr;gap:5px;padding:40px 0}.story-copy,.story-replay .story-copy{grid-column:1;grid-row:auto;max-width:650px}.story-visual,.story-replay .story-visual{grid-column:1;grid-row:auto;width:100%;max-width:760px;margin:auto}.story-copy h3{font-size:33px}.story-number{font-size:36px;margin-bottom:15px}.story-detail{margin-bottom:18px}.test-policy-heading{margin-top:30px}.trajectory-lane{grid-template-columns:110px 1fr;gap:25px}.trajectory>li{font-size:13px}.replay-route{font-size:14px}.lane-label strong{font-size:16px}.policy-loop{gap:25px}.loop-labels{font-size:17px}.contract-bridge{flex-wrap:wrap;gap:18px}.bridge-input{flex:1}.bridge-contract{flex:1.3}.bridge-judge{display:none}.bridge-input strong{font-size:16px}.bridge-contract>strong{font-size:16px}.bridge-input img{width:40px;height:54px}.bridge-input .diagram-eyebrow,.bridge-contract .diagram-eyebrow{font-size:11px}}
@media(max-width:600px){.home-evaluation .section-heading h2{font-size:31px}.home-evaluation .section-heading p{font-size:17px}.contract-bridge{display:grid;grid-template-columns:1fr auto;gap:18px;padding:21px 0;margin-bottom:28px}.bridge-input{grid-column:1;gap:14px}.bridge-input strong{font-size:17px}.bridge-input img{width:39px;height:51px}.bridge-arrow{font-size:22px;transform:rotate(90deg);grid-column:2;grid-row:1}.bridge-contract{grid-column:1/-1;border-top:1px solid #2c2c2c;padding-top:16px}.bridge-contract>strong{font-size:17px}.bridge-contract .diagram-eyebrow,.bridge-input .diagram-eyebrow{font-size:12px}.explorer-tabs{gap:8px;grid-template-columns:1fr 2fr;margin-top:28px}.policy-tab-group>div{gap:8px}.tab-group-label{font-size:10px;letter-spacing:.1em}.method-tab{display:block;min-height:99px;padding:12px 9px}.method-tab>b{display:block;font-size:18px;margin-bottom:9px}.method-tab>span{display:block;font-size:13px;line-height:1.3}.explorer-copy{display:block}.explorer-copy>.diagram-eyebrow{font-size:12px;margin-bottom:14px}.explorer-copy h3{font-size:29px;margin-bottom:17px}.explorer-copy p{font-size:16px}.explorer-copy .evidence-label{margin-top:19px}.explorer-panel{padding:25px 0;gap:20px}.explorer-visual{min-height:0}.graph-desktop{display:none}.graph-mobile{display:block;max-width:340px;margin:auto}.diagram-foot{font-size:12px;line-height:1.5;max-width:300px;margin:14px auto 0}.replay-route{font-size:11px;gap:7px;margin-bottom:23px;flex-wrap:wrap}.replay-route i{font-size:16px}.replay-windows{grid-template-columns:1fr;gap:19px}.replay-window{display:grid;grid-template-columns:108px 1fr;gap:0 15px;align-items:center}.replay-window figcaption{border:0;padding:0;font-size:14px;grid-row:1/3}.replay-track{margin-top:9px;grid-column:2;height:12px}.replay-evidence{margin-top:18px;gap:10px}.replay-evidence strong{font-size:15px}.drawing-note{font-size:11px;margin-top:14px}.policy-loop{gap:13px;margin-bottom:20px}.policy-loop>img{width:80px;height:58px}.policy-loop .diagram-eyebrow{font-size:10px;margin-bottom:9px}.loop-labels{font-size:13px;gap:10px}.loop-labels>b{font-size:20px}.trajectory-lane{grid-template-columns:1fr;gap:18px;padding:19px 0}.lane-label{display:flex;align-items:baseline;justify-content:space-between}.lane-label strong{font-size:15px}.lane-label>span{font-size:12px}.trajectory{margin-top:5px}.trajectory>li{font-size:12px}.adaptive-drawing>.diagram-foot{margin-top:0;padding-top:16px}.method-story,.story-replay{padding:34px 0;gap:12px}.story-copy h3{font-size:31px}.story-copy p{font-size:16px}.story-number{font-size:32px;margin-bottom:17px}.story-visual{padding:10px 0}.story-detail{font-size:12px;line-height:1.6}.test-policy-heading{display:block}.test-policy-heading>span{font-size:29px}.test-policy-heading p{margin-top:15px;font-size:14px}.evidence-close{justify-content:flex-start;gap:10px;font-size:12px;line-height:1.5}.evidence-close>b{display:none}.evidence-close strong{width:100%;padding-top:6px;font-size:17px}.evaluation-detail-link{font-size:14px}}

/* Dependency-graph typography and geometry. */

    .source-edge { fill: none; stroke: #737780; stroke-width: 2.5; stroke-linecap: round; }
    .source-edge-arrow { fill: #737780; }
    .source-node { fill: #202226; stroke: #737780; stroke-width: 1.5; }
    .source-node-charge { fill: #f9423a; stroke: #f9423a; }
    .source-rule { fill: #f3f1ed; font: 500 26px Urbanist, Arial, sans-serif; text-anchor: middle; }
    .source-rule-charge { fill: #161719; font-weight: 650; }
    .source-name { fill: #f3f1ed; font: 500 22px Urbanist, Arial, sans-serif; text-anchor: middle; }
    .source-note { fill: #a7a9af; font: 400 18px Urbanist, Arial, sans-serif; text-anchor: middle; }


    .source-mobile-edge { fill: none; stroke: #737780; stroke-width: 2; stroke-linecap: round; }
    .source-mobile-arrow { fill: #737780; }
    .source-mobile-node { fill: #202226; stroke: #737780; stroke-width: 1.25; }
    .source-mobile-charge { fill: #f9423a; stroke: #f9423a; }
    .source-mobile-name { fill: #f3f1ed; font: 500 17px Urbanist, Arial, sans-serif; text-anchor: middle; }
    .source-mobile-charge-name { fill: #161719; font-weight: 650; }

/* Close the Home story with the research takeaway. */
.home-takeaway{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:64px;padding-top:64px;padding-bottom:64px}
.home-takeaway h2{font-size:clamp(34px,3.4vw,50px);line-height:1.14}
.takeaway-copy{max-width:570px}
.takeaway-copy p{font-size:20px;line-height:1.5;color:var(--muted);margin-bottom:20px}
.takeaway-copy p:last-of-type{color:var(--text);margin-bottom:28px}
.takeaway-copy strong{font-weight:700}
@media(max-width:900px){.home-takeaway{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:48px}.home-takeaway h2{font-size:clamp(30px,6vw,44px)}.takeaway-copy{max-width:670px}.takeaway-copy p{font-size:18px}.home-takeaway .button{margin-top:0}}

/* Home opening: a rising backdrop and three independent baseline reveals. */
.home-hero{padding-top:0;padding-bottom:28px}
.hero-scroll{--hero-header:79px;--hero-height:calc(100svh - var(--hero-header));--hero-travel:0px;--curtain-y:100%;--intro-opacity:1;--logo-top:0px;--logo-cap:152px}
.hero-stage{position:relative;isolation:isolate;background:var(--bg)}
.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#181818;pointer-events:none}
.hero-media video,.hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.08))}
.hero-intro{position:relative;padding-top:clamp(48px,8vh,100px);padding-bottom:clamp(48px,8vh,100px)}
.hero-intro .hero-bottom{margin-bottom:0}
.hero-brand-curtain{display:none;background:#000;pointer-events:none}
.hero-brand{position:relative;background:#000;pointer-events:none}
.hero-brand-content{padding-top:64px;padding-bottom:64px}
.hero-wordmark{font-family:Krafton,Arial,sans-serif;font-size:clamp(44px,8.6vw,124px);font-weight:400;line-height:1.18;letter-spacing:0;text-transform:none;color:var(--red);font-synthesis:none}
.hero-logo-line{display:block;overflow:hidden;white-space:nowrap}
.hero-logo-line>span{display:block;font:inherit;letter-spacing:inherit}
.hero-gallery{padding-top:32px}
.hero-scroll.is-scroll-ready{height:calc(var(--hero-height) + var(--hero-travel))}
.is-scroll-ready .hero-stage{position:sticky;top:var(--hero-header);height:var(--hero-height);overflow:hidden}
.is-scroll-ready .hero-intro{height:100%;display:flex;flex-direction:column;justify-content:center;opacity:var(--intro-opacity);will-change:opacity}
.is-scroll-ready .hero-brand-curtain{display:block;position:absolute;inset:0;z-index:2;transform:translate3d(0,var(--curtain-y),0);will-change:transform}
.is-scroll-ready .hero-brand{position:absolute;inset:0;z-index:3;background:transparent}
.is-scroll-ready .hero-brand-content{padding-top:var(--logo-top);padding-bottom:0}
.is-scroll-ready .hero-wordmark{font-size:min(clamp(44px,8.6vw,124px),var(--logo-cap))}
.is-scroll-ready .hero-logo-line>span{transform:translate3d(0,var(--line-y,110%),0);will-change:transform}
@media(max-width:760px){.hero-scroll{--hero-header:69px}.hero-intro{padding-top:38px;padding-bottom:38px}.hero-wordmark{font-size:clamp(28px,11.5vw,84px)}.is-scroll-ready .hero-wordmark{font-size:min(clamp(28px,11.5vw,84px),var(--logo-cap))}.hero-brand-content{padding-top:52px;padding-bottom:52px}.is-scroll-ready .hero-brand-content{padding-top:var(--logo-top);padding-bottom:0}.hero-gallery{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.hero-scroll.is-scroll-ready{height:auto}.is-scroll-ready .hero-stage{position:relative;top:auto;height:auto;overflow:visible}.is-scroll-ready .hero-intro{height:auto;opacity:1;will-change:auto}.is-scroll-ready .hero-brand-curtain{display:none}.is-scroll-ready .hero-brand{position:relative;background:#000}.is-scroll-ready .hero-brand-content{padding-top:52px;padding-bottom:52px}.is-scroll-ready .hero-logo-line>span{transform:none;will-change:auto}}
@media(max-width:350px){.home-results .section-heading h2{font-size:25px}}

/* Requirement-level revision cases, using the paper's original game captures. */
.revision-summary{display:grid;grid-template-columns:1fr .85fr 1.2fr;gap:42px;align-items:center;padding:30px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:52px}
.revision-lift{display:flex;align-items:center;gap:22px}.revision-lift>strong{font-family:Krafton,Arial,sans-serif;font-size:clamp(42px,4.7vw,66px);font-weight:400;line-height:1;color:var(--red);white-space:nowrap}.revision-lift>strong>span{font-size:.52em}.revision-lift>p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.revision-summary-copy>strong{font-size:19px;font-weight:600;line-height:1.35}.revision-summary-copy>p{font-size:13px;color:var(--muted);margin:10px 0 0}.revision-summary .revision-bars{margin:0}.revision-summary .revision-bars>div{margin-top:14px;font-size:13px}.revision-summary .revision-bars>div:first-child{margin-top:0}.revision-summary .revision-bars b{font-size:19px}
.revision-carousel{min-width:0}.revision-case-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.revision-case-toolbar .eyebrow{font-size:12px;color:var(--text)}.revision-case-toolbar p{margin:6px 0 0;font-size:14px;color:var(--muted)}.revision-controls{display:none;align-items:center;gap:10px}.is-carousel-ready .revision-controls{display:flex}.revision-counter{font-size:19px;font-weight:600;margin-right:16px;white-space:nowrap;font-variant-numeric:tabular-nums}.revision-counter>span{color:#777}.revision-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #555;background:transparent;color:var(--text);font-size:25px;line-height:1;transition:background .2s,border-color .2s}.revision-controls button:hover{background:var(--red);border-color:var(--red);color:white}
.revision-viewport{outline-offset:8px;min-width:0;touch-action:pan-y}.revision-viewport:focus-visible{outline:2px solid var(--red)}.revision-case{min-width:0;margin-bottom:50px}.revision-case[hidden]{display:none}.is-carousel-ready .revision-case{margin-bottom:0}.case-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.case-topic{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:7px;font-weight:600}.case-heading h3{font-family:Krafton,Arial,sans-serif;font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.2;margin:0}.case-rule{font-size:12px;color:var(--muted);white-space:nowrap;letter-spacing:.04em;padding-bottom:3px}
.case-requirement{display:grid;grid-template-columns:112px 1fr 24px 1fr;align-items:center;gap:24px;background:#202020;border-left:3px solid var(--red);padding:22px 26px;margin-bottom:28px;min-height:118px}.case-spec-label{font-size:11px;font-weight:700;letter-spacing:.075em;color:var(--muted)}.case-requirement>div>span{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;color:#aaa;margin-bottom:5px}.case-requirement p{font-size:17px;line-height:1.4;margin:0}.case-spec-arrow{font-size:25px;color:var(--red)}
.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;min-height:426px}.case-side{min-width:0;border-top:1px solid #656565}.case-side-feedback{border-top-color:var(--red)}.case-condition{font-size:15px;font-weight:600;padding:13px 0 14px}.case-side-feedback .case-condition{color:var(--red)}.case-frames{background:#080808;overflow:hidden}.case-frame,.case-zoom-image{position:relative;overflow:hidden;width:100%;background:#090c10}.case-frame>img,.case-zoom-image>img{position:absolute;max-width:none;height:auto;user-select:none}.case-frame>img{pointer-events:none}.case-zoom{position:absolute;right:4%;top:8%;width:22%;z-index:2;border:1px solid var(--red);box-shadow:0 4px 20px #0007;background:#101010}.case-zoom>span{display:block;font-size:9px;font-weight:700;letter-spacing:.12em;padding:3px 6px;color:var(--text);background:#111}.case-marker{position:absolute;border:1.5px dashed var(--red);box-shadow:0 0 0 1px #ffffffb3;pointer-events:none}.case-outcome{font-size:17px;font-weight:600;line-height:1.4;padding:14px 0;margin:0}.case-side-feedback .case-outcome{color:var(--red)}.case-note{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0 0;max-width:950px;min-height:42px}.case-step-label{font-size:11px;padding:7px 12px;color:#c9c9c9;background:#222;font-weight:600;letter-spacing:.03em}.case-pointer{position:absolute;z-index:1;transform:translate(-50%,-50%);color:white;text-shadow:0 1px 3px #000;font-size:10px;line-height:1;pointer-events:none}.case-pointer>i{position:relative;display:block;width:16px;height:16px;border:1px solid white;border-radius:50%;filter:drop-shadow(0 0 1px black)}.case-pointer>i::before,.case-pointer>i::after{content:"";position:absolute;background:white}.case-pointer>i::before{height:1px;left:-4px;right:-4px;top:6px}.case-pointer>i::after{width:1px;top:-4px;bottom:-4px;left:6px}.case-pointer>b{position:absolute;right:24px;top:20px;font-weight:600;white-space:nowrap}.case-origin{position:absolute;width:7%;aspect-ratio:1;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.case-guide{position:absolute;top:3%;bottom:3%;border-left:2px dashed var(--red);filter:drop-shadow(0 0 1px #fff);pointer-events:none}.case-guide>b{position:absolute;top:4px;right:8px;font-size:11px;font-weight:600;color:var(--red);white-space:nowrap}.case-runtime{border-bottom:1px solid var(--line);padding:18px 18px 15px;background:#202020}.case-runtime>span{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.case-runtime>div{display:flex;gap:24px;justify-content:space-between;margin-top:10px}.case-runtime>div>span{display:flex;gap:16px;align-items:baseline;font-size:14px}.case-runtime b,.case-runtime strong{font-size:26px;font-variant-numeric:tabular-nums}.case-side-feedback .case-runtime strong{color:var(--red)}
.revision-case-nav{display:none;position:relative;border-top:1px solid var(--line);margin-top:26px;overflow-x:auto;scrollbar-width:thin}.is-carousel-ready .revision-case-nav{display:flex}.revision-case-nav button{flex:1 0 0;min-width:130px;border:0;border-top:2px solid transparent;margin-top:0;padding:17px 10px 10px 0;text-align:left;background:transparent;color:var(--muted);font-size:12px;line-height:1.3;transition:color .2s,border-color .2s}.revision-case-nav button>span{display:block;font-size:11px;letter-spacing:.06em;margin-bottom:6px}.revision-case-nav button[aria-pressed=true]{border-top-color:var(--red);color:var(--text)}.revision-case-nav button[aria-pressed=true]>span{color:var(--red)}.revision-case-nav button:hover{color:var(--text)}
@media(min-width:1101px){.revision-lift{flex-wrap:wrap;gap:10px 20px}}
@media(max-width:1100px){.revision-summary{grid-template-columns:1fr 1fr;gap:24px 40px}.revision-summary-copy{display:flex;grid-column:1/-1;order:3;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line)}.revision-summary-copy>strong{font-size:14px}.revision-summary-copy>p{margin:0;font-size:12px}.revision-lift{flex-wrap:wrap;gap:12px 20px}.case-requirement{grid-template-columns:90px 1fr 18px 1fr;gap:17px;padding:20px}.case-requirement p{font-size:15px}.case-comparison{min-height:330px;gap:18px}.case-outcome{font-size:15px}.case-note{min-height:42px}}
@media(max-width:760px){.revision-summary{grid-template-columns:1fr;padding:22px 0 26px;gap:24px;margin-bottom:34px}.revision-lift{flex-wrap:nowrap;gap:22px}.revision-lift>strong{font-size:56px}.revision-lift>p{font-size:13px}.revision-summary .revision-bars{max-width:none}.revision-case-toolbar{align-items:flex-start;gap:12px;margin-bottom:26px}.revision-case-toolbar .eyebrow{font-size:10px;letter-spacing:.07em}.revision-case-toolbar p{font-size:12px;max-width:170px}.revision-controls{gap:6px}.revision-counter{font-size:15px;margin-right:5px}.revision-controls button{width:34px;height:36px;font-size:22px}.case-heading{display:block;margin-bottom:18px}.case-heading h3{font-size:24px;line-height:1.3}.case-rule{display:block;margin-top:8px;font-size:11px}.case-topic{font-size:10px}.case-requirement{grid-template-columns:1fr;gap:15px;padding:17px 18px;min-height:0;margin-bottom:24px}.case-spec-label{font-size:10px}.case-spec-label br{display:none}.case-spec-label br::after{content:" "}.case-spec-arrow{display:none}.case-requirement p{font-size:15px}.case-requirement>div>span{font-size:9px}.case-comparison{grid-template-columns:1fr;gap:20px;min-height:0}.case-condition{font-size:14px;padding:11px 0}.case-outcome{font-size:15px;padding:12px 0 0}.case-note{margin-top:20px;font-size:12px;min-height:0}.case-zoom{width:24%}.case-zoom>span{font-size:8px;padding:2px 4px}.case-step-label{font-size:10px}.revision-case-nav{margin-top:24px}.revision-case-nav button{min-width:116px;font-size:11px;padding-top:14px}.case-pointer>b{font-size:9px}.case-guide>b{font-size:9px}.case-runtime{padding:14px}.case-runtime>div>span{font-size:13px}.case-runtime b,.case-runtime strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.revision-controls button,.revision-case-nav button{transition:none}}

@media(max-width:380px){.revision .section-heading h2{font-size:27px}.revision-lift>strong{font-size:48px}.revision-summary-copy{flex-wrap:wrap;gap:10px}}

/* Paper-inspired evaluation pipeline. Original figure objects, native layout. */
.paper-pipeline{--pp-accent:var(--red,#f9423a);--pp-line:#3a3a3a;--pipeline-progress:0;position:relative;margin:0 0 40px;padding:24px 28px 0;border:1px solid #393939;background:#111;color:#f4f3ef;font-family:Urbanist,Arial,sans-serif;isolation:isolate}
.paper-pipeline *{box-sizing:border-box}.pp-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.pp-eyebrow,.pp-node-kicker{font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a6a6a6}.pp-transport{display:flex;align-items:center;gap:8px;min-height:32px;min-width:70px;padding:6px 10px;border:1px solid #444;background:transparent;color:#ddd;font-size:11px}.pp-transport[hidden]{display:none}.pp-transport:hover{border-color:var(--pp-accent)}.pp-transport-icon{width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}.pp-transport[aria-pressed=true] .pp-transport-icon{width:0;height:0;border:5px solid transparent;border-left:7px solid currentColor;border-right:0}
.pp-canvas{position:relative;display:grid;grid-template-columns:1fr 1.5fr 1.5fr;grid-template-rows:220px auto auto;column-gap:46px;row-gap:44px;padding:24px 0 28px}.pp-wires{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible;pointer-events:none}.pp-wire{fill:none;stroke:var(--pp-line);stroke-width:1.4;vector-effect:non-scaling-stroke}.pp-wire.is-current{stroke:#92504d}.pp-wire-trace{fill:none;stroke:var(--pp-accent);stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.pp-wire-trace.is-current{opacity:1;animation:pp-trace 2s cubic-bezier(.3,.1,.25,1) forwards}.pp-arrow{fill:var(--pp-line)}.pp-arrow.is-current{fill:var(--pp-accent)}
.pp-object{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;min-width:0;background:#111;text-align:center}.pp-art{position:relative;display:flex;justify-content:center;align-items:center;flex:1;width:100%;min-height:0;margin-bottom:14px}.pp-art::before{content:"";position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(249,66,58,.15),transparent 68%);opacity:0;transition:opacity .6s}.pp-object.is-active .pp-art::before{opacity:1}.pp-art img{position:relative;max-width:100%;height:100%;max-height:150px;object-fit:contain;filter:saturate(.8);transition:filter .5s}.pp-object.is-active .pp-art img{filter:saturate(1)}.pp-builder .pp-art img{max-height:157px}.pp-build .pp-art img{max-height:167px}.pp-object>strong{font-size:18px;line-height:1.3;font-weight:600}.pp-object>span{display:block;margin-top:6px;color:#969696;font-size:11px;line-height:1.4}.pp-contract{grid-column:1;grid-row:2;position:relative;min-width:0;padding:20px 16px 17px;background:#1b1818;border:1px solid #57423f;transition:border-color .45s,background .45s}.pp-contract>.pp-node-kicker{display:block;font-size:9px;color:#bc827d;margin-bottom:8px}.pp-contract>strong{display:block;font-size:18px;line-height:1.25;font-weight:600}.pp-contract.is-active{border-color:var(--pp-accent);background:#211918}.pp-dependencies{display:block;width:100%;height:85px;margin:17px 0 13px;overflow:visible}.pp-edge{fill:none;stroke:#985d59;stroke-width:1.25}.pp-rule rect{fill:#211b1a;stroke:#9d7773;stroke-width:1.3;transition:fill .4s,stroke .4s}.pp-rule text{font-family:Urbanist,Arial,sans-serif;font-size:14px;fill:#e2d2ce;text-anchor:middle}.pp-contract.is-active .pp-rule rect{stroke:#ee7167;fill:#392522}.pp-contract-contents{display:block;color:#b7aaa7;font-size:10px;line-height:1.5}.pp-fixed{display:flex;gap:6px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #473431;font-size:9px;line-height:1.4;color:#c6b7b4}.pp-fixed svg{width:10px;height:12px;stroke:currentColor;stroke-width:1.25;flex-shrink:0}
.pp-evaluation{grid-column:2/4;grid-row:2;min-width:0;background:#171717;border:1px solid #444;padding:17px 18px 19px;transition:border-color .45s}.pp-evaluation.is-active{border-color:#a74f49}.pp-evaluation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:25px;margin-bottom:17px}.pp-evaluation-heading .pp-node-kicker{font-size:9px;color:#c7c1bd}.pp-policy-label{color:#8f8c89;font-size:9px;line-height:1.4}.pp-axes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pp-axis{position:relative;min-width:0}.pp-axis+.pp-axis{padding-left:18px;border-left:1px solid #333}.pp-axis-visual{position:relative;display:flex;align-items:center;justify-content:center;height:111px;margin-bottom:17px;overflow:hidden}.pp-axis>strong{display:block;font-size:15px;font-weight:600;line-height:1.3;min-height:39px;transition:color .35s}.pp-axis>span{display:block;color:#999;font-size:10px;line-height:1.45;margin-top:7px}.pp-axis.is-active>strong{color:var(--pp-accent)}.pp-code{position:relative;align-self:stretch;width:104px;padding:12px 12px 8px;border:1px solid #696566;background:linear-gradient(145deg,#333037,#222126);border-radius:6px;overflow:hidden;box-shadow:0 10px 25px #080808}.pp-code-top{display:flex;gap:4px;margin-bottom:11px}.pp-code-top i{width:3px;height:3px;background:#aaa;border-radius:50%}.pp-code b{display:block;color:#e9dedd;font-family:monospace;font-size:19px;font-weight:400;line-height:1.1}.pp-code-lines{display:grid;gap:4px;margin-top:11px;padding-left:8px}.pp-code-lines i{height:2px;width:83%;background:#a97673}.pp-code-lines i:nth-child(even){width:58%;background:#82787d}.pp-code-lines i:nth-child(3){width:91%;background:#c18a83}.pp-code-scan{position:absolute;left:0;right:0;top:32%;height:28px;background:linear-gradient(transparent,rgba(249,66,58,.16));border-bottom:1px solid #ff7466;opacity:0}.pp-source.is-active .pp-code-scan{opacity:1;animation:pp-scan 2s ease-in-out infinite}
.pp-replay-view{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:93px;overflow:hidden}.pp-replay-view img{width:225%;max-width:none;height:90px;object-fit:contain}.pp-playhead{position:absolute;left:14%;top:5px;bottom:5px;width:1px;background:var(--pp-accent);box-shadow:0 0 5px rgba(249,66,58,.6);opacity:0}.pp-playhead::before{content:"";position:absolute;left:-3px;top:0;width:7px;height:5px;background:var(--pp-accent)}.pp-replay.is-active .pp-playhead{opacity:1;animation:pp-playhead 2.5s linear infinite}.pp-frame-marker{position:absolute;inset:24px 35% 24px 29%;border:1px solid rgba(248,231,215,.35);opacity:0}.pp-replay.is-active .pp-frame-marker{opacity:1}.pp-playtest-art{position:relative;z-index:1;height:103px;width:100%;object-fit:contain}.pp-observe-ring{position:absolute;bottom:4px;left:15%;right:15%;height:26px;border:1px solid var(--pp-accent);border-radius:50%;opacity:0}.pp-playtest.is-active .pp-observe-ring{animation:pp-observe 2s ease-out infinite}
.pp-feedback{grid-column:1/4;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:0;padding:0 18px;background:#111}.pp-evidence,.pp-revise{display:flex;align-items:center;gap:17px;min-width:0}.pp-evidence>img{width:77px;height:91px;object-fit:contain}.pp-revise>img{width:72px;height:89px;object-fit:contain}.pp-evidence .pp-node-kicker{display:block;font-size:9px;margin-bottom:7px}.pp-evidence strong,.pp-revise strong{display:block;font-size:19px;line-height:1.22;font-weight:600}.pp-evidence div>span:last-child,.pp-revise div>span{display:block;font-size:10px;line-height:1.5;color:#999;margin-top:8px}.pp-feedback-arrow{font-size:25px;color:#777}.pp-feedback.is-active .pp-feedback-arrow,.pp-feedback.is-active .pp-evidence strong,.pp-feedback.is-active .pp-revise strong{color:var(--pp-accent)}
.pp-bottom{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;align-items:center;border-top:1px solid #353535;padding:20px 0 23px;min-height:104px}.pp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pp-steps button{position:relative;display:flex;gap:7px;align-items:baseline;padding:6px 0 13px;border:0;border-bottom:1px solid #444;background:transparent;color:#999;font-size:12px;font-weight:600;text-align:left;overflow:hidden}.pp-steps button>span{font-size:9px;color:#777}.pp-steps button>i{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--pp-accent);transform:scaleX(0);transform-origin:left}.pp-steps button[aria-pressed=true]{color:#f4f3ef}.pp-steps button[aria-pressed=true]>span{color:var(--pp-accent)}.pp-steps button[aria-pressed=true]>i{transform:scaleX(var(--pipeline-progress))}.paper-pipeline.is-paused .pp-steps button[aria-pressed=true]>i{transform:scaleX(1)}.pp-bottom>p{margin:0;color:#aaa;font-size:12px;line-height:1.55}.paper-pipeline:not(.is-running) *,.paper-pipeline:not(.is-running) *::before,.paper-pipeline:not(.is-running) *::after{animation-play-state:paused!important}.paper-pipeline button:focus-visible{outline:2px solid #f9423a;outline-offset:5px}
@keyframes pp-trace{to{stroke-dashoffset:0}}@keyframes pp-scan{0%,100%{transform:translateY(-13px)}50%{transform:translateY(32px)}}@keyframes pp-playhead{to{left:90%}}@keyframes pp-observe{0%{opacity:.7;transform:scale(.7)}100%{opacity:0;transform:scale(1.25)}}
@media(max-width:1100px) and (min-width:761px){.paper-pipeline{padding-left:20px;padding-right:20px}.pp-canvas{column-gap:32px;grid-template-columns:1fr 1.45fr 1.45fr}.pp-contract{padding:17px 12px}.pp-contract>strong{font-size:16px}.pp-evaluation{padding:17px 12px}.pp-axes{gap:11px}.pp-axis+.pp-axis{padding-left:11px}.pp-axis>strong{font-size:13px}.pp-axis>span{font-size:9px}.pp-policy-label{display:none}.pp-object>span{font-size:10px}.pp-fixed{font-size:8px}.pp-feedback{padding:0;gap:17px}.pp-evidence strong,.pp-revise strong{font-size:17px}.pp-evidence>img{width:65px}.pp-evidence,.pp-revise{gap:11px}.pp-revise>img{width:60px}.pp-bottom{grid-template-columns:1fr;gap:16px;padding-bottom:22px}.pp-steps{max-width:600px}}
@media(max-width:760px){.paper-pipeline{padding:19px 17px 0}.pp-eyebrow{font-size:9px}.pp-canvas{grid-template-columns:1fr 1fr;grid-template-rows:180px auto auto auto;column-gap:30px;row-gap:34px;padding:24px 0}.pp-design{grid-column:1;grid-row:1}.pp-builder{grid-column:2;grid-row:1}.pp-build{grid-column:2;grid-row:2;justify-content:center}.pp-contract{grid-column:1;grid-row:2;min-height:225px;padding:13px 10px 12px}.pp-object>strong{font-size:15px}.pp-object>span{font-size:9px;max-width:135px}.pp-art{margin-bottom:10px}.pp-art img{max-height:116px}.pp-builder .pp-art img{max-height:118px}.pp-build .pp-art{flex:0 1 auto;height:110px}.pp-build .pp-art img{max-height:110px}.pp-contract>.pp-node-kicker{font-size:7px;margin-bottom:6px}.pp-contract>strong{font-size:14px}.pp-dependencies{height:62px;margin:12px 0 9px}.pp-contract-contents{font-size:8px;white-space:nowrap;letter-spacing:-.02em}.pp-fixed{font-size:7px;gap:4px;padding-top:8px;margin-top:8px}.pp-fixed svg{width:8px;height:10px}.pp-evaluation{grid-column:1/3;grid-row:3;padding:15px 12px 18px}.pp-evaluation-heading{margin-bottom:11px;min-height:0}.pp-evaluation-heading .pp-node-kicker{font-size:8px}.pp-policy-label{display:none}.pp-axes{gap:10px}.pp-axis+.pp-axis{padding-left:10px}.pp-axis-visual{height:80px;margin-bottom:13px}.pp-axis>strong{font-size:11px;min-height:30px}.pp-axis>span{font-size:8px}.pp-code{width:69px;padding:8px 8px 5px;border-radius:4px}.pp-code-top{margin-bottom:7px}.pp-code b{font-size:16px}.pp-code-lines{gap:3px;margin-top:8px;padding-left:5px}.pp-code-lines i{height:1.5px}.pp-code-scan{height:20px}.pp-replay-view,.pp-replay-view img{height:73px}.pp-playhead{top:9px;bottom:9px}.pp-frame-marker{inset:22px 35% 22px 29%}.pp-playtest-art{height:73px}.pp-feedback{grid-column:1/3;grid-row:4;padding:0;gap:12px;align-items:flex-start}.pp-evidence,.pp-revise{flex:1;flex-direction:column;align-items:flex-start;gap:10px}.pp-evidence>img{height:68px;width:62px}.pp-revise>img{height:68px;width:61px}.pp-evidence .pp-node-kicker{font-size:7px;max-width:130px;line-height:1.5;min-height:22px;margin-bottom:4px}.pp-evidence strong,.pp-revise strong{font-size:14px}.pp-revise strong{margin-top:26px}.pp-evidence div>span:last-child,.pp-revise div>span{font-size:8px;margin-top:7px;max-width:130px}.pp-feedback-arrow{align-self:center;font-size:20px;margin-top:12px}.pp-bottom{grid-template-columns:1fr;gap:16px;padding-top:14px;padding-bottom:19px;min-height:150px}.pp-steps{gap:10px}.pp-steps button{font-size:10px;gap:5px}.pp-steps button>span{font-size:8px}.pp-bottom>p{font-size:11px;line-height:1.6;min-height:53px}}
@media(max-width:760px){.pp-axes{grid-template-columns:1fr;gap:14px}.pp-axis{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto auto;gap:0 16px;align-items:start}.pp-axis+.pp-axis{padding:14px 0 0;border-left:0;border-top:1px solid #343434}.pp-axis-visual{grid-row:1/3;margin:0;height:80px}.pp-axis>strong{align-self:end;font-size:14px;min-height:0;line-height:1.35}.pp-axis>strong br{display:none}.pp-axis>strong br::after{content:" "}.pp-axis>span{font-size:10px;margin-top:6px}.pp-replay-view,.pp-replay-view img{height:68px}.pp-playtest-art{height:75px}}
@media(max-width:380px){.paper-pipeline{padding-left:12px;padding-right:12px}.pp-canvas{column-gap:20px}.pp-contract>strong{font-size:13px}.pp-contract-contents{font-size:7px}.pp-fixed{font-size:6.5px}.pp-axis>strong{font-size:13px}.pp-evaluation{padding-left:9px;padding-right:9px}.pp-axes{gap:8px}.pp-axis+.pp-axis{padding-left:0}.pp-steps{gap:7px}.pp-steps button{font-size:9px}}
@media(prefers-reduced-motion:reduce){.paper-pipeline *,.paper-pipeline *::before,.paper-pipeline *::after{animation:none!important;transition:none!important}.pp-wire-trace.is-current{stroke-dashoffset:0}}

/* Full paper screenshots. All selectors and behavior are scoped per instance. */
.scenario-evidence{--se-red:var(--red,#f9423a);--se-text:var(--text,#f4f3ef);--se-muted:#a8a8a8;--se-line:#393939;background:#171717;color:var(--se-text);width:100%;min-width:0;border:1px solid var(--se-line);font-family:Urbanist,Arial,sans-serif;overflow:hidden}
.scenario-evidence *{box-sizing:border-box}
.scenario-evidence .se-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 0}
.scenario-evidence .se-eyebrow{font-size:11px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--se-red)}
.scenario-evidence .se-collection{font-size:11px;line-height:1.4;color:var(--se-muted);white-space:nowrap}
.scenario-evidence .se-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px 16px}
.scenario-evidence .se-game-picker{display:block;position:relative;flex:1;max-width:390px;min-width:0}
.scenario-evidence select{appearance:none;-webkit-appearance:none;display:block;width:100%;margin:0;background:#171717;color:var(--se-text);border:0;border-bottom:1px solid #5c5c5c;border-radius:0;font:600 clamp(17px,1.8vw,22px)/1.3 Urbanist,Arial,sans-serif;padding:4px 30px 7px 0;cursor:pointer;text-overflow:ellipsis}
.scenario-evidence select:hover{border-color:var(--se-red)}
.scenario-evidence .se-game-picker>svg{position:absolute;right:2px;top:15px;width:12px;height:8px;fill:none;stroke:var(--se-red);stroke-width:1.5;pointer-events:none}
.scenario-evidence .se-autoplay{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-width:91px;min-height:40px;padding:8px 11px;background:transparent;border:1px solid var(--se-line);border-radius:0;color:var(--se-text);font:600 12px/1.2 Urbanist,Arial,sans-serif;cursor:pointer;transition:background .18s,border-color .18s}
.scenario-evidence .se-autoplay:hover{background:#242424;border-color:#777}
.scenario-evidence .se-autoplay svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.scenario-evidence .se-autoplay .se-play-icon{display:none;stroke-width:1.3}
.scenario-evidence .se-autoplay[aria-pressed="true"] .se-play-icon{display:block}
.scenario-evidence .se-autoplay[aria-pressed="true"] .se-pause-icon{display:none}
.scenario-evidence .se-figure{margin:0}
.scenario-evidence .se-stage{position:relative;background:#090909;width:100%;aspect-ratio:16/9;border-block:1px solid var(--se-line);overflow:hidden}
.scenario-evidence .se-stage>img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;opacity:1;transition:opacity .18s ease}
.scenario-evidence .se-stage.is-loading>img{opacity:.7}
.scenario-evidence .se-stage.is-entering>img{animation:se-reveal .26s ease both}
.scenario-evidence .se-image-error{position:absolute;inset:0;padding:24px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;color:var(--se-muted);background:#111}
.scenario-evidence .se-image-error[hidden]{display:none}
.scenario-evidence .se-caption{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;align-items:baseline;padding:15px 20px 17px;min-height:54px;font-size:14px;line-height:1.45}
.scenario-evidence .se-evidence-label{font-size:9px;font-weight:700;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;color:var(--se-muted);white-space:nowrap}
.scenario-evidence .se-observations{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--se-line);background:#131313}
.scenario-evidence .se-observations:before{content:"";position:absolute;top:-1px;left:0;width:33.333333%;height:2px;background:var(--se-red);transform:translateX(calc(var(--se-selected)*100%));transition:transform .3s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:1}
.scenario-evidence .se-observations>button{display:flex;align-items:flex-start;gap:10px;text-align:left;min-width:0;min-height:68px;padding:17px 16px;border:0;border-right:1px solid #2d2d2d;border-radius:0;background:transparent;color:var(--se-muted);font:500 12px/1.4 Urbanist,Arial,sans-serif;cursor:pointer;transition:color .2s,background .2s}
.scenario-evidence .se-observations>button:last-child{border-right:0}
.scenario-evidence .se-observations>button:hover{background:#202020;color:var(--se-text)}
.scenario-evidence .se-observations>button[aria-pressed="true"]{color:var(--se-text);background:#242121}
.scenario-evidence .se-observation-index{color:#737373;font-size:10px;font-weight:700;line-height:1.7;font-variant-numeric:tabular-nums;flex-shrink:0;transition:color .2s}
.scenario-evidence .se-observations>button[aria-pressed="true"] .se-observation-index{color:var(--se-red)}
.scenario-evidence .se-source{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 16px;padding:11px 20px;border-top:1px solid #2d2d2d;color:var(--se-muted);font-size:10px;line-height:1.5}
.scenario-evidence .se-source>span:first-child{color:#d0d0d0;white-space:nowrap}
.scenario-evidence .se-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}
.scenario-evidence button:focus-visible,.scenario-evidence select:focus-visible{outline:2px solid var(--se-red);outline-offset:-3px}
@keyframes se-reveal{from{opacity:.6}to{opacity:1}}
@media(max-width:600px){.scenario-evidence .se-heading{padding:14px 14px 0}.scenario-evidence .se-toolbar{padding:8px 14px 13px;gap:12px}.scenario-evidence .se-autoplay{min-width:78px;padding:8px;font-size:11px}.scenario-evidence .se-caption{padding:12px 14px;gap:5px 12px;font-size:12px}.scenario-evidence .se-observations>button{padding:14px 10px;gap:6px;font-size:11px;min-height:66px}.scenario-evidence .se-source{padding:10px 14px;font-size:9px}.scenario-evidence .se-collection{font-size:9px}.scenario-evidence select{font-size:17px}}
@media(max-width:400px){.scenario-evidence .se-observations>button{display:block;padding:11px 9px}.scenario-evidence .se-observation-index{display:block;margin-bottom:4px}.scenario-evidence .se-caption{grid-template-columns:1fr;gap:3px}.scenario-evidence .se-source{display:block}.scenario-evidence .se-source>span{display:block}.scenario-evidence .se-source>span:first-child{margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){.scenario-evidence *,.scenario-evidence *:before{animation:none!important;transition:none!important}}

/* Actual gameplay media and a slow, alternating game wall. */
.hero-media video{object-fit:cover;filter:saturate(.82)}
.hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.42)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 70%)}


.hero-credits{padding-bottom:30px}.hero-author-names{display:flex;flex-wrap:wrap;gap:8px 23px;font-size:14px;font-weight:500;line-height:1.45;margin:0}.hero-author-names>span{white-space:nowrap}.hero-author-names sup{font-family:Urbanist,Arial,sans-serif;font-size:8px;color:#939393;margin-left:2px}.hero-author-affiliations{font-size:11px;color:#888;margin:9px 0 0;letter-spacing:.015em}.is-scroll-ready .hero-credits{position:absolute;bottom:28px;left:0;right:0;padding-bottom:0;opacity:var(--authors-opacity,0);will-change:opacity}.author-notes{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}.paper-details .affiliation{line-height:1.8;display:block}.paper-details .authors sup{font-family:Urbanist,Arial,sans-serif;font-size:10px;color:var(--muted);margin-left:2px}
.game-wall{padding:58px 0 38px;overflow:hidden;background:#080808}.wall-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.wall-heading h2{font-size:clamp(25px,3.1vw,42px);line-height:1.16;margin:9px 0 0}.wall-heading .eyebrow{font-size:11px;color:var(--muted)}.wall-heading-actions{display:flex;align-items:center;gap:24px}.wall-motion{font-size:12px;font-weight:600;border:1px solid #555;background:transparent;color:var(--text);padding:10px 16px;white-space:nowrap}.wall-motion:hover{border-color:var(--red);color:var(--red)}.wall-count{font-size:12px;color:var(--muted);white-space:nowrap}
.marquee-row{overflow:hidden;position:relative;margin-top:14px;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.marquee-track{display:flex;width:max-content;animation:none;will-change:transform}.marquee-row:nth-child(even) .marquee-track{animation-direction:reverse}.marquee-group{display:flex;gap:14px;padding-right:14px}.marquee-card{position:relative;display:block;width:clamp(240px,24vw,370px);aspect-ratio:16/9;border:0;padding:0;text-align:left;background:#161616;flex-shrink:0;overflow:hidden;color:white}.marquee-card img{width:100%;height:100%;object-fit:contain;transition:transform .4s,filter .4s}.marquee-card:hover img{transform:scale(1.025);filter:brightness(1.08)}.marquee-card>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000d);padding:36px 16px 12px;display:flex;justify-content:space-between;align-items:end;gap:8px;font-size:13px;font-weight:600}.marquee-card small{font-size:9px;letter-spacing:.07em;color:#ddd;font-weight:500}.game-wall[data-paused=true] .marquee-track,.game-wall[data-onscreen=false] .marquee-track,.marquee-row:hover .marquee-track{animation-play-state:paused}.marquee-row:focus-within{overflow-x:auto;mask-image:none}.marquee-row:focus-within .marquee-track{animation-play-state:paused}.marquee-card:focus-visible{outline-offset:-3px;outline-width:3px}.wall-caption{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:12px;color:var(--muted)}.wall-caption a{color:var(--text)}
@keyframes game-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.video-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 20px}.video-card{border:0;padding:0;background:none;color:var(--text);text-align:left;min-width:0}.video-poster{position:relative;display:block;overflow:hidden;background:#171717;aspect-ratio:16/9}.video-poster img{width:100%;height:100%;object-fit:contain;transition:transform .35s,filter .35s}.video-card:hover img{transform:scale(1.025);filter:brightness(1.1)}.video-play{display:grid;place-items:center;position:absolute;width:46px;height:46px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff8;border-radius:50%;background:#0008;color:white;font-size:16px;padding-left:3px;backdrop-filter:blur(3px)}.video-duration{position:absolute;bottom:10px;right:10px;background:#000c;color:#fff;padding:3px 7px;font-size:10px;font-variant-numeric:tabular-nums}.video-card .game-title{font-size:18px;margin-top:12px}.video-card .game-detail{font-size:12px;margin-top:5px}.game-dialog-media{background:#050505}.game-dialog-media img,.game-dialog-media video{width:100%;max-height:65vh;object-fit:contain;display:block}.game-dialog-media video{background:#000}.dialog-source{color:var(--muted);font-size:12px;line-height:1.6}.dialog-badge{display:block;color:var(--red);font-size:10px;letter-spacing:.1em;margin-bottom:7px;text-transform:uppercase}#game-dialog .dialog-top h2{line-height:1.3;text-transform:none;font-size:24px}#game-dialog{max-height:92dvh}#dialog-description{font-size:16px;line-height:1.6}
.recorded-revisions{margin-top:58px;padding-top:30px;border-top:1px solid var(--line)}.recorded-revisions-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:24px}.recorded-revisions h3{font-family:Krafton,Arial,sans-serif;font-size:clamp(23px,2.4vw,31px);font-weight:400;margin:8px 0 0}.recorded-revisions-top p{font-size:14px;color:var(--muted);max-width:370px;margin:0}.recorded-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.recorded-tabs button{border:1px solid #484848;background:transparent;color:var(--muted);font-size:12px;padding:9px 14px}.recorded-tabs button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:white}.recorded-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.recorded-pair figcaption{font-size:13px;margin-bottom:10px}.recorded-pair figure:last-child figcaption{color:var(--red)}.recorded-pair video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#080808}.recorded-controls{display:flex;align-items:center;gap:18px;margin-top:16px}.recorded-controls button{border:1px solid #5a5a5a;background:transparent;color:var(--text);padding:10px 18px;font-size:12px;font-weight:600}.recorded-controls button:hover{border-color:var(--red);color:var(--red)}.recorded-controls p{font-size:12px;color:var(--muted);margin:0}.recorded-note{font-size:12px;color:var(--muted);margin:15px 0 0;line-height:1.6}
@media(max-width:1000px){.hero-author-names{font-size:12px;gap:6px 17px}.hero-author-affiliations{font-size:10px}.video-shelf{grid-template-columns:repeat(2,1fr)}.wall-count{display:none}.wall-heading-actions{gap:14px}}
@media(max-width:760px){.hero-credits{padding-bottom:24px}.is-scroll-ready .hero-credits{bottom:25px}.hero-author-names{font-size:11px;gap:5px 14px;line-height:1.6}.hero-author-names sup{font-size:7px}.hero-author-affiliations{font-size:9px;line-height:1.6;max-width:300px}.game-wall{padding-top:38px;padding-bottom:28px}.wall-heading{align-items:center;gap:15px;margin-bottom:23px}.wall-heading h2{font-size:25px}.wall-heading .eyebrow{font-size:9px}.wall-motion{font-size:10px;padding:9px 10px}.marquee-row{margin-top:9px;mask-image:none}.marquee-group{gap:9px;padding-right:9px}.marquee-card{width:235px}.marquee-card>span{font-size:11px;padding:26px 10px 8px}.marquee-card small{font-size:8px}.wall-caption{font-size:10px;line-height:1.6}.video-shelf{gap:22px 12px}.video-card .game-title{font-size:14px;margin-top:10px}.video-card .game-detail{font-size:11px}.video-play{width:34px;height:34px;font-size:12px}.video-duration{font-size:9px;bottom:6px;right:6px}.recorded-revisions{margin-top:40px}.recorded-revisions-top{display:block}.recorded-revisions-top p{font-size:13px;margin-top:15px}.recorded-tabs{gap:7px}.recorded-tabs button{font-size:11px;padding:8px 11px}.recorded-pair{grid-template-columns:1fr;gap:20px}.recorded-pair figcaption{font-size:12px}.recorded-controls{align-items:flex-start}.recorded-controls p{font-size:11px}.recorded-note{font-size:11px}#game-dialog .dialog-top h2{font-size:20px}.dialog-source{font-size:11px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;transform:none;will-change:auto}.marquee-row{overflow-x:auto;mask-image:none}.marquee-group[aria-hidden=true]{display:none}.is-scroll-ready .hero-credits{opacity:1}.marquee-card img,.video-poster img{transition:none}}

.game-wall.is-marquee-ready .marquee-track{animation:game-drift var(--drift-duration,130s) linear infinite}.game-wall.is-marquee-ready .marquee-row:nth-child(even) .marquee-track{animation-direction:reverse}.game-wall:not(.is-marquee-ready) .marquee-row{overflow-x:auto;mask-image:none}.game-wall.is-marquee-ready[data-paused=true] .marquee-track,.game-wall.is-marquee-ready[data-onscreen=false] .marquee-track,.game-wall.is-marquee-ready .marquee-row:hover .marquee-track{animation-play-state:paused}.game-wall.is-marquee-ready .marquee-row:focus-within .marquee-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.game-wall.is-marquee-ready .marquee-track{animation:none}}

/* Continuous travel uses a retained pixel offset and eased velocity. */
.game-wall.is-marquee-ready .marquee-track{animation:none!important;will-change:transform}
.game-wall.is-marquee-ready .marquee-row,.game-wall.is-marquee-ready .marquee-row:focus-within{overflow:clip;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.marquee-card{width:clamp(310px,27vw,396px);isolation:isolate}
.marquee-card img,.marquee-card:hover img{transform:none;filter:none;transition:none}
.marquee-card .marquee-rest-title{position:absolute;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:12px;padding:40px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:14px;font-weight:600;transition:opacity .22s ease}
.marquee-card .marquee-info{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:9px;padding:18px 20px;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.72));opacity:0;transform:translate3d(0,16px,0);transition:opacity .28s ease,transform .36s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.marquee-info .marquee-meta,.dialog-game-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:Urbanist,Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:.01em;color:#ddd;line-height:1.35}
.marquee-info .split-badge,.dialog-game-meta .split-badge{display:inline-block;padding:3px 6px;border:1px solid #ffffff65;color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.marquee-info .split-badge[data-split=Big],.dialog-game-meta .split-badge[data-split=Big]{border-color:#f9423a;color:#ff7b74}
.marquee-info .marquee-game-name{font:600 clamp(16px,1.3vw,19px)/1.15 Urbanist,Arial,sans-serif;color:white;letter-spacing:0}
.marquee-info .marquee-brief{display:block;font:400 12px/1.45 Urbanist,Arial,sans-serif;color:#e0e0e0;letter-spacing:0}
.marquee-info .marquee-cta{display:block;font-size:9px;font-weight:700;letter-spacing:.075em;color:#fff;margin-top:1px}
.marquee-card:focus-visible .marquee-info{opacity:1;transform:translate3d(0,0,0)}
.marquee-card:focus-visible .marquee-rest-title{opacity:0}
@media(hover:hover){.marquee-card:hover .marquee-info{opacity:1;transform:translate3d(0,0,0)}.marquee-card:hover .marquee-rest-title{opacity:0}}
.dialog-game-meta{gap:10px;font-size:13px;margin:-3px 0 18px}.dialog-game-meta .split-badge{font-size:10px;padding:5px 7px}
@media(max-width:760px){.marquee-card{width:280px;aspect-ratio:8/5}.game-wall.is-marquee-ready .marquee-row,.game-wall.is-marquee-ready .marquee-row:focus-within{mask-image:none}.marquee-card .marquee-info{padding:14px 16px;gap:7px}.marquee-info .marquee-game-name{font-size:16px}.marquee-info .marquee-brief{font-size:11px;line-height:1.4}.marquee-info .marquee-cta{font-size:8px}.marquee-info .marquee-meta{font-size:9px}.marquee-card .marquee-rest-title{padding:32px 14px 11px;font-size:13px}.dialog-game-meta{font-size:11px}}
@media(prefers-reduced-motion:reduce){.game-wall.is-marquee-ready .marquee-row,.game-wall.is-marquee-ready .marquee-row:focus-within{overflow-x:auto;mask-image:none}.game-wall.is-marquee-ready .marquee-track{transform:none!important;will-change:auto}.marquee-card .marquee-info,.marquee-card .marquee-rest-title{transition:none;transform:none}}

#game-dialog.game-profile-dialog{width:min(760px,calc(100vw - 32px));padding:34px;max-height:90dvh;background:#131313;border:1px solid #444;color:var(--text);overflow-y:auto}
.game-profile-dialog .close-dialog{position:absolute;top:16px;right:16px;width:28px;height:28px;font-size:24px;background:transparent;border:0;color:#bbb;padding:0;line-height:1}
.profile-heading{display:grid;grid-template-columns:156px minmax(0,1fr);gap:25px;align-items:center;padding-right:14px}.profile-thumbnail{background:#080808;border:1px solid #ffffff15;aspect-ratio:16/9}.profile-thumbnail #dialog-image{display:block;width:100%;height:100%;object-fit:contain;margin:0;max-height:none}.profile-kicker{display:block;font-size:9px;letter-spacing:.14em;color:#999;margin:0 0 9px}.game-profile-dialog #dialog-title{font-family:Urbanist,Arial,sans-serif;font-size:27px;font-weight:600;line-height:1.2;margin:0;text-transform:none;letter-spacing:0}.game-profile-dialog .dialog-game-meta{margin:12px 0 0;font-size:11px;gap:9px}.game-profile-dialog #dialog-description{font-size:18px;line-height:1.6;color:#e0e0e0;margin:28px 0}
.profile-design{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid #363636;padding-top:22px}.profile-design>div>span{font-size:10px;letter-spacing:.1em;color:#f9756e;font-weight:600;text-transform:uppercase}.profile-design p{font-size:14px;line-height:1.65;color:#bbb;margin:11px 0 0}.profile-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:28px;padding-top:19px;border-top:1px solid #303030}.profile-bottom p{font-size:10px;line-height:1.6;color:#888;max-width:300px;margin:0}.profile-bottom button{padding:10px 13px;background:#f4f3ef;color:#111;border:0;font-size:11px;font-weight:600;white-space:nowrap}
@media(min-width:1600px){.motion-cinema{height:780px;max-height:780px}.motion-message{margin-left:0}}
@media(max-width:1000px){.motion-message{width:390px;max-width:49%;padding:24px}.motion-message p{font-size:13px}.motion-cinema{min-height:540px}.motion-choices{gap:10px}.motion-choice-name{font-size:12px}}
@media(max-width:760px){.motion-section{margin-top:10px}.motion-heading{padding-top:45px;padding-bottom:25px;display:block}.motion-heading .section-index{margin-bottom:16px}.motion-heading h2{font-size:34px}.motion-heading>p{font-size:13px;margin:17px 0 0;max-width:300px}.motion-cinema{height:auto;min-height:590px}.motion-backdrop{bottom:auto;height:300px}.motion-backdrop video{object-fit:contain}.motion-cinema::before{background:linear-gradient(0deg,#050505 32%,transparent 76%)}.motion-stage-content{min-height:590px;padding-top:220px;padding-bottom:106px;justify-content:flex-start}.motion-message{width:100%;max-width:100%;padding:22px;background:#101010bd;backdrop-filter:blur(7px)}.motion-message h3{font-size:22px;line-height:1.3;margin:13px 0}.motion-message p{font-size:13px;line-height:1.6}.motion-message .text-link{font-size:11px;margin-top:16px}.motion-filmbar{bottom:19px;gap:12px;align-items:end}.motion-now strong{font-size:13px}.motion-now>span{font-size:8px}.motion-controls{gap:6px;max-width:150px;flex-shrink:0}.motion-controls button{font-size:9px;padding:8px 9px}.motion-selection{padding-top:20px;padding-bottom:32px}.motion-selection-top{margin-bottom:13px}.motion-selection-top>span{font-size:9px}.motion-selection-top>p{display:none}.motion-choices{display:flex;overflow-x:auto;gap:12px;padding-bottom:12px;scroll-snap-type:x proximity}.motion-choice{width:164px;min-width:164px;scroll-snap-align:start}.motion-choice-name{font-size:12px}.motion-choice small{font-size:9px}#game-dialog.game-profile-dialog{padding:28px 21px 22px;max-height:88dvh}.profile-heading{grid-template-columns:96px minmax(0,1fr);gap:15px;padding-right:7px}.profile-kicker{font-size:8px}.game-profile-dialog #dialog-title{font-size:20px}.game-profile-dialog .dialog-game-meta{font-size:10px;gap:6px;margin-top:9px}.game-profile-dialog #dialog-description{font-size:16px;line-height:1.6;margin:24px 0}.profile-design{grid-template-columns:1fr;gap:19px;padding-top:19px}.profile-design p{font-size:13px;line-height:1.6;margin-top:8px}.profile-bottom{gap:15px;align-items:flex-start;margin-top:22px;padding-top:16px;flex-wrap:wrap}.profile-bottom p{font-size:9px;max-width:230px}.profile-bottom button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.motion-backdrop video,.motion-choice,.motion-choice-poster img{transition:none}}

/* A quiet message over continuous, original-speed game footage. */
.hero-media{background:#121212}.hero-media:has(video[hidden])::after{background:linear-gradient(120deg,#151515,#090909)}
.motion-section{margin:65px 0 0;background:#050505;scroll-margin-top:76px}
.motion-cinema{position:relative;height:56.25vw;min-height:590px;max-height:900px;isolation:isolate;overflow:hidden;background:#050505}
.motion-backdrop{position:absolute;inset:0;z-index:-2;height:auto;bottom:0}.motion-backdrop video{width:100%;height:100%;display:block;object-fit:contain;background:#050505}
.motion-cinema::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0004,transparent 65%),linear-gradient(0deg,#0007,transparent 20%)}
.motion-stage-content{height:100%;min-height:0;display:flex;align-items:center;padding-top:60px;padding-bottom:85px;pointer-events:none}
.motion-message{width:fit-content;max-width:48%;padding:32px 36px;background:#080808a6;backdrop-filter:blur(8px);border:1px solid #ffffff24;pointer-events:auto}
.motion-message h2{font-family:Krafton,Arial,sans-serif;font-size:clamp(24px,2.4vw,37px);line-height:1.3;font-weight:400;letter-spacing:0;margin:0}
.motion-message .text-link{display:inline-flex;gap:23px;align-items:center;font-size:12px;margin-top:27px;color:#ddd}
.motion-message .text-link:hover{color:#fff}.motion-message .text-link span{color:var(--red);font-size:17px}
.motion-filmbar{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:flex-end;pointer-events:none}
.ambient-toggle{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:10px 15px;border:1px solid #ffffff44;background:#08080899;color:#eee;font:500 11px/1 Urbanist,Arial,sans-serif;backdrop-filter:blur(6px);pointer-events:auto;cursor:pointer}
.ambient-toggle:hover{border-color:#fff}.ambient-toggle:focus-visible{outline:2px solid var(--red);outline-offset:4px}.ambient-toggle-icon{font-size:12px;width:10px;text-align:center}
@media(min-width:1600px){.motion-cinema{height:56.25vw;max-height:900px}}
@media(max-width:1000px){.motion-cinema{min-height:470px}.motion-message{padding:26px;max-width:50%}}
@media(max-width:760px){.motion-section{margin-top:25px;scroll-margin-top:66px}.motion-cinema{height:600px;min-height:0}.motion-backdrop{inset:0;bottom:0;height:100%}.motion-backdrop video{object-fit:cover;object-position:50% 50%}.motion-cinema::before{background:linear-gradient(0deg,#0009,transparent 60%)}.motion-stage-content{height:100%;min-height:0;padding-top:0;padding-bottom:85px;flex-direction:column;justify-content:flex-end;align-items:flex-start}.motion-message{max-width:100%;width:auto;padding:24px 22px;background:#080808aa;backdrop-filter:blur(5px)}.motion-message h2{font-size:21px;line-height:1.3;margin:0}.motion-message .text-link{font-size:11px;margin-top:21px}.motion-filmbar{bottom:20px;align-items:center}.ambient-toggle{min-height:38px;padding:10px 13px;font-size:10px}}

/* Score axis and scope controls for both benchmark leaderboards. */
.results .results-toolbar{align-items:flex-end;flex-wrap:wrap;gap:20px 30px;margin-bottom:23px}
.results-filter{min-width:0}
.results-filter-label{display:block;margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.results .score-axis-tabs{display:flex;gap:4px;padding:4px;width:max-content;max-width:100%;background:#171717;border-color:#383838}
.results .score-axis-tabs button{padding:10px 15px;min-height:42px;font-size:13px}
.results .score-axis-tabs button.active{background:var(--red);color:#fff}
.results .split-tabs button{min-width:57px;min-height:42px;padding:10px 14px}
.results .score-approximation{font-weight:400;margin-right:4px;color:var(--muted)}
.results [data-score-note]{min-height:22px}
.results [data-score-note][hidden]{display:none}
@media(max-width:1100px){.results .results-toolbar{gap:20px;align-items:flex-start}.results .score-axis-tabs button{padding:10px 12px}.results .split-tabs button{min-width:53px;padding:10px 12px}}
@media(max-width:700px){.results .results-toolbar{margin-top:30px;display:block}.results-filter+.results-filter{margin-top:20px}.results .score-axis-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.results .score-axis-tabs button{white-space:normal;line-height:1.3;text-align:center;padding:11px 8px;min-height:44px}.results .split-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.results .split-tabs button{min-height:44px}.results-filter-label{margin-bottom:8px}}

/* Supporting probe details stay available without dominating the comparison. */
.case-test-details{margin-top:20px;max-width:860px;color:var(--muted);font-size:12px;line-height:1.6}
.case-test-details summary{display:inline-flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:6px 0;color:#b8b8b8}
.case-test-details summary::-webkit-details-marker{display:none}.case-test-details summary:hover{color:var(--text)}
.case-test-details summary span{display:inline-block;color:var(--red);transition:transform .2s}.case-test-details[open] summary span{transform:rotate(45deg)}
.case-test-details p{margin:10px 0 0;font-size:12px;line-height:1.6}
@media(prefers-reduced-motion:reduce){.case-test-details summary span{transition:none}}

/* A playtest bot explores a live route. Coordinated with the overview transport. */
.pp-exploration-visual{overflow:visible}
.pp-exploration{display:block;width:100%;height:111px;overflow:visible}
.pp-arena{fill:#1b2122;stroke:#465052;stroke-width:1.4}
.pp-arena-grid path{fill:none;stroke:#283033;stroke-width:.7}
.pp-arena-walls rect{fill:#4a5355;stroke:#687275;stroke-width:1}
.pp-route-guide{fill:none;stroke:#798b8c;stroke-width:2;stroke-dasharray:3 5;opacity:.6}
.pp-route-explored{fill:none;stroke:#90d6c5;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:pp-explore-trace 9s linear infinite}
.pp-route-start{fill:#1e3b37;stroke:#83b9ad;stroke-width:1.2}
.pp-route-observation circle{fill:#263337;stroke:#9fb7b5;stroke-width:1.3}
.pp-route-observation path{fill:none;stroke:#c0d6d3;stroke-width:1.4}
.pp-interaction-pulse{fill:none;stroke:#9ce9d4;stroke-width:1.8;opacity:0;transform-box:fill-box;transform-origin:center}
.pp-interaction-a{animation:pp-interact-a 9s linear infinite}
.pp-interaction-b{animation:pp-interact-b 9s linear infinite}
.pp-explorer-bot{transform:translate(24px,104px);animation:pp-explore-bot 9s linear infinite}
.pp-bot-shadow{fill:#000;opacity:.45}
.pp-bot-antenna{fill:none;stroke:#d5e4e1;stroke-width:1.7}
.pp-bot-signal{fill:#f26862}
.pp-bot-body{fill:#e0e8e6;stroke:#71807f;stroke-width:1.5}
.pp-bot-face{fill:#202e33}
.pp-bot-eye{fill:#8febdb}
.pp-playtest.is-active .pp-arena{stroke:#8caea4}
@keyframes pp-explore-bot{
  0%,4%{transform:translate(24px,104px)}
  12%{transform:translate(24px,68px)}
  24%{transform:translate(74px,68px)}
  34%,42%{transform:translate(74px,28px)}
  52%{transform:translate(74px,68px)}
  63%{transform:translate(126px,68px)}
  72%{transform:translate(126px,108px)}
  82%{transform:translate(178px,108px)}
  94%,100%{transform:translate(178px,36px)}
}
@keyframes pp-explore-trace{
  0%,4%{stroke-dashoffset:1;opacity:.95}
  12%{stroke-dashoffset:.9058}
  24%{stroke-dashoffset:.7749}
  34%,42%{stroke-dashoffset:.6702}
  52%{stroke-dashoffset:.5654}
  63%{stroke-dashoffset:.4293}
  72%{stroke-dashoffset:.3246}
  82%{stroke-dashoffset:.1885}
  94%,98%{stroke-dashoffset:0;opacity:.95}
  100%{stroke-dashoffset:0;opacity:0}
}
@keyframes pp-interact-a{
  0%,33%,44%,100%{opacity:0;transform:scale(.7)}
  35%{opacity:.85;transform:scale(.8)}
  43%{opacity:0;transform:scale(1.65)}
}
@keyframes pp-interact-b{
  0%,93%{opacity:0;transform:scale(.7)}
  95%{opacity:.85;transform:scale(.8)}
  100%{opacity:0;transform:scale(1.65)}
}
@media(max-width:760px){
  .pp-playtest{grid-template-columns:112px 1fr;column-gap:12px}
  .pp-exploration{height:80px}
}
@media(prefers-reduced-motion:reduce){
  .pp-route-explored{animation:none;stroke-dashoffset:0;opacity:.9}
  .pp-explorer-bot{animation:none;transform:translate(126px,68px)}
  .pp-interaction-pulse{animation:none;opacity:0}
}
/* End overview playtest exploration. */

/* Source dependency weights, derived from the paper. */
.source-title-light{display:block;font-weight:400;color:#c6c3c0}
.source-title-strong{display:block;font-weight:720;color:#f7f4f0}
.source-title-strong em{font-style:normal;color:#ff766c}
.dependency-weighted{background:radial-gradient(ellipse at 28% 45%,rgba(249,66,58,.065),transparent 66%)}
.dependency-weighted .dw-legend{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 18px 5px;font-size:10px;font-weight:650;letter-spacing:.12em;color:#a7a1a0}
.dependency-weighted .dw-legend-range{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:0;font-variant-numeric:tabular-nums;font-weight:500;color:#c0b9b6}
.dependency-weighted .dw-legend-range i,.dependency-weighted .dw-legend-range b{display:inline-block;width:7px;height:7px;border-radius:50%;background:#79615f}
.dependency-weighted .dw-legend-range b{width:10px;height:10px;background:#f9423a;margin-left:8px}
.dependency-weighted .dw-edge{fill:none;stroke:#8e7775;stroke-width:1.8;stroke-linecap:round}
.dependency-weighted .dw-arrow{fill:#ae928e}
.dependency-weighted .dw-disc{fill:var(--node-fill);stroke:var(--node-stroke);stroke-width:1.5}
.dependency-weighted text{text-anchor:middle;fill:#fff8f2}
.dependency-weighted .dw-rule{font-size:21px;font-weight:550}
.dependency-weighted .dw-weight{font-size:15px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.025em}
.dependency-weighted .dw-name{font-size:19px;font-weight:550;fill:#e2dbd5}
.dependency-weighted .dw-node-4 .dw-rule,.dependency-weighted .dw-node-5 .dw-rule{fill:#b8adaa}
.dependency-weighted .dw-node-4 .dw-weight,.dependency-weighted .dw-node-5 .dw-weight{fill:#d7c5c1}
@media(max-width:700px){.dependency-weighted .dw-legend{padding:0 8px 15px}.dependency-weighted .dw-name{font-size:15px}.dependency-weighted .dw-weight{font-size:15px}.dependency-weighted .dw-edge{stroke-width:1.6}.dependency-weighted .graph-mobile{max-width:370px;margin-inline:auto}}
/* End source dependency weights. */




/* A compact 3D extension after the main benchmark and revision study. */
.extension-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:34px}.extension-heading h2{margin:0;font-size:clamp(30px,3.5vw,49px);line-height:1.12}.extension-heading>p{max-width:380px;font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 3px}.extension-games{display:grid;grid-template-columns:1fr 1fr;gap:26px}.extension-games figure{margin:0;min-width:0}.extension-frame{overflow:hidden;border:1px solid var(--line);background:#151515;aspect-ratio:16/9}.extension-frame img{display:block;width:100%;height:100%;object-fit:contain}.extension-games figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:17px 0}.extension-games figcaption strong{font-size:18px;font-weight:600}.extension-games figcaption span{font-size:12px;color:var(--muted)}.extension-results{border-top:1px solid var(--line);margin-top:15px}.extension-results summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:19px 0;font-size:13px;cursor:pointer}.extension-results summary::-webkit-details-marker{display:none}.extension-results summary>span{color:var(--red);font-size:21px;line-height:1;transition:transform .2s}.extension-results[open] summary>span{transform:rotate(45deg)}.extension-table-wrap{overflow-x:auto}.extension-results table{border-collapse:collapse;width:100%;font-size:14px}.extension-results caption{caption-side:bottom;text-align:left;font-size:11px;color:var(--muted);padding:13px 0}.extension-results th,.extension-results td{border-bottom:1px solid var(--line);padding:15px 12px;text-align:right;font-variant-numeric:tabular-nums}.extension-results th:first-child{text-align:left;padding-left:0}.extension-results th{font-weight:600}.extension-results thead{color:var(--muted);font-size:12px}
@media(max-width:900px){.extension-heading{display:block}.extension-heading>p{max-width:600px;margin-top:24px}.extension-games figcaption{display:block}.extension-games figcaption span{display:block;margin-top:6px}}
@media(max-width:760px){.extension-heading{margin-bottom:28px}.extension-heading h2{font-size:29px}.extension-heading>p{font-size:15px;line-height:1.6;margin-top:22px}.extension-games{grid-template-columns:1fr;gap:24px}.extension-games figcaption strong{font-size:17px}.extension-games figcaption{padding:12px 0 0}.extension-results{margin-top:29px}.extension-results th,.extension-results td{font-size:11px;padding:13px 6px}.extension-results th:first-child{max-width:150px}.extension-results thead th{font-size:10px}}
@media(prefers-reduced-motion:reduce){.extension-results summary>span{transition:none}}


/* Replay filmstrip refresh. */
/* Three authentic paper frames stay visible while the selection is explored. */
.se-filmstrip-evidence{--se-panel:#171717;--se-paper:#111;--se-text:#f4f3ef;--se-muted:#a8a8a8;--se-line:#393939;background:var(--se-panel);color:var(--se-text);padding:18px;border:1px solid var(--se-line);overflow:hidden}
body.glance-page main .se-filmstrip-evidence{--se-panel:var(--surface,#f6f7f8);--se-paper:var(--bg,#fff);--se-text:var(--text,#20232a);--se-muted:var(--muted,#626975);--se-line:var(--line,#dfe3e8)}
.se-filmstrip-evidence .se-toolbar{padding:0 0 20px;gap:20px}
.se-filmstrip-evidence select{background:var(--se-panel);border-bottom-color:var(--se-line);color:var(--se-text);font-size:21px;padding:4px 24px 9px 0}
.se-filmstrip-evidence .se-game-picker>svg{top:15px}
.se-filmstrip-evidence .se-autoplay{min-width:76px;min-height:36px;padding:7px 9px;font-size:11px;border-color:var(--se-line);color:var(--se-muted)}
.se-filmstrip-evidence .se-autoplay:hover{background:var(--se-paper);color:var(--se-text);border-color:var(--se-muted)}
.se-filmstrip-evidence .se-autoplay:disabled{opacity:.55;cursor:default}
.se-filmstrip-evidence .se-frame-strip{--se-gap:10px;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--se-gap);padding-bottom:9px}
.se-filmstrip-evidence .se-frame{display:block;min-width:0;padding:0;text-align:left;border:0;background:transparent;color:var(--se-muted);cursor:pointer}
.se-filmstrip-evidence .se-thumb{display:block;position:relative;aspect-ratio:16/9;border:1px solid var(--se-line);background:#080909;overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease}
.se-filmstrip-evidence .se-thumb img{display:block;width:100%;height:100%;object-fit:contain;opacity:.68;transition:opacity .4s ease}
.se-filmstrip-evidence .se-frame[aria-pressed="true"]{color:var(--se-text)}
.se-filmstrip-evidence .se-frame[aria-pressed="true"] .se-thumb{border-color:var(--se-red);box-shadow:0 0 0 1px var(--se-red)}
.se-filmstrip-evidence .se-frame[aria-pressed="true"] .se-thumb img,.se-filmstrip-evidence .se-frame:hover .se-thumb img{opacity:1}
.se-filmstrip-evidence .se-frame-title{display:flex;align-items:baseline;gap:6px;min-height:33px;padding:9px 1px 0;font:600 11px/1.3 Urbanist,Arial,sans-serif}
.se-filmstrip-evidence .se-observation-index{font-size:9px;line-height:1.3;color:var(--se-muted)}
.se-filmstrip-evidence .se-frame[aria-pressed="true"] .se-observation-index{color:var(--se-red)}
.se-filmstrip-evidence .se-selection-rail{position:absolute;bottom:0;left:calc(var(--se-selected)*((100% + var(--se-gap))/3));width:calc((100% - 2*var(--se-gap))/3);height:2px;background:var(--se-red);transition:left .65s cubic-bezier(.2,.8,.2,1)}
.se-filmstrip-evidence .se-scan-line{position:absolute;inset-block:0;left:0;width:2px;opacity:0;background:#fff;box-shadow:0 0 12px 3px var(--se-red);transform:translateX(-10px)}
.se-filmstrip-evidence.is-extracting .se-frame[aria-pressed="true"] .se-scan-line{animation:se-film-scan 1.7s .15s ease-in-out both}
.se-filmstrip-evidence .se-extract-route{position:relative;height:32px;margin-bottom:0}
.se-filmstrip-evidence .se-extract-route svg{display:block;width:100%;height:100%;overflow:visible}
.se-filmstrip-evidence .se-extract-route path{fill:none;stroke:var(--se-red);stroke-width:1.6;vector-effect:non-scaling-stroke;opacity:0}
.se-filmstrip-evidence .se-extract-route .se-route-guide{stroke:var(--se-line);stroke-width:1;opacity:1}
.se-filmstrip-evidence .se-extract-route path.is-active{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}
.se-filmstrip-evidence.is-extracting .se-extract-route path.is-active{animation:se-extract-draw 1.25s .2s ease both}
.se-filmstrip-evidence .se-route-target{position:absolute;left:50%;bottom:-3px;width:6px;height:6px;transform:translateX(-50%);border-radius:50%;background:var(--se-red);z-index:2}
.se-filmstrip-evidence .se-figure{background:var(--se-paper);border:1px solid var(--se-line)}
.se-filmstrip-evidence .se-stage{border:0;aspect-ratio:16/9;background:#090909}
.se-filmstrip-evidence .se-stage>img{object-fit:contain;transform-origin:center}
.se-filmstrip-evidence .se-stage.is-entering>img{animation:se-film-reveal .7s cubic-bezier(.16,.8,.22,1) both}
.se-filmstrip-evidence .se-caption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 14px;padding:14px 16px;min-height:0;font-size:12px;line-height:1.4;border-top:1px solid var(--se-line)}
.se-filmstrip-evidence .se-caption strong{color:var(--se-text);font-size:14px;font-weight:700}
.se-filmstrip-evidence .se-caption [data-se-evidence]{color:var(--se-muted)}
.se-filmstrip-evidence .se-source{padding:11px 0 0;border:0;font-size:10px;letter-spacing:.015em}
.se-filmstrip-evidence .se-source>span:first-child{color:var(--se-muted)}
.se-filmstrip-evidence[data-se-playing="false"] *,.se-filmstrip-evidence[data-se-playing="false"] *:before{animation-play-state:paused!important}
@keyframes se-film-scan{0%{left:0;opacity:0;transform:translateX(0)}10%{opacity:.95}90%{opacity:.8}100%{left:100%;opacity:0;transform:translateX(-2px)}}
@keyframes se-extract-draw{from{stroke-dashoffset:1;opacity:0}15%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes se-film-reveal{from{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.se-filmstrip-evidence{padding:13px}.se-filmstrip-evidence .se-toolbar{padding:0 0 16px;gap:12px}.se-filmstrip-evidence select{font-size:18px}.se-filmstrip-evidence .se-autoplay{min-width:67px;font-size:10px;gap:5px;padding:6px}.se-filmstrip-evidence .se-frame-strip{--se-gap:7px}.se-filmstrip-evidence .se-frame-title{display:block;font-size:10px;min-height:46px;padding-top:7px}.se-filmstrip-evidence .se-frame-title .se-observation-index{display:block;margin-bottom:3px;font-size:8px}.se-filmstrip-evidence .se-caption{display:block;padding:11px 12px;font-size:11px}.se-filmstrip-evidence .se-caption strong{display:block;margin-bottom:3px;font-size:13px}.se-filmstrip-evidence .se-extract-route{height:27px}.se-filmstrip-evidence .se-source{font-size:9px;padding-top:10px}}
@media(prefers-reduced-motion:reduce){.se-filmstrip-evidence *,.se-filmstrip-evidence *:before{animation:none!important;transition:none!important}.se-filmstrip-evidence .se-scan-line{display:none}}



.se-filmstrip-evidence .se-source{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Active playtests and requirement-linked feedback. */
.adaptive-lab{--al-blue:#378cd5;--al-blue-strong:#2779c7;--al-bg:var(--adaptive-bg,#141719);--al-panel:var(--adaptive-panel,#1d2429);--al-ink:var(--adaptive-ink,#e8eef2);--al-muted:var(--adaptive-muted,#9faeb9);--al-border:var(--adaptive-border,#38464f);width:100%;padding:20px;border:1px solid var(--al-border);border-radius:12px;background:var(--al-bg);color:var(--al-ink);font-family:Urbanist,Arial,sans-serif;isolation:isolate}
.al-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.al-policy{display:flex;align-items:center;gap:13px;min-width:0}.al-policy img{width:69px;height:48px;object-fit:contain}.al-kicker{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--al-muted);margin-bottom:6px}.al-policy strong{display:block;font-size:15px;font-weight:600;line-height:1.25;min-height:19px}.al-pause{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 8px;border:1px solid var(--al-border);border-radius:5px;background:transparent;color:var(--al-muted);font:inherit;font-size:10px;cursor:pointer}.al-pause:hover{border-color:var(--al-blue);color:var(--al-ink)}.al-pause:focus-visible{outline:2px solid var(--al-blue);outline-offset:4px}.al-pause[hidden]{display:none}
.al-worlds{display:grid;grid-template-columns:1fr 1fr;gap:16px}.al-episode{min-width:0}.al-episode-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px;margin-bottom:10px}.al-episode-heading strong{font-size:13px;line-height:1.3;font-weight:650}.al-episode-heading>span{font-size:9px;color:var(--al-muted)}.al-world{display:block;width:100%;height:auto;overflow:visible}.al-arena{fill:var(--al-panel);stroke:var(--al-border);stroke-width:1.5}.al-grid path{fill:none;stroke:var(--al-border);stroke-width:.7;opacity:.45}.al-walls rect{fill:var(--al-muted);opacity:.4;stroke:var(--al-muted);stroke-width:1}.al-route-guide{fill:none;stroke:var(--al-muted);stroke-width:2;stroke-dasharray:4 7;opacity:.55}.al-route-drawn{fill:none;stroke:var(--al-blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.al-start{fill:var(--al-bg);stroke:var(--al-blue);stroke-width:2}.al-initialized-start{fill:var(--al-bg);stroke:#c79344;stroke-width:2;stroke-dasharray:3 2}.al-init-ring{fill:none;stroke:#c79344;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:al-initialize 14s linear infinite}.al-blocked-gate path{fill:none;stroke:#d85c53;stroke-width:3}.al-unmet{opacity:0;animation:al-unmet 14s linear infinite}.al-unmet rect{fill:var(--al-bg);stroke:#d85c53;stroke-width:1}.al-unmet text{fill:#df7369;font-family:Urbanist,Arial,sans-serif;font-size:11px;text-anchor:middle;font-weight:600}.al-observation{fill:var(--al-bg);stroke:var(--al-blue);stroke-width:1.8}.al-observation-cross{fill:none;stroke:var(--al-blue);stroke-width:1.8}.al-sensor{fill:none;stroke:var(--al-blue);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}.al-normal-sensor{stroke:#d85c53;animation:al-sense-normal 14s linear infinite}.al-targeted-sensor{animation:al-sense-targeted 14s linear infinite}.al-bot-shadow{fill:#000;opacity:.25}.al-bot-antenna{fill:none;stroke:var(--al-blue-strong);stroke-width:2}.al-bot-signal{fill:#98cefa}.al-bot-body{fill:var(--al-blue-strong);stroke:#91caff;stroke-width:1.5}.al-bot-face{fill:#103751}.al-bot-eye{fill:#e4f6ff}.al-normal-bot{transform:translate(30px,145px);animation:al-normal-bot 14s linear infinite}.al-targeted-bot{transform:translate(35px,139px);opacity:0;animation:al-targeted-bot 14s linear infinite}.al-normal-trace{animation:al-normal-trace 14s linear infinite}.al-targeted-trace{animation:al-targeted-trace 14s linear infinite}
.al-evidence-join{position:relative;height:32px;overflow:hidden;margin:0 15%}.al-evidence-join::before,.al-evidence-join::after{content:"";position:absolute;top:0;bottom:14px;width:25%;border-bottom:1px solid var(--al-border)}.al-evidence-join::before{left:0;border-left:1px solid var(--al-border);border-bottom-left-radius:6px;width:50%}.al-evidence-join::after{right:0;border-right:1px solid var(--al-border);border-bottom-right-radius:6px;width:50%}.al-evidence-join>i{position:absolute;left:50%;top:17px;height:15px;border-left:1px solid var(--al-border)}.al-evidence-drop{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--al-blue);opacity:0;z-index:1}.al-normal-drop{left:0;animation:al-drop-left 14s linear infinite}.al-targeted-drop{right:0;animation:al-drop-right 14s linear infinite}
.al-feedback{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,.9fr);align-items:center;gap:10px}.al-trace-record,.al-rule-feedback{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--al-border);border-radius:7px;background:var(--al-panel);min-width:0}.al-trace-icon{font-family:monospace;font-size:26px;color:var(--al-blue);line-height:1}.al-trace-record strong,.al-rule-feedback strong{display:block;font-size:11px;font-weight:650;line-height:1.4}.al-trace-record div>span{display:block;color:var(--al-muted);font-size:9px;margin-top:3px;white-space:nowrap}.al-trace-lines{display:flex;flex-direction:column;gap:4px;margin-left:auto;width:22px}.al-trace-lines>i{width:22px;height:2px;background:var(--al-blue);opacity:.15;animation:al-record-line 14s linear infinite}.al-trace-lines>i:nth-child(2){width:16px;animation-delay:.14s}.al-trace-lines>i:nth-child(3){width:19px;animation-delay:.28s}.al-to-feedback{color:var(--al-muted);font-size:22px;text-align:center}.al-requirement-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--al-blue);border-radius:5px;color:var(--al-blue);font-family:Georgia,serif;font-size:20px;font-style:italic;flex-shrink:0}.al-rule-feedback{animation:al-feedback-link 14s linear infinite}
.adaptive-lab:not(.is-running) *,.adaptive-lab:not(.is-running) *::before,.adaptive-lab:not(.is-running) *::after{animation-play-state:paused!important}
@keyframes al-normal-bot{0%,4%{transform:translate(30px,145px)}12%{transform:translate(30px,95px)}22%{transform:translate(126px,95px)}30%{transform:translate(126px,44px)}39%,45%{transform:translate(203px,44px)}49%{transform:translate(126px,44px)}53%{transform:translate(126px,95px)}62%,100%{transform:translate(265px,95px)}}
@keyframes al-targeted-bot{0%,49%{opacity:0;transform:translate(35px,139px)}50%,54%{opacity:1;transform:translate(35px,139px)}64%{opacity:1;transform:translate(118px,139px)}71%{opacity:1;transform:translate(118px,86px)}82%{opacity:1;transform:translate(263px,86px)}90%,100%{opacity:1;transform:translate(263px,40px)}}
@keyframes al-normal-trace{0%,4%{stroke-dashoffset:1}12%{stroke-dashoffset:.9076}22%{stroke-dashoffset:.7301}30%{stroke-dashoffset:.6359}39%,45%{stroke-dashoffset:.4935}49%{stroke-dashoffset:.3512}53%{stroke-dashoffset:.2569}62%,100%{stroke-dashoffset:0}}
@keyframes al-targeted-trace{0%,54%{stroke-dashoffset:1}64%{stroke-dashoffset:.7462}71%{stroke-dashoffset:.5841}82%{stroke-dashoffset:.1407}90%,100%{stroke-dashoffset:0}}
@keyframes al-unmet{0%,36%{opacity:0}39%,100%{opacity:1}}
@keyframes al-sense-normal{0%,38%,49%,100%{opacity:0;transform:scale(.7)}40%{opacity:.8;transform:scale(.8)}48%{opacity:0;transform:scale(1.8)}}
@keyframes al-sense-targeted{0%,89%{opacity:0;transform:scale(.7)}91%{opacity:.8;transform:scale(.8)}99%,100%{opacity:0;transform:scale(1.8)}}
@keyframes al-initialize{0%,48%,59%,100%{opacity:0;transform:scale(.7)}50%{opacity:.85;transform:scale(.9)}58%{opacity:0;transform:scale(1.8)}}
@keyframes al-drop-left{0%,62%{left:0;top:-5px;opacity:0}64%{left:0;top:0;opacity:1}68%{left:0;top:14px;opacity:1}74%{left:50%;top:14px;opacity:1}78%{left:50%;top:32px;opacity:0}100%{opacity:0}}
@keyframes al-drop-right{0%,89%{right:0;top:-5px;opacity:0}90%{right:0;top:0;opacity:1}92%{right:0;top:14px;opacity:1}95%{right:50%;top:14px;opacity:1}98%{right:50%;top:32px;opacity:0}100%{opacity:0}}
@keyframes al-record-line{0%,70%{opacity:.15}78%,100%{opacity:.9}}
@keyframes al-feedback-link{0%,79%{border-color:var(--al-border)}87%,100%{border-color:var(--al-blue)}}
/* The overview joins three evidence streams before revision. */
.pp-feedback-connected{display:grid;grid-template-columns:minmax(0,.85fr) minmax(250px,1.2fr) minmax(0,.85fr);gap:16px;padding:0;background:transparent}.pp-feedback-connected .pp-evidence,.pp-feedback-connected .pp-revise{gap:12px}.pp-feedback-connected .pp-evidence strong,.pp-feedback-connected .pp-revise strong{font-size:17px}.pp-feedback-connected .pp-evidence>img{width:65px;height:82px}.pp-feedback-connected .pp-revise>img{width:61px;height:82px}.pp-feedback-connected .pp-evidence .pp-node-kicker{font-size:8px}.pp-feedback-flow{min-width:0}.pp-feedback-flow svg{display:block;width:100%;height:116px;overflow:visible}.pp-flow-cards rect{fill:var(--surface,#1b1f25);stroke:var(--line,#46515c);stroke-width:1.3}.pp-flow-cards text{font-family:Urbanist,Arial,sans-serif;fill:var(--muted,#a9b4be);font-size:12px;text-anchor:middle;font-weight:500}.pp-flow-tracks path{fill:none;stroke:var(--line,#46515c);stroke-width:1.5}.pp-flow-streams path{fill:none;stroke:#428acc;stroke-width:2.5;stroke-dasharray:.15 .85;stroke-dashoffset:1;animation:pp-feedback-stream 3.2s linear infinite}.pp-flow-streams .pp-flow-frame{stroke:#cba166;animation-delay:.45s}.pp-flow-streams .pp-flow-trace{stroke:#bd847e;animation-delay:.9s}.pp-linked-feedback>rect:first-child{fill:var(--surface,#1b1f25);stroke:var(--line,#46515c);stroke-width:1.3}.pp-linked-feedback .pp-feedback-rule{fill:transparent;stroke:#488ccb;stroke-width:1.3}.pp-feedback-rule-text{font-family:Georgia,serif;fill:#569ee2;font-style:italic;font-size:20px;text-anchor:middle}.pp-feedback-title{font-family:Urbanist,Arial,sans-serif;fill:var(--text,#edf0f2);font-size:11px;font-weight:600}.pp-feedback-lines{fill:none;stroke:var(--muted,#a9b4be);stroke-width:2;opacity:.6}.pp-feedback-out{fill:none;stroke:var(--muted,#a9b4be);stroke-width:1.7}.pp-feedback-connected.is-active .pp-linked-feedback>rect:first-child{stroke:#4f92cd}
@keyframes pp-feedback-stream{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:-.15;opacity:0}}
@media(max-width:1100px) and (min-width:761px){.pp-feedback-connected{grid-template-columns:minmax(0,.8fr) minmax(205px,1.2fr) minmax(0,.8fr);gap:8px}.pp-feedback-connected .pp-evidence>img,.pp-feedback-connected .pp-revise>img{width:48px;height:70px}.pp-feedback-connected .pp-evidence strong,.pp-feedback-connected .pp-revise strong{font-size:14px}.pp-feedback-connected .pp-evidence,.pp-feedback-connected .pp-revise{gap:8px}.pp-feedback-connected .pp-evidence .pp-node-kicker{font-size:7px}.pp-feedback-flow svg{height:102px}}
@media(max-width:760px){.pp-feedback-connected{grid-template-columns:1fr;gap:11px}.pp-feedback-connected .pp-evidence,.pp-feedback-connected .pp-revise{flex-direction:row;align-items:center;gap:13px}.pp-feedback-connected .pp-evidence>img,.pp-feedback-connected .pp-revise>img{height:62px;width:58px}.pp-feedback-connected .pp-evidence .pp-node-kicker{min-height:0;max-width:none;margin-bottom:5px}.pp-feedback-connected .pp-evidence strong,.pp-feedback-connected .pp-revise strong{font-size:15px}.pp-feedback-connected .pp-evidence strong br{display:none}.pp-feedback-connected .pp-evidence strong br::after{content:" "}.pp-feedback-connected .pp-revise strong{margin:0}.pp-feedback-connected .pp-revise{justify-self:end;flex-direction:row-reverse}.pp-feedback-connected .pp-revise span{max-width:none;font-size:9px;margin-top:4px}.pp-feedback-flow{width:100%;max-width:370px;margin:0 auto}.pp-feedback-flow svg{height:105px}}
@media(max-width:600px){.adaptive-lab{padding:16px 13px}.al-toolbar{gap:8px;margin-bottom:17px}.al-policy{gap:9px}.al-policy img{width:48px;height:40px}.al-policy strong{font-size:12px;min-height:30px;max-width:170px}.al-kicker{font-size:8px;margin-bottom:4px}.al-pause{font-size:9px;padding:5px 7px;min-height:30px;gap:4px}.al-worlds{grid-template-columns:1fr;gap:17px}.al-episode-heading strong{font-size:13px}.al-episode-heading>span{font-size:10px}.al-evidence-join{height:26px;margin:0 10%}.al-feedback{grid-template-columns:minmax(0,1fr) 15px minmax(0,.95fr);gap:5px}.al-trace-record,.al-rule-feedback{padding:10px 7px;gap:6px}.al-trace-record strong,.al-rule-feedback strong{font-size:10px}.al-trace-record div>span{font-size:7px}.al-trace-icon{font-size:20px}.al-trace-lines{display:none}.al-to-feedback{font-size:17px}.al-requirement-icon{width:23px;height:25px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.adaptive-lab *,.adaptive-lab *::before,.adaptive-lab *::after{animation:none!important;transition:none!important}.al-normal-bot{transform:translate(203px,44px)}.al-targeted-bot{transform:translate(263px,40px);opacity:1}.al-route-drawn{stroke-dashoffset:0}.al-unmet{opacity:1}.al-sensor,.al-init-ring,.al-evidence-drop{opacity:0}.al-trace-lines>i{opacity:.9}.al-rule-feedback{border-color:var(--al-blue)}.pp-flow-streams path{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:.7}}
/* End active playtests and feedback. */

/* Evidence cases. */
/* Evidence is shown directly from its GDD and recorded pixels. */
.evidence-gallery{--ec-ink:var(--text,#20232a);--ec-muted:var(--muted,#626975);--ec-line:var(--line,#dfe3e8);--ec-paper:var(--bg,#fff);--ec-soft:var(--surface,#f6f7f8);--ec-accent:var(--red,#e33932);color:var(--ec-ink)}
.ec-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:34px}.ec-heading h2{margin:0;font-size:clamp(34px,4.4vw,62px)}.ec-heading>p{margin:0 0 4px;max-width:320px;font-size:18px;line-height:1.6;color:var(--ec-muted)}.ec-case-nav{display:flex;gap:0;border-top:1px solid var(--ec-line);border-bottom:1px solid var(--ec-line);margin-bottom:32px}.ec-case-nav button{flex:1;min-width:0;border:0;border-top:2px solid transparent;margin-top:-1px;padding:17px 12px;background:transparent;color:var(--ec-muted);text-align:left;font-size:14px;font-weight:600;transition:color .2s,border-color .2s}.ec-case-nav button:first-child{padding-left:0}.ec-case-nav button[aria-pressed=true]{color:var(--ec-ink);border-top-color:var(--ec-accent)}.ec-case-nav button:hover{color:var(--ec-accent)}.ec-layout{display:grid;grid-template-columns:minmax(260px,.94fr) minmax(0,1.8fr);gap:42px;align-items:center}.ec-specification{min-width:0;padding:8px 7px 16px 0}.ec-document{position:relative;isolation:isolate;padding:25px 26px 22px;background:var(--ec-paper);border:1px solid var(--ec-line);box-shadow:0 9px 28px #1c243a08}.ec-document::before,.ec-document::after{content:"";position:absolute;inset:8px -6px -8px 6px;background:var(--ec-soft);border:1px solid var(--ec-line);z-index:-1}.ec-document::after{inset:4px -3px -4px 3px;background:var(--ec-paper)}.ec-document-top{display:flex;gap:10px;align-items:center;color:var(--ec-muted);font-size:10px;font-weight:700;letter-spacing:.07em;padding-bottom:16px;border-bottom:1px solid var(--ec-line);margin-bottom:21px}.ec-document-top svg{width:17px;height:21px;fill:none;stroke:currentColor;stroke-width:1.2;flex-shrink:0}.ec-document h3{font-family:Urbanist,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0 0 16px;text-transform:none}.ec-doc-context{font-size:11px;line-height:1.55;color:var(--ec-muted);opacity:.45;filter:blur(.45px);overflow:hidden;max-height:86px}.ec-doc-context p{position:relative;padding-left:11px;margin:0 0 8px}.ec-doc-context p::before{content:"";position:absolute;width:3px;height:3px;left:0;top:7px;border-radius:50%;background:currentColor}.ec-doc-focus{padding:17px 18px 19px;margin:18px -9px;background:var(--ec-paper);border:1px solid var(--ec-line);box-shadow:0 6px 24px #24314713;position:relative;z-index:1}.ec-doc-focus>span{display:block;font-size:9px;font-weight:600;color:var(--ec-muted);letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}.ec-doc-focus blockquote{margin:0;font-size:clamp(17px,1.55vw,21px);font-weight:500;line-height:1.38;letter-spacing:-.01em;color:var(--ec-ink)}.ec-doc-focus mark{color:var(--ec-accent);background:transparent;font-weight:700;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ec-accent) 28%,transparent);text-underline-offset:4px;text-decoration-thickness:2px}.ec-doc-after{max-height:61px}.ec-media{min-width:0}.ec-screen-top{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.ec-screen-top>strong{font-size:12px;font-weight:600;letter-spacing:.025em}.ec-frame-controls{display:flex;gap:4px}.ec-frame-controls button{padding:7px 9px;min-height:33px;border:1px solid transparent;background:transparent;color:var(--ec-muted);font-size:10px;font-weight:600}.ec-frame-controls button[aria-pressed=true]{background:var(--ec-soft);color:var(--ec-ink);border-color:var(--ec-line)}.ec-media-stage{padding-bottom:2px}.ec-viewport{position:relative;aspect-ratio:16/9;width:100%;background:#070a0d;border:1px solid #343a43}.ec-viewport>img{display:block;width:100%;height:100%;object-fit:contain}.ec-focus-boxes{position:absolute;inset:0;pointer-events:none}.ec-focus-box{position:absolute;border:2px solid #ff786e;box-shadow:0 0 0 1px #14171fb3,inset 0 0 0 1px #14171fb3}.ec-focus-box::after{content:"";position:absolute;inset:-4px;border:1px solid #ff786e60}.ec-zoom-link{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0;transition:opacity .35s}.ec-zoom-link path{fill:none;stroke:#ff9086;stroke-width:3;stroke-dasharray:9 8}.ec-visible .ec-zoom-link{opacity:.95}.ec-auto-inset{position:absolute;left:var(--ec-inset-left,5%);top:var(--ec-inset-top,48%);width:var(--ec-inset-width,61%);z-index:3;border:1px solid #f8796f;background:#080b0feb;box-shadow:0 12px 36px #0007;transform-origin:0 0;padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;backdrop-filter:blur(8px);opacity:0}.ec-auto-inset.is-single{grid-template-columns:minmax(0,1fr)}.ec-inset-detail{min-width:0;background:#080b0f;color:#f5f6f7}.ec-inset-label{display:block;font-size:9px;line-height:1.3;font-weight:600;padding:7px 8px;border-bottom:1px solid #ffffff21}.ec-inset-detail:last-child .ec-inset-label{color:#ffafa7}.ec-inset-crop-pad{--ec-crop-height:clamp(66px,7.4vw,105px);height:calc(var(--ec-crop-height) + 14px);padding:7px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ec-crop{display:block;position:relative;overflow:hidden;width:100%;flex-shrink:0}.ec-crop>img{position:absolute;max-width:none!important;height:auto;display:block;user-select:none}.ec-result{display:flex;gap:9px;align-items:baseline;margin:21px 0 10px}.ec-result-mark{color:var(--ec-accent);font-size:22px;line-height:1;font-weight:500}.ec-result p{font-size:17px;line-height:1.4;font-weight:600;margin:0;color:var(--ec-ink);letter-spacing:-.01em}.ec-axis{font-size:9px;letter-spacing:.035em;color:var(--ec-muted);display:block;margin-left:21px}.ec-reveal{animation:ec-reveal .4s ease-out both}.ec-document.is-focused .ec-doc-focus{animation:ec-doc-focus .75s cubic-bezier(.16,1,.3,1) both}.ec-visible .ec-focus-box{animation:ec-focus 2.1s ease-out 2}@keyframes ec-focus{0%,100%{border-color:#ff786e}50%{border-color:#fff;box-shadow:0 0 0 5px #e3393240,inset 0 0 0 1px #14171fb3}}@keyframes ec-reveal{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes ec-doc-focus{from{transform:scale(.94);opacity:.5}to{transform:scale(1);opacity:1}}
@media(max-width:1050px){.ec-layout{grid-template-columns:minmax(230px,.9fr) minmax(0,1.45fr);gap:25px}.ec-document{padding:21px 21px 18px}.ec-doc-focus blockquote{font-size:17px}.ec-doc-context{font-size:10px}.ec-doc-focus{padding:15px;margin:15px -8px}.ec-result p{font-size:15px}.ec-screen-top{flex-wrap:wrap}.ec-inset-label{font-size:8px;padding:6px}.ec-inset-crop-pad{--ec-crop-height:64px}}
@media(max-width:760px){.ec-heading{display:block;margin-bottom:24px}.ec-heading h2{font-size:30px}.ec-heading>p{font-size:15px;line-height:1.5;margin-top:20px}.ec-case-nav{display:grid;grid-template-columns:1fr 1fr;margin-bottom:27px}.ec-case-nav button{font-size:12px;padding:12px 8px;min-height:43px}.ec-case-nav button:first-child{padding-left:8px}.ec-case-nav button:nth-child(n+3){border-top:1px solid var(--ec-line)}.ec-case-nav button[aria-pressed=true]{background:var(--ec-soft);border-top-color:var(--ec-accent)}.ec-layout{grid-template-columns:minmax(0,1fr);gap:22px}.ec-specification{padding-right:8px;padding-bottom:8px}.ec-document{padding:18px 20px 17px}.ec-document-top{padding-bottom:11px;margin-bottom:14px;font-size:9px}.ec-document-top svg{width:14px;height:18px}.ec-document h3{font-size:16px;margin-bottom:10px}.ec-doc-context{max-height:42px;font-size:10px;line-height:1.45}.ec-doc-context p{margin-bottom:5px}.ec-doc-after{max-height:28px}.ec-doc-focus{margin:13px -6px;padding:14px 15px}.ec-doc-focus>span{font-size:8px;margin-bottom:7px}.ec-doc-focus blockquote{font-size:19px;line-height:1.35}.ec-screen-top>strong{font-size:11px}.ec-frame-controls button{font-size:9px;padding:6px 7px}.ec-media-stage{padding-bottom:46px}.ec-auto-inset{left:22%;top:62%;width:75%;padding:4px;gap:4px}.ec-inset-crop-pad{--ec-crop-height:65px;padding:5px;height:75px}.ec-inset-label{font-size:8px;padding:6px}.ec-result{margin-top:17px}.ec-result p{font-size:16px}.ec-axis{font-size:8px}.ec-focus-box{border-width:1px}}
@media(prefers-reduced-motion:reduce){.ec-visible .ec-focus-box,.ec-reveal,.ec-document.is-focused .ec-doc-focus{animation:none}.ec-case-nav button,.ec-zoom-link{transition:none}}




/* Editorial metric motion. */
.score-value,.facts strong,.finding-numbers strong,.revision-lift strong,.revision-bars b,.split-finding>strong{font-variant-numeric:tabular-nums}
.revision-bars i.metric-bar-ready{transform:scaleX(0);transform-origin:left center}
.revision-bars i.metric-bar-revealed{transform:scaleX(1);animation:metric-grow 1200ms cubic-bezier(.22,1,.36,1) var(--metric-delay,0ms) both}
@keyframes metric-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dependency-weighted .dw-legend{gap:12px;color:var(--muted)}
.dependency-weighted .dw-legend-range{color:var(--muted);margin-left:auto}
.dependency-weighted .dw-motion-toggle{font:600 10px Urbanist,Arial,sans-serif;color:var(--muted);border:1px solid var(--line);background:transparent;border-radius:20px;padding:6px 11px;letter-spacing:0;min-width:54px;cursor:pointer}
.dependency-weighted .dw-motion-toggle:hover,.dependency-weighted .dw-motion-toggle:focus-visible{color:var(--text);border-color:var(--text)}
.dependency-weighted .dw-disc{transform-box:fill-box;transform-origin:center}
.dependency-weighted .dw-flow-pulse{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-dasharray:12 100;stroke-dashoffset:-100;opacity:0;pointer-events:none}
.glance-page .dependency-weighted .dw-name{fill:var(--text)}
.glance-page .dependency-weighted .dw-edge{stroke:#b89b97}
.glance-page .dependency-weighted .dw-arrow{fill:#9f7773}
@media(prefers-reduced-motion:reduce){
  .revision-bars i.metric-bar-ready,.revision-bars i.metric-bar-revealed{transform:scaleX(1);animation:none!important}
  .dependency-weighted .dw-motion-toggle{display:none}
  .dependency-weighted .dw-flow-pulse{display:none}
}


/* At a glance light theme. */
/* Research pages use a paper palette. Home, the masthead and footer retain their dark theme. */
body.glance-page main {
  --bg: #fff;
  --surface: #f6f7f8;
  --text: #20232a;
  --muted: #626975;
  --line: #dfe3e8;
  --glance-ink: #20232a;
  --glance-muted: #626975;
  --glance-paper: #fff;
  --glance-soft: #f6f7f8;
  --glance-accent-ink: #d7352f;
  --adaptive-bg: #fff;
  --adaptive-panel: #f6f7f8;
  --adaptive-ink: #20232a;
  --adaptive-muted: #626975;
  --adaptive-border: #dfe3e8;
  background: var(--bg);
  color: var(--text);
  color-scheme: light;
}
body.glance-page main :is(.method,.method-editorial,.revision,.paper-section) { background: #fff; }
body.glance-page main .section-index { color: #777d86; }
body.glance-page main :is(.diagram-eyebrow,.drawing-note,.story-detail,.tab-group-label) { color: var(--muted); }
body.glance-page main :is(.story-copy>.diagram-eyebrow,.case-topic,.paper-grid .eyebrow) { color: var(--glance-accent-ink); }
body.glance-page main .story-number { color: #b8bdc6; }
body.glance-page main .story-copy h3 { color: var(--text); }
body.glance-page main .source-title-light { color: #696e78; }
body.glance-page main .source-title-strong { color: var(--text); }
body.glance-page main .source-title-strong em { color: var(--glance-accent-ink); }
body.glance-page main :is(.text-link,.abstract summary) { color: var(--text); }
body.glance-page main :is(.text-link,.abstract summary):hover { color: var(--glance-accent-ink); }
body.glance-page main .button.primary { color: white; background: #20232a; border-color: #20232a; }
body.glance-page main .button.primary:hover { background: var(--red); border-color: var(--red); }
body.glance-page main .button.outline:hover { color: var(--text); background: #eef0f3; }
body.glance-page main .requirement { border-left: 0; padding: 20px 22px; background: var(--surface); }
body.glance-page main .requirement .eyebrow { color: var(--glance-accent-ink); }
body.glance-page main .versus { color: #acb2bc; }
body.glance-page main .evidence-label { color: #7c828b; }
body.glance-page main .evidence-label b { color: #515864; border-color: #ccd2da; }
body.glance-page main .diagram-foot { color: var(--muted); }
body.glance-page main :is(.test-policy-heading p,.evidence-close) { color: var(--muted); }
body.glance-page main .evidence-close strong { color: var(--text); }
body.glance-page main .evidence-close i { color: #bac1ca; }

/* The overview is a light figure plate with colored objects and real screenshots. */
body.glance-page main .paper-pipeline {
  --pp-line: #c9cfd7;
  background: #fff;
  color: var(--text);
  border-color: var(--line);
  box-shadow: 0 12px 40px #1b2a3d05;
}
body.glance-page main :is(.pp-object,.pp-feedback) { background: #fff; }
body.glance-page main :is(.pp-eyebrow,.pp-node-kicker,.pp-object>span,.pp-axis>span,.pp-policy-label,.pp-bottom>p,.pp-evidence div>span:last-child,.pp-revise div>span) { color: var(--muted); }
body.glance-page main .pp-transport { color: #535a66; border-color: #cdd3db; }
body.glance-page main .pp-wire.is-current { stroke: #d6817c; }
body.glance-page main .pp-contract { background: #fff6f5; border-color: #ebd5d2; }
body.glance-page main .pp-contract.is-active { background: #fff0ee; border-color: #ef8b84; }
body.glance-page main .pp-contract>.pp-node-kicker { color: #ae5851; }
body.glance-page main .pp-edge { stroke: #bd8580; }
body.glance-page main .pp-rule rect { fill: #fff; stroke: #d8a5a0; }
body.glance-page main .pp-rule text { fill: #773e3a; }
body.glance-page main .pp-contract.is-active .pp-rule rect { fill: #ffe4df; stroke: #e27a71; }
body.glance-page main :is(.pp-contract-contents,.pp-fixed) { color: #826763; }
body.glance-page main .pp-fixed { border-color: #e7ceca; }
body.glance-page main .pp-evaluation { background: #f7f8fa; border-color: #d9dee5; }
body.glance-page main .pp-evaluation.is-active { border-color: #e1a29b; }
body.glance-page main .pp-evaluation-heading .pp-node-kicker { color: #59616c; }
body.glance-page main .pp-axis+.pp-axis { border-color: #dce1e8; }
body.glance-page main .pp-code { box-shadow: 0 5px 16px #11182715; }
body.glance-page main .pp-feedback-arrow { color: #adb4be; }
body.glance-page main .pp-bottom { border-color: var(--line); }
body.glance-page main .pp-steps button { border-color: #d0d6de; color: #727985; }
body.glance-page main .pp-steps button>span { color: #9198a3; }
body.glance-page main .pp-steps button[aria-pressed=true] { color: var(--text); }
body.glance-page main .pp-steps button[aria-pressed=true]>span { color: var(--glance-accent-ink); }
body.glance-page main .pp-frame-marker { border-color: #da443aa8; }
body.glance-page main .pp-arena { fill: #f0f5f7; stroke: #bacbd1; }
body.glance-page main .pp-arena-grid path { stroke: #dce7eb; }
body.glance-page main .pp-arena-walls rect { fill: #c6d5dc; stroke: #acbfc7; }
body.glance-page main .pp-route-guide { stroke: #95aab4; }
body.glance-page main .pp-route-explored { stroke: #2b8893; }
body.glance-page main .pp-route-start { fill: #e0f2ee; stroke: #5eaaa0; }
body.glance-page main .pp-route-observation circle { fill: #faffff; stroke: #6097a1; }
body.glance-page main .pp-route-observation path { stroke: #337f8d; }
body.glance-page main .pp-interaction-pulse { stroke: #36a298; }
body.glance-page main .pp-playtest.is-active .pp-arena { stroke: #77a9b2; }

/* Schematic dependencies remain native SVG; photographs and game UI are never recolored. */
body.glance-page main .dependency-drawing { background: radial-gradient(ellipse at 28% 45%,#fff1ef,transparent 68%); }
body.glance-page main :is(.source-rule,.source-name,.source-mobile-name) { fill: #303743; }
body.glance-page main :is(.source-note,.dw-name) { fill: #5e6672; }
body.glance-page main :is(.source-node,.source-mobile-node) { fill: #f5f7fa; stroke: #a3adb9; }
body.glance-page main :is(.source-rule-charge,.source-mobile-charge-name) { fill: #fff; }
body.glance-page main .dependency-weighted .dw-legend { color: #737983; }
body.glance-page main .dependency-weighted .dw-legend-range { color: #626976; }
body.glance-page main .dependency-weighted .dw-legend-range i { background: #d5aea8; }
body.glance-page main .dependency-weighted .dw-name { fill: #49515e; }
body.glance-page main .dependency-weighted .dw-edge { stroke: #c5a7a1; }
body.glance-page main .dependency-weighted .dw-arrow { fill: #ba8e87; }

/* Frame-player chrome follows the document palette; image canvases stay dark. */
body.glance-page main :is(.replay-route,.replay-window figcaption,.lane-label strong) { color: #535c68; }
body.glance-page main .replay-window figcaption { border-color: #c5ccd5; }
body.glance-page main :is(.trajectory-lane,.adaptive-drawing>.diagram-foot) { border-color: var(--line); }
body.glance-page main .trajectory>li:after { background: #fff; border-color: #8c9ba9; }
body.glance-page main .targeted-lane .trajectory>li:after { background: #fff0ee; border-color: var(--red); }
body.glance-page main .targeted-lane .lane-label strong { color: #d44d44; }

/* Quiet comparison controls and a paper-like results table. */
body.glance-page main .segmented { background: #f2f4f7; border-color: #dce1e8; }
body.glance-page main .segmented button:hover { color: #20232a; }
body.glance-page main .segmented button.active { background: #20232a; color: #fff; }
body.glance-page main .results .score-axis-tabs { background: #f2f4f7; border-color: #dce1e8; }
body.glance-page main .results .score-axis-tabs button.active { color: #fff; background: #e33932; }
body.glance-page main th { border-color: #b7c0ca; }
body.glance-page main td { border-color: #e5e9ee; }
body.glance-page main .score-meter { background: #a2aab5; }
body.glance-page main .top-result .score-meter { background: var(--red); }
body.glance-page main .top-result .score-cell { color: var(--glance-accent-ink); }
body.glance-page main .agent-logo.monochrome { filter: none; }
body.glance-page main .revision-bars i { background: #a3abb6; }
body.glance-page main .revision-bars .ours i { background: var(--red); }
body.glance-page main .revision-bars .ours b { color: var(--glance-accent-ink); }

/* GDD requirements are set as a restrained document row, without a colored side rail. */
body.glance-page main .case-requirement { background: #f5f6f8; border: 0; padding: 22px 26px; }
body.glance-page main .case-spec-label { color: #59616d; }
body.glance-page main .case-requirement>div>span { color: #727b88; }
body.glance-page main .case-spec-arrow { color: #a2aab5; }
body.glance-page main .case-side { border-color: #bfc7d0; }
body.glance-page main .case-side-feedback { border-color: #ed918a; }
body.glance-page main :is(.case-side-feedback .case-condition,.case-side-feedback .case-outcome) { color: var(--glance-accent-ink); }
body.glance-page main .case-zoom>span { color: #f6f7f9; }
body.glance-page main .case-runtime { background: #f4f6f8; }
body.glance-page main .case-runtime strong { color: #d64940; }
body.glance-page main :is(.case-test-details summary,.recorded-tabs button) { color: #626975; }
body.glance-page main .case-test-details summary:hover { color: var(--text); }
body.glance-page main :is(.revision-controls button,.recorded-tabs button,.recorded-controls button) { border-color: #bac3cd; }
body.glance-page main .recorded-tabs button[aria-pressed=true] { color: white; background: #e33932; border-color: #e33932; }
body.glance-page main .revision-counter>span { color: #87909c; }

/* Media captions on dark image overlays need their own color context. */
body.glance-page main :is(.showcase-caption,.hero-reel figcaption,.motion-message,.motion-filmbar) { color: #f5f5f3; }
body.glance-page main :is(.motion-message,.motion-filmbar) { --text: #f4f3ef; --muted: #a8a8a8; --bg: #0e0e0e; --line: #333; }
body.glance-page main .motion-message .text-link { color: #f5f5f3; }

@media(max-width:760px) {
  body.glance-page main .case-requirement { padding: 18px; }
  body.glance-page main .pp-axis+.pp-axis { border-color: #dce1e8; }
}




/* Author links. */
.author-link{color:inherit;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:.23em}
.hero-credits:not([inert]) .author-link{pointer-events:auto}
.hero-credits[inert] .author-link{pointer-events:none}
.author-link:hover{color:inherit;text-decoration:underline}
.author-link:focus-visible{color:inherit;text-decoration:underline;outline:1px solid currentColor;outline-offset:4px}
.wall-generation-note{margin:13px 0 0;font-size:12px;line-height:1.5;font-weight:400;color:var(--muted);letter-spacing:0}
@media(max-width:760px){.wall-generation-note{font-size:10px;margin-top:11px}}


/* Contract defines what. Test policies define how. */
.paper-pipeline{--pp-policy-bg:#151c22;--pp-policy-border:#3c5367;--pp-policy-ink:#9dc6e8;--pp-policy-line:#304454}
.paper-pipeline .pp-evaluation-heading{margin-bottom:13px;min-height:18px}
.paper-pipeline .pp-axes.pp-contract-policy-axes{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,2.18fr);gap:17px;align-items:stretch}
.paper-pipeline .pp-contract-policy-axes>.pp-source{display:flex;flex-direction:column;justify-content:flex-end;padding:13px 0 14px;border:0}
.paper-pipeline .pp-contract-policy-axes>.pp-source>.pp-axis-visual{flex-shrink:0}
.paper-pipeline .pp-policies{min-width:0;padding:14px 14px 15px;border:1px solid var(--pp-policy-border);border-radius:6px;background:var(--pp-policy-bg);transition:border-color .4s,box-shadow .4s}
.paper-pipeline .pp-policy-heading{display:flex;align-items:center;gap:10px;min-height:38px;margin-bottom:18px}
.paper-pipeline .pp-policy-heading svg{width:27px;height:32px;flex-shrink:0;fill:none;stroke:var(--pp-policy-ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.paper-pipeline .pp-policy-heading .pp-node-kicker{display:block;color:var(--pp-policy-ink);font-size:8px;letter-spacing:.14em;line-height:1.3;margin-bottom:5px}
.paper-pipeline .pp-policy-heading strong{display:block;font-size:17px;line-height:1.2;font-weight:650;color:inherit}
.paper-pipeline .pp-policy-inputs{display:flex;gap:3px;margin-left:auto;align-items:center;height:21px;opacity:.5}
.paper-pipeline .pp-policy-inputs i{display:block;width:3px;height:5px;background:var(--pp-policy-ink);border-radius:2px}
.paper-pipeline .pp-policy-inputs i:nth-child(2){height:13px}.paper-pipeline .pp-policy-inputs i:nth-child(3){height:8px}
.paper-pipeline .pp-policy-methods{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
.paper-pipeline .pp-policy-methods>.pp-axis{border:0;padding:0;min-width:0}
.paper-pipeline .pp-policy-methods>.pp-axis+.pp-axis{padding-left:14px;border-left:1px solid var(--pp-policy-line)}
.paper-pipeline .pp-policy-methods>.pp-axis>span{max-width:165px}
.paper-pipeline .pp-policies.is-active{border-color:#70a7d0;box-shadow:0 0 0 1px rgba(94,162,213,.1)}
.paper-pipeline .pp-policies.is-active .pp-policy-inputs{opacity:1}
.paper-pipeline .pp-policies.is-active .pp-policy-inputs i{animation:pp-policy-input 1.4s ease-in-out infinite}
.paper-pipeline .pp-policies.is-active .pp-policy-inputs i:nth-child(2){animation-delay:.2s}.paper-pipeline .pp-policies.is-active .pp-policy-inputs i:nth-child(3){animation-delay:.4s}
@keyframes pp-policy-input{0%,100%{transform:scaleY(.65)}50%{transform:scaleY(1.2)}}
body.glance-page main .paper-pipeline{--pp-policy-bg:#f0f6fc;--pp-policy-border:#c6d8e8;--pp-policy-ink:#386f9f;--pp-policy-line:#ccdae6}
body.glance-page main .paper-pipeline .pp-policy-heading .pp-node-kicker{color:var(--pp-policy-ink)}
body.glance-page main .paper-pipeline .pp-policies.is-active{border-color:#7badd1;box-shadow:0 0 0 1px #b7d1e523}
@media(max-width:1100px) and (min-width:761px){
 .paper-pipeline .pp-axes.pp-contract-policy-axes{grid-template-columns:minmax(0,.72fr) minmax(0,2.28fr);gap:12px}
 .paper-pipeline .pp-policies{padding:12px 10px 14px}
 .paper-pipeline .pp-policy-heading{gap:8px;margin-bottom:14px}
 .paper-pipeline .pp-policy-heading strong{font-size:15px}
 .paper-pipeline .pp-policy-methods{gap:10px}
 .paper-pipeline .pp-policy-methods>.pp-axis+.pp-axis{padding-left:10px}
 .paper-pipeline .pp-policy-methods>.pp-axis>strong{font-size:12px}
 .paper-pipeline .pp-contract-policy-axes>.pp-source>.pp-axis-visual{height:102px}
}
@media(max-width:760px){
 .paper-pipeline .pp-axes.pp-contract-policy-axes{grid-template-columns:1fr;gap:17px}
 .paper-pipeline .pp-contract-policy-axes>.pp-source{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto auto;gap:0 16px;padding:0}
 .paper-pipeline .pp-policies{padding:13px 11px 14px}
 .paper-pipeline .pp-policy-heading{margin-bottom:14px;min-height:35px;gap:10px}
 .paper-pipeline .pp-policy-heading svg{width:25px;height:30px}
 .paper-pipeline .pp-policy-heading strong{font-size:16px}
 .paper-pipeline .pp-policy-heading .pp-node-kicker{font-size:8px;margin-bottom:4px}
 .paper-pipeline .pp-policy-methods{grid-template-columns:1fr;gap:14px}
 .paper-pipeline .pp-policy-methods>.pp-axis{display:grid;grid-template-columns:90px 1fr;grid-template-rows:auto auto;column-gap:13px}
 .paper-pipeline .pp-policy-methods>.pp-axis+.pp-axis{padding:14px 0 0;border-left:0;border-top:1px solid var(--pp-policy-line)}
 .paper-pipeline .pp-policy-methods>.pp-axis>strong{font-size:13px;line-height:1.3}
 .paper-pipeline .pp-policy-methods>.pp-axis>span{font-size:9px;max-width:none;line-height:1.5}
 .paper-pipeline .pp-policy-methods>.pp-playtest{grid-template-columns:96px 1fr;column-gap:7px}
 .paper-pipeline .pp-contract>.pp-node-kicker{font-size:8px}
}
@media(max-width:360px){
 .paper-pipeline .pp-policy-methods>.pp-axis{grid-template-columns:72px 1fr;column-gap:9px}
 .paper-pipeline .pp-policy-methods>.pp-playtest{grid-template-columns:78px 1fr;column-gap:3px}
 .paper-pipeline .pp-policy-methods>.pp-axis>strong{font-size:12px}
 .paper-pipeline .pp-policy-methods>.pp-axis>span{font-size:8px}
}
/* End contract and test policy grouping. */

/* Design horizon. */
.design-horizon{position:relative;isolation:isolate;overflow:hidden;background:#000;color:#f4f3ef;width:100%;height:clamp(660px,56.25vw,1080px);border:0}
.design-horizon-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-1;background:#000}
.design-horizon-copy{position:absolute;inset:0 0 auto;text-align:center;padding-top:clamp(70px,7.2vw,138px);max-width:1440px}
.design-horizon-copy h2{font-size:clamp(32px,4.15vw,76px);font-weight:800;line-height:1.13;letter-spacing:-.015em;margin:0 0 24px;text-wrap:balance}
.design-horizon-copy h2>span{display:block}
.design-horizon-copy p{font-size:clamp(15px,1.3vw,21px);line-height:1.6;color:#b6b9c0;font-weight:400;margin:0 auto;max-width:850px;text-wrap:balance}
.horizon-mobile-break{display:none}
.design-horizon-toggle{position:absolute;right:var(--pad);bottom:26px;display:flex;align-items:center;gap:8px;border:1px solid #ffffff2b;background:#090a0db3;color:#d5d8dd;padding:10px 14px;font-size:11px;line-height:1;backdrop-filter:blur(8px)}
.design-horizon-toggle:hover{border-color:#ffffff80;color:#fff}
.design-horizon-toggle [data-horizon-toggle-icon]{font-size:12px;min-width:10px}
@media(max-width:760px){.design-horizon{height:660px}.design-horizon-copy{padding-top:76px}.design-horizon-copy h2{font-size:clamp(28px,5.8vw,42px);line-height:1.17;margin-bottom:22px}.design-horizon-copy p{font-size:15px;line-height:1.6;max-width:510px}.design-horizon-toggle{bottom:22px}}
@media(max-width:480px){.design-horizon{height:620px}.design-horizon-copy{padding-top:64px}.design-horizon-copy h2{font-size:clamp(16px,5.15vw,24px);line-height:1.3;margin-bottom:22px}.design-horizon-copy p{font-size:14px;line-height:1.65}.horizon-mobile-break{display:block}.design-horizon-copy h2>span{white-space:nowrap}.design-horizon-toggle{font-size:10px;padding:9px 11px}}


/* Narrow screen content fit. */
/* Let the two-column statistics grid shrink to the phone width, including its longest value. */
@media (max-width:380px) {
  body.home-page .facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.home-page .facts>div { min-width:0; }
  body.home-page .facts strong { font-size:clamp(24px,7.8vw,37px); }
}
/* Keep the research title within the single-column grid on the narrowest phones. */
@media (max-width:380px) {
  body.glance-page .paper-grid>div { min-width:0; }
  body.glance-page .paper-grid h2 { font-size:clamp(22px,7.25vw,27.5px); }
}


/* Selected 3D examples paired with their GDD requirement summaries. */
.extension-showcase .ext3d-spec{display:grid;grid-template-columns:43px minmax(0,1fr);gap:21px;align-items:center;padding:24px 29px;background:var(--bg,#fff);border-bottom:1px solid var(--line,#dfe3e8);color:var(--text,#20232a)}
.ext3d-spec>img{display:block;width:43px;height:58px;object-fit:contain}
.ext3d-spec-copy{min-width:0}
.ext3d-spec-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ext3d-spec-heading>span{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--glance-accent-ink,#c83530)}
.ext3d-spec-heading>small{font-size:9px;line-height:1.3;color:var(--muted,#626975);border-left:1px solid var(--line,#dfe3e8);padding-left:10px}
.ext3d-spec-copy>p{font-size:18px;font-weight:400;line-height:1.45;margin:0;max-width:880px}
.ext3d-spec-copy>p strong{font-weight:700}
.ext3d-spec-copy>p[hidden]{display:none!important}
.extension-showcase .ext3d-choices{grid-template-columns:1.15fr 1fr}
@media(max-width:760px){
 .extension-showcase .ext3d-spec{grid-template-columns:35px minmax(0,1fr);gap:14px;padding:19px 16px}
 .ext3d-spec>img{width:35px;height:47px}
 .ext3d-spec-heading{gap:8px;margin-bottom:8px}
 .ext3d-spec-heading>span{font-size:9px;letter-spacing:.07em}
 .ext3d-spec-heading>small{font-size:8px;padding-left:8px}
 .ext3d-spec-copy>p{font-size:14px;line-height:1.5}
 .extension-showcase .ext3d-choice{font-size:12px}
}
@media(max-width:400px){
 .extension-showcase .ext3d-spec{grid-template-columns:29px minmax(0,1fr);gap:12px;padding:17px 12px}
 .ext3d-spec>img{width:29px;height:40px}
 .ext3d-spec-heading>span{font-size:8px}
 .ext3d-spec-heading>small{font-size:8px}
 .ext3d-spec-copy>p{font-size:13px;line-height:1.5}
 .extension-showcase .ext3d-choice{font-size:11px}
}
/* End selected 3D examples. */

/* Spatial replay. */
/* Three fixed evidence frames emerge from a level row of neutral replay slices. */
.se-retrieval-evidence{padding:19px 18px 10px;border:0;background:var(--se-panel);overflow:hidden}
.se-retrieval-evidence .se-toolbar{position:relative;z-index:2;padding:0 0 8px}
.se-retrieval-evidence .se-spatial-scene{position:relative;width:100%;aspect-ratio:1.92;isolation:isolate}
.se-retrieval-evidence .se-slice-array{position:absolute;inset:0 0 auto;height:41%;transform:none}
.se-retrieval-evidence .se-slice-rail{position:absolute;left:5%;right:5%;bottom:5%;height:1px;background:linear-gradient(90deg,transparent,#46515d 12%,#46515d 88%,transparent)}
.se-retrieval-evidence .se-slice{position:absolute;left:calc(2% + var(--slice)*5.4%);bottom:11%;width:18%;height:67%;border:1px solid #7b8b9c;background:linear-gradient(105deg,rgba(132,151,171,.22),rgba(86,102,121,.06));box-shadow:inset 1px 0 rgba(223,234,247,.2);transform:perspective(550px) rotateY(-58deg);transform-origin:center;transition:transform .55s ease,border-color .55s ease,background .55s ease,box-shadow .55s ease;opacity:.68}
.se-retrieval-evidence .se-slice:before{content:"";position:absolute;inset:7%;border:1px solid rgba(190,210,230,.11)}
.se-retrieval-evidence .se-slice.is-chosen{transform:translateY(-10px) perspective(550px) rotateY(-58deg);border-color:#f67870;background:linear-gradient(105deg,rgba(249,66,58,.3),rgba(249,66,58,.07));box-shadow:inset 1px 0 rgba(255,191,184,.6),0 0 15px rgba(249,66,58,.13);opacity:1}
.se-retrieval-evidence .se-extracted-frames{position:absolute;left:1%;top:44%;width:98%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.se-retrieval-evidence .se-extract-card{position:relative;width:100%;margin:0;border:1px solid var(--se-line);border-radius:2px;background:var(--se-paper);box-shadow:0 7px 18px -10px rgba(0,0,0,.25);opacity:1;transition:opacity .55s ease;transform:none;z-index:auto}
.se-retrieval-evidence .se-card-image{display:block;border:0;padding:0;background:#060809;width:100%;aspect-ratio:16/9;cursor:pointer;overflow:hidden;border-radius:1px 1px 0 0}
.se-retrieval-evidence .se-card-image img{display:block;width:100%;height:100%;object-fit:contain}
.se-retrieval-evidence .se-extract-card figcaption{display:flex;flex-direction:column;gap:4px;padding:10px 11px;color:var(--se-muted);font-size:10px;line-height:1.35}
.se-retrieval-evidence .se-extract-card figcaption strong{color:var(--se-text);font-size:12px;font-weight:650}
.se-retrieval-evidence.is-retrieval-ready .se-extract-card:not(.is-retrieved){opacity:0;pointer-events:none}
.se-retrieval-evidence .se-source{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.glance-page main .se-retrieval-evidence{--se-panel:#fff}
body.glance-page main .se-retrieval-evidence .se-slice{border-color:#a2aebb;background:linear-gradient(105deg,rgba(215,225,237,.58),rgba(224,233,243,.2));box-shadow:inset 1px 0 rgba(255,255,255,.98)}
body.glance-page main .se-retrieval-evidence .se-slice:before{border-color:rgba(125,146,171,.12)}
body.glance-page main .se-retrieval-evidence .se-slice.is-chosen{border-color:#ef756e;background:linear-gradient(105deg,rgba(249,66,58,.16),rgba(249,66,58,.045));box-shadow:inset 1px 0 rgba(255,187,179,.75),0 0 15px rgba(249,66,58,.075)}
body.glance-page main .se-retrieval-evidence .se-slice-rail{background:linear-gradient(90deg,transparent,#d7dfe8 12%,#d7dfe8 88%,transparent)}
body.glance-page main .se-retrieval-evidence .se-extract-card{box-shadow:0 7px 18px -10px rgba(43,59,84,.12)}
.se-retrieval-evidence:not(.is-retrieval-ready) .se-spatial-scene{aspect-ratio:auto;height:auto}
.se-retrieval-evidence:not(.is-retrieval-ready) .se-slice-array{display:none}
.se-retrieval-evidence:not(.is-retrieval-ready) .se-extracted-frames{position:relative;top:auto;left:auto;width:100%}
@media(max-width:760px){
 .se-retrieval-evidence{padding:13px 5px 5px}
 .se-retrieval-evidence .se-toolbar{padding:0 8px 6px;gap:12px}
 .se-retrieval-evidence .se-spatial-scene{height:auto;aspect-ratio:auto;padding-top:80px}
 .se-retrieval-evidence .se-slice-array{height:72px}
 .se-retrieval-evidence .se-slice{height:71%;bottom:10%;border-width:.8px}
 .se-retrieval-evidence .se-slice.is-chosen{transform:translateY(-6px) perspective(550px) rotateY(-58deg)}
 .se-retrieval-evidence .se-extracted-frames{position:relative;top:auto;left:0;width:100%;grid-template-columns:minmax(0,1fr);gap:8px}
 .se-retrieval-evidence .se-extract-card{display:grid;grid-template-columns:38% minmax(0,1fr);min-height:64px;height:64px;align-items:stretch;overflow:hidden;box-shadow:none}
 .se-retrieval-evidence .se-card-image{height:100%;aspect-ratio:auto;min-height:0;border-radius:1px 0 0 1px}
 .se-retrieval-evidence .se-card-image img{object-fit:contain}
 .se-retrieval-evidence .se-extract-card figcaption{justify-content:center;padding:7px 10px;gap:4px;min-width:0;font-size:10px;line-height:1.3}
 .se-retrieval-evidence .se-extract-card figcaption strong{font-size:12px;line-height:1.2;overflow-wrap:normal}
 .se-retrieval-evidence .se-extract-card figcaption [data-se-frame-detail]{display:block}
 .se-retrieval-evidence .se-card-image[aria-pressed="true"]{outline:1px solid #ed827b;outline-offset:-1px}
 body.home-page .se-retrieval-evidence .se-extract-card{grid-template-columns:44% minmax(0,1fr);height:76px;min-height:76px}
 .se-retrieval-evidence:not(.is-retrieval-ready) .se-spatial-scene{height:auto;padding-top:0}
 .se-retrieval-evidence:not(.is-retrieval-ready) .se-extracted-frames{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
 .se-retrieval-evidence .se-extract-card figcaption{padding:6px 8px;font-size:9px;line-height:1.3;gap:3px}
 .se-retrieval-evidence .se-extract-card figcaption strong{font-size:11px;line-height:1.2}
}
@media(prefers-reduced-motion:reduce){.se-retrieval-evidence *,.se-retrieval-evidence *:before{animation:none!important;transition:none!important}}


/* Spatial header brands. */
.mast-inner .mast-brands{display:flex;align-items:center;gap:20px;flex-shrink:0}
.mast-inner .mast-brands .brand{width:145px}
.mast-brand-divider{display:block;flex:0 0 1px;width:1px;height:34px;background:#515151}
.bench-brand{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;font-family:Krafton,Urbanist,Arial,sans-serif;font-size:12px;line-height:1.13;letter-spacing:0;font-weight:400;color:#f9423a;text-align:left;font-synthesis:none}
.bench-brand>span{display:block;white-space:nowrap}
.bench-brand:hover{color:#fff}
@media(max-width:1100px){.mast-inner .mast-brands{gap:16px}.mast-inner .mast-brands .brand{width:130px}.bench-brand{font-size:11px}.mast-brand-divider{height:32px}}
@media(max-width:760px){.mast-inner .mast-brands{gap:10px}.mast-inner .mast-brands .brand{width:100px}.bench-brand{font-size:10px}.mast-brand-divider{height:29px}.mast-inner nav{gap:18px}}
@media(max-width:600px){.mast-inner{gap:14px}.mast-inner nav>a:first-child{display:none}.mast-inner nav{gap:15px}.mast-inner .mast-brands .brand{width:90px}}
@media(max-width:480px){.mast-inner .mast-brands{gap:8px}.mast-inner nav,.mast-inner .paper-nav,.mast-inner .code-nav{font-size:12px}.mast-inner nav{gap:13px}.mast-inner .mast-brands .brand{width:90px}}
@media(max-width:380px){.mast-inner{gap:10px}.mast-inner .mast-brands{gap:5px}.mast-inner .mast-brands .brand{width:78px}.mast-inner nav{gap:12px}.mast-inner .code-nav{display:none}}
/* Keep the approximation mark within the same statistics column on narrow screens. */
@media(min-width:761px) and (max-width:1100px){body.home-page .facts .fact-max-tokens{font-size:37px}}
@media(max-width:760px){body.home-page .facts .fact-max-tokens{font-size:clamp(21px,calc(10vw - 11px),37px)}}

/* Gdd document rollout. */
/* Each genuine document and its game capture travels as one unit along a shallow arc. */
.gdd-library{position:relative;overflow:clip;background:#0b0b0d;color:#f4f3ef;border-top:1px solid #242427;border-bottom:1px solid #242427}
.gdd-library .gdd-content{position:relative;padding:76px 0 44px}
.gdd-library .gdd-heading{display:flex;align-items:center;justify-content:space-between;gap:48px}
.gdd-library .gdd-heading h2{font-size:clamp(37px,4.6vw,66px);line-height:1.06;letter-spacing:-.025em;margin:0;flex:1.2}
.gdd-library .gdd-heading>p{font-size:17px;line-height:1.65;color:#a6a6ad;margin:0;max-width:520px;flex:1;text-wrap:pretty}
.gdd-pair-stage{position:relative;width:100%;max-width:1800px;margin:43px auto 0;isolation:isolate;outline:0;touch-action:pan-y}
.gdd-pair-stage:focus-visible{outline:1px solid #777;outline-offset:-8px}
.gdd-arc-line{position:absolute;inset:0;width:100%;height:540px;overflow:visible;pointer-events:none}
.gdd-arc-line path{fill:none;stroke:#ffffff1c;stroke-width:1;vector-effect:non-scaling-stroke}
.gdd-pair-deck{position:relative;height:540px}
.gdd-pair{position:absolute;top:0;left:50%;width:648px;margin-left:-324px;display:grid;grid-template-columns:440px 164px;align-items:center;gap:44px;min-height:532px;transform-origin:50% 50%;will-change:transform,opacity;isolation:isolate}
.gdd-pair[hidden]{display:none!important}
.gdd-pair:not(.is-gdd-focus){pointer-events:none}
.gdd-pair.is-gdd-neighbor{pointer-events:auto;cursor:pointer}
.gdd-document-wrap{position:relative;min-width:0;padding:8px;isolation:isolate}
.gdd-document-backing,.gdd-document-backing::before{position:absolute;inset:9px 6px 5px;background:#d9d9d4;border:1px solid #bcbcb8;transform:rotate(2.4deg);z-index:-1;box-shadow:0 14px 28px #0002}
.gdd-document-backing::before{content:"";inset:0;transform:rotate(-4.4deg);background:#e9e9e3}
.gdd-document{position:relative;height:518px;min-height:518px;padding:24px 26px 37px;background:#fafaf7;border:1px solid #e5e5df;color:#29292f;box-shadow:0 18px 45px #0006;isolation:isolate;overflow:hidden;display:flex;flex-direction:column}
.gdd-document-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;padding-bottom:13px;border-bottom:1px solid #d8d8d2;font-size:8px;font-weight:650;letter-spacing:.14em;color:#76767e;flex-shrink:0}
.gdd-document-top svg{width:14px;height:17px;fill:none;stroke:currentColor;stroke-width:1.25;flex-shrink:0}
.gdd-document-game{font-size:25px;line-height:1.1;font-weight:650;letter-spacing:-.025em;color:#29292f;margin:0 0 15px;flex-shrink:0}
.gdd-requirement{display:block;text-wrap:pretty;margin:0;padding:0;background:none;border:0;box-shadow:none;font-size:17px;line-height:1.32;font-weight:500;letter-spacing:-.013em;color:inherit}
.gdd-requirement mark{background:transparent;color:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:transparent;text-underline-offset:3px}
.gdd-document-footer{position:absolute;left:28px;right:28px;bottom:17px;display:flex;justify-content:space-between;gap:12px;font-size:6px;letter-spacing:.12em;color:#95959b}
.gdd-game-tile{position:relative;margin:0 0 10px;align-self:center;min-width:0;width:100%}
.gdd-game-tile::before{content:"";position:absolute;right:calc(100% + 11px);width:22px;top:74px;height:1px;background:linear-gradient(90deg,#62626970,#b0b0b988)}
.gdd-app-image{position:relative;width:100%;aspect-ratio:1;border-radius:28px;overflow:hidden;border:1px solid #ffffff24;background:#17171c;box-shadow:0 20px 40px #0006,0 1px 0 #ffffff1a inset}
.gdd-app-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.gdd-game-tile figcaption{text-align:center;font-size:16px;line-height:1.35;font-weight:600;color:#eeedf0;margin:17px -9px 0;min-height:44px}
.gdd-neighbor-button{display:none;position:absolute;inset:-10px;background:transparent;border:0;color:transparent;cursor:pointer;z-index:8}
.gdd-pair.is-gdd-neighbor .gdd-neighbor-button{display:block}
.gdd-browse-controls{position:relative;z-index:20;display:flex;justify-content:center;gap:12px;margin:15px auto 0}
.gdd-browse-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #4b4b52;border-radius:50%;color:#bfbfc6;background:#151519;cursor:pointer;transition:border-color .2s,color .2s}
.gdd-browse-controls button:hover{color:#fff;border-color:#93939c}.gdd-browse-controls button:focus-visible{outline:2px solid #f9423a;outline-offset:4px}
.gdd-browse-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.gdd-requirements{display:flex;flex-direction:column;justify-content:space-between;gap:5px;flex:1;min-height:0}.gdd-requirement-row{display:block;width:100%;padding:9px 10px;text-align:left;background:transparent;border:1px solid transparent;border-radius:1px;color:#55555f;opacity:.32;filter:blur(.45px);cursor:pointer;transition:opacity .6s ease,filter .6s ease,background-color .6s ease,border-color .6s ease;flex-shrink:0}.gdd-requirement-label{display:block;margin-bottom:5px;font-size:8px;line-height:1.2;font-weight:650;letter-spacing:.055em;color:#777780}.gdd-requirement-row.is-requirement-focus{opacity:1;filter:blur(0);background:#fff;border-color:#e8e8e2;color:#27272c}.gdd-requirement-row.is-requirement-focus mark{color:#de3f36;text-decoration-color:#f0b9b2}.gdd-requirement-row:focus-visible{outline:1px solid #87878e;outline-offset:2px}
@media(max-width:1100px){.gdd-library .gdd-heading{display:block}.gdd-library .gdd-heading>p{max-width:700px;margin-top:22px;font-size:16px}.gdd-library .gdd-heading h2{font-size:44px}}
@media(max-width:1050px){.gdd-library .gdd-heading>p{font-size:15px;max-width:680px}.gdd-pair{width:580px;margin-left:-290px;grid-template-columns:398px 144px;gap:38px}.gdd-document{padding-left:25px;padding-right:25px}.gdd-requirement{font-size:16px}.gdd-app-image{border-radius:24px}.gdd-game-tile figcaption{font-size:15px}.gdd-game-tile::before{width:18px;right:calc(100% + 10px)}}
@media(max-width:760px){
 .gdd-library .gdd-content{padding:48px 0 31px}.gdd-library .gdd-heading h2{font-size:32px;line-height:1.08;letter-spacing:-.018em}.gdd-library .gdd-heading>p{font-size:13px;line-height:1.6;max-width:100%;margin-top:18px}
 .gdd-pair-stage{margin-top:27px}.gdd-pair-deck{height:518px}.gdd-pair{width:min(480px,calc(100vw - 36px));margin-left:0;left:50%;translate:-50% 0;grid-template-columns:minmax(0,1fr) 78px;column-gap:15px;min-height:508px}
 .gdd-document-wrap{padding:5px}.gdd-document{height:502px;min-height:502px;padding:18px 15px 30px}.gdd-document-top{font-size:6px;letter-spacing:.07em;gap:6px;margin-bottom:17px;padding-bottom:11px}.gdd-document-top svg{width:11px;height:14px}.gdd-document-game{font-size:18px;margin-bottom:13px}.gdd-document-footer{left:15px;right:15px;bottom:14px;font-size:5px;gap:5px}
 .gdd-requirement{font-size:14px;line-height:1.3}.gdd-requirement-row{padding:7px}.gdd-requirement-label{font-size:7px;margin-bottom:4px}
 .gdd-app-image{border-radius:17px}.gdd-game-tile{margin:0 0 30px}.gdd-game-tile::before{display:none}.gdd-game-tile figcaption{font-size:11px;line-height:1.35;margin:11px -2px 0;min-height:45px}
 .gdd-arc-line{height:518px;inset:0 -40%;width:180%}.gdd-browse-controls{margin-top:20px;gap:12px}.gdd-browse-controls button{width:34px;height:34px}
}
@media(max-width:400px){.gdd-pair{grid-template-columns:minmax(0,1fr) 68px;gap:13px}.gdd-document{padding:18px 13px 30px}.gdd-document-top{font-size:5px}.gdd-requirement{font-size:13.5px}.gdd-app-image{border-radius:15px}.gdd-game-tile figcaption{font-size:10px}}
@media(max-width:340px){.gdd-library .gdd-heading h2{font-size:29px}.gdd-library .gdd-heading>p{font-size:12px}.gdd-pair{width:calc(100vw - 30px);grid-template-columns:minmax(0,1fr) 59px;gap:11px}.gdd-document{padding-left:12px;padding-right:12px}.gdd-requirement{font-size:13px}.gdd-requirement-row{padding:6px 5px}.gdd-document-game{font-size:17px}.gdd-document-top{font-size:4.6px}}
@media(prefers-reduced-motion:reduce){.gdd-library *{scroll-behavior:auto!important;transition:none!important}.gdd-pair{will-change:auto}.gdd-requirement-row,.gdd-requirement-row.is-requirement-focus{opacity:1;filter:none}.gdd-requirement-row mark{color:#34343a}}


/* Source runtime chart. */
.source-runtime-chart{position:relative;margin:46px 0 0;padding:32px 0 0;border-top:1px solid var(--line);color:var(--text)}
.src-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:26px}
.src-heading h3{font-size:clamp(23px,2.25vw,30px);font-weight:650;letter-spacing:-.025em;line-height:1.2;margin:0}
.src-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
.src-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.src-panel{min-width:0}
.src-panel h4{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;margin:0 0 6px;background:#f2f4f5;font-size:16px;font-weight:650;line-height:1.1}
.src-panel h4 span{font-size:12px;font-weight:500;color:#69727a}
.src-svg{display:block;width:100%;height:auto;overflow:visible;font-family:Urbanist,Arial,sans-serif}
.src-grid{stroke:#e8ecef;stroke-width:1}
.src-contour{stroke:#b9c2ca;stroke-width:1.15;stroke-dasharray:4 5}
.src-axis{fill:none;stroke:#9ea5ac;stroke-width:1.1}
.src-tick{fill:#59616a;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}
.src-axis-title{fill:#3f454b;font-size:13.5px;font-weight:550}
.src-label-leader{stroke:var(--agent-color);stroke-width:1.1;opacity:.62}
.src-score-dot{fill:var(--agent-color);stroke:white;stroke-width:1.15}
.src-badge rect{fill:white;stroke:var(--agent-color);stroke-opacity:.6;stroke-width:1.1}
.src-badge text{fill:var(--agent-color);font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}
.src-icon-kimi{filter:brightness(0)}
.src-contour-label{font-size:12px;font-weight:550;fill:#77818b;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}
.src-agent-point{transition:opacity 150ms ease;cursor:default}
.src-agent-point.is-muted{opacity:.18}
.src-agent-point.is-highlighted .src-badge rect{stroke-opacity:1;stroke-width:1.8}
.src-agent-point.is-highlighted .src-score-dot{stroke-width:1.5;r:4.4px}
.src-shared-x{font-size:14px;font-weight:550;text-align:center;line-height:1.5;margin:-9px 0 21px;color:#3f454b}
.src-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:2px 22px;padding:15px 16px;background:#f4f6f7}
.src-legend button{display:flex;align-items:center;gap:9px;min-width:0;background:transparent;color:#30383f;border:0;border-radius:4px;padding:8px 4px;font:550 14px/1.25 Urbanist,Arial,sans-serif;text-align:left;cursor:pointer}
.src-legend button i{width:7px;height:7px;border-radius:50%;background:var(--agent-color);flex-shrink:0}
.src-legend button img{flex-shrink:0;width:17px;height:17px;object-fit:contain}
.src-legend button[aria-pressed="true"],.src-legend button:hover{color:var(--agent-color);background:#fff}
.src-legend button:focus-visible{outline:2px solid var(--agent-color);outline-offset:2px}
.source-runtime-chart .src-caption{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0 0;max-width:1040px;padding:0;background:none}
.src-caption span{white-space:nowrap}
.src-panel-tabs{display:none}
.src-tooltip[hidden]{display:none}
.src-tooltip{position:absolute;z-index:12;width:286px;padding:16px 17px;background:#fff;border:1px solid #d9dfe3;border-radius:7px;box-shadow:0 7px 30px #18253420;pointer-events:none;color:#30383f}
.src-tooltip>strong{display:block;font-size:14px;margin-bottom:10px;color:var(--agent-color)}
.src-tooltip table{width:100%;min-width:0;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.src-tooltip th,.src-tooltip td,.src-tooltip th:first-child,.src-tooltip td:first-child,.src-tooltip th:last-child,.src-tooltip td:last-child{width:auto;padding:4px 6px;border:0;text-align:right;font-size:12px;line-height:1.3;color:#30383f}
.src-tooltip th:first-child,.src-tooltip td:first-child{text-align:left;padding-left:0}
.src-tooltip th{font-weight:600;color:#6d7781}
@media(max-width:1050px) and (min-width:901px){.src-heading{display:block}.src-heading p{margin-top:10px}.src-legend{gap:2px 8px;padding:12px 10px}.src-legend button{font-size:12px;gap:6px}}
@media(max-width:900px){
 .src-heading{display:block;margin-bottom:20px}.src-heading p{margin-top:10px}
 .src-panels{display:flex;overflow-x:auto;gap:0;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
 .src-panels::-webkit-scrollbar{display:none}
 .src-panel{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
 .src-panel h4{max-width:600px;margin-inline:auto}
 .src-svg{max-width:600px;margin-inline:auto}
 .src-ready .src-panel-tabs{display:flex;gap:0;align-items:stretch;border-bottom:1px solid #d7dce0;margin-bottom:15px}
 .src-panel-tabs button{flex:1;padding:11px 8px;background:none;border:0;border-bottom:2px solid transparent;color:#6b747c;font:600 14px/1.2 Urbanist,Arial,sans-serif;cursor:pointer}
 .src-panel-tabs button span{display:block;font-size:11px;font-weight:500;margin-top:5px}
 .src-panel-tabs button[aria-selected="true"]{border-bottom-color:var(--red);color:var(--text)}
 .src-panel-tabs button:focus-visible{outline:2px solid var(--text);outline-offset:2px}
 .src-ready .src-panel h4{display:none}
 .src-shared-x{margin-top:-6px;font-size:13px}
 .src-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 10px}
 .src-legend button{font-size:12px;gap:7px}
}
@media(max-width:600px){
 .source-runtime-chart{margin-top:32px;padding-top:28px}
 .src-legend{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-flow:row;gap:3px 9px;padding:12px 8px}
 .src-legend button{font-size:12px;gap:6px;padding:8px 2px;align-items:center}
 .src-legend button img{width:15px;height:15px}.src-legend button i{width:5px;height:5px}
 .src-legend button span{overflow-wrap:anywhere}
 .source-runtime-chart .src-caption{font-size:12px;margin-top:13px}
 .src-caption span{white-space:normal}
 .src-shared-x{font-size:12.5px}
 .src-tick,.src-badge text{font-size:14px}
 .src-axis-title{font-size:14.5px}
 .src-tooltip{width:min(286px,calc(100vw - 56px));padding:14px}
}
@media(prefers-reduced-motion:reduce){.src-agent-point{transition:none}.src-panels{scroll-behavior:auto}}






/* Mobile pipeline carousel. */
.pm-carousel{display:none}
@media(max-width:760px){
 .paper-pipeline.pp-mobile-ready{padding:17px 16px 16px;min-width:0}
 .paper-pipeline.pp-mobile-ready>.pp-topline,.paper-pipeline.pp-mobile-ready>.pp-canvas,.paper-pipeline.pp-mobile-ready>.pp-bottom{display:none}
 .paper-pipeline.pp-mobile-ready>.pm-carousel{display:block;color:var(--text);min-width:0}
 .pm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
 .pm-position{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}
 .pm-position b{color:var(--text);font-weight:700}
 .pm-controls{display:flex;gap:6px;align-items:center}
 .pm-controls button{display:grid;place-items:center;width:31px;height:30px;border:1px solid var(--line);background:transparent;color:var(--text);font:500 18px/1 Urbanist,Arial,sans-serif}
 .pm-controls .pm-toggle{display:flex;gap:6px;justify-content:center;width:auto;min-width:64px;padding:0 8px;font-size:10px}
 .pm-controls button:hover{border-color:var(--red);color:var(--red)}
 .pm-controls button:focus-visible,.pm-tab:focus-visible{outline:2px solid var(--red);outline-offset:3px}
 .pm-stage{position:relative;min-width:0;touch-action:pan-y;outline-offset:5px}
 .pm-slide{display:flex;flex-direction:column;min-width:0;min-height:320px}
 .pm-slide[hidden]{display:none!important}
 .pm-kicker{display:block;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.09em;color:var(--red);margin-bottom:9px}
 .pm-slide.pm-policy .pm-kicker{color:var(--pp-policy-ink,#7ca6ce)}
 .pm-slide h3{font-size:clamp(20px,3.8vw,24px);font-weight:650;line-height:1.22;letter-spacing:-.025em;margin:0;min-height:58px;max-width:340px}
 .pm-visual{display:flex;align-items:center;justify-content:center;position:relative;flex:1;height:172px;min-height:172px;margin:4px 0 13px;min-width:0}
 .pm-caption{color:var(--muted);font-size:13px;line-height:1.5;margin:0;min-height:58px;max-width:420px}
 .pm-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;margin-top:16px;border-top:1px solid var(--line)}
 .pm-tab{position:relative;border:0;border-bottom:1px solid var(--line);padding:11px 2px 9px;background:transparent;color:var(--muted);font:600 11px/1.3 Urbanist,Arial,sans-serif;text-align:left;overflow:hidden;min-height:35px}
 .pm-tab>span{font-size:9px;opacity:.65;margin-right:5px}
 .pm-tab[aria-pressed=true]{color:var(--text)}
 .pm-tab[aria-pressed=true]>span{color:var(--red);opacity:1}
 .pm-tab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left}
 .pm-tab[aria-pressed=true]::after{transform:scaleX(max(.08,var(--pm-progress,0)))}
 .pm-carousel.is-paused .pm-tab[aria-pressed=true]::after{transform:scaleX(1)}
 .pm-build-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;align-items:start}
 .pm-build-flow figure{position:relative;min-width:0;text-align:center}
 .pm-build-flow figure:not(:last-child)::after{content:"→";position:absolute;right:-11px;top:53px;color:var(--red);font-size:17px;animation:pm-arrow 2.5s ease-in-out infinite}
 .pm-build-flow img{display:block;width:100%;height:116px;object-fit:contain}
 .pm-build-flow figcaption{margin-top:8px;font-size:11px;line-height:1.3;color:var(--text);font-weight:600}
 .pm-contract-plate{width:min(100%,280px);padding:15px 17px;border:1px solid #79534d;background:color-mix(in srgb,var(--red) 7%,var(--bg));text-align:center}
 .pm-contract-plate>strong{display:block;font-size:13px;font-weight:650;margin-bottom:10px}
 .pm-contract-plate .pp-dependencies{width:100%;height:85px;margin:0 0 10px}
 .pm-contract-plate>span{display:block;font-size:10px;line-height:1.4;color:var(--muted)}
 .pm-contract-plate .pp-rule:nth-of-type(2n) rect{animation:pm-rule-glow 3s ease-in-out infinite}
 .pm-source-visual{display:flex;align-items:center;justify-content:center;gap:22px;width:100%}
 .pm-source-visual .pp-code{width:94px;height:130px;align-self:auto;padding:12px;border-radius:6px;flex-shrink:0}
 .pm-source-visual .pp-code b{font-size:22px}.pm-source-visual .pp-code-lines{gap:7px;margin-top:12px}.pm-source-visual .pp-code-lines i{height:2px}.pm-source-visual .pp-code-scan{opacity:1;animation:pp-scan 2s ease-in-out infinite}
 .pm-source-checks{display:flex;flex-direction:column;gap:12px;max-width:145px}
 .pm-source-checks>span{font-size:11px;color:var(--text);display:flex;gap:9px;align-items:center}
 .pm-source-checks i{font-style:normal;color:var(--red);font-size:13px;animation:pm-check 3s ease-in-out infinite}
 .pm-source-checks>span:nth-child(2) i{animation-delay:.5s}.pm-source-checks>span:nth-child(3) i{animation-delay:1s}
 .pm-replay-visual{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:340px;gap:6px}
 .pm-replay-search{display:flex;align-items:center;justify-content:center;gap:6px;position:relative;perspective:230px;width:206px;max-width:100%;height:34px;margin:0 auto}
 .pm-replay-search>i{display:block;flex:0 0 15px;height:30px;border:1px solid var(--pp-policy-border);background:var(--pp-policy-bg);transform:rotateY(-30deg)}
 .pm-slice-scanner{position:absolute;top:0;left:4px;width:18px;height:34px;border:1px solid var(--red);box-shadow:0 0 9px #f9423a16;animation:pm-search-slices 4.5s ease-in-out infinite}
 .pm-extraction-arrow{display:block;text-align:center;color:var(--red);font-size:15px;line-height:12px;height:12px}
 .pm-inputs{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:2px}
 .pm-inputs span{min-width:29px;padding:4px 9px;border:1px solid var(--pp-policy-border);background:var(--pp-policy-bg);color:var(--pp-policy-ink);font-size:10px;line-height:1.2;text-align:center;animation:pm-key 4.5s linear infinite}
 .pm-inputs span:nth-child(2){animation-delay:1.5s}.pm-inputs span:nth-child(3){animation-delay:3s}
 .pm-film{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;position:relative;padding-block:8px;border-block:4px dotted var(--muted)}
 .pm-film figure{position:relative;min-width:0;outline:1px solid transparent;animation:pm-frame 4.5s ease-in-out infinite}
 .pm-film figure:nth-child(2){animation-delay:1.5s}.pm-film figure:nth-child(3){animation-delay:3s}
 .pm-film img{width:100%;aspect-ratio:16/9;object-fit:cover}
 .pm-film figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff26}
 .pm-frame-target{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:5px;color:var(--muted);font-size:11px}
 .pm-frame-target i{width:18px;height:13px;border:1px solid var(--red);display:inline-block;position:relative}
 .pm-frame-target i::before{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid var(--red);opacity:.55}
 .pm-playtest-map{width:min(100%,285px);height:172px}
 .pm-playtest-map .pp-exploration{width:100%;height:172px}
 .pm-playtest-map .pp-bot-body{fill:#2c82ce;stroke:#8ec9fa}.pm-playtest-map .pp-bot-eye{fill:#f1fbff}.pm-playtest-map .pp-route-explored{stroke:#55a4e3}
 .pm-feedback-visual{display:flex;flex-direction:column;align-items:center;width:100%;max-width:300px}
 .pm-evidence-inputs{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:7px}
 .pm-evidence-inputs>span{padding:6px 4px;border:1px solid var(--line);background:var(--surface);text-align:center;color:var(--muted);font-size:10px}
 .pm-evidence-merge{width:100%;height:30px;display:block;overflow:visible}
 .pm-evidence-merge path{fill:none;stroke:var(--line);stroke-width:1.4}
 .pm-evidence-merge .pm-merge-stream{stroke:#4991d0;stroke-width:2.2;stroke-dasharray:.2 .8;stroke-dashoffset:1;animation:pp-feedback-stream 3s linear infinite}
 .pm-evidence-merge .pm-merge-stream:nth-of-type(5){stroke:#ca9f68;animation-delay:.3s}.pm-evidence-merge .pm-merge-stream:nth-of-type(6){stroke:#cf8277;animation-delay:.6s}
 .pm-feedback-rule{display:flex;align-items:center;gap:11px;padding:9px 14px;border:1px solid var(--pp-policy-border);background:var(--pp-policy-bg);font-size:11px;font-weight:600;color:var(--text)}
 .pm-feedback-rule>i{font:italic 25px/1 Georgia,serif;color:var(--pp-policy-ink)}
 .pm-revise-loop{display:flex;align-items:center;gap:13px;margin-top:6px;font-size:11px;color:var(--muted)}
 .pm-revise-loop img{width:40px;height:42px;object-fit:contain}.pm-revise-loop>b{font-size:20px;font-weight:400;color:var(--red);animation:pm-arrow 2.5s ease-in-out infinite}
 .paper-pipeline.pp-mobile-ready .pm-carousel *,.paper-pipeline.pp-mobile-ready .pm-carousel *::before,.paper-pipeline.pp-mobile-ready .pm-carousel *::after{animation-play-state:paused!important}
 .paper-pipeline.pp-mobile-ready.pm-running .pm-carousel *,.paper-pipeline.pp-mobile-ready.pm-running .pm-carousel *::before,.paper-pipeline.pp-mobile-ready.pm-running .pm-carousel *::after{animation-play-state:running!important}
 body.glance-page main .pm-contract-plate{border-color:#e7c9c4}
}
@media(max-width:350px){
 .paper-pipeline.pp-mobile-ready{padding:15px 12px 13px}
 .pm-slide{min-height:325px}.pm-slide h3{font-size:20px}
 .pm-build-flow{gap:9px}.pm-build-flow img{height:103px}.pm-build-flow figure:not(:last-child)::after{right:-10px;top:47px;font-size:14px}
 .pm-source-visual{gap:16px}.pm-source-checks{max-width:116px}.pm-source-checks>span{font-size:10px;gap:6px}
 .pm-tabs{gap:0 8px}.pm-tab{font-size:10px}.pm-tab>span{font-size:8px;margin-right:4px}
 .pm-caption{font-size:12px}
}
@keyframes pm-enter{from{opacity:.5;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}
@keyframes pm-arrow{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes pm-rule-glow{0%,100%{stroke:var(--red);stroke-width:1.2}50%{stroke:var(--red);stroke-width:2.8}}
@keyframes pm-check{0%,100%{opacity:.45}45%,70%{opacity:1}}
@keyframes pm-key{0%,30%,100%{border-color:var(--pp-policy-border)}8%,22%{border-color:var(--red);color:var(--text)}}
@keyframes pm-search-slices{0%,100%{left:4px}50%{left:184px}}
@keyframes pm-frame{0%,31%,100%{outline-color:transparent;transform:scale(1)}8%,23%{outline-color:var(--red);transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.pm-carousel *,.pm-carousel *::before,.pm-carousel *::after{animation:none!important;transition:none!important}.pm-playtest-map .pp-route-explored{stroke-dashoffset:0}.pm-playtest-map .pp-explorer-bot{transform:translate(126px,68px)}.pm-carousel .pm-merge-stream{stroke-dasharray:none;stroke-dashoffset:0;opacity:.7}}

/* Example requirements. */
/* A compact piece of intended design accompanies the observed game. */
.example-requirement{color:var(--text,#20232a);background:var(--surface,#f6f7f8);border:1px solid var(--line,#dfe3e8);padding:14px 17px}
.example-requirement .er-label{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:7px;font-size:9px;font-weight:650;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;color:var(--muted,#626975)}
.example-requirement .er-label em{font-style:normal;font-weight:400;letter-spacing:.015em;text-transform:none;margin-left:6px}
.example-requirement p{font-size:14px;line-height:1.55;margin:0;max-width:none;font-weight:450;color:var(--text,#20232a)}
.story-replay .se-requirement{margin:8px 0 0;padding:11px 14px}
.story-replay .se-requirement .er-label{margin-bottom:5px;font-size:8px}
.story-replay .se-requirement p{font-size:12px;line-height:1.5}
.recorded-revisions .recorded-requirement{margin:0 0 20px;display:grid;grid-template-columns:205px 1fr;gap:16px;align-items:center}
.recorded-requirement .er-label{display:block;margin:0;line-height:1.7}
.case-spec-label .case-summary-note{display:block;font-size:8px;letter-spacing:.025em;font-weight:450;margin-top:5px;text-transform:none;color:var(--muted,#626975)}
@media(max-width:760px){.recorded-revisions .recorded-requirement{display:block;padding:13px 14px;margin-bottom:16px}.recorded-requirement .er-label{display:flex;align-items:baseline;margin-bottom:6px}.recorded-requirement p{font-size:12px;line-height:1.5}.story-replay .se-requirement{padding:10px 12px}.story-replay .se-requirement p{font-size:11px;line-height:1.45}.example-requirement .er-label em{margin-left:3px}}


/* Stable metric layout. */
/* The pseudo-element reserves the complete numeric area. Only the overlaid
   text updates, so digits cannot resize a flex/grid track or move a unit. */
.metric-fixed .metric-number-slot,.metric-fixed .metric-number-live,.metric-fixed .metric-reserve-probe{
 font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;
 margin:0;padding:0;border:0;max-width:none;text-transform:none;
}
.metric-fixed .metric-number-slot{position:relative;display:inline-block;vertical-align:baseline;white-space:pre;text-align:right}
.metric-fixed .metric-number-slot::before{content:attr(data-metric-reserve);display:block;visibility:hidden;white-space:pre;font:inherit;line-height:inherit;letter-spacing:inherit;pointer-events:none}
.metric-fixed .metric-number-live{position:absolute;inset:0;display:block;white-space:pre;text-align:inherit}
.metric-fixed .metric-reserve-probe{position:fixed;left:-10000px;top:0;display:inline-block;visibility:hidden;white-space:pre;pointer-events:none;width:max-content}
.facts .metric-number-slot{ text-align:left }
.score-value.metric-fixed{display:inline-block;white-space:nowrap}
.score-approximation{display:inline-block;width:.9em;white-space:nowrap}
.score-approximation.is-empty{visibility:hidden}
/* Grid tracks stay fixed before counting. Only an oversized number is fitted
   to its existing column, retaining its font family and its responsive rules. */
body.home-page .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
body.home-page .facts>div{min-width:0}
@media(max-width:760px){body.home-page .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}




/* Quiet hover polish. */
:where(a,button,summary){transition:color .24s ease,background-color .24s ease,border-color .24s ease,opacity .24s ease}
.masthead .brand,.masthead .bench-brand{color:#fff;transition:color .28s cubic-bezier(.22,.61,.36,1)}
.masthead .brand:hover,.masthead .brand:focus-visible,.masthead .bench-brand:hover,.masthead .bench-brand:focus-visible{color:var(--red)}
/* Embed the mask so the wordmark also works when opened as a local file. */
.masthead .brand{position:relative;--brand-mask:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAA4CAYAAAAhDYavAAASB0lEQVR42u2de7iVUx7HP/uc04UkkYSKx6WG1BQy5BZFhRrK/c64ZVwaI9dcMhoSky4MPeEUyp1BrrkmTe53uTTIvUFqok6dc/b88Vtbya7O2Xut9a717t/3efbjqUdrvev3rne9v/d3+X4z2Wx2JrAxsBQoo/6oBmqA5sDJwH2EgwlAL2BRgWtbGTLAgcBLK/z9KcAQY5Pc/5dGZIBas84fgHeMLZ4H3otkDdsDk4EmwJJA7lUWKAfmADsnMP8AYJS5r2nduzbv0+fALuZZyKGPOXd+Mn8uU3PV+2zJmt9Pxp5zHM+5HbA10BFoB2xk3meNzHUkZYelwHzgW+Bj4F3gA+BlYKGHa6g078/FZr9nHa2zIXArMDiQPXgj0Nf4DeUFnIVZs6aPK4DO5g820DIQA7UAHgR2cjhH0zx/t5FxVksJmwNdgePMn18HbjebdGHA1z0Y2CLQa2sNnACM9zxvyxLcv8XepwrjoOfQHFjf/BTFo6GDMdcE+hnnrRewQWQ2mQfMBO4HHjWOvgt0AFp5WtPZwDfANQHYd2tgQwvjNC6z7JXWBGCcbsBHjp0rVmK3Wj0P6QJcbb66zg30GjsCBwduxyRsV63bt15YnOfMq1GzBIv2wPXA10j0+ugInaucE9/bfMTOAR4GejqYZ4nndV0N9A/AvrbWXWPbwUo6rfBnYDqwTkLzazrg11+JVwKzgH0Cu7bTIrDfFiyLCuIxLaFQe6UNOwJTzFk0EFg7ZevbF3gSeAU4NPL9fS8SWUzFc50mh6ASGOtprjHA03pu1fmrcYpxfkNAS+DISGx3hm4fhaJglAMjgRkBfuThqJZssnG22ka8joeRLEP0SIOD1RYpsj7G03wn6ouvIIwFhgZwHecj0bUY0BnooVtHoag3dkAKwweV4Np7IsXwxxGvXzLdfJyrg5UgegFvIcV4rvGpeWjH69lVMC5O2MlaD0kRxIQhum0UCupbAjAT2LSEbdAYuBkYF+n1NwWm4q/IXh0sftsF9hjQzMNcjyKdBS/r2WXFyToyQWelUWT26m5+CoVi9RiNlHAo+CXjMo14u3SnAmupg+UXtwNXeZrrWiR/v0ifVWsYh/9GhKYIT1uMuFC3jEKxWowCTlcz/Aa7mOBAeYTX3gGhXFIHywM2Al4DDvc039HAX/T5tI41gOs8z3mmmZdIayq66rZRKFaKC9DaWFZDrPxEpNe+BzBJHSy36IMUs3fBT73V9gi7rMINDke6XvBUezU4cntdoltGociLw4BhaobVYk+EOyvWe3ylOlg4I118BCFYc40pSFjyVX0eU0OmeSzxc9/sC2ymW4bQJHMUyWJLIo1uJISTiLe78Fwi6wqNwcG6x6PnOgzYD/hZn0MvOAg/TMqnpsRe5+mWUShYkZhSQb0pc2KVchoZk4NYFjiT9TuIAK0PHIy2xCeBPzoe/0+kJ/JzIqXdeq5QsAIdQ0c1A4WobNwY8fXfjBtpoJJxsAYgeoI++K0+Ns7c3QHa4UdE7yyJXxXSObkItxqLBzi24UUpOxy1Fisc1GrakCR5kq5QMxR17sZMYvwIIoGkDlYBL8R7PM31INAJmB2gHWYA6yI8X2sl8GuCUCk0QbrvdnPULvt73BZGbpKyg/EYRO5HQRDdsCu2vjdUs+Cjzu08IuZHCgR/j/jaGyBdkZuGfJEVgRnsXqAv/uqtQk4JVpnDZUmC11DDMnXxaeY3Fru6gi2NEzmf8FnQZyM8O0vqwCmTAZYCbYBbLAqIZpBiz79GcAh+aj7isuaXSdFLvxHwyXLPSA5zzW+BWW8DT1GtDFCNNALZbAb63OxjnxxKubnmkZ9/sBGSLvd1DucyCTUO7ZAbu8LcvzU9yQl1B54l3ijmC0iaeJ46WCtHJ0TgsQ1+0m6HISzwISMTcN3DTsC2Fg/TFg4crMMQ9n2bGIqw+lNAfZ9NsdlBwAjgm4D37//MHplHaeEJRN4jm0A2ohZJ/dxnacyfgZ2Nk5Xx6ChmV1gTefgJXRZpvwHcBjyHlKoszONIu1x/E/Mu7AIcBfTGbQOQawdrujnfXQhubwy8Ys76KjRFmPfl86Yn5+oNs2lDd65Cxw3Y182yDdsEsXOBOwv8tyMcPLfHR7BP5qFpLTzXg9m2+Xee15RdTY1bzsFygYUIpUsX4Brz4p7v0bnKrX8h8D5CP9HHOLlv4Y7E2HVaez7QD2lac4HNCJTtPWkHa1gRL6364j7z4Hyq/pEVR5XApSFsM58Pp/B07bPA05avZ5AjxxSLkckyfVS8o5HlaEpo2p2bG4fDNl5HOLUmBHhPX0RqVV0INzc3TpxLNDNOag+H79+9gYnqYC07BO5E5A184DL80T1QIkrttr8csSybYRPfI7VnxTpoNrE+QkFBwB122lFH9NGz0O5hDwflEx+YD7JvAr+3JwN3ORh3L8fXvZRlWYDdkHo2FzgKiTyWtIO1PfAukhp0jUVIEZ+2tmOdINQWFgP/tTheVwdfZMMtNBs8gRRk2sQ5uhUVJYYdHIzZG79pwGJwCPbThT091hN/jmQYXOEs4OJSdbCOQVS9N/cw1zvAVkihIqoTaQ3tsMuM/hV2mfNt814txp4w9eWWr60tcIq+cxUlhI4Oot2fRmYD25Hr9vhldn8V6OVw/KEEwvbu8yU+HKj0NNcd5kH8LOKDpCrAa9oGqSUqt9xhYgudsU/zMdyiA/g4UjhLCcjnlCEUBQqFTbSxnOEYGaENXsF+o1Y7/HfbHotbtvd9SBlNQ3YlPEeT8McaeyrwzxQcJNsg4U5IlrKhGhFK7oIb1nWbB8WlDvbzGMtjXopQktjCJsAJwPjA9u9SkuVwU6TTuWplcbxJuKsHwkMnd2/L58h0z2uYYO6nK63hKUiJ0HNpdbC2My+TVh7WshBpBX0mJYdJKwIr2HN0zx6wNNam2Nc1vAkpcLf90M/Gbpr8/AAdrDWRkoBFSMQzhqL3auxxSCnsYz3LH5tPRWyLVy2P1zqhdQxH0pOuiJMfQ1Kgc9LgYC0/3uEIWVvGU8i0P1JAp4gHt2Av/XYm9lO0rpojLgZuxy4PzD6IPhcBKTNURrgn12cZ95MiLDSzPN6bEdviS7NPW1gab4ME13I2Ep082FHH+zSkfGRe7A7WAvNf23Iqq8IY4Aw9e6LECIsvxYEOHKzLWCZfUV3gx0Imz7hNHdjy/MAcrBihaU1Kih6mirjpOBalSNXlEOPk7e5g7LZImrBT7A5WJ2B/7Lbx1+VLWREfhmEv4nge9gkR1yZsninykKvuiX1C01JCOSrWXErIpOCDIE18Zz2A93BTcN8RIWztRsRdhOd6dq5A2tRnklwOWUFBArIXWWQiPk1NCg4oKkoNZUqOSil1VjeO2BYNsRsJDyFyW4MQkboq9dkJzzWWZSkin3vNY6eiojgcYPFFNkijDr+gO7CjmgEbmn4KghQQt4ktI7bFutjlrvoxkHV9axyhhbh794xWB4uC6nCmYr/YWYF1cW9bHTBNkQJJBb8qoFco0oi52I1iHRCxLWzrMX5BWAX8u+KOXf90PMn0pVGM9Vpgsp5FQaIvcDd2STbXVLP+Cn3QKJYinfgS+MHiePsTb5rQdn3o7MDW9wZu2d6HGUcLl7V5aVW7PxRJGbbRMykI/Gy+uB62/HFwqpo2L7SrVkFK07c263OaEmfGY1vLequ1iLRcaHgKON7h+KPJz/aeVQdr9eiCdCTsrudSongM6Qp50fK4xwPrqHnz4jCEmVmhSBvetjzeFQhJcUyotDzeLGA+4XIlDnY4/sNAVzRFWBDWAp4Fhui55B2vIXn0Pkho3zb0nq4al6kJFCnEy9inangM+zQvrjAZ+4LXzwe+5quBy3FH1TET2FodrMLxN63Lwhf9wgSEj2k74AVH8xyNRmjqYiNNkSvSBhdkuu2BGYhubsgYj5S/4EC+iwgoaCY5dLJeYBmbfYU6WBRcl9VWzyhr+BdSaH480MHY9ljc60FeoKavE85SExAb2aJi9R9x03BTUjIbOIowaYjewg3x8Y/Ak5Hc+yNwJ9zcfDk7LFQHq/CHaBawn55T2GI7n4Dkyd/zNOdB5otTsXqcjF2uHHWyFCFgAu5KSiYCryPiw52QOs8yj8zvGaT4vj2i5/sIksLqiLtC8qrIuqTfdjR2R6QmqzmBSuVcA4wzG6S2HpsyazbxJUgrv0usATyEpA1D5gx613xNldeB/DC7nK2rzUExBuk2cYk9gK/Ndd7myS6Xo6jPXh+CcsPV5+VWrmYIHrebd00zR+N3Nj8QOZrvEabzWsdOVm7/rWueXR8YG9m9X4TIgr2Nm2zUvgSsRfg28GER/76fcXqG4ien2wHpuApR4PVb8yVFEWHlO4EBHq71VqQTw/WLvBdudKrSjBMRCavFagpFSrAY+Ien90QDoFVK7fgS0gQWGxYgDVSzPDqihJAibGyp+6m/p/X3R3LbIaacGlnQdTrQY5TuDCSc7VJ8ezAKCohinaJmQGVy0oWRhCPvEisujPja5xABBVNFoNd1PxKpuB+JMrlEe+BN4Bgk4hMKqrHXQfk88CBSM4Xj/Ph/EDmcGZbH3hPVmizmIL0ev5HaJUBPJKSfNb9MwDYqN9f8vW4XYtElHEJ8Ka6Q3rFTiZ+yYy8CLtKvCLhA9CNgG+AupLAZx9GiO5CixgtT+DA9h6QM78ZdsWQOrRFS0WOxW4x6tqPU5gikZi0bQP1PrhaxErtCtC2QKNZoj+upwk23l0KRw3VII0dHNQX1rWM6KSVrmYpkau7RCBYFiwMPBq7yMNcFwPaICOjPKXuoPkC6KG/BTytyJRJ9PMfCWJ2wKw2xvNM2N8B7NcwBW/N5nh2sLBIVqkGhcIcBFFf3W4oYCHyXovXca3yEEaS8BssVRpgX7AIPc+2NpAw7pfDBqkEIKAd6mm8wkp4sttvDRTHruECdK5DI32eWx9zQ81drA6U8UHjARwg/kqJuuMkhzQUJs70PUweLojTttsK+VEI+bGGcrCNT+pDdAOyGH/2pXc0961oEd9n+uIkShYxLiFteSCNXCl+YpNJZdcKzwAkpXt8Q7Ef+S4po9CuW0Q/giX5gZEo34zTgd54c1pZIS/DJBfzbQQ6uZyLShRIybjVf5zbRBjds0Chpp4Lk0+qj1AysqiC8FJqEjkMautTBojjZG19fLIOAR4GGKdyM3xiHdRL+Imf1qQNaD+Epw0FxLBFQBox2RKehUKQRgzzXGRIR39UOJURDciDwjjpYxX+x9MSibtAq0BvRqdohpRvyCEeRonw4HaFwaF2H//di7PNqPW4OnBgwEWlHt4lO5rlRKNKIMz2eZTHgVuAPJbbmpUhpysfqYFG0jtJWwBse5mqNaEKdmNJNOQqRIPDBA7Qj8KqZj1WkFQeWuNTOAqR40zaGolCkF6OMUzGnhG1QhaTLji7R9f+IcCd+pw5WcfgCKYSu9DTfOEQHK42YDmxtnB881GVNY+Us42djP3r1DPBCZPdkDPYJQrsB3XFbM1VqQvIKgkuLtTPPT6nhabP2yhKvofzcOFlJIVOWsuK20zzNdRbpLRici3CB+WJIvh5RrCeP7iARdOa5xjxHL4nu+g5WkP4ozhlIaccDJbDeVxBesB6UdvSOFfSR9yPBCJZNLzUbALNvN/xoVNU6Xn/StjwdP4SkS8jfQFCF/ehVrMzilyN1BViuU3C551TXL35kU9RBdwAii3YDfuhpfOIhpK6yK3BfgPc/6X00BTgkieenjOJFhVlBzytpzDAP0gzH8zR0zIwfQtfibcB2SLchDmWK8mnUNbE8z2XEXU9wrQcx8fKAxMoVFCy55PrZjBUfInWdGyLdybcBX0a4jgXGaTgVqQ3uh9Qj+3jHxfouu8sjwfYvz08FUm/TynxxZgrUT6tG9Ny+JZw0VzdgPNAXkb0ps+SF5yRA5pG/HmwuEn2prz1zOnRLzcH2fiC2fA3oDExG9PFqLBy6tWacRsZ5yCds/SbQzNijrIh5GgP/Rkj2YsYYhHC1obFXgwKjVhXAGginXL7n5gszfjE2b4CkKJQHi0REkHP3MFPAs5oT5W5gnI8lpFOL7w7zAymJ6IDUn7ZD+OLWNmdHbQJO5vIyU/PNs/oJ8BYwywQPqjxcxyxgU+PQFXrerIXItBEIwXYLJG28wJylWUf3LwN89n8PZI0NuI3btgAAAABJRU5ErkJggg==')}
.masthead .brand img{filter:brightness(0) invert(1)}
@supports ((mask-image:url('')) or (-webkit-mask-image:url(''))){
  .masthead .brand img{opacity:0}
  .masthead .brand::after{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--brand-mask) center/contain no-repeat;mask:var(--brand-mask) center/contain no-repeat;pointer-events:none}
}
.masthead nav a,.hero-author-names a,.paper-details .authors a,.footer a,.text-link{transition:color .24s ease,opacity .24s ease}
.author-link{position:relative;display:inline-block;white-space:nowrap;text-decoration:none}
.author-link::after{content:"";position:absolute;left:0;right:0;bottom:-.1em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .32s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.author-link:hover,.author-link:focus-visible{color:var(--red);text-decoration:none}
.author-link:hover::after,.author-link:focus-visible::after{transform:scaleX(1)}
.recorded-tabs button,.ec-case-nav button,.revision-case-nav button,.method-tab,.pm-tab,.src-legend button{transition:color .24s ease,background-color .24s ease,border-color .24s ease,opacity .24s ease}
@media(prefers-reduced-motion:reduce){.masthead .brand,.masthead .bench-brand,.masthead nav a,.hero-author-names a,.paper-details .authors a,.author-link::after,.footer a,.text-link,.recorded-tabs button,.ec-case-nav button,.revision-case-nav button,.method-tab,.pm-tab,.src-legend button{transition:none}}


/* Mobile chart fade. */
@media(max-width:900px){
 .src-fade-ready .src-panels{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none;touch-action:pan-y pinch-zoom}
 .src-fade-ready .src-panel{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 300ms ease,visibility 0s linear 300ms}
 .src-fade-ready .src-panel.is-current{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 300ms ease,visibility 0s linear}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
 .src-fade-ready .src-panel,.src-fade-ready .src-panel.is-current{transition:none}
}


/* Responsive method slides. */
.method-mobile-deck,.method-slide-rail{display:contents}
.method-mobile-tabs,.method-mobile-copy{display:none}
@media(max-width:760px){
  [data-responsive-methods]{display:block;width:100%;min-width:0;margin-top:30px;--method-panel-bg:var(--bg,#111);--method-tab-bg:var(--surface,#191919)}
  [data-responsive-methods] .method-mobile-tabs,[data-responsive-methods] .explorer-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px;padding:0;min-width:0}
  [data-responsive-methods] .explorer-tab-group,[data-responsive-methods] .policy-tab-group>div{display:contents}
  [data-responsive-methods] .tab-group-label{display:none}
  [data-responsive-methods] .method-mobile-tabs>button,[data-responsive-methods] .method-tab{display:flex;align-items:center;gap:7px;min-height:52px;min-width:0;padding:9px 9px;border:1px solid var(--line);border-bottom:2px solid var(--line);border-radius:0;background:var(--method-tab-bg);color:var(--muted);font:600 12px/1.2 Urbanist,Arial,sans-serif;text-align:left;cursor:pointer}
  [data-responsive-methods] .method-mobile-tabs>button>b,[data-responsive-methods] .method-tab>b{font:500 9px/1 Urbanist,Arial,sans-serif;color:var(--muted);margin:0;flex:none}
  [data-responsive-methods] .method-mobile-tabs>button>span,[data-responsive-methods] .method-tab>span{font-size:12px;line-height:1.25}
  [data-responsive-methods] .method-mobile-tabs>button.active,[data-responsive-methods] .method-tab.active{color:var(--text);background:var(--method-panel-bg);border-bottom-color:var(--red)}
  [data-responsive-methods] .method-mobile-tabs>button.active>b,[data-responsive-methods] .method-tab.active>b{color:var(--red)}
  [data-responsive-methods] .method-mobile-tabs>button:focus-visible,[data-responsive-methods] .method-tab:focus-visible{outline:2px solid var(--red);outline-offset:2px}
  [data-responsive-methods] .method-slide-rail{display:grid;position:relative;align-items:start;gap:0;width:100%;min-width:0;overflow:hidden;scroll-snap-type:none;overscroll-behavior-inline:contain;touch-action:pan-y pinch-zoom;border:1px solid var(--line);background:var(--method-panel-bg);transition:none}
  [data-responsive-methods] .method-slide-rail::-webkit-scrollbar{display:none}
  [data-responsive-methods] [data-method-slide]{display:flex;flex-direction:column;gap:0;grid-area:1/1;align-self:start;width:100%;min-width:0;min-height:0;padding:16px 12px 14px;margin:0;border:0;box-sizing:border-box;animation:none;opacity:0;visibility:hidden;pointer-events:none;transform:none;transition:opacity 340ms cubic-bezier(.4,0,.2,1)}
  [data-responsive-methods] [data-method-slide][hidden]{display:flex!important}
  [data-responsive-methods] [data-method-slide].method-fade-visible{visibility:visible}
  [data-responsive-methods] [data-method-slide].method-fade-active{opacity:1;pointer-events:auto;z-index:2}
  [data-responsive-methods] [data-method-slide][data-method-suspended="true"] *,[data-responsive-methods] [data-method-slide][data-method-suspended="true"] *:before,[data-responsive-methods] [data-method-slide][data-method-suspended="true"] *:after{animation-play-state:paused!important}
  [data-responsive-methods].method-fade-instant [data-method-slide]{transition:none!important}
  [data-responsive-methods] .test-policy-heading{display:none}
  [data-responsive-methods] :is(.story-copy,.explorer-copy){display:block;max-width:540px;width:100%;margin:0 auto;padding:0;grid-column:auto;grid-row:auto}
  [data-responsive-methods] :is(.story-number,.story-detail,.story-copy>.diagram-eyebrow,.explorer-copy>.diagram-eyebrow,.story-copy>.evidence-label,.explorer-copy>.evidence-label){display:none}
  [data-responsive-methods] :is(.story-copy,.explorer-copy) h3{font-size:23px;line-height:1.16;letter-spacing:-.02em;margin:0 0 8px}
  [data-responsive-methods] :is(.story-copy,.explorer-copy)>p:not(.method-mobile-copy){display:none}
  [data-responsive-methods] :is(.story-copy,.explorer-copy)>.method-mobile-copy{display:block;font-size:12.5px;line-height:1.5;color:var(--muted);margin:0 0 15px}
  [data-responsive-methods] :is(.story-visual,.explorer-visual){display:block;grid-column:auto;grid-row:auto;min-width:0;min-height:0;width:100%;max-width:370px;margin:0 auto;padding:0}
  [data-responsive-methods] .dependency-weighted .graph-mobile{display:block;width:100%;max-width:258px;margin:0 auto}
  [data-responsive-methods] .dependency-weighted .graph-desktop{display:none}
  [data-responsive-methods] .dependency-weighted .dw-legend{padding:0 0 10px;gap:7px;font-size:9px}
  [data-responsive-methods] .dependency-weighted .dw-motion-toggle{padding:5px 9px;min-width:48px;font-size:9px}
  [data-responsive-methods] .diagram-foot{font-size:10px;line-height:1.4;margin:10px auto 0;max-width:100%;gap:7px}
  [data-responsive-methods] .se-spatial-evidence{padding:2px 0 4px;background:var(--method-panel-bg)}
  [data-responsive-methods] .se-spatial-evidence .se-toolbar{padding:0 0 3px;gap:10px}
  [data-responsive-methods] .se-spatial-evidence select{font-size:16px;padding-bottom:7px}
  [data-responsive-methods] .se-spatial-evidence .se-autoplay{font-size:9px;min-width:60px;min-height:32px;padding:5px 6px}
  [data-responsive-methods] .se-requirement.example-requirement{padding:9px 10px;margin:8px 0 0;font-size:11px;line-height:1.4}
  [data-responsive-methods] .adaptive-lab{padding:12px 10px;border-radius:8px}
  [data-responsive-methods] .al-toolbar{gap:8px;margin-bottom:14px}
  [data-responsive-methods] .al-policy{gap:8px}
  [data-responsive-methods] .al-policy img{width:43px;height:34px}
  [data-responsive-methods] .al-policy strong{font-size:11px;line-height:1.25;min-height:28px;max-width:170px}
  [data-responsive-methods] .al-kicker{font-size:7px;margin-bottom:3px}
  [data-responsive-methods] .al-pause{font-size:9px;padding:5px 6px;min-height:29px;gap:3px}
  [data-responsive-methods] .al-worlds{display:grid;grid-template-columns:1fr;gap:0;position:relative;overflow:hidden}
  [data-responsive-methods] .al-episode{grid-column:1;grid-row:1;min-width:0;opacity:0;transform:none;pointer-events:none;transition:opacity 340ms ease}
  [data-responsive-methods] .adaptive-lab:is([data-adaptive-phase="0"],[data-adaptive-phase="1"]) .al-normal-episode,[data-responsive-methods] .adaptive-lab:is([data-adaptive-phase="2"],[data-adaptive-phase="3"],[data-adaptive-phase="4"]) .al-targeted-episode{opacity:1;transform:none;pointer-events:auto}
  [data-responsive-methods] .al-episode-heading{margin-bottom:7px;gap:5px}
  [data-responsive-methods] .al-episode-heading strong{font-size:11px}
  [data-responsive-methods] .al-episode-heading>span{font-size:9px}
  [data-responsive-methods] .al-world{max-height:183px}
  [data-responsive-methods] .al-evidence-join{height:26px;margin:0 10%}
  [data-responsive-methods] .al-feedback{grid-template-columns:minmax(0,1fr) 15px minmax(0,.95fr);gap:5px}
  [data-responsive-methods] :is(.al-trace-record,.al-rule-feedback){padding:9px 6px;gap:5px}
  [data-responsive-methods] :is(.al-trace-record strong,.al-rule-feedback strong){font-size:9px}
  [data-responsive-methods] .al-trace-record div>span{font-size:6.5px}
  [data-responsive-methods] .al-trace-icon{font-size:18px}
  [data-responsive-methods] .al-trace-lines{display:none}
  [data-responsive-methods] .al-to-feedback{font-size:15px}
  [data-responsive-methods] .al-requirement-icon{width:20px;height:23px;font-size:16px}
  .method-editorial .evidence-close{padding-top:18px;gap:8px;font-size:10px;line-height:1.5}
  .method-editorial .evidence-close strong{font-size:12px}
  .method-editorial .evidence-close>b{font-size:18px;margin:0 4px}
}
@media(max-width:360px){[data-responsive-methods] [data-method-slide]{padding:14px 9px 12px}[data-responsive-methods] :is(.story-copy,.explorer-copy) h3{font-size:21px}[data-responsive-methods] .method-mobile-tabs>button,[data-responsive-methods] .method-tab{padding:8px 7px;gap:5px}[data-responsive-methods] .method-mobile-tabs>button>span,[data-responsive-methods] .method-tab>span{font-size:11px}[data-responsive-methods] .dependency-weighted .graph-mobile{max-width:246px}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){[data-responsive-methods] .method-slide-rail,[data-responsive-methods] [data-method-slide],[data-responsive-methods] .al-episode{transition:none}[data-responsive-methods] .al-worlds{grid-template-columns:1fr 1fr;gap:8px}[data-responsive-methods] .al-episode{grid-column:auto;grid-row:auto;opacity:1;transform:none;pointer-events:auto}[data-responsive-methods] .al-episode-heading{display:block}[data-responsive-methods] .al-episode-heading>span{display:block;margin-top:3px}}

/* Extension documents. */
/* Fixed document rows keep the reading focus calm and preserve all game pixels. */
.extension-showcase:has(.ext3d-documents){display:grid;grid-template-columns:minmax(300px,.36fr) minmax(0,.64fr);grid-template-areas:"document screen" "document controls";align-items:start;max-width:none}
.extension-showcase .ext3d-documents{grid-area:document;display:block;align-self:stretch;padding:27px 23px 21px;border-right:1px solid var(--line,#dfe3e8);border-bottom:0;background:#fafaf7;color:var(--text,#20232a);min-width:0}
.extension-showcase:has(.ext3d-documents) .ext3d-screen{grid-area:screen;min-width:0;width:100%;align-self:start}
.extension-showcase:has(.ext3d-documents) .ext3d-controls{grid-area:controls;align-self:stretch}
.ext3d-paper{position:relative;min-width:0}
.ext3d-paper[hidden]{display:none!important}
.ext3d-paper-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #ddded9;font-size:8px;letter-spacing:.13em;font-weight:650;color:#777b80}
.ext3d-paper-heading small{font-size:8px;letter-spacing:.02em;font-weight:400}
.ext3d-paper h3{font-family:Urbanist,Arial,sans-serif;font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.02em;text-transform:none;margin:18px 0 15px}
.ext3d-paper-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.ext3d-requirement-row{display:block;width:100%;height:100px;border:1px solid transparent;background:transparent;padding:10px 12px;text-align:left;color:var(--text,#20232a);font-family:Urbanist,Arial,sans-serif;cursor:pointer;transition:background .6s ease,border-color .6s ease,box-shadow .6s ease}
.ext3d-requirement-row>span{display:block;font-size:9px;font-weight:600;letter-spacing:.03em;color:#646a70;margin-bottom:5px}
.ext3d-requirement-row>p{margin:0;font-size:13px;line-height:1.5;font-weight:450;color:var(--text,#20232a)}
.ext3d-requirement-row>span,.ext3d-requirement-row>p{opacity:.40;filter:blur(.45px);transition:opacity .7s ease,filter .7s ease}
.ext3d-requirement-row[aria-pressed="true"]{background:#fff;border-color:#e0e2dd;box-shadow:0 5px 18px #181d2510}
.ext3d-requirement-row[aria-pressed="true"]>span,.ext3d-requirement-row[aria-pressed="true"]>p{opacity:1;filter:none}
.ext3d-requirement-row[aria-pressed="true"]>span{color:var(--glance-accent-ink,#c83530)}
.extension-showcase .ext3d-requirement-row:focus-visible{outline:2px solid var(--glance-accent-ink,#c83530);outline-offset:2px}
.ext3d-paper-footer{display:flex;flex-direction:column;gap:5px;padding:19px 12px 0;opacity:.24;filter:blur(.4px)}
.ext3d-paper-footer i{height:1px;background:#abb0ad;width:100%}.ext3d-paper-footer i:nth-child(2){width:88%}.ext3d-paper-footer i:nth-child(3){width:66%}
@media(min-width:1100px){.ext3d-requirement-row{height:91px}}
@media(max-width:900px){.extension-showcase:has(.ext3d-documents){grid-template-columns:1fr;grid-template-areas:"screen" "controls" "document"}.extension-showcase .ext3d-documents{padding:24px;border-right:0;border-top:1px solid var(--line,#dfe3e8)}.ext3d-paper-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ext3d-requirement-row{height:108px}.ext3d-paper-footer{display:none}}
@media(max-width:580px){.extension-showcase .ext3d-documents{padding:20px 15px}.ext3d-paper-heading{padding-bottom:11px;font-size:8px}.ext3d-paper h3{font-size:19px;margin:14px 0 10px}.ext3d-paper-list{display:flex;gap:4px}.ext3d-requirement-row{height:81px;padding:8px 10px}.ext3d-requirement-row>span{font-size:8px;margin-bottom:4px}.ext3d-requirement-row>p{font-size:12px;line-height:1.45}}
@media(max-width:350px){.ext3d-requirement-row{height:90px}.ext3d-requirement-row>p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ext3d-requirement-row,.ext3d-requirement-row>span,.ext3d-requirement-row>p{transition:none!important}}


/* Pipeline motion refinement. */
/* Keep evidence, the evidence-to-rule illustration and revision in one connected group. */
@media(min-width:761px){
 .pp-feedback-connected{width:max-content;max-width:100%;justify-self:center;grid-template-columns:max-content 360px max-content;gap:22px}
 .pp-feedback-connected .pp-feedback-flow{width:360px;max-width:100%}
 .pp-feedback-connected .pp-feedback-flow svg{height:auto;aspect-ratio:360/116}
}
@media(min-width:761px) and (max-width:1100px){
 .pp-feedback-connected{width:min(100%,671px);grid-template-columns:max-content minmax(0,1fr) max-content;gap:16px}
 .pp-feedback-connected .pp-feedback-flow{width:100%}
}
@media(max-width:760px){
 /* Both slides occupy the same cell during a short opacity-only crossfade. */
 .pm-stage{display:grid;grid-template-columns:minmax(0,1fr)}
 .pm-slide{grid-area:1/1;width:100%;opacity:1;transform:none;animation:none}
 .pm-replay-visual{gap:0;max-width:340px}
 .pm-slice-bank{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:58px;width:min(100%,244px);margin:0 auto;position:relative;perspective:500px;padding-bottom:4px}
 .pm-slice-bank::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,var(--pp-policy-border),transparent)}
 .pm-frame-slice{position:relative;display:block;flex:0 0 15px;height:38px;border:1px solid var(--pp-policy-border);border-radius:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--pp-policy-bg) 76%,var(--bg)),var(--pp-policy-bg));box-shadow:2px 1px 0 color-mix(in srgb,var(--pp-policy-border) 30%,transparent);transform:translateY(0);z-index:1}
 .pm-frame-slice::before{content:"";position:absolute;left:3px;right:3px;top:5px;bottom:5px;border-block:1px solid color-mix(in srgb,var(--pp-policy-ink) 20%,transparent)}
 .pm-frame-slice.pm-selected-slice{--slice-delay:0s;animation:pm-selected-lift 4.3s cubic-bezier(.3,.1,.2,1) var(--slice-delay) forwards}
 .pm-frame-slice.pm-selected-slice:nth-child(6){--slice-delay:.25s}.pm-frame-slice.pm-selected-slice:nth-child(11){--slice-delay:.5s}
 .pm-selection-links{display:block;width:100%;height:24px;overflow:visible;margin:0}
 .pm-selection-links path{fill:none;stroke:var(--pp-policy-border);stroke-width:1;opacity:.55}
 .pm-selection-links .pm-extraction-path{stroke:var(--pp-policy-ink);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85;animation:pm-extract-selected 4.3s ease-in-out forwards}
 .pm-selection-links .pm-extraction-path:nth-last-child(2){animation-delay:.25s}.pm-selection-links .pm-extraction-path:last-child{animation-delay:.5s}
 .pm-replay-visual .pm-film{border:0;padding:0;gap:9px}
 .pm-replay-visual .pm-film figure{border:1px solid var(--pp-policy-border);border-radius:3px;overflow:hidden;outline:0;transform:none;animation:pm-extracted-frame 4.3s ease-in-out forwards}
 .pm-replay-visual .pm-film figure:nth-child(2){animation-delay:.25s}.pm-replay-visual .pm-film figure:nth-child(3){animation-delay:.5s}
 .pm-replay-visual .pm-film figure::after{box-shadow:none}
 .pm-replay-visual .pm-film img{filter:none}
 .paper-pipeline.pp-mobile-ready.pm-content-running .pm-carousel *,.paper-pipeline.pp-mobile-ready.pm-content-running .pm-carousel *::before,.paper-pipeline.pp-mobile-ready.pm-content-running .pm-carousel *::after{animation-play-state:running!important}
}
@media(max-width:350px){.pm-slice-bank{gap:4px;width:224px}.pm-frame-slice{flex-basis:14px;height:36px}.pm-replay-visual .pm-film{gap:7px}}
@keyframes pm-selected-lift{0%,12%{transform:translateY(0);border-color:var(--pp-policy-border);box-shadow:2px 1px 0 color-mix(in srgb,var(--pp-policy-border) 30%,transparent)}28%,100%{transform:translateY(-7px);border-color:var(--pp-policy-ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--pp-policy-ink) 28%,transparent),0 2px 14px color-mix(in srgb,var(--pp-policy-ink) 22%,transparent)}}
@keyframes pm-extract-selected{0%,22%{stroke-dashoffset:1;opacity:0}45%,100%{stroke-dashoffset:0;opacity:.85}}
@keyframes pm-extracted-frame{0%,26%{opacity:.46;box-shadow:none}48%,100%{opacity:1;box-shadow:0 2px 12px color-mix(in srgb,var(--pp-policy-ink) 13%,transparent)}}
@media(prefers-reduced-motion:reduce){.pm-frame-slice.pm-selected-slice{transform:translateY(-6px);border-color:var(--pp-policy-ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--pp-policy-ink) 20%,transparent)}.pm-selection-links .pm-extraction-path{stroke-dashoffset:0;opacity:.8}.pm-replay-visual .pm-film figure{opacity:1}}


/* Source graph soft glow. */
/* A bounded halo follows r1. It fades to zero before its own edge instead
   of clipping a broad, nontransparent background at the graph rectangle. */
body :is(.dependency-drawing.dependency-weighted),
body.glance-page main .dependency-drawing.dependency-weighted{background:none}
.dependency-weighted :is(.graph-desktop,.graph-mobile){position:relative;isolation:isolate}
.dependency-weighted :is(.graph-desktop,.graph-mobile)::before{
 content:"";position:absolute;pointer-events:none;z-index:-1;
 left:9.722222%;top:49.696970%;width:36%;aspect-ratio:1;
 transform:translate(-50%,-50%);
 background:radial-gradient(ellipse closest-side,rgba(249,66,58,.09) 0%,rgba(249,66,58,.06) 24%,rgba(249,66,58,.026) 52%,rgba(249,66,58,.006) 76%,rgba(249,66,58,0) 100%);
}
.dependency-weighted .graph-mobile::before{left:50%;top:9.756098%;width:47.058824%}
/* The existing animated node shadow also needs room outside the SVG. */
.dependency-weighted svg{overflow:visible}



/* Contract construction example. */
body.glance-page .method-editorial .story-source{border-bottom:0}
.contract-example{margin:50px 0 2px;padding:36px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text)}
.ce-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:end;margin-bottom:28px}
.ce-eyebrow{display:block;color:var(--red);font:600 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}
.ce-intro h3{font:650 29px/1.2 Urbanist,Arial,sans-serif;letter-spacing:-.025em;margin:0}
.ce-intro>p{font:400 16px/1.6 Arial,Helvetica,sans-serif;color:#525965;margin:0;max-width:560px}
.ce-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0 0 27px;gap:18px}
.ce-process li{position:relative;padding-top:12px;border-top:2px solid var(--line);min-width:0}
.ce-process li>span{display:block;font:600 12px/1 Arial,Helvetica,sans-serif;color:#5e6570;margin-bottom:8px}
.ce-process strong{display:block;font:600 15px/1.35 Arial,Helvetica,sans-serif}
.ce-process small{display:block;font:400 13px/1.5 Arial,Helvetica,sans-serif;color:#636a74;margin-top:5px}
.ce-example-grid{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:18px;align-items:stretch}
.ce-document{position:relative;isolation:isolate;padding:20px 22px 17px;border:1px solid #dcdedb;background:#fbfbf8;box-shadow:4px 4px 0 -1px #e8e9e6,8px 8px 0 -2px #f3f3ee;transition:border-color .4s}
.ce-paper-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:11px;margin-bottom:16px;border-bottom:1px solid #dcdedb;font:600 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.05em;color:#616973}
.ce-paper-top svg{width:14px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2}
.ce-doc-head{display:flex;gap:13px;align-items:center;margin-bottom:15px}
.ce-doc-head>img{display:block;width:48px;height:48px;object-fit:cover;border-radius:11px;box-shadow:0 2px 5px #0002;background:#111;flex-shrink:0}
.ce-doc-head>strong{font:650 19px/1.2 Urbanist,Arial,sans-serif}
.ce-source-rows{display:flex;flex-direction:column;gap:6px}
.ce-source-row{display:block;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;text-align:left;padding:10px 11px;opacity:.45;filter:blur(.3px);cursor:pointer;transition:opacity .45s,filter .45s,border-color .45s,background .45s}
.ce-source-row.is-selected{opacity:1;filter:none;border-color:#e5e6df;background:#fff}
.ce-source-row:focus-visible,.ce-graph-node:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.ce-row-reference{display:block;color:#59616c;font:600 13px/1.4 Arial,Helvetica,sans-serif;margin-bottom:5px}
body.glance-page main .contract-example .ce-source-row p{font:400 16px/1.5 Arial,Helvetica,sans-serif;margin:0;color:#2b3037;letter-spacing:0}
.ce-source-row mark{color:inherit;background:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:2px;transition:background .35s,color .35s}
.ce-source-row mark.is-current{background:#ffe8e5;color:#98352e}
.ce-source-row .ce-outcome{margin-top:4px!important}
.ce-outcome>span:first-child{color:var(--red);margin-right:4px}
.ce-ellipsis{color:#737b85}
.ce-document-source{display:block;font:400 12px/1.4 Arial,Helvetica,sans-serif;color:#66707c;margin-top:13px}
.ce-map-arrow{display:flex;align-items:center;justify-content:center}
.ce-map-arrow svg{width:32px;height:90px;fill:none;stroke:#acb5c1;stroke-width:1.2}
.ce-rule{display:flex;flex-direction:column;border:1px solid var(--line);padding:20px 22px 15px;background:#fff}
.ce-rule-head{display:flex;align-items:center;gap:14px;min-height:50px;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:4px}
.ce-rule-head>span{font:400 13px/1.4 Arial,Helvetica,sans-serif;color:#606875}
.ce-rule-head b{display:inline-block;color:var(--red);font-weight:700;margin-left:4px}
.ce-rule-head>strong{font:650 20px/1.2 Urbanist,Arial,sans-serif}
.ce-rule-fields{margin:0;flex:1;display:flex;flex-direction:column}
.ce-rule-fields>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid #edf0f3;align-content:center;flex:1}
.ce-rule-fields>div:last-child{border-bottom:0}
.ce-rule-fields dt{font:600 13px/1.5 Arial,Helvetica,sans-serif;color:#626976}
body.glance-page main .contract-example .ce-rule-fields dd{font:400 16px/1.55 Arial,Helvetica,sans-serif;margin:0;color:#353d48;letter-spacing:0}
.ce-rule-fields code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em}
.ce-rule-fields [data-ce-target].is-current dt{color:var(--red)}
.ce-rule-fields [data-ce-target].is-current dd{color:#913d35}
.ce-rule-fields.is-entering{animation:ce-rule-fade .4s ease both}
.ce-binding{display:flex;gap:8px;align-items:center;padding-top:14px;color:#616a76;font:400 13px/1.4 Arial,Helvetica,sans-serif;border-top:1px solid var(--line)}
.ce-binding svg{width:15px;height:15px;fill:none;stroke:#7d8795;stroke-width:1.4;flex:none}
.ce-relations{margin-top:28px;padding:24px;border:1px solid #dce0e6;background:#fbfcfd}
.ce-graph-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px}
.ce-graph-heading>h4{font:650 20px/1.2 Urbanist,Arial,sans-serif;letter-spacing:0;margin:0}
.ce-graph-legend{display:flex;flex-wrap:wrap;gap:17px;font:400 13px/1.4 Arial,Helvetica,sans-serif;color:#5c6674}
.ce-graph-legend span{display:flex;gap:7px;align-items:center}
.ce-graph-legend span:before{content:'';width:18px;height:2px;background:#5a7aa1}
.ce-graph-legend .ce-legend-out:before{background:#e54e3b}
.ce-network{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:62px;padding:8px 12px 14px;isolation:isolate}
.ce-network-edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.ce-network-edge{fill:none;stroke:#bcc4cf;stroke-width:1;opacity:.2;transition:stroke .5s,opacity .5s,stroke-width .5s}
.ce-network-edge.is-incoming{stroke:#5a7aa1;opacity:.7;stroke-width:1.3}
.ce-network-edge.is-outgoing{stroke:#e54e3b;opacity:.75;stroke-width:1.5}
.ce-network-edge.is-featured{stroke-width:2.2;opacity:1;stroke-dasharray:7 5;animation:ce-link-flow 1.4s linear infinite}
.ce-graph-group{min-width:0;position:relative;z-index:1}
.ce-graph-group>h4{display:inline-block;background:#fbfcfd;font:600 13px/1.3 Arial,Helvetica,sans-serif;color:#5a6470;text-transform:uppercase;letter-spacing:.045em;margin:0 0 12px;padding:2px 0}
.ce-graph-nodes{display:flex;flex-direction:column;gap:10px}
.ce-graph-node{display:flex;width:100%;align-items:center;gap:9px;min-height:43px;border:1px solid #d6dce3;border-radius:5px;background:#fff;box-shadow:0 2px 4px #29313c05;padding:9px 10px;text-align:left;cursor:pointer;transition:border-color .45s,background .45s,box-shadow .45s}
.ce-graph-node>span{font:600 12px/1.3 Arial,Helvetica,sans-serif;color:#727c87;flex:none}
.ce-graph-node>strong{font:400 14px/1.35 Arial,Helvetica,sans-serif;color:#323b47}
.ce-graph-node.is-upstream{border-color:#a2b7cf;background:#f4f8fc}
.ce-graph-node.is-downstream{border-color:#eab6ad;background:#fff8f6}
.ce-graph-node.is-selected{border-color:#e54e3b;background:#fef0ec;box-shadow:0 0 0 2px #e54e3b12}
.ce-graph-node.is-selected>span,.ce-graph-node.is-selected>strong{color:#972f23;font-weight:600}
button.ce-graph-node:hover{border-color:#76879a}div.ce-graph-node{cursor:default}.contract-example[data-ce-playing="false"] .ce-network-edge.is-featured{animation-play-state:paused}
.ce-relation-detail{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(0,2fr);gap:20px;align-items:start;min-height:74px;margin-top:22px;padding-top:18px;border-top:1px solid #e0e5ea}
.ce-relation-detail>span{font:600 13px/1.5 Arial,Helvetica,sans-serif;color:#9d3f31}
.ce-relation-detail>p{font:400 16px/1.55 Arial,Helvetica,sans-serif;color:#39434f;margin:0}
.ce-invariant{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;padding-top:15px;margin-top:7px;border-top:1px solid #e0e5ea}
.ce-invariant>span{font:400 13px/1.4 Arial,Helvetica,sans-serif;color:#626c78}
.ce-invariant>strong{font:600 15px/1.4 Arial,Helvetica,sans-serif;color:#39434f}
.ce-fixed{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;text-align:left}
.ce-fixed svg{fill:none;stroke:#77828e;stroke-width:1.4;width:19px;height:22px;flex:none}
.ce-fixed p{font:400 13px/1.55 Arial,Helvetica,sans-serif;color:#626b77;margin:0}
.ce-fixed p br{display:none}
.ce-fixed strong{font-weight:600;color:#404954;margin-left:7px}
.ce-mobile-tabs,.ce-mobile-stage{display:none}
@keyframes ce-rule-fade{from{opacity:.4}to{opacity:1}}
@keyframes ce-link-flow{to{stroke-dashoffset:-24}}
@media(max-width:1100px){.ce-network{gap:34px;padding-left:4px;padding-right:4px}.ce-graph-node{padding:9px 7px;gap:7px}.ce-example-grid{gap:12px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.ce-document,.ce-rule{padding-left:17px;padding-right:17px}.ce-rule-fields>div{grid-template-columns:74px minmax(0,1fr);gap:8px}}
@media(max-width:760px){
 .contract-example{margin-top:32px;padding:28px 0 26px}
 .ce-intro{grid-template-columns:1fr;gap:11px;margin-bottom:20px}
 .ce-intro h3{font-size:25px;line-height:1.2}
 .ce-intro>p{font-size:16px;line-height:1.5}
 .ce-process{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
 .ce-example-grid{grid-template-columns:1fr;gap:16px}
 .ce-map-arrow{display:none}
 .ce-document,.ce-rule{padding:14px}
 .ce-paper-top{font-size:12px;padding-bottom:8px;margin-bottom:11px;letter-spacing:.02em}
 .ce-doc-head{margin-bottom:10px;gap:10px}
 .ce-doc-head>img{width:40px;height:40px;border-radius:9px}
 .ce-doc-head>strong{font-size:17px}
 .ce-source-rows{gap:3px}
 .ce-source-row{padding:8px 9px}
 .ce-row-reference{font-size:12px;line-height:1.3;margin-bottom:4px}
 body.glance-page main .contract-example .ce-source-row p{font-size:15px;line-height:1.45}
 .ce-document-source{font-size:12px;margin-top:10px}
 .ce-rule-head{gap:12px;min-height:42px;padding-bottom:11px}
 .ce-rule-head>strong{font-size:20px}
 .ce-rule-fields>div{grid-template-columns:1fr;gap:6px;padding:18px 0}
 .ce-rule-fields dt{font-size:13px}
 .ce-binding{font-size:13px;padding-top:12px}
 .ce-relations{padding:14px 9px;margin-top:18px}
 .ce-graph-heading{display:block;margin-bottom:13px;padding:0 4px}
 .ce-graph-heading>h4{font-size:19px;margin-bottom:9px}
 .ce-graph-legend{gap:14px;font-size:12px}
 .ce-network{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;padding:3px 3px 7px}
 .ce-graph-group>h4{font-size:12px;letter-spacing:.02em;margin-bottom:8px}
 .ce-graph-nodes{gap:6px}
 .ce-graph-node{min-height:32px;padding:6px 6px;gap:6px;border-radius:4px}
 .ce-graph-node>span{font-size:12px}
 .ce-graph-node>strong{font-size:12px;line-height:1.3}
 .ce-graph-group:nth-of-type(3){grid-column:2;grid-row:2}.ce-graph-group:nth-of-type(4){grid-column:1;grid-row:2;margin-top:-76px}
 .ce-relation-detail{grid-template-columns:1fr;gap:5px;min-height:90px;margin-top:12px;padding:12px 4px 0}
 .ce-relation-detail>span{font-size:13px}
 .ce-relation-detail>p{font-size:15px;line-height:1.45}
 .ce-invariant{display:block;margin:6px 4px 0;padding-top:12px}
 .ce-invariant>span{display:block;font-size:12px;margin-bottom:4px}
 .ce-invariant>strong{font-size:14px}
 .ce-fixed{justify-content:flex-start;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
 .ce-fixed p{font-size:13px}
 .ce-fixed p br{display:block}
 .ce-fixed strong{margin:0}
 .contract-example.ce-mobile-ready .ce-process,.contract-example.ce-mobile-ready>.ce-example-grid{display:none}
 .ce-mobile-ready .ce-mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px}
 body.glance-page main .contract-example .ce-mobile-tabs button{letter-spacing:0;border:1px solid var(--line);border-bottom:2px solid var(--line);padding:12px 2px;background:#f5f6f8;color:#5c6571;font:600 13px/1.2 Arial,Helvetica,sans-serif;cursor:pointer;min-width:0;transition:color .3s,background .3s,border-color .3s}
 .ce-mobile-tabs button[aria-selected="true"]{border-bottom-color:var(--red);background:#fff;color:var(--text)}
 .ce-mobile-tabs button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
 .ce-mobile-ready .ce-mobile-stage{display:grid;position:relative;grid-template-columns:minmax(0,1fr);align-items:start;overflow:hidden;min-width:0;width:100%;transition:height .25s ease}
 .ce-mobile-stage>.ce-mobile-view{grid-area:1/1;align-self:start;width:100%;min-width:0;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s .32s;box-sizing:border-box}
 .ce-mobile-stage>.ce-mobile-view.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease,visibility 0s}
 .ce-mobile-stage>.ce-document{box-shadow:none}
 .ce-mobile-stage>.ce-rule{min-height:440px}
 .ce-mobile-stage>.ce-relations{padding-top:14px}
}
@media(max-width:360px){.ce-mobile-ready .ce-mobile-tabs{grid-template-columns:.8fr .8fr 1.2fr}.ce-network{column-gap:20px;padding-left:0;padding-right:0}.ce-relations{padding-left:6px;padding-right:6px}.ce-graph-node{padding-left:5px;padding-right:5px;gap:5px}.ce-graph-node>strong{max-width:80px}.ce-document,.ce-rule{padding-left:11px;padding-right:11px}.ce-doc-head>strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contract-example *{animation:none!important;transition:none!important}.ce-source-row{filter:none;opacity:.65}.ce-source-row.is-selected{opacity:1}}

/* Unified revision. */
.revision-examples{min-width:0;color:var(--text)}
.ur-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.ur-heading h3{font-family:Krafton,Arial,sans-serif;font-size:clamp(24px,3vw,39px);font-weight:400;line-height:1.12;margin:0}
.ur-arrows{display:flex;gap:8px}.ur-arrows button{width:42px;height:42px;background:transparent;border:1px solid var(--line);color:var(--text);font-size:23px;transition:background .2s,color .2s}
.ur-arrows button:hover{background:var(--text);color:var(--bg)}
.ur-game-tabs{display:flex;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--line);margin-bottom:36px;gap:25px}
.ur-game-tabs button{flex:1 0 auto;max-width:210px;padding:0 0 17px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;font-size:14px;text-align:left;transition:color .2s,border-color .2s;white-space:nowrap}
.ur-game-tabs button[aria-selected=true]{color:var(--text);border-color:var(--red);font-weight:600}
.ur-game-tabs button:hover{color:var(--text)}
.ur-case{min-width:0}.ur-case[hidden],.ur-view[hidden]{display:none!important}
.ur-case .case-heading{margin-bottom:12px}.ur-case .case-heading h3{font-size:clamp(23px,2.8vw,33px)}
.ur-modes{display:flex;gap:20px;margin:0 0 24px}.ur-modes button{border:0;background:none;padding:5px 0;color:var(--muted);font:inherit;font-size:12px;border-bottom:1px solid transparent}
.ur-modes button[aria-pressed=true]{color:var(--text);border-color:var(--text)}
.revision-examples .case-requirement{margin-bottom:23px;min-height:0;background:var(--surface);border:0;padding:22px 24px;grid-template-columns:100px 1fr 24px 1fr;gap:22px}
.revision-examples .case-requirement p{font-size:16px}.revision-examples .case-spec-label{line-height:1.45}.revision-examples .case-summary-note{margin-top:3px;font-size:10px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}
.ur-comparison-context{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin:0 0 12px;color:var(--muted);font-size:12px}
.ur-comparison-context>span{font-weight:600;color:var(--text)}.ur-comparison-context p{margin:0;font-size:12px;line-height:1.5}
.revision-examples .case-comparison{min-height:0;gap:24px;align-items:start}.revision-examples .case-condition{font-size:14px;padding:12px 0}
.revision-examples .case-side{margin:0;border-color:var(--line)}.revision-examples .case-side-feedback{border-color:var(--red)}
.ur-video-frame{background:#090b0e;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}
.ur-video-frame video{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:16/9}
.revision-examples .case-outcome{font-size:15px;line-height:1.5;padding:13px 0 0}
.revision-examples .case-runtime{background:var(--surface);padding:13px 16px}
.revision-examples .case-runtime>span{font-size:9px}.revision-examples .case-runtime>div{margin-top:7px}.revision-examples .case-runtime b,.revision-examples .case-runtime strong{font-size:24px}
.revision-examples .case-test-details{margin-top:20px}.revision-examples .case-test-details p{max-width:880px;line-height:1.6}
.ur-transport{display:flex;align-items:center;gap:19px;padding-top:18px}.ur-transport button{border:0;background:none;padding:6px 0;color:var(--text);font:inherit;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line)}
.ur-transport button:hover{text-decoration-color:var(--red);color:var(--red)}.ur-transport p{margin:0 0 0 auto;color:var(--muted);font-size:11px;line-height:1.6;max-width:350px;text-align:right}
.revision-examples button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:760px){
 .ur-heading{gap:14px;margin-bottom:23px}.ur-heading h3{font-size:27px}.ur-arrows{gap:6px}.ur-arrows button{width:34px;height:36px;font-size:20px}
 .ur-game-tabs{gap:25px;margin-bottom:27px}.ur-game-tabs button{font-size:12px;padding-bottom:14px}.ur-case .case-heading h3{font-size:25px}.ur-case .case-topic{font-size:10px}
 .ur-modes{gap:20px;margin-bottom:21px}.ur-modes button{font-size:11px}
 .revision-examples .case-requirement{grid-template-columns:1fr;padding:17px 18px;gap:12px;margin-bottom:20px}.revision-examples .case-spec-label{display:flex;align-items:baseline;gap:6px;font-size:9px}.revision-examples .case-spec-label br{display:none}.revision-examples .case-summary-note{margin:0 0 0 auto;font-size:9px}.revision-examples .case-spec-arrow{display:none}.revision-examples .case-requirement p{font-size:14px;line-height:1.5}.revision-examples .case-requirement>div>span{font-size:9px;margin-bottom:3px}
 .ur-comparison-context{display:block;margin-bottom:12px;font-size:11px}.ur-comparison-context p{font-size:11px;margin-top:3px}.revision-examples .case-comparison{grid-template-columns:1fr;gap:23px}.revision-examples .case-condition{font-size:12px;padding:10px 0}.revision-examples .case-outcome{font-size:13px;padding-top:10px}
 .ur-transport{gap:19px;flex-wrap:wrap;padding-top:14px}.ur-transport button{font-size:11px}.ur-transport p{flex-basis:100%;text-align:left;margin:0;max-width:none}.revision-examples .case-test-details{margin-top:17px}
}
@media(max-width:350px){.ur-heading h3{font-size:23px}.ur-heading{gap:8px}.ur-arrows button{width:30px}.ur-modes{gap:15px}}
@media(prefers-reduced-motion:reduce){.ur-game-tabs button,.ur-arrows button{transition:none}}

/* Static, art-applied image comparisons. */
.revision-image-examples .ur-game-tabs{justify-content:flex-start;gap:36px}
.revision-image-examples .ur-game-tabs button{flex:0 1 auto;min-width:160px;max-width:none}
.revision-image-examples .case-comparison{gap:26px}
.revision-image-examples .case-frame{background:#0d1519}
.revision-image-examples .case-zoom{width:21%;top:4%;right:3%;border:1px solid #ffffffb0;box-shadow:0 3px 14px #0005}
.revision-image-examples .case-zoom>span{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:0;padding:5px 7px;color:#fff;background:#141a20}
.revision-image-examples .case-marker{border:1.5px solid #f9423a;box-shadow:0 0 0 1px #ffffffa0}
.revision-image-examples .case-condition{font-size:15px;padding:13px 0}
.revision-image-examples .case-outcome{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:500;color:#27323d;line-height:1.5;padding-top:14px}
@media(max-width:760px){.revision-image-examples .ur-game-tabs{gap:24px}.revision-image-examples .ur-game-tabs button{min-width:0;flex:1 0 auto;font-size:14px}.revision-image-examples .case-zoom{width:23%;top:4%;right:3%}.revision-image-examples .case-zoom>span{font-size:9px;padding:4px 5px}.revision-image-examples .case-condition{font-size:14px}.revision-image-examples .case-outcome{font-size:15px}.revision-image-examples .case-comparison{gap:26px}}
/* Readable labels and requirements on the art-applied comparisons. */
body.glance-page main .revision-examples :is(.ur-game-tabs button,.case-topic,.case-spec-label,.case-requirement p,.case-requirement>div>span,.case-condition,.case-outcome,.case-test-details,.case-test-details p,.case-test-details summary,.case-pointer,.case-zoom>span){font-family:Arial,Helvetica,sans-serif}
body.glance-page main .revision-examples .case-requirement p{font-size:18px;line-height:1.5}
body.glance-page main .revision-examples :is(.case-spec-label,.case-requirement>div>span,.case-summary-note){font-size:12px;line-height:1.4}
body.glance-page main .revision-examples .case-topic{font-size:13px;line-height:1.4}
body.glance-page main .revision-examples .case-condition{font-size:15px;line-height:1.45}
body.glance-page main .revision-examples :is(.case-test-details,.case-test-details p,.case-test-details summary){font-size:14px;line-height:1.6}
body.glance-page main .revision-examples .case-zoom>span{font-size:12px;line-height:1.35;padding:5px 7px}
body.glance-page main .revision-examples .case-pointer>b{font-size:12px;line-height:1.35;padding:2px 4px;background:#122132c9;border-radius:2px}
.revision-image-examples .case-zoom{width:25%}
.revision-image-examples #ur-case-beat .case-zoom{width:30%;top:4%;left:3%;right:auto}
.revision-image-examples .ur-game-tabs{gap:28px}
.revision-image-examples .ur-game-tabs button{min-width:0;flex:0 0 auto}
@media(max-width:760px){
 body.glance-page main .revision-examples .case-requirement p{font-size:16px;line-height:1.5}
 body.glance-page main .revision-examples .case-outcome{font-size:16px;line-height:1.5}
 body.glance-page main .revision-examples .case-condition{font-size:14px}
 body.glance-page main .revision-examples .case-topic{font-size:13px}
 .revision-image-examples .case-zoom{width:28%}
 .revision-image-examples #ur-case-beat .case-zoom{width:34%}
 .revision-image-examples .ur-game-tabs{gap:24px}
 body.glance-page main .revision-examples .ur-game-tabs button{font-size:14px}
}
.revision-image-examples #ur-case-night .case-zoom{width:40%;top:12%;right:3%}
@media(max-width:760px){.revision-image-examples #ur-case-night .case-zoom{width:52%;top:13%;right:3%}}

/* Additional original-image examples. */
.revision-image-examples #ur-case-abyssal-victory .case-zoom{width:39%;top:17%;right:4%}
.revision-image-examples #ur-case-night-prescription .case-zoom{width:35%;top:7%;right:3%}
@media(max-width:760px){.revision-image-examples #ur-case-abyssal-victory .case-zoom{width:49%;top:18%}.revision-image-examples #ur-case-night-prescription .case-zoom{width:45%;top:7%}}

/* Research references. */
.research-references{margin-top:64px;padding-top:36px;border-top:1px solid var(--line)}
.research-references h3{font-family:Krafton,Urbanist,sans-serif;font-weight:400;font-size:25px;line-height:1.25;margin:0;letter-spacing:0}
.citation-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.citation-copy{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:136px;padding:10px 14px;border:1px solid #ccd0d4;background:transparent;color:#293139;font-family:inherit;font-size:13px;font-weight:600;transition:color .22s ease,border-color .22s ease,background .22s ease}
.citation-copy svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4}
.citation-copy:hover,.citation-copy:focus-visible{color:#d52f28;border-color:#f9423a;background:#fff4f3}
.citation-copy.is-copied{color:#286d50;border-color:#b2cbbd;background:#f1f7f3}
.citation-code{margin:0;padding:24px 26px;background:#f6f7f8;border:1px solid #e0e3e7;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.8;color:#3b4550;tab-size:2}
.citation-code:focus-visible{outline:2px solid #f9423a;outline-offset:3px}
.acknowledgments{display:grid;grid-template-columns:310px minmax(0,1fr);gap:40px;margin-top:42px;padding-top:36px;border-top:1px solid var(--line);align-items:start}
.acknowledgments h3{font-size:20px;min-width:0}
.acknowledgments p{font-size:16px;line-height:1.8;color:var(--muted);margin:0;max-width:900px;text-wrap:pretty}
.footer p .site-design-credit{display:block;font-size:11px;margin-top:8px;line-height:1.5;color:#8d8d8d}
@media(max-width:900px){.acknowledgments{grid-template-columns:1fr;gap:18px}}
@media(max-width:760px){.research-references{margin-top:38px;padding-top:28px}.research-references h3{font-size:23px}.citation-heading{gap:12px;margin-bottom:14px}.citation-copy{font-size:11px;min-width:116px;padding:9px 10px;gap:6px}.citation-copy svg{width:15px;height:15px}.citation-code{padding:16px 14px;font-size:11px;line-height:1.8}.acknowledgments{margin-top:30px;padding-top:28px;gap:16px}.acknowledgments h3{font-size:18px}.acknowledgments p{font-size:14px;line-height:1.8}.footer p .site-design-credit{max-width:215px;font-size:10px;margin-left:auto}}
@media(prefers-reduced-motion:reduce){.citation-copy{transition:none}}


/* Ack template credit. */
.acknowledgments-copy{min-width:0}
.acknowledgments .site-template-credit{margin-top:18px;font-size:14px;line-height:1.75;color:var(--muted)}
@media(max-width:760px){.acknowledgments .site-template-credit{font-size:13px;margin-top:16px}}


/* Requirement typography. */
/* A neutral reading face is reserved for requirements and contract prose. */
:root{--requirement-font:Arial,Helvetica,sans-serif}
body main :is(.case-requirement,.example-requirement,.ec-doc-focus,.ce-source-row,.ce-source-constraint,.ce-rule-fields,.ext3d-requirement-row){font-family:var(--requirement-font)}
body.glance-page main .case-requirement p{font-family:var(--requirement-font);font-size:18px;font-weight:500;line-height:1.55;letter-spacing:0;color:#252b34}
body.glance-page main :is(.example-requirement p,.story-replay .se-requirement p,.ce-source-row p,.ce-source-constraint q,.ce-rule-fields dd,.ext3d-spec-copy>p){font-family:var(--requirement-font);font-size:16px;font-weight:500;line-height:1.55;letter-spacing:0;color:#252b34}
body.glance-page main .ec-doc-focus blockquote{font-family:var(--requirement-font);font-size:19px;font-weight:500;line-height:1.55;letter-spacing:0;color:#252b34}
body.glance-page main :is(.case-spec-label,.case-requirement>div>span,.example-requirement .er-label,.ce-row-reference,.ce-source-constraint>span,.ce-rule-fields dt){font-family:var(--requirement-font);font-size:11px;font-weight:600;line-height:1.45;letter-spacing:.025em;color:#5c6572}
body.glance-page main .example-requirement .er-label{margin-bottom:8px}
body.glance-page main .case-requirement>div>span{margin-bottom:7px}
body.glance-page main .case-summary-note{font-family:var(--requirement-font);font-size:10px;line-height:1.4;letter-spacing:0;font-weight:400}
body.glance-page main .ce-rule-fields [data-ce-target].is-current dd{color:#913d35}
body.glance-page main .ce-rule-fields [data-ce-target].is-current dt{color:#b53d32}
body.glance-page main .ext3d-requirement-row{font-family:var(--requirement-font);height:auto;min-height:117px}
body.glance-page main .ext3d-requirement-row>p{font-size:15px;font-weight:500;line-height:1.55;letter-spacing:0;color:#252b34}
body.glance-page main .ext3d-requirement-row>span{font-family:var(--requirement-font);font-size:10px;font-weight:600;letter-spacing:.015em;line-height:1.4}
@media(max-width:760px){
 body.glance-page main .case-requirement p{font-size:16px;line-height:1.55}
 body.glance-page main :is(.example-requirement p,.story-replay .se-requirement p,.ce-source-row p,.ce-source-constraint q,.ce-rule-fields dd,.ext3d-spec-copy>p){font-size:15px;line-height:1.55}
 body.glance-page main .ec-doc-focus blockquote{font-size:18px;line-height:1.5}
 body.glance-page main :is(.case-spec-label,.case-requirement>div>span,.example-requirement .er-label,.ce-row-reference,.ce-source-constraint>span,.ce-rule-fields dt){font-size:10px;line-height:1.4;letter-spacing:.02em}
 body.glance-page main .case-summary-note{font-size:10px}
 body.glance-page main .ext3d-requirement-row{min-height:117px}
}
@media(max-width:360px){body.glance-page main .ext3d-requirement-row{min-height:135px}}


/* Glance reading typography. */
/* Reading copy is neutral and legible. Display titles and brand faces remain unchanged. */
body.glance-page{--reading-font:Arial,Helvetica,sans-serif}
body.glance-page main :is(.story-copy>p,.method-mobile-copy,.pm-caption,.pp-bottom>p,.fine-print,.extension-heading>p,.abstract>p,.acknowledgments-copy>p,.test-policy-heading>p){font-family:var(--reading-font);font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0}
body.glance-page main :is(.section-index,.eyebrow,.text-link,.story-detail,.evidence-label,.diagram-eyebrow,.diagram-foot,.results-filter-label,.src-caption,.src-shared-x,.affiliation,.author-notes,.release-status,.citation-copy,.site-template-credit){font-family:var(--reading-font);font-size:14px;line-height:1.5;letter-spacing:.015em}
body.glance-page main .paper-details .authors sup{font-family:var(--reading-font);font-size:12px}
body.glance-page main :is(.ec-case-nav button,.ec-screen-top>strong,.ec-frame-controls button,.ec-inset-label,.ec-axis,.ec-document-top,.ec-doc-focus>span){font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:0}
body.glance-page main .ec-doc-context{font-family:var(--reading-font);font-size:13px;line-height:1.5}
body.glance-page main .ec-result p{font-family:var(--reading-font);font-size:17px;line-height:1.5}
body.glance-page main .ec-axis{margin-top:10px}
body.glance-page main .ec-screen-top{flex-wrap:wrap}
body.glance-page main .ec-inset-label{padding:6px 7px}
body.glance-page main :is(.pp-eyebrow,.pp-node-kicker,.pp-contract-contents,.pp-fixed,.pp-policy-label,.pp-object>span,.pp-axis>span,.pp-evidence div>span:last-child,.pp-revise div>span,.pp-steps button,.pp-steps button>span){font-family:var(--reading-font);font-size:13px;line-height:1.45;letter-spacing:0}
body.glance-page main .pp-axis>strong{font-family:var(--reading-font);font-size:16px;line-height:1.35;min-height:44px}
body.glance-page main .pp-evaluation-heading{align-items:flex-start}
body.glance-page main .pp-contract{padding-left:14px;padding-right:14px}
body.glance-page main .pp-bottom{grid-template-columns:1fr 1fr;gap:28px}
body.glance-page main :is(.dw-legend,.dw-motion-toggle,.se-autoplay,.se-source,.al-kicker,.al-pause,.al-episode-heading>span){font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:0}
body.glance-page main .dw-legend{flex-wrap:wrap}
body.glance-page main :is(.example-requirement p,.story-replay .se-requirement p){font-size:16px;line-height:1.55}
body.glance-page main .example-requirement .er-label{font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:.025em}
body.glance-page main .se-extract-card figcaption{font-family:var(--reading-font);font-size:13px;line-height:1.45;gap:5px}
body.glance-page main .se-extract-card figcaption strong{font-size:14px;line-height:1.4}
body.glance-page main :is(.al-policy strong,.al-episode-heading strong){font-family:var(--reading-font);font-size:15px;line-height:1.4;min-height:0;max-width:none}
body.glance-page main :is(.al-trace-record strong,.al-rule-feedback strong){font-family:var(--reading-font);font-size:14px;line-height:1.4}
body.glance-page main .al-trace-record div>span{font-family:var(--reading-font);font-size:13px;line-height:1.45;white-space:normal}
body.glance-page main .al-trace-lines{display:none}
body.glance-page main .evidence-close{font-family:var(--reading-font);font-size:14px;line-height:1.5;flex-wrap:wrap}
body.glance-page main .evidence-close strong{font-size:16px}
body.glance-page main :is(.segmented button,.src-legend button,.src-panel-tabs button,.src-panel-tabs button span){font-family:var(--reading-font);font-size:14px;line-height:1.4}
body.glance-page main :is(.table-scroll th,.table-scroll td,.extension-results th,.extension-results td,.agent-name,.score-th>span){font-family:var(--reading-font);font-size:14px;line-height:1.4}
body.glance-page main :is(.ext3d-paper-heading,.ext3d-paper-heading small,.ext3d-choice-index,.ext3d-choice>span,.ext3d-transport,.extension-results caption){font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:0}
body.glance-page main .ext3d-requirement-row>span{font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:0}
body.glance-page main .ext3d-requirement-row>p{font-size:16px;line-height:1.55}
body.glance-page main .ext3d-requirement-row{height:auto;min-height:0}
body.glance-page main .citation-code{font-size:14px;line-height:1.6}
body.glance-page main .citation-copy{font-size:14px}
@media(max-width:1100px) and (min-width:761px){
 body.glance-page main .pp-canvas{column-gap:25px}
 body.glance-page main .pp-axis+.pp-axis{padding-left:12px}
 body.glance-page main .pp-axes{gap:12px}
 body.glance-page main .pp-bottom{grid-template-columns:1fr;gap:15px}
}
@media(max-width:760px){
 body.glance-page main :is(.pm-position,.pm-controls .pm-toggle,.pm-kicker,.pm-tab,.pm-tab>span,.pm-build-flow figcaption,.pm-contract-plate>strong,.pm-contract-plate>span,.pm-source-checks>span,.pm-inputs span,.pm-frame-target,.pm-evidence-inputs>span,.pm-feedback-rule,.pm-revise-loop){font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:0}
 body.glance-page main .pm-position b{font-size:13px}
 body.glance-page main .pm-tab{display:block;min-height:44px;white-space:nowrap}
 body.glance-page main .pm-tab>span{display:none}
 body.glance-page main .pm-tab{overflow:visible;overflow-wrap:normal}
 body.glance-page main .pm-caption{font-size:16px;line-height:1.55;min-height:0}
 body.glance-page main .pm-visual{min-height:182px}
 body.glance-page main .pm-source-checks{max-width:170px}
 body.glance-page main .method-mobile-tabs>button{flex-direction:column;align-items:flex-start;gap:5px;padding:10px 8px;min-height:66px}
 body.glance-page main .method-mobile-tabs>button>b{font-family:var(--reading-font);font-size:12px;line-height:1.1}
 body.glance-page main .method-mobile-tabs>button>span{font-family:var(--reading-font);font-size:13px;line-height:1.35}
 body.glance-page main [data-responsive-methods] .method-mobile-copy{font-family:var(--reading-font);font-size:16px;line-height:1.55}
 body.glance-page main [data-responsive-methods] .diagram-foot{font-size:13px;line-height:1.5}
 body.glance-page main .se-retrieval-evidence .se-extract-card{height:auto;min-height:88px}
 body.glance-page main .se-retrieval-evidence .se-extract-card figcaption{font-family:var(--reading-font);padding:8px;font-size:13px;line-height:1.45;gap:4px}
 body.glance-page main .se-retrieval-evidence .se-extract-card figcaption strong{font-size:14px;line-height:1.35}
 body.glance-page main .se-source{margin-top:12px}
 body.glance-page main .al-policy img{width:36px;height:32px}
 body.glance-page main .al-policy strong{font-size:14px}
 body.glance-page main .al-toolbar{align-items:flex-start}
 body.glance-page main .al-feedback{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:5px}
 body.glance-page main :is(.al-trace-icon,.al-requirement-icon){display:none}
 body.glance-page main :is(.al-trace-record,.al-rule-feedback){padding:9px 7px;align-items:center}
 body.glance-page main :is(.al-trace-record strong,.al-rule-feedback strong){font-size:13px;overflow-wrap:normal}
 body.glance-page main .al-trace-record div>span{font-size:12px}
 body.glance-page main .ext3d-paper-heading{flex-wrap:wrap;gap:7px}
 body.glance-page main .ext3d-requirement-row{min-height:0}
 body.glance-page main .ec-frame-controls{flex-wrap:wrap}
 body.glance-page main .ec-auto-inset{min-width:0}
 body.glance-page main .ec-inset-label{font-size:12px}
 body.glance-page main .citation-code{font-size:13px}
}
body.glance-page main :is(.finding-numbers>div>span,.revision-summary-copy>p,.revision-lift>p,.revision-bars>div>span){font-family:var(--reading-font);font-size:14px;line-height:1.5}
@media(max-width:760px){body.glance-page main .ec-heading>p{font-family:var(--reading-font);font-size:16px;line-height:1.55}}
body.glance-page main [data-responsive-methods] .dependency-weighted :is(.dw-legend,.dw-legend-range,.dw-motion-toggle),body.glance-page main [data-responsive-methods] .se-spatial-evidence .se-autoplay{font-family:var(--reading-font);font-size:13px;line-height:1.4;letter-spacing:0}


/* Glance svg legibility. */
/* At-a-Glance SVG captions use a sturdy small-text face; rule symbols retain theirs. */
.glance-page :is(.dependency-weighted .dw-name,.dependency-weighted .dw-weight,.al-unmet text,.pp-flow-cards text,.pp-feedback-title,.src-svg text) {
  font-family:Arial,Helvetica,sans-serif;
}
/* Reduced-motion playtest diagrams share one compact row. Their long
   annotation moves outside the scaled SVG so it keeps a readable text size. */
@media (max-width:760px) and (prefers-reduced-motion:reduce) {
  .glance-page [data-responsive-methods] .al-worlds { grid-template-columns:1fr 1fr;gap:8px; }
  .glance-page [data-responsive-methods] .al-unmet { display:none; }
  .glance-page [data-responsive-methods] .al-normal-episode::after {
    content:'Unmet precondition';display:block;padding-top:6px;
    color:#b74e45;font:600 12px/1.35 Arial,Helvetica,sans-serif;
    overflow-wrap:normal;
  }
}



/* Dataset scope. */
.dataset-scope{--ds-ink:#20252b;--ds-muted:#606973;--ds-line:#d7dcdf;--ds-wash:#f6f7f7;--ds-accent:#c53832;margin:12px 0 64px;color:var(--ds-ink);font-family:Arial,Helvetica,sans-serif}
.ds-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:30px;padding-top:30px;border-top:1px solid var(--ds-line)}
.ds-heading .diagram-eyebrow{font-size:13px;letter-spacing:.1em;display:block;margin-bottom:12px}
.ds-heading h3{font-family:Krafton,Urbanist,sans-serif;font-weight:800;font-size:30px;line-height:1.12;letter-spacing:-.015em;margin:0}
.ds-heading>p{font-size:16px;line-height:1.65;color:var(--ds-muted);max-width:490px;margin:0}
.ds-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.ds-split{min-width:0;--ds-color:#467a67;--ds-focus:#edf5f1}.ds-big{--ds-color:#ae4c45;--ds-focus:#fff1ed}
.ds-split-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:11px}.ds-split-name{font-family:Krafton,Urbanist,sans-serif;font-size:27px;font-weight:800;color:var(--ds-color)}.ds-count{font-size:13px;color:var(--ds-muted)}
.ds-split h4{font-family:Urbanist,Arial,sans-serif;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.01em;margin:0 0 11px}.ds-definition{font-size:16px;line-height:1.55;color:var(--ds-muted);min-height:50px;margin:0 0 22px;max-width:490px}
.ds-paper{position:relative;isolation:isolate;background:#fff;border:1px solid var(--ds-line);box-shadow:0 7px 24px #1f2a3610;padding:22px 23px 16px}.ds-paper::before{position:absolute;content:"";inset:6px -6px -6px 6px;background:#fafafa;border:1px solid var(--ds-line);z-index:-1}.ds-big .ds-paper::after{position:absolute;content:"";inset:11px -11px -11px 11px;background:#f5f5f5;border:1px solid var(--ds-line);z-index:-2}
.ds-paper-heading{display:flex;align-items:center;gap:15px;min-height:82px;padding-bottom:18px;margin-bottom:7px;border-bottom:1px solid var(--ds-line)}.ds-paper-heading>img{width:74px;height:74px;flex-shrink:0;object-fit:cover;border-radius:12px;border:1px solid #00000014}.ds-paper-heading>div{min-width:0}.ds-paper-heading span{font-size:12px;letter-spacing:.025em;color:var(--ds-muted);display:block;margin-bottom:5px}.ds-paper-heading strong{font-family:Urbanist,Arial,sans-serif;font-size:21px;font-weight:700;display:block;line-height:1.15}.ds-paper-heading p{font-size:13px;color:var(--ds-muted);line-height:1.4;margin:6px 0 0}
.ds-requirements{padding:0;margin:0;list-style:none}.ds-requirement{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:16px 10px;margin:0 -10px;background:transparent;border-radius:5px;transition:background .6s ease,color .6s ease;min-height:97px}.ds-row-index{font-size:12px;font-variant-numeric:tabular-nums;color:#7a838a;line-height:1.5;padding-top:1px}.ds-requirement strong{font-size:14px;font-weight:600;line-height:1.35;display:block;margin-bottom:5px}.ds-requirement p{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;margin:0;color:#626971;transition:color .6s ease}.ds-requirement.is-focused{background:var(--ds-focus)}.ds-requirement.is-focused p{color:var(--ds-ink)}.ds-requirement.is-focused .ds-row-index{color:var(--ds-color)}
.ds-map-wrap{border-top:1px solid var(--ds-line);margin-top:7px;padding-top:14px}.ds-map-label{font-size:12px;color:var(--ds-muted);display:block}.ds-map{position:relative;height:134px;margin-top:5px}.ds-map svg{position:absolute;inset:0;width:100%;height:100%;fill:none;overflow:visible}.ds-map svg>path{stroke:#afb9bd;stroke-width:1.35;transition:stroke .6s ease;marker-end:url(#ds-arrow-small)}.ds-map svg>path.is-focused{stroke:var(--ds-color);stroke-width:1.8}.ds-map-big svg>path{marker-end:url(#ds-arrow-big)}.ds-map marker path{fill:#afb9bd}.ds-map .ds-return{stroke-dasharray:3 4}.ds-node{position:absolute;width:24%;height:40px;display:grid;place-items:center;padding:4px;background:#f5f7f6;border:1px solid #d5deda;border-radius:5px;font-size:12px;line-height:1.1;text-align:center;transition:background .6s ease,border-color .6s ease,color .6s ease}.ds-node-a{left:0;top:12px}.ds-node-b{left:38%;top:12px}.ds-node-c{right:0;top:12px}.ds-map-small .ds-node-d{left:38%;top:92px}.ds-map-big .ds-node-d{left:0;top:92px}.ds-node-e{left:38%;top:92px}.ds-node-f{right:0;top:92px}.ds-node.is-focused{border-color:var(--ds-color);background:var(--ds-focus);color:var(--ds-color)}
.ds-statistics{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:27px}.ds-statistics>div{min-width:0}.ds-statistics strong{font-family:Krafton,Urbanist,sans-serif;font-size:32px;line-height:1.1;display:block;font-weight:800;font-variant-numeric:tabular-nums}.ds-statistics>div>span{display:block;font-size:13px;line-height:1.4;color:var(--ds-muted);margin:6px 0 9px}.ds-stat-track{display:block;height:3px;background:#e7eaea;overflow:hidden}.ds-stat-track>b{display:block;background:var(--ds-color);height:100%;width:var(--ds-stat);transform:scaleX(0);transform-origin:left;transition:transform 1.05s cubic-bezier(.22,1,.36,1)}.dataset-scope.is-visible .ds-stat-track>b{transform:scaleX(1)}.ds-note{font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.6;color:var(--ds-muted);margin:22px 0 0;max-width:840px}.ds-tabs{display:none}
@media(min-width:761px) and (max-width:1100px){.ds-pair{gap:24px}.ds-paper{padding:18px 18px 14px}.ds-definition{min-height:76px}.ds-paper-heading{min-height:88px}.ds-paper-heading>img{width:60px;height:60px}.ds-paper-heading p{max-width:180px}.ds-requirement{min-height:119px}.ds-statistics{gap:16px}.ds-statistics>div>span{min-height:36px}}
@media(max-width:760px){.dataset-scope{margin:6px 0 44px}.ds-heading{display:block;padding-top:24px;margin-bottom:24px}.ds-heading h3{font-size:26px}.ds-heading>p{margin-top:17px;font-size:16px;line-height:1.6;max-width:540px}.ds-tabs{display:flex;gap:0;border-bottom:1px solid var(--ds-line);margin-bottom:23px}.ds-tabs button{width:50%;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ds-muted);padding:12px 6px;text-align:left;font-size:17px;font-weight:600;transition:color .25s,border-color .25s}.ds-tabs button span{display:inline-block;font-size:12px;font-weight:400;margin-left:6px}.ds-tabs button[aria-pressed=true]{border-bottom-color:var(--red);color:var(--ds-ink)}.ds-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.ds-split{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.dataset-scope[data-ds-active=small] .ds-small,.dataset-scope[data-ds-active=big] .ds-big{opacity:1;visibility:visible;pointer-events:auto}.ds-split-heading{display:none}.ds-split h4{font-size:21px;margin-bottom:10px}.ds-definition{font-size:16px;min-height:0;margin-bottom:15px}.ds-paper{padding:18px 17px 13px;margin-right:8px}.ds-paper-heading{gap:13px;min-height:78px;padding-bottom:15px;margin-bottom:5px}.ds-paper-heading>img{width:58px;height:58px;border-radius:9px}.ds-paper-heading strong{font-size:20px}.ds-paper-heading span{font-size:12px}.ds-paper-heading p{font-size:13px;max-width:240px}.ds-requirement{grid-template-columns:20px minmax(0,1fr);gap:8px;padding:12px 7px;margin:0 -7px;min-height:108px}.ds-requirement strong{font-size:14px}.ds-requirement p{font-size:16px;line-height:1.45}.ds-map-wrap{margin-top:4px;padding-top:12px}.ds-map-label{font-size:12px}.ds-map{height:124px}.ds-node{height:36px;font-size:12px;width:28%}.ds-node-b,.ds-map-small .ds-node-d,.ds-node-e{left:36%}.ds-node-a,.ds-node-b,.ds-node-c{top:12px}.ds-map-big .ds-node-d,.ds-map-small .ds-node-d,.ds-node-e,.ds-node-f{top:85px}.ds-statistics{padding-top:26px;gap:16px}.ds-statistics strong{font-size:29px}.ds-statistics>div>span{font-size:13px;min-height:36px;margin-bottom:8px}.ds-note{font-size:13px;margin-top:18px}.ds-tabs button:focus-visible{outline-offset:1px}}
@media(max-width:360px){.ds-paper{padding:15px 12px 12px}.ds-paper-heading{gap:9px;min-height:78px}.ds-paper-heading>img{width:48px;height:48px}.ds-paper-heading strong{font-size:19px}.ds-definition{min-height:0}.ds-requirement{min-height:124px}.ds-row-index{font-size:12px}.ds-statistics{gap:12px}.ds-statistics strong{font-size:24px}.ds-split h4{min-height:51px}.ds-map{height:132px}.ds-node{height:40px}.ds-map-big .ds-node-d,.ds-map-small .ds-node-d,.ds-node-e,.ds-node-f{top:91px}}
@media(prefers-reduced-motion:reduce){.ds-split,.ds-requirement,.ds-node,.ds-stat-track>b,.ds-requirement p{transition:none}.ds-stat-track>b{transform:scaleX(1)}}


/* Home continuous backdrop. */
/* Dissolve the horizon film into the same black field used by the documents and games. */
body.home-page .design-horizon,
body.home-page .gdd-library,
body.home-page .game-wall{background:#000;border:0}
body.home-page .design-horizon::after{content:"";position:absolute;inset:auto 0 -1px;height:clamp(150px,19vw,330px);pointer-events:none;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.96) 14%,rgba(0,0,0,.73) 37%,rgba(0,0,0,.34) 66%,rgba(0,0,0,0) 100%);z-index:0}
body.home-page .design-horizon-copy{z-index:1}
body.home-page .design-horizon-copy .intent-accent{color:var(--red);font:inherit;letter-spacing:inherit}
body.home-page .gdd-library{box-shadow:none}
/* The two small-screen navigation rows retain every destination. */
@media(max-width:380px){.mast-inner .code-nav{display:inline-flex}.mast-inner nav{gap:10px}.mast-inner nav,.mast-inner .paper-nav,.mast-inner .code-nav{font-size:11px}.mast-inner .mast-brands .brand{width:70px}.mast-inner .bench-brand{font-size:9px}.mast-inner{gap:8px}}


/* Pipeline feedback scale. */
@media(min-width:761px){
 .paper-pipeline .pp-feedback-connected{width:100%;max-width:none;justify-self:stretch;grid-template-columns:minmax(0,1fr) minmax(340px,1.42fr) minmax(0,1fr);gap:24px;padding:12px 0 7px;align-items:center}
 .paper-pipeline .pp-feedback-connected .pp-evidence,.paper-pipeline .pp-feedback-connected .pp-revise{gap:16px;align-items:center}
 .paper-pipeline .pp-feedback-connected .pp-evidence>img,.paper-pipeline .pp-feedback-connected .pp-revise>img{width:128px;height:152px;flex:none}
 .paper-pipeline .pp-feedback-connected .pp-evidence strong,.paper-pipeline .pp-feedback-connected .pp-revise strong{font-size:20px;line-height:1.28;font-weight:600}
 .paper-pipeline .pp-feedback-connected .pp-evidence .pp-node-kicker{font:600 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.055em;margin-bottom:8px}
 .paper-pipeline .pp-feedback-connected .pp-revise div>span{font:400 13px/1.45 Arial,Helvetica,sans-serif;margin-top:10px}
 .paper-pipeline .pp-feedback-connected .pp-feedback-flow{width:100%;max-width:510px;justify-self:center}
 .paper-pipeline .pp-feedback-flow svg{width:100%;height:auto;aspect-ratio:360/116;overflow:visible}
 .paper-pipeline .pp-flow-cards text{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400}
 .paper-pipeline .pp-feedback-title{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600}
}
@media(min-width:761px) and (max-width:1100px){
 .paper-pipeline .pp-feedback-connected{grid-template-columns:minmax(0,1fr) minmax(333px,1.8fr) minmax(0,1fr);gap:16px;padding-top:8px}
 .paper-pipeline .pp-feedback-connected .pp-evidence,.paper-pipeline .pp-feedback-connected .pp-revise{flex-direction:column;gap:11px;text-align:center;align-items:center}
 .paper-pipeline .pp-feedback-connected .pp-evidence>img,.paper-pipeline .pp-feedback-connected .pp-revise>img{width:112px;height:126px}
 .paper-pipeline .pp-feedback-connected .pp-evidence strong,.paper-pipeline .pp-feedback-connected .pp-revise strong{font-size:18px;line-height:1.3}
 .paper-pipeline .pp-feedback-connected .pp-evidence .pp-node-kicker{margin-bottom:7px;font-size:12px;letter-spacing:0}
 .paper-pipeline .pp-feedback-connected .pp-revise div>span{margin-top:7px}
 .paper-pipeline .pp-flow-cards text,.paper-pipeline .pp-feedback-title{font-size:13px}
}
@media(max-width:760px){
 .paper-pipeline .pm-feedback-visual{width:100%;max-width:338px;gap:0}
 .paper-pipeline .pm-feedback-visual .pm-evidence-inputs>span{font:400 13px/1.4 Arial,Helvetica,sans-serif;padding:8px 5px}
 .paper-pipeline .pm-feedback-visual .pm-evidence-merge{height:26px;flex:none}
 .pm-feedback-review{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:0 0 6px}
 .pm-feedback-review>img{display:block;object-fit:contain;width:86px;height:94px;flex:none}
 .paper-pipeline .pm-feedback-review .pm-feedback-rule{font:600 14px/1.4 Arial,Helvetica,sans-serif;min-height:66px;padding:12px 11px;gap:9px;max-width:208px;flex:1}
 .paper-pipeline .pm-feedback-review .pm-feedback-rule>i{font-size:29px}
 .paper-pipeline .pm-feedback-visual .pm-revise-loop{width:100%;justify-content:center;gap:13px;margin-top:2px;font:600 16px/1.35 Arial,Helvetica,sans-serif;color:var(--text)}
 .paper-pipeline .pm-feedback-visual .pm-revise-loop>img{width:86px;height:94px;object-fit:contain;flex:none}
 .paper-pipeline .pm-feedback-visual .pm-revise-loop>b{font-size:26px;flex:none}
 .paper-pipeline .pm-feedback-visual .pm-revise-loop>span{max-width:126px}
 .paper-pipeline [data-pm-slide="5"] .pm-visual{height:auto;min-height:264px;flex:1;margin-top:4px;margin-bottom:17px}
}
@media(max-width:350px){
 .pm-feedback-review{gap:9px}
 .pm-feedback-review>img,.paper-pipeline .pm-feedback-visual .pm-revise-loop>img{width:72px;height:86px}
 .paper-pipeline .pm-feedback-review .pm-feedback-rule{font-size:13px;padding:10px 9px;gap:8px;min-height:62px}
 .paper-pipeline .pm-feedback-visual .pm-revise-loop{font-size:15px;gap:10px}
 .paper-pipeline [data-pm-slide="5"] .pm-visual{min-height:248px}
}


/* Gdd semantics. */
.gdd-semantics{display:block;position:relative;width:100%;height:auto;aspect-ratio:1;margin:19px auto 0;isolation:isolate;contain:layout style;opacity:.96}
.gdd-semantic-state{position:absolute;inset:0;display:block;width:100%;height:100%;fill:none;stroke:#d9dadd;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;opacity:0;visibility:hidden;transition:opacity .36s ease,visibility .36s ease;overflow:visible}
.gdd-semantic-state.is-semantic-active{opacity:1;visibility:visible}.gdd-semantic-state .gsm-muted{stroke:#777b86}.gdd-semantic-state .gsm-accent{stroke:var(--red,#f9423a)}.gdd-semantic-state .gsm-ink{stroke:#ececef}.gdd-semantic-state .gsm-detail{stroke-width:1.65}.gdd-semantic-state .gsm-dashed{stroke-dasharray:3.5 5}.gdd-semantic-state .gsm-soft-fill{fill:#d9dadd10}.gdd-semantic-state .gsm-accent.gsm-soft-fill{fill:#f9423a10}.gdd-semantic-state .gsm-dark-fill{fill:#0b0b0d}.gdd-semantic-state .gsm-ink-fill{fill:#d9dadd;stroke:none}.gdd-semantic-state .gsm-bar{stroke-width:5;stroke-linecap:round}.gdd-semantic-state .gsm-symbol{font:600 16px/1 Arial,sans-serif;letter-spacing:.025em;fill:#d9dadd;stroke:none;dominant-baseline:middle}.gdd-semantic-state .gsm-symbol.gsm-accent{fill:var(--red,#f9423a);stroke:none}.gdd-semantic-state .gsm-symbol.gsm-muted{fill:#90949f;stroke:none}
.gdd-semantic-state .gsm-draw{stroke-dasharray:1;stroke-dashoffset:1}.gdd-semantic-state.is-semantic-active .gsm-draw{animation:gsm-line 1.6s cubic-bezier(.22,1,.36,1) .18s both}.gdd-semantic-state .gsm-dashed.gsm-draw{stroke-dasharray:3.5 5;stroke-dashoffset:0}.gdd-semantic-state.is-semantic-active .gsm-dashed.gsm-draw{animation:gsm-fade-in 1.4s ease .18s both}.gdd-semantic-state.is-semantic-active .gsm-grow{transform-box:fill-box;transform-origin:left center;animation:gsm-grow 1.65s cubic-bezier(.22,1,.36,1) .18s both}.gdd-semantic-state.is-semantic-active .gsm-fade-layer{animation:gsm-layer 1.8s ease .18s both}
.gdd-pair:not(.is-gdd-focus) .gdd-semantics{opacity:.3}.gdd-pair:not(.is-gdd-focus) .gdd-semantic-state *,.gdd-arc-library:not([data-gdd-visible=true]) .gdd-semantic-state *{animation-play-state:paused!important}
.gdd-semantic-state.is-semantic-active .gsm-reduce{transform-box:fill-box;transform-origin:left center;animation:gsm-reduce 1.65s cubic-bezier(.22,1,.36,1) .35s both}
@keyframes gsm-reduce{from{transform:scaleX(2)}to{transform:scaleX(1)}}
@keyframes gsm-fade-in{from{opacity:.25}to{opacity:1}}@keyframes gsm-line{to{stroke-dashoffset:0}}@keyframes gsm-grow{from{transform:scaleX(.12)}to{transform:scaleX(1)}}@keyframes gsm-layer{from{opacity:1}to{opacity:.2}}
@media(max-width:1050px){.gdd-semantics{margin-top:15px}}
@media(max-width:760px){.gdd-semantics{width:calc(100% + 8px);margin:16px -4px 0}.gdd-semantic-state{stroke-width:2.7}.gdd-semantic-state .gsm-detail{stroke-width:2}.gdd-semantic-state .gsm-bar{stroke-width:6}}
@media(prefers-reduced-motion:reduce){.gdd-semantic-state{transition:none}.gdd-semantic-state *{animation:none!important}.gdd-semantic-state .gsm-draw{stroke-dashoffset:0}.gdd-semantic-state .gsm-fade-layer{opacity:.25}}


/* Dataset paper stack. */
/* The front sheet stays opaque. The offset sheets sit entirely behind it. */
.dataset-scope .ds-paper{background:#fff;box-shadow:5px 5px 0 0 #fafafa,5px 5px 0 1px var(--ds-line),0 9px 24px #1f2a360b}
.dataset-scope .ds-big .ds-paper{box-shadow:5px 5px 0 0 #fafafa,5px 5px 0 1px var(--ds-line),10px 10px 0 0 #f5f5f5,10px 10px 0 1px var(--ds-line),0 12px 24px #1f2a360b}
.dataset-scope .ds-paper::before,.dataset-scope .ds-paper::after{content:none}
@media(max-width:760px){.dataset-scope .ds-paper{margin-right:11px}}


/* Gap expanded. */
/* A single readable rail keeps additional game cases compact on narrow screens. */
body.glance-page [data-gap-expanded] .ec-case-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#cbd0d5 transparent;overscroll-behavior-x:contain}
body.glance-page [data-gap-expanded] .ec-case-nav button{flex:0 0 auto;white-space:nowrap;min-height:46px;padding:13px 17px}
@media(max-width:760px){
 body.glance-page [data-gap-expanded] .ec-case-nav{grid-template-columns:none;margin-bottom:24px}
 body.glance-page [data-gap-expanded] .ec-case-nav button{font-size:13px;border-top:0;padding:12px 14px}
}



/* Hero and media. */
body.glance-page main .glance-hero {
  --text:#fff; --muted:#b8b9bd; --line:#343434;
  position:relative; isolation:isolate; overflow:hidden;
  min-height:590px; padding:0; border:0; background:#080808; color:#fff;
  display:flex; align-items:stretch; color-scheme:dark;
}
.glance-hero .glance-hero-media { position:absolute; inset:0; z-index:-2; background:#080808; }
.glance-hero-media video { display:block; width:100%; height:100%; object-fit:cover; }
.glance-hero-media video[hidden] { display:none; }
.glance-hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#080808c9 0%,#08080880 57%,#08080830),linear-gradient(0deg,#080808 0%,#08080800 55%); }
.glance-hero-content { padding-top:54px; padding-bottom:65px; display:flex; flex-direction:column; justify-content:flex-end; }
.glance-hero .hero-kicker { color:#a9aaad; margin-bottom:auto; padding-bottom:56px; }
body.glance-page main .glance-hero h1 { color:#fff; font-size:clamp(42px,5.3vw,76px); line-height:1.08; margin:0 0 32px; letter-spacing:-.025em; }
body.glance-page main .glance-hero h1 .accent { color:var(--red); }
.glance-hero .glance-intro { gap:36px; }
.glance-hero .glance-intro p { color:#c2c3c6; font-size:20px; line-height:1.6; max-width:720px; }
body.glance-page main .glance-hero .text-link { color:#f5f5f5; padding-bottom:5px; border-bottom:1px solid #ffffff50; transition:color .25s ease,border-color .25s ease; }
body.glance-page main .glance-hero .text-link:hover { color:var(--red); border-color:var(--red); }
.glance-hero .text-link span { color:var(--red); }
/* The two group labels share a row. Each tab draws its own aligned rule. */
.explorer-tabs .explorer-tab-group > .tab-group-label {
  position:static; top:auto; border:0; margin:0 0 12px; padding:0;
  min-height:18px; line-height:18px;
}
.profile-gameplay { margin:24px 0 0; }
.profile-gameplay[hidden] { display:none; }
.profile-gameplay video { display:block; width:100%; max-height:40dvh; aspect-ratio:16/9; object-fit:contain; background:#080808; }
@media(max-width:1000px) {
  body.glance-page main .glance-hero { min-height:560px; }
  .glance-hero .glance-intro { display:block; }
  .glance-hero .glance-intro .text-link { margin-top:26px; }
}
@media(max-width:760px) {
  body.glance-page main .glance-hero { min-height:520px; }
  .glance-hero-content { padding-top:32px; padding-bottom:46px; }
  .glance-hero .hero-kicker { padding-bottom:62px; margin-bottom:auto; }
  body.glance-page main .glance-hero h1 { font-size:clamp(33px,7vw,49px); line-height:1.13; margin-bottom:25px; }
  .glance-hero .glance-intro p { font-size:17px; line-height:1.65; }
  .glance-hero .glance-intro .text-link { font-size:14px; margin-top:24px; }
  .glance-hero::after { background:linear-gradient(0deg,#080808 0%,#08080870 65%,#08080845); }
}
@media(prefers-reduced-motion:reduce) { .glance-hero .text-link { transition:none; } }


/* 3d recorded evidence. */
.xe-showcase{margin-top:34px;color:#21252b;font-family:Arial,Helvetica,sans-serif;--xe-green:#196f52;--xe-red:#b83d35}
.xe-game-tabs{display:flex;gap:28px;border-bottom:1px solid #d9dcd9;margin-bottom:26px}
.xe-game-tabs button{position:relative;padding:15px 0 17px;border:0;background:none;font:600 17px/1.4 Arial,Helvetica,sans-serif;color:#737980;text-align:left;transition:color .2s ease}
.xe-game-tabs button:after{content:"";position:absolute;bottom:-1px;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--red,#e4473b);transition:transform .25s ease}
.xe-game-tabs button[aria-pressed=true]{color:#20252a}.xe-game-tabs button[aria-pressed=true]:after{transform:scaleX(1)}.xe-game-tabs button:hover{color:var(--glance-accent-ink,#c63b35)}
.xe-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,.9fr);gap:32px;align-items:start}.xe-main>*{min-width:0}
.xe-screen{aspect-ratio:16/9;background:#15191f;overflow:hidden;border:1px solid #d5d9dc}.xe-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#15191f}
.xe-details{min-height:290px}.xe-case[hidden],.xe-clip[hidden]{display:none!important}
body.glance-page main .xe-case h3{font:600 24px/1.25 Arial,Helvetica,sans-serif;letter-spacing:-.02em;text-transform:none;color:#252d32;margin:0 0 20px}
.xe-requirement{background:linear-gradient(130deg,#fafaf6,#f4f5ef);border:1px solid #dbded6;padding:18px 20px}
.xe-label{display:block;font:600 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.06em;color:#69736d;margin-bottom:9px}
body.glance-page main .xe-requirement p{font:400 16px/1.55 Arial,Helvetica,sans-serif;letter-spacing:0;color:#2c352d;margin:0;overflow-wrap:break-word}
.xe-verdict{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;margin:20px 0 12px;border:1px solid #bad7c9;background:#f0f7f2;color:var(--xe-green)}
.xe-verdict>span{font-size:17px;line-height:1}.xe-verdict strong{font:600 14px/1.4 Arial,Helvetica,sans-serif}
.xe-verdict.violated{border-color:#e9c6c1;background:#fff3f0;color:var(--xe-red)}
body.glance-page main .xe-observed{font:400 16px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;color:#45505a;margin:0;max-width:37ch}
.xe-showcase[data-xe-version="34"] .xe-clip-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 14px;margin-top:28px}
.xe-clip{border:0;background:none;padding:0;text-align:left;min-width:0;color:#515961;font-family:Arial,Helvetica,sans-serif}
.xe-thumb{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;background:#20252a;border:2px solid transparent;transition:border-color .2s ease}
.xe-thumb img{display:block;width:100%;height:100%;object-fit:contain;opacity:.75;transition:opacity .2s ease}
.xe-clip:hover .xe-thumb img,.xe-clip[aria-pressed=true] .xe-thumb img{opacity:1}.xe-clip[aria-pressed=true] .xe-thumb{border-color:var(--red,#e4473b)}
.xe-clip-title{display:block;font-size:13px;line-height:1.4;font-weight:600;margin-top:8px}
.xe-thumb-status{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f5faf7;color:var(--xe-green);font-size:16px;font-weight:700;box-shadow:0 2px 8px #0004}
.xe-thumb-status.violated{color:var(--xe-red);background:#fff4f1}.xe-showcase button:focus-visible{outline:2px solid var(--red,#e4473b);outline-offset:4px}.xe-showcase button{cursor:pointer}
@media(max-width:1100px){.xe-main{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:25px}.xe-requirement{padding:17px 18px}body.glance-page main .xe-case h3{font-size:22px;margin-bottom:16px}.xe-showcase[data-xe-version="34"] .xe-clip-list{gap:18px 12px}}
@media(max-width:850px){.xe-main{grid-template-columns:1fr;gap:24px}.xe-details{min-height:0}.xe-case{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:25px;align-items:start}body.glance-page main .xe-case h3{grid-column:1/-1;margin-bottom:17px}.xe-requirement{grid-row:2/4}.xe-verdict{justify-self:start;margin-top:0;margin-bottom:10px}body.glance-page main .xe-observed{font-size:15px}.xe-showcase[data-xe-version="34"] .xe-clip-list{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:26px}}
@media(max-width:600px){.xe-showcase{margin-top:25px}.xe-game-tabs{gap:23px;margin-bottom:20px}.xe-game-tabs button{font-size:15px;padding:11px 0 14px;line-height:1.35;max-width:57%}.xe-main{gap:20px}.xe-case{display:block}body.glance-page main .xe-case h3{font-size:22px;margin-bottom:15px}.xe-requirement{padding:16px 18px}.xe-verdict{margin-top:16px;margin-bottom:10px}body.glance-page main .xe-observed{font-size:15px;line-height:1.55;max-width:none}.xe-showcase[data-xe-version="34"] .xe-clip-list{display:flex;overflow-x:auto;gap:12px;margin-top:24px;padding:0 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c4cbc8 transparent}.xe-clip{flex:0 0 145px;scroll-snap-align:start}.xe-clip-title{font-size:13px}.xe-thumb-status{width:21px;height:21px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.xe-showcase *{transition:none!important}}


/* Verified gdd excerpts. */
/* Preserve the space needed by a game's three literal excerpts as frame focus changes. */
.se-requirement{position:relative;box-sizing:border-box}
.se-requirement p{overflow-wrap:break-word;text-wrap:pretty}
.se-requirement .er-label{white-space:normal;line-height:1.45}
body.glance-page main .ce-rule-head>span::after{content:' · Summary';font-weight:400;letter-spacing:0;color:#627080}
.al-targeted-episode .al-episode-heading{align-items:flex-start}
.al-targeted-episode .al-episode-heading strong{max-width:210px;text-wrap:balance}
@media(max-width:760px){
 [data-responsive-methods] .al-targeted-episode .al-episode-heading{display:block}
 [data-responsive-methods] .al-targeted-episode .al-episode-heading strong{display:block;max-width:none}
 [data-responsive-methods] .al-targeted-episode .al-episode-heading>span{display:block;margin-top:3px}
}




/* Gap focus. */
/* A quiet, fixed-position magnification of the recorded evidence. */
[data-ec-staged] .ec-roi-outline{display:block;width:100%;height:100%;overflow:visible}
[data-ec-staged] .ec-roi-rect{fill:none;stroke:#ff8075;stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 1px #1118)}
[data-ec-staged] .ec-roi-context{stroke-width:1;stroke:#ffaaa2}
[data-ec-staged] .ec-zoom-link{z-index:1;opacity:0;transition:none}
[data-ec-staged] .ec-zoom-link path{stroke:#f5877d;stroke-width:1.15;stroke-dasharray:none;stroke-dashoffset:0;vector-effect:non-scaling-stroke;stroke-linecap:round}
[data-ec-staged] .ec-auto-inset{transform:none;transform-origin:center center;will-change:opacity,transform}
[data-ec-staged] .ec-document.is-focused .ec-doc-focus{animation:none}
[data-ec-staged][data-ec-phase="settled"] .ec-roi-rect{opacity:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){[data-ec-staged] .ec-auto-inset{transform:none!important}}




/* Stable touch viewport. */
/* Stable through browser-toolbar movement, responsive to actual window resize. */
.hero-viewport-sizer{position:absolute;top:0;left:0;width:0;height:100vh;height:100svh;visibility:hidden;pointer-events:none;contain:strict}
/* Preserve vertical scrolling and accessibility zoom while recognizing swipes. */
.gdd-pair-stage{touch-action:pan-y pinch-zoom}




/* Adaptive gameplay. */
[data-adaptive-gameplay][data-agp-comparison]{display:block}
[data-adaptive-gameplay][data-agp-comparison] .story-copy{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.3fr);gap:54px;align-items:end;max-width:none;margin:0 0 30px}
[data-agp-comparison] .agp-intro h3{margin-bottom:0}
[data-agp-comparison] .agp-context>p{max-width:600px;margin:0;color:var(--muted,#626975);font:400 17px/1.55 Arial,Helvetica,sans-serif}
[data-adaptive-gameplay][data-agp-comparison] .story-visual{width:100%;max-width:none;min-width:0;padding:0}
.agp-gdd{display:flex;align-items:baseline;gap:15px;margin-top:19px;padding-top:16px;border-top:1px solid #dfe4e1;font-family:Arial,Helvetica,sans-serif}.agp-gdd>span{flex:none;color:#68746f;font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.045em}.agp-gdd blockquote{margin:0;color:#29372f;font:400 18px/1.45 Arial,Helvetica,sans-serif;letter-spacing:-.01em}
.agp-player{font-family:Arial,Helvetica,sans-serif;min-width:0}.agp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 12px}.agp-toolbar>strong{color:#34483d;font:600 16px/1.35 Arial,Helvetica,sans-serif}.agp-controls{display:flex;align-items:center;gap:6px}.agp-controls[hidden],.agp-timeline[hidden]{display:none}.agp-controls button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:78px;min-height:36px;padding:7px 11px;border:1px solid #dbe3df;border-radius:5px;background:#fff;color:#486152;font:500 13px/1.3 Arial,Helvetica,sans-serif;cursor:pointer}.agp-controls button:hover{background:#f2f6f3;border-color:#b5c7bd}.agp-controls button:focus-visible,.agp-timeline input:focus-visible{outline:2px solid var(--red,#e3483b);outline-offset:3px}.agp-controls button>span:first-child{width:12px;text-align:center;font-size:14px}
.agp-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.agp-case{min-width:0;overflow:hidden;border:1px solid #dce4df;border-radius:8px;background:#fff}.agp-case-heading{display:block;min-height:112px;padding:13px 14px 10px;background:#f7f9f7}.agp-case-heading h4{margin:0;color:#334e3e;font:600 16px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.015em}
.agp-trajectory{position:relative;min-width:0;margin-top:3px;padding-top:19px;color:#397d9a}.agp-path-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;min-height:37px}.agp-path-track>svg{position:absolute;top:1px;left:12.5%;width:75%;height:12px;overflow:visible}.agp-path-pending{fill:none;stroke:#c9d6cf;stroke-width:1.5;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.agp-path-progress{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.agp-path-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;color:#7e8d83;font:500 12px/1.15 Arial,Helvetica,sans-serif;white-space:nowrap}.agp-path-node>i{display:block;position:relative;width:14px;height:14px;border:1.5px solid #bccdc2;border-radius:50%;background:#f7f9f7;transition:background-color .25s,border-color .25s,box-shadow .25s}.agp-path-node[data-reached="true"]{color:#38677b}.agp-path-node[data-reached="true"]>i{border-color:#4588a2;background:#4588a2;box-shadow:0 0 0 4px #e5eef0}.agp-path-node[data-current="true"]>i:after{content:"";position:absolute;inset:-6px;border:1px solid currentColor;border-radius:50%;opacity:.28}.agp-trajectory[data-agp-trajectory="normal"] .agp-path-progress{display:none}.agp-path-frontier{display:none;position:absolute;left:25%;top:1px;width:2px;height:12px;border-radius:1px;background:#b19666}.agp-trajectory[data-stopped="true"] .agp-path-frontier{display:block}.agp-trajectory[data-stopped="true"] [data-agp-node="0"]>i{background:#b19666;border-color:#b19666;box-shadow:0 0 0 4px #f0eadf}.agp-trajectory[data-stopped="true"] [data-agp-node="0"]{color:#8b7245}.agp-initialize{position:absolute;top:0;left:37.5%;transform:translateX(-50%);color:#417d95;font:500 10px/1 Arial,Helvetica,sans-serif;white-space:nowrap}.agp-initialize>i{display:block;position:absolute;top:12px;left:50%;height:8px;border-left:1px solid #74a1b2}.agp-initialize>i:after{content:"";position:absolute;bottom:-1px;left:-3px;width:4px;height:4px;border-right:1px solid #74a1b2;border-bottom:1px solid #74a1b2;transform:rotate(45deg)}.agp-trajectory[data-complete="true"]{color:#418666}.agp-trajectory[data-complete="true"] .agp-path-node[data-reached="true"]{color:#397c58}.agp-trajectory[data-complete="true"] .agp-path-node[data-reached="true"]>i{background:#4a916b;border-color:#4a916b;box-shadow:0 0 0 4px #e5f0e9}.agp-trajectory[data-complete="true"] [data-agp-node="3"]>i:before{content:"";position:absolute;left:3px;top:2px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}

.agp-screen{aspect-ratio:16/9;background:#050b0e}.agp-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#050b0e}.agp-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:11px 14px}.agp-caption>p{margin:0;min-width:0;color:#617268;font:400 14px/1.4 Arial,Helvetica,sans-serif}.agp-result{display:inline-flex;align-items:center;gap:5px;flex:none;color:#657a70}.agp-result i{font:400 16px/1 Arial,Helvetica,sans-serif}.agp-result strong{font:600 13px/1.35 Arial,Helvetica,sans-serif}.agp-result[data-agp-result="satisfied"]{color:#287a54}.agp-result[data-agp-result="testing"]{color:#607e8b}
.agp-timeline{display:flex;align-items:center;gap:14px;margin-top:10px}.agp-timeline input{display:block;flex:1;min-width:0;height:24px;margin:0;accent-color:#587b66;cursor:pointer}.agp-timeline>span{flex:none;color:#748077;font:400 11px/1.3 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums}
@media(max-width:1000px){[data-adaptive-gameplay][data-agp-comparison] .story-copy{grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:30px;margin-bottom:26px}.agp-gdd{display:block;margin-top:15px;padding-top:13px}.agp-gdd>span{display:block;margin-bottom:6px}.agp-gdd blockquote{font-size:17px}.agp-case-heading{gap:10px;padding-left:12px;padding-right:10px}.agp-case-heading h4{font-size:15px}.agp-comparison{gap:14px}.agp-caption{padding:10px 12px;gap:8px}.agp-caption>p{font-size:13px}}
@media(max-width:760px){[data-responsive-methods] [data-adaptive-gameplay][data-agp-comparison] .story-copy{display:block;max-width:540px;margin:0 auto 15px}[data-responsive-methods] [data-adaptive-gameplay][data-agp-comparison] .story-visual{max-width:540px;margin:0 auto}[data-agp-comparison] .agp-intro>.diagram-eyebrow{display:none}[data-agp-comparison] .agp-intro h3 br{display:none}[data-agp-comparison] .agp-intro h3{max-width:17em}.agp-context>p{display:none}[data-agp-comparison] .method-mobile-copy{display:none!important}.agp-gdd{margin-top:11px;padding-top:10px}.agp-gdd>span{font-size:9px;margin-bottom:4px}.agp-gdd blockquote{font-size:16px;line-height:1.35}.agp-toolbar{gap:8px;margin-bottom:9px}.agp-toolbar>strong{font-size:14px}.agp-controls{gap:4px}.agp-controls button{min-width:65px;min-height:34px;padding:6px 8px;font-size:12px;gap:5px}.agp-comparison{grid-template-columns:minmax(0,1fr);gap:13px}.agp-case-heading{min-height:102px;padding:11px 11px 9px}.agp-case-heading h4{font-size:14px}.agp-path-node{font-size:11px;gap:7px}.agp-initialize{font-size:10px}.agp-caption{min-height:40px;padding:9px 11px}.agp-caption>p{font-size:12px}.agp-result{gap:4px}.agp-result strong{font-size:12px}.agp-result i{font-size:14px}.agp-timeline{margin-top:7px;gap:10px}.agp-timeline>span{font-size:10px}}
@media(max-width:360px){.agp-toolbar>strong{font-size:13px;white-space:nowrap}.agp-controls button{min-width:59px;padding:6px;font-size:11px}}
@media(prefers-reduced-motion:reduce){[data-adaptive-gameplay] *{animation:none!important;transition:none!important}}


/* Motivation. */
body.glance-page main #why .motivation-heading{align-items:flex-end;gap:48px}
body.glance-page main #why .motivation-heading>p{max-width:440px;font-family:var(--reading-font,Arial,Helvetica,sans-serif);font-size:18px;line-height:1.6;letter-spacing:0}
body.glance-page main #why .motivation-rationale{display:grid;grid-template-columns:minmax(260px,.94fr) minmax(0,1.8fr);gap:42px;align-items:start;margin-top:46px;padding-top:30px;border-top:1px solid var(--line,#dfe3e8)}
body.glance-page main #why .motivation-rationale .eyebrow{display:block;margin-bottom:15px;font-size:11px;color:var(--glance-accent-ink,#d7352f)}
body.glance-page main #why .motivation-rationale h3{margin:0;font-family:var(--reading-font,Arial,Helvetica,sans-serif);font-size:29px;font-weight:600;line-height:1.2;letter-spacing:-.02em;text-transform:none}
body.glance-page main #why .motivation-rationale>p{max-width:680px;margin:0;padding-top:2px;color:var(--muted,#626975);font-family:var(--reading-font,Arial,Helvetica,sans-serif);font-size:18px;line-height:1.65;letter-spacing:0}
@media(max-width:1100px) and (min-width:761px){body.glance-page main #why .motivation-heading{gap:32px;align-items:center}body.glance-page main #why .motivation-heading>p{max-width:360px;font-size:17px}}
@media(max-width:760px){
 body.glance-page main #why .motivation-heading>p{max-width:540px;font-size:16px;line-height:1.6;margin-top:20px}
 body.glance-page main #why .motivation-rationale{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:32px;padding-top:25px}
 body.glance-page main #why .motivation-rationale .eyebrow{margin-bottom:11px}
 body.glance-page main #why .motivation-rationale h3{font-size:25px}
 body.glance-page main #why .motivation-rationale h3 br{display:none}
 body.glance-page main #why .motivation-rationale>p{padding-top:0;font-size:16px;line-height:1.6}
}


/* Closing edges. */
/* Blend the closing film into the page without obscuring its centre. */
.home-page .motion-section,
.home-page .motion-cinema,
.home-page .motion-backdrop,
.home-page .motion-backdrop video { background-color:#050505; border:0; }
.home-page .motion-cinema::before {
  background:
    linear-gradient(90deg,#050505 0%,rgba(5,5,5,.76) 3%,rgba(5,5,5,.26) 9%,transparent 18%,transparent 82%,rgba(5,5,5,.26) 91%,rgba(5,5,5,.76) 97%,#050505 100%),
    linear-gradient(0deg,#050505 0%,rgba(5,5,5,.72) 3%,transparent 13%,transparent 92%,#050505 100%);
}
.home-page .home-takeaway { border-top:0; border-bottom:0; }
@media(max-width:760px) {
  .home-page .motion-cinema::before {
    background:
      linear-gradient(90deg,#050505 0%,rgba(5,5,5,.55) 5%,transparent 22%,transparent 78%,rgba(5,5,5,.55) 95%,#050505 100%),
      linear-gradient(0deg,#050505 0%,rgba(5,5,5,.55) 12%,transparent 50%,transparent 92%,#050505 100%);
  }
}


/* Root details. */
.glance-feature-film {margin:0 auto;padding-top:clamp(32px,4.5vw,64px);padding-bottom:0;}
.glance-feature-screen {aspect-ratio:16/9;background:#0e0e0e;overflow:hidden;}
.glance-feature-screen video {display:block;width:100%;height:100%;object-fit:contain;background:#0e0e0e;}
.glance-feature-film + #why {padding-top:clamp(52px,6vw,88px);}
.abstract[data-overview-ready] {box-sizing:border-box;overflow:hidden;}
.abstract summary {min-height:30px;align-items:center;gap:24px;}
.abstract summary span {transition:transform .32s cubic-bezier(.22,.61,.36,1);}
.abstract[data-overview-ready][data-overview-expanded="false"] summary span {transform:rotate(0);}
.abstract[data-overview-ready][data-overview-expanded="true"] summary span {transform:rotate(45deg);}
.acknowledgments-copy a {color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left calc(100% - 1px);background-size:0 1px;transition:color .22s ease,background-size .28s ease;}
.acknowledgments-copy a:hover,.acknowledgments-copy a:focus-visible {color:var(--glance-accent-ink,#c63b35);background-size:100% 1px;}
.acknowledgments-copy a:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
@media(max-width:600px){.glance-feature-film{padding-top:28px;}.glance-feature-film + #why{padding-top:48px;}}
@media(prefers-reduced-motion:reduce){.abstract summary span,.acknowledgments-copy a{transition:none;}}




/* Home film. */
.hero-media::after{background:radial-gradient(ellipse at 42% 52%,rgba(0,0,0,.70),rgba(0,0,0,.52) 30%,transparent 72%),linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.60) 64%,rgba(0,0,0,.48)),linear-gradient(0deg,#0e0e0e,transparent 32%,rgba(0,0,0,.10))}



.hero-intro h1{text-shadow:0 2px 30px rgba(0,0,0,.12)}
.hero-scroll-cue{position:absolute;z-index:1;left:50%;bottom:26px;display:grid;place-items:center;width:48px;height:76px;padding:8px;border:0;background:transparent;color:#fff;transform:translateX(-50%);opacity:var(--intro-opacity);cursor:pointer;transition:color .25s ease}
.hero-scroll-cue svg{display:block;width:30px;height:62px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero-scroll-cue .cue-arrow{animation:hero-cue-rise 2.4s cubic-bezier(.33,0,.25,1) infinite;transform-box:fill-box;transform-origin:center}
.hero-scroll-cue .cue-wheel{animation:hero-wheel-rise 2.4s cubic-bezier(.33,0,.25,1) infinite;transform-box:fill-box;transform-origin:center}
.hero-scroll-cue:hover{color:var(--red)}
.hero-scroll-cue:focus-visible{outline:2px solid var(--red);outline-offset:5px;border-radius:22px}
.hero-scroll:not(.is-scroll-ready) .hero-scroll-cue{display:none}
@keyframes hero-cue-rise{0%,12%{opacity:.38;transform:translateY(4px)}48%,64%{opacity:1;transform:translateY(-3px)}90%,100%{opacity:.38;transform:translateY(4px)}}
@keyframes hero-wheel-rise{0%,12%{opacity:.35;transform:translateY(3px)}48%,64%{opacity:1;transform:translateY(-2px)}90%,100%{opacity:.35;transform:translateY(3px)}}
@media(max-width:760px){.hero-scroll-cue{bottom:16px;height:64px}.hero-scroll-cue svg{height:54px}}
@media(prefers-reduced-motion:reduce){.hero-scroll-cue .cue-arrow,.hero-scroll-cue .cue-wheel{animation:none}}


/* Release branding. */
.hero-wordmark .hero-logo-line:first-child{color:#fff}
.masthead .bench-brand{color:#fff}
.masthead .bench-brand:hover,.masthead .bench-brand:focus-visible{color:var(--red)}
.masthead .bench-brand>span:first-child{color:#fff}


/* Figure controls. */
/* One transport style for the research figures. Labels describe the next action. */
body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay]) {
  --figure-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M5 4h3v12H5zm7 0h3v12h-3z'/%3E%3C/svg%3E");
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  gap:7px;
  width:90px;
  min-width:90px;
  height:44px;
  min-height:44px;
  padding:0 11px;
  border:1px solid #cbd0d5;
  border-radius:5px;
  background:#fff;
  color:#414852;
  font:500 13px/1 var(--reading-font,Arial,Helvetica,sans-serif);
  letter-spacing:0;
  white-space:nowrap;
  cursor:pointer;
  touch-action:manipulation;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay])::before {
  content:"";
  flex:0 0 16px;
  width:16px;
  height:16px;
  background:currentColor;
  -webkit-mask:var(--figure-control-icon) center/contain no-repeat;
  mask:var(--figure-control-icon) center/contain no-repeat;
}
body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay])[aria-label^="Play"] {
  --figure-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M6 3.5 16 10 6 16.5z'/%3E%3C/svg%3E");
}
body.glance-page main[data-view="glance"] :is([data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay])[aria-label^="Replay"] {
  --figure-control-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4.3 7A6.2 6.2 0 1 1 4 12M4 3.5V7h3.5'/%3E%3C/svg%3E");
}
body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-se-autoplay],[data-agp-toggle],[data-agp-replay]) > [aria-hidden="true"] {
  display:none;
}
body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay]):hover {
  color:#292e35;
  background:#f5f6f7;
  border-color:#919aa4;
}
body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay]):focus-visible {
  outline:2px solid var(--red,#f9423a);
  outline-offset:3px;
}
body.glance-page main[data-view="glance"] .agp-controls { gap:6px; }
@media(max-width:760px) {
  body.glance-page main[data-view="glance"] .pm-controls :is([data-pm-prev],[data-pm-next]) {
    width:44px;height:44px;border-radius:5px;
  }
}
@media(max-width:380px) {
  body.glance-page main[data-view="glance"] .pm-toolbar { gap:10px; }
  body.glance-page main[data-view="glance"] .pm-position { white-space:nowrap; }
  body.glance-page main[data-view="glance"] .agp-toolbar { flex-wrap:wrap; }
  body.glance-page main[data-view="glance"] .agp-toolbar>strong { flex:1 0 100%; }
  body.glance-page main[data-view="glance"] .agp-controls { margin-left:auto; }
  body.glance-page main[data-view="glance"] .dw-legend { flex-wrap:wrap; }
  body.glance-page main[data-view="glance"] .dw-legend-range { margin-left:auto; }
  body.glance-page main[data-view="glance"] [data-weight-motion] { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) {
  body.glance-page main[data-view="glance"] [data-weight-motion] { display:none; }
  body.glance-page main[data-view="glance"] :is([data-pipeline-toggle],[data-pm-toggle],[data-weight-motion],[data-se-autoplay],[data-agp-toggle],[data-agp-replay]) { transition:none; }
}


/* Paper external link. */
[data-paper-link][aria-disabled="true"]{opacity:.48;cursor:default;pointer-events:none}

/* Let content containers shrink without changing their row structure. */
@media(max-width:760px) {
  :where(.facts,.paper-grid,.revision-grid,.section-heading)>* { min-width:0; }
  .table-scroll,.extension-table-wrap { max-width:100%; min-width:0; }
  .hero-wordmark { font-size:min(clamp(28px,11.5vw,84px),var(--logo-width-cap,9999px)); }
  .is-scroll-ready .hero-wordmark { font-size:min(clamp(28px,11.5vw,84px),var(--logo-cap),var(--logo-width-cap,9999px)); }
}

/* A single header row with a native disclosure menu on small screens. */
.mast-menu { display:none; }
@media(max-width:760px) {
  .mast-inner { height:68px; flex-wrap:nowrap; gap:14px; }
  .mast-inner>nav { display:none; }
  .mast-inner .mast-brands { flex-shrink:0; }
  .mast-menu { display:block; position:relative; margin-left:auto; flex-shrink:0; }
  .mast-menu summary { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 0 8px 8px; color:#f4f3ef; cursor:pointer; list-style:none; font:600 14px/1.2 Urbanist,Arial,sans-serif; white-space:nowrap; }
  .mast-menu summary::-webkit-details-marker { display:none; }
  .mast-menu summary svg { fill:none; stroke:currentColor; stroke-width:1.5; flex-shrink:0; }
  .mast-menu[open] summary { color:var(--red); }
  .mast-inner .mast-menu nav { position:absolute; top:calc(100% + 12px); right:0; z-index:30; display:flex; flex-direction:column; align-items:stretch; gap:0; width:min(260px,calc(100vw - 44px)); height:auto; margin:0; padding:8px 16px; background:#0e0e0e; border:1px solid #333; box-shadow:0 12px 28px #0005; }
  .mast-inner .mast-menu nav>a { display:flex; height:auto; min-height:44px; margin:0; padding:10px 0; border:0; font-size:14px; line-height:1.4; white-space:normal; }
  .mast-inner .mast-menu nav>a[aria-current=page]::after { display:none; }
  .mast-inner .mast-menu nav>a[aria-current=page] { color:var(--red); }
}
