:root{--bg-0: #0c0c0e;--bg-1: #141416;--bg-2: #1b1b1f;--bg-3: #232329;--border: #2c2c33;--text: #eceae6;--muted: #908d97;--gold: #ffaa00;--gold-bright: #ffc857;--ember: #ff6a1a;--blue: #2bb3d6;--blue-soft: #8fdcef;--r-common: #cfcfcf;--r-uncommon: #57d98a;--r-rare: #4aa3ff;--r-legendary: #ffcf3a;--r-mythical: #d96bff;--glow-gold: 0 0 24px rgba(255, 170, 0, .35);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--text);background:radial-gradient(120% 80% at 50% 120%,rgba(255,106,26,.1),transparent 60%),linear-gradient(180deg,#0e0e11 0%,var(--bg-0) 55%,#08080a 100%);background-attachment:fixed;overflow-x:hidden}.forge-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(40% 30% at 50% 108%,rgba(255,138,0,.22),transparent 70%),radial-gradient(30% 24% at 50% 100%,rgba(255,200,87,.14),transparent 70%);animation:forge-breathe 6s ease-in-out infinite}@keyframes forge-breathe{0%,to{opacity:.75;transform:translateY(0)}50%{opacity:1;transform:translateY(-1.5%)}}.app{max-width:680px;margin:0 auto;padding:2.5rem 1.25rem 6rem;min-height:100vh}.topbar{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;color:var(--muted)}.topbar img{height:30px;filter:drop-shadow(0 0 8px rgba(255,170,0,.4))}.topbar .wordmark{font-weight:700;letter-spacing:.04em;color:var(--text)}.landing{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8vh}.landing .logo-wrap{position:relative;width:min(320px,70vw);margin-bottom:1.5rem}.landing .logo-wrap:after{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;background:radial-gradient(circle,rgba(255,170,0,.45),transparent 62%);filter:blur(18px);z-index:-1;animation:forge-breathe 5s ease-in-out infinite}.landing img.logo{width:100%;height:auto;filter:drop-shadow(0 0 30px rgba(255,140,0,.5))}.landing h1{font-size:clamp(2.2rem,6vw,3.2rem);margin:.25rem 0 .5rem;letter-spacing:.02em;background:linear-gradient(92deg,var(--gold),var(--gold-bright) 55%,var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent}.landing .tagline{color:var(--muted);max-width:30rem;line-height:1.6;margin-bottom:2.25rem}.btn{font:inherit;font-weight:650;border-radius:12px;cursor:pointer;border:1px solid transparent;padding:.85rem 1.5rem;transition:transform .12s ease,filter .15s ease,box-shadow .2s ease,background .2s ease}.btn:active{transform:translateY(1px) scale(.99)}.btn-forge{color:#1c1300;background:linear-gradient(95deg,var(--gold),var(--gold-bright));box-shadow:var(--glow-gold);font-size:1.05rem}.btn-forge:hover{filter:brightness(1.06);box-shadow:0 0 36px #ffaa008c}.btn-gold-ghost{color:var(--gold);background:transparent;border-color:#ffaa0080}.btn-gold-ghost:hover{background:#ffaa0014;box-shadow:var(--glow-gold)}.btn-blue-ghost{color:var(--blue-soft);background:transparent;border-color:#2bb3d673}.btn-blue-ghost:hover{background:#2bb3d614;box-shadow:0 0 22px #2bb3d64d}.rail{display:flex;gap:.5rem;margin-bottom:1.75rem}.rail .seg{flex:1;height:4px;border-radius:99px;background:var(--bg-3);overflow:hidden}.rail .seg .fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 0 10px #fa09}.phase-divider{display:flex;align-items:center;gap:1rem;margin:1.6rem 0 .4rem}.phase-divider .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.phase-divider .label{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px rgba(255,170,0,.4);white-space:nowrap}.ledger{display:flex;flex-direction:column;gap:.6rem}.reveal{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid var(--border);border-left:3px solid var(--rarity, var(--gold));border-radius:10px}.reveal .k{color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.reveal .v{font-weight:600;text-align:right}.reveal .badge{display:inline-block;margin-left:.5rem;font-size:.62rem;letter-spacing:.1em;padding:.12rem .45rem;border-radius:6px;color:var(--rarity, var(--gold));border:1px solid color-mix(in srgb,var(--rarity, var(--gold)) 55%,transparent);background:color-mix(in srgb,var(--rarity, var(--gold)) 12%,transparent);vertical-align:middle}.reveal .haki-lines{margin:0;padding:0;list-style:none;text-align:right;font-weight:600}.reveal.dramatic{display:block;text-align:center;padding:1.6rem 1.2rem;border-left:none;border:1px solid color-mix(in srgb,var(--rarity, var(--gold)) 40%,var(--border));background:radial-gradient(70% 120% at 50% 0%,color-mix(in srgb,var(--rarity, var(--gold)) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--bg-2),var(--bg-1));box-shadow:0 0 40px color-mix(in srgb,var(--rarity, var(--gold)) 22%,transparent)}.reveal.dramatic .df-rule{font-size:.72rem;letter-spacing:.3em;color:var(--ember);text-transform:uppercase}.reveal.dramatic .df-name{font-size:1.5rem;font-weight:800;margin:.5rem 0 .25rem;color:var(--rarity, var(--gold));text-shadow:0 0 22px color-mix(in srgb,var(--rarity, var(--gold)) 50%,transparent)}.reveal.dramatic .df-none{color:var(--muted);font-style:italic}.prompt{padding:1.1rem;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid rgba(255,170,0,.3);border-radius:12px;box-shadow:0 0 26px #ffaa001f}.prompt .q{display:block;margin-bottom:.7rem;font-weight:600}.prompt input[type=text]{width:100%;font:inherit;color:var(--text);background:var(--bg-0);border:1px solid var(--border);border-radius:9px;padding:.7rem .85rem;outline:none}.prompt input[type=text]:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffaa0026}.prompt .row{display:flex;gap:.6rem;margin-top:.7rem}.choices{display:grid;gap:.5rem;margin-top:.2rem}.choice{text-align:left;width:100%;padding:.7rem .9rem;color:var(--text);background:var(--bg-0);border:1px solid var(--border);border-radius:9px;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .15s ease}.choice:hover{border-color:var(--gold);background:#ffaa000f;box-shadow:var(--glow-gold)}.choice .ttl{font-weight:650}.choice .desc{color:var(--muted);font-size:.85rem}.final{margin-top:1rem}.final .crest{text-align:center;margin-bottom:1.25rem}.final .epithet{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.final h2{font-size:clamp(2rem,6vw,2.8rem);margin:.2rem 0;text-shadow:0 0 30px rgba(255,170,0,.35)}.card{padding:1.6rem;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid var(--border);border-radius:16px;box-shadow:0 16px 60px #00000080,inset 0 1px #ffffff08}.card dl{display:grid;grid-template-columns:8.5rem 1fr;gap:.55rem 1rem;margin:0}.card dt{color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.card dd{margin:0;font-weight:600}.card .bounty{color:var(--gold);text-shadow:0 0 14px rgba(255,170,0,.4)}.sheet{display:flex;flex-direction:column}.sheet-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.sheet-row:last-child{border-bottom:none}.sheet-row .k{color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.sheet-row .v{font-weight:600;text-align:right}.sheet-row .v.bounty{color:var(--gold);text-shadow:0 0 14px rgba(255,170,0,.4)}.card .backstory{margin:1.4rem 0 0;padding-top:1.2rem;border-top:1px solid var(--border);color:#cdc9d2;font-style:italic;line-height:1.65}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;justify-content:center}.hint{text-align:center;color:var(--muted);font-size:.82rem;margin-top:.8rem}@media(prefers-reduced-motion:reduce){.forge-glow,.landing .logo-wrap:after{animation:none}}
