:root{--gold:#f0d48a;--gold-deep:#a67c2d;--cyan:#7ee7ff;--ink:#f3ecdf;--muted:#c9bfae;--panel:#060a14b8;--panel-strong:#050810db;--line:#f0d48a61;--shadow:0 24px 60px #00000059;color-scheme:dark;color:var(--ink);background:#05070d;font-family:Outfit,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit}img{max-width:100%}.scene{z-index:0;background:#05070d;position:fixed;inset:0;overflow:hidden}.scene .crossfade img{object-fit:cover}.scene-veil{pointer-events:none;background:linear-gradient(#03060e47 0%,#03060e8c 42%,#03060ed1 100%),radial-gradient(#0000 30%,#00000061 100%);position:absolute;inset:0}.crossfade{position:absolute;inset:0}.crossfade img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.crossfade img:last-child{opacity:0}.app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.top{z-index:5;backdrop-filter:blur(14px);background:#0408109e;border-bottom:1px solid #f0d48a29;justify-content:space-between;align-items:center;gap:24px;padding:16px 5vw;display:flex;position:sticky;top:0}.brand{letter-spacing:.08em;align-items:center;gap:12px;font-family:Cinzel,Georgia,serif;font-size:1.05rem;text-decoration:none;display:flex}.brand img{object-fit:contain;filter:drop-shadow(0 0 12px #7ee7ff59);width:48px;height:48px}.nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;display:flex}.nav a{color:var(--muted);font-size:.95rem;text-decoration:none}.nav a[aria-current=page],.nav a:hover{color:var(--gold)}.nav-register{border:1px solid #7ee7ff8c;border-radius:999px;padding:6px 14px;color:var(--cyan)!important}.page{flex:1;width:min(1180px,100% - 8vw);margin:0 auto;padding:28px 0 72px}.stage{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:36px;width:min(1180px,100% - 8vw);min-height:calc(100vh - 92px);margin:0 auto;padding:18px 0 36px;display:grid}.notice{aspect-ratio:1086/1448;filter:drop-shadow(0 18px 30px #00000073);width:min(320px,100%);position:relative}.notice-frame{object-fit:fill;pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.notice-copy{z-index:3;color:#ece6d6;font-size:.92rem;line-height:1.45;position:absolute;inset:23% 18% 16%;overflow:auto}.notice-copy p{white-space:pre-wrap;margin:0 0 .9rem}.notice-copy a{color:#7dd6ff}.hero{text-align:center}.crest{filter:drop-shadow(0 0 28px #5abeff59);width:min(220px,46vw);height:auto}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);margin:8px 0 0;font-size:.78rem}h1,h2,h3{letter-spacing:.04em;font-family:Cinzel,Georgia,serif;font-weight:700}h1{text-shadow:0 8px 28px #0000008c;margin:8px 0 12px;font-size:clamp(2rem,4vw,3.2rem)}.hero h1{font-size:clamp(2.4rem,5vw,4.6rem)}.lead{max-width:38rem;color:var(--muted);margin:0 auto 22px;font-size:1.08rem;line-height:1.55}.cta{flex-direction:column;align-items:center;gap:14px;display:flex}.play-button{filter:drop-shadow(0 12px 24px #00000073);width:min(520px,100%);line-height:0;display:block;position:relative}.play-button img{width:100%;height:auto}.play-button .hover{opacity:0;position:absolute;inset:0}.play-button:hover .hover,.play-button:focus-visible .hover{opacity:1}.ghost{border:1px solid var(--line);min-width:180px;color:var(--gold);background:#080c1673;border-radius:999px;justify-content:center;align-items:center;padding:10px 22px;text-decoration:none;display:inline-flex}.ghost:hover{border-color:var(--cyan);color:var(--cyan)}.band{width:min(1180px,100% - 8vw);margin:0 auto 28px}.band h2{margin:0 0 8px;font-size:1.8rem}.band-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;display:flex}.band-head p,.lede{color:var(--muted);margin:0}.grid{gap:14px;display:grid}.class-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.class-card{flex-direction:column;gap:8px;display:flex}.class-portrait{object-fit:contain;background:radial-gradient(circle,#1224408c,#0000 72%);width:100%;height:260px}.class-emblem{object-fit:contain;object-position:left center;width:min(190px,80%);height:36px}.class-hero{grid-template-columns:minmax(220px,340px) minmax(0,1fr);align-items:center;gap:28px;margin-bottom:12px;display:grid}.class-hero .class-portrait{height:360px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.boss-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.steps{grid-template-columns:repeat(3,1fr)}.card,.panel{background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(10px);border:1px solid #f0d48a38;border-radius:18px}.card{min-height:100%;padding:16px;text-decoration:none;display:block}.card:hover{border-color:#7ee7ffb3}.card h3,.panel h3{margin:0 0 8px}.card p,.panel p{color:var(--muted);margin:0;line-height:1.45}.kicker{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem}.panel{padding:22px}.filters{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.filters input,.filters select{color:var(--ink);border:1px solid var(--line);font:inherit;background:#050810cc;border-radius:12px;padding:10px 12px}.filters input{min-width:min(280px,100%)}.item-card{grid-template-columns:64px 1fr;align-items:center;gap:12px;display:grid}.item-card strong{display:block}.item-card img,.skill-icon,.portrait{object-fit:contain;background:#00000059;border-radius:10px;width:64px;height:64px}.portrait-lg{width:96px;height:96px}.meta{color:var(--gold);margin-top:4px;font-size:.85rem}.sheet{grid-template-columns:140px 1fr;align-items:start;gap:22px;display:grid}.stats{border-collapse:collapse;width:100%;margin-top:12px}.stats th,.stats td{text-align:left;vertical-align:top;border-bottom:1px solid #f0d48a29;padding:8px 0}.stats th{color:var(--muted);width:42%;font-weight:500}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{color:var(--cyan);border:1px solid #7ee7ff59;border-radius:999px;padding:4px 10px;font-size:.85rem;text-decoration:none}.tier{margin-top:22px}.tier-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.skill{grid-template-columns:64px 1fr;gap:12px;display:grid}.skill h3{font-size:1.05rem}.mana{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.mana span{color:var(--muted);background:#7ee7ff14;border-radius:6px;padding:2px 6px;font-size:.75rem}.pager{align-items:center;gap:10px;margin-top:16px;display:flex}.pager button:disabled{opacity:.4;cursor:default}.pager button,.text-link{color:var(--gold);border:1px solid var(--line);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;text-decoration:none}.crumbs{color:var(--muted);margin-bottom:16px}.crumbs a{color:var(--gold)}.footer{color:var(--muted);padding:22px 5vw 32px;font-size:.85rem}.count{color:var(--muted)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@media (width<=860px){.stage,.steps,.sheet,.class-hero{grid-template-columns:1fr}.top{flex-direction:column;align-items:flex-start}.notice{margin-inline:auto}.nav{justify-content:flex-start}}.register-panel{max-width:460px}.register-form{gap:14px;margin-top:16px;display:grid}.register-form label{color:var(--muted);gap:6px;display:grid}.register-form input{color:var(--ink);border:1px solid var(--line);font:inherit;background:#050810cc;border-radius:12px;padding:10px 12px}button.ghost{font:inherit;cursor:pointer}.register-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-ok{color:var(--cyan);margin-bottom:8px}.form-err{color:var(--gold);margin-bottom:8px}@media (prefers-reduced-motion:reduce){.play-button .hover{display:none}}
