:root{--pine:#17251f;--pine-2:#21362b;--moss:#526b4e;--gold:#d5ac65;--cream:#f2ead8;--paper:#e8dfcc;--ink:#292c24;--muted:#77776d;--line:#d8cfbd;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{width:min(1120px,calc(100% - 56px));margin-inline:auto}.site-header{height:80px;padding:0 max(28px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--pine);color:#f3ead9}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font:500 13px var(--mono);letter-spacing:.14em}.brand-mark{width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);display:grid;place-items:center;font:500 18px var(--serif);letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:31px}.site-header nav a{font-size:12px;text-decoration:none;color:#d5d7cf}.site-header nav a:hover,.footer-bottom a:hover{color:var(--gold)}.site-header nav .nav-play{padding:12px 16px;background:#324537;color:#f4e4c1;border:1px solid #50634a;font-weight:600}.nav-play span{margin-left:8px;color:var(--gold)}
.hero{min-height:570px;display:grid;grid-template-columns:minmax(0,640px);align-items:center;gap:45px;padding-block:65px}.hero h1,.section-heading h2,.journey-inner h2,.closing h2,.legal-wrap h1{font:400 clamp(51px,6.6vw,80px)/.97 var(--serif);letter-spacing:-.045em;margin:0;color:var(--pine)}.hero h1 em{color:#7a815f;font-weight:400}.hero-lede{max-width:475px;color:#57594f;font:400 17px/1.7 var(--sans);margin:24px 0 25px}.hero-actions{display:flex;align-items:center;gap:24px}.button{height:48px;padding:0 20px;display:inline-flex;align-items:center;gap:28px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.02em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#26281e}.button-gold:hover{background:#e0bd7f}.button span{font-size:17px}.coming-note{font:10px/1.55 var(--mono);color:#79796d}.coming-note strong{font-weight:500;color:var(--pine)}.small-note{font:10px var(--mono);color:#929084;margin:17px 0 0}
.realm-card{height:410px;position:relative;overflow:hidden;background:#617457;border:8px solid #d5c8ab;box-shadow:0 5px 0 #c0b69e,0 18px 35px #1d251b20}.realm-sky{position:absolute;inset:0 0 37%;background:linear-gradient(#d6b679 0%,#b8a46e 50%,#76865e 100%)}.sun{position:absolute;width:78px;height:78px;border-radius:50%;background:#edcf89;top:52px;right:76px;box-shadow:0 0 45px #edcf8955}.ridge{position:absolute;bottom:-1px;left:-5%;width:110%;height:68%;clip-path:polygon(0 71%,12% 59%,22% 65%,37% 39%,50% 64%,61% 50%,77% 72%,91% 54%,100% 65%,100% 100%,0 100%)}.ridge-back{background:#778568}.ridge-front{height:48%;background:#586d50;clip-path:polygon(0 50%,17% 27%,33% 48%,49% 19%,60% 52%,78% 25%,100% 50%,100% 100%,0 100%)}.realm-card:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(160deg,#92936a,#74784e 50%,#535f43)}.landmark{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:center;gap:4px}.landmark img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 5px 3px #18241d44)}.landmark span{font:8px var(--mono);letter-spacing:.15em;color:#f3e8c9;background:#26382eaa;padding:4px 7px}.keep{left:27%;bottom:20%}.grove{left:5%;bottom:18%}.camp{right:12%;bottom:24%}.grove img,.camp img{width:61px;height:61px}.trail{height:2px;background:#d8c183a0;position:absolute;z-index:4;transform-origin:left center}.trail-one{width:125px;left:22%;bottom:32%;transform:rotate(-8deg)}.trail-two{width:105px;left:47%;bottom:29%;transform:rotate(11deg)}.realm-caption{position:absolute;z-index:7;bottom:0;left:0;right:0;height:31px;background:#202b23;color:#d7d0b8;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font:8px var(--mono);letter-spacing:.12em}.realm-caption span:last-child{color:var(--gold)}
.section{padding-block:112px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.section-heading h2,.journey-inner h2{font-size:57px}.section-body{max-width:490px;padding-top:18px}.section-body p{font-size:14px;line-height:1.85;color:#65655a;margin:0 0 19px}.section-body .lead{font:400 23px/1.4 var(--serif);color:#333a2f;margin-bottom:19px}
.journey-band{background:var(--paper);border-block:1px solid var(--line)}.journey-inner{padding-block:96px;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.journey-inner h2{margin-bottom:19px}.journey-copy{max-width:330px;color:#66665b;line-height:1.75;font-size:13px}.journey-list article{display:grid;grid-template-columns:36px 53px 1fr;align-items:center;gap:15px;border-bottom:1px solid #cfc5b0;padding:15px 0}.journey-list article:first-child{padding-top:0}.journey-list article:last-child{border-bottom:0;padding-bottom:0}.step{font:10px var(--mono);color:#8c815e}.journey-list img{width:50px;height:50px;object-fit:contain}.journey-list h3{font:500 19px var(--serif);margin:0 0 5px;color:#2d372d}.journey-list p{font-size:11px;line-height:1.55;color:#77766b;margin:0;max-width:380px}
.factions{padding-block:105px;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.factions .section-heading h2{font-size:55px}.faction-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faction-card{min-height:210px;padding:23px;background:#1d2b25;color:#e8e2d3;position:relative;overflow:hidden}.faction-card:before{content:"";position:absolute;inset:auto -20px -53px auto;width:150px;height:150px;border:1px solid #d5ac6530;transform:rotate(45deg)}.faction-card.compact{background:#354334}.faction-symbol{display:block;font-size:24px;color:var(--gold);margin-bottom:15px}.faction-card h3{font:500 23px var(--serif);margin:0 0 8px}.faction-card>p:last-child{font-size:10px;line-height:1.6;color:#c7c8bb;margin:0;max-width:245px}.fair-play{grid-column:1/-1;margin:1px 0 0;text-align:right;font:9px var(--mono);color:#858274}
.closing{background:var(--gold)}.closing-inner{min-height:205px;display:flex;align-items:center;gap:24px;padding-block:35px}.closing-inner>img{width:74px;height:74px;object-fit:contain}.closing h2{font-size:44px}.closing p:last-child{font-size:12px;color:#615c4c;margin:7px 0 0}.button-dark{margin-left:auto;background:var(--pine);color:var(--cream)}.button-dark:hover{background:#2a3e30}
.site-footer{background:var(--pine);color:#c6c9bd}.footer-top{min-height:111px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1a}.footer-top .brand{color:#f3ead9}.footer-top>p{font:10px/1.65 var(--mono);color:#9fa799}.footer-contact{font:11px var(--mono);text-decoration:none;color:#e1c688}.footer-bottom{min-height:55px;display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);color:#8e988e}.footer-bottom div{display:flex;gap:23px}.footer-bottom a{text-decoration:none;color:#c6c9bd}
.legal-wrap{width:min(760px,calc(100% - 48px));margin:0 auto;padding:76px 0 105px}.legal-wrap h1{font-size:62px}.legal-updated{font:10px var(--mono);color:#858276;margin:19px 0 30px}.legal-intro{font:400 19px/1.65 var(--serif);color:#505347;margin:0 0 43px}.legal-section{padding:25px 0;border-top:1px solid var(--line)}.legal-section h2{font:500 22px var(--serif);color:var(--pine);margin:0 0 11px}.legal-section p,.legal-section li{font-size:13px;line-height:1.8;color:#66665b}.legal-section p{margin:0 0 12px}.legal-section p:last-child{margin-bottom:0}.legal-section a{color:#455b42;text-underline-offset:3px}.legal-section ul{margin:0;padding-left:20px}.legal-section li{margin:0 0 11px}.legal-section strong{color:#44473d}.license-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#e1d8c6;padding:20px;font:11px/1.7 var(--mono);color:#45473e}.draft-note{padding:18px 20px;background:#e1d6bf;border-left:3px solid #a9874e;font-size:11px;line-height:1.7;color:#5e5b4f;margin-top:20px}.draft-note strong{color:var(--pine)}.support-card{padding:25px;background:var(--paper);display:flex;align-items:flex-start;gap:22px;margin:0 0 37px}.support-card img{width:76px;height:76px;object-fit:contain}.support-card h2{font:500 24px var(--serif);color:var(--pine);margin:2px 0 9px}.support-card p{font-size:13px;line-height:1.7;color:#66665b;margin:0 0 9px}.support-email{display:inline-block;color:#344934;font:500 15px var(--mono);text-underline-offset:3px;margin:1px 0 14px}.support-card .support-tip{font-size:11px;color:#898678;margin:0}
@media(max-width:780px){.site-header{height:auto;min-height:72px;padding:17px 22px;align-items:flex-start}.site-header nav{justify-content:flex-end;gap:13px;flex-wrap:wrap}.site-header nav a{font-size:10px}.site-header nav a.nav-sec{display:none}.site-header nav .nav-play{padding:10px 11px}.wrap{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;gap:38px;padding-block:65px}.hero h1{font-size:65px}.hero-copy{max-width:570px}.realm-card{height:360px}.section,.journey-inner,.factions{grid-template-columns:1fr;gap:28px;padding-block:74px}.section{gap:15px}.section-body{padding-top:0}.journey-inner{gap:30px}.factions{gap:25px}.faction-cards{max-width:550px}.closing-inner{gap:15px}.closing-inner>img{width:55px;height:55px}.closing h2{font-size:37px}.footer-bottom>span:last-child{display:none}.legal-wrap{padding:58px 0 78px}.legal-wrap h1{font-size:51px}}
@media(max-width:480px){.site-header{padding:16px}.brand{font-size:11px}.brand-mark{width:29px;height:29px}.site-header nav{gap:9px}.site-header nav a{font-size:10px}.hero h1{font-size:56px}.hero-lede{font-size:15px}.hero-actions{gap:15px}.button{padding-inline:14px;gap:17px}.small-note{font-size:9px}.realm-card{height:305px;border-width:6px}.landmark img{width:66px;height:66px}.grove img,.camp img{width:52px;height:52px}.keep{left:26%;bottom:19%}.grove{left:3%;bottom:19%}.camp{right:8%;bottom:22%}.section-heading h2,.journey-inner h2,.factions .section-heading h2{font-size:48px}.section-body .lead{font-size:21px}.journey-list article{grid-template-columns:27px 43px 1fr;gap:10px}.journey-list img{width:42px;height:42px}.journey-list h3{font-size:17px}.journey-list p{font-size:10px}.faction-cards{grid-template-columns:1fr}.faction-card{min-height:170px}.fair-play{text-align:left}.closing-inner{flex-wrap:wrap;padding-block:28px}.closing-inner>img{display:none}.closing-inner>div{width:100%}.closing h2{font-size:37px}.button-dark{margin:4px 0 0}.footer-top{min-height:130px;flex-wrap:wrap;justify-content:space-between;padding-block:20px;gap:10px}.footer-top>p{order:3;width:100%;margin:0}.footer-contact{font-size:10px}.footer-bottom{padding-block:16px;align-items:flex-start}.footer-bottom>span:first-child{max-width:80px;line-height:1.6}.footer-bottom div{gap:12px}.footer-bottom a{font-size:8px}.legal-wrap{width:calc(100% - 40px)}.legal-wrap h1{font-size:43px}.legal-intro{font-size:17px}.support-card{padding:18px;gap:13px}.support-card img{width:54px;height:54px}.support-card h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Lore and faction pages */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header nav a[aria-current="page"]{color:var(--gold)}
.site-header nav{flex-wrap:wrap;justify-content:flex-end}
.lore-page{--f1:#21362b;--f2:#d5ac65;--f3:#f2ead8}
.fac-velmoran{--f1:#1B2A4A;--f2:#B08D3C;--f3:#F3EBD8;--f2t:#7a5f1d;--fsoft:#e9e6dc}
.fac-torvayne{--f1:#2F5D3A;--f2:#B4683A;--f3:#F1E4C8;--f2t:#8a4a25;--fsoft:#ece4cf}
.lore-page{--f2t:#7a5f1d;--fsoft:#e8dfcc}
.fac-hero{background:var(--f1);color:var(--f3);border-bottom:4px solid var(--f2)}
.fac-hero-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding-block:64px}
.eyebrow{font:11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--f3);opacity:.85;margin:0 0 14px}
.fac-hero h1{font:400 clamp(40px,6vw,72px)/1 var(--serif);letter-spacing:-.03em;margin:0 0 14px;color:var(--f3)}
.fac-tagline{font:italic 400 clamp(20px,2.6vw,28px)/1.3 var(--serif);margin:0 0 16px;color:var(--f3)}
.fac-lede{max-width:560px;font-size:16px;line-height:1.7;margin:0;color:var(--f3)}
.fac-crest{width:min(320px,100%);height:auto;filter:drop-shadow(0 10px 18px #0006)}
.lore-crests{display:flex;gap:18px}.lore-crests img{width:min(150px,38vw);height:auto;filter:drop-shadow(0 8px 12px #0006)}
.fac-hero-art{max-width:1000px;margin:-1px auto 0;background:var(--f1)}
.fac-hero-art img{display:block;width:100%;height:auto;aspect-ratio:1000/744;object-fit:cover;max-height:420px}
.lore-toc{display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:22px;border-bottom:1px solid var(--line);margin-bottom:6px}
.lore-toc a{font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#455b42;text-underline-offset:3px;padding:6px 0}
.lore-toc a:hover{color:var(--f2t)}
.lore-wrap{width:min(820px,calc(100% - 40px));margin:0 auto;padding:30px 0 90px}
.lore-section{padding:34px 0;border-top:1px solid var(--line)}
.lore-section:first-of-type{border-top:0}
.lore-section h2{font:400 clamp(30px,4vw,40px)/1.1 var(--serif);letter-spacing:-.02em;color:var(--f1);margin:0 0 18px}
.lore-section h3{font:500 20px var(--serif);color:var(--f1);margin:0 0 8px}
.lore-section p,.lore-section li{font-size:16px;line-height:1.75;color:#4b4d43}
.lore-section p{margin:0 0 16px}
.lore-section ul{padding-left:22px;margin:0 0 16px}.lore-section li{margin-bottom:9px}
.lore-section a{color:#344934;text-underline-offset:3px}
.lore-section strong{color:#2e3128}
.design-promise{background:var(--fsoft);border-left:4px solid var(--f2);padding:16px 20px;margin:0 0 20px;font-size:15px;line-height:1.7;color:#3d3f36}
.design-promise strong{color:var(--f1)}
.lore-wrap>.design-promise{margin-top:10px}
.timeline{list-style:none;margin:0 0 16px;padding:0;border-left:2px solid var(--f2)}
.timeline li{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:0 0 18px 18px;position:relative;font-size:15px;line-height:1.65;color:#4b4d43}
.timeline li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--f1);border:2px solid var(--f2);border-radius:50%}
.tl-date{font:600 12px var(--mono);letter-spacing:.05em;color:var(--f2t);padding-top:3px}
.table-scroll{overflow-x:auto;margin:0 0 20px}
.palette{border-collapse:collapse;width:100%;min-width:480px;font-size:14px}
.palette th,.palette td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle;color:#4b4d43}
.palette thead th{font:11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6a6b60}
.palette tbody th{font-weight:600;color:var(--f1);white-space:nowrap}
.palette code{font:13px var(--mono);color:#2e3128}
.swatch{display:inline-block;width:22px;height:22px;border:1px solid #0004;border-radius:3px;vertical-align:middle;margin-right:10px}
.dodont{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dodont>div{background:var(--fsoft);padding:16px 20px}
.fac-figure{margin:0 0 20px;max-width:400px}.fac-figure img{display:block;max-width:100%;height:auto}
.fac-figure figcaption{font:11px/1.6 var(--mono);color:#6a6b60;margin-top:8px}
.fac-cards{display:grid;gap:18px;margin-top:20px}
.fac-card{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center;padding:22px;background:var(--f1);color:var(--f3)}
.fac-card img{width:130px;height:auto}
.fac-card h3,.fac-card p{color:var(--f3)!important;margin:0 0 8px}
.fac-card-tag{font:italic 17px var(--serif)!important}
.fac-card .button{margin-top:8px;background:var(--f3);color:var(--f1)}
.glossary{margin:0}.glossary dt{font:600 16px var(--serif);color:var(--f1);margin-top:14px}.glossary dd{margin:3px 0 0;font-size:15px;line-height:1.65;color:#4b4d43}
@media(max-width:780px){.fac-hero-inner{grid-template-columns:1fr;padding-block:44px}.fac-crest{width:200px;order:-1}.lore-crests{order:-1}.dodont{grid-template-columns:1fr}.fac-card{grid-template-columns:90px 1fr;gap:14px;padding:16px}.fac-card img{width:90px}}
@media(max-width:480px){.timeline li{grid-template-columns:1fr;gap:2px}.lore-section p,.lore-section li{font-size:15px}}
.brand-banner{display:flex;align-items:center;gap:16px;background:var(--f1);color:var(--f3);padding:12px 18px;margin:0 0 20px}
.brand-banner img{width:72px;height:auto;flex:none}
.lore-section .brand-banner p{margin:0;color:var(--f3);font-size:17px}.lore-section .brand-banner strong{color:var(--f3)}
.fac-card .fac-card-pal{font:12px var(--mono)!important;letter-spacing:.04em}
.fac-strip{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:22px;border-top:1px solid var(--line)}
.fac-strip a{display:inline-flex;align-items:center;gap:10px;font:500 16px var(--serif);color:#344934;text-underline-offset:3px}
.fac-strip img{width:40px;height:auto}
