@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#193f45;--teal:#116774;--gold:#f3c46c;--paper:#faf9f4;--muted:#657676;--line:#dce4dc;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid #bd7a13;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-1.2px}h1{font-size:clamp(52px,5.4vw,84px)}h2{font-size:clamp(36px,3.4vw,50px)}h3{font-size:21px;line-height:1.35;font-weight:600}em{font-weight:400;color:var(--teal)}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.header{height:94px;padding:0 max(48px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;background:#fffdf8;position:relative;z-index:5;border-bottom:1px solid #e7e5db}.brand img{width:174px;height:87px;object-fit:contain}.header nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.header nav>a:not(.button){padding:12px 0;position:relative}.header nav .active:after{content:'';height:2px;background:var(--teal);position:absolute;bottom:5px;left:0;right:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid transparent;background:var(--teal);color:white;padding:16px 24px;font-weight:700;font-size:13px;border-radius:4px;box-shadow:0 3px 0 #0000000d;transition:background .2s,transform .2s}.button:hover{background:#0a505b;transform:translateY(-2px)}.button.gold{background:var(--gold);color:#263d3c;border-color:#fce1a5}.button.gold:hover{background:#f9d68e}.button.small{padding:12px 20px}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:700;line-height:1.5;margin-bottom:18px}.hero{position:relative;min-height:620px;overflow:hidden;display:flex;align-items:center;background:#d8eaf0}.hero-art{position:absolute;inset:0;background:url('assets/adventure.png') center 55%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,248,240,.96),rgba(237,248,239,.83) 27%,rgba(237,248,239,.18) 57%,transparent 76%)}.hero-content{position:relative;padding-block:72px 100px}.hero h1{max-width:730px}.hero-copy{margin-top:24px;font-size:16px;line-height:1.8}.actions{display:flex;align-items:center;gap:25px;margin-top:32px}.text-link,.link-button{font-weight:600;font-size:13px;color:var(--teal)}.text-link:hover,.link-button:hover{text-decoration:underline;text-underline-offset:5px}.text-link span{margin-left:12px}.hero-note{font-size:10px;margin-top:18px;color:#526765;letter-spacing:.5px}.hero-caption{position:absolute;bottom:30px;right:48px;color:white;font-size:11px;text-shadow:0 2px 8px black;letter-spacing:.5px}.hero-caption span{margin-right:12px;color:#ffe2a2}.welcome-strip{background:#173f46;color:#e7efea}.strip-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:76px;font-size:12px}.strip-inner strong{font-weight:500;color:#ffe0a0}.strip-inner a{font-size:11px}.spark{color:var(--gold);font-size:24px;margin-right:16px;vertical-align:middle}.section{padding-block:78px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:11px}.quiet-label{font-size:11px;color:var(--muted);padding-bottom:7px}.news-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px}.news-feature{border:1px solid var(--line);background:#fffefa;border-radius:6px;overflow:hidden}.news-feature>img{width:100%;height:252px;object-fit:cover}.news-feature>div{padding:27px 30px}.news-feature .eyebrow{font-size:9px;color:var(--teal);margin-bottom:10px}.news-feature h3{font-size:25px}.news-feature p:not(.eyebrow){font-size:13px;color:var(--muted);margin-block:12px 20px}.notice-list{display:flex;flex-direction:column}.notice-list article{display:flex;gap:24px;padding:23px 0;border-bottom:1px solid var(--line);flex:1}.notice-list article:first-child{padding-top:4px}.notice-list article:last-child{border:0}.notice-number{font:22px var(--serif);color:#849696;padding-top:4px}.notice-list .eyebrow{font-size:9px;margin-bottom:7px;color:var(--teal)}.notice-list h3{font-size:19px}.notice-list p:not(.eyebrow){font-size:12px;color:var(--muted);margin:8px 0 10px}.notice-list a,.notice-list button{font-size:11px;font-weight:600;color:var(--teal)}.link-button{border:0;background:none;padding:0}.discover{background:#edf1e9;border-block:1px solid #e0e7dc;padding-block:70px}.discover-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.discover h2{font-size:53px}.discover-layout>div>p:not(.eyebrow){max-width:450px;font-size:14px;color:var(--muted);margin-top:24px}.world-traits{display:flex;gap:30px;margin:30px 0}.world-traits>div{flex:1}.world-traits span{display:block;color:#a17a29;font-size:26px}.world-traits strong{font-size:12px}.world-traits p{font-size:11px;color:var(--muted);margin-top:5px}.world-picture{height:420px;position:relative;border:8px solid #fffdf8;outline:1px solid #d4ded3;transform:rotate(2deg);box-shadow:0 16px 30px #163c3712}.world-picture img{width:100%;height:100%;object-fit:cover;object-position:right}.picture-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#123d39d9);color:white;padding:50px 20px 20px;font:italic 24px var(--serif)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:45px}.steps article{border-top:1px solid #c7d5ca;padding-top:24px}.steps article>span{font:36px var(--serif);color:#a28344}.steps h3{margin:17px 0 12px}.steps p{color:var(--muted);font-size:13px;margin-bottom:22px;max-width:310px}.download{padding:45px 50px;background:#173f46;color:white;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.download:after{content:'✧';position:absolute;font:300px var(--serif);color:#ffffff06;right:250px;pointer-events:none}.download .eyebrow{color:#f1d197;margin-bottom:12px}.download h2{font-size:43px}.download p:not(.eyebrow){font-size:13px;color:#becfce;margin-top:12px}.download-action{display:flex;flex-direction:column;gap:12px;align-items:center;flex-shrink:0}.download-action>span{font-size:10px;color:#c4d0ce}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;padding-block:80px}.faq h2{font-size:38px}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq details:first-child{padding-top:0}.faq summary{cursor:pointer;font-size:13px;font-weight:600}.faq details p{margin-top:14px;color:var(--muted);font-size:13px}.footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:35px;padding-block:25px}.footer img{width:120px;height:60px;object-fit:contain}.footer p{font-size:11px;color:var(--muted);flex:1}.footer small{font-size:9px}.footer>a:last-child{font-size:11px}.skip{position:absolute;left:20px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}dialog{border:1px solid #d0dfd8;border-radius:10px;max-width:450px;width:calc(100% - 40px);padding:42px;color:var(--ink);background:var(--paper);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#092e39aa;backdrop-filter:blur(4px)}dialog h2{font-size:35px}dialog p:not(.eyebrow){margin:20px 0 25px;color:var(--muted);font-size:14px}.close-dialog{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px}.register-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 94px)}.register-story{position:relative;background:linear-gradient(180deg,#102e3eaa,#0b384354),url('assets/adventure.png') 73% center/cover;color:white;padding:80px 70px;display:flex;flex-direction:column;justify-content:space-between;gap:80px}.register-story h1{font-size:75px}.register-story em{color:#ffda8f}.register-story p:not(.eyebrow){margin:30px 0 20px;color:#e4eceb}.register-story a{font-size:13px;text-decoration:underline;text-underline-offset:6px}.story-bottom{font-size:11px;letter-spacing:.5px}.register-panel{padding:55px 50px;background:#fffefa}.form-wrap{max-width:405px;margin:auto}.form-wrap h2{font-size:44px}.form-intro{font-size:13px;color:var(--muted);margin:12px 0 22px}.preview-note{background:#f4eedf;border:1px solid #e6d8b9;border-radius:4px;font-size:11px;padding:11px 14px;color:#6e592b;margin-bottom:22px}.preview-note strong{display:block;font-size:10px;letter-spacing:.5px}form label:not(.checkbox){display:block;font-size:12px;font-weight:600;margin:17px 0 7px}form input:not([type=checkbox]){width:100%;border:1px solid #ccd7cf;padding:12px 14px;border-radius:4px;background:#fff;color:var(--ink);font-size:13px}form input::placeholder{color:#82918c}form small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.password-wrap{position:relative}.password-wrap input{padding-right:64px!important}.password-wrap button{position:absolute;right:11px;top:10px;background:none;border:0;padding:3px;font-size:11px;color:var(--teal)}.checkbox{display:flex;align-items:start;gap:9px;font-size:11px;margin:23px 0}.checkbox input{accent-color:var(--teal);margin:3px 0 0;width:15px;height:15px}.inline-link{border:0;padding:0;background:none;text-decoration:underline;color:var(--teal);font-size:inherit}.submit-button{width:100%;justify-content:space-between}.rules-copy{font-size:12px;background:#edf1e9;padding:16px;margin-bottom:20px}.rules-copy p{margin-top:8px}#form-message{font-size:12px;color:var(--teal);margin-top:15px}#form-message.error{color:#a13c2f}.form-foot{font-size:11px;text-align:center;margin-top:24px;color:var(--muted)}.form-foot a{color:var(--teal);font-weight:600}.privacy-note{font-size:9px;color:var(--muted);text-align:center;margin-top:25px}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:710px}.hero-art{background-position:center 54%}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header{padding-inline:28px}.header nav{gap:22px}.hero{min-height:570px}.hero h1{font-size:64px}.hero-shade{background:linear-gradient(90deg,#edf7efef,#edf7efc9 35%,#edf7ef22 75%)}.news-grid{gap:28px}.discover-layout{gap:35px}.discover h2{font-size:45px}.world-picture{height:380px}.register-story{padding:65px 40px}.register-story h1{font-size:64px}.register-panel{padding:45px 30px}.download{padding:35px}.download h2{font-size:36px}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header{height:78px;padding-inline:20px}.brand img{width:140px;height:70px}.menu-toggle{display:block;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:12px;padding:9px 12px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:20px;gap:12px;box-shadow:0 15px 20px #123f4922}.header nav.open{display:flex}.header nav .active:after{display:none}.hero{min-height:650px;align-items:start}.hero-art{background-position:65% bottom}.hero-shade{background:linear-gradient(180deg,#eef7f0f5,#eef7f0e8 38%,#eef7f05c 65%,transparent)}.hero-content{padding-block:42px 230px}.hero h1{font-size:53px}.eyebrow{font-size:9px;letter-spacing:1.8px}.hero-copy{font-size:14px;margin-top:20px}.actions{align-items:start;gap:16px;flex-direction:column;margin-top:23px}.hero-note{font-size:9px}.hero-caption{font-size:9px;right:20px;bottom:18px}.strip-inner{display:block;padding-block:20px;font-size:11px}.strip-inner a{display:block;margin:8px 0 0 34px;font-size:10px}.spark{margin-right:9px}.strip-inner strong{display:block;margin-left:34px}.section{padding-block:50px}.quiet-label{display:none}.section-heading{margin-bottom:25px}.news-grid{grid-template-columns:1fr;gap:27px}.news-feature>img{height:auto;aspect-ratio:1.85}.news-feature>div{padding:23px}.notice-list article{padding:22px 0}.notice-list article:last-child{padding-bottom:0}.discover{padding-block:45px}.discover-layout{grid-template-columns:1fr;gap:40px}.discover h2{font-size:43px}.world-picture{height:340px;transform:rotate(1deg);margin-inline:4px}.steps{grid-template-columns:1fr;gap:28px;margin-top:30px}.steps article{position:relative;padding-left:58px;padding-top:20px}.steps article>span{position:absolute;left:0;top:17px}.steps h3{margin-top:0}.steps p{max-width:none;margin-bottom:12px}.download{padding:30px 24px;display:block}.download h2{font-size:36px}.download-action{align-items:start;margin-top:25px}.faq{grid-template-columns:1fr;gap:28px;padding-block:50px}.faq h2{font-size:35px}.footer{flex-wrap:wrap;gap:15px}.footer img{width:95px}.footer p{font-size:10px;flex-basis:60%}.footer small{font-size:8px}.footer>a:last-child{margin-left:auto}.register-layout{grid-template-columns:1fr}.register-story{padding:35px 25px;background-position:center 45%;min-height:250px}.register-story h1{font-size:45px}.register-story h1 br{display:none}.register-story h1 em{display:block}.register-story p:not(.eyebrow){font-size:13px;margin-top:18px}.story-bottom{display:none}.register-story .eyebrow{font-size:8px}.register-panel{padding:35px 24px}.form-wrap h2{font-size:40px}.register-body .header>.text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Live data, added with the account service: rankings, server status, optional field. */
.ranking-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:55px}
.ranking-list li{display:flex;align-items:baseline;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.ranking-rank{font:22px var(--serif);color:#849696;min-width:2ch}
.ranking-list strong{font-size:16px;color:var(--ink);overflow-wrap:anywhere}
.ranking-job{font-size:12px;color:var(--muted)}
.ranking-level{margin-left:auto;font-size:12px;font-weight:600;color:var(--teal);white-space:nowrap}
.ranking-list .ranking-empty{grid-column:1/-1;font-size:13px;color:var(--muted);border:0}
.server-status{display:inline-flex;align-items:center;gap:7px}
.server-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#9aa9a7}
.server-status[data-state="online"]::before{background:#5fd39a;box-shadow:0 0 0 3px rgba(95,211,154,.18)}
.server-status[data-state="offline"]::before{background:#e07a6a}
.optional{font-weight:400;color:var(--muted)}
@media(max-width:700px){.ranking-list{grid-template-columns:1fr}}

/* Dark theme. Follows the visitor's system setting unless they chose one with the header
   toggle (theme.js puts data-theme on <html> before the page paints). Only colours change. */
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){--ink:#e6eee9;--teal:#62c3c9;--gold:#f3c46c;--paper:#0e1b1e;--muted:#9fb3b0;--line:#26403f;color-scheme:dark}
:root:not([data-theme="light"]) :focus-visible{outline-color:#f3c46c}
:root:not([data-theme="light"]) .header{background:#122427;border-bottom-color:#22393a}
:root:not([data-theme="light"]) .button:not(.gold){background:#13707d}
:root:not([data-theme="light"]) .button:not(.gold):hover{background:#0f5f6a}
:root:not([data-theme="light"]) .hero{background:#0f2226}
:root:not([data-theme="light"]) .hero-shade{background:linear-gradient(90deg,rgba(11,25,28,.94),rgba(11,25,28,.82) 30%,rgba(11,25,28,.25) 60%,transparent 80%)}
:root:not([data-theme="light"]) .hero-note{color:#a8bcb8}
:root:not([data-theme="light"]) .welcome-strip{background:#0b1f23;color:#d7e3de;border-block:1px solid #1d3536}
:root:not([data-theme="light"]) .news-feature{background:#132629}
:root:not([data-theme="light"]) .notice-number,:root:not([data-theme="light"]) .ranking-rank{color:#7f9998}
:root:not([data-theme="light"]) .discover{background:#112326;border-color:#1f3637}
:root:not([data-theme="light"]) .world-traits span{color:#d9ae58}
:root:not([data-theme="light"]) .world-picture{border-color:#132629;outline-color:#26403f;box-shadow:0 16px 30px #0006}
:root:not([data-theme="light"]) .steps article{border-top-color:#2b4645}
:root:not([data-theme="light"]) .steps article>span{color:#cba35a}
:root:not([data-theme="light"]) .download{background:#132f35}
:root:not([data-theme="light"]) dialog{border-color:#26403f;background:#132629}
:root:not([data-theme="light"]) dialog::backdrop{background:#020a0caa}
:root:not([data-theme="light"]) .skip{background:#132629}
:root:not([data-theme="light"]) .register-panel{background:#0f2023}
:root:not([data-theme="light"]) .preview-note{background:#2a2417;border-color:#4a3d20;color:#e9d09a}
:root:not([data-theme="light"]) form input:not([type=checkbox]){background:#0b181b;border-color:#2c4848;color:var(--ink)}
:root:not([data-theme="light"]) form input::placeholder{color:#7d9390}
:root:not([data-theme="light"]) .rules-copy{background:#132629}
:root:not([data-theme="light"]) #form-message.error{color:#f2988a}
:root:not([data-theme="light"]) .header nav{box-shadow:0 15px 20px #0008}
}
@media (prefers-color-scheme:dark) and (max-width:700px){
:root:not([data-theme="light"]) .hero-shade{background:linear-gradient(180deg,rgba(11,25,28,.95),rgba(11,25,28,.88) 38%,rgba(11,25,28,.35) 65%,transparent)}
}
:root[data-theme="dark"]{--ink:#e6eee9;--teal:#62c3c9;--gold:#f3c46c;--paper:#0e1b1e;--muted:#9fb3b0;--line:#26403f;color-scheme:dark}
:root[data-theme="dark"] :focus-visible{outline-color:#f3c46c}
:root[data-theme="dark"] .header{background:#122427;border-bottom-color:#22393a}
:root[data-theme="dark"] .button:not(.gold){background:#13707d}
:root[data-theme="dark"] .button:not(.gold):hover{background:#0f5f6a}
:root[data-theme="dark"] .hero{background:#0f2226}
:root[data-theme="dark"] .hero-shade{background:linear-gradient(90deg,rgba(11,25,28,.94),rgba(11,25,28,.82) 30%,rgba(11,25,28,.25) 60%,transparent 80%)}
:root[data-theme="dark"] .hero-note{color:#a8bcb8}
:root[data-theme="dark"] .welcome-strip{background:#0b1f23;color:#d7e3de;border-block:1px solid #1d3536}
:root[data-theme="dark"] .news-feature{background:#132629}
:root[data-theme="dark"] .notice-number,:root[data-theme="dark"] .ranking-rank{color:#7f9998}
:root[data-theme="dark"] .discover{background:#112326;border-color:#1f3637}
:root[data-theme="dark"] .world-traits span{color:#d9ae58}
:root[data-theme="dark"] .world-picture{border-color:#132629;outline-color:#26403f;box-shadow:0 16px 30px #0006}
:root[data-theme="dark"] .steps article{border-top-color:#2b4645}
:root[data-theme="dark"] .steps article>span{color:#cba35a}
:root[data-theme="dark"] .download{background:#132f35}
:root[data-theme="dark"] dialog{border-color:#26403f;background:#132629}
:root[data-theme="dark"] dialog::backdrop{background:#020a0caa}
:root[data-theme="dark"] .skip{background:#132629}
:root[data-theme="dark"] .register-panel{background:#0f2023}
:root[data-theme="dark"] .preview-note{background:#2a2417;border-color:#4a3d20;color:#e9d09a}
:root[data-theme="dark"] form input:not([type=checkbox]){background:#0b181b;border-color:#2c4848;color:var(--ink)}
:root[data-theme="dark"] form input::placeholder{color:#7d9390}
:root[data-theme="dark"] .rules-copy{background:#132629}
:root[data-theme="dark"] #form-message.error{color:#f2988a}
:root[data-theme="dark"] .header nav{box-shadow:0 15px 20px #0008}
@media (max-width:700px){
:root[data-theme="dark"] .hero-shade{background:linear-gradient(180deg,rgba(11,25,28,.95),rgba(11,25,28,.88) 38%,rgba(11,25,28,.35) 65%,transparent)}
}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:15px;line-height:1;padding:0}
.theme-toggle:hover{border-color:var(--teal);color:var(--teal)}
.header nav .theme-toggle{align-self:center}
.header-tools{display:flex;align-items:center;gap:18px}
@media(max-width:700px){.header nav .theme-toggle{align-self:flex-start}}

/* Second download button (straight from the server), on the dark download panel. */
.download .download-action .button.ghost{background:transparent;color:#fff;border-color:#ffffff59;box-shadow:none}
.download .download-action .button.ghost:hover{background:#ffffff14;border-color:#ffffff99}
.download-action .button{min-width:230px}
