@charset "UTF-8";
:root{color-scheme:dark;--bg:#0f110e;--panel:#171a13;--gold:#dbbb77;--muted:#aaa995;--line:#aa905338;--text:#eee9dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,summary,select{font:inherit}button,summary{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.15}h2{font-size:clamp(32px,4vw,48px)}h3{font-size:24px}header{position:sticky;top:0;z-index:40;height:92px;display:flex;align-items:center;gap:32px;padding:12px max(24px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:#0f110eef;backdrop-filter:blur(18px)}.brand{width:160px;flex-shrink:0}.brand img{width:100%;display:block}header nav{display:flex;align-items:center;gap:32px;margin-inline-start:auto}header nav a{color:#c6c6b3;font-size:14px;white-space:nowrap}header nav a:hover,header nav [aria-current]{color:var(--gold)}.nav-register{padding:9px 18px;border:1px solid var(--gold);border-radius:3px;color:var(--gold)!important}.language{position:relative;font-size:13px}.language summary{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:3px;list-style:none;white-space:nowrap}.language summary::-webkit-details-marker{display:none}.language img{width:22px;height:15px;object-fit:contain}.language-options{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:220px;max-height:420px;overflow:auto;background:#191c15;border:1px solid var(--gold);padding:6px;border-radius:6px;box-shadow:0 16px 50px #0009}.language-options button{width:100%;display:flex;align-items:center;gap:12px;padding:9px 10px;border:0;color:var(--text);background:none;text-align:start}.language-options button:hover{background:#37301e}.menu-toggle{display:none}.hero{position:relative;min-height:730px;display:flex;align-items:center;background:linear-gradient(90deg,#10110ee8 0%,#10110e80 45%,transparent 75%),linear-gradient(0deg,var(--bg),transparent 25%),url('hero-original.png') center/cover no-repeat}.hero-content{position:relative;max-width:1200px;width:100%;margin:0 auto;padding:84px 24px 130px}.hero h1{font-size:clamp(44px,5.5vw,78px);max-width:650px;color:#f5efda;letter-spacing:-2px;margin-bottom:28px;text-wrap:balance}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:bold;color:var(--gold);margin-bottom:20px}.hero-description{max-width:470px;color:#c9c8b7;font-size:18px;line-height:1.8;margin-bottom:32px}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border:1px solid var(--line);border-radius:3px;font-size:14px;font-weight:bold;transition:background .2s,transform .2s}.primary{background:linear-gradient(115deg,#e5c685,#b5904e);border-color:#e5c685;color:#262414;box-shadow:0 6px 24px #dab5711a}.secondary{background:#171a1380;color:#efdfbb;border-color:#a58e5855}.button:hover{transform:translateY(-2px);background:#f3d998;color:#1a1b13}.stats{position:relative;margin:-60px auto 0;max-width:1152px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#181b14e8;backdrop-filter:blur(14px);border-radius:4px}.stat{padding:26px 22px;text-align:center;border-inline-end:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font:36px Georgia,serif;color:var(--gold);margin-bottom:5px}.stat span{font-size:13px;color:#c4c3b2}.section{max-width:1200px;margin:0 auto;padding:92px 24px}.section-heading{max-width:660px;margin-bottom:36px}.lead{color:var(--muted);font-size:17px;line-height:1.9}.story{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:70px}.story .section-heading{margin:0}.story-art{height:350px;overflow:hidden;border:1px solid var(--line);border-radius:4px;position:relative}.story-art img{height:100%;width:100%;object-fit:cover;object-position:60% 0}.story-art::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0f110e,transparent 50%)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{padding:30px;background:linear-gradient(145deg,#212318,#14170f);border:1px solid var(--line);border-radius:4px;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:#bfa266;transform:translateY(-4px)}.feature-card img{width:40px;height:55px;object-fit:contain;filter:drop-shadow(0 4px 8px #000);margin-bottom:22px}.feature-card h3{font-size:25px;color:#e7d7b4}.feature-card p{color:#aaa995;font-size:14px;line-height:1.8;min-height:75px}.card-link{color:var(--gold);font-size:12px;font-weight:bold;letter-spacing:.3px}.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.class-card{position:relative;min-height:260px;text-align:center;padding:30px 18px;border:1px solid var(--line);border-radius:4px;background:radial-gradient(ellipse at 50% 20%,#5d503122,#151810 70%);transition:border-color .2s}.class-card:hover{border-color:var(--gold)}.class-card img{height:100px;width:80px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 10px 20px #000);margin:15px 0}.class-number{position:absolute;inset-inline-start:18px;top:15px;font:14px Georgia,serif;color:#8c7950}.class-card h3{color:#dfccaa;margin-bottom:18px}.callout{max-width:1152px;margin:30px auto 90px;padding:56px;background:linear-gradient(110deg,#363020,#1a1e14);border:1px solid #ad915655;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:32px}.callout .section-heading{margin:0}.callout .lead{margin:0;max-width:550px}.callout .button{flex-shrink:0}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:30px 24px;display:flex;gap:28px;flex-wrap:wrap;font-size:12px;color:var(--muted)}footer>span{color:var(--gold);letter-spacing:2px;margin-inline-end:auto}.hero-short{min-height:560px}.hero-short h1{font-size:clamp(38px,5vw,62px)}.hero-short .hero-content{padding-bottom:100px}.contents{position:sticky;top:92px;z-index:20;display:flex;overflow-x:auto;gap:24px;padding:16px max(24px,calc((100vw - 1152px)/2));background:#11140fed;border-block:1px solid var(--line);margin-top:45px;scrollbar-width:thin;backdrop-filter:blur(10px)}.contents a{font-size:12px;color:#d7cbb1;white-space:nowrap}.contents a:hover{color:var(--gold)}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.research-card{padding:22px;border:1px solid var(--line);background:var(--panel);border-radius:4px;display:flex;gap:12px;align-items:center}.research-card strong{color:var(--gold);font-size:13px;white-space:nowrap}.research-card span{font-size:13px}.research-card span:last-child{margin-inline-start:auto;color:var(--gold)}.quest-sample{border:1px solid var(--line);border-radius:5px;background:var(--panel);padding:32px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.quest-sample img{width:40px}.quest-sample h3{margin:0;color:var(--gold)}.quest-sample p{margin:0;color:var(--muted)}.quest-sample .button{margin-inline-start:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border-top:1px solid var(--line);padding-top:28px}.step>span{color:var(--gold);font-size:12px;letter-spacing:3px}.step h3{margin:16px 0}.step p{font-size:14px;color:var(--muted)}.dungeon-banner{min-height:320px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:45px;background:linear-gradient(90deg,#1a1e15f5,#1a1e15a0),url('assets/classes.png') center/cover;border:1px solid var(--line);border-radius:4px}.dungeon-banner h3{font-size:38px;margin:20px 0 10px}.pill{display:inline-block;border:1px solid var(--line);padding:5px 12px;color:var(--gold);font-size:12px;border-radius:3px}.preference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.preference{padding:24px;background:var(--panel);border:1px solid var(--line)}.preference .pill{margin-inline-end:6px;margin-bottom:6px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(min-width:1600px){.hero{background-position:center 42%}}
@media(max-width:1000px){header{gap:16px;padding:12px 24px}header nav{gap:18px}.brand{width:130px}.hero h1{max-width:550px}.story{gap:30px}.research-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){header{height:76px;gap:12px;padding:10px 16px}.brand{width:120px}.menu-toggle{display:block;margin-inline-start:auto;background:none;border:1px solid var(--line);color:var(--gold);padding:8px 10px;border-radius:3px;font-size:12px}header nav{display:none;position:absolute;top:76px;inset-inline:0;padding:24px;background:#141710;border-bottom:1px solid var(--line)}header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:18px}.language summary{padding:7px;font-size:11px}.language summary span:nth-child(2){max-width:70px;overflow:hidden;text-overflow:ellipsis}.hero{min-height:650px;background-position:64% center;background-image:linear-gradient(90deg,#0f110ef0,#0f110ea0),linear-gradient(0deg,var(--bg),transparent 40%),url('hero-original.png')}.hero-content{padding:75px 24px 110px}.hero h1{font-size:52px;letter-spacing:-1px}.hero-description{font-size:16px}.stats{margin:-42px 16px 0;grid-template-columns:repeat(2,1fr)}.stat{padding:18px 12px;border-bottom:1px solid var(--line)}.stat strong{font-size:30px}.section{padding:65px 24px}.story{grid-template-columns:1fr;gap:25px}.story-art{height:260px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card{padding:24px}.class-grid{grid-template-columns:repeat(2,1fr)}.callout{margin:15px 16px 60px;padding:32px;flex-direction:column;align-items:flex-start}.contents{top:76px;padding:14px 24px;gap:20px}.research-grid,.steps,.preference-grid{grid-template-columns:1fr}.quest-sample{gap:18px;padding:24px}.quest-sample .button{margin-inline-start:0}.dungeon-banner{padding:30px}.hero-short{min-height:590px}}
@media(max-width:430px){.feature-grid{grid-template-columns:1fr}.feature-card p{min-height:0}.hero h1{font-size:44px}.hero-description{max-width:310px}.button{padding:13px 20px}.eyebrow{letter-spacing:2px;font-size:10px}.language summary span:nth-child(2){display:none}.brand{width:112px}.research-card{padding:18px}footer{gap:20px}.stat span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.button:hover,.feature-card:hover{transform:none}}
