:root{color-scheme:dark;--pl-bg:#07131b;--pl-panel:#0d1e27;--pl-panel-hi:#112630;--pl-line:#263f4b;--pl-muted:#8da4b1;--pl-ink:#edf6f6;--pl-mint:#82edc6;--pl-blue:#8ec9ff;--pl-violet:#bca1ff;--pl-amber:#f1c47d;--pl-red:#ed9c98}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:20px}
body[data-page=demo]{margin:0;min-height:100vh;color:var(--pl-ink);font:15px/1.55 var(--site-font,Inter,ui-sans-serif,system-ui,sans-serif);background:radial-gradient(800px 530px at 3% 0%,#336a721e,transparent 68%),radial-gradient(820px 560px at 100% 13%,#5448831b,transparent 67%),var(--pl-bg)}
[hidden]{display:none!important}
.pattern-header{display:flex;align-items:center;justify-content:space-between;width:min(1420px,100%);height:62px;margin:0 auto;padding:0 34px;border-bottom:1px solid #bfd5e00d}
.pattern-brand{display:inline-flex;align-items:center;gap:9px;color:#e5f1f4;font-size:14px;font-weight:700;letter-spacing:.02em;text-decoration:none}.pattern-brand>span{color:var(--pl-mint);font-size:19px}
.pattern-header nav{display:flex;gap:23px}.pattern-header nav a{color:#99aeba;font-size:12px;text-decoration:none}.pattern-header nav a:hover{color:var(--pl-mint)}
.pattern-shell{width:min(1320px,100%);margin:0 auto;padding:0 30px 48px}.pattern-shell :focus-visible{outline:2px solid var(--pl-mint);outline-offset:4px}
.pattern-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;min-height:342px;padding:46px 48px 38px;overflow:hidden}
.pattern-hero::before{position:absolute;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse 470px 240px at 68% 51%,#2a665022,transparent 74%)}
.hero-copy{position:relative;z-index:1;max-width:760px}.pattern-eyebrow,.eyebrow-small{margin:0;color:#8ca5b2;font-size:9px;font-weight:750;letter-spacing:.16em}.pattern-eyebrow{display:flex;align-items:center;gap:10px}.pattern-eyebrow>i{width:7px;height:7px;border-radius:50%;background:var(--pl-mint);box-shadow:0 0 14px #82edc688}.pattern-eyebrow>span{margin-left:3px;padding:5px 8px;border:1px solid #d5b77655;border-radius:99px;color:#e5c984;font-size:8px;letter-spacing:.1em}
.hero-copy h1{margin:22px 0 15px;font-size:clamp(42px,5.3vw,70px);font-weight:660;line-height:.99;letter-spacing:-.06em;text-wrap:balance}.hero-copy h1 em{color:var(--pl-mint);font-style:normal}.hero-lede{max-width:620px;margin:0;color:#b6c8d1;font-size:16px;line-height:1.65}.hero-note{display:flex;align-items:center;gap:8px;margin:17px 0 0;color:#8299a6;font-size:11px}.hero-note span{color:var(--pl-amber)}
.hero-orbit{position:relative;width:260px;height:250px;margin:0 auto;isolation:isolate}.orbit-ring{position:absolute;left:50%;top:50%;border:1px solid #89b4bc20;border-radius:50%;transform:translate(-50%,-50%) rotate(-25deg)}.orbit-ring-a{width:232px;height:126px}.orbit-ring-b{width:194px;height:178px;transform:translate(-50%,-50%) rotate(47deg);border-color:#9c8be333}.orbit-core{position:absolute;left:50%;top:50%;display:grid;place-content:center;width:94px;height:94px;border:1px solid #82edc657;border-radius:50%;background:radial-gradient(circle at 50% 43%,#1d4b43,#102a30 70%);box-shadow:0 0 50px #72e9bd20;transform:translate(-50%,-50%);text-align:center}.orbit-core span{font-size:35px;font-weight:650;line-height:1;letter-spacing:-.06em}.orbit-core small{margin-top:5px;color:#9bcdbb;font-size:8px;font-weight:750;letter-spacing:.17em}.orbit-point{position:absolute;z-index:1;width:9px;height:9px;border:2px solid #08201d;border-radius:50%;background:var(--pl-mint);box-shadow:0 0 0 4px #82edc61c,0 0 15px #82edc688}.orbit-point-a{left:41px;top:64px}.orbit-point-b{right:29px;top:103px;background:var(--pl-violet);box-shadow:0 0 0 4px #bca1ff1c,0 0 15px #bca1ff88}.orbit-point-c{left:97px;bottom:27px;background:var(--pl-blue);box-shadow:0 0 0 4px #8ec9ff1c,0 0 15px #8ec9ff88}.orbit-label{position:absolute;color:#79909d;font-size:8px;font-weight:750;letter-spacing:.16em}.orbit-label-a{left:1px;top:54px}.orbit-label-b{right:-5px;top:93px}.orbit-label-c{left:106px;bottom:7px}
.pattern-console{position:relative;padding:25px 27px 18px;border:1px solid #29434e;border-radius:19px;background:linear-gradient(143deg,#10232cfa,#0b1922fa 60%);box-shadow:0 28px 85px #02080c55;overflow:hidden}.console-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4px 20px}.console-head h2{margin:6px 0 0;font-size:22px;font-weight:630;letter-spacing:-.035em}.sim-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #355047;border-radius:999px;color:#addcc8;font-size:8px;font-weight:750;letter-spacing:.12em}.sim-badge i{width:6px;height:6px;border-radius:50%;background:var(--pl-mint);box-shadow:0 0 9px #82edc6aa}
.scenario-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 0 20px;border-bottom:1px solid #263b46}.scenario-tabs button{display:flex;align-items:center;gap:10px;min-height:43px;padding:0 12px;border:1px solid #2a424c;border-radius:9px;background:#0b1a22;color:#9bb0bb;font:650 11px/1.2 var(--site-font,ui-sans-serif,system-ui,sans-serif);text-align:left;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.scenario-tabs button>span{color:#718894;font-size:9px;font-variant-numeric:tabular-nums}.scenario-tabs button:hover{border-color:#54716f;color:#e0ecef}.scenario-tabs button[aria-pressed=true]{border-color:#75dcb8;background:linear-gradient(115deg,#183a38,#132b34);color:#dbfff0;box-shadow:inset 0 0 24px #82edc60d}.scenario-tabs button[aria-pressed=true]>span{color:var(--pl-mint)}
.pattern-grid{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(340px,.77fr);gap:16px;padding-top:17px}.timeline-panel,.evidence-panel{min-width:0;border:1px solid #253e49;border-radius:13px;background:#0a1921a8}.timeline-panel{padding:20px 19px 16px}.panel-heading{display:flex;align-items:end;justify-content:space-between;gap:15px}.panel-heading h3{margin:4px 0 0;font-size:17px;font-weight:650;letter-spacing:-.025em}.panel-side-note{padding-bottom:2px;color:#718b98;font-size:9px}
.month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:17px}.month-card{display:grid;justify-items:start;min-width:0;padding:10px 9px 9px;border:1px solid #29414c;border-radius:9px;background:linear-gradient(145deg,#10222a,#0c1b22);color:inherit;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.month-card:hover{transform:translateY(-2px);border-color:#537071}.month-card[aria-pressed=true]{border-color:#6bdcb4;background:linear-gradient(160deg,#143632,#11252e);box-shadow:0 0 22px #72e9bd11}.month-name{color:#8aa1ad;font-size:8px;font-weight:750;letter-spacing:.11em}.month-card[aria-pressed=true] .month-name{color:#b4e9d2}.month-count{margin-top:8px;font-size:19px;font-weight:630;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.month-count small{color:#8298a4;font-size:8px;font-weight:500;letter-spacing:0}.month-marks{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:100%;margin-top:12px}.month-marks i{height:4px;border-radius:5px;background:#293e48;transition:background .25s,box-shadow .25s}.month-marks i.is-hit{background:#64a98e}.month-card[aria-pressed=true] .month-marks i.is-hit{background:var(--pl-mint);box-shadow:0 0 8px #82edc663}.month-state{margin-top:8px;color:#7e96a1;font-size:7px;font-weight:750;letter-spacing:.08em;white-space:nowrap}.month-card[data-hit-count="0"] .month-state{color:#8399a4}.month-card[data-hit-count="0"] .month-marks i.is-hit{background:#d8a263}.month-card.is-active{animation:month-scan .62s ease}
@keyframes month-scan{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 24px #82edc644;transform:translateY(-3px)}}
.window-detail{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:83px;margin-top:14px;padding:12px 14px;border:1px solid #263e49;border-radius:10px;background:linear-gradient(100deg,#11252d,#0d1d25)}.detail-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #39574f;border-radius:10px;background:#17332e;color:var(--pl-mint);font-size:17px}.detail-copy{min-width:0}.detail-copy .eyebrow-small{font-size:7px}.detail-copy h4{margin:3px 0 1px;font-size:12px;font-weight:650}.detail-copy>p:last-child{max-width:47ch;margin:0;color:#93a8b3;font-size:9px;line-height:1.45}.detail-count{display:grid;justify-items:end;gap:3px;white-space:nowrap}.detail-count strong{color:#c6f5df;font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.detail-count span{color:#7f95a1;font-size:8px}
.sequence-block{margin-top:15px;padding:14px 15px 13px;border:1px solid #273f49;border-radius:10px;background:#0e1d25}.sequence-heading{display:flex;justify-content:space-between;gap:10px}.sequence-heading .eyebrow-small{font-size:8px}.sequence-label{color:#9bd9be;font-size:8px;font-weight:750;letter-spacing:.1em}.sequence-track{display:flex;align-items:center;gap:10px;margin-top:12px}.sequence-step{display:flex;align-items:center;gap:8px;min-width:0;color:#c3d1d8;font-size:10px}.sequence-icon{position:relative;display:grid;place-items:center;flex:none;width:31px;height:31px;border:1px solid #38514f;border-radius:9px;background:#142a2d}.sequence-icon i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--pl-mint);box-shadow:0 0 8px #82edc677}.sequence-icon b{position:absolute;width:15px;height:1px;background:#5c9c84;transform:rotate(-30deg)}.icon-approach i{left:6px;bottom:7px}.icon-approach b{left:9px;top:15px}.icon-pause i{left:13px;top:13px}.icon-pause b{width:9px;left:10px;top:15px;transform:none}.icon-depart i{right:6px;top:7px}.icon-depart b{right:9px;bottom:11px;transform:rotate(-30deg)}.sequence-link{flex:1;min-width:10px;height:1px;background:linear-gradient(90deg,#4f927d,#304a52)}
.evidence-panel{display:flex;flex-direction:column;padding:18px 17px 12px}.evidence-topline{display:flex;align-items:center;justify-content:space-between}.evidence-topline .eyebrow-small{font-size:8px}.gate-count{padding:4px 7px;border:1px solid #38534c;border-radius:999px;color:#a6dfc4;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.decision-card{position:relative;margin-top:13px;padding:14px 15px 15px 49px;border:1px solid #456151;border-radius:10px;background:radial-gradient(190px 130px at 0% 0%,#5a956d20,transparent 90%),#10241f}.decision-card[data-verdict=lookalike]{border-color:#675b43;background:radial-gradient(190px 130px at 0% 0%,#bd95501b,transparent 90%),#211e18}.decision-card[data-verdict=isolated],.decision-card[data-verdict=gap]{border-color:#66574a;background:radial-gradient(190px 130px at 0% 0%,#c1825018,transparent 90%),#211c19}.decision-icon{position:absolute;left:15px;top:16px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #56816a;border-radius:7px;color:var(--pl-mint);font-size:16px}.decision-card[data-verdict=lookalike] .decision-icon,.decision-card[data-verdict=isolated] .decision-icon,.decision-card[data-verdict=gap] .decision-icon{border-color:#846c49;color:var(--pl-amber)}.decision-kicker{margin:0;color:#9cd9bb;font-size:8px;font-weight:750;letter-spacing:.14em}.decision-card[data-verdict=lookalike] .decision-kicker,.decision-card[data-verdict=isolated] .decision-kicker,.decision-card[data-verdict=gap] .decision-kicker{color:#e5c17e}.decision-card h3{margin:5px 0 4px;font-size:17px;font-weight:640;line-height:1.15;letter-spacing:-.025em}.decision-card>p:last-child{margin:0;color:#b3c4c4;font-size:10px;line-height:1.5}
.gate-list{display:grid;gap:0;margin:10px 0 0;padding:0;list-style:none}.gate-list li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:47px;border-bottom:1px solid #263943}.gate-list li:last-child{border-bottom:0}.gate-symbol{position:relative;width:14px;height:14px;border:1px solid #477b66;border-radius:50%;background:#12352b}.gate-symbol::after{position:absolute;left:3px;top:2px;width:6px;height:4px;border:solid var(--pl-mint);border-width:0 0 1.5px 1.5px;content:"";transform:rotate(-45deg)}.gate-list [data-state=partial] .gate-symbol{border-color:#8d7047;background:#342a1b}.gate-list [data-state=partial] .gate-symbol::after{left:4px;top:5px;width:5px;height:1px;border:0;background:var(--pl-amber);transform:none}.gate-list [data-state=fail] .gate-symbol{border-color:#765650;background:#322321}.gate-list [data-state=fail] .gate-symbol::after{left:3px;top:6px;width:7px;height:1px;border:0;background:var(--pl-red);transform:rotate(45deg)}.gate-list [data-state=fail] .gate-symbol::before{position:absolute;left:3px;top:6px;width:7px;height:1px;background:var(--pl-red);content:"";transform:rotate(-45deg)}.gate-list li>span:nth-child(2){display:grid;gap:2px}.gate-list b{font-size:9px;font-weight:650}.gate-list small{color:#8398a2;font-size:8px}.gate-list strong{color:#92d8b5;font-size:7px;letter-spacing:.1em}.gate-list [data-state=partial] strong{color:var(--pl-amber)}.gate-list [data-state=fail] strong{color:var(--pl-red)}
.review-required{display:flex;align-items:center;gap:9px;margin-top:9px;padding:9px 10px;border:1px solid #344b51;border-radius:8px;background:#102128}.review-avatar{display:grid;place-items:center;flex:none;width:25px;height:25px;border:1px solid #476773;border-radius:50%;color:#c4e0eb;font-size:10px;font-weight:700}.review-required p{display:grid;gap:1px;min-width:0;margin:0}.review-required b{font-size:9px;font-weight:650}.review-required small{color:#839aa5;font-size:8px}.review-lock{margin-left:auto;color:#9ab9c0;font-size:13px}.replay-button{display:flex;align-items:center;gap:9px;min-height:39px;margin-top:10px;padding:0 11px;border:1px solid #66c6a2;border-radius:8px;background:linear-gradient(100deg,#1a4238,#17362f);color:#d8ffeb;font:650 10px/1 var(--site-font,ui-sans-serif,system-ui,sans-serif);text-align:left;cursor:pointer;transition:filter .2s,transform .2s}.replay-button:hover{filter:brightness(1.16);transform:translateY(-1px)}.replay-button:disabled{cursor:progress;opacity:.7;transform:none}.replay-button>span:first-child{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#86e4bd;color:#0b261e;font-size:7px}.replay-button kbd{margin-left:auto;padding:4px 5px;border:1px solid #52836d;border-radius:4px;color:#8fc7aa;font:700 7px/1 var(--site-font,ui-sans-serif,system-ui,sans-serif);letter-spacing:.1em}.replay-status{min-height:12px;margin:6px 0 0;color:#738b96;font-size:8px}.console-foot{display:flex;justify-content:space-between;gap:12px;margin-top:13px;padding:12px 4px 0;border-top:1px solid #263b46;color:#728994;font-size:7px;font-weight:750;letter-spacing:.1em}.console-foot span:first-child{display:flex;align-items:center;gap:6px}.console-foot i{width:5px;height:5px;border-radius:50%;background:var(--pl-mint)}
.method-panel{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:50px;align-items:center;margin:50px 0 0;padding:25px 34px;border:1px solid #253c46;border-radius:14px;background:linear-gradient(125deg,#10222b,#0b1921)}.method-intro h2{max-width:14ch;margin:8px 0 10px;font-size:25px;font-weight:640;line-height:1.1;letter-spacing:-.04em}.method-intro>p:last-child{max-width:46ch;margin:0;color:#9aafb9;font-size:11px;line-height:1.65}.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.method-steps article{display:flex;gap:10px;padding-left:13px;border-left:1px solid #31534c}.method-steps article>span{flex:none;color:var(--pl-mint);font-size:9px;font-weight:750}.method-steps h3{margin:0 0 5px;font-size:10px;font-weight:680}.method-steps p{margin:0;color:#879da8;font-size:9px;line-height:1.55}.pattern-back{display:flex;justify-content:center;gap:25px;margin:27px 0 24px}.pattern-back a{color:#9dcab7;font-size:10px;text-decoration:none}.pattern-back a:hover{color:#d1ffe5}.pattern-back span{color:#74d9b2}.pattern-footer{display:flex;justify-content:space-between;gap:12px;padding:15px 4px 0;border-top:1px solid #a7c6d00f;color:#718791;font-size:8px;font-weight:700;letter-spacing:.12em}.pattern-footer b{color:#a9c1cb}
@media(max-width:1000px){.pattern-hero{grid-template-columns:minmax(0,1fr) 240px;padding-left:30px;padding-right:30px}.hero-orbit{transform:scale(.88)}.pattern-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.75fr)}.month-grid{gap:5px}.month-card{padding-left:7px;padding-right:7px}.month-count{font-size:17px}.method-panel{grid-template-columns:1fr;gap:25px}}
@media(max-width:760px){.pattern-header{padding:0 20px}.pattern-shell{padding:0 16px 35px}.pattern-hero{grid-template-columns:minmax(0,1fr) 150px;min-height:300px;padding:38px 12px 29px}.hero-orbit{width:190px;transform:scale(.72);transform-origin:center}.pattern-eyebrow{flex-wrap:wrap}.hero-copy h1{font-size:clamp(38px,7vw,56px)}.hero-lede{font-size:14px}.console-head{align-items:flex-start}.console-head h2{font-size:19px}.pattern-console{padding:20px 16px 14px}.scenario-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-bottom:15px}.pattern-grid{grid-template-columns:1fr}.evidence-panel{padding:16px}.month-grid{gap:7px}.timeline-panel{padding:17px 14px}.method-panel{margin-top:30px;padding:22px 20px}.method-steps{gap:12px}}
@media(max-width:520px){.pattern-header{height:55px;padding:0 14px}.pattern-header nav{gap:14px}.pattern-shell{padding-right:10px;padding-left:10px}.pattern-hero{grid-template-columns:1fr;min-height:0;padding:35px 7px 20px}.pattern-eyebrow{max-width:36ch;gap:7px;font-size:9px}.pattern-eyebrow>span{font-size:8px}.hero-copy h1{max-width:11ch;margin-top:18px;font-size:47px}.hero-lede{max-width:40ch;font-size:13px}.hero-note{font-size:10px}.hero-orbit{position:absolute;right:-43px;top:29px;width:165px;height:165px;opacity:.43;transform:scale(.72);transform-origin:top right}.orbit-label{display:none}.console-head{gap:8px}.console-head h2{max-width:22ch;font-size:17px}.sim-badge{flex:none;padding:6px 7px;font-size:8px}.scenario-tabs button{gap:7px;min-height:40px;padding:0 8px;font-size:10px}.scenario-tabs button>span{font-size:9px}.timeline-panel{padding:15px 9px 11px}.month-grid{gap:4px;margin-top:13px}.month-card{padding:8px 5px}.month-name{font-size:7px;letter-spacing:.045em}.month-count{font-size:15px}.month-count small{display:block;margin-top:3px;font-size:7px}.month-marks{gap:2px;margin-top:9px}.month-marks i{height:3px}.month-state{font-size:6px;letter-spacing:.02em}.panel-heading h3{font-size:15px}.panel-side-note{font-size:9px}.window-detail{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:10px 8px}.detail-mark{width:29px;height:29px}.detail-copy h4{font-size:11px}.detail-copy>p:last-child{font-size:9px}.detail-count strong{font-size:13px}.detail-count span{max-width:62px;font-size:8px;text-align:right;white-space:normal}.sequence-block{padding:12px 9px}.sequence-track{gap:5px}.sequence-step{gap:4px;font-size:9px}.sequence-icon{width:26px;height:26px}.sequence-link{min-width:5px}.evidence-panel{padding:14px 12px}.gate-list b{font-size:10px}.gate-list small{font-size:9px}.gate-list strong{font-size:8px}.review-required b{font-size:10px}.review-required small{font-size:9px}.replay-status{font-size:9px}.method-panel{padding:20px 14px}.method-intro h2{font-size:23px}.method-steps{grid-template-columns:1fr;gap:14px}.method-steps article{min-height:35px}.pattern-back{flex-direction:column;align-items:center;gap:10px}.pattern-footer{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
