:root{--page-bg:#f6f2e9;--surface:#fbf8f1;--surface-strong:#fffdf8;--text:#18372f;--text-muted:#576b63;--accent:#c96330;--accent-soft:#e9b08f;--accent-faint:#f5dfd0;--accent-bold:#eccdbc;--accent-yellow:#9b8b45;--accent-yellow-text:#6e5613;--line:#6e837b;--line-muted:#bdc4be;--node-bg:#faf7ef;--node-central-bg:#173b31;--node-central-text:#f8f2e8;--strip-bg:#173b31;--strip-text:#f7efe4;--shadow:0 20px 60px #21342d14;--font-display:"Bebas Neue", "Arial Narrow", sans-serif;--font-feature:"Bungee", "Arial Black", sans-serif;--font-sans:"Josefin Sans", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui:"Smooch Sans", "Arial Narrow", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color-scheme:light}:root[data-theme=dark]{--page-bg:#101713;--surface:#151e19;--surface-strong:#1a251f;--text:#f1eadf;--text-muted:#abb8b0;--accent:#e3814b;--accent-soft:#9c5636;--accent-faint:#33231a;--accent-bold:#42342d;--accent-yellow:#c7b461;--accent-yellow-text:#ffc629;--line:#789087;--line-muted:#34463f;--node-bg:#151e19;--node-central-bg:#e9e1d4;--node-central-text:#18372f;--strip-bg:#e9e1d4;--strip-text:#18372f;--shadow:0 22px 70px #00000040;color-scheme:dark}:root[data-theme=dark] .mobile-workshop-route{--route-line-color:#657b72}:root[data-theme=dark] .mobile-route-section--latest .mobile-route-section__node{border-color:var(--line);background:var(--surface-strong);color:var(--text)}*{box-sizing:border-box}html{background:var(--page-bg);scroll-behavior:smooth}body{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--surface-strong) 85%, transparent) 0, transparent 45rem), var(--page-bg);min-width:320px;color:var(--text);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button,input,textarea,select{font:inherit}svg{display:block}.page-shell{width:min(100% - 3rem,90rem);margin-inline:auto}.skip-link{z-index:100;background:var(--text);color:var(--page-bg);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.activity-strip{background:var(--strip-bg);color:var(--strip-text);font-size:.78rem}.activity-strip__inner{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:1.25rem;min-height:2.65rem;display:grid}.activity-strip__lead{color:var(--accent);font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:.45rem;display:inline-flex}.activity-strip time{opacity:.76;font-family:var(--font-mono)}.activity-strip__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-strip a{color:var(--accent);font-weight:750}.site-header{z-index:30;padding:1.1rem 0;position:relative}.site-header__inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;display:grid}.site-logo{aspect-ratio:1;border:1.5px solid var(--text);perspective:24rem;border-radius:50%;place-items:center;width:3.35rem;line-height:1;transition:border-color .16s,color .16s;display:grid}.site-logo:hover,.site-logo:focus-visible{border-color:var(--accent);color:var(--accent)}.site-logo__coin{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;place-items:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);display:grid;position:relative}.site-logo:hover .site-logo__coin,.site-logo:focus-visible .site-logo__coin{transform:rotateY(180deg)}.site-logo__face{backface-visibility:hidden;place-items:center;display:grid;position:absolute;inset:0}.site-logo__face--front img{object-fit:contain;width:72%;height:72%;display:block}.site-logo__face--back{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.site-logo__coin{transition-duration:1ms}}.site-nav{justify-content:center;align-items:center;gap:clamp(1rem,2.6vw,2.5rem);display:flex}.site-nav .site-nav__link{padding:.55rem .05rem;font-size:.96rem;position:relative}.site-nav .site-nav__link:after{content:"";background:var(--text);transform-origin:100%;height:1px;transition:transform .16s;position:absolute;bottom:.2rem;left:0;right:0;transform:scaleX(0)}.site-nav .site-nav__link:hover:after,.site-nav .site-nav__link:focus-visible:after,.site-nav .site-nav__link.is-current:after{transform-origin:0;transform:scaleX(1)}.site-header__controls{justify-self:end;align-items:center;gap:.35rem;display:flex}.mobile-nav{display:none}.theme-toggle{color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;padding:.55rem;display:inline-flex}.theme-toggle__icon--dark,:root[data-theme=dark] .theme-toggle__icon--light{display:none}:root[data-theme=dark] .theme-toggle__icon--dark{display:block}.theme-toggle__label{font-weight:650}.masthead{text-align:center;max-width:74rem;margin:3rem auto 1rem}.masthead h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(4.5rem,9vw,8.2rem);font-weight:500;line-height:.9}.masthead__categories{letter-spacing:.02em;margin:1.15rem 0 0;font-size:clamp(1.12rem,2vw,1.55rem)}.masthead__rule{background:var(--accent);width:3rem;height:2px;margin:1.2rem auto;display:block}.masthead__intro{color:var(--text-muted);margin:0;font-size:1rem}.masthead__intro--mobile,.mobile-workshop-route{display:none}.workshop{margin-top:4rem}.workshop-map{isolation:isolate;grid-template:"games.libraries"16.5rem".centre."12rem"tutorials.access"17rem".latest."14.5rem/minmax(21rem,1fr) 13rem minmax(21rem,1fr);gap:0;min-height:60rem;display:grid;position:relative}.workshop-connections{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.workshop-connections line,.workshop-connections circle{fill:var(--node-bg);stroke:var(--line);stroke-width:1.15px;vector-effect:non-scaling-stroke;transition:stroke .16s,opacity .16s,stroke-width .16s,fill .16s}.workshop-connections .connection__main{stroke-width:1.4px}.workshop-connections .connection__branch line{stroke-width:1.05px}.workshop-connections .connection__dot{fill:var(--node-bg)}.workshop-connections .connection__orbit{fill:none;stroke:var(--line-muted);stroke-dasharray:4 6;transition:stroke .16s,stroke-width .16s}.workshop-map:has(.workshop-centre__node:hover) .connection__orbit,.workshop-map:has(.workshop-centre__node:focus-visible) .connection__orbit{stroke:var(--accent);stroke-width:1.6px}.workshop-map[data-active] .connection{opacity:.3}.workshop-map[data-active] .workshop-section{opacity:.52}.workshop-map[data-active=games] .connection--games,.workshop-map[data-active=libraries] .connection--libraries,.workshop-map[data-active=tutorials] .connection--tutorials,.workshop-map[data-active=access] .connection--access,.workshop-map[data-active=latest] .connection--latest,.workshop-map[data-active=games] .workshop-section--games,.workshop-map[data-active=libraries] .workshop-section--libraries,.workshop-map[data-active=tutorials] .workshop-section--tutorials,.workshop-map[data-active=access] .workshop-section--access,.workshop-map[data-active=latest] .workshop-section--latest{opacity:1}.workshop-map[data-active=games] .connection--games line,.workshop-map[data-active=games] .connection--games circle,.workshop-map[data-active=libraries] .connection--libraries line,.workshop-map[data-active=libraries] .connection--libraries circle,.workshop-map[data-active=tutorials] .connection--tutorials line,.workshop-map[data-active=tutorials] .connection--tutorials circle,.workshop-map[data-active=access] .connection--access line,.workshop-map[data-active=access] .connection--access circle,.workshop-map[data-active=latest] .connection--latest line,.workshop-map[data-active=latest] .connection--latest circle{fill:var(--accent-faint);stroke:var(--accent);stroke-width:2px}.workshop-centre{grid-area:centre;place-items:center;display:grid}.workshop-centre__node{aspect-ratio:1;background:var(--node-central-bg);width:13rem;color:var(--node-central-text);box-shadow:var(--shadow);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:1.4rem;transition:transform .16s,box-shadow .16s;display:flex;position:relative}.workshop-centre__node:hover,.workshop-centre__node:focus-visible{transform:translateY(-2px);box-shadow:0 24px 70px #1c3c3238}.workshop-centre__title{font-family:var(--font-display);white-space:nowrap;font-size:1.55rem;line-height:1}.workshop-centre__subtitle{color:var(--accent);margin:.7rem 0 .8rem;font-size:.86rem;font-weight:700}.workshop-section{align-items:center;gap:1.1rem;min-width:0;transition:opacity .16s;display:grid}.workshop-section--games{grid-area:games;grid-template-columns:minmax(0,1fr) 10.5rem}.workshop-section--libraries{grid-area:libraries;grid-template-columns:10.5rem minmax(0,1fr)}.workshop-section--tutorials{grid-area:tutorials;grid-template-columns:minmax(0,1fr) 10.5rem}.workshop-section--access{grid-area:access;grid-template-columns:10.5rem minmax(0,1fr)}.workshop-section--latest{grid-area:latest;grid-template-rows:8.5rem 10.5rem;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;justify-self:center;gap:1rem 1.25rem;width:min(54rem,88vw)}.workshop-section--latest .workshop-section__node-wrap{grid-column:1/-1}.workshop-section--latest .workshop-section__entries{grid-column:1/-1;grid-template-rows:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.25rem;display:grid}.workshop-section--latest .workshop-entry{text-align:center;grid-template-columns:1fr;align-content:start;place-items:start center;gap:.7rem;padding:.35rem .1rem}.workshop-section--games .workshop-section__node-wrap,.workshop-section--tutorials .workshop-section__node-wrap{grid-column:2}.workshop-section--games .workshop-section__entries,.workshop-section--tutorials .workshop-section__entries{grid-area:1/1}.workshop-section__node-wrap{place-items:center;display:grid}.workshop-node{aspect-ratio:1;border:1.5px solid var(--line);background:color-mix(in srgb, var(--node-bg) 96%, transparent);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:10.5rem;padding:1.1rem;transition:border-color .16s,color .16s,transform .16s,background .16s;display:flex}.workshop-section--latest .workshop-node{width:8.5rem}.workshop-section--latest .workshop-entry__icon{grid-area:1/1}.workshop-section--latest .workshop-entry__copy{text-align:center;grid-area:2/1;align-items:center}.workshop-section--latest .workshop-entry__copy strong{font-size:.95rem;line-height:1.2}.workshop-section--latest .workshop-entry__summary{margin-top:.28rem}.workshop-node:hover,.workshop-node:focus-visible,.workshop-section:focus-within .workshop-node{border-color:var(--accent);background:var(--surface-strong);transform:translateY(-2px)}.workshop-node__title{font-family:var(--font-display);margin-top:.6rem;font-size:1.65rem;line-height:1}.workshop-section--latest .workshop-node__title{font-size:1.35rem}.workshop-node__summary{color:var(--accent);margin-top:.45rem;font-size:.78rem;line-height:1.3}.workshop-section__entries{grid-template-rows:repeat(3,4.5rem);gap:.15rem;display:grid}.workshop-entry{border-radius:.45rem;grid-template-columns:3.25rem minmax(0,1fr);align-items:center;gap:.8rem;min-height:0;padding:.25rem .35rem;transition:color .16s,transform .16s,background .16s;display:grid}.workshop-entry:hover,.workshop-entry:focus-visible{background:color-mix(in srgb, var(--surface-strong) 76%, transparent);color:var(--accent);transform:translate(2px)}.workshop-section--games .workshop-entry,.workshop-section--tutorials .workshop-entry{text-align:right;grid-template-columns:minmax(0,1fr) 3.25rem}.workshop-section--games .workshop-entry__icon,.workshop-section--tutorials .workshop-entry__icon{grid-column:2}.workshop-section--games .workshop-entry__copy,.workshop-section--tutorials .workshop-entry__copy{grid-area:1/1}.workshop-entry__icon{aspect-ratio:1;border:1.25px solid var(--line);background:var(--node-bg);border-radius:50%;place-items:center;width:3.15rem;transition:border-color .16s,background .16s,color .16s;display:grid}.workshop-entry__brand-icon{object-fit:contain;width:2.35rem;height:2.35rem;display:block}.workshop-entry:hover .workshop-entry__icon,.workshop-entry:focus-visible .workshop-entry__icon{border-color:var(--accent);background:var(--accent-faint)}.workshop-entry__copy{flex-direction:column;min-width:0;display:flex}.workshop-entry__copy strong{font-size:.88rem;line-height:1.25}.workshop-entry__summary{color:var(--text-muted);margin-top:.16rem;font-size:.75rem;line-height:1.38}.workshop-entry--more strong{color:var(--accent)}.workshop-entry--more .workshop-entry__summary{font-style:italic}.workshop-entry--more:hover .workshop-entry__icon svg,.workshop-entry--more:focus-visible .workshop-entry__icon svg{transform:translate(3px)}.workshop-entry--more .workshop-entry__icon svg{transition:transform .16s}.follow-panel{border:1px solid var(--line-muted);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow);border-radius:.5rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2rem;margin:6rem auto 0;padding:2rem 2.4rem;display:grid;position:relative;overflow:hidden}.follow-panel:after{content:"";aspect-ratio:1;border:1px dashed var(--line-muted);opacity:.55;border-radius:50%;width:16rem;position:absolute;bottom:-5rem;right:-4rem}.follow-panel__mark{aspect-ratio:1;border:1.5px solid var(--line);border-radius:50%;place-items:center;width:4.5rem;display:grid}.follow-panel h2{font-family:var(--font-display);margin:0;font-size:2rem;font-weight:500}.follow-panel__copy p:last-child{color:var(--text-muted);margin:.2rem 0 0}.follow-panel__links{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex;position:relative}.follow-panel__links a{border:1px solid var(--line-muted);background:var(--surface-strong);border-radius:.35rem;align-items:center;gap:.42rem;min-height:2.75rem;padding:.55rem .8rem;font-size:.82rem;font-weight:700;transition:border-color .16s,color .16s,transform .16s;display:inline-flex}.follow-panel__links a:hover,.follow-panel__links a:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.site-footer{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;margin-top:2.4rem;padding:1.8rem 0 2.6rem;font-size:.78rem;display:grid;position:relative}.site-footer:before{content:"";background:radial-gradient(circle, var(--accent) 0 45%, transparent 50%) left center / .5rem .5rem no-repeat, radial-gradient(circle, var(--accent) 0 45%, transparent 50%) right center / .5rem .5rem no-repeat, linear-gradient(var(--line-muted), var(--line-muted)) center / calc(100% - .9rem) 1px no-repeat;height:.55rem;position:absolute;top:-.275rem;left:0;right:0}.site-footer__brand{flex-direction:column;gap:.15rem;display:flex}.site-footer__brand span{color:var(--text-muted)}.site-footer__nav,.site-footer__socials{align-items:center;gap:1.2rem;display:flex}.site-footer__nav a:hover,.site-footer__socials a:hover{color:var(--accent)}.site-footer__socials{justify-self:end}.content-page{min-height:70vh;padding:7rem 0}.content-page h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(3rem,8vw,6.5rem);font-weight:500;line-height:.95}.content-page :where(p:not(.section-kicker)){color:var(--text-muted);font-size:1.05rem}.content-page__back{color:var(--accent);align-items:center;gap:.45rem;margin-top:2rem;font-weight:700;display:inline-flex}@media (width<=1199px){.page-shell{width:min(100% - 2.5rem,75rem)}.workshop-map{grid-template-rows:16rem 11.5rem 16.5rem 14rem;grid-template-columns:minmax(18rem,1fr) 11.5rem minmax(18rem,1fr);min-height:58rem}.workshop-section--games,.workshop-section--tutorials{grid-template-columns:minmax(0,1fr) 9.4rem}.workshop-section--libraries,.workshop-section--access{grid-template-columns:9.4rem minmax(0,1fr)}.workshop-node{width:9.4rem}.workshop-entry__summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (width<=899px){.site-header__inner{grid-template-columns:auto 1fr auto}.site-nav{justify-content:flex-end;gap:1rem}.site-nav>:nth-child(n+5){display:none}.workshop-map{grid-template:"centre centre""games libraries""tutorials access""latest latest"/1fr 1fr;gap:3.5rem 2rem;min-height:auto;display:grid}.workshop-connections{display:none}.workshop-centre{margin-bottom:.5rem}.workshop-section,.workshop-section--games,.workshop-section--libraries,.workshop-section--tutorials,.workshop-section--access,.workshop-section--latest{flex-direction:column;gap:1.2rem;width:auto;display:flex}.workshop-section__node-wrap,.workshop-section__entries,.workshop-section--games .workshop-section__node-wrap,.workshop-section--games .workshop-section__entries,.workshop-section--tutorials .workshop-section__node-wrap,.workshop-section--tutorials .workshop-section__entries{grid-area:auto;width:100%}.workshop-section__entries{grid-template-rows:none;gap:.45rem}.workshop-section--latest .workshop-section__entries{grid-template-rows:none;grid-template-columns:1fr}.workshop-entry,.workshop-section--games .workshop-entry,.workshop-section--tutorials .workshop-entry{text-align:left;grid-template-columns:3.25rem minmax(0,1fr)}.workshop-section--games .workshop-entry__icon,.workshop-section--tutorials .workshop-entry__icon{grid-column:1}.workshop-section--games .workshop-entry__copy,.workshop-section--tutorials .workshop-entry__copy{grid-area:1/2}.workshop-node,.workshop-section--latest .workshop-node{width:9.5rem}.follow-panel{grid-template-columns:auto 1fr}.follow-panel__links{grid-column:1/-1;justify-content:flex-start}.site-footer{grid-template-columns:1fr auto}.site-footer__nav{display:none}.page-shell{width:min(100% - 1.5rem,40rem)}.activity-strip__inner{grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem}.activity-strip time,.activity-strip__lead strong{display:none}.site-header{padding:.9rem 0}.site-header__inner{grid-template-columns:auto 1fr auto;gap:.6rem}.site-logo{width:2.8rem}.site-logo__face--back{font-size:1.2rem}.site-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;border-radius:50%;place-content:center;gap:4px;width:2.7rem;height:2.7rem;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:currentColor;width:1.15rem;height:1px;display:block}.mobile-nav>nav{z-index:20;border:1px solid var(--line-muted);background:var(--surface-strong);width:min(35rem,100vw - 2rem);max-height:calc(100dvh - 7rem);box-shadow:var(--shadow);border-radius:.4rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .55rem);right:-2.8rem;overflow:auto}.mobile-nav .site-nav__link{border-radius:.25rem;padding:.65rem .75rem}.mobile-nav .site-nav__link:hover,.mobile-nav .site-nav__link:focus-visible,.mobile-nav .site-nav__link.is-current{background:var(--accent-faint);color:var(--accent)}.theme-toggle__label{display:none}.masthead{margin:1.9rem auto 0}.masthead h1{font-size:clamp(3rem,15vw,4.8rem);line-height:.92}.masthead__categories{margin-top:.9rem;font-size:clamp(.9rem,4.3vw,1.05rem)}.masthead__rule{width:2.5rem;margin:.9rem auto}.masthead__intro--desktop{display:none}.masthead__intro--mobile{font-size:.95rem;display:block}.desktop-workshop-map{display:none}.mobile-workshop-route{--route-gutter:clamp(3.25rem, 15vw, 3.75rem);--route-node-size:3.2rem;--route-line-width:1.5px;--route-line-color:var(--line);width:min(100%,34rem);margin:2.6rem auto 0;display:block;overflow:visible}.mobile-route-section{--route-section-line:var(--route-line-color);min-width:0;position:relative;overflow:visible}.mobile-route-section:focus-within{--route-section-line:var(--accent)}.mobile-route-section__body{min-width:0;padding-bottom:2rem;display:grid;position:relative;overflow:visible}.mobile-route-section--left .mobile-route-section__body{grid-template-columns:var(--route-gutter) minmax(0, 1fr)}.mobile-route-section--right .mobile-route-section__body{grid-template-columns:minmax(0, 1fr) var(--route-gutter)}.mobile-route-section__spine{top:calc(var(--route-node-size) / 2);z-index:0;width:var(--route-line-width);background:var(--route-section-line);transition:background .16s;position:absolute;bottom:-1px}.mobile-route-section--left .mobile-route-section__spine{left:calc(var(--route-gutter) / 2 - var(--route-line-width) / 2)}.mobile-route-section--right .mobile-route-section__spine{right:calc(var(--route-gutter) / 2 - var(--route-line-width) / 2)}.mobile-route-section__node-link{z-index:2;min-height:var(--route-node-size);grid-column:1/-1;align-items:center;display:grid;position:relative}.mobile-route-section--left .mobile-route-section__node-link{grid-template-columns:var(--route-gutter) minmax(0, 1fr)}.mobile-route-section--right .mobile-route-section__node-link{grid-template-columns:minmax(0, 1fr) var(--route-gutter)}.mobile-route-section__node{width:var(--route-node-size);aspect-ratio:1;border:var(--route-line-width) solid var(--route-section-line);background:var(--page-bg);color:var(--text);border-radius:50%;justify-self:center;place-items:center;transition:border-color .16s,color .16s,background .16s;display:grid}.mobile-route-section--left .mobile-route-section__node{grid-column:1}.mobile-route-section--right .mobile-route-section__node{grid-area:1/2}.mobile-route-section--latest .mobile-route-section__node{border-color:var(--node-central-bg);background:var(--node-central-bg);color:var(--node-central-text)}.mobile-route-section__heading-group{min-width:0;min-height:var(--route-node-size);flex-direction:column;justify-content:center;display:flex;position:relative}.mobile-route-section--left .mobile-route-section__heading-group{grid-column:2;align-items:flex-start;padding-left:.75rem}.mobile-route-section--right .mobile-route-section__heading-group{text-align:right;grid-area:1/1;align-items:flex-end;padding-right:.75rem}.mobile-route-section__number{color:var(--accent);font-family:var(--font-mono);letter-spacing:.12em;font-size:.68rem;font-weight:700;line-height:1;position:absolute;top:.12rem}.mobile-route-section--left .mobile-route-section__number{left:0}.mobile-route-section--right .mobile-route-section__number{right:0}.mobile-route-section__heading-group h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2rem,9vw,2.8rem);font-weight:500;line-height:.95;transition:color .16s,transform .16s}.mobile-route-section__node-link:hover .mobile-route-section__node,.mobile-route-section__node-link:focus-visible .mobile-route-section__node{border-color:var(--accent);color:var(--accent)}.mobile-route-section--latest .mobile-route-section__node-link:hover .mobile-route-section__node,.mobile-route-section--latest .mobile-route-section__node-link:focus-visible .mobile-route-section__node{background:var(--accent);color:var(--page-bg)}.mobile-route-section--left .mobile-route-section__node-link:hover h3,.mobile-route-section--left .mobile-route-section__node-link:focus-visible h3{color:var(--accent);transform:translate(2px)}.mobile-route-section--right .mobile-route-section__node-link:hover h3,.mobile-route-section--right .mobile-route-section__node-link:focus-visible h3{color:var(--accent);transform:translate(-2px)}.mobile-route-section__entries{z-index:1;text-align:left;min-width:0;padding-top:1.25rem;position:relative}.mobile-route-section--left .mobile-route-section__entries{grid-column:2;padding-left:.85rem;padding-right:.2rem}.mobile-route-section--right .mobile-route-section__entries{grid-column:1;padding-left:.2rem;padding-right:.85rem}.mobile-route-entry{min-width:0;padding:.15rem 1.45rem .15rem 0;display:block;position:relative}.mobile-route-entry+.mobile-route-entry{margin-top:1.45rem}.mobile-route-entry__type{color:var(--accent);font-family:var(--font-mono);letter-spacing:.09em;margin-bottom:.28rem;font-size:.64rem;font-weight:700;line-height:1.2;display:block}.mobile-route-entry__title{font-size:1.02rem;font-weight:700;line-height:1.28;transition:color .16s;display:block}.mobile-route-entry__summary{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.28rem;font-size:.88rem;line-height:1.48;display:-webkit-box;overflow:hidden}.mobile-route-entry__arrow{color:var(--line);font-size:1rem;transition:color .16s,transform .16s;position:absolute;top:.08rem;right:0}.mobile-route-entry:hover .mobile-route-entry__title,.mobile-route-entry:focus-visible .mobile-route-entry__title,.mobile-route-entry:hover .mobile-route-entry__arrow,.mobile-route-entry:focus-visible .mobile-route-entry__arrow{color:var(--accent)}.mobile-route-entry:hover .mobile-route-entry__arrow,.mobile-route-entry:focus-visible .mobile-route-entry__arrow{transform:translate(3px)}.mobile-route-section__more{color:var(--accent);align-items:center;gap:.45rem;margin-top:1.75rem;font-size:.92rem;font-weight:750;line-height:1.3;display:inline-flex}.mobile-route-section__more span:last-child{transition:transform .16s}.mobile-route-section__more:hover span:last-child,.mobile-route-section__more:focus-visible span:last-child{transform:translate(3px)}.mobile-route-transition{height:3.4rem;color:var(--route-section-line);transition:color .16s;position:relative;overflow:visible}.mobile-route-transition__current,.mobile-route-transition__horizontal,.mobile-route-transition__next{background:currentColor;display:block;position:absolute}.mobile-route-transition__current,.mobile-route-transition__next{width:var(--route-line-width)}.mobile-route-transition__current{height:calc(50% + 1px);top:-1px}.mobile-route-transition__horizontal{top:calc(50% - var(--route-line-width) / 2);left:calc(var(--route-gutter) / 2 - var(--route-line-width) / 2);right:calc(var(--route-gutter) / 2 - var(--route-line-width) / 2);height:var(--route-line-width)}.mobile-route-transition__next{top:50%;bottom:-1px}.mobile-route-transition--from-left .mobile-route-transition__current,.mobile-route-transition--to-left .mobile-route-transition__next{left:calc(var(--route-gutter) / 2 - var(--route-line-width) / 2)}.mobile-route-transition--from-right .mobile-route-transition__current,.mobile-route-transition--to-right .mobile-route-transition__next{right:calc(var(--route-gutter) / 2 - var(--route-line-width) / 2)}.mobile-route-transition--final{height:3rem}.mobile-route-transition--final .mobile-route-transition__current{height:calc(100% - .2rem)}.mobile-route-transition__terminus{border:var(--route-line-width) solid currentColor;background:var(--page-bg);width:.42rem;height:.42rem;transform:translateX(calc(-50% + var(--route-line-width) / 2));position:absolute;bottom:0}.mobile-route-transition--from-left .mobile-route-transition__terminus{left:calc(var(--route-gutter) / 2)}.mobile-route-transition--from-right .mobile-route-transition__terminus{right:calc(var(--route-gutter) / 2 - .21rem)}.follow-panel{grid-template-columns:1fr;gap:1.2rem;margin-top:3.75rem;padding:1.5rem}.follow-panel__mark{width:3.8rem}.follow-panel__links{grid-column:auto}.site-footer{grid-template-columns:1fr;gap:1.5rem}.site-footer__socials{justify-self:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.rich-text{min-width:0}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text>*+*{margin-top:.75em}.rich-text p,.rich-text ul,.rich-text ol,.rich-text blockquote,.rich-text pre{margin-bottom:0}.rich-text ul,.rich-text ol{padding-left:1.35em}.rich-text a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:.08em}.rich-text code{font-family:var(--font-mono)}.content-index-intro{max-width:46rem;margin:1.5rem 0 2.5rem}.content-index-list{border-top:1px solid var(--line-muted);gap:0;margin:3rem 0 0;padding:0;list-style:none;display:grid}.content-index-card{border-bottom:1px solid var(--line-muted);grid-template-columns:3.25rem minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.55rem 0;transition:color .16s,padding .16s;display:grid}.content-index-card:hover,.content-index-card:focus-visible{color:var(--accent);padding-left:.65rem}.content-index-card__icon{aspect-ratio:1;border:1px solid var(--line-muted);background:var(--surface);border-radius:50%;place-items:center;width:3.25rem;display:grid}.content-index-card__brand-icon{object-fit:contain;width:2.35rem;height:2.35rem;display:block}.content-index-card__copy{gap:.25rem;display:grid}.content-index-card__copy strong{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:500;line-height:1.1}.content-index-card__meta{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:.55rem 1rem;font-size:.68rem;font-weight:700;display:flex}.content-index-card__summary{color:var(--text-muted);font-size:.94rem}.content-index-card__arrow{font-size:1.5rem}.article-page{min-height:70vh;padding:1rem 0 7rem}.article-back{color:var(--accent);align-items:center;gap:.45rem;margin:0 0;font-size:.86rem;font-weight:700;display:inline-flex}.article-header{max-width:64rem;margin-bottom:3rem}.article-header h1{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.2rem,7.5vw,7.2rem);font-weight:500;line-height:.93}.article-dek{max-width:50rem;color:var(--text-muted);margin:1.5rem 0 0;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.5}.article-meta{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem;font-size:.72rem;display:flex}.article-meta__pill{border:1px solid var(--line-muted);border-radius:999px;padding:.22rem .55rem}.tutorial-series{border:1px solid var(--line-muted);background:var(--surface);border-radius:.6rem;margin:3rem 0 4rem;padding:1.25rem}.tutorial-series>p,.article-toc>p{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem;font-size:.7rem;font-weight:700}.article-toc__jump{border-top:1px solid var(--line-muted);margin-top:1rem;padding-top:.85rem}.article-toc__jump a{color:var(--accent);font-size:.76rem}.article-toc__toggle{display:none}.tutorial-series ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.tutorial-series a{min-height:100%;color:var(--text-muted);border-radius:.35rem;align-items:center;gap:.65rem;padding:.7rem;font-size:.8rem;line-height:1.25;display:flex}.tutorial-series a:hover,.tutorial-series a:focus-visible,.tutorial-series a.is-current{background:var(--surface-strong);color:var(--text)}.tutorial-series a.is-current{box-shadow:inset 0 0 0 1px var(--accent)}.tutorial-series a span{aspect-ratio:1;border:1px solid var(--line-muted);width:1.8rem;font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:.7rem;display:grid}.article-layout{max-width:58rem}.article-layout--with-toc{grid-template-columns:14rem minmax(0,48rem);align-items:start;gap:clamp(2rem,5vw,5rem);max-width:none;display:grid}.article-toc{padding:.4rem 0 0;position:sticky;top:2rem}.article-toc ol{gap:.48rem;margin:0;padding:0;list-style:none;display:grid}.article-toc li{font-size:.78rem;line-height:1.35}.article-toc li.is-nested{padding-left:.85rem}.article-toc a{color:var(--text-muted);overflow-wrap:anywhere}.article-toc a:hover,.article-toc a:focus-visible{color:var(--accent)}.article-archive-note,.tutorial-note{border-left:3px solid var(--accent);background:var(--accent-faint);color:var(--text);margin:0 0 2rem;padding:1rem 1.15rem}.article-archive-note{font-size:.9rem}.article-body{font-size:1.02rem;line-height:1.72}.article-body>:first-child{margin-top:0}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin:1.15rem 0}.article-body h2,.article-body h3,.article-body h4{font-family:var(--font-display);scroll-margin-top:2rem;font-weight:500;line-height:1.08}.article-body--tutorial h2:before,.article-body--tutorial h3:before,.article-body--tutorial h4:before{content:none}.article-body h2{letter-spacing:-.035em;margin:4.5rem 0 1.2rem;font-size:clamp(2.2rem,5vw,3.7rem)}.article-body h3{margin:3rem 0 1rem;font-size:clamp(1.7rem,3vw,2.4rem)}.article-body h3,.library-explanation__body h3{font-family:var(--font-display);letter-spacing:.015em;text-transform:uppercase;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;line-height:.95}.article-body h3:after,.library-explanation__body h3:after{content:".";color:var(--accent)}.article-body h4,.library-explanation__body h4{color:var(--accent);margin:2.5rem 0 .8rem;font-size:1.75rem}.article-body--tutorial h2,.article-body--tutorial h3,.article-body--tutorial h4{font-family:var(--font-display);letter-spacing:.015em;text-transform:uppercase;font-weight:400;line-height:.96}.article-body--tutorial h2{margin:4rem 0 1.1rem;font-size:clamp(2.75rem,4.5vw,4.25rem)}.article-body--tutorial h3{margin:3rem 0 1rem;font-size:clamp(2.25rem,3.8vw,3.4rem)}.article-body--tutorial h4{color:var(--text);margin:2.5rem 0 .8rem;font-size:clamp(1.9rem,3vw,2.6rem)}.article-body--tutorial h3:after{content:none}.markdown-heading-mark--added{display:none}.article-body--tutorial .markdown-heading-mark{color:var(--accent)}.article-body--tutorial .markdown-heading-mark--added{display:inline}.article-body a{color:var(--accent);text-underline-offset:.18em;text-decoration:underline 1px}.article-body img{border-radius:.3rem;max-width:100%;height:auto;margin-inline:auto;display:block}.article-body figure{margin:2rem 0}.article-body figcaption{color:var(--text-muted);text-align:center;margin-top:.6rem;font-size:.78rem}.article-body pre,.library-explanation__body pre{border:1px solid var(--line-muted);background:var(--surface-strong);font-family:var(--font-mono);tab-size:4;border-radius:.18rem;margin:1.8rem 0;padding:1.25rem 1.35rem;font-size:.84rem;line-height:1.6;overflow-x:auto}.article-body pre.astro-code,.library-explanation__body pre.astro-code{color:#ede5d8;border-color:#40554c;padding-top:3.15rem;position:relative;box-shadow:inset 0 1px #ffffff09,0 14px 36px #12231d1a;background:#111a16!important}.article-body pre.astro-code:before,.library-explanation__body pre.astro-code:before{content:attr(data-language);color:#e78048;font-family:var(--font-ui);letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:700;line-height:1;position:absolute;top:.62rem;left:1.15rem}.article-body pre.astro-code:after,.library-explanation__body pre.astro-code:after{content:"";pointer-events:none;background:radial-gradient(circle,#6f887d 0 2px,#0000 2.5px) 0/.45rem .45rem no-repeat,radial-gradient(circle,#6f887d 0 2px,#0000 2.5px) 100%/.45rem .45rem no-repeat,linear-gradient(#40554c,#40554c) 50%/calc(100% - .8rem) 1px no-repeat;height:.45rem;position:absolute;top:2.05rem;left:1.05rem;right:1.05rem}.article-body pre.astro-code code,.library-explanation__body pre.astro-code code{font-family:inherit}.article-body pre.astro-code .line,.library-explanation__body pre.astro-code .line{min-height:1lh}.article-body :not(pre)>code,.library-explanation__body :not(pre)>code,.rich-text :not(pre)>code{overflow-wrap:anywhere;background:var(--accent-faint);font-family:var(--font-mono);border-radius:.25rem;padding:.12em .32em;font-size:.86em}.article-body blockquote{border-left:2px solid var(--line);color:var(--text-muted);padding-left:1.25rem}.article-body hr{background:radial-gradient(circle, var(--accent) 0 46%, transparent 50%) left center / .55rem .55rem no-repeat, radial-gradient(circle, var(--accent) 0 46%, transparent 50%) right center / .55rem .55rem no-repeat, linear-gradient(var(--line-muted), var(--line-muted)) center / calc(100% - 1.1rem) 1px no-repeat;opacity:.95;border:0;width:100%;height:.9rem;margin:3.5rem auto}.article-body table{border-collapse:collapse;width:100%;margin:1.75rem 0;font-size:.9rem}.article-body th,.article-body td{border:1px solid var(--line-muted);text-align:left;vertical-align:top;padding:.65rem .75rem}.library-answer-card__copy .rich-text :is(strong,b),.library-explanation__body :is(strong,b),.article-body :is(strong,b),.about-copy :is(strong,b),.plugin-install-guide__copy .rich-text :is(strong,b){color:var(--accent);text-shadow:3px 3px 0 var(--accent-bold);font-weight:700}.library-answer-card__copy .rich-text :is(em,i),.library-explanation__body :is(em,i),.article-body :is(em,i),.about-copy :is(em,i),.plugin-install-guide__copy .rich-text :is(em,i){color:var(--accent-yellow);text-shadow:0 0 3px #ff8a5080,0 0 7px #ff8a5040;letter-spacing:.04em}.tutorial-note{margin:1.75rem 0}.tutorial-note--challenge{border-left-color:var(--line)}.tutorial-note pre{color:inherit;font-family:var(--font-sans);white-space:pre-wrap;background:0 0;border:0;margin:0;padding:0;font-size:.9rem;line-height:1.6}.tutorial-video{background:#000;border-radius:.45rem;width:100%;margin:2rem 0;padding-top:56.25%;position:relative;overflow:hidden}.tutorial-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.tutorial-image-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0 0;display:grid}.tutorial-image-compare figure{border:1px solid var(--line-muted);background:var(--surface);border-radius:.45rem;place-items:center;margin:0;padding:1rem;display:grid}.tutorial-image-compare__caption{color:var(--text-muted);text-align:center;margin:.65rem 0 2rem;font-size:.82rem}.has-text-align-center{text-align:center}.article-origin{border-top:1px solid var(--line-muted);color:var(--text-muted);margin-top:4rem;padding-top:1.2rem;font-size:.8rem}.article-origin a{color:var(--accent)}@media (width<=900px){.article-layout--with-toc{max-width:48rem;display:block}.article-toc{z-index:12;width:2.4rem;height:2.4rem;box-shadow:none;background:0 0;border:0;margin:0;padding:0;transition:left .18s,top .18s,width .18s,height .18s;position:fixed;top:.75rem;left:.75rem;overflow:visible}.article-toc:not(.is-open)>:not(.article-toc__toggle){display:none}.article-toc.is-open{border:1px solid var(--line-muted);background:color-mix(in srgb, var(--surface) 92%, transparent);width:min(18rem,100vw - 3.25rem);height:auto;max-height:calc(100vh - 8rem);box-shadow:var(--shadow);border-left:0;border-radius:0 .45rem .45rem 0;padding:1rem 1rem 1rem 1.1rem;top:6.5rem;left:0;overflow:auto}.article-toc__toggle{aspect-ratio:1;border:1px solid var(--line);background:var(--node-bg);width:2.4rem;color:var(--text);font-family:var(--font-mono);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.8rem;line-height:1;display:grid;position:absolute;top:0;left:0}.article-toc.is-open .article-toc__toggle{top:.45rem;left:auto;right:.45rem}.article-toc__toggle:before,.article-toc__toggle-text{display:none}.article-toc__toggle:after{content:">"}.article-toc__toggle[aria-expanded=true]:after{content:"<"}.tutorial-series ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.content-page,.article-page{padding-bottom:4rem}.content-index-card{grid-template-columns:2.75rem minmax(0,1fr);gap:.9rem}.content-index-card__icon{width:2.75rem}.content-index-card__arrow{display:none}.article-back{margin-bottom:1.5rem}.tutorial-series ol,.tutorial-image-compare,.workshop-section--latest .workshop-section__entries{grid-template-columns:1fr}.article-toc{width:min(16rem,100vw - 3rem);top:5.75rem}.article-body pre,.library-explanation__body pre{border-left:0;border-right:0;border-radius:0;margin-inline:-.75rem}.article-body pre.astro-code,.library-explanation__body pre.astro-code{padding-left:1rem;padding-right:1rem}.article-body pre.astro-code:before,.library-explanation__body pre.astro-code:before{left:1rem}.article-body pre.astro-code:after,.library-explanation__body pre.astro-code:after{left:.9rem;right:.9rem}}.library-map-page,.library-page{padding:1.5rem 0 7rem}.library-hero{grid-template-columns:minmax(0,1fr) 18rem;align-items:center;gap:clamp(2rem,6vw,7rem);margin:4rem 0;display:grid}.library-hero h1{font-size:clamp(4.5rem,10vw,9rem)}.library-hero__tagline{color:var(--accent);font-family:var(--font-display);margin:.6rem 0 1rem;font-size:clamp(1.7rem,3vw,2.6rem)}.library-hero__summary{max-width:48rem;color:var(--text-muted);font-size:1.15rem}.library-hero__actions{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.6rem;display:flex}.library-primary-action{background:var(--accent);color:#fff;border-radius:.4rem;align-items:center;gap:.7rem;padding:.8rem 1rem;font-weight:700;display:inline-flex}.library-hero__mark{text-align:center;place-items:center;display:grid;position:relative}.library-hero__mark>span{aspect-ratio:1;border:1.5px solid var(--line);width:12rem;color:var(--accent);background:var(--node-bg);border-radius:50%;place-items:center;display:grid}.library-hero__mark:before{content:"";background:var(--line);width:7rem;height:1px;position:absolute;top:6rem;right:100%}.library-hero__problem{max-width:15rem;color:var(--text-muted);font-size:.82rem}.library-demo{border:1px solid var(--line-muted);background:var(--surface);box-shadow:var(--shadow);border-radius:.85rem;margin:4rem 0 5rem;overflow:hidden}.library-demo__bar{border-bottom:1px solid var(--line-muted);background:var(--surface-strong);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;font-size:.68rem;display:flex}.library-demo__bar button{color:var(--accent);cursor:pointer;background:0 0;border:0}.demo-node{border:1px solid var(--line);background:var(--node-bg);color:var(--text);cursor:pointer;border-radius:999px}.pulse-demo{grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:1rem;min-height:25rem;padding:3rem;display:grid}.pulse-demo__source{padding:1rem}.pulse-demo__wire{background:var(--line-muted);height:2px;position:relative}.pulse-demo__wire i{aspect-ratio:1;background:var(--accent);opacity:0;border-radius:50%;width:.55rem;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.library-demo.is-firing .pulse-demo__wire i{animation:.9s forwards pulse-travel}.library-demo.is-firing .pulse-demo__wire i:nth-child(2){animation-delay:.12s}.library-demo.is-firing .pulse-demo__wire i:nth-child(3){animation-delay:.24s}@keyframes pulse-travel{0%{opacity:1;left:0}to{opacity:1;left:100%}}.pulse-demo__targets{gap:.7rem;display:grid}.pulse-demo__targets span{border:1px solid var(--line-muted);border-radius:.4rem;padding:.75rem}.pulse-demo>p{text-align:center;color:var(--text-muted);grid-column:1/-1}.statement-demo{grid-template-columns:1.4fr .8fr;min-height:25rem;display:grid}.statement-demo__graph{background:radial-gradient(circle at center,var(--accent-faint),transparent 45%);grid-template-columns:repeat(2,1fr);place-items:center;gap:4rem;padding:4rem;display:grid;position:relative}.statement-demo__graph:before,.statement-demo__graph:after{content:"";background:var(--line-muted);position:absolute}.statement-demo__graph:before{width:50%;height:1px}.statement-demo__graph:after{width:1px;height:50%}.statement-demo__graph button{z-index:1;aspect-ratio:1;width:6rem;position:relative}.statement-demo__graph button.is-active{border-color:var(--accent);background:var(--accent-faint);color:var(--accent)}.statement-demo__inspector{border-left:1px solid var(--line-muted);background:var(--surface-strong);padding:3rem}.statement-demo__inspector strong{font-family:var(--font-display);margin:.5rem 0 2rem;font-size:2.8rem;display:block}.catalyst-demo{grid-template-columns:12rem 1fr;align-items:center;gap:1rem 2rem;padding:3rem;display:grid}.catalyst-demo__result{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;grid-row:1/5;place-items:center;width:11rem;display:grid}.catalyst-demo__result strong{font-family:var(--font-display);font-size:4rem}.catalyst-demo label{border-bottom:1px solid var(--line-muted);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.8rem;display:grid}.fate-demo{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:3rem;display:grid}.fate-demo__wheel{aspect-ratio:1;border:1px solid var(--line);background:conic-gradient(var(--accent-faint) 0 65%,var(--accent-soft) 65% 90%,var(--accent) 90%);border-radius:50%;place-items:center;width:min(20rem,70vw);margin:auto;transition:transform .45s;display:grid}.fate-demo__wheel.is-spinning{transform:rotate(720deg)}.fate-demo__wheel span{aspect-ratio:1;background:var(--surface-strong);width:45%;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.fate-demo__controls{gap:1rem;display:grid}.fate-demo__controls label{grid-template-columns:6rem 1fr;display:grid}.fate-demo__controls button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:.4rem;padding:.9rem}.whisper-demo{grid-template-columns:.8fr 1.4fr;gap:2rem;padding:3rem;display:grid}.whisper-demo__flags{align-content:start;gap:.8rem;display:grid}.whisper-demo__flags label{border:1px solid var(--line-muted);border-radius:.4rem;padding:.9rem}.whisper-demo__storylets{gap:1rem;display:grid}.whisper-demo__storylets article{border:1px solid var(--line-muted);opacity:.35;border-radius:.5rem;padding:1rem 1.2rem}.whisper-demo__storylets article.is-eligible{border-color:var(--accent);background:var(--accent-faint);opacity:1}.whisper-demo__storylets small{color:var(--accent);font-family:var(--font-mono)}.quill-demo{padding:3rem}.quill-demo__box{border:2px solid var(--accent);color:#f4e7d5;background:#17141c;border-radius:.65rem;outline:none;min-height:12rem;margin:1.2rem 0;padding:1.2rem}.library-demo--quill[data-theme=candy] .quill-demo__box{color:#44254e;background:#ffd9ec;border-color:#603a7d;box-shadow:6px 6px #603a7d}.quill-demo p{color:var(--text-muted)}.echo-demo__toolbar{border-bottom:1px solid var(--line-muted);gap:.5rem;padding:1rem;display:flex}.echo-demo__toolbar button{border:1px solid var(--line-muted);background:var(--surface-strong);color:var(--text);cursor:pointer;border-radius:.3rem;padding:.5rem .8rem}.echo-demo__workspace{grid-template-columns:1.4fr .8fr;min-height:24rem;display:grid}.echo-demo__log{color:#dce8df;font-family:var(--font-mono);background:#101512;padding:1rem;font-size:.82rem}.echo-demo__log p{cursor:pointer;border-bottom:1px solid #28372f;margin:0;padding:.7rem}.echo-demo__log p:hover,.echo-demo__log p.is-active{background:#243129}.echo-demo__log b{color:#e3814b}.echo-demo__workspace aside{border-left:1px solid var(--line-muted);padding:2rem}.echo-demo__workspace aside strong{margin:.7rem 0 1rem;display:block}.library-demo__placeholder{text-align:center;place-items:center;min-height:22rem;padding:3rem;display:grid}.library-demo__placeholder-node{aspect-ratio:1;border:1px dashed var(--line);border-radius:50%;place-items:center;width:12rem;display:grid}.library-explanation{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:clamp(2rem,6vw,6rem);margin:5rem 0;display:grid}.library-explanation__body{min-width:0;font-size:1.04rem;line-height:1.75}.library-explanation__body h2{font-family:var(--font-display);margin:3rem 0 1rem;font-size:clamp(2.4rem,4vw,4rem);font-weight:500;line-height:1}.library-feature-panel{border:1px solid var(--line-muted);background:var(--surface);border-radius:.6rem;gap:.65rem;padding:1.2rem;display:grid;position:sticky;top:2rem}.library-feature-panel__label{color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;margin:0 0 .4rem;font-size:.7rem}.library-feature-panel__item{border-left:2px solid var(--line);background:var(--surface-strong);padding:.65rem .75rem;font-size:.82rem}.library-connections{margin-top:7rem}.library-connections__map{justify-content:center;align-items:center;gap:clamp(2rem,8vw,8rem);min-height:18rem;padding:2rem;display:flex;position:relative}.library-connections__current,.library-connections__map a{z-index:1;text-align:center;border:1px solid var(--line);background:var(--node-bg);border-radius:50%;place-items:center;display:grid;position:relative}.library-connections__current{aspect-ratio:1;width:10rem;color:var(--accent)}.library-connections__map a{aspect-ratio:1;width:7rem}.library-connections__map a:before{content:"";background:var(--line-muted);width:clamp(2rem,8vw,8rem);height:1px;position:absolute;top:50%;right:100%}.library-connections__map a span{font-size:.8rem}.library-included{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;display:flex}.library-included a{border:1px solid var(--line-muted);color:var(--accent);border-radius:999px;padding:.55rem .8rem}.bundle-constellation{border:1px solid var(--line-muted);background:var(--surface);border-radius:1rem;place-items:center;min-height:34rem;margin:4rem 0;padding:3rem;display:grid;position:relative;overflow:hidden}.bundle-constellation:before{content:"";aspect-ratio:1;border:1px dashed var(--line-muted);border-radius:50%;width:28rem;position:absolute}.bundle-constellation__core{z-index:2;aspect-ratio:1;background:var(--node-central-bg);width:11rem;color:var(--node-central-text);text-align:center;border-radius:50%;place-items:center;display:grid;position:relative}.bundle-constellation__items{position:absolute;inset:0}.bundle-constellation__items a{left:calc(50% + cos(calc(var(--i) * 51deg)) * 14rem);top:calc(50% + sin(calc(var(--i) * 51deg)) * 14rem);aspect-ratio:1;border:1px solid var(--line);background:var(--node-bg);text-align:center;border-radius:50%;place-items:center;width:7rem;display:grid;position:absolute;transform:translate(-50%,-50%)}.bundle-constellation__items strong{font-size:.75rem}@media (width<=900px){.library-hero{grid-template-columns:1fr}.library-hero__mark{display:none}.library-explanation{grid-template-columns:1fr}.library-feature-panel{position:static}.pulse-demo,.statement-demo,.fate-demo,.whisper-demo,.echo-demo__workspace{grid-template-columns:1fr}.statement-demo__inspector,.echo-demo__workspace aside{border-left:0;border-top:1px solid var(--line-muted)}.catalyst-demo{grid-template-columns:1fr}.catalyst-demo__result{grid-row:auto;margin:auto}.library-connections__map{flex-wrap:wrap}.library-connections__map a:before{display:none}}@media (width<=620px){.library-map-page,.library-page{padding-top:.5rem}.library-hero h1{font-size:clamp(4rem,20vw,6rem)}.library-demo>div:not(.library-demo__bar){padding:1.2rem}.pulse-demo{min-height:20rem}.bundle-constellation__items{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;display:grid;position:relative}.bundle-constellation{display:block}.bundle-constellation:before{display:none}.bundle-constellation__core{margin:auto}.bundle-constellation__items a{aspect-ratio:auto;width:auto;min-height:7rem;position:static;transform:none}.library-connections__map{grid-template-columns:repeat(2,1fr);display:grid}.library-connections__current{grid-column:1/-1;margin:auto}}.prose-card{border:1px solid var(--line-muted);background:var(--surface);border-radius:.7rem;max-width:52rem;margin:2.5rem 0;padding:clamp(1.3rem,3vw,2rem)}.prose-card p:first-child{margin-top:0}.prose-card p:last-child{margin-bottom:0}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.5rem 0 1.5rem;display:grid}.contact-card{border:1px solid var(--line-muted);background:var(--surface);border-radius:.65rem;gap:.55rem;padding:1.3rem;transition:border-color .15s,transform .15s;display:grid}.contact-card:hover{border-color:var(--accent);transform:translateY(-2px)}.contact-card strong{font-family:var(--font-display);font-size:1.5rem}.contact-card span,.contact-note{color:var(--text-muted)}.contact-note{max-width:52rem}.content-index-intro a,.contact-note a{color:var(--accent);text-underline-offset:.16em;text-decoration:underline}.secondary-action{border:1px solid var(--line);color:var(--text);border-radius:.4rem;align-items:center;gap:.55rem;padding:.72rem .9rem;font-weight:700;display:inline-flex}.game-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;display:flex}.library-resources{color:var(--text-muted);flex-wrap:wrap;gap:.55rem 1rem;margin-top:1rem;font-size:.82rem;display:flex}.library-resources a{color:var(--accent)}.library-explanation--wide{grid-template-columns:minmax(0,52rem)}.library-preview{grid-template-columns:repeat(4,minmax(0,1fr));margin:3rem 0 7rem;padding:clamp(4rem,8vw,7rem) 0;display:grid;position:relative}.library-preview:before{content:"";background:radial-gradient(circle, var(--accent) 0 45%, transparent 50%) left center / .5rem .5rem no-repeat, radial-gradient(circle, var(--accent) 0 45%, transparent 50%) right center / .5rem .5rem no-repeat, linear-gradient(var(--line-muted), var(--line-muted)) center / calc(100% - .9rem) 1px no-repeat;height:.55rem;position:absolute;top:0;left:0;right:0}.article-header+.library-preview:before{content:none}.library-preview__content{grid-column:2/4}.library-preview h2{font-family:var(--font-display);letter-spacing:.015em;margin:.45rem 0 .75rem;font-size:clamp(2.8rem,4.5vw,4.3rem);font-weight:400;line-height:.95}.library-preview__content>p:not(.section-kicker):not(.library-preview__note){max-width:46rem;color:var(--text-muted);margin:0;font-size:1.08rem;line-height:1.7}.library-preview__note{color:var(--accent);font-family:var(--font-mono);letter-spacing:.035em;margin:1.5rem 0 0;font-size:.72rem}@media (width<=720px){.library-preview{grid-template-columns:1fr;margin-bottom:5rem;padding:3.5rem 0}.library-preview__content{grid-column:1}.library-preview:before{left:0;right:0}}.section-title-mark{color:var(--accent)}.access-page{padding:2.25rem 0 1rem}.access-hero{max-width:63rem;margin:4rem 0 3rem}.access-hero h1{font-family:var(--font-display);letter-spacing:-.055em;margin:.5rem 0 1.4rem;font-size:clamp(3.5rem,8vw,7rem);font-weight:500;line-height:.9}.access-hero>p:last-child{max-width:52rem;color:var(--text-muted);font-size:1.12rem}.access-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:1.25rem;display:grid}.access-card--verify{z-index:1;position:relative}@media (width>=901px){.access-layout:has(.access-card--setup[hidden]) .access-card--verify{grid-column:1/-1;justify-self:center;width:calc(41% - .5125rem)}}.access-card{border:1px solid var(--line-muted);background:var(--surface);box-shadow:var(--shadow);border-radius:.8rem;padding:clamp(1.4rem,3vw,2rem)}.access-card h2{font-family:var(--font-display);margin:.2rem 0 .8rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:500;line-height:1}.access-card>p:not(.section-kicker){color:var(--text-muted)}.access-primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:.45rem;justify-content:space-between;align-items:center;width:100%;margin-top:1.5rem;padding:1rem 1.15rem;font-weight:800;display:flex}.access-primary:disabled,.access-form-row button:disabled,.access-reset:disabled{opacity:.55;cursor:wait}.access-divider{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:.8rem;margin:1.4rem 0;font-size:.72rem;display:flex}.access-divider:before,.access-divider:after{content:"";background:var(--line-muted);flex:1;height:1px}.purchase-fallback summary{cursor:pointer;font-weight:750}.purchase-fallback p{color:var(--text-muted);font-size:.9rem}.purchase-fallback label{margin:.8rem 0 .35rem;font-size:.8rem;font-weight:700;display:block}.access-form-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.access-form-row input{border:1px solid var(--line-muted);background:var(--surface-strong);min-width:0;color:var(--text);border-radius:.4rem;padding:.8rem .9rem}.access-form-row button{border:1px solid var(--line);background:var(--node-central-bg);color:var(--node-central-text);cursor:pointer;border-radius:.4rem;padding:.8rem 1rem;font-weight:700}.access-status{min-height:1.4rem;font-family:var(--font-mono);margin:1.4rem 0 0;font-size:.76rem;color:var(--accent)!important}.access-status.is-error{color:#b84a3b!important}.access-card[hidden]{display:none}.access-fields{gap:.55rem;margin:1.4rem 0;display:grid}.access-field{border:1px solid var(--line-muted);background:var(--surface-strong);border-radius:.45rem;grid-template-columns:6rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem .75rem;display:grid}.access-field>span{color:var(--text-muted);font-size:.78rem;font-weight:700}.access-field code{text-overflow:ellipsis;color:var(--text);font-family:var(--font-mono);white-space:nowrap;font-size:.78rem;overflow:hidden}.access-field button{border:1px solid var(--line-muted);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:.3rem;padding:.38rem .6rem;font-size:.72rem}.access-entitlements{margin:1.4rem 0}.access-entitlements>strong{margin-bottom:.65rem;font-size:.82rem;display:block}.access-entitlements>div{flex-wrap:wrap;gap:.45rem;display:flex}.access-entitlements span{border:1px solid var(--line-muted);background:var(--surface-strong);border-radius:999px;padding:.35rem .6rem;font-size:.75rem}.access-callout{border-left:3px solid var(--accent);background:var(--accent-faint);margin:1.5rem 0;padding:1rem 1.1rem;font-size:.88rem}.access-reset{color:var(--text-muted);text-underline-offset:.16em;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:underline}.access-explainer{border-top:1px solid var(--line-muted);grid-template-columns:repeat(4,minmax(0,1fr));margin:6rem 0 0;padding-top:2rem;display:grid}.access-explainer>p{color:var(--text-muted);grid-column:2/4;margin:0;font-size:1.12rem;line-height:1.55}@media (width<=720px){.access-explainer>p{grid-column:1/-1}}.oauth-callback{place-items:center;min-height:100vh;padding:2rem;display:grid}.oauth-callback__card{border:1px solid var(--line-muted);background:var(--surface);width:min(100%,38rem);box-shadow:var(--shadow);border-radius:.8rem;padding:2rem}.oauth-callback__card h1{font-family:var(--font-display);font-size:3rem;font-weight:500;line-height:1}.oauth-callback__card p{color:var(--text-muted)}.oauth-callback__card a{color:var(--accent);font-weight:700}@media (width<=900px){.contact-grid,.access-layout{grid-template-columns:1fr}}@media (width<=620px){.contact-grid{grid-template-columns:1fr}.access-hero{margin-top:3rem}.access-form-row,.access-field{grid-template-columns:1fr}.access-field button{justify-self:start}}.site-logo__face--back{-webkit-text-stroke:.5px white;font-family:var(--font-feature);letter-spacing:.02em;font-size:1.5rem}.site-nav .site-nav__link,.theme-toggle__label,.activity-strip,.content-page__back,.article-back,.library-primary-action,.secondary-action{font-family:var(--font-ui);letter-spacing:.025em;font-size:1.08rem;font-weight:700}.masthead{max-width:90rem;margin-top:clamp(1.25rem,2.5vw,2.25rem)}.masthead h1{letter-spacing:.015em;font-size:clamp(6rem,10vw,9.4rem);font-weight:400;line-height:.84}.masthead__categories{font-family:var(--font-ui);letter-spacing:.035em;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:600}.content-page{padding-top:2.25rem}.content-page__inner{max-width:90rem}.content-page__header{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 4.25rem;padding-bottom:2.15rem;display:grid;position:relative}.content-page__header .section-kicker{grid-column:2/4;margin-bottom:.7rem}.content-page__header h1{letter-spacing:.015em;text-align:center;grid-column:1/-1;font-size:clamp(4.5rem,7.5vw,7.05rem);font-weight:400;line-height:.84}.content-page__description{color:var(--text-muted);text-align:left;grid-column:2/4;margin:1.4rem 0 0;font-size:1.12rem;line-height:1.55}.content-page__header:after,.article-header:after,.access-hero:after{content:"";background:radial-gradient(circle, var(--accent) 0 45%, transparent 50%) left center / .5rem .5rem no-repeat, radial-gradient(circle, var(--accent) 0 45%, transparent 50%) right center / .5rem .5rem no-repeat, linear-gradient(var(--line-muted), var(--line-muted)) center / calc(100% - .9rem) 1px no-repeat;height:.55rem;position:absolute;bottom:0;left:0;right:0}.content-index-intro{width:50%;max-width:none;margin:-1.25rem 0 3rem 25%}.content-index-list{width:100%;margin-top:2rem}.content-index-card{grid-template-columns:3.25rem minmax(0,1fr) 2.25rem;padding:1.65rem 0}.content-index-card__copy strong{letter-spacing:.025em;font-size:clamp(1.8rem,3vw,2.45rem);font-weight:400;line-height:.92}.content-index-list--tutorials .content-index-card__copy strong{font-family:var(--font-feature);letter-spacing:0;font-size:clamp(1.05rem,1.75vw,1.48rem);font-weight:400;line-height:1.22}.content-index-card__meta{letter-spacing:.11em;font-size:.65rem}.content-index-card__summary{font-size:1rem}.prose-card,.contact-note{width:50%;max-width:none;margin-left:25%}.article-shell{max-width:90rem}.article-back{margin-left:25%}.article-header{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin:0 0 4rem;padding-bottom:2.15rem;display:grid;position:relative}.article-header .section-kicker{grid-column:2/4;margin-bottom:.7rem}.article-header h1{letter-spacing:.015em;text-align:center;grid-column:1/-1;font-size:clamp(4.2rem,6.95vw,7.05rem);font-weight:400;line-height:.86}.article-dek,.article-meta,.article-header .game-actions{grid-column:2/4}.article-dek{text-align:left;max-width:none;margin-top:1.45rem}.article-page--tutorial .article-body h2,.article-page--tutorial .article-body h3{font-family:var(--font-feature);letter-spacing:0;font-weight:400}.article-page--tutorial .article-body h2{font-size:clamp(1.8rem,3.4vw,2.75rem);line-height:1.18}.article-page--tutorial .article-body h3{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.2}.viewport-showcase{width:100vw;height:200vh;margin-top:4rem;margin-bottom:4rem;margin-left:calc(-1*max(1.5rem,50vw - 45rem));position:relative}.viewport-showcase__sticky{z-index:20;background:#000;place-items:center;width:100%;height:100vh;display:grid;position:sticky;top:0;overflow:hidden}.viewport-showcase__sticky img{object-fit:contain;width:100%;height:100%;display:block}.library-hero{grid-template-columns:minmax(0,1fr) 20rem;align-items:center;gap:clamp(2rem,6vw,6rem);margin:1.5rem 0 5rem;display:grid;position:relative}.library-hero__copy{grid-column:1;grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.library-hero__copy .section-kicker,.library-hero__tagline,.library-hero__summary,.library-hero__actions,.library-resources{grid-column:2/8}.library-hero__copy h1{font-family:var(--font-display);letter-spacing:.015em;text-align:center;grid-column:1/-1;margin:0;font-size:clamp(4.5rem,7.5vw,7.05rem);font-weight:400;line-height:.84}.library-hero__tagline{font-family:var(--font-ui);letter-spacing:.02em;margin-top:1.35rem;font-size:clamp(1.7rem,2.5vw,2.25rem);font-weight:650;line-height:1}.library-hero__summary{max-width:none}.library-hero__mark{grid-column:2;justify-items:center;gap:1rem;width:100%;display:grid}.library-hero__mark:before{content:none}.library-hero__mark-graphic{--library-mark-size:7.75rem;--library-connector-size:.5625rem;width:100%;min-height:var(--library-mark-size);place-items:center;display:grid;position:relative}.library-hero__mark-graphic:before{content:"";left:0;right:calc(50% + (var(--library-mark-size) / 2));background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--accent) 28%, transparent) 35%, var(--accent) 100%);height:1.15px;position:absolute;top:50%;transform:translateY(-50%)}.library-hero__mark-graphic:after{content:"";z-index:0;left:calc(50% - (var(--library-mark-size) / 2));width:var(--library-connector-size);height:var(--library-connector-size);border:1.15px solid var(--accent);background:var(--node-bg);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.library-hero__mark-circle{z-index:1;width:var(--library-mark-size);aspect-ratio:1;border:1.15px solid var(--line);color:var(--accent);background:#0d0e0d;border-radius:50%;place-items:center;display:grid;position:relative}.library-hero__mark-circle img{object-fit:contain;width:80%;height:80%;display:block}.library-hero__mark-circle svg{width:2.6rem;height:2.6rem;display:block}.library-hero__problem{max-width:15rem;color:var(--text-muted);text-align:center;margin:0;font-size:.82rem;line-height:1.55}.access-hero{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin:3rem 0 4rem;padding-bottom:2.15rem;display:grid;position:relative}.access-hero .section-kicker{grid-column:2/4}.access-hero h1{letter-spacing:.015em;text-align:center;grid-column:1/-1;font-size:clamp(4.2rem,6.95vw,7.05rem);font-weight:400;line-height:.86}.access-hero>p:last-child{text-align:left;grid-column:2/4;max-width:none}.access-card h2,.follow-panel h2,.contact-card strong,.library-explanation__body h2{letter-spacing:.025em;font-weight:400}.library-explanation__body h2{font-size:clamp(3rem,5vw,4.6rem)}@media (width<=900px){.library-hero{grid-template-columns:1fr}.library-hero__mark{display:none}.viewport-showcase{width:auto;height:auto;margin:3rem 0}.viewport-showcase__sticky{height:auto;position:relative}.viewport-showcase__sticky img{width:100%;height:auto}}@media (width<=720px){.content-page__header,.article-header,.access-hero,.library-hero__copy{grid-template-columns:1fr}.content-page__header .section-kicker,.content-page__header h1,.content-page__description,.article-header .section-kicker,.article-header h1,.article-dek,.article-meta,.article-header .game-actions,.access-hero .section-kicker,.access-hero h1,.access-hero>p:last-child,.library-hero__copy .section-kicker,.library-hero__copy h1,.library-hero__tagline,.library-hero__summary,.library-hero__actions,.library-resources{grid-column:1}.content-page__header h1,.article-header h1,.access-hero h1,.library-hero__copy h1{font-size:clamp(3.3rem,15vw,4.8rem)}.content-page__header:after,.article-header:after,.access-hero:after{left:0;right:0}.content-index-intro,.prose-card,.contact-note{width:100%;margin-left:0}.article-back{margin-left:0}}.prose-card,.contact-card,.access-card,.tutorial-series,.oauth-callback__card{border-radius:.28rem}.library-connections>header{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:2rem;display:grid}.library-connections>header .section-kicker{grid-column:2/4}.library-connections>header h2{font-family:var(--font-display);letter-spacing:.015em;text-align:center;grid-column:1/-1;margin:.2rem 0 0;font-size:clamp(2.75rem,4.5vw,4.25rem);font-weight:400;line-height:.96}@media (width<=720px){.library-connections>header{grid-template-columns:1fr}.library-connections>header .section-kicker,.library-connections>header h2{grid-column:1}}.masthead{text-align:left;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.masthead h1{text-align:center;grid-column:1/-1}.masthead__categories,.masthead__intro,.masthead__rule{grid-column:2/4}.masthead__categories{text-align:left}.masthead__rule{width:3rem;margin:1.2rem 0}.masthead__intro{text-align:left}@media (width<=720px){.masthead{grid-template-columns:1fr}.masthead h1,.masthead__categories,.masthead__intro,.masthead__rule{grid-column:1}.masthead h1{font-size:clamp(5rem,22vw,7rem);line-height:.82}.masthead__brand-word{display:block}}.bundle-art{width:fit-content;margin:1.5rem auto;display:block;text-decoration:none!important}.bundle-art img{width:min(100%,26rem);height:auto;display:block}.article-body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example),.library-explanation__body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example){--callout-accent:var(--accent);--callout-background:var(--surface);--callout-text-color:var(--text);--callout-font-size:inherit;--callout-border-color:var(--line-muted);--callout-border-width:1px;--callout-left-border-color:var(--callout-accent);--callout-left-border-width:3px;--callout-border-radius:.35rem;--callout-label-color:var(--callout-accent);--callout-label-font-size:.78rem;--callout-divider-color:var(--line-muted);--callout-divider-thickness:1px;--callout-divider-gap:.8rem;--callout-dot-color:var(--line);--callout-dot-size:.45rem;--callout-dot-fill:2px;--callout-dot-fade:2.5px;border:var(--callout-border-width) solid var(--callout-border-color);border-left:var(--callout-left-border-width) solid var(--callout-left-border-color);border-radius:var(--callout-border-radius);background:var(--callout-background);color:var(--callout-text-color);font-size:var(--callout-font-size);margin:1.6rem 0;padding:3.7rem 1.15rem 1rem 1.25rem;position:relative}.article-body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example):before,.library-explanation__body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example):before{content:var(--callout-label);color:var(--callout-label-color);font-family:var(--font-ui);font-size:var(--callout-label-font-size);letter-spacing:.13em;text-transform:uppercase;font-weight:700;line-height:1;position:absolute;top:.72rem;left:1.25rem}.article-body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example):after,.library-explanation__body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example):after{content:"";height:var(--callout-dot-size);background:radial-gradient(circle, var(--callout-dot-color) 0 var(--callout-dot-fill), transparent var(--callout-dot-fade)) left center / var(--callout-dot-size) var(--callout-dot-size) no-repeat, radial-gradient(circle, var(--callout-dot-color) 0 var(--callout-dot-fill), transparent var(--callout-dot-fade)) right center / var(--callout-dot-size) var(--callout-dot-size) no-repeat, linear-gradient(var(--callout-divider-color), var(--callout-divider-color)) center / calc(100% - var(--callout-divider-gap)) var(--callout-divider-thickness) no-repeat;pointer-events:none;position:absolute;top:2.1rem;left:1.15rem;right:1.15rem}blockquote.note{--callout-label:"Note"}blockquote.beginner-note{--callout-label:"Beginner note";--callout-accent:var(--line);--callout-label-color:var(--text-muted)}blockquote.beginner-challenge{--callout-label:"Beginner challenge";--callout-accent:var(--accent-yellow-text);--callout-background:color-mix(in srgb, var(--surface) 92%, var(--accent-yellow) 8%);--callout-left-border-color:var(--accent-yellow-text)}blockquote.update{--callout-label:"Update";--callout-accent:var(--line);--callout-label-color:var(--text-muted)}blockquote.mechanic{--callout-label:"Mechanic";--callout-accent:var(--accent-yellow-text);--callout-border-color:var(--line-muted);--callout-border-width:1px;--callout-left-border-color:var(--accent-yellow-text)}blockquote.tip{--callout-label:"Tip"}blockquote.warning{--callout-label:"Warning"}blockquote.example{--callout-label:"Example"}.article-body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example)>:first-child,.library-explanation__body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example)>:first-child{margin-top:0}.article-body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example)>:last-child,.library-explanation__body blockquote:where(.callout,.note,.beginner-note,.beginner-challenge,.update,.mechanic,.tip,.warning,.example)>:last-child{margin-bottom:0}.cat-gallery{--cat-gallery-height:clamp(12rem, 19vw, 17rem);width:100%;margin:1.25rem 0 3rem}.cat-gallery__viewport{cursor:grab;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;padding:.15rem 0;overflow:auto hidden}.cat-gallery__viewport::-webkit-scrollbar{display:none}.cat-gallery__viewport:focus-visible{outline:1px solid var(--accent);outline-offset:.35rem}.cat-gallery__viewport.is-dragging{cursor:grabbing;user-select:none}.cat-gallery__track,.cat-gallery__group{align-items:stretch;display:flex}.cat-gallery__track{width:max-content}.cat-gallery__group{flex:none;gap:.75rem;padding-right:.75rem}.cat-gallery__card{height:var(--cat-gallery-height);border:1px solid var(--line-muted);background:var(--surface-strong);isolation:isolate;border-radius:.28rem;flex:none;margin:0;transition:border-color .16s,transform .16s;position:relative;overflow:hidden}.cat-gallery__card--portrait{aspect-ratio:.72}.cat-gallery__card--square{aspect-ratio:1}.cat-gallery__card--landscape{aspect-ratio:1.48}.cat-gallery__card img{object-fit:cover;width:100%;height:100%;transition:transform .26s,filter .26s;display:block}.cat-gallery__card figcaption{z-index:1;border:1px solid color-mix(in srgb, var(--line) 65%, transparent);background:color-mix(in srgb, var(--node-bg) 84%, transparent);color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;border-radius:.18rem;padding:.32rem .48rem;font-size:.67rem;font-weight:700;line-height:1;transition:opacity .15s,transform .15s;position:absolute;bottom:.65rem;left:.65rem;transform:translateY(.35rem)}.cat-gallery__card:hover,.cat-gallery__card:focus-visible{border-color:var(--line)}.cat-gallery__card:hover img,.cat-gallery__card:focus-visible img{transform:scale(1.018)}.cat-gallery__card:hover figcaption,.cat-gallery__card:focus-visible figcaption{opacity:1;transform:translateY(0)}.cat-gallery__card:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}@media (width<=720px){.cat-gallery{--cat-gallery-height:11.5rem;margin-block:.75rem 2.25rem}.cat-gallery__group{gap:.55rem;padding-right:.55rem}}@media (prefers-reduced-motion:reduce){.cat-gallery__card,.cat-gallery__card img,.cat-gallery__card figcaption{transition:none}}.about-copy--intro{margin-bottom:1rem}.about-copy--outro{margin-top:2rem}.page-hero{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:0 0 4.25rem;padding-bottom:2.15rem;display:grid;position:relative}.page-hero .section-kicker{grid-column:2/4;margin-bottom:.7rem}.page-hero h1{font-family:var(--font-display);letter-spacing:.015em;text-align:center;grid-column:1/-1;margin:0;font-size:clamp(4.5rem,7.5vw,7.05rem);font-weight:400;line-height:.84}.page-hero__description{color:var(--text-muted);text-align:left;grid-column:2/4;margin:1.4rem 0 0;font-size:1.12rem;line-height:1.55}.page-hero__description p{color:inherit;font-size:inherit;line-height:inherit}.page-hero__description>:first-child{margin-top:0}.page-hero__description>:last-child{margin-bottom:0}.page-hero__description>p+p{margin-top:1.35rem}.page-hero:after{content:"";background:radial-gradient(circle, var(--accent) 0 45%, transparent 50%) left center / .5rem .5rem no-repeat, radial-gradient(circle, var(--accent) 0 45%, transparent 50%) right center / .5rem .5rem no-repeat, linear-gradient(var(--line-muted), var(--line-muted)) center / calc(100% - .9rem) 1px no-repeat;height:.55rem;position:absolute;bottom:0;left:0;right:0}.access-shell{max-width:90rem}.page-hero.access-hero{max-width:none}@media (width<=720px){.page-hero{grid-template-columns:1fr}.page-hero .section-kicker,.page-hero h1,.page-hero__description{grid-column:1}.page-hero h1{font-size:clamp(3.3rem,15vw,4.8rem)}}.library-map-page{padding-top:2.25rem}
