:root{color-scheme:dark;--bg:#091321;--deep:#0d1b2e;--panel:#14273b;--ink:#eef1f1;--muted:#b3c1cb;--faint:#8095a9;--line:#2d4559;--gold:#e9c390;--gold-strong:#f3d6a8;--cyan:#82c8cf;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body::selection{background:#e9c390;color:#08111e}a{color:inherit;text-decoration:none}button,select{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}figure{margin:0}h1,h2,h3{line-height:1.13}h1,h2,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:500}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1210px,calc(100% - 64px));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:.23em;text-transform:uppercase;color:var(--gold);font-weight:800}.muted{color:var(--muted)}.fine{color:var(--faint);font-size:12px}.divider{height:1px;background:var(--line)}
.site-head{position:sticky;top:0;z-index:30;border-bottom:1px solid #49627a65;background:#0b1727f4;backdrop-filter:blur(16px)}.site-head .nav{height:78px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#273f54,#16293f);color:var(--gold);font-size:23px;display:grid;place-items:center;border:1px solid #997b58}.brand strong{display:block;font-size:16px;letter-spacing:.16em;font-weight:850;line-height:1.1}.brand small{display:block;color:#b2c1cb;letter-spacing:.22em;font-size:9px;font-weight:700;margin-top:6px}.site-links{display:flex;gap:22px;align-items:center;font-size:12px;letter-spacing:.02em;font-weight:700;color:#b9c7d2}.site-links a:hover,.site-links a[aria-current="page"]{color:#fff}.nav-actions{display:flex;align-items:center;gap:12px}.nav-creator{white-space:nowrap;font-size:12px;font-weight:800;color:#1a2735;background:var(--gold);padding:11px 15px;border-radius:10px}.nav-creator:hover{background:var(--gold-strong)}.menu-button{display:none;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--ink);background:#15283e;width:42px;height:42px;border-radius:10px;cursor:pointer}.menu-button span{font-size:22px;line-height:1}.mobile-nav{display:none;background:#111f32;border-top:1px solid var(--line);padding:10px 32px 23px}.mobile-nav a{display:block;padding:12px 2px;border-bottom:1px solid #33495a;font-size:14px;color:#d8e3e9}.mobile-nav[hidden]{display:none!important}
.hero{overflow:hidden;position:relative;padding:87px 0 83px;border-bottom:1px solid #354c6180;background:radial-gradient(ellipse at 68% 31%,#21496566 0%,transparent 43%),radial-gradient(ellipse at 8% 20%,#263c63a1 0%,transparent 43%),linear-gradient(130deg,#0a1729,#0b1829 56%,#14283b)}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#c7d5e6 0.7px,transparent .8px);background-size:57px 57px}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.hero h1{font-size:clamp(51px,5.4vw,79px);line-height:1.04;letter-spacing:-.05em;margin:18px 0 24px}.hero h1 em{color:var(--gold);font-style:normal}.hero-intro{font-size:17px;color:#cbd7e0;line-height:1.85;max-width:590px}.hero-intro b{color:#fff}.button-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:49px;padding:12px 20px;border-radius:10px;font-weight:800;font-size:13px;transition:transform .15s ease,background .15s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(115deg,#f7dab0,#e2b984);color:#172437}.btn-secondary{border:1px solid #59718a;background:#172b42a8;color:#ecf4f6}.hero-kicker{margin-top:29px;font-size:12px;color:#aac1ce}.hero-art{min-height:502px;display:grid;grid-template-columns:1fr .75fr;grid-template-rows:239px 239px;gap:14px;transform:rotate(.6deg)}.hero-tile{overflow:hidden;position:relative;border-radius:19px;border:1px solid #52617575;background:#182e43;box-shadow:0 21px 35px #0006}.hero-tile.main{grid-row:1/3}.hero-tile img{height:100%;width:100%;object-fit:cover;object-position:center 28%}.hero-tile.main img{object-fit:cover;object-position:center top}.hero-tile:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#081626e0);pointer-events:none}.hero-tile figcaption{position:absolute;z-index:1;bottom:14px;left:17px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#fff}
.section{padding:83px 0}.section-dark{background:linear-gradient(180deg,#0d1e30,#0a1728)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:31px}.section-heading h2{font-size:clamp(34px,4.2vw,52px);letter-spacing:-.038em;margin:9px 0 0}.section-heading p{max-width:465px;font-size:15px;color:var(--muted);line-height:1.8;margin:0}.section-heading.single{display:block}.section-heading.single p{margin-top:14px;max-width:750px}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;margin-top:32px}.intro-lead{font-size:19px;color:#e1e9ee;line-height:1.85}.intro-body p{font-size:14px;color:#bdcdda;line-height:1.9}.intro-body p+p{margin-top:14px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line);margin-top:34px}.fact{padding:22px;background:#162b41}.fact b{display:block;font-family:Georgia,serif;font-size:37px;color:var(--gold);font-weight:500;line-height:1.1}.fact span{display:block;margin-top:8px;color:#bfced8;font-size:12px}
.race-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.race-card{display:block;background:#14273a;border:1px solid #344b60;border-radius:18px;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.race-card:hover{transform:translateY(-4px);border-color:#9a8769;box-shadow:0 18px 32px #0005}.race-art{height:255px;background:#142333;overflow:hidden;display:flex;justify-content:center;align-items:center}.race-art img{height:100%;width:100%;object-fit:contain;object-position:center}.race-desc{padding:18px 18px 19px}.race-desc h3{font-family:Georgia,serif;font-weight:500;font-size:22px;color:#f4dbc0;margin:0 0 8px}.race-desc p{font-size:12px;line-height:1.72;color:#b9cbd7;min-height:61px;margin:0}.race-link{display:block;margin-top:15px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.06em}.race-card{display:flex;flex-direction:column}.race-desc{display:flex;flex:1;flex-direction:column}.race-desc>.race-link{margin-top:auto;padding-top:16px}.portrait-note{border-top:1px solid #3b5365;margin-top:12px;padding-top:11px}.race-desc .portrait-label{display:block;color:#d8b98f;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:9px;line-height:1.6;margin-bottom:4px}.race-desc .portrait-note p{color:#9eb3c2;font-size:10.5px;line-height:1.55;min-height:0;margin:0}.race-note{margin-top:16px;color:#8ea5b5;font-size:12px}
.worlds-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:22px;background:#12263b;border:1px solid #395269;border-radius:23px;padding:20px}.worlds-info{padding:23px 17px 25px 22px;display:flex;flex-direction:column;justify-content:center}.worlds-info label{display:block;font-size:12px;color:#b6c6d2;margin-bottom:10px;font-weight:800}.worlds-info select{appearance:none;width:100%;background-color:#0c1b2b;color:#f8eee0;border:1px solid #718195;border-radius:11px;padding:14px 44px 14px 15px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23EAC693' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:calc(100% - 16px) center;background-repeat:no-repeat}.world-tag{font-size:11px;color:var(--cyan);text-transform:uppercase;letter-spacing:.17em;font-weight:800;margin:27px 0 8px}.world-name{font-family:Georgia,serif;font-size:clamp(34px,4vw,49px);font-weight:500;margin:0 0 13px}.world-summary{font-size:15px;color:#c9d6dc;line-height:1.85;min-height:125px}.world-index{font-size:11px;color:#90a9b9;margin-top:18px}.world-display{position:relative;min-height:414px;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 63% 41%,#6e87a840,transparent 43%),radial-gradient(circle at 48% 48%,#264c69,transparent 58%),linear-gradient(145deg,#10283e,#09182c);border:1px solid #4b677b}.world-display:before{content:"";position:absolute;inset:0;opacity:.24;background-image:radial-gradient(#b8e0ed .9px,transparent 1px);background-size:43px 43px}.world-rings{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(66%,310px);aspect-ratio:1;border-radius:50%;border:1px solid #80a0b466;box-shadow:0 0 0 43px #2b4f6233,0 0 0 44px #80a0b430,0 0 0 99px #0b20362e,0 0 0 100px #8fafc222;transition:box-shadow .2s}.world-rings:before{content:"";display:block;width:73%;height:73%;margin:13.5%;border-radius:50%;border:1px dashed #c2d3dd55;background:radial-gradient(circle at 28% 24%,#9cafb34c,transparent 45%),linear-gradient(125deg,#52728755,#102940aa)}.world-placeholder{position:absolute;left:0;right:0;bottom:0;z-index:1;background:linear-gradient(transparent,#0a1a2bee 58%);padding:65px 24px 22px;text-align:center}.world-placeholder b{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:12px}.world-placeholder span{font-size:12px;color:#b9cad4}.world-display[data-tone="ice"]{background:radial-gradient(circle at 56% 44%,#adc5d34d,transparent 50%),linear-gradient(150deg,#1b3b50,#08192d)}.world-display[data-tone="desert"]{background:radial-gradient(circle at 56% 44%,#c69e7544,transparent 50%),linear-gradient(150deg,#4c3632,#0f1928)}.world-display[data-tone="forest"]{background:radial-gradient(circle at 56% 44%,#72b79c55,transparent 50%),linear-gradient(150deg,#1a493f,#101a2c)}.world-display[data-tone="ship"]{background:radial-gradient(circle at 56% 44%,#a88fc355,transparent 50%),linear-gradient(150deg,#30385b,#0e172a)}.world-display[data-tone="industrial"]{background:radial-gradient(circle at 56% 44%,#b9a18d55,transparent 50%),linear-gradient(150deg,#433535,#0e172a)}

.wonders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wonder-card{display:flex;flex-direction:column;background:#162b3d;border:1px solid #385367;border-radius:20px;overflow:hidden}.wonder-sheet{display:block;padding:9px;background:#0d1b2e;border-bottom:1px solid #385367}.wonder-sheet img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:contain;background:#eeeae1;border-radius:11px;transition:filter .15s}.wonder-sheet:hover img{filter:brightness(1.04)}.wonder-sheet:focus-visible,.view-sheet:focus-visible{outline:3px solid #ebd5ad;outline-offset:-3px}.wonder-copy{padding:23px 25px 25px;display:flex;flex-direction:column;flex:1}.wonder-copy h3{font-size:29px;font-family:Georgia,serif;font-weight:500;margin:8px 0 12px}.wonder-copy p{font-size:13px;color:#bfd0da;line-height:1.85;margin:0}.view-sheet{display:inline-block;color:var(--gold);font-size:13px;font-weight:700;margin-top:auto;padding-top:18px;text-decoration:underline;text-underline-offset:4px}.view-sheet:hover{color:#f8dab1}
.discover-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.discover-card{padding:30px;background:linear-gradient(145deg,#1c334b,#102237);border:1px solid #3c5268;border-radius:20px;min-height:242px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .15s,border-color .15s}.discover-card:hover{transform:translateY(-3px);border-color:#b59b79}.discover-icon{font-size:26px;color:var(--gold)}.discover-card h3{font-size:29px;font-family:Georgia,serif;font-weight:500;margin:15px 0 10px}.discover-card p{color:#b5cbd7;font-size:13px;line-height:1.8;max-width:480px}.discover-card span:last-child{font-size:12px;color:var(--gold);font-weight:800;margin-top:auto}.creator-feature{border:1px solid #98805f;border-radius:25px;background:radial-gradient(ellipse at 78% 44%,#28566691,transparent 55%),linear-gradient(110deg,#24384f,#132439);display:grid;grid-template-columns:1fr 230px;gap:32px;align-items:center;overflow:hidden;padding:30px 38px 30px 44px}.creator-feature h2{font-size:clamp(31px,3.7vw,47px);margin:14px 0}.creator-feature p{color:#c6d7df;font-size:14px;max-width:610px;line-height:1.85}.creator-feature .btn{margin-top:12px}.creator-feature img{width:100%;height:260px;object-fit:contain;object-position:bottom}.other-worlds{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:29px 34px;border:1px solid #345069;border-radius:18px;background:#102238}.other-worlds h3{font:500 27px Georgia,serif;margin:8px 0}.other-worlds p{color:#aec3d1;font-size:13px;margin:0}.other-worlds a{white-space:nowrap;color:var(--gold);font-size:13px;font-weight:800}
.footer{border-top:1px solid #34495d;background:#09131f;padding:34px 0 44px;margin-top:76px;font-size:12px;color:#91a6b6}.foot{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.foot-links{display:flex;gap:20px;flex-wrap:wrap}.foot-links a{color:#d0dadd}.foot-links a:hover{color:var(--gold)}
/* Interior landing pages */.inner-hero{position:relative;padding:90px 0 70px;background:radial-gradient(ellipse at 75% 22%,#2b506050,transparent 50%),linear-gradient(120deg,#101d31,#0a1525);border-bottom:1px solid var(--line)}.inner-hero h1{font-size:clamp(48px,6vw,74px);letter-spacing:-.05em;max-width:850px;margin:17px 0}.inner-hero p{font-size:17px;color:#c2d4dd;max-width:780px;line-height:1.8}.inner-links{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}.inner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.info-panel{border:1px solid #355068;background:#13263a;border-radius:17px;padding:24px}.info-panel h2,.info-panel h3{font:500 26px Georgia,serif;margin:0 0 10px}.info-panel p{color:#b9cbd7;font-size:14px;line-height:1.78;margin-bottom:0}.info-panel .eyebrow{margin-bottom:10px}.info-panel:target{outline:2px solid var(--gold);outline-offset:3px}.mini-message{background:#1a2e42;padding:22px 24px;border:1px solid #587184;border-radius:14px;color:#d6e0e7;margin-top:24px;font-size:14px}.small-link{display:inline-block;color:var(--gold);font-weight:800;font-size:13px;margin-top:17px}
@media(max-width:1100px){.site-links{gap:13px}.hero-grid{gap:31px}.hero-art{grid-template-rows:218px 218px;min-height:450px}.race-art{height:225px}.race-desc{padding:16px}.race-desc h3{font-size:20px}}
@media(max-width:920px){.site-links{display:none}.menu-button{display:inline-flex}.mobile-nav:not([hidden]){display:block}.hero-grid{grid-template-columns:1fr}.hero-art{max-width:690px;min-height:410px;grid-template-rows:198px 198px;width:100%;margin:14px auto 0}.hero h1{max-width:830px}.hero-intro{max-width:750px}.intro-grid{gap:25px}.race-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.race-art{height:190px}.race-desc p{min-height:81px}.worlds-layout{grid-template-columns:1fr 1fr;gap:10px}.worlds-info{padding:16px}.creator-feature{grid-template-columns:1fr 170px}}
@media(max-width:700px){.wrap{width:min(100% - 36px,1210px)}.hero{padding:67px 0 68px}.section{padding:68px 0}.section-heading{display:block}.section-heading p{max-width:760px;margin-top:13px}.intro-grid,.wonders-grid,.discover-grid,.worlds-layout,.inner-grid{grid-template-columns:1fr}.intro-grid{gap:6px}.race-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.race-art{height:245px}.race-desc p{min-height:56px}.world-display{min-height:320px}.worlds-info{padding:13px 15px 3px}.world-summary{min-height:0}.creator-feature{grid-template-columns:1fr 125px;padding:24px}.creator-feature img{height:220px}.other-worlds{align-items:flex-start;flex-direction:column}.foot{display:block}.foot-links{margin-top:18px}.inner-hero{padding:68px 0 56px}}
@media(max-width:480px){.wrap{width:calc(100% - 28px)}.site-head .nav{height:69px;gap:7px}.brand-mark{width:37px;height:37px;font-size:20px}.brand strong{font-size:13px}.brand small{font-size:8px}.nav-creator{font-size:10px;padding:10px}.menu-button{width:38px;height:38px}.hero{padding:55px 0}.hero h1{font-size:clamp(42px,10.7vw,58px)}.hero-intro{font-size:14px}.hero-art{grid-template-rows:165px 165px;min-height:340px;gap:8px}.hero-tile{border-radius:12px}.hero-tile figcaption{font-size:9px;left:10px;bottom:10px}.section-heading h2{font-size:36px}.section-heading p{font-size:13px}.intro-lead{font-size:17px}.facts{margin-top:24px}.fact{padding:14px 11px}.fact b{font-size:29px}.fact span{font-size:10px}.race-gallery{gap:10px}.race-art{height:176px}.race-desc{padding:13px 12px}.race-desc h3{font-size:19px}.race-desc p{font-size:11px;min-height:78px}.race-link{font-size:10px}.worlds-layout{padding:11px}.world-display{min-height:265px}.world-name{font-size:36px}.wonder-copy h3{font-size:27px}.discover-card{padding:23px;min-height:215px}.creator-feature{grid-template-columns:1fr;padding:24px 23px 0}.creator-feature img{height:190px;max-width:190px;justify-self:end}.creator-feature .btn{margin-bottom:2px}.inner-hero h1{font-size:44px}.inner-hero p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.race-card,.discover-card{transition:none}}

/* Homepage update v4: a single new panoramic lead image, not reused race portraits. */
.hero-art{display:block;min-height:0;transform:none;width:100%}
.hero-panorama{position:relative;min-height:440px;aspect-ratio:4/5;overflow:hidden;border-radius:23px;border:1px solid #6b849255;box-shadow:0 28px 55px #0007;background:#112638}
.hero-panorama img{width:100%;height:100%;object-fit:cover;object-position:51% center;position:absolute;inset:0}
.hero-panorama::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#061726d9);pointer-events:none}
.hero-panorama figcaption{position:absolute;bottom:27px;left:25px;z-index:1;color:#f5dfbd;letter-spacing:.22em;font-size:11px;font-weight:850;text-shadow:0 2px 6px #071725}
/* Stack concept sheets: large, readable drawings above their own text. */
.wonders-grid{grid-template-columns:minmax(0,1fr);gap:26px;max-width:960px;margin-inline:auto}
.wonder-sheet{padding:13px}
.wonder-sheet img{aspect-ratio:auto;max-height:none;width:100%;height:auto;object-fit:contain}
.wonder-copy{padding:22px 28px 26px}
@media(max-width:920px){.hero-art{min-height:0;max-width:850px;margin:10px auto 0}.hero-panorama{min-height:0;aspect-ratio:16/9}.wonder-sheet{padding:11px}}
@media(max-width:700px){.hero-art{min-height:0}.hero-panorama{aspect-ratio:16/10}.hero-panorama figcaption{left:16px;bottom:18px;font-size:9px}.wonder-sheet{padding:9px}.wonder-copy{padding:19px 22px 23px}}
@media(max-width:480px){.hero-art{min-height:0}.hero-panorama{aspect-ratio:5/4;min-height:0}.wonder-sheet{padding:8px}}

/* Featured character profile names and concise introductions */
.race-desc .portrait-name{display:block;font-size:13px;color:#f1e1c8;font-weight:750;line-height:1.45;margin:1px 0 6px}.race-desc .portrait-note p{font-size:11px;line-height:1.62;color:#a9bdcb}

/* Homepage v6: user-provided campfire hero. Keep the complete original composition visible on every screen. */
.hero-panorama{aspect-ratio:1535/1024;min-height:0}
.hero-panorama img{object-fit:contain;object-position:center center}
@media(max-width:920px){.hero-panorama{aspect-ratio:1535/1024;min-height:0}}
@media(max-width:700px){.hero-panorama{aspect-ratio:1535/1024;min-height:0}}
@media(max-width:480px){.hero-panorama{aspect-ratio:1535/1024;min-height:0}}
