:root{color-scheme:dark;--text:#f7f0dc;--muted:#bfc9c4;--dim:#8a9c94;--mint:#69d0aa;--amber:#e2b14f;--line:rgba(190,224,214,.18);--panel:rgba(14,22,25,.88)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:radial-gradient(at 80% 0,rgba(105,208,170,.12),transparent 45%),#0b1114;color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}p{color:var(--muted);line-height:1.65}h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;margin-bottom:0}h3{font-size:1.12rem}button{color:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 5%;border-bottom:1px solid var(--line);background:#080d10}.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:800}.brand img{width:38px;height:38px}.brand b{color:var(--mint)}nav{display:flex;gap:28px;font-size:.9rem;color:var(--muted)}nav a:hover,footer a:hover{color:var(--mint)}.realm{font-size:.75rem;color:var(--muted)}.realm i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.intro{position:relative;isolation:isolate;min-height:450px;padding:80px 5% 64px;display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(7,11,13,.96),rgba(7,11,13,.42) 65%,rgba(7,11,13,.2)),url('./assets/portal-scene.svg') center 48%/cover}.intro:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b1114,transparent 50%)}.eyebrow{font-size:.7rem;letter-spacing:.09em;font-weight:800;text-transform:uppercase;color:var(--mint);margin-bottom:12px}h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:1;letter-spacing:-.045em;margin-bottom:24px}.intro-copy>p:not(.eyebrow){max-width:590px;font-size:1.02rem}.button{border:1px solid var(--line);background:#182426;min-height:46px;padding:12px 18px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:750;font-size:.87rem;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:#253735;transform:translateY(-1px)}.button.primary{background:linear-gradient(#93eccb,#45aa83);color:#07100d;border-color:#8ce5c2}.button.primary:hover{background:#9af2ce}.intro .button{margin-top:12px;min-width:224px;justify-content:space-between}.chapter{padding:20px 24px;border-left:2px solid var(--amber);background:rgba(8,13,16,.6);display:grid;gap:9px;min-width:245px}.chapter span,.number{color:var(--amber);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.chapter strong{font-size:1.2rem}.chapter small{color:var(--muted)}.adventure{padding:48px 5% 64px;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.session{color:var(--dim);font-size:.77rem}.selection-title{margin-bottom:22px}.selection-title h3{margin-bottom:6px}.selection-title p{font-size:.9rem}.classes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-card{display:flex;align-items:flex-start;flex-direction:column;text-align:left;border:1px solid var(--line);border-radius:8px;padding:28px;background:radial-gradient(at 90% 0,rgba(105,208,170,.1),transparent 60%),var(--panel);transition:border-color .2s,transform .2s}.class-card:hover{transform:translateY(-4px);border-color:var(--mint)}.class-card img{width:95px;height:95px;margin-bottom:22px}.class-card strong{font-size:1.5rem;margin-bottom:12px}.class-card>span:not(.eyebrow){color:var(--muted);line-height:1.6;font-size:.9rem}.class-card small{color:var(--amber);margin:22px 0}.class-card b{font-size:.84rem;color:var(--mint);margin-top:auto}.route{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;margin:0 0 20px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.route li{padding:16px 14px;color:var(--dim);font-size:.75rem;border-right:1px solid var(--line);display:flex;align-items:center;gap:10px}.route li:last-child{border:0}.route li span{font-weight:800;color:var(--dim)}.route li.current{background:rgba(105,208,170,.1);color:var(--text)}.route li.current span,.route li.done span{color:var(--mint)}.game-grid{display:grid;grid-template-columns:250px minmax(0,1fr) 260px;gap:18px;align-items:start}.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:24px}.hero-name{display:flex;align-items:center;gap:14px;margin-bottom:28px}.hero-name img{width:56px;height:56px}.hero-name h3{margin-bottom:5px}.hero-name .eyebrow{margin-bottom:5px}.hero-name span{color:var(--amber);font-size:.75rem}.meter-label{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:var(--muted);margin-bottom:9px}.meter-label strong{color:var(--text)}meter{display:block;width:100%;height:10px;border:0;border-radius:10px;overflow:hidden;background:#080d10;appearance:none}meter::-webkit-meter-bar{background:#080d10;border:0}meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#358e6f,var(--mint))}meter::-moz-meter-bar{background:var(--mint)}#enemy-hp::-webkit-meter-optimum-value{background:linear-gradient(90deg,#9e503e,#e29b64)}#enemy-hp::-moz-meter-bar{background:#e29b64}.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:5px;overflow:hidden;margin:24px 0}.stats div{background:#0e171a;padding:13px}.stats dt{color:var(--dim);font-size:.72rem}.stats dd{margin:6px 0 0;font-weight:800}.inventory{border-top:1px solid var(--line);padding-top:22px}.inventory p,.hint{font-size:.78rem}.hint{color:var(--dim)}.text-button{border:0;background:none;padding:10px 0;color:var(--muted);text-decoration:underline;font-size:.78rem}.encounter{text-align:center;background:radial-gradient(at 50% 25%,rgba(105,208,170,.08),transparent 65%),var(--panel);min-height:540px}.encounter-top{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left}.encounter-top .eyebrow{margin:0}.tag{border:1px solid var(--line);padding:5px 8px;border-radius:4px;font-size:.65rem;color:var(--amber);white-space:nowrap}.encounter-art{margin:25px auto 16px;width:136px;height:136px;display:grid;place-items:center;background:radial-gradient(circle,rgba(105,208,170,.15),transparent 70%)}.encounter-art img{width:116px;height:116px;filter:drop-shadow(0 10px 22px #0006)}.encounter h3{font-size:1.65rem;margin-bottom:12px;outline:none}.encounter>p{font-size:.87rem;min-height:44px}.intent{color:var(--amber);font-size:.78rem;margin:14px 0 20px}.combat-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.combat-actions .button{flex-direction:column;gap:4px;padding:12px 8px}.button small{font-weight:400;font-size:.65rem}.skill{border-color:#9b87d96b;background:#9b87d916}.journal h3{font-size:1rem}.announcement{font-size:.8rem;color:var(--amber);padding-bottom:16px;border-bottom:1px solid var(--line)}#log{list-style:none;margin:0;padding:0;display:grid;gap:14px}#log li{font-size:.76rem;line-height:1.6;color:var(--muted);border-left:2px solid var(--line);padding-left:12px}#log li:first-child{border-color:var(--mint);color:var(--text)}.guide{padding:48px 5% 60px;border-top:1px solid var(--line);background:#101617;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:38px}.guide h2{font-size:1.8rem}.guide h3{margin:14px 0 10px}.guide p{font-size:.83rem;margin:0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 5%;border-top:1px solid var(--line);font-size:.75rem;color:var(--dim)}footer .brand{font-size:.9rem}
@media(min-width:1600px){.intro{padding-left:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:1150px){.game-grid{grid-template-columns:230px minmax(0,1fr)}.journal{grid-column:1/-1}#log{grid-template-columns:1fr 1fr}.guide{grid-template-columns:1fr 1fr}.realm{display:none}}@media(max-width:700px){html{scroll-padding-top:16px}.topbar{padding:14px 5%;gap:14px}.brand{font-size:.95rem}.brand img{width:30px;height:30px}nav{gap:14px;font-size:.75rem}.intro{min-height:460px;padding-top:60px;display:block;background-position:60% center}.chapter{margin-top:30px;min-width:0;width:fit-content;padding:12px 18px}.chapter strong{font-size:1rem}.chapter small{font-size:.72rem}.intro-copy>p:not(.eyebrow){font-size:.9rem}.section-heading{align-items:start;flex-direction:column;gap:12px}.classes,.game-grid{grid-template-columns:1fr}.class-card{padding:24px}.class-card img{width:70px;height:70px;margin-bottom:16px}.route li{padding:12px 4px;display:grid;gap:5px;text-align:center;font-size:.6rem}.route li span{font-size:.8rem}.hero-sheet{padding:20px}.hero-name{margin-bottom:18px}.stats{grid-template-columns:repeat(4,1fr);margin:16px 0}.stats div{padding:10px}.inventory,.hero-sheet .hint{display:none}.hero-sheet .text-button{padding:2px 0}.encounter{padding:22px 18px;min-height:0}.encounter-art{margin-top:20px}.journal{grid-column:auto}#log{grid-template-columns:1fr}.guide{grid-template-columns:1fr;gap:28px}.guide h2 br{display:none}footer{flex-wrap:wrap}footer span{order:3;flex-basis:100%}.adventure{padding-top:34px;padding-bottom:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
