@font-face{font-family:Inter;src:url('../fonts/Inter-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/Inter-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:is(.pl-hero,.pl-explanation){--ink:#151521;--paper:#f0f0f5;--muted:#a6a4b9;--mint:#64d8ba;--purple:#ac98ef;--line:#363441;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;color:var(--paper);font:400 16px/1.6 Inter,Arial,sans-serif}
.pl-hero *,.pl-explanation *{box-sizing:border-box}html{scroll-behavior:smooth}body:has([data-pl-hero]){background:#151521}button,a{-webkit-tap-highlight-color:transparent}:is(.pl-hero,.pl-explanation) a{color:inherit;text-decoration:none}:is(.pl-hero,.pl-explanation) button{font:inherit;color:inherit}button,a{outline-offset:6px}:is(.pl-hero,.pl-explanation) :is(button,a):focus-visible{outline:2px solid var(--mint)}:is(.pl-hero,.pl-explanation) [hidden]{display:none!important}
.pl-brand{display:inline-flex;align-items:center;gap:12px;font-size:27px;letter-spacing:-1px}.pl-brand img{display:block}.pl-language{background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:6px;font:12px var(--mono);cursor:pointer}.pl-language span{margin:0 5px;color:var(--mint)}
.pl-hero{min-height:calc(100svh - 96px);display:flex;flex-direction:column;padding:22px 0 26px}.pl-edition{font:10px var(--mono);color:var(--muted);letter-spacing:.1em;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);padding-bottom:18px}.pl-edition i{color:var(--mint);font-style:normal;margin:0 7px}.pl-edition-note{margin-left:auto;color:var(--purple)}.pl-intro{display:grid;grid-template-columns:1fr 325px;gap:60px;align-items:center;padding:38px 0 36px}.pl-intro h1{font-size:clamp(40px,4.5vw,68px);line-height:1.12;letter-spacing:-.05em;margin:0;font-weight:700}.pl-intro h1 em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.055em;color:var(--purple)}.pl-intro-copy p{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 20px}.pl-primary,.pl-secondary{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;padding:12px 23px;border:1px solid var(--mint);border-radius:6px;transition:box-shadow .25s,background .25s,transform .25s;font-size:14px;font-weight:700}.pl-primary{background:var(--mint);color:#10241f;box-shadow:0 0 0 0 #64d8ba00}.pl-primary:hover,.pl-primary:focus-visible{box-shadow:0 0 26px #64d8ba45;transform:translateY(-2px)}.pl-primary span:last-child,.pl-secondary span:last-child{font-size:20px;line-height:1}.pl-secondary:hover{box-shadow:0 0 22px #64d8ba25;background:#64d8ba0a}
.pl-assembly{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:18px;isolation:isolate}.pl-column-head{display:grid;grid-template-columns:27% 58% 15%;font:10px var(--mono);letter-spacing:.1em;color:var(--muted)}.pl-payload-label{padding-left:24px;color:var(--purple)}.pl-assembly-body{display:grid;grid-template-columns:27% 58% 15%;padding:17px 0 15px}.pl-variables{padding:28px 26px 28px 0}.pl-input-row{height:62px;display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;border-bottom:1px solid #36344180;transition:color .3s}.pl-input-row:last-child{border-bottom:0}.pl-variable-name{font:12px var(--mono);color:var(--muted)}.pl-source-value{font:18px var(--mono);color:var(--mint);padding:4px 10px;background:#64d8ba08;border:1px solid #64d8ba27;border-radius:4px;transition:border-color .3s,box-shadow .3s}.pl-input-row.pl-active .pl-source-value{border-color:var(--mint);box-shadow:0 0 18px #64d8ba19}.pl-input-row.pl-active .pl-variable-name{color:var(--paper)}
.pl-object{font-family:var(--mono);font-size:clamp(16px,1.6vw,25px);line-height:1.4;padding:0 24px;border-left:1px solid var(--line);position:relative}.pl-brace{display:block;color:var(--purple);font-size:25px;height:28px;line-height:28px}.pl-json-row{height:62px;display:flex;align-items:center;gap:12px;padding-left:24px;border-radius:4px;position:relative;transition:background .3s}.pl-json-row.pl-active{background:linear-gradient(90deg,#64d8ba12,transparent)}.pl-key{color:#ddd9eb;white-space:nowrap}.pl-punctuation{color:#797487}.pl-value{color:var(--mint);display:inline-block;white-space:nowrap;position:relative;min-width:20px;transition:color .3s}.pl-value.pl-placeholder{color:#7b748e}.pl-value.pl-received{animation:pl-arrive .6s ease-out}.pl-comma{color:#797487;margin-left:-10px}.pl-type-list{padding:28px 0}.pl-type-list>div{font:11px var(--mono);color:#696577;height:62px;display:flex;align-items:center;gap:20px;transition:color .3s}.pl-type-list>div.pl-active,.pl-type-list>div.pl-done{color:var(--mint)}.pl-type-list span{font-size:16px;transform:rotate(90deg);opacity:0;transition:opacity .3s}.pl-type-list>div.pl-done span{opacity:1}.pl-assembly-foot{border-top:1px solid var(--line);padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.pl-scenario{display:flex;align-items:center;gap:12px;font:11px var(--mono)}.pl-scenario>span:first-child{font-size:9px;letter-spacing:.1em}.pl-scenario-rule{width:32px;height:1px;background:var(--line)}#pl-scenario-name{color:var(--paper);width:35px}.pl-state{display:flex;align-items:center;gap:8px;min-width:108px;justify-content:end}#pl-state-dot{width:5px;height:5px;border-radius:50%;background:var(--purple)}.pl-assembly.pl-complete #pl-state-dot{background:var(--mint);box-shadow:0 0 10px #64d8ba60}#pl-traveler{position:absolute;left:0;top:0;z-index:3;color:var(--mint);font:18px var(--mono);white-space:nowrap;pointer-events:none;text-shadow:0 0 20px #64d8ba66;line-height:1.4}
.pl-hero-bottom{padding-top:30px;margin-top:auto;display:flex;gap:24px;align-items:center;justify-content:space-between}.pl-scroll{display:inline-flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.pl-scroll-circle{border:1px solid var(--line);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--paper);transition:box-shadow .2s,border-color .2s}.pl-scroll:hover .pl-scroll-circle{border-color:var(--mint);box-shadow:0 0 16px #64d8ba30}.pl-scroll-circle{animation:pl-scroll-hint 2.4s ease-in-out infinite}.pl-hero-caption{font:9px var(--mono);letter-spacing:.09em;color:#777286}.pl-pause{border:0;background:none;padding:9px 0;font-size:11px;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:8px;min-width:65px;justify-content:end}.pl-pause:hover{color:var(--paper)}.pl-pause:disabled{cursor:default}.pl-hero[data-pl-paused] .pl-scroll-circle{animation-play-state:paused}
.pl-explanation{padding:105px 0 80px}.pl-section-label{font:10px var(--mono);color:var(--purple);letter-spacing:.12em}.pl-explanation-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;margin:24px 0 60px}.pl-explanation h2{font-size:48px;line-height:1.12;letter-spacing:-.045em;margin:0}.pl-explanation-intro p{max-width:430px;color:var(--muted);font-size:16px;line-height:1.8}.pl-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.pl-principles article{border-top:1px solid var(--line);padding-top:20px}.pl-principle-number{font:12px var(--mono);color:var(--mint)}.pl-principles h3{font-size:21px;letter-spacing:-.035em;margin:20px 0 10px}.pl-principles p{font-size:14px;color:var(--muted);max-width:320px}.pl-example-link{margin-top:70px;border:1px solid var(--line);padding:34px;display:flex;align-items:center;justify-content:space-between;gap:35px;background:linear-gradient(110deg,#6554c00c,transparent)}.pl-example-link h3{font-size:28px;letter-spacing:-.035em;margin:12px 0 0}.pl-example-link p{color:var(--muted);font-size:14px;margin:8px 0 0}.pl-example-link .pl-secondary{flex:none}.pl-demo-label{color:#777286}
@keyframes pl-arrive{0%{text-shadow:0 0 18px #64d8ba99;color:#afffe8}100%{text-shadow:0 0 0 transparent;color:var(--mint)}}@keyframes pl-scroll-hint{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(min-width:1050px) and (max-height:760px){.pl-hero{min-height:calc(100svh - 78px);padding-top:10px}.pl-intro{padding:23px 0 26px}.pl-intro h1{font-size:50px}.pl-intro-copy p{font-size:12px;margin-bottom:12px}.pl-assembly-body{padding:10px 0}.pl-json-row,.pl-input-row,.pl-type-list>div{height:49px}.pl-hero-bottom{padding-top:18px}.pl-edition{padding-bottom:12px}}
@media(min-width:1700px){.pl-intro{padding:54px 0 46px}.pl-json-row,.pl-input-row,.pl-type-list>div{height:76px}.pl-assembly-body{padding:24px 0}.pl-intro h1{font-size:76px}}
@media(max-width:1100px){.pl-intro{grid-template-columns:1fr 270px;gap:30px}.pl-intro h1{font-size:46px}.pl-column-head,.pl-assembly-body{grid-template-columns:29% 58% 13%}.pl-variable-name{font-size:10px}.pl-variables{padding-right:16px}.pl-source-value{font-size:15px;padding:4px 7px}.pl-object{padding-left:18px;padding-right:4px;font-size:17px}.pl-json-row{padding-left:10px;gap:8px}.pl-type-list>div{font-size:9px;gap:5px}.pl-hero-caption{display:none}.pl-column-head{font-size:9px}}
@media(max-width:760px){.pl-brand{font-size:24px}.pl-brand img{width:32px;height:32px}.pl-language{font-size:10px;margin-left:auto}.pl-edition{gap:15px;font-size:8px;letter-spacing:.06em}.pl-edition-note{display:none}.pl-hero{min-height:calc(100svh - 82px);padding:14px 0 24px}.pl-intro{grid-template-columns:1fr;gap:20px;padding:30px 0}.pl-intro h1{font-size:clamp(34px,6.8vw,47px)}.pl-intro-copy{display:flex;align-items:center;gap:25px}.pl-intro-copy p{font-size:12px;margin:0;flex:1}.pl-primary{font-size:12px;padding:10px 16px;gap:22px;flex:none}.pl-assembly-body,.pl-column-head{grid-template-columns:32% 68%}.pl-type-list,.pl-column-head>span:last-child{display:none}.pl-column-head{font-size:8px}.pl-variables{padding-right:12px}.pl-input-row{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.pl-source-value{font-size:14px;padding:1px 6px}.pl-variable-name{font-size:9px}.pl-object{font-size:clamp(12px,2.4vw,17px);padding-left:13px}.pl-json-row{gap:5px;padding-left:6px}.pl-comma{margin-left:-3px}.pl-payload-label{padding-left:13px}.pl-json-row,.pl-input-row{height:64px}.pl-assembly-foot{font-size:10px;gap:8px}#pl-step-caption{display:none}.pl-scenario{font-size:10px;gap:8px}.pl-scenario-rule{width:18px}.pl-hero-bottom{padding-top:22px}.pl-explanation{padding:70px 0 50px}.pl-explanation-intro{grid-template-columns:1fr;gap:12px;margin-bottom:35px}.pl-explanation h2{font-size:38px}.pl-explanation-intro p{font-size:14px;margin-bottom:0}.pl-principles{grid-template-columns:1fr;gap:28px}.pl-principles h3{margin-top:10px}.pl-principles p{max-width:none}.pl-example-link{margin-top:40px;padding:24px;align-items:flex-start;flex-direction:column;gap:22px}.pl-example-link h3{font-size:25px}.pl-example-link .pl-section-label{font-size:8px}.pl-demo-label{width:100%;text-align:center}}
@media(max-width:420px){.pl-intro h1{font-size:32px}.pl-intro-copy{display:block}.pl-intro-copy p{font-size:12px;max-width:315px;margin-bottom:18px}.pl-assembly-body,.pl-column-head{grid-template-columns:30% 70%}.pl-object{font-size:11px;padding-left:8px}.pl-json-row{gap:4px;padding-left:3px}.pl-variable-name{font-size:8px}.pl-input-row,.pl-json-row{height:58px}.pl-source-value{font-size:13px}.pl-column-head{font-size:7px}.pl-payload-label{padding-left:8px}.pl-state{min-width:90px;font-size:9px}.pl-hero-bottom{padding-top:20px}.pl-scroll{font-size:10px;gap:8px}.pl-scroll-circle{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.pl-hero{padding-top:140px;min-height:100svh}.pl-explanation{background:#151521}.pl-hero h1{color:var(--paper)}.pl-type-mobile{display:none}.pl-notation{margin:18px 0 0;color:var(--muted);font-size:11px}.pl-notation code{color:var(--purple);font:inherit;font-family:var(--mono)}
@media(min-width:1050px) and (max-height:760px){.pl-hero{padding-top:104px;min-height:100svh}.pl-intro h1{font-size:46px}.pl-json-row,.pl-input-row,.pl-type-list>div{height:44px}}
@media(max-width:760px){.pl-hero{padding-top:105px;min-height:100svh}.pl-notation{font-size:10px;line-height:1.6}.pl-type-mobile{display:inline;font:8px var(--mono);color:#777286;margin-left:auto}.pl-json-row.pl-active .pl-type-mobile,.pl-json-row.pl-done .pl-type-mobile{color:var(--mint)}}

body:has([data-pl-hero]) .md-sidebar{display:none}body:has([data-pl-hero]) .md-main__inner{max-width:64rem;margin-top:0}body:has([data-pl-hero]) .md-content{max-width:100%;margin:0}body:has([data-pl-hero]) .md-content__inner{margin:0;padding:0 1.2rem 3rem}body:has([data-pl-hero]) .md-content__button{display:none}
body:has([data-pl-hero]) .md-header{background:transparent;color:#f0f0f5;box-shadow:none;position:absolute;inset:0 0 auto;font-family:Inter,Arial,sans-serif;animation:none}
body:has([data-pl-hero]) .md-tabs{display:none}
body:has([data-pl-hero]) .md-header__inner{max-width:1620px;width:90%;height:112px;padding:0;gap:14px}
body:has([data-pl-hero]) .md-header__title{font-size:29px;font-weight:700;letter-spacing:-.05em;margin-left:0;min-width:0}
body:has([data-pl-hero]) .md-header__topic{transition:none}
body:has([data-pl-hero]) .md-header__source{display:none}
body:has([data-pl-hero]) .pl-home-nav{display:flex;gap:30px;align-items:center;font-size:14px;margin-right:16px;white-space:nowrap}
.pl-home-nav a:hover{color:#64d8ba}
.pl-home-nav .new-tab-hint{display:none}
body:has([data-pl-hero]) .md-logo img{width:39px;height:39px;background:transparent;padding:0}
body:has([data-pl-hero]) .pl-search-trigger{display:inline-flex;cursor:pointer;flex:none}
body:has([data-pl-hero]) .md-search{position:static;width:0;height:0;padding:0}
@media(min-width:60em){
 body:has([data-pl-hero]) .md-search__inner{display:none}
 body:has([data-pl-hero]) [data-md-toggle="search"]:checked~.md-header .md-search__inner{display:block;position:fixed;float:none;top:16px;left:50%;right:auto;transform:translateX(-50%);width:min(688px,calc(100% - 32px));padding:0;z-index:3}
 body:has([data-pl-hero]) .md-search__form{width:100%}
}

.pl-home-nav{display:none}.pl-search-trigger{display:none}body:has([data-pl-hero]) .pl-search-trigger{display:inline-flex}body:has([data-pl-hero]) .pl-home-nav .new-tab-hint{display:none}body:has([data-pl-hero]) .md-tabs{display:none}
@media(max-width:1050px){body:has([data-pl-hero]) .pl-home-nav{gap:18px;margin-right:4px}body:has([data-pl-hero]) .md-header__title{font-size:24px}}@media(max-width:760px){body:has([data-pl-hero]) .md-header__inner{height:82px;gap:5px;width:90%}body:has([data-pl-hero]) .pl-home-nav{display:none}body:has([data-pl-hero]) .md-header__title{font-size:22px}body:has([data-pl-hero]) .md-header__button{padding:5px;margin:3px}body:has([data-pl-hero]) .md-header__button.md-logo{display:none}}

.pl-hero,.pl-explanation{width:min(1420px,90%);margin-left:auto;margin-right:auto}body:has([data-pl-hero]) .md-main{background:#151521}body:has([data-pl-hero]) .md-main__inner{max-width:none}.pl-reference-content{width:min(90%,64rem);margin:auto;padding:32px;background:var(--md-default-bg-color)}.md-typeset .pl-explanation :is(h2,h3){color:var(--paper)}.md-typeset .pl-explanation h2{font-weight:700}.pl-type-list>div.pl-active{color:var(--mint);text-shadow:0 0 14px #64d8ba80}@media(max-width:760px){.pl-type-mobile{position:absolute;right:4px;top:3px;margin:0}.pl-reference-content{padding:20px}.pl-json-row.pl-done .pl-type-mobile{color:var(--mint)}}

.pl-hero a.pl-primary{color:#10241f}
/* Compact laptop view: keep the action and scroll cue inside the first screen. */
@media(min-width:1050px) and (max-height:760px){
 .pl-hero{padding:90px 0 12px;min-height:100svh}
 .pl-edition{padding-bottom:8px;font-size:9px}
 .pl-intro{padding:12px 0}.pl-intro h1{font-size:40px}
 .pl-assembly{padding-top:12px}.pl-column-head{font-size:9px;line-height:12px}
 .pl-assembly-body{padding:8px 0}
 .pl-variables,.pl-type-list{padding-top:18px;padding-bottom:18px}
 .pl-brace{height:18px;line-height:18px;font-size:20px}
 .pl-json-row,.pl-input-row,.pl-type-list>div{height:34px}
 .pl-assembly-foot{padding:10px 0}
 .pl-notation{margin-top:12px;font-size:10px;line-height:16px}
 .pl-hero-bottom{padding-top:12px}.pl-scroll-circle{width:32px;height:32px}
 body:has([data-pl-hero]) .md-header__inner{height:82px}
}
.pl-value.pl-placeholder{color:#9890ab}.pl-type-list>div{color:#9890ab}.pl-hero-caption{color:#9691a6}.pl-punctuation,.pl-comma{color:#9e97aa}
.pl-hero[data-pl-paused] .pl-received{animation-play-state:paused}
.pl-hero .pl-pause{font:400 11px/1.6 Inter,Arial,sans-serif}
