:root{color-scheme:dark;--bg:#0c1218;--surface:#141e27;--ink:#f2f3e8;--muted:#95a5ac;--accent:#b5ef73;--line:#2a3842}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,.button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:12px 18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:18px;transition:background .18s,transform .18s}button:hover,.button:hover{background:#263642}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #75dfe3;outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--accent)!important;color:#122017!important;border-color:var(--accent)!important;font-weight:bold}.primary:hover{background:#d2ffa2!important;transform:translateY(-2px)}.small{font-size:13px;padding:9px 13px}.top{height:88px;display:flex;align-items:center;gap:30px;justify-content:space-between;padding:0 5%;border-bottom:1px solid #26333c;position:relative;z-index:5}.brand{font-size:21px;font-weight:900;letter-spacing:2px;display:inline-flex;align-items:center;gap:10px}.brand img{width:32px;height:32px}nav{display:flex;gap:28px;color:#b6c3c8;font-size:14px}nav a:hover,nav a[aria-current]{color:var(--accent)}main{min-height:75vh}.page:not(#home){max-width:1440px;margin:auto;padding:45px 5% 80px}[hidden]{display:none!important}.hero{max-width:1600px;margin:auto;min-height:690px;display:grid;grid-template-columns:43% 57%;overflow:hidden}.hero-copy{padding:85px 0 65px 12%}.eyebrow{font:11px/1.5 monospace;letter-spacing:2px;color:var(--accent);font-weight:bold}h1{font-size:clamp(50px,5.2vw,82px);line-height:.98;letter-spacing:-3px;margin:25px 0 30px}h2{font-size:36px;letter-spacing:-1px;line-height:1.1}h3{line-height:1.2}p{color:#b1bfc6}.hero h1{font-size:clamp(74px,7.8vw,128px);font-weight:900;letter-spacing:-6px;margin:28px 0}em{font-style:normal;color:var(--accent)}.hero-copy p{font-size:20px;line-height:1.65;margin-bottom:28px}.hero-copy .primary{padding:16px 22px;min-width:240px;justify-content:space-between}.caption{display:block;font:10px monospace;letter-spacing:1.7px;color:#8da39e;margin-top:18px}.hero-world{position:relative;align-self:stretch;background:radial-gradient(ellipse at 55% 40%,#203737aa,transparent 62%)}#heroCanvas{position:absolute;width:112%;height:100%;object-fit:contain;left:-7%;top:0}.world-label{position:absolute;bottom:55px;left:20%;border-left:2px solid var(--accent);padding-left:14px;font:12px monospace;letter-spacing:2px}.world-label small{display:block;letter-spacing:0;color:#95a5ac;margin-top:5px}.motion{position:absolute;right:5%;bottom:45px;background:#10191d99;font-size:12px;padding:6px 10px}.chapter-strip{display:flex;justify-content:space-around;border-block:1px solid var(--line);padding:22px 5%;font:11px monospace;letter-spacing:1px;color:#98aaa5}.home-section,.journey-note{max-width:1300px;margin:auto;padding:85px 5%}.section-heading{margin-bottom:35px}.section-heading h2{margin-top:13px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.class-card{border:1px solid var(--line);border-radius:10px;padding:25px;background:linear-gradient(150deg,#17232c,#101920);text-align:center}.class-card canvas{width:180px;height:170px;display:block;margin:auto}.class-card h3{font-size:25px;margin:10px}.class-card p{font-size:14px}.class-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #b5ef7330}.class-card button{width:100%;margin-top:15px}.journey-note{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:5px 100px}.journey-note .eyebrow{grid-column:1/-1}.journey-note h2{font-size:48px;margin:20px 0}.journey-note p{max-width:440px;align-self:center}.journey-note a{grid-column:2}.text-link{color:var(--accent)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}.page-heading h1{font-size:49px;letter-spacing:-2px;margin:12px 0}.game-layout{display:grid;grid-template-columns:225px minmax(300px,1fr) 235px;gap:20px}.panel{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:22px}.hero-panel{text-align:center;padding:18px}.hero-panel canvas{width:100%;height:145px;object-fit:contain}.hero-panel h2{font-size:23px;margin:8px 0}.level{color:var(--accent);font:12px monospace;margin-bottom:20px}.bar{background:#293941;height:8px;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:var(--accent);transition:width .25s}.hero-panel p{font-size:12px;margin:8px}.stats{display:flex;justify-content:space-around;margin:20px 0}.stats span{font:11px monospace;color:var(--muted)}.stats b{display:block;font:22px Arial;color:white}.equipment{border-top:1px solid var(--line);text-align:left;margin-bottom:18px}.equipment div{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.equipment small{color:#8fa39c;margin-right:10px}.hero-panel .button{font-size:12px;width:100%}.arena{position:relative;aspect-ratio:1.5;background:#111e27;border:1px solid var(--line);border-radius:10px;overflow:hidden}.arena canvas{width:100%;height:100%;object-fit:contain}.enemy{position:absolute;top:18px;right:20px;width:42%;text-align:right;font-size:14px}.enemy-bar{height:5px;margin-top:8px}.enemy-bar i{background:#e8b283}.enemy small{font:11px monospace;color:#b3c3cb}.arena-caption{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;color:#dce9dd;font-size:13px}.stage-dots{position:absolute;top:24px;left:20px;display:flex;gap:7px}.stage-dots i{width:9px;height:9px;background:#3a4b53;border-radius:2px}.stage-dots .done{background:var(--accent)}.stage-dots .now{background:white}.combat-actions{display:flex;gap:8px;margin-top:14px}.combat-actions button{flex:1;padding:12px 6px;font-size:13px}.check{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px;padding:15px 0}.wallet-line{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}.wallet-line strong{color:var(--accent)}.wallet-line span{color:#a0b0b7;font-size:12px}#log{font-size:12px;max-height:410px;overflow:auto}#log p{border-bottom:1px solid #26353e;padding-bottom:11px}.log-panel .eyebrow{font-size:10px}.relic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.relic{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:24px}.relic h3{margin:10px 0;font-size:22px}.relic .relic-icon{font-size:36px;color:var(--accent);line-height:1;margin-bottom:20px}.relic small{color:#99adb8}.relic p{font:14px monospace}.relic .actions{display:flex;gap:8px;margin-top:20px}.relic button{font-size:12px;padding:9px}.shop{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px}.shop h3{margin:0}.shop p{font-size:14px;margin-bottom:0}.inventory-summary{color:var(--accent)}.atlas-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.world-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.world-card canvas{width:100%;aspect-ratio:2;object-fit:cover}.world-card>div{padding:25px}.world-card h2{margin:8px 0}.world-card p{font-size:14px}.world-card button{margin-top:10px}.guide-heading{margin:20px 0 70px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 80px}.guide-grid b{color:var(--accent);font:18px monospace}.guide-grid h2{font-size:29px}.boundary{border-top:1px solid var(--line);padding-top:30px;margin-top:50px;font-size:14px}footer{border-top:1px solid var(--line);padding:32px 5%;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}footer .brand{font-size:16px}#heroForm{max-width:1100px}#heroForm label{display:block;margin-bottom:30px;max-width:440px}input[type=text],input:not([type]){display:block;width:100%;background:#15212a;border:1px solid #40525d;padding:14px;color:white;border-radius:7px;margin-top:8px}#heroForm>.primary{margin-top:28px;min-width:250px}.muted{color:var(--muted);font-size:13px}#startError{color:#ffab96}.empty{padding:60px 0}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;max-width:550px;width:90%;padding:35px}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog h2{font-size:32px}.close{position:absolute;right:12px;top:12px;border:0;background:transparent;font-size:25px;padding:0 10px}dialog .actions{display:flex;gap:10px;margin-top:22px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#edf5dc;color:#12211b;border-radius:8px;padding:13px 22px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90%}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1500px){.hero-copy{padding-left:9%}}@media(max-width:1050px){.game-layout{grid-template-columns:190px minmax(300px,1fr)}.log-panel{grid-column:1/-1}#log{max-height:160px}.hero{min-height:640px}.hero-copy{padding-top:80px}.hero h1{font-size:80px}.hero-copy p{font-size:18px}.top{gap:15px}nav{gap:16px}}@media(max-width:700px){.top{height:auto;min-height:76px;padding:16px 5%;flex-wrap:wrap}.top .brand{font-size:17px}.top nav{order:3;width:100%;justify-content:space-between;font-size:12px;margin-top:8px}.top .small{font-size:11px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:42px 7% 0}.hero h1{font-size:82px;letter-spacing:-4px}.hero-copy p{font-size:18px}.hero-world{height:410px}#heroCanvas{width:105%;left:-2%;top:-8px}.world-label{left:8%;bottom:20px}.motion{bottom:15px}.caption{font-size:9px}.chapter-strip{gap:18px;font-size:9px;overflow:hidden;padding:18px}.home-section,.journey-note{padding:50px 6%}.class-grid{grid-template-columns:1fr;gap:12px}.class-card{display:grid;grid-template-columns:100px 1fr;padding:18px;text-align:left}.class-card canvas{width:95px;height:120px;grid-row:1/4}.class-card h3{font-size:23px;margin:12px 0 0}.class-card p{margin:0;font-size:13px}.class-card button{margin:8px 0 0;grid-column:2}.journey-note{display:block}.journey-note h2{font-size:39px}.page:not(#home){padding:30px 5% 50px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:40px}.game-layout{display:flex;flex-direction:column}.hero-panel{display:grid;grid-template-columns:85px 1fr;gap:0 15px;text-align:left}.hero-panel canvas{height:100px;grid-row:1/5}.hero-panel h2{font-size:22px}.hero-panel .level{margin:0}.hero-panel .stats{grid-column:1/-1;margin:13px 0}.equipment{display:none}.hero-panel .button{grid-column:1/-1}.arena{aspect-ratio:1.45}.combat-actions button{font-size:12px}.relic-grid{grid-template-columns:1fr 1fr;gap:10px}.relic{padding:16px}.relic h3{font-size:19px}.relic .actions{flex-direction:column}.shop{display:block}.shop button{margin-top:18px}.atlas-grid,.guide-grid{grid-template-columns:1fr}.guide-heading h1{font-size:49px}.guide-heading{margin:0 0 40px}.guide-grid{gap:25px}footer span{display:none}h1{letter-spacing:-2px}.eyebrow{font-size:10px}#heroForm .class-card{cursor:pointer}.world-card h2{font-size:29px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}