.account-panel{margin:1.25rem 0;padding:1rem;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:1rem;background:color-mix(in srgb,currentColor 4%,transparent)}.account-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}.account-summary h2,.account-summary p{margin:.2rem 0}.account-eyebrow{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.account-details{border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);margin-top:1rem;padding-top:1rem}.account-actions,.sync-decision{display:flex;flex-wrap:wrap;gap:.6rem}.sync-decision{margin-top:1rem;padding:.8rem;border:2px solid currentColor;border-radius:.7rem}.sync-decision p,.sync-decision small{flex-basis:100%;margin:.2rem 0}.google-button{min-height:44px;max-width:360px}.device-list{list-style:none;padding:0}.device-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.account-error{color:#b42318;font-weight:700}.account-notice{padding:.75rem;border-radius:.6rem;background:color-mix(in srgb,#d88fa1 18%,transparent)}.sync-inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem;flex-basis:100%;margin:.2rem 0;padding-left:1.2rem}@media(max-width:520px){.account-summary,.device-list li{align-items:stretch;flex-direction:column}.account-summary>button,.account-actions button{width:100%}}.run-history{display:grid;gap:.65rem}.run-history article{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface)}.run-history span{color:var(--muted)}.collection-progress,.collection-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.collection-progress b{padding:.65rem .8rem;border:1px solid var(--line);border-radius:.7rem}.collection-tabs button{flex:1 1 9rem}.collection-tabs small{display:block;margin-top:.2rem}button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:760px){.movement-tutorial{top:4.5rem;width:max-content;max-width:calc(100% - 1rem)}.run-history article{display:grid}.panel{width:min(100% - 1rem,1120px)}.cards{grid-template-columns:1fr}.collection-tabs button{flex-basis:calc(50% - .65rem)}}.vampire-cloud{display:grid;gap:1rem}.cloud-decision{padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.cloud-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cloud-summary{padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--bg)}.cloud-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.cloud-summary dl>div{padding:.45rem;border:0;background:transparent}.cloud-summary dd{font-size:1rem}.cloud-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.danger-confirm{border-color:var(--hot);background:#4b1b29}.account-error{color:#ff9e8f}.account-notice{padding:.7rem;border-left:3px solid var(--accent)}@media(max-width:760px){.cloud-comparison{grid-template-columns:1fr}.cloud-summary dl{grid-template-columns:1fr 1fr}.cloud-actions button{width:100%}}.music-review{max-width:1180px}.audio-debug{position:sticky;top:82px;z-index:5;display:grid;gap:5px;margin:18px 0 24px;padding:16px 18px;border:1px solid #8f72d9;border-radius:16px;background:#100c1df0;box-shadow:0 12px 32px #09061166}.audio-debug b{color:#fff}.audio-debug span{color:#c9bde8}.music-set-grid{display:grid;gap:20px}.music-set-card{padding:20px;border:1px solid #4c3c6b;border-radius:18px;background:#151122}.music-set-card h2{margin:2px 0 4px}.phase-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:16px}.phase-preview-grid button{display:grid;gap:5px;min-height:110px;text-align:left;border-color:color-mix(in srgb,var(--phase-color) 55%,#4c3c6b);background:linear-gradient(145deg,color-mix(in srgb,var(--phase-ground) 82%,#151122),#151122)}.phase-preview-grid button b{color:var(--phase-color)}.phase-preview-grid button span,.phase-preview-grid button small{color:#d8cfee}.phase-preview-grid button.active{outline:3px solid var(--phase-color);box-shadow:0 0 28px color-mix(in srgb,var(--phase-color) 34%,transparent);transform:translateY(-2px)}@media(max-width:850px){.phase-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-debug{top:70px}}.section-preview-grid{grid-template-columns:repeat(6,minmax(110px,1fr))}.time-skip-grid{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.time-skip-grid small{margin-right:4px;color:#c9bde8}.time-skip-grid button{min-width:62px;padding:8px 12px}@media(max-width:850px){.section-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-skip-grid button{flex:1}}.vampire-glyph{display:block;flex:0 0 auto;filter:drop-shadow(0 0 8px #a777e855)}.collection-icons{display:flex;gap:.45rem;overflow:hidden;margin:.5rem 0 1rem;padding:.55rem;border:1px solid var(--line);border-radius:.8rem;background:#100c1b}.modal button:not(:last-child):before{float:left;margin-right:.55rem;color:#ffd166;content:"✦";font-size:1.15rem}.modal .evolution:before{content:"✹"}.boss-hud{z-index:16!important;border-width:2px!important;border-color:#ffcf68!important;background:linear-gradient(90deg,#170d1af2,#381124ed,#170d1af2)!important;box-shadow:0 0 24px #ff4f8744;text-transform:uppercase;letter-spacing:.06em}.boss-hud progress{height:16px!important}@media(prefers-reduced-motion:reduce){.vampire-glyph{filter:none}}:root{color-scheme:dark;--bg:#0d0b14;--surface:#171225;--soft:#231a35;--line:#483862;--text:#f7f2ff;--muted:#bdb2ce;--accent:#a777e8;--hot:#ff725e;--mint:#6fe7c8;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0;background:radial-gradient(circle at 78% 4%,#34214c 0,transparent 34rem),var(--bg)}button,input{font:inherit}button{min-height:44px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:.8rem;color:var(--text);background:var(--surface);font-weight:750;cursor:pointer}button:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.primary{border-color:var(--accent);background:linear-gradient(135deg,#8050bd,#a777e8);font-weight:900}.app-shell{min-height:100dvh}.app-shell>header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;padding:.7rem max(1rem,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#120e1ddd;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:.7rem;border:0;background:transparent}.brand span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--accent);font-size:1.25rem;font-weight:950}.menu,.panel{width:min(1120px,calc(100% - 2rem));margin:auto;padding:clamp(2rem,6vw,5.5rem) 0}.hero{max-width:800px;padding:clamp(2rem,6vw,5rem) 0}.eyebrow{margin:0 0 .4rem;color:var(--hot);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1{max-width:850px;margin:.2rem 0 1rem;font-size:clamp(2.8rem,9vw,7.2rem);line-height:.9;letter-spacing:-.055em}h2{margin:.2rem 0 .8rem}.hero p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:clamp(1rem,2vw,1.3rem);line-height:1.55}.hero button{margin:.5rem .5rem 0 0}.menu-grid,.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.menu-grid button{display:grid;gap:.4rem;min-height:120px;text-align:left;background:linear-gradient(145deg,var(--surface),var(--soft))}.menu-grid b{font-size:1.2rem}.menu-grid span,.panel p{color:var(--muted)}.panel h1{font-size:clamp(2.4rem,7vw,5rem)}.cards article,.panel dl>div,.import-preview{padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.panel dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.panel dt{color:var(--muted)}.panel dd{margin:.4rem 0 0;font-size:1.4rem;font-weight:900}.center{text-align:center}.center button{margin:.5rem}.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.settings label{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);font-weight:750}.settings input{width:22px;height:22px}.save-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.import-preview{flex-basis:100%}.run{position:relative;height:calc(100dvh - 62px);overflow:hidden}.game-host{width:100%;height:100%}.game-host canvas{display:block}.hud{position:absolute;z-index:5;top:.8rem;left:50%;display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:1rem;background:#120e1de8;transform:translate(-50%);white-space:nowrap}.hud span{color:var(--muted);font-size:.78rem}.hud b{color:var(--text)}.debug{position:absolute;right:.7rem;bottom:.7rem;padding:.5rem;border-radius:.5rem;background:#000b;font:12px monospace}.modal{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:1rem;background:#08050dcc}.modal section{width:min(620px,100%);padding:2rem;border:1px solid var(--line);border-radius:1.4rem;background:var(--surface)}.modal button{display:grid;width:100%;margin:.6rem 0;text-align:left}.modal button span{color:var(--muted)}.toast{position:fixed;z-index:50;right:1rem;bottom:1rem;max-width:min(440px,calc(100% - 2rem));padding:1rem;border:1px solid var(--hot);border-radius:.8rem;background:var(--surface)}footer{padding:2rem;text-align:center;color:var(--muted);font-size:.8rem}.loading{display:grid;min-height:100dvh;place-items:center}@media(max-width:760px){.menu-grid,.cards{grid-template-columns:1fr}.panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.settings{grid-template-columns:1fr}.hud{top:auto;right:.5rem;bottom:.5rem;left:.5rem;flex-wrap:wrap;transform:none}.hud span{flex:1}.run{height:calc(100dvh - 62px)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.play{min-width:min(360px,100%);min-height:64px;font-size:1.2rem;letter-spacing:.08em}.selected{margin-top:1rem}.locked{filter:saturate(.25);opacity:.68}.modal small{margin-top:.35rem;color:var(--mint);font-weight:800}.modal .evolution{border-color:#ffe687;background:linear-gradient(135deg,#412d59,#755337);box-shadow:0 0 28px #ffd86d33}.boss-hud{position:absolute;z-index:6;top:5rem;left:50%;display:grid;width:min(620px,calc(100% - 2rem));gap:.35rem;padding:.65rem 1rem;border:1px solid #ff5b91;border-radius:1rem;background:#170d1ae8;transform:translate(-50%);text-align:center}.boss-hud progress{width:100%;height:14px;accent-color:#ff4f87}.volume-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}.volume-settings label{display:grid;gap:.55rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);font-weight:750}.volume-settings input{width:100%}.panel>h2{margin-top:2.5rem}.cards article{transition:transform .15s,border-color .15s}.cards article:hover{border-color:var(--accent);transform:translateY(-2px)}@media(max-width:760px){.volume-settings{grid-template-columns:1fr}.boss-hud{top:4.5rem}.hero{padding-top:2rem}}@media(prefers-reduced-motion:reduce){.cards article:hover{transform:none}}.movement-tutorial{position:absolute;z-index:6;top:5.5rem;left:50%;display:grid;gap:.25rem;padding:.8rem 1rem;border:1px solid var(--accent);border-radius:.8rem;background:#120e1de8;transform:translate(-50%);text-align:center}.movement-tutorial span{color:var(--muted);font-size:.85rem}@media(max-width:760px){.movement-tutorial{top:4.5rem;width:max-content;max-width:calc(100% - 1rem)}}:root{--background: #08070d;--surface-1: #100d18;--surface-2: #171221;--surface-3: #21182e;--border: #3f3152;--border-active: #a987e8;--text-primary: #fbf7ff;--text-secondary: #d6cae3;--text-muted: #998ca9;--accent: #ad82ed;--accent-secondary: #58d8d0;--success: #67ddb2;--warning: #efc86e;--danger: #f17478;--magic: #ca77ff;--gold: #f3cc72;--bg: var(--background);--surface: var(--surface-2);--soft: var(--surface-3);--line: var(--border);--text: var(--text-primary);--muted: var(--text-muted);--hot: var(--danger);--mint: var(--accent-secondary);--radius-sm: .65rem;--radius-md: 1rem;--radius-lg: 1.45rem;--shadow-card: 0 18px 48px #02010655, inset 0 1px #ffffff08;--shadow-glow: 0 0 32px #a987e820;font-family:Segoe UI Variable,Segoe UI,ui-sans-serif,system-ui,sans-serif}html,body,#root{background:radial-gradient(circle at 82% -8%,#57378055 0,transparent 32rem),radial-gradient(circle at 5% 25%,#193e4844 0,transparent 28rem),linear-gradient(145deg,#08070d,#0d0913 55%,#09070e);color:var(--text-primary)}body:before{position:fixed;z-index:0;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%);mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%);content:""}button,input,select{font:inherit}button{position:relative;min-height:46px;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg,#1d1728,#15101e);color:var(--text-primary);box-shadow:inset 0 1px #ffffff0b;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}button:hover:not(:disabled){border-color:var(--border-active);background:linear-gradient(180deg,#281e37,#191222);box-shadow:var(--shadow-glow),inset 0 1px #ffffff12;transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0) scale(.985)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #58d8d080;outline-offset:3px}button:disabled{opacity:.45;filter:saturate(.5)}.primary{border-color:#c19af2;background:linear-gradient(135deg,#6c3e9d,#a66ce4 55%,#7650b9);box-shadow:0 12px 32px #8e55cd3d,inset 0 1px #ffffff30}.primary:hover:not(:disabled){background:linear-gradient(135deg,#7747aa,#b77cf1 55%,#815cc4);box-shadow:0 16px 42px #a869e94d,inset 0 1px #ffffff38}.danger-confirm{border-color:#ff9b9e!important;background:linear-gradient(135deg,#63252f,#8d3442)!important}.ui-icon{display:block;flex:0 0 auto}.app-shell{position:relative;z-index:1;min-height:100dvh}.app-shell>header{min-height:68px;padding:.65rem max(1rem,calc((100vw - 1180px)/2));border-bottom-color:#59416d80;background:#0b0812df;box-shadow:0 12px 35px #05030860;-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3)}.brand{gap:.8rem;padding:.35rem .55rem;letter-spacing:.015em}.brand span{position:relative;width:42px;height:42px;border:1px solid #d6bbff88;background:radial-gradient(circle at 35% 30%,#d8bcff,#8c5bc8 52%,#321d4b);box-shadow:0 0 24px #b579e844;color:#160b20}.brand span:after{position:absolute;right:6px;bottom:4px;color:#fff;content:"◆";font-size:.55rem}.brand strong{font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.back-button{display:inline-flex;align-items:center;gap:.5rem;background:transparent}.menu,.panel{width:min(1180px,calc(100% - 2rem))}.menu{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(2rem,6vw,6rem);align-items:center;min-height:calc(100dvh - 145px);padding:clamp(2.5rem,6vw,5rem) 0}.hero{position:relative;max-width:760px;padding:clamp(2rem,7vw,6rem) 0}.hero:before,.hero:after{position:absolute;z-index:-1;border:1px solid #b68cea25;border-radius:50%;content:""}.hero:before{top:7%;right:4%;width:300px;height:300px;box-shadow:inset 0 0 80px #8755b727;animation:occult-orbit 18s linear infinite}.hero:after{top:24%;right:17%;width:120px;height:120px;border-style:dashed;animation:occult-orbit 12s linear infinite reverse}.eyebrow{color:var(--accent-secondary);font-size:.75rem;letter-spacing:.18em}h1{max-width:900px;margin:.25rem 0 1.1rem;font-size:clamp(2.8rem,6.5vw,5.8rem);line-height:.96;letter-spacing:-.045em;text-wrap:balance}.hero h1{background:linear-gradient(120deg,#fff 10%,#dcc7f7 55%,#8ee6de);-webkit-background-clip:text;background-clip:text;color:transparent}h2{font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.02em}h3{color:var(--text-secondary);font-size:.76rem;letter-spacing:.11em;text-transform:uppercase}.hero p:not(.eyebrow){color:var(--text-secondary)}.play{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:62px}.selected{display:flex;align-items:center;gap:.55rem}.essence-pill,.status-pill{display:inline-flex;align-items:center;gap:.4rem;width:max-content;padding:.45rem .7rem;border:1px solid #f3cc7250;border-radius:999px;background:#392d184f;color:var(--gold);font-size:.82rem;font-weight:800}.menu-grid,.cards{gap:.85rem}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-grid button{grid-template-columns:auto 1fr;gap:.2rem .8rem;align-items:center;min-height:94px;padding:1rem;border-color:#4b385f;background:linear-gradient(145deg,#181220e8,#100c18e8)}.menu-grid button .ui-icon{grid-row:1 / span 2;color:var(--accent);filter:drop-shadow(0 0 9px #ab79e755)}.menu-grid b{font-size:1rem}.menu-grid span{font-size:.82rem;line-height:1.35}.panel{padding:clamp(2.5rem,5vw,4.5rem) 0}.panel>p{max-width:760px;line-height:1.6}.panel h1{font-size:clamp(2.4rem,5vw,4.6rem)}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.cards article,.panel dl>div,.import-preview,.cloud-decision{border:1px solid #49375d;background:linear-gradient(150deg,#191322ee,#100d17ee);box-shadow:var(--shadow-card)}.cards article{position:relative;overflow:hidden;padding:1.2rem}.cards article:after{position:absolute;inset:auto -25% -70% 25%;height:130px;border-radius:50%;background:#a874df10;filter:blur(20px);content:""}.character-card{display:grid;grid-template-rows:auto auto 1fr auto;min-height:360px}.character-card.selected-card{border-color:var(--accent);box-shadow:0 0 0 1px #b58ae955,0 24px 60px #6e3a9e42}.character-portrait{display:grid;min-height:126px;place-items:center;margin:-1.2rem -1.2rem 1rem;background:radial-gradient(circle,#7c55a934,transparent 65%),linear-gradient(160deg,#241933,#100c18)}.character-portrait .vampire-glyph{width:92px;height:92px;filter:drop-shadow(0 12px 20px #0008) drop-shadow(0 0 16px #a777e866)}.locked .character-portrait{filter:grayscale(1)}.locked-badge{display:inline-flex;align-items:center;gap:.35rem;color:var(--warning);font-size:.75rem;font-weight:800;text-transform:uppercase}.stat-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}.stat-chips span{padding:.35rem .5rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.75rem}.meta-heading{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;justify-content:space-between;margin-bottom:1.5rem}.meta-heading h1{margin-bottom:0}.upgrade-card{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;align-items:start}.upgrade-card>.ui-icon{grid-row:1 / span 4;padding:.6rem;border:1px solid #b88be955;border-radius:.8rem;background:#9e68d31a;color:var(--accent);box-sizing:content-box}.upgrade-card h2,.upgrade-card p{margin:0}.upgrade-card button{grid-column:2}.level-track{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem;margin:.45rem 0}.level-track i{height:5px;border-radius:99px;background:#382a47}.level-track i.active{background:linear-gradient(90deg,var(--accent),var(--accent-secondary));box-shadow:0 0 8px #a77ae866}.panel dl{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.panel dl>div{padding:1rem}.panel dt{color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.panel dd{color:var(--text-primary);font-variant-numeric:tabular-nums}.run-history article{position:relative;padding-left:1.35rem;border-color:#42324f;background:linear-gradient(90deg,#17111f,#100d17)}.run-history article:before{position:absolute;top:1rem;bottom:1rem;left:.55rem;width:3px;border-radius:9px;background:var(--danger);content:""}.run-history article.victory:before{background:var(--success)}.settings{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.settings label,.volume-settings label{border-color:#49375d;background:linear-gradient(145deg,#181220,#100d17);box-shadow:inset 0 1px #ffffff08}.settings input[type=checkbox]{position:relative;width:44px;height:24px;margin:0;appearance:none;border:1px solid #5c476e;border-radius:99px;background:#21182b;transition:.18s ease}.settings input[type=checkbox]:after{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);content:"";transition:.18s ease}.settings input[type=checkbox]:checked{border-color:var(--accent-secondary);background:#2d716c}.settings input[type=checkbox]:checked:after{left:23px;background:#fff}input[type=range]{height:5px;appearance:none;border-radius:99px;background:linear-gradient(90deg,var(--accent),#372944);accent-color:var(--accent)}input[type=range]::-webkit-slider-thumb{width:18px;height:18px;appearance:none;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #a777e888}.run{height:calc(100dvh - 68px);background:#08070d}.run:after{position:absolute;z-index:4;inset:0;pointer-events:none;border:0 solid #9c1838;box-shadow:inset 0 0 0 transparent;content:"";transition:box-shadow .25s ease}.run.low-health:after{box-shadow:inset 0 0 90px #a4163f7d}.hud{top:.75rem;gap:.45rem;padding:.45rem;border-color:#625079aa;border-radius:.85rem;background:#09070edb;box-shadow:0 12px 36px #0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hud-metric{display:grid;min-width:78px;gap:.2rem;padding:.35rem .5rem}.hud-metric>span{display:flex;align-items:center;justify-content:space-between;gap:.45rem;color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.hud-metric .ui-icon{color:var(--accent-secondary)}.meter{width:100%;height:5px;overflow:hidden;border-radius:99px;background:#30273b}.meter>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ef6471,#f5a17f);transition:width .18s ease}.meter.xp>i{background:linear-gradient(90deg,#8553ce,#67ded2)}.hud-level{display:grid;min-width:52px;place-items:center;padding:.3rem .65rem;border:1px solid #a47bd266;border-radius:.65rem;background:#6f449c30}.hud-level small{color:var(--text-muted);font-size:.6rem;text-transform:uppercase}.hud-level b{font-size:1.15rem}.hud button{display:grid;width:40px;min-height:40px;padding:0;place-items:center}.boss-hud{top:5.4rem;gap:.4rem;padding:.75rem 1rem;border-color:var(--gold)!important;border-radius:.8rem;background:linear-gradient(90deg,#100811f4,#32152af2,#100811f4)!important;box-shadow:0 0 45px #e9b95d30,inset 0 1px #fff2!important}.boss-hud b{display:flex;justify-content:space-between;color:#ffe6a8}.boss-hud progress{overflow:hidden;border:0;border-radius:99px;background:#342334}.boss-hud progress::-webkit-progress-bar{background:#342334}.boss-hud progress::-webkit-progress-value{background:linear-gradient(90deg,#b9325a,#ff725e,#f3cc72)}.modal{background:radial-gradient(circle,#3b205e55,transparent 35%),#050308e8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal section{width:min(1040px,100%);border-color:#71548d;background:linear-gradient(145deg,#181121f5,#0d0a13f7);box-shadow:0 30px 100px #000c,0 0 70px #a76ce522}.modal h2{font-size:clamp(2rem,5vw,3.5rem)}.modal .upgrade-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.modal .upgrade-choice{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:.4rem .8rem;min-height:210px;margin:0;padding:1.1rem;animation:card-arrive .35s ease both}.modal .upgrade-choice:nth-child(2){animation-delay:.06s}.modal .upgrade-choice:nth-child(3){animation-delay:.12s}.modal .upgrade-choice .vampire-glyph{grid-row:1 / span 3}.modal .upgrade-choice b{font-size:1.05rem}.modal .upgrade-choice em{grid-column:2;width:max-content;padding:.2rem .45rem;border:1px solid #7d609a;border-radius:999px;color:var(--text-secondary);font-size:.65rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.modal .upgrade-choice span{line-height:1.45}.modal .upgrade-choice small{grid-column:2;color:var(--accent-secondary)}.modal .evolution{border-color:var(--gold);background:linear-gradient(145deg,#392d22,#22162c);box-shadow:0 0 35px #efc86e22}.reroll-button{display:inline-flex!important;width:auto!important;align-items:center;gap:.5rem;margin-top:1rem!important}.pause-overlay{position:absolute;z-index:18;inset:0;display:grid;place-content:center;justify-items:center;background:radial-gradient(circle,#42276580,transparent 34%),#07050bbd;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pause-overlay>.ui-icon{margin-bottom:1rem;color:var(--accent);filter:drop-shadow(0 0 18px #ad82ed88)}.pause-overlay h2{margin:.2rem 0 1.4rem;font-size:clamp(2rem,5vw,4rem)}.result-panel{position:relative}.result-panel:before{position:absolute;z-index:-1;inset:2rem 10%;border-radius:50%;background:radial-gradient(circle,#b975ea24,transparent 65%);filter:blur(20px);content:""}.result-panel.victory:before{background:radial-gradient(circle,#f1cc7130,transparent 65%)}.result-character{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary)!important}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem}.vampire-cloud{gap:1.2rem}.cloud-status-hero{display:flex;align-items:center;gap:1rem;padding:1.15rem;border:1px solid #5a466f;border-radius:var(--radius-md);background:linear-gradient(120deg,#171121,#121924);box-shadow:var(--shadow-card)}.cloud-status-icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid #6b55a0;border-radius:1rem;background:#9a67df18;color:var(--accent)}.cloud-status-hero p,.cloud-status-hero h2{margin:.1rem 0}.cloud-status-hero p{color:var(--text-muted);font-size:.82rem}.cloud-comparison{position:relative}.cloud-comparison:after{position:absolute;top:50%;left:50%;display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border-active);border-radius:50%;background:var(--surface-1);color:var(--accent-secondary);content:"↔";transform:translate(-50%,-50%)}.cloud-summary{border-color:#4a395b;background:linear-gradient(145deg,#17121f,#0f0c15);box-shadow:var(--shadow-card)}.cloud-summary h3{display:flex;align-items:center;justify-content:space-between;margin-top:0}.cloud-summary dl{gap:.35rem}.cloud-summary dl>div{border-bottom:1px solid #ffffff09}.cloud-empty{display:grid;min-height:220px;place-items:center;text-align:center}.cloud-empty .ui-icon{color:var(--text-muted);opacity:.6}.account-notice{border-color:var(--warning);border-radius:0 .6rem .6rem 0;background:#5b441b26;color:var(--text-secondary)}.account-error{padding:.8rem 1rem;border:1px solid #ef747855;border-radius:.7rem;background:#69262d2a}.collection-progress b{border-color:#4b395e;background:#181220;color:var(--text-secondary)}.collection-tabs{padding:.35rem;border:1px solid #413250;border-radius:.85rem;background:#0e0b14}.collection-tabs button{border-color:transparent;background:transparent}.collection-tabs button[aria-selected=true]{border-color:#8f69bc;background:#7b4cab55;box-shadow:inset 0 1px #fff2}.collection-icons{border-color:#463556;background:linear-gradient(90deg,#100c18,#171021,#100c18)}.collection-card{display:grid;grid-template-columns:auto 1fr;gap:.4rem .85rem;align-content:start}.collection-card .vampire-glyph{grid-row:1 / span 3}.collection-card h2,.collection-card p{margin:0}.collection-status{color:var(--accent-secondary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.toast{border-color:#8f6cba;background:#171120f2;box-shadow:0 18px 50px #0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}footer{border-top:1px solid #ffffff0c;background:#08060c}@keyframes occult-orbit{to{transform:rotate(360deg)}}@keyframes card-arrive{0%{opacity:0;transform:translateY(18px) scale(.98)}}@media(max-width:900px){.menu{grid-template-columns:1fr;min-height:auto;gap:1rem}.hero{padding-bottom:1rem}.hero:before{right:0;width:220px;height:220px}.modal .upgrade-options{grid-template-columns:1fr}.modal .upgrade-choice{min-height:120px}}@media(max-width:760px){.app-shell>header{min-height:60px}.brand strong{font-size:.78rem}.menu,.panel{width:min(100% - 1.1rem,1180px)}.menu{padding-top:1.2rem}.hero{padding-top:1.3rem}h1,.panel h1{font-size:clamp(2.25rem,13vw,3.8rem)}.menu-grid{grid-template-columns:1fr}.menu-grid button{min-height:78px}.character-card{min-height:320px}.hud{top:.45rem;right:.4rem;bottom:auto;left:.4rem;flex-wrap:nowrap;overflow-x:auto;transform:none}.hud-metric{min-width:70px}.hud-metric.timer,.hud-metric.kills{display:none}.boss-hud{top:4.6rem}.cloud-comparison:after{top:50%;transform:translate(-50%,-50%) rotate(90deg)}.cloud-summary dl{grid-template-columns:1fr 1fr}.collection-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.collection-tabs button{min-width:0}.volume-settings{grid-template-columns:1fr}}@media(max-width:430px){.hero:before,.hero:after{opacity:.55}.panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-summary dl{grid-template-columns:1fr}.save-actions>button{width:100%}}@media(prefers-reduced-motion:reduce){.hero:before,.hero:after,.modal .upgrade-choice{animation:none}button,.meter>i,.settings input[type=checkbox],.settings input[type=checkbox]:after{transition:none}button:hover:not(:disabled){transform:none}}:root{--anime-ink: #07060b;--anime-night: #100b17;--anime-plum: #24122e;--anime-wine: #611d3b;--anime-crimson: #c23d57;--anime-violet: #9a68d8;--anime-gold: #e8c477;--anime-moon: #f7f1ff;--anime-cyan: #88e5df;--anime-frame: #a77bd84f;--display-font: Georgia, "Times New Roman", serif}html,body,#root{overflow-x:clip;background:radial-gradient(circle at 20% -10%,#58213e55,transparent 34rem),radial-gradient(circle at 84% 10%,#42206866,transparent 36rem),linear-gradient(180deg,#0d0912,#07060b 72%)}body:before{position:fixed;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);mask-image:linear-gradient(to bottom,black,transparent 80%);content:""}h1,h2,.brand strong,.hud-level b{font-family:var(--display-font)}h1 em{color:var(--anime-gold);font-style:italic;text-shadow:0 0 36px #d59a543e}.app-header{border-bottom-color:#c398d13a!important;background:linear-gradient(90deg,#0a0710ec,#1a0b20e9,#0a0710ec)!important;box-shadow:0 10px 34px #0008}.brand span{border:1px solid #e8c47799;background:linear-gradient(145deg,#802a50,#38214f)!important;box-shadow:inset 0 1px #fff4,0 0 24px #a93d7038;font-family:var(--display-font)}.brand strong{letter-spacing:.08em;text-transform:uppercase}button{position:relative;overflow:hidden;border-color:#8a64a35f;background:linear-gradient(145deg,#1c1325,#100c17);box-shadow:inset 0 1px #ffffff0c}button:after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 28%,#fff1 48%,transparent 68%);content:"";transform:translate(-120%);transition:transform .38s ease}button:hover:after{transform:translate(120%)}button:active{transform:translateY(1px) scale(.995)}.primary{border-color:#f2d2919c;background:linear-gradient(135deg,#7c2448,#a43a59 48%,#6f3c8f)!important;box-shadow:inset 0 1px #fff4,0 12px 32px #671d3f55,0 0 0 1px #3d1729}.menu{position:relative;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(300px,.65fr);align-items:end;min-height:calc(100dvh - 68px);isolation:isolate}.menu-key-art{position:absolute;z-index:-2;inset:0 calc(50% - 50vw);background-image:linear-gradient(90deg,#09070df5,#09070dcc 26%,#09070d28 58%,#09070d8f),linear-gradient(0deg,#09070dfa,transparent 35%),url(/assets/anime/vampire-key-art.jpg);background-position:center,center,center;background-size:cover;filter:saturate(.88) contrast(1.04)}.menu-key-art:after{position:absolute;inset:0;background:radial-gradient(circle at 74% 36%,transparent,#09070d3b 48%,#09070da8 100%);content:""}.hero{z-index:1;max-width:620px;padding:clamp(4rem,10vh,8rem) 0 clamp(3rem,8vh,6rem);text-shadow:0 3px 24px #000}.hero h1{font-family:var(--display-font);font-size:clamp(4rem,8.7vw,7.8rem);font-weight:650;letter-spacing:-.065em;line-height:.78}.hero .play{min-width:min(330px,100%);border-radius:.25rem 1rem;letter-spacing:.13em}.menu-grid{z-index:1;align-self:center;grid-template-columns:1fr!important;max-height:calc(100dvh - 120px);overflow:auto;padding:.55rem;border:1px solid #d1a4e52d;border-radius:1.2rem .25rem;background:#09070db8;box-shadow:0 30px 90px #000b,inset 0 1px #fff1;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.menu-grid button{min-height:72px!important;border-radius:.8rem .18rem;background:linear-gradient(90deg,#21132de8,#100c17e8)!important}.menu-grid button:hover{border-color:#d4a6e999;background:linear-gradient(90deg,#3a1d43f2,#17101ff2)!important;transform:translate(-4px)}.eyebrow{color:#e7c37b;letter-spacing:.18em;text-shadow:0 0 18px #dd9d533d}.panel{position:relative}.panel:before{position:absolute;z-index:-1;top:2.2rem;right:-12vw;width:48vw;height:48vw;max-width:650px;max-height:650px;border:1px solid #b98cdc13;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 17%,#b98cdc0b 17.3% 17.7%);content:"";opacity:.7}.cards article,.panel dl>div,.import-preview,.cloud-decision,.settings label,.volume-settings label{border-radius:1rem .25rem!important;border-color:#9b74b957!important;background:linear-gradient(135deg,#ffffff08,transparent 22%),linear-gradient(145deg,#1d1326ed,#0d0a12ed)!important}.cards article:before{position:absolute;inset:8px;pointer-events:none;border:1px solid #f0d49512;border-radius:.65rem .12rem;content:""}.anime-character-portrait{display:block;background-image:url(/assets/anime/character-portraits-atlas.jpg);background-repeat:no-repeat;background-size:200% 200%}.character-card{min-height:500px!important;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.character-card:hover{transform:translateY(-5px)}.character-portrait{position:relative;min-height:250px!important;overflow:hidden;border-bottom:1px solid #d7b6e94d;background:#0d0913!important}.character-portrait .anime-character-portrait{position:absolute;inset:0;width:100%;height:100%;background-size:200% 200%;transition:transform .4s ease,filter .3s ease}.character-card:hover .anime-character-portrait{transform:scale(1.035)}.character-portrait .vampire-glyph{position:absolute;right:.8rem;bottom:.8rem;width:42px!important;height:42px!important;padding:.35rem;border:1px solid #ffe8af77;border-radius:50%;background:#100b17cc}.locked .anime-character-portrait{filter:grayscale(1) brightness(.24) contrast(1.3)!important}.selected-card{border-color:var(--anime-gold)!important;box-shadow:0 0 0 1px #e8c47777,0 28px 70px #711f4e4a!important}.character-collection .collection-card{grid-template-columns:112px 1fr;min-height:180px}.character-collection .anime-character-portrait{grid-row:1 / span 4;width:112px;height:148px;border:1px solid #b98fd269;border-radius:.65rem .15rem}.hud{border-radius:.2rem .9rem!important;background:linear-gradient(90deg,#0b0711ed,#1e1028e9,#0b0711ed)!important}.hud-portrait{width:48px;height:48px;flex:0 0 48px;border:1px solid var(--anime-gold);border-radius:.15rem .65rem;box-shadow:0 0 18px #b26bce44}.meter{height:7px!important;border:1px solid #ffffff12}.boss-hud{grid-template-columns:72px 1fr;overflow:hidden;padding:.45rem 1rem .45rem .45rem!important}.boss-portrait{grid-row:1 / span 2;width:72px;height:52px;border:1px solid #e8c47777;border-radius:.15rem .55rem;background:url(/assets/anime/archive-eater-banner.jpg) 50% 38% / cover;box-shadow:inset 0 0 18px #0008}.boss-hud b,.boss-hud progress{grid-column:2}.modal{background:radial-gradient(circle at 50% 45%,#6c235d55,transparent 35%),linear-gradient(#07040bdc,#07040bf2)!important}.modal section{position:relative;border-radius:1.4rem .25rem!important}.modal section:before,.pause-overlay:before{position:absolute;inset:10px;pointer-events:none;border:1px solid #e8c47722;border-radius:1rem .15rem;content:""}.upgrade-choice{border-radius:.85rem .15rem!important}.upgrade-choice:hover{border-color:var(--anime-gold)!important;transform:translateY(-5px) scale(1.01)}.upgrade-choice.evolution{animation:evolution-glow 1.8s ease-in-out infinite alternate,card-arrive .35s ease both!important}.pause-overlay h2{font-family:var(--display-font);font-style:italic}.result-panel{display:grid;justify-items:center}.result-portrait{width:min(280px,70vw);aspect-ratio:4 / 5;margin-bottom:1.2rem;border:1px solid #e8c4778c;border-radius:1rem .2rem;box-shadow:0 28px 70px #0008,0 0 50px #85295f35}.result-panel.victory .result-portrait{box-shadow:0 28px 70px #0008,0 0 55px #e8c47738}.collection-tabs{position:sticky;z-index:6;top:72px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cloud-status-hero{border-radius:1rem .2rem!important;background:radial-gradient(circle at 85% 10%,#7e3a6944,transparent 45%),linear-gradient(130deg,#20122a,#10151f)!important}.cloud-summary,.cloud-empty{position:relative;overflow:hidden}.cloud-summary:before,.cloud-empty:before{position:absolute;right:-32px;bottom:-32px;width:120px;height:120px;border:1px solid #b98bd130;border-radius:50%;content:""}.run-history article{border-radius:.65rem .15rem}.run-history article.victory{box-shadow:inset 4px 0 #e8c477}.run-history article.defeat{box-shadow:inset 4px 0 #c23d57}@keyframes evolution-glow{0%{box-shadow:0 0 20px #e8c4771f}to{box-shadow:0 0 45px #bd6fe64f,inset 0 0 24px #e8c47712}}@media(max-width:900px){.menu{grid-template-columns:1fr;align-items:end;min-height:calc(100dvh - 60px)}.menu-key-art{background-image:linear-gradient(0deg,#09070dfb 5%,#09070d88 48%,#09070d22 75%),url(/assets/anime/vampire-key-art.jpg);background-position:center,64% center}.hero{padding:min(38vh,22rem) 0 1rem}.menu-grid{width:100%;max-height:none;grid-template-columns:repeat(2,1fr)!important}}@media(max-width:600px){.hero h1{font-size:clamp(3.3rem,17vw,5.3rem)}.hero p:not(.eyebrow){font-size:.98rem}.menu-grid{grid-template-columns:1fr!important}.character-card{min-height:440px!important}.character-portrait{min-height:220px!important}.character-collection .collection-card{grid-template-columns:88px 1fr}.character-collection .anime-character-portrait{width:88px;height:118px}.hud-portrait{display:none}.boss-hud{grid-template-columns:48px 1fr}.boss-portrait{width:48px;height:44px}}@media(prefers-reduced-motion:reduce){button:after{display:none}.upgrade-choice.evolution{animation:none!important}}@media(prefers-contrast:more){:root{--text-secondary: #fff;--text-muted: #eee}button,.cards article,.panel dl>div{border-width:2px}}
