@font-face{font-family:"Bricolage Grotesque";src:url('/assets/bricolage-regular.ttf') format('truetype');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url('/assets/bricolage-bold.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}
:root{--bg:#111714;--surface:#1b251f;--surface-raised:#27332b;--ink:#e9ede8;--muted:#b5beb3;--accent:#d5b774;--accent-ink:#172019;--forest:#243c2e;--black:#080d0a;--scrim:rgba(8,13,10,.32);--gap:clamp(22px,4.6vw,72px);--body:18px;--small:14px;--lead:22px;--heading:clamp(32px,3.7vw,54px);--display:clamp(62px,7.7vw,112px);--notch:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));--ease:cubic-bezier(.2,.7,.2,1)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Bricolage Grotesque",Arial,sans-serif;font-size:var(--body);line-height:1.6}body:has(dialog[open]){overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}svg{width:22px;height:22px;flex-shrink:0}button{border:0;color:inherit;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;line-height:1.06;letter-spacing:-.035em;font-weight:700}h1{font-size:var(--display)}h2{font-size:var(--heading)}h3{font-size:var(--lead)}p{text-wrap:pretty}p+p{margin-top:20px}a,button{transition:color .2s,background .2s,transform .2s var(--ease)}a:hover{color:var(--accent)}button:active,.button:active{transform:translateY(2px)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--accent-ink)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;z-index:99;left:20px;top:-70px;background:var(--accent);color:var(--accent-ink);padding:12px}.skip:focus{top:12px}
.site-header{position:relative;z-index:10;background:var(--bg)}.header-inner{height:100px;padding:0 var(--gap);display:flex;align-items:center;gap:40px;max-width:1680px;margin:auto}.brand{display:flex;gap:12px;align-items:center;line-height:1.15;font-weight:700;font-size:var(--lead);letter-spacing:-.02em}.brand>svg{width:42px;height:48px;stroke:var(--accent)}.brand>span>span{display:block;font-size:var(--small);letter-spacing:0;font-weight:400;margin-top:5px;color:var(--muted)}.main-nav{display:flex;gap:32px;margin-left:auto}.main-nav a{padding:12px 0;font-size:var(--body)}.main-nav a[aria-current]{color:var(--accent)}.header-actions{display:flex;gap:20px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--accent);color:var(--accent-ink);padding:16px 24px;min-height:54px;clip-path:var(--notch);font-weight:700;font-size:var(--body);line-height:1.35}.button:hover{background:var(--ink);color:var(--accent-ink)}.button svg{width:18px;height:18px}.header-play{min-height:44px;padding:13px 19px;gap:16px}.icon-button{display:grid;place-items:center;width:44px;height:44px}.icon-button:hover{background:var(--surface-raised);color:var(--accent)}.menu-toggle{display:none}.text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:var(--body);font-weight:600}.text-link:hover{text-decoration:underline;text-underline-offset:6px}
.hero{position:relative;min-height:650px;max-width:1680px;margin:auto;overflow:hidden;display:flex;align-items:center;background:var(--black)}.hero-art{position:absolute;inset:0 0 0 29%;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 15%)}.hero-art:after{content:'';position:absolute;inset:0;background:var(--scrim)}.hero-art img{width:100%;height:100%;object-position:72% 51%;animation:forest-drift 22s ease-in-out infinite alternate}.hero-copy{position:relative;z-index:1;padding:58px 0 98px var(--gap);width:56%;max-width:800px}.hero h1{letter-spacing:-.05em;line-height:.97}.hero-copy>p{max-width:435px;margin-top:28px;font-size:var(--body);line-height:1.6}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-note{font-size:var(--small)!important;color:var(--muted);max-width:none!important;margin-top:22px!important}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:21px var(--gap);font-size:var(--small);background:rgba(8,13,10,.78)}.hero-bottom>span{color:var(--muted)}.hero-bottom a{display:flex;align-items:center;gap:18px}.hero-bottom svg{width:18px}.quick-bar{display:flex;gap:30px;padding:24px var(--gap);align-items:center;background:var(--surface);font-size:var(--small);max-width:1680px;margin:auto}.quick-bar>span{color:var(--muted);margin-right:12px}.quick-bar>a{white-space:nowrap}.quick-bar button{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:var(--small);padding:4px 0}.quick-bar button svg{width:17px}
main>section:not(.hero){margin:0 auto}.class-section{max-width:1680px;padding:110px var(--gap) 120px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}.section-heading p{color:var(--muted);margin-top:17px}.section-heading>a{color:var(--accent)}.class-layout{display:grid;grid-template-columns:1.03fr 1fr;gap:60px}.featured-classes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portrait-link{position:relative;overflow:hidden;clip-path:var(--notch);background:var(--black);min-height:190px}.portrait-link:first-child{grid-row:span 2}.portrait-link img{width:100%;height:100%;object-position:center;transition:transform .6s var(--ease);filter:brightness(.8)}.portrait-link:hover img{transform:scale(1.035);filter:brightness(1)}.portrait-link>div{position:absolute;bottom:0;left:0;right:0;padding:18px 19px;background:rgba(8,13,10,.82)}.portrait-link h3{font-size:var(--lead)}.portrait-link p{font-size:var(--small);margin-top:6px;color:var(--muted)}.portrait-link:first-child img{object-position:46% center}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:19px}.filter{font-size:var(--small);padding:9px 16px;min-height:42px;color:var(--muted)}.filter:hover{background:var(--surface);color:var(--ink)}.filter.active{background:var(--surface-raised);color:var(--ink)}.class-list{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px}.class-row{display:flex;align-items:center;gap:12px;padding:13px 6px;min-height:75px}.class-row:hover{background:var(--surface)}.class-letter{display:grid;place-items:center;flex:0 0 36px;height:40px;background:var(--surface-raised);clip-path:var(--notch);color:var(--accent);font-size:var(--lead)}.class-row>span:nth-child(2){min-width:0}.class-row strong{display:block;font-size:var(--body);font-weight:600}.class-row>span>span{display:block;color:var(--muted);font-size:var(--small);margin-top:2px}.class-kind{display:none}.class-row>svg{margin-left:auto;width:15px;color:var(--muted)}.class-finder{padding-top:1px}
.guide-section{background:var(--forest);display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;padding:78px var(--gap);max-width:1680px}.guide-intro{position:relative;overflow:hidden}.guide-intro>p{max-width:310px;margin-top:24px;color:var(--ink)}.big-mark{display:block;color:var(--accent);margin:58px 0 0}.big-mark svg{width:150px;height:150px;stroke-width:.75}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:36px 45px}.topic{position:relative;padding-right:10px}.topic h3{font-size:var(--lead)}.topic p{font-size:var(--body);line-height:1.5;color:var(--ink);margin-top:12px;max-width:260px}.topic svg{position:absolute;right:-10px;top:2px;width:17px;color:var(--accent)}
.start-section{padding:120px var(--gap);display:grid;grid-template-columns:1fr .9fr;gap:100px;align-items:center;max-width:1680px}.start-image{height:470px;clip-path:var(--notch);overflow:hidden}.start-image img{height:100%;width:100%;object-position:75% center}.start-copy h2{font-size:var(--heading)}.start-copy p{color:var(--muted);max-width:420px;margin:30px 0}.start-copy>.text-link{display:flex;margin-top:16px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:30px var(--gap) 120px;max-width:1680px}.faq-section>div>p{color:var(--muted);margin-top:22px}.faq-list details{background:var(--surface);margin-bottom:8px}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:25px;justify-content:space-between;align-items:center;min-height:73px;padding:23px 25px;font-size:var(--body);line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:var(--lead);color:var(--accent);transition:transform .2s}.faq-list details[open]{background:var(--surface-raised)}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{padding:0 25px 28px;color:var(--ink);font-size:var(--body)}.faq-list a{text-decoration:underline;text-underline-offset:3px}
footer{padding:60px var(--gap) 30px;background:var(--black)}.footer-top,.footer-bottom{max-width:1536px;margin:auto}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:65px}.footer-top h2{font-size:var(--heading)}.footer-top p{color:var(--muted);margin-top:18px}.footer-top .text-link{color:var(--accent);margin-top:15px}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:15px 45px;font-size:var(--body)}.footer-bottom{display:flex;gap:45px;align-items:center}.footer-bottom .brand{flex-shrink:0}.footer-bottom>p{font-size:var(--small);color:var(--muted);line-height:1.7}.footer-bottom>span{font-size:var(--small);color:var(--muted);margin-left:auto;white-space:nowrap}
.article-main{max-width:1440px;margin:auto;padding:25px var(--gap) 90px}.breadcrumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:var(--small);color:var(--muted);margin:12px 0 40px}.breadcrumbs a{color:var(--ink)}.article-title{display:flex;gap:60px;align-items:center;justify-content:space-between;background:var(--surface);padding:46px;margin-bottom:64px}.article-title h1{font-size:clamp(38px,4.4vw,64px);max-width:16ch}.article-title>div>p{font-size:var(--lead);max-width:640px;margin-top:26px;color:var(--ink)}.article-meta{display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:28px;font-size:var(--small);color:var(--muted)}.save-guide{display:inline-flex;align-items:center;gap:10px;padding:10px 0;font-size:var(--small)}.save-guide[aria-pressed=true]{color:var(--accent)}.save-guide svg{width:17px;height:17px}.article-portrait{width:220px;height:240px;clip-path:var(--notch)}.article-layout{display:grid;grid-template-columns:235px minmax(0,780px);gap:64px;justify-content:space-between}.contents{align-self:start;position:sticky;top:30px}.contents h2{font-size:var(--lead);margin-bottom:22px}.contents nav{display:grid;gap:18px}.contents a{font-size:var(--small);line-height:1.5;color:var(--muted);display:block}.contents a:hover{color:var(--accent)}.contents .aside-link{margin-top:30px;color:var(--accent)}.article-body section{margin-bottom:58px;scroll-margin-top:35px}.article-body h2{font-size:var(--heading);margin-bottom:23px;max-width:28ch}.article-body h3{font-size:var(--lead)}.article-body p{line-height:1.8}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.article-body ul{padding-left:23px;line-height:1.8}.article-body li{padding-left:8px;margin:12px 0}.editor-note{padding:22px;background:var(--surface);font-size:var(--body);color:var(--muted);margin-top:24px!important}.sources{background:var(--surface);padding:28px}.sources>p{font-size:var(--small)}.sources>p>span{display:block;color:var(--muted);margin-top:4px}.sources h2{font-size:var(--lead)}.table-wrap{overflow-x:auto;margin-top:22px}table{border-collapse:collapse;width:100%;font-size:var(--small);line-height:1.6;text-align:left}th,td{padding:16px 18px;vertical-align:top}th{background:var(--surface-raised);font-weight:600}tbody tr:nth-child(even){background:var(--surface)}td:first-child{white-space:normal}.other-classes>div{display:flex;flex-wrap:wrap;gap:16px 26px}.related{margin-top:70px!important}.related h2{font-size:var(--heading)}.related>div{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:30px}.related a{display:block;background:var(--surface);padding:25px}.related h3{font-size:var(--lead)}.related p{font-size:var(--small);margin-top:12px;color:var(--muted)}.zone-index{display:grid;gap:12px}.zone-index>a{background:var(--surface);padding:25px;display:block;text-decoration:none}.zone-index p{color:var(--ink);margin-top:8px}.zone-index span{font-size:var(--small);display:block;margin-top:13px}.builds-directory>h2{font-size:var(--heading);margin-bottom:28px}.builds-directory .class-list{grid-template-columns:repeat(3,1fr);gap:15px 30px}.builds-directory .class-row{padding:20px;background:var(--surface)}.builds-directory .class-row>span>span{font-size:var(--small)}.portrait-feature{margin-top:90px!important}.portrait-feature h2{font-size:var(--heading);margin-bottom:35px}.portrait-feature .featured-classes{grid-template-columns:repeat(3,1fr)}.portrait-feature .portrait-link:first-child{grid-row:auto}.portrait-feature .portrait-link{height:340px}.directory-note{max-width:800px;margin:35px auto 0;font-size:var(--body);color:var(--muted)}.directory-note a{color:var(--accent)}.not-found{padding:100px var(--gap);min-height:60vh}.not-found h1{font-size:var(--heading)}.not-found p{margin:25px 0}
dialog{border:0;color:var(--ink);background:var(--surface);width:min(640px,calc(100% - 32px));padding:30px;max-height:80svh;margin:9svh auto auto;}dialog::backdrop{background:rgba(0,0,0,.75)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-top h2{font-size:var(--heading)}.search-field{display:flex;gap:15px;align-items:center;background:var(--black);padding:0 17px}.search-field>svg{color:var(--muted)}.search-field input{border:0;background:transparent;width:100%;height:58px;color:var(--ink);font-size:var(--body);min-width:0}.search-field input::placeholder{color:var(--muted)}#search-status{font-size:var(--small);color:var(--muted);margin:18px 0}#search-results{display:grid;gap:8px}.search-result{display:block;padding:16px;background:var(--surface-raised)}.search-result strong{font-size:var(--body)}.search-result>span{font-size:var(--small);color:var(--muted);display:block;margin-top:4px}.search-empty{padding:25px 0}.saved-list-heading{font-size:var(--body);margin:12px 0}.reveal{animation:section-enter .65s var(--ease) both}
@keyframes forest-drift{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes section-enter{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1680px){footer{padding-left:72px;padding-right:72px}}
@media(max-width:1100px){.header-inner{gap:20px}.main-nav{gap:20px}.header-actions{gap:8px}.hero{min-height:620px}.hero-copy{width:65%}.hero h1{font-size:92px}.class-layout{gap:30px}.class-list{grid-template-columns:1fr}.class-row{min-height:58px;padding:8px 5px}.class-kind{display:block!important;margin-left:auto;font-size:var(--small);color:var(--muted)}.class-row>svg{margin-left:0}.class-row>span>span{font-size:var(--small)}.featured-classes{grid-template-columns:1fr 1fr;align-content:start}.portrait-link{height:230px}.portrait-link:first-child{grid-column:span 2;grid-row:auto;height:280px}.portrait-link:first-child img{object-position:center 30%}.quick-bar{gap:23px}.quick-bar>span{display:none}.guide-section{gap:45px;grid-template-columns:.65fr 1.35fr}.topic-list{gap:32px}.start-section{gap:50px}.article-layout{gap:40px;grid-template-columns:195px minmax(0,1fr)}.article-title{padding:35px;gap:30px}.article-portrait{width:170px;height:200px}.related>div{grid-template-columns:1fr 1fr}.footer-bottom{gap:25px}.footer-bottom>span{display:none}.portrait-feature .portrait-link:first-child{grid-column:auto;height:340px}}
@media(max-width:800px){.header-inner{height:84px}.brand{font-size:var(--lead)}.brand>svg{width:33px;height:40px}.brand>span>span{font-size:var(--small)}.main-nav{gap:18px}.header-play{display:none}.header-actions{margin-left:auto}.main-nav{margin-left:auto}.hero{min-height:580px}.hero h1{font-size:80px}.hero-copy{width:75%;padding-bottom:100px}.hero-art{inset:0 0 0 25%}.hero-art:after{background:rgba(8,13,10,.5)}.hero-copy>p{max-width:365px;font-size:var(--body)}.hero-bottom>span{display:none}.hero-bottom{justify-content:flex-end}.quick-bar{flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:var(--small)}.quick-bar button{margin:0}.class-section{padding-top:85px;padding-bottom:90px}.class-layout{grid-template-columns:1fr;gap:35px}.featured-classes{grid-template-columns:1.2fr 1fr 1fr}.portrait-link,.portrait-link:first-child{grid-column:auto;height:290px}.portrait-link>div{padding:17px 14px}.portrait-link p{font-size:var(--small)}.class-list{grid-template-columns:1fr 1fr}.class-kind{display:none!important}.class-row{padding:12px 6px}.guide-section{grid-template-columns:1fr;padding-top:65px;padding-bottom:70px;gap:40px}.guide-intro{display:flex;align-items:center;flex-wrap:wrap;column-gap:40px}.guide-intro>p{margin-top:0;max-width:300px}.big-mark{display:none}.topic-list{gap:30px 60px}.start-section{padding-top:90px;padding-bottom:90px;gap:35px}.start-image{height:410px}.start-copy h2{font-size:var(--heading)}.start-copy>.text-link{font-size:var(--small)}.faq-section{gap:35px;grid-template-columns:.7fr 1.3fr;padding-bottom:90px}.faq-section h2{font-size:var(--heading)}.faq-list summary{font-size:var(--body);padding:20px}.faq-list details>p{padding:0 20px 24px}.footer-top{gap:25px}.footer-links{grid-template-columns:1fr;gap:12px}.footer-bottom{flex-wrap:wrap}.article-title{padding:30px}.article-title h1{font-size:var(--heading)}.article-title>div>p{font-size:var(--lead)}.article-portrait{width:145px;height:180px}.article-meta{gap:15px}.article-layout{grid-template-columns:1fr}.contents{position:static;padding:25px;background:var(--surface)}.contents nav{display:flex;flex-wrap:wrap;gap:10px 22px}.contents .aside-link{margin-top:18px}.builds-directory .class-list{grid-template-columns:1fr 1fr}.portrait-feature .portrait-link,.portrait-feature .portrait-link:first-child{height:260px}.article-body h2{font-size:var(--heading)}.start-copy p{font-size:var(--body)}.start-copy .button{padding:15px;gap:10px}}
@media(max-width:600px){:root{--gap:22px;--heading:36px;--display:62px}.header-inner{height:80px;gap:10px}.brand{font-size:var(--lead)}.header-actions{gap:0}.menu-toggle{display:grid}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--surface);padding:15px 22px;gap:8px;grid-template-columns:1fr 1fr}.main-nav.open{display:grid}.main-nav a{padding:12px}.hero{min-height:760px;align-items:flex-start;background:var(--bg)}.hero-art{inset:315px -40px 0 0;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%,0 15%)}.hero-art img{object-position:70% center}.hero-art:after{background:rgba(8,13,10,.12)}.hero-copy{width:100%;padding:38px var(--gap) 0}.hero h1{font-size:clamp(54px,15vw,80px);line-height:.95}.hero-copy>p{max-width:310px;font-size:var(--body);margin-top:24px}.hero-actions{gap:22px;margin-top:24px}.hero-actions .button{padding:16px 18px;gap:14px}.hero-actions .text-link{font-size:var(--small)}.hero-copy .hero-note{display:none}.hero-bottom{padding:17px var(--gap);justify-content:flex-start;background:rgba(8,13,10,.8)}.hero-bottom a{font-size:var(--small);gap:25px}.quick-bar{padding:20px var(--gap);display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;font-size:var(--small)}.quick-bar button{grid-column:span 2;justify-content:space-between;padding-top:12px;font-size:var(--small)}.class-section{padding-top:68px;padding-bottom:75px}.section-heading{align-items:start;display:block;margin-bottom:28px}.section-heading p{font-size:var(--body);margin-top:14px}.section-heading>a{margin-top:10px;font-size:var(--small)}.featured-classes{grid-template-columns:1.12fr 1fr;gap:12px}.portrait-link,.portrait-link:first-child{height:180px}.portrait-link:first-child{height:372px;grid-row:span 2}.portrait-link:first-child img{object-position:50% center}.portrait-link>div{padding:14px 12px}.portrait-link h3{font-size:var(--lead)}.portrait-link p{font-size:var(--small);line-height:1.3}.class-layout{gap:25px}.filters{gap:3px;flex-wrap:nowrap;justify-content:space-between}.filter{font-size:var(--small);padding:10px 12px}.class-list{gap:6px 14px}.class-row{gap:9px;padding:9px 0;min-height:70px}.class-letter{flex-basis:29px;height:34px;font-size:var(--body)}.class-row>svg{display:none}.class-row strong{font-size:var(--body)}.class-row>span>span{font-size:var(--small);line-height:1.4}.guide-section{padding-top:58px;padding-bottom:62px;gap:35px}.guide-intro{display:block}.guide-intro>p{margin-top:19px;font-size:var(--body);max-width:300px}.topic-list{grid-template-columns:1fr;gap:29px}.topic{padding-right:40px}.topic h3{font-size:var(--lead)}.topic p{max-width:100%;font-size:var(--body);margin-top:9px}.topic svg{right:0}.start-section{grid-template-columns:1fr;gap:30px;padding-top:75px;padding-bottom:75px}.start-image{height:330px}.start-copy h2{font-size:var(--heading)}.start-copy p{margin:22px 0;font-size:var(--body)}.start-copy .button{padding:17px 22px}.start-copy>.text-link{font-size:var(--small)}.faq-section{grid-template-columns:1fr;gap:30px;padding:0 var(--gap) 70px}.faq-section h2{font-size:var(--heading)}.faq-section h2 br{display:none}.faq-section>div>p{margin-top:15px}.faq-list summary{padding:20px;min-height:72px;font-size:var(--body)}.faq-list details>p{font-size:var(--body)}footer{padding-top:45px}.footer-top{display:block;padding-bottom:45px}.footer-top h2{font-size:var(--heading)}.footer-top p{font-size:var(--body)}.footer-links{grid-template-columns:1fr 1fr;margin-top:30px;font-size:var(--small);gap:16px 20px}.footer-bottom{gap:25px}.footer-bottom>p{font-size:var(--small)}.article-main{padding-top:16px;padding-bottom:65px}.breadcrumbs{font-size:var(--small);margin:12px 0 26px;gap:10px}.article-title{padding:26px 22px;display:block;margin:0 -2px 32px}.article-title h1{font-size:var(--heading);max-width:15ch}.article-title>div>p{font-size:var(--body);margin-top:22px}.article-meta{display:block;margin-top:23px}.save-guide{display:flex;margin-top:8px}.article-portrait{width:100%;height:240px;margin-top:28px;object-position:center 30%}.article-layout{gap:40px}.contents{padding:22px}.contents h2{font-size:var(--lead);margin-bottom:18px}.contents nav{gap:12px 20px}.contents a{font-size:var(--small)}.article-body h2{font-size:var(--heading);max-width:22ch;margin-bottom:20px}.article-body section{margin-bottom:45px}.article-body p{font-size:var(--body)}.article-body li{font-size:var(--body)}.sources{padding:22px}.sources h2{font-size:var(--lead)}.sources>p{font-size:var(--small)}th,td{padding:13px 12px}table{font-size:var(--small)}.related{margin-top:45px!important}.related h2{font-size:var(--heading)}.related>div{grid-template-columns:1fr 1fr;gap:12px}.related a{padding:20px 16px}.related h3{font-size:var(--lead)}.related p{font-size:var(--small)}.builds-directory>h2{font-size:var(--heading)}.builds-directory .class-list{grid-template-columns:1fr}.builds-directory .class-row{padding:18px}.builds-directory .class-kind{display:block!important;margin-left:auto}.portrait-feature{margin-top:65px!important}.portrait-feature h2{font-size:var(--heading)}.portrait-feature .featured-classes{grid-template-columns:1fr}.portrait-feature .portrait-link,.portrait-feature .portrait-link:first-child{height:300px;grid-row:auto}.portrait-feature img{object-position:center 30%}.directory-note{font-size:var(--small)}.not-found h1{font-size:var(--heading)}dialog{padding:22px;margin-top:5svh;max-height:88svh}.dialog-top h2{font-size:var(--heading)}.search-field{padding:0 12px;gap:10px}.search-field input{font-size:var(--body)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.hero-copy>p{font-size:18px}.footer-bottom>p{max-width:65ch}@media(max-width:800px){.start-copy h2{font-size:32px}}@media(max-width:600px){.hero-copy>p{font-size:18px;max-width:340px}.hero-art{top:345px}.hero{min-height:785px}.start-copy h2{font-size:36px}}

.article-body h2,.related h2,.builds-directory>h2,.portrait-feature h2{font-size:32px}.article-body .sources h2{font-size:22px}.article-body p{max-width:68ch}@media(max-width:600px){.article-body h2,.related h2,.builds-directory>h2,.portrait-feature h2{font-size:28px}.article-body .sources h2{font-size:22px}}
/* Reading pages keep reference tables and source notes comfortably legible. */
.article-main{--small:16px}
.article-meta>span{display:block}
.article-title:not(:has(.article-portrait)) h1{max-width:24ch}
.article-title:not(:has(.article-portrait))>div>p{max-width:60ch}
.article-body ol{padding-left:1.4em}
.article-body ol li{padding-left:.2em;margin-bottom:14px}
@media(max-width:600px){.article-meta>span+span{margin-top:5px}.article-title:not(:has(.article-portrait)) h1{max-width:16ch}}
.article-body,.contents{min-width:0}
.table-wrap{max-width:100%}

/* Reference edition: a compact editorial home and readable game-data directories. */
.field-home{--small:16px}
.field-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:30px var(--gap) 36px;align-items:center}
.field-hero h1{font-size:var(--display);line-height:.96;letter-spacing:-.05em}
.field-hero-copy>p:first-of-type{font-size:var(--lead);max-width:34ch;margin-top:26px}
.field-hero .hero-actions{margin-top:26px;flex-wrap:wrap}
.field-coverage{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:var(--small)}
.field-coverage a{text-decoration:underline;text-underline-offset:5px}
.field-hero-image{position:relative;align-self:stretch;min-height:390px;overflow:hidden}
.field-hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:62% 50%;animation:forest-drift 20s ease-in-out infinite alternate}
.field-hero-image>p{position:absolute;bottom:0;left:0;margin:0;padding:12px 18px;background:var(--bg);font-size:var(--small);max-width:92%}
.field-search{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;background:var(--surface);padding:28px var(--gap)}
.field-search label{display:block;font-size:var(--lead);font-weight:700;margin-bottom:14px}
.field-search form>div{display:flex;background:var(--bg);min-height:52px}
.field-search input{min-width:0;flex:1;border:0;background:transparent;color:var(--ink);font:inherit;padding:12px 16px}
.field-search button{display:flex;align-items:center;gap:12px;background:var(--accent);color:var(--accent-ink);padding:12px 18px;font-weight:700}
.field-search button svg{width:20px;height:20px}
.field-search nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;font-size:var(--small)}
.field-search nav a{text-decoration:underline;text-underline-offset:5px}
.field-builds,.field-roster,.field-spells,.field-world,.field-watch,.field-help,.field-about{padding:64px var(--gap)}
.field-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.field-heading h2,.field-world h2,.field-watch h2,.field-about h2{font-size:clamp(32px,3.1vw,46px);line-height:1.1;letter-spacing:-.035em}
.field-heading p{max-width:48ch;margin-top:16px}
.field-heading>.text-link{white-space:nowrap;font-size:var(--small)}
.field-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.field-build{display:grid;grid-template-columns:130px minmax(0,1fr);gap:22px;align-items:start}
.field-build-image{display:block;height:260px;overflow:hidden}
.field-build-image img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .25s}
.field-build-image:hover img{transform:scale(1.04)}
.field-build h3{font-size:var(--lead);line-height:1.2;margin-bottom:12px}
.field-build p{font-size:var(--small);line-height:1.65;margin-bottom:14px}
.field-build p:first-of-type{color:var(--accent)}
.field-build .text-link{font-size:var(--small)}
.field-roster{background:var(--surface)}
.field-roster-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:64px}
.field-class-finder .class-list{grid-template-columns:1fr 1fr;gap:0 30px}
.field-class-finder .class-row{min-height:80px}
.field-class-finder .class-kind{display:none}
.field-class-finder .class-row strong{font-size:var(--lead)}
.field-class-finder .class-row>span>span{font-size:var(--small)}
.field-class-finder .class-row>svg{width:16px;height:16px;margin-left:auto;flex-shrink:0}
.field-start{padding:28px 32px;background:var(--bg)}
.field-start h3{font-size:var(--lead);margin-bottom:20px}
.field-start ol{padding-left:1.3em}
.field-start li{padding-left:8px;margin-bottom:18px}
.field-start>.text-link{margin-top:4px;font-size:var(--small)}
.field-spell-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 40px}
.field-spell-list>a{display:block;padding:22px;background:var(--surface)}
.field-spell-list h3{display:block;font-size:var(--lead);line-height:1.2;margin-bottom:12px}
.field-spell-list span{display:block;color:var(--accent);font-size:var(--small);margin-bottom:12px}
.field-spell-list p{font-size:var(--small);line-height:1.65}
.field-world{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;background:var(--forest)}
.field-world h2{max-width:16ch}
.field-world h2+p{margin:20px 0 28px;max-width:43ch}
.field-zones>div{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;margin-bottom:28px}
.field-zones>div a{display:block}
.field-zones strong{display:block;font-size:var(--body)}
.field-zones span{font-size:var(--small);color:var(--muted)}
.field-equipment dl>div{margin-bottom:23px}
.field-equipment dt{font-size:var(--small);margin-bottom:6px}
.field-equipment dd{margin:0}
.field-equipment dd>a{font-size:var(--lead);color:var(--accent)}
.field-equipment dd>p{font-size:var(--small);margin-top:6px}
.gear-milestone{margin-top:30px;padding:22px;background:var(--surface)}
.gear-milestone h3{font-size:var(--lead);margin-bottom:14px}
.gear-milestone p,.gear-milestone>a{font-size:var(--small)}
.gear-milestone>a{display:inline-block;margin-top:14px;text-decoration:underline;text-underline-offset:5px}
.field-watch{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px}
.field-watch h2{max-width:13ch}
.field-watch>div>p{margin-top:22px;max-width:42ch}
.field-watch .text-link{margin-top:24px}
.video-frame{aspect-ratio:4/3;background:var(--black);overflow:hidden}
.video-load{display:block;position:relative;width:100%;height:100%;padding:0;background:var(--black)}
.video-load img{width:100%;height:100%;object-fit:contain}
.video-load>span{position:absolute;left:0;bottom:0;width:100%;padding:18px 20px;background:var(--accent);color:var(--accent-ink);font-size:var(--body);font-weight:700}
.video-frame iframe{display:block;width:100%;height:100%;border:0}
.video-feature>p{font-size:var(--small);line-height:1.6;margin-top:16px!important;max-width:none!important}
.video-feature a{text-decoration:underline;text-underline-offset:4px}
.video-privacy{color:var(--muted)}
.field-help{background:var(--surface)}
.field-help>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 42px}
.field-help h3{font-size:var(--lead);line-height:1.25;margin-bottom:14px}
.field-help>div:last-child p{font-size:var(--small)}
.field-about{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding-top:42px;padding-bottom:42px}
.field-about p{max-width:70ch;font-size:var(--small)}
.field-about a{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.reference-controls{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;background:var(--surface);padding:20px}
.reference-controls label{display:block;font-size:var(--small);font-weight:700}
.reference-controls input,.reference-controls select{display:block;width:100%;min-width:0;font:inherit;font-weight:400;color:var(--ink);border:0;background:var(--bg);padding:13px;margin-top:10px;border-radius:0}
.reference-status{margin:14px 0 20px!important;font-size:var(--small)!important}
.spell-entry,.jewelry-entry,.zone-reference{display:grid;grid-template-columns:1fr 1.5fr;gap:26px;padding:24px 20px;scroll-margin-top:22px}
.spell-entry:nth-child(odd),.jewelry-entry:nth-child(odd),.zone-reference:nth-child(odd){background:var(--surface)}
.spell-entry h3,.jewelry-entry h3,.zone-reference h3{font-size:var(--lead);line-height:1.25;margin-bottom:10px}
.article-body .reference-role{font-size:var(--small);color:var(--muted);margin:8px 0 0}
.spell-entry a{font-size:var(--small)}
.article-body .spell-entry p,.article-body .jewelry-entry p,.article-body .zone-reference p{margin-top:0;margin-bottom:14px}
.article-body .reference-use{color:var(--muted);font-size:var(--small)}
.reference-browser [hidden]{display:none!important}
.build-summary{background:var(--surface);padding:24px}
.build-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.build-summary dt{font-size:var(--small);color:var(--muted);margin-bottom:10px}
.build-summary dd{font-size:var(--lead);margin:0}
.build-summary p{font-size:var(--small);margin:20px 0 0!important}
.class-spell-table>div{display:grid;grid-template-columns:1fr 1.6fr;gap:25px;padding:20px}
.class-spell-table>div:nth-child(odd){background:var(--surface)}
.class-spell-table>div>a{font-weight:700}
.class-spell-table p{margin:0!important}
.field-heading.reveal,.field-build.reveal,.field-spell-list>a.reveal,.field-help>div>a.reveal{animation:section-enter .55s var(--ease) both}
@media(max-width:1100px){
 .field-hero{gap:30px}.field-hero-image{min-height:360px}
 .field-featured{gap:24px}.field-build{grid-template-columns:1fr}.field-build-image{height:190px}
 .field-roster-layout,.field-world,.field-watch{gap:34px}
 .field-heading h2,.field-world h2,.field-watch h2,.field-about h2{font-size:36px}
 .field-spell-list{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
 .field-hero{grid-template-columns:1.15fr 1fr;gap:25px}.field-hero h1{font-size:clamp(54px,8.5vw,72px)}
 .field-hero-copy>p:first-of-type{font-size:var(--body)}.field-hero .hero-actions{gap:20px}
 .field-coverage{gap:12px 20px}.field-hero-image>p{font-size:14px;max-width:100%}
 .field-search{grid-template-columns:1fr;gap:22px}.field-search nav{grid-template-columns:repeat(4,1fr);font-size:14px;gap:15px}
 .field-heading{display:block}.field-heading>.text-link{margin-top:16px}
 .field-roster-layout{grid-template-columns:1fr}.field-start{padding:26px}.field-start ol{columns:2;column-gap:38px}.field-start li{break-inside:avoid}
 .field-world{grid-template-columns:1fr 1fr;gap:30px}.field-zones>div{grid-template-columns:1fr;gap:15px}
 .field-world h2{font-size:32px}.field-watch{grid-template-columns:1fr}.field-watch h2{max-width:none}
 .field-watch>div>p{max-width:65ch}.field-help>div:last-child{grid-template-columns:1fr 1fr}.field-about{grid-template-columns:1fr;gap:18px}
 .spell-entry,.jewelry-entry,.zone-reference{grid-template-columns:1fr 1.6fr;gap:20px}
}
@media(max-width:600px){
 .field-hero{grid-template-columns:1fr;padding-top:18px;gap:28px}.field-hero h1{font-size:58px}
 .field-hero-copy>p:first-of-type{margin-top:22px;max-width:33ch}.field-hero .hero-actions{margin-top:22px}
 .field-coverage{font-size:14px;margin-top:22px;gap:14px}.field-hero-image{height:230px;min-height:0}
 .field-search{padding-top:24px;padding-bottom:24px}.field-search label{font-size:var(--body)}.field-search input{padding:12px;font-size:16px}
 .field-search button{font-size:16px;padding:12px}.field-search button svg{display:none}.field-search nav{grid-template-columns:1fr 1fr;font-size:16px;gap:15px}
 .field-builds,.field-roster,.field-spells,.field-world,.field-watch,.field-help{padding-top:44px;padding-bottom:44px}
 .field-heading h2,.field-world h2,.field-watch h2,.field-about h2{font-size:32px;max-width:18ch}
 .field-heading p{font-size:var(--body);margin-top:18px}.field-featured{grid-template-columns:1fr;gap:30px}
 .field-build{grid-template-columns:105px minmax(0,1fr);gap:20px}.field-build-image{height:245px}
 .field-build h3{font-size:22px}.field-build p{font-size:16px}.field-build .text-link{font-size:16px}.field-build .text-link svg{display:none}
 .field-class-finder .class-list{grid-template-columns:1fr;gap:0}.field-class-finder .class-row{min-height:76px}.field-class-finder .class-row>svg{display:block}
 .field-class-finder .class-letter{flex-basis:40px}.field-class-finder .filters{flex-wrap:wrap;gap:3px;justify-content:flex-start}
 .field-class-finder .filter{padding:10px 11px;font-size:16px}.field-start ol{columns:1}.field-start{padding:22px}
 .field-spell-list{grid-template-columns:1fr;gap:14px}.field-spell-list>a{padding:22px}
 .field-world{grid-template-columns:1fr;gap:46px}.field-zones>div{grid-template-columns:1fr 1fr;gap:20px}.field-zones span{font-size:16px}
 .field-help>div:last-child{grid-template-columns:1fr;gap:27px}.field-help h3{font-size:22px}.field-help p{font-size:16px}
 .field-about{padding-top:36px;padding-bottom:36px;gap:20px}.video-load>span{padding:14px 12px;font-size:16px}
 .reference-controls{grid-template-columns:1fr;padding:18px}.spell-entry,.jewelry-entry,.zone-reference{grid-template-columns:1fr;gap:18px;padding:22px 18px}
 .spell-entry h3,.jewelry-entry h3,.zone-reference h3{font-size:22px}.build-summary{padding:22px}.build-summary dl{grid-template-columns:1fr;gap:22px}
 .class-spell-table>div{grid-template-columns:1fr;gap:12px;padding:18px}
}
@media(prefers-reduced-motion:reduce){.field-hero-image img,.field-heading.reveal,.field-build.reveal,.field-spell-list>a.reveal,.field-help>div>a.reveal{animation:none!important;transform:none!important}}

.class-row h3{font-size:var(--body);line-height:1.3;font-weight:600;letter-spacing:0}.class-row p{font-size:var(--small);color:var(--muted);margin-top:2px}.field-class-finder .class-row h3{font-size:var(--lead)}.field-class-finder .class-letter{font-size:var(--body)}
