@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#182422;--paper:#f1eee4;--muted:#66716c;--gold:#cbb276;--line:#d1d5c8;--dark:#141e1d;--white:#fffdf6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Inter,Arial,sans-serif}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.05;font-weight:600}h1{font-size:clamp(48px,6.7vw,96px);letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,58px);letter-spacing:-.025em}h3{font-size:32px}h4{font-size:26px}p{margin:1em 0}em{font-weight:500}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a,button{transition:background .2s,color .2s,border-color .2s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #927239;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #a78743;outline-offset:1px}button{color:inherit}img{max-width:100%;display:block}header{background:var(--dark);color:var(--white);padding:26px 3.5% 0;position:relative;z-index:10}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;letter-spacing:.015em;font-weight:700;text-decoration:none;line-height:1;display:inline-block}.brand small{font-size:15px}.brand span{display:block;font:9px Inter,sans-serif;letter-spacing:.3em;margin:12px 0;color:var(--gold)}nav{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #35403a;margin-top:20px;padding:16px 0;font-size:12px}nav a,nav summary{text-decoration:none;white-space:nowrap;cursor:pointer}nav a:hover,nav summary:hover,nav [aria-current=page]{color:var(--gold)}.nav-group{position:relative}.nav-group summary{list-style:none}.nav-group summary:after{content:'⌄';margin-left:8px;color:var(--gold)}.nav-group>div{position:absolute;top:35px;left:0;width:260px;background:#1a2926;padding:20px;box-shadow:0 14px 25px #0003}.nav-group a{display:block;margin:8px 0}.skip{position:absolute;left:20px;top:-100px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}#nav-toggle{display:none}.hero{position:relative;min-height:690px;height:calc(100vh - 140px);max-height:960px;background:#273c34;color:var(--white);display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0e1a19d9 0%,#14221e87 43%,#152a2208 75%),linear-gradient(0deg,#10221cbd,transparent 45%)}.hero-copy{position:relative;padding:70px 6.5%;max-width:1050px}.hero h1{font-size:clamp(52px,6.3vw,91px);letter-spacing:-.03em;text-shadow:0 2px 16px #0002}.hero h1 em{color:#dec997}.hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.6;max-width:450px;margin:25px 0 35px}.eyebrow{font:600 10px/1.6 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#737e71;margin:0 0 22px}.hero .eyebrow,.band .eyebrow,.feature .eyebrow{color:var(--gold)}.hero-foot{position:absolute;bottom:0;left:6.5%;right:6.5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding:25px 0;font-size:10px;letter-spacing:.12em}.hero-foot span:first-child{color:var(--gold)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.button{border:1px solid var(--gold);background:var(--gold);color:#172722;display:inline-flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;font-weight:600;line-height:1.4;padding:17px 22px;text-decoration:none;border-radius:0}.button:hover{background:#dec997;border-color:#dec997}.button.ghost{background:transparent;color:var(--white);border-color:#ffffff70}.button.ghost:hover{background:#ffffff14}.button.secondary{background:transparent;border-color:#9b9e87;color:var(--ink)}.button.secondary:hover{background:#dce0d4}.text-link{font-size:13px;font-weight:600;background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:6px}.wrap{max-width:1300px;margin:auto;padding:90px 6%}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.editorial .lede{margin-top:0}.lede{font-size:20px;line-height:1.7;max-width:700px}.band{background:var(--dark);color:var(--paper)}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.three p{font-size:14px}.band .three article+article{border-left:1px solid #ffffff25;padding-left:35px}.download-section{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.steps{padding-left:22px;line-height:1.8}.steps li{padding:8px 0 8px 8px}.steps strong{display:block}.download-cards{display:grid;gap:20px}.download-card{padding:32px;border:1px solid #9dafa2;background:#e5e9dd}.download-card.featured{background:var(--ink);color:var(--paper);border-color:var(--ink)}.download-card .button{width:100%}.download-card small{display:block;font-size:11px;margin:12px 0 0;color:#76816f}.featured small{color:#b3c0ae}.tag{display:inline-block;color:var(--gold);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}.feature{position:relative;padding:0;margin:0 auto;min-height:500px;overflow:hidden}.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feature:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#13271ada,transparent)}.feature>div{position:relative;z-index:1;color:var(--white);padding:85px 7%;max-width:600px}.small,.note,.source-note{font-size:12px;color:var(--muted)}.source-note{border-top:1px solid var(--line);padding-top:20px;margin-top:40px}footer{background:#10201a;color:#e0e3d6;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:65px 6%}footer a:not(.brand){display:block;margin:9px 0;text-decoration:none;font-size:12px}footer a:hover{color:var(--gold)}footer .small{color:#9fae9e}.page-intro{padding-bottom:45px}.page-intro h1 em{color:#7f865f}.page-intro .lede{margin:30px 0 0}.reference-layout{display:grid;grid-template-columns:220px 1fr;gap:65px;padding-top:30px}.side-index{position:sticky;top:35px;align-self:start;display:grid;gap:14px;padding:20px 0;border-top:1px solid #80947a}.side-index a{font-size:12px;text-decoration:none}.reference-layout section+section{margin-top:65px}.mini{margin:30px 0;background:#e1e7da;padding:25px;gap:25px}.mini h3{font-size:28px}.rule-section{border-bottom:1px solid #bbc7b7}.rule-section>summary{padding:22px 0;cursor:pointer;font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;list-style:none;display:flex;justify-content:space-between}.rule-section>summary:after{content:'+';font-family:Inter;font-size:18px;color:#7a8062}.rule-section[open]>summary:after{content:'−'}.rule-body{padding:0 0 30px;font-size:14px}.rule-body h3,.rule-body h4{margin:25px 0 15px}.rule-body .flavor,.flavor{font-style:italic;color:#677561}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{border-bottom:1px solid #c7cfc0;padding:10px;text-align:left;vertical-align:top}tr:first-child{background:#e0e5d7;font-weight:600}.world-layout{padding-top:10px}.wide-art{width:100%;max-height:460px;object-fit:cover}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.chips a,.chips button{padding:9px 18px;border:1px solid #adbca8;font-size:12px;text-decoration:none;background:transparent}.chips a:hover,.chips button:hover,.chips [aria-pressed=true]{background:var(--ink);color:var(--white)}.world-layout .editorial{padding:70px 0}.card{padding:28px;border:1px solid #c0cbbc;background:#e8ecdf}.social-cards{margin-top:35px}.social-cards a{background:#24382e;border-color:#385240;color:var(--paper);text-decoration:none}.search-bar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;align-items:end}label{font-size:12px;font-weight:500;display:block}input,textarea,select{display:block;width:100%;border:1px solid #b2bfac;background:#faf9f2;padding:12px;color:var(--ink);border-radius:0;margin-top:7px;min-width:0}textarea{resize:vertical}#pedia-results{display:grid;gap:15px}.entry{padding:25px 30px;border:1px solid #bfccba;background:#f7f7ee}.entry>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.entry>summary:after{content:'+'}.entry[open]>summary:after{content:'−'}.entry small{color:var(--muted);font-size:10px;display:block;margin-bottom:8px}.entry h3{font-size:27px}.entry-body{margin-top:20px;font-size:14px}.entry .source-note{margin-top:20px;padding-top:10px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.gallery-grid figure{margin:0}.gallery-grid figure[hidden]{display:none}.image-button{padding:0;border:0;background:transparent;display:block;width:100%}.gallery-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}.gallery-grid figcaption{padding:18px 0}.gallery-grid small{font-size:10px;color:var(--muted)}.gallery-grid h3{margin-top:9px}.gallery-grid .image-button:hover img{filter:brightness(1.08)}dialog{background:var(--dark);color:white;border:1px solid #52684a;padding:25px;max-width:95vw;width:1100px;max-height:95vh}dialog::backdrop{background:#07110de6}dialog img{max-height:75vh;object-fit:contain;margin:auto}.dialog-close{display:block;margin:0 0 15px auto;border:1px solid #728570;background:transparent;color:white;padding:8px 18px}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding-top:30px}.contact-layout form{display:grid;gap:20px}.contact-layout .note{margin-top:30px}.builder-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}#save-status{font-size:11px;color:var(--muted)}.builder-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:35px;margin-top:35px}fieldset{border:1px solid #b7c6af;padding:30px;margin:0 0 25px}legend{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:0 10px;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}fieldset>label{margin:20px 0}.character-summary{position:sticky;top:25px;align-self:start;padding:30px;background:var(--ink);color:var(--paper);max-height:calc(100vh - 50px);overflow:auto}.character-summary .eyebrow{color:var(--gold)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.stat{border-top:1px solid #84927b;padding:12px 0}.stat strong{display:block;font-size:26px;font-family:Georgia}.stat small{font-size:10px}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:11px}.affinity-row{display:grid;grid-template-columns:1fr 90px;gap:15px;align-items:center;padding:10px 0;border-bottom:1px solid #d1d8c8}.affinity-row small{display:block;color:var(--muted);font-size:11px}.affinity-row select{margin:0}.warning{color:#9a391f!important}.ok{color:#456637}.builder-layout .entry{padding:15px;margin-top:15px}.builder-layout .entry h3{font-size:24px}.builder-layout .entry-body{font-size:12px}#print-sheet{display:none}.print-section h2{font-size:27px}.print-section{border-top:1px solid #999;margin:20px 0;padding-top:15px}.print-section p{white-space:pre-wrap}.print-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.print-stats strong{display:block;font-size:22px}.print-details{font-size:11px}.print-details h3{font-size:21px}.print-details p{margin:7px 0}.print-details .source-note{display:none}
@media(min-width:1500px){header{padding-left:6%;padding-right:6%}nav{font-size:13px;gap:20px}}@media(max-width:1000px){nav{font-size:10px;gap:10px}.hero{min-height:640px}.three{gap:20px}.reference-layout{grid-template-columns:170px 1fr;gap:35px}.download-section{gap:5%}.builder-layout{grid-template-columns:1.4fr 1fr;gap:20px}.contact-layout{gap:40px}}@media(max-width:760px){header{padding:22px 6%;display:flex;justify-content:space-between;align-items:center}.brand{font-size:25px}.brand small{font-size:12px}.brand span{font-size:7px;margin-bottom:0}#nav-toggle{display:block;background:transparent;color:var(--white);border:1px solid #647158;padding:9px 13px;font-size:11px}nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:20px 6%;background:#14241d;font-size:14px;box-shadow:0 15px 20px #0003}nav.open{display:grid;gap:19px}.nav-group>div{position:static;box-shadow:none;width:auto;padding:10px 15px}.hero{height:730px;min-height:0}.hero-copy{padding:45px 7%}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#13231de0,#13231d65),linear-gradient(0deg,#10221cbd,transparent)}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-foot{display:grid;gap:8px;font-size:9px}.wrap{padding:55px 6%}.editorial,.three,.download-section,.contact-layout,.builder-layout,.reference-layout{grid-template-columns:1fr;gap:30px}.band .three article+article{border-left:0;border-top:1px solid #ffffff25;padding:25px 0 0}.download-card{padding:25px}.feature{padding:0}.feature>div{padding:65px 7%}.page-intro{padding-bottom:25px}.side-index{position:static;display:flex;flex-wrap:wrap;gap:15px}.mini{grid-template-columns:1fr}.search-bar{grid-template-columns:1fr 1fr}.search-bar>label:first-child{grid-column:1/-1}.gallery-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.character-summary{position:static;max-height:none}.builder-toolbar .button{padding:13px 15px;font-size:11px}fieldset{padding:22px}.world-layout .editorial{padding:50px 0}.entry{padding:20px}footer{grid-template-columns:1fr 1fr;gap:25px;padding:45px 6%}footer>div:first-child{grid-column:1/-1}.table-scroll{max-width:85vw}h1{font-size:53px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{@page{size:letter;margin:15mm}body{background:white;color:black;font:11px/1.45 Arial,sans-serif}body.print-character header,body.print-character footer,body.print-character .page-intro,body.print-character .builder-toolbar,body.print-character .note,body.print-character .builder-layout{display:none!important}body.print-character main>.wrap{padding:0;max-width:none}body.print-character #print-sheet{display:block}#print-sheet h1{font-size:36px;margin-bottom:8px}#print-sheet h2{font-size:25px}#print-sheet h3{font-size:19px}#print-sheet .eyebrow{font-size:8px;color:#444}#print-sheet .print-section{break-inside:avoid}#print-sheet .print-details{break-before:page}#print-sheet .entry-print{break-inside:avoid;border-bottom:1px solid #aaa;padding:12px 0}#print-sheet .print-stats{font-size:9px}#print-sheet a{color:black;text-decoration:none}#print-sheet .flavor{color:#444}#print-sheet p{overflow-wrap:anywhere}.print-identity{display:grid;grid-template-columns:1fr 1fr;gap:15px}header,footer,.side-index{display:none}.wrap{padding:15px 0}details{break-inside:avoid}}
.equipment-picker{border:1px solid #b7c6af;background:#e6ecdd;padding:22px;margin:25px 0}.equipment-picker .form-grid{margin:20px 0}.equipment-picker .button{margin-top:15px}.loadout-row{display:grid;grid-template-columns:minmax(140px,1.5fr) 65px 100px auto;gap:12px;align-items:center;border-bottom:1px solid #bfccba;padding:20px 0}.loadout-row h4{font-size:23px}.loadout-row p{margin:7px 0}.loadout-row small{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.loadout-row input,.loadout-row select{padding:8px;font-size:11px}.equipment-print td,.equipment-print th{font-size:10px}
@media(max-width:1000px){.loadout-row{grid-template-columns:1fr 75px}.loadout-row>div{grid-column:1/-1}.loadout-row .text-link{justify-self:end}}@media print{.equipment-print{break-inside:auto!important}.equipment-print tr{break-inside:avoid}.equipment-print thead{display:table-header-group}}
.sponsor-choice{font-size:11px;font-weight:400;margin-top:10px;display:flex;align-items:center;gap:8px}.sponsor-choice input{width:16px;height:16px;display:inline-block;margin:0}.gear-cost{font-size:12px;color:#41653a;font-weight:600}.equipment-print small{font-size:9px}
.reference-toggle{display:flex;gap:8px;align-items:center;font-size:11px}.reference-toggle input{width:16px;height:16px;margin:0}

/* Compact, pinned site navigation. */
:root{--site-header-height:82px}
html{scroll-padding-top:calc(var(--site-header-height) + 20px)}
body>header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:16px 3.5%;min-height:var(--site-header-height);box-shadow:0 3px 18px #07120d33}
body>header .brand{flex-shrink:0;font-size:25px;white-space:nowrap}
body>header .brand small{font-size:12px}
body>header .brand span{font-size:7px;letter-spacing:.24em;margin:8px 0 0}
body>header #navigation{position:static;display:flex;align-items:center;justify-content:flex-end;flex:1;gap:clamp(12px,1.25vw,24px);border:0;margin:0;padding:0;font-size:11px;box-shadow:none}
body>header .nav-group>div{top:calc(100% + 17px);z-index:101}
body>header #nav-toggle{display:none}
.character-summary{top:calc(var(--site-header-height) + 20px);max-height:calc(100dvh - var(--site-header-height) - 40px)}
@media(max-width:1250px){
body>header{padding:14px 4%;gap:1rem}
body>header #nav-toggle{display:block;background:transparent;color:var(--white);border:1px solid #647158;padding:9px 13px;font-size:11px}
body>header #navigation{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - var(--site-header-height));overflow-y:auto;margin:0;padding:20px 4%;background:#14241d;font-size:14px;box-shadow:0 15px 20px #0003}
body>header #navigation.open{display:grid;gap:19px;justify-content:stretch}
body>header .nav-group>div{position:static;box-shadow:none;width:auto;padding:10px 15px}
}
@media(max-width:760px){:root{--site-header-height:74px}body>header .brand{font-size:22px}body>header .brand span{font-size:6px}.character-summary{position:static;max-height:none}}
@media print{body>header{display:none}}

footer a:has(.footer-link-icon){display:flex;align-items:center;gap:.75rem;text-decoration:none;width:fit-content;padding:.25rem 0}
footer .footer-link-icon{width:1.2rem;height:1.2rem;flex-shrink:0;color:#b7bc96;transition:color .15s,transform .15s}
footer a:hover .footer-link-icon{color:#eee4ba;transform:translateY(-1px)}
footer a:has(.footer-link-icon):focus-visible{outline:2px solid var(--gold);outline-offset:5px}

/* Player references use the same search-first opening as GM references. */
.player-search-page .page-intro{padding-top:1.5rem;padding-bottom:.6rem}
.player-search-page .page-intro .eyebrow{margin-bottom:.5rem}
.player-search-page .page-intro h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.1;margin:0}
.player-search-page .page-intro .lede{font-size:.95rem;line-height:1.5;margin:.65rem 0 0;max-width:90ch}
.player-search-page .page-intro+section{padding-top:.6rem;padding-bottom:2rem}
