:root{
    --bg:#08070b;--panel:#111018e8;--panel2:#18131c;--line:#2f2635;--ink:#f2ece7;--muted:#9c929f;
    --blood:#9d1f2f;--blood2:#d84a55;--gold:#c4a36b;--violet:#6b526f;--green:#6f9c83;
    --shadow:0 24px 80px #0009;--radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink)}
body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:
radial-gradient(circle at 50% -20%,#31151c 0,#0b0910 38%,#07060a 72%);overflow-x:hidden}
button,input{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.42}
a{color:inherit}
.ambient,.fog{position:fixed;inset:auto;pointer-events:none;z-index:-1}
.ambient{filter:blur(70px);opacity:.25}.ambient-a{width:420px;height:420px;border-radius:50%;background:#721c29;top:8%;left:-180px}.ambient-b{width:520px;height:520px;border-radius:50%;background:#3b2947;bottom:-160px;right:-220px}
.fog{width:60vw;height:180px;border-radius:999px;background:linear-gradient(90deg,#ffffff05,#b69aa81a,#ffffff05);filter:blur(22px);opacity:.28;animation:fogMove 24s linear infinite}.fog-a{top:120px;left:-10vw}.fog-b{bottom:120px;right:-16vw;animation-duration:29s;animation-direction:reverse}
@keyframes fogMove{0%{transform:translateX(0)}50%{transform:translateX(26vw)}100%{transform:translateX(0)}}
.topbar{height:78px;border-bottom:1px solid #2b222e;background:#09080dbd;backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:42px;border:1px solid #6e4b55;background:linear-gradient(145deg,#26141b,#0f0b10);display:grid;place-items:center;font-weight:800;letter-spacing:-2px;box-shadow:inset 0 0 20px #8d263225}
.brand-kicker{font-size:10px;letter-spacing:2.1px;color:#8d818e;margin-bottom:4px}.brand-title{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-weight:700;letter-spacing:1.5px}.brand-title span{color:var(--blood2);font-size:.78em;margin-left:6px}
.top-actions{display:flex;gap:8px;flex-wrap:wrap}.ghost-btn,.primary-btn,.buy-btn,.end-turn{border:1px solid #4a3946;background:#151018;padding:10px 15px;border-radius:10px;cursor:pointer;font-weight:700;font-size:12px;letter-spacing:.5px;transition:.2s}
.ghost-btn:hover,.service-card:hover,.choice-card:hover{border-color:#8c6470;background:#21151c;transform:translateY(-1px)}.ghost-btn.active{border-color:#b8515d;box-shadow:0 0 18px #b22a3a44}
.primary-btn{background:linear-gradient(180deg,#b33141,#7f1724);border-color:#d75a65;box-shadow:0 8px 26px #8e172c44}.primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.shell{width:min(1500px,94vw);margin:26px auto 70px}.panel{border:1px solid var(--line);background:linear-gradient(180deg,#15121ae8,#0e0c12ed);box-shadow:var(--shadow);border-radius:var(--radius);position:relative;overflow:hidden}
.panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(130deg,#fff08,transparent 22%,transparent 80%,#d84a5506)}
.hud{display:grid;grid-template-columns:1.2fr 1.4fr repeat(3,1fr);gap:1px;margin-bottom:18px;background:#2a222c}.hud-item{background:#0f0d13;padding:13px 16px;min-width:0}.hud-item span{display:block;color:#817783;font-size:9px;letter-spacing:1.8px;margin-bottom:6px}.hud-item strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:16px}
.bar{height:5px;background:#2c252d;border-radius:20px;overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#6d1420,#d2414d);box-shadow:0 0 16px #d2414d66;transition:width .3s}
.game-root{min-height:590px}.loading{min-height:480px;display:grid;place-items:center;text-align:center}.sigil{width:90px;height:90px;border:1px solid #8a3a48;border-radius:50%;box-shadow:0 0 40px #9d1f2f44,inset 0 0 25px #9d1f2f44;position:relative;animation:pulse 2s infinite}.sigil:before,.sigil:after{content:"";position:absolute;left:50%;top:50%;background:#9d1f2f;transform:translate(-50%,-50%) rotate(45deg)}.sigil:before{width:1px;height:62px}.sigil:after{height:1px;width:62px}
@keyframes pulse{50%{transform:scale(1.06);opacity:.7}}
.hero{min-height:590px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}.hero-copy{padding:64px 5vw;display:flex;flex-direction:column;justify-content:center;z-index:2}.eyebrow,.section-label{font-size:10px;letter-spacing:2.7px;color:var(--blood2);font-weight:800}.hero h1{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:clamp(48px,7vw,94px);line-height:.86;margin:18px 0 24px;letter-spacing:-3px}.hero h1 span{font-size:.52em;color:#c64a55;letter-spacing:4px}.hero p{color:#b4aab5;line-height:1.7;max-width:720px}
.feature-strip{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 28px}.feature-strip span,.combat-chips span,.status-row span{font-size:10px;padding:6px 8px;border:1px solid #3b303b;border-radius:999px;background:#151017;color:#b6abb5}
.start-form label{font-size:10px;letter-spacing:1.7px;color:#8b7e8b}.start-row{display:flex;gap:10px;margin-top:8px}.start-row input,.start-form>input{min-width:210px;background:#0b0910;border:1px solid #403341;color:#fff;padding:13px 14px;border-radius:10px;outline:none}.start-row input:focus{border-color:#99505b}.save-note{font-size:11px!important;color:#746b76!important;margin-top:12px!important}
.castle-art{position:relative;overflow:hidden;background:linear-gradient(180deg,#170e17 0,#120c13 45%,#09080b 100%);min-height:590px}.moon{position:absolute;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f1d9c9,#ba8c86 42%,#713844 73%,#2a1720 100%);top:60px;right:12%;box-shadow:0 0 60px #d8938766;animation:moonPulse 8s ease-in-out infinite}@keyframes moonPulse{50%{transform:scale(1.05)}}
.tower{position:absolute;bottom:0;background:linear-gradient(90deg,#08070a,#161019,#08070a);border-top:2px solid #2e202a}.t1{width:140px;height:310px;right:19%}.t2{width:90px;height:240px;right:6%}.t3{width:80px;height:210px;right:43%}.tower:before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-54px;border-left:45px solid transparent;border-right:45px solid transparent;border-bottom:55px solid #0a080b}.t1:after{content:"";position:absolute;width:17px;height:42px;background:#7e1c28;box-shadow:0 0 22px #e74b5877;left:50%;top:70px;transform:translateX(-50%);border-radius:10px 10px 0 0}
.ridge{position:absolute;bottom:-15%;background:#070609;transform:rotate(8deg);border-radius:50%}.r1{width:700px;height:240px;right:-100px}.r2{width:520px;height:180px;left:-180px}.bat{position:absolute;font-size:38px;color:#100c12;filter:drop-shadow(0 0 4px #000);animation:batFloat 4s ease-in-out infinite}.b1{top:120px;left:18%}.b2{top:180px;left:34%;transform:scale(.7);animation-delay:-1s}.b3{top:95px;left:42%;transform:scale(.45);animation-delay:-2.2s}@keyframes batFloat{50%{transform:translateY(-10px) scale(1.02)}}
.hero-figure{position:absolute;right:27%;bottom:48px;width:140px;height:260px;animation:idle 3.4s ease-in-out infinite}.hero-head,.hero-cape,.hero-blade{position:absolute}.hero-head{width:42px;height:52px;border-radius:52% 52% 45% 45%;background:#d9c8c4;left:48px;top:28px;box-shadow:inset 0 -8px 0 #6a3b47}.hero-cape{width:110px;height:160px;left:18px;top:82px;background:linear-gradient(180deg,#6f1020,#250811);clip-path:polygon(50% 0,100% 24%,82% 100%,18% 100%,0 24%);box-shadow:0 0 35px #b32a3b33}.hero-blade{width:10px;height:150px;background:linear-gradient(180deg,#ece6df,#736f7e);left:101px;top:76px;transform:rotate(12deg);box-shadow:0 0 15px #d6dce333}
.chronicle{margin-top:18px;padding:16px 18px}.chronicle #log{display:flex;gap:8px;overflow:auto;margin-top:10px}.log-line{white-space:nowrap;font-size:11px;color:#968a98;padding-right:12px;border-right:1px solid #2d252e}.muted{color:var(--muted)}
.scene{padding:28px;min-height:590px}.scene-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.scene h2,.modal-card h2{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:30px;margin:7px 0 18px}.scene h3{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif}.animate-in{animation:fadeUp .38s ease}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.map-legend{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.map-legend span{font-size:10px;color:#8e828f;border:1px solid #342a35;padding:6px 8px;border-radius:7px}.map-scroll{height:510px;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:18px 8px;position:relative}.road-glow{position:absolute;width:2px;left:50%;top:0;bottom:0;background:linear-gradient(#0000,#5c2633,#0000);box-shadow:0 0 30px #b1294055}
.map-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative;z-index:1}.map-node{min-height:76px;border:1px solid #372c38;background:linear-gradient(180deg,#151118,#0d0b10);border-radius:13px;padding:10px 12px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;cursor:pointer;transition:.2s}.map-node .node-icon{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border:1px solid #503745;border-radius:50%;color:#b45b66}.node-label{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:13px}.node-floor{font-size:9px;color:#6f6570}.map-node.open{border-color:#9b4854;box-shadow:0 0 24px #8f26383a}.map-node.open:hover{transform:translateY(-2px);background:#21141a}.map-node.done{opacity:.36}.map-node.current{box-shadow:0 0 30px #c02f4344 inset}.type-shop .node-icon{color:var(--gold)}.type-rest .node-icon{color:var(--green)}.type-event .node-icon{color:#9a7cb0}.type-elite .node-icon,.type-miniboss .node-icon,.type-boss .node-icon{color:#e13b49}
.combat-layout{display:grid;grid-template-rows:1fr auto;gap:18px;min-height:590px}.battlefield{padding:26px;min-height:390px;background:radial-gradient(circle at 50% 20%,#5d1b2a33,transparent 28%),linear-gradient(180deg,#18121a,#0b090e 72%)}.combat-backdrop{position:absolute;inset:0;pointer-events:none;overflow:hidden}.combat-fog{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,#ffffff05,transparent 40%),radial-gradient(circle at 30% 60%,#ffffff04,transparent 26%);animation:fogPulse 5s ease-in-out infinite}.blood-moon{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#d0998d,#6b2030 66%,transparent 72%);right:8%;top:6%;opacity:.35;box-shadow:0 0 50px #a1273f52}@keyframes fogPulse{50%{opacity:.55}}
.combat-resource{text-align:right}.combat-resource span{display:block;font-size:9px;letter-spacing:1.5px;color:#8f818e}.combat-resource strong{font-size:24px;color:#e14c59}
.enemy-line{display:flex;gap:16px;align-items:stretch;justify-content:center;margin:18px auto 34px;max-width:950px;position:relative;z-index:1}.enemy{width:min(390px,46%);display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;text-align:left;padding:14px;border:1px solid #3b303b;background:#100d12;border-radius:15px;cursor:pointer;transition:.18s}.enemy:hover{transform:translateY(-2px)}.enemy.selected{border-color:#bd3f4d;box-shadow:0 0 28px #bd3f4d33}.enemy.dead{filter:grayscale(1);opacity:.3}.enemy-portrait{height:120px;border:1px solid #3c2b35;background:radial-gradient(circle,#4b1b25,#140e15 60%);display:grid;place-items:center;clip-path:polygon(50% 0,95% 18%,100% 75%,50% 100%,0 75%,5% 18%)}
.figure{position:relative;width:92px;height:98px;animation:idle 3s ease-in-out infinite}.figure .halo{position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle,#8e263644,transparent 66%)}.figure .cape{position:absolute;left:16px;top:36px;width:60px;height:52px;background:linear-gradient(180deg,#7f1828,#260813);clip-path:polygon(50% 0,100% 20%,85% 100%,15% 100%,0 20%)}.figure .torso{position:absolute;left:28px;top:35px;width:35px;height:34px;background:linear-gradient(180deg,#2a2028,#0c0910);border:1px solid #43323a;border-radius:14px 14px 9px 9px}.figure .head{position:absolute;left:31px;top:12px;width:28px;height:30px;background:#d9c8c4;border-radius:48% 48% 44% 44%;box-shadow:inset 0 -5px 0 #5d313d}.figure .eyes{position:absolute;left:38px;top:23px;width:14px;height:4px;background:radial-gradient(circle at 2px 2px,#ff727d 0 2px,transparent 2.1px),radial-gradient(circle at 12px 2px,#ff727d 0 2px,transparent 2.1px);filter:drop-shadow(0 0 5px #ff7680)}.figure .weapon{position:absolute;left:66px;top:31px;width:8px;height:52px;background:linear-gradient(180deg,#dcdfe6,#63606b);border-radius:4px;transform:rotate(16deg)}
.figure.ghoul .head{background:#bac5b6;box-shadow:inset 0 -5px 0 #4b5d49}.figure.cultist .cape{background:linear-gradient(180deg,#6d1321,#25050f)}.figure.hound .head{left:26px;top:14px;width:36px;height:22px;border-radius:46% 46% 36% 36%;background:#d3c3b5}.figure.hound .torso{left:24px;width:42px;height:28px}.figure.hound .weapon{display:none}.figure.warden .weapon{width:12px;height:58px;background:linear-gradient(180deg,#8d7446,#2b2115)}.figure.castellan .halo,.figure.vhalzor .halo{background:radial-gradient(circle,#c2264044,transparent 70%)}.figure.vhalzor .cape{background:linear-gradient(180deg,#a30f21,#320712)}.figure.vhalzor .weapon{width:14px;height:62px;background:linear-gradient(180deg,#f2e8c2,#8b7344)}
.enemy-name{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-weight:700;margin-bottom:8px}.enemy-bar{height:7px}.enemy-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8c808c;margin-top:6px}.intent{color:#d1a068}.status-row{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap}
.player-combat{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;border-top:1px solid #2f2530;padding-top:18px;position:relative;z-index:1}.avatar{width:64px;height:64px;border:1px solid #60404b;background:linear-gradient(145deg,#3b1721,#0b090d);border-radius:50%;position:relative;box-shadow:0 0 25px #9c21363a;overflow:hidden}.avatar .figure{transform:scale(.62);transform-origin:top left;left:-7px;top:-4px}.player-combat-name{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:18px;margin-bottom:7px}.combat-chips{display:flex;gap:6px;flex-wrap:wrap}.end-turn{background:#2a1b12;border-color:#725134;color:#dec29c;padding:13px 18px}
.hand-panel{padding:18px}.hand-top{display:flex;justify-content:space-between;color:#847986;font-size:10px;letter-spacing:1.4px;margin-bottom:12px}.card-hand,.reward-cards,.shop-grid{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px}
.card{position:relative;flex:0 0 190px;min-height:255px;border:1px solid #4a3743;background:linear-gradient(180deg,#24141b,#100c11 47%,#171017);border-radius:14px;padding:10px;cursor:pointer;text-align:left;transition:.18s;box-shadow:0 14px 28px #0005}.card:hover:not(:disabled){transform:translateY(-5px);border-color:#a44c58}.card-cost{position:absolute;left:9px;top:9px;width:32px;height:32px;border-radius:50%;background:#8f2432;border:1px solid #dd6874;display:grid;place-items:center;font-weight:800;z-index:2}.card-art{height:118px;border:1px solid #492d38;border-radius:9px;background:radial-gradient(circle at 50% 40%,#702736,#20101a 48%,#0d0b0f 80%);display:grid;place-items:center;font-size:46px;color:#c9636e;animation:artGlow 4s ease-in-out infinite}.card-name{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-weight:700;font-size:13px;margin:10px 3px 6px}.card-text{font-size:11px;line-height:1.45;color:#b0a3ae;margin:0 3px}.card-rarity{position:absolute;bottom:8px;right:10px;text-transform:uppercase;font-size:8px;letter-spacing:1.2px;color:#776b78}.rarity-uncommon{border-color:#5b536f}.rarity-rare{border-color:#97724d;box-shadow:0 14px 28px #0005,inset 0 0 24px #a16c3420}.rarity-rare .card-art{background:radial-gradient(circle at 50% 40%,#8e5631,#251417 48%,#0d0b0f 80%);color:#e3b069}@keyframes artGlow{50%{box-shadow:0 0 28px #b6455330 inset}}
.reward-gold{display:inline-block;border:1px solid #5d4b35;background:#211a12;color:#e1c28e;padding:9px 13px;border-radius:10px;margin-bottom:10px}.relic-offer{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;border:1px solid #66513c;background:#1b1511;padding:14px;border-radius:12px;margin-top:18px}.relic-icon{font-size:28px;color:#dfad63}.relic-offer p{margin:4px 0;color:#9e9187;font-size:11px}.relic-offer label{font-size:11px;color:#c6b093}.actions{display:flex;justify-content:flex-end;margin-top:18px}
.shop-grid{align-items:flex-start}.shop-item{position:relative}.shop-item .card{display:block}.buy-btn{width:100%;margin-top:8px;background:#1d1710;border-color:#66502f;color:#e1c089}.shop-item.sold{opacity:.35}.shop-services{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.service-card,.choice-card{border:1px solid #3f333e;background:#121015;padding:16px;border-radius:12px;text-align:left;cursor:pointer;transition:.18s}.service-card strong,.choice-card strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;display:block;margin-bottom:6px}.service-card span,.choice-card span{display:block;color:#9b909a;font-size:11px;line-height:1.5}.service-card b{display:block;color:#d5b37d;margin-top:10px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.chapel-art{width:160px;height:110px;float:right;margin:0 0 20px 25px;border:1px solid #392e3b;background:linear-gradient(180deg,#241729,#0f0b12);display:grid;place-items:center;clip-path:polygon(12% 22%,50% 0,88% 22%,100% 100%,0 100%)}.window{width:44px;height:68px;border-radius:30px 30px 0 0;border:1px solid #825066;display:grid;place-items:center;color:#bb5667;box-shadow:0 0 20px #a52c4144}.event-glyph{float:right;font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:120px;color:#402e46;line-height:1;animation:pulse 3s infinite}.event-text{font-size:18px;max-width:720px;color:#c0b4be;line-height:1.65}
.game-over .score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.score-grid div{border:1px solid #3b303a;background:#0e0c10;padding:13px}.score-grid span{display:block;font-size:9px;letter-spacing:1.3px;color:#786f79}.score-grid strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:22px}.gameover-sigil{display:grid;place-items:center;font-size:180px;color:#561b27;text-shadow:0 0 60px #a4273d66;background:radial-gradient(circle,#32121a,#0d0a0e 65%)}.game-over.victory .gameover-sigil{color:#a57b38;text-shadow:0 0 60px #d4b56a55}
.modal{position:fixed;inset:0;display:none;z-index:100}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:#030204d9;backdrop-filter:blur(7px)}.modal-card{position:relative;width:min(900px,92vw);max-height:84vh;overflow:auto;margin:8vh auto;padding:28px;z-index:2}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#a796a5;font-size:28px;cursor:pointer}.deck-list{display:grid;gap:7px}.deck-row{display:grid;grid-template-columns:32px 170px 90px 1fr;gap:10px;padding:9px 10px;border-bottom:1px solid #2b232c;align-items:center}.deck-row span,.deck-row em{color:#7e737f;font-size:10px}.deck-row em{text-transform:uppercase;font-style:normal}.deck-row small{color:#a79ca7}.relic-row{display:grid;grid-template-columns:220px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #2b232c}.relic-row span{color:#9c919a;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:10px;border-bottom:1px solid #302631;text-align:left}th{color:#8f818e;font-size:9px;letter-spacing:1.3px}.rules p{line-height:1.65;color:#a99eaa}.rules b{color:#e6dce4}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#2a1117;border:1px solid #7a3440;color:#f0dbe0;padding:12px 18px;border-radius:10px;z-index:200;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}body.busy{cursor:progress}body.busy button{pointer-events:none}
.vfx-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:150}.particle{position:absolute;width:12px;height:12px;border-radius:50%;background:#d84a55;box-shadow:0 0 16px currentColor;animation:particleFly 1.15s ease-out forwards;transform:rotate(var(--rot))}.particle:before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor}.particle.heal{color:#6dcf91;background:#6dcf91}.particle.gold{color:#dab46f;background:#dab46f}.particle.victory{color:#e7c16d;background:#e7c16d}.particle.damage,.particle.card,.particle.target,.particle.defeat,.particle.enter-combat,.particle.reward{color:#d84a55;background:#d84a55}.particle.card{width:8px;height:22px;border-radius:3px}.particle.target{width:6px;height:6px}.particle.reward{width:16px;height:16px;border-radius:20%}.particle.enter-combat{width:12px;height:28px;border-radius:2px}.particle.victory{width:14px;height:14px}
@keyframes particleFly{to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}
.shake-now{animation:shake .28s linear}@keyframes shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}@keyframes idle{50%{transform:translateY(-3px)}}
@media(max-width:1100px){.topbar{height:auto;padding:12px 4vw;gap:10px;align-items:flex-start}.top-actions{justify-content:flex-end}.brand-kicker{display:none}}
@media(max-width:900px){.shell{width:96vw;margin-top:12px}.hud{grid-template-columns:repeat(3,1fr)}.hud-item:nth-child(4),.hud-item:nth-child(5){display:none}.hero{grid-template-columns:1fr}.castle-art{min-height:260px;order:-1}.hero-copy{padding:32px 24px}.hero h1{font-size:52px}.moon{width:170px;height:170px}.hero-figure{right:22%;bottom:10px;transform:scale(.8)}.scene{padding:18px}.scene-header{display:block}.map-legend{justify-content:flex-start;margin-bottom:12px}.map-scroll{height:520px}.map-row{gap:8px}.map-node{grid-template-columns:32px 1fr;padding:8px}.node-label{font-size:10px}.enemy-line{flex-direction:column}.enemy{width:100%}.player-combat{grid-template-columns:52px 1fr}.end-turn{grid-column:1/3;width:100%}.card{flex-basis:164px;min-height:238px}.card-art{height:100px}.choice-grid{grid-template-columns:1fr}.shop-services{grid-template-columns:1fr}.relic-offer{grid-template-columns:42px 1fr}.relic-offer label{grid-column:1/3}.deck-row{grid-template-columns:26px 1fr 70px}.deck-row small{grid-column:2/4}.game-over .score-grid{grid-template-columns:1fr 1fr}.chronicle{display:none}}
@media(max-width:560px){.brand-title span{display:none}.top-actions .ghost-btn{padding:7px}.hud{grid-template-columns:1.3fr 1.5fr 1fr}.hud-item{padding:10px}.hud-item strong{font-size:13px}.start-row{flex-direction:column}.start-row input{width:100%}.hero-copy{padding:28px 18px}.hero h1{font-size:44px}.feature-strip span{font-size:9px}.map-row{gap:5px}.map-node{display:flex;flex-direction:column;text-align:center;justify-content:center;min-height:70px}.map-node .node-icon{width:28px;height:28px}.node-floor{display:none}.relic-row{grid-template-columns:1fr}.modal-card{padding:20px}}

/* =========================================================
   VAMPYRIUM 2.0 — gameplay, audit chronicle and QOL layer
   ========================================================= */
.topbar{min-height:78px;height:auto;padding-top:10px;padding-bottom:10px}.top-actions{align-items:center;justify-content:flex-end}.shell{width:min(1580px,95vw)}
.hud{grid-template-columns:1.2fr 1.45fr repeat(4,1fr)}.hud-item:nth-child(6){display:block}
.hero-v2{min-height:650px;display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}.hero-v2 .hero-copy{padding:48px 4vw}.hero-v2 h1{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:clamp(46px,6.6vw,92px);line-height:.86;margin:16px 0 24px;letter-spacing:-3px}.hero-v2 h1 span{font-size:.52em;color:#c64a55;letter-spacing:4px}.hero-v2 h3{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;margin:24px 0 10px}.hero-v2 p{color:#b4aab5;line-height:1.65}.hero-v2 form>label{display:block;font-size:10px;letter-spacing:1.8px;color:#8b7e8b;margin-bottom:7px}.hero-v2 form>input{width:min(360px,100%);background:#0b0910;border:1px solid #403341;color:#fff;padding:13px 14px;border-radius:10px;outline:none}.hero-v2 form>input:focus{border-color:#99505b}.start-big{margin-top:22px;padding:14px 19px}
.hero-scene{position:relative;overflow:hidden;min-height:650px;background:radial-gradient(circle at 58% 27%,#6c2937 0,#24101a 23%,#100b12 55%,#08070a 100%)}.hero-scene .moon{right:17%;top:55px}.hero-class-art{position:absolute;z-index:3;width:min(420px,88%);right:5%;bottom:6%;filter:drop-shadow(0 24px 38px #000a);animation:heroFloat 4s ease-in-out infinite}.castle-silhouette{position:absolute;left:0;right:0;bottom:-30px;height:230px;background:linear-gradient(90deg,#08070a,#151018,#08070a);clip-path:polygon(0 58%,9% 46%,14% 56%,22% 35%,29% 55%,37% 28%,43% 50%,52% 16%,60% 49%,67% 36%,74% 54%,82% 29%,89% 55%,100% 43%,100% 100%,0 100%);opacity:.7}.hero-bats{position:absolute;top:20%;left:8%;font-size:34px;letter-spacing:20px;color:#0a080c;animation:batFloat 5s ease-in-out infinite}@keyframes heroFloat{50%{transform:translateY(-8px) scale(1.01)}}
.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.class-choice{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #3c303d;background:#100d13;border-radius:14px;padding:10px;cursor:pointer;transition:.18s;min-height:122px}.class-choice:hover{border-color:#784957;transform:translateY(-2px)}.class-choice.selected{border-color:#c04352;box-shadow:0 0 28px #b1233a33,inset 0 0 26px #8c1c2c17}.class-choice img{width:76px;height:96px;object-fit:contain;filter:drop-shadow(0 9px 12px #0008)}.class-choice strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:13px;display:block}.class-choice span,.class-choice small,.class-choice em{display:block;margin-top:4px;color:#9e929e;font-size:9px;line-height:1.35}.class-choice small{color:#c2b5c1}.class-choice em{color:#d0a878;font-style:normal}
.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mode-choice{border:1px solid #3c303d;background:#100d13;border-radius:12px;padding:12px;text-align:left;cursor:pointer;transition:.18s}.mode-choice:hover{border-color:#7b4b58;transform:translateY(-2px)}.mode-choice.selected{border-color:#bd3e4d;background:#1d1117;box-shadow:0 0 24px #a8273830}.mode-choice strong,.mode-choice span,.mode-choice em{display:block}.mode-choice strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:12px}.mode-choice span{font-size:10px;color:#9f939f;line-height:1.4;margin-top:5px}.mode-choice em{font-style:normal;color:#d0aa75;font-size:9px;margin-top:7px}

.chronicle{margin-top:18px;padding:0;overflow:hidden}.chronicle>summary{list-style:none;cursor:pointer;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#0e0c11;border-bottom:1px solid transparent}.chronicle[open]>summary{border-bottom-color:#2f2635}.chronicle>summary::-webkit-details-marker{display:none}.chronicle>summary span:first-child{display:flex;flex-direction:column;gap:4px}.chronicle>summary b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:13px}.chronicle>summary small{color:#807681;font-size:9px}.chronicle-badge{display:grid;place-items:center;min-width:34px;height:25px;border:1px solid #4b3843;border-radius:999px;background:#171017;color:#c4969f;font-size:10px}.chronicle-tabs{display:flex;justify-content:space-between;gap:15px;padding:12px 16px;border-bottom:1px solid #2a222c;color:#918691;font-size:10px;overflow:auto}.combat-audit,.run-timeline{border-bottom:1px solid #2c242e}.combat-audit>summary,.run-timeline>summary{cursor:pointer;padding:11px 16px;font-size:11px;color:#c2b6c0;background:#121016}.combat-audit>summary span,.run-timeline>summary span{float:right;color:#8e6570}.audit-table{font-size:10px}.audit-table td{vertical-align:top;min-width:85px}.audit-table td:last-child{min-width:250px}.data-chips{display:flex;gap:4px;flex-wrap:wrap}.data-chips span{border:1px solid #3d303a;background:#171017;border-radius:999px;padding:3px 6px;font-size:8px;color:#a99ca8}.data-chips b{color:#e5d9df}.data-chips .status-chip{border-color:#6d4b34;color:#d2aa78}.timeline{max-height:340px;overflow:auto}.timeline-row{display:grid;grid-template-columns:72px 96px minmax(180px,1fr) 1.4fr;gap:8px;align-items:start;padding:8px 16px;border-bottom:1px solid #241e26;font-size:10px}.timeline-row time{color:#d25a65;font-variant-numeric:tabular-nums}.timeline-cat{text-transform:uppercase;color:#756b76;font-size:8px;letter-spacing:.7px}.timeline-row b{font-weight:500;color:#c5b9c3}.timeline.compact{max-height:420px}.timeline.compact .timeline-row{grid-template-columns:68px 85px 1fr}

.map-scroll{height:590px}.map-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.map-node{min-height:70px}.map-node.open{animation:nodePulse 2.4s ease-in-out infinite}@keyframes nodePulse{50%{box-shadow:0 0 30px #9f2d4145}}
.type-treasure .node-icon{color:#d8b060}.type-boss .node-icon{animation:pulse 1.8s infinite}

.battlefield{min-height:455px}.blood-moon{position:absolute;width:185px;height:185px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e4b4a7,#8b3040 45%,#3c1420 72%,transparent 74%);right:6%;top:5%;opacity:.28;box-shadow:0 0 70px #9b274154;animation:moonPulse 7s ease-in-out infinite}.enemy-line{margin-top:28px}.enemy{grid-template-columns:150px 1fr;min-height:160px;overflow:hidden;position:relative}.enemy:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent,#ffffff05,transparent);transform:translateX(-120%);transition:.35s}.enemy:hover:after{transform:translateX(120%)}.enemy-portrait{height:145px;background:radial-gradient(circle at 50% 40%,#5a213033,#120e14 65%);clip-path:polygon(50% 0,94% 13%,100% 78%,50% 100%,0 78%,6% 13%)}.enemy-portrait img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 15px #0008);animation:enemyIdle 3.1s ease-in-out infinite}.enemy.selected .enemy-portrait img{filter:drop-shadow(0 0 18px #c4415277) drop-shadow(0 10px 15px #0008)}@keyframes enemyIdle{50%{transform:translateY(-4px) scale(1.015)}}.avatar{width:74px;height:74px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:contain;transform:scale(1.2);animation:enemyIdle 3s ease-in-out infinite}.combat-resource strong{font-size:28px;text-shadow:0 0 16px #dc4b5866}.intent{padding:4px 7px;border-radius:7px;background:#251a10;border:1px solid #5d452d}.status-row{min-height:24px}
.card{flex-basis:202px;min-height:280px}.card-cost.discount{background:#47725d;border-color:#75b08f}.card-art{height:128px}.card:hover:not(:disabled){transform:translateY(-8px) rotate(-.5deg);box-shadow:0 20px 35px #0008,0 0 22px #a8354630}.card-blood_bolt .card-art,.card-blood_spear .card-art,.card-hemomancy .card-art{background:radial-gradient(circle,#9b2639,#25101a 55%,#0d0b0f)}.card-poison_vial .card-art,.card-grave_bloom .card-art{background:radial-gradient(circle,#537948,#1a2418 52%,#0d0b0f)}.card-mist_form .card-art,.card-quickstep .card-art{background:radial-gradient(circle,#5d5879,#191722 54%,#0d0b0f)}
.shop-services{grid-template-columns:repeat(3,1fr)}.treasure-scene{background:radial-gradient(circle at 80% 15%,#9b743027,transparent 30%),linear-gradient(180deg,#15121a,#0c0a0e)}.vault-glyph{float:right;font-size:120px;color:#72562f;filter:drop-shadow(0 0 25px #ba8e4038);animation:pulse 3s infinite}.treasure-card{min-height:140px}

.score-grid{grid-template-columns:repeat(3,1fr)!important}.small-score{font-size:13px!important;line-height:1.3}.game-over .hero-copy{padding-top:44px;padding-bottom:44px}
.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.achievement{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:12px;border:1px solid #312934;border-radius:11px;background:#0f0d12;opacity:.48}.achievement.unlocked{opacity:1;border-color:#6b5238;background:#17120f;box-shadow:inset 0 0 24px #b98a3820}.achievement>span{font-size:24px;color:#c7a05d}.achievement strong,.achievement small{display:block}.achievement strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:11px}.achievement small{color:#958995;line-height:1.4;margin-top:4px}
.modal-tabs{display:flex;gap:7px;margin:0 0 14px;flex-wrap:wrap}.modal-tabs button{border:1px solid #3a303b;background:#100d13;color:#a89ca7;border-radius:9px;padding:8px 11px;cursor:pointer;font-size:10px}.modal-tabs button.active{border-color:#a2424e;color:#fff;background:#211218}.privacy-strip{margin-top:14px;padding:12px;border:1px solid #302833;border-radius:10px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#978b96;font-size:10px}.history-list{display:grid;gap:9px}.history-card{border:1px solid #322a34;border-radius:12px;background:#0f0d12;overflow:hidden}.history-card>summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;gap:20px;padding:13px}.history-card>summary::-webkit-details-marker{display:none}.history-card>summary span{display:flex;flex-direction:column;gap:4px}.history-card>summary span:last-child{text-align:right}.history-card>summary b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:11px}.history-card>summary small{font-size:9px;color:#8c818c}.history-stats{display:flex;gap:7px;flex-wrap:wrap;padding:10px 13px;border-top:1px solid #28212a}.history-stats span{border:1px solid #3a3039;border-radius:999px;padding:5px 8px;font-size:9px;color:#8f838e}.history-stats b{color:#d4c8d1}
.setting-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid #2d252e}.setting-row b,.setting-row small{display:block}.setting-row small{margin-top:4px;color:#8d818d;font-size:10px}.setting-row input[type=range]{width:230px}.danger-zone{margin-top:24px;border:1px solid #4a2930;background:#160d11;border-radius:12px;padding:14px}.danger-zone h3{margin-top:0;color:#cf6b74}.danger-btn{border:1px solid #7c3540;background:#251016;color:#e5abb1;border-radius:9px;padding:10px 12px;cursor:pointer;font-size:10px;font-weight:700;margin:4px 5px 4px 0}.danger-btn.severe{background:#52111c;border-color:#a13645;color:#ffe3e6}.confirm-box{margin-top:12px;padding:12px;border:1px solid #6b3640;border-radius:9px;background:#1e1115;color:#bfaeb4;font-size:11px;line-height:1.5}.confirm-box.severe{border-color:#a03746}.confirm-box p{margin-top:0}

.vfx-layer{position:fixed;inset:0;pointer-events:none;z-index:190}.particle{position:absolute;width:10px;height:10px;border-radius:50%;background:#d84a55;box-shadow:0 0 14px currentColor;animation:particleFly 1.1s ease-out forwards}.particle.heal{color:#72d29a;background:#72d29a}.particle.poison{color:#77b465;background:#77b465}.particle.blood,.particle.slash,.particle.damage,.particle.boss,.particle.defeat{color:#e05261;background:#e05261}.particle.guard{color:#9cb6c2;background:#9cb6c2}.particle.reward,.particle.treasure,.particle.victory{color:#e2b967;background:#e2b967}.particle.map,.particle.target{color:#9a6da0;background:#9a6da0}.float-number{position:absolute;transform:translate(-50%,-50%);font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:28px;font-weight:800;text-shadow:0 3px 8px #000,0 0 15px currentColor;animation:floatNumber 1.05s ease-out forwards}.float-number.damage,.float-number.slash,.float-number.blood{color:#ff6975}.float-number.poison{color:#81d36e}.float-number.heal{color:#80e1a5}.float-number.guard{color:#a5cbd8}@keyframes floatNumber{to{transform:translate(-50%,-110px) scale(1.18);opacity:0}}.cast-fx{position:absolute;width:110px;height:110px;transform:translate(-50%,-50%);border-radius:50%;animation:castFx .65s ease-out forwards}.fx-slash{border-top:6px solid #f0d8d8;transform:translate(-50%,-50%) rotate(-32deg);box-shadow:0 -8px 22px #e5546477}.fx-blood{background:radial-gradient(circle,#d7354d88,transparent 62%);border:2px solid #d7354d}.fx-poison{background:radial-gradient(circle,#7db76c88,transparent 62%);border:2px solid #74a967}.fx-guard{border:4px solid #9fbfca;box-shadow:0 0 28px #9fbfca88 inset}.fx-mist{background:radial-gradient(circle,#aaa6d05a,transparent 65%);filter:blur(2px)}@keyframes castFx{from{opacity:1;scale:.35}to{opacity:0;scale:1.5}}
.phase-overlay{position:fixed;inset:0;z-index:180;display:grid;place-items:center;pointer-events:none;background:#05030700;opacity:0;transition:.2s}.phase-overlay.show{background:#050307b8;opacity:1}.phase-overlay>div{text-align:center;transform:scale(.65);animation:phasePop 1.7s ease}.phase-overlay small,.phase-overlay strong,.phase-overlay span{display:block}.phase-overlay small{letter-spacing:5px;color:#a6606c}.phase-overlay strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:120px;line-height:1;color:#e14758;text-shadow:0 0 45px #d52e45}.phase-overlay span{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:22px;color:#d6c5cd}@keyframes phasePop{30%{transform:scale(1.05)}100%{transform:scale(1)}}

@media(max-width:1200px){.hud{grid-template-columns:repeat(3,1fr)}.hud-item:nth-child(n+4){display:block}.hero-v2{grid-template-columns:1fr}.hero-scene{min-height:360px;order:-1}.hero-class-art{width:340px;right:28%;bottom:-5%}.top-actions{max-width:62%}.class-grid{grid-template-columns:1fr 1fr}.timeline-row{grid-template-columns:65px 85px 1fr}.timeline-row .data-chips{grid-column:3}}
@media(max-width:900px){.topbar{align-items:flex-start}.top-actions{max-width:none}.hud{grid-template-columns:repeat(3,1fr)}.hud-item:nth-child(4),.hud-item:nth-child(5),.hud-item:nth-child(6){display:none}.class-grid{grid-template-columns:1fr}.mode-grid{grid-template-columns:1fr}.hero-class-art{right:18%;width:300px}.map-row{grid-template-columns:repeat(4,1fr);gap:5px}.map-node{padding:6px;display:flex;flex-direction:column;text-align:center;justify-content:center}.node-floor{display:none}.enemy{grid-template-columns:120px 1fr}.shop-services{grid-template-columns:1fr}.achievement-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:58px 1fr}.timeline-cat{display:none}.timeline-row .data-chips{grid-column:2}.privacy-strip{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.top-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin-top:6px}.top-actions .ghost-btn{font-size:8px;padding:7px 5px}.topbar{flex-wrap:wrap}.brand{width:100%}.hero-v2 .hero-copy{padding:26px 16px}.hero-v2 h1{font-size:43px}.hero-scene{min-height:300px}.hero-class-art{width:250px;right:12%}.class-choice{grid-template-columns:68px 1fr}.class-choice img{width:62px}.map-scroll{height:560px}.map-row{gap:3px}.map-node .node-label{font-size:8px}.map-node .node-icon{width:25px;height:25px}.enemy{grid-template-columns:88px 1fr;padding:9px}.enemy-portrait{height:100px}.enemy-name{font-size:11px}.card{flex-basis:168px;min-height:250px}.card-art{height:100px}.chronicle-tabs{flex-direction:column}.audit-table{min-width:850px}.history-card>summary{grid-template-columns:1fr}.history-card>summary span:last-child{text-align:left}.setting-row{align-items:flex-start;flex-direction:column}.setting-row input[type=range]{width:100%}.phase-overlay strong{font-size:82px}.phase-overlay span{font-size:15px}}
.card-hotkey{position:absolute;right:9px;top:9px;width:23px;height:23px;border:1px solid #493a45;border-radius:6px;display:grid;place-items:center;background:#0d0a0f;color:#857984;font-size:9px;z-index:2}

/* =========================================================
   VAMPYRIUM 2.1 — language, real audio mixer, visual deck UI
   ========================================================= */
.settings-section{margin:18px 0;padding:16px;border:1px solid #302734;border-radius:14px;background:#0f0d12}.settings-section h3{margin:0 0 6px;font-family:"Palatino Linotype","Book Antiqua",Georgia,serif}.settings-section>p{margin:0 0 13px;color:#8f838f;font-size:11px;line-height:1.5}.segmented{display:flex;gap:8px}.segmented button,.deck-filter-buttons button,.mini-toggle{border:1px solid #3d313d;background:#100d13;color:#a99ca8;border-radius:9px;padding:9px 12px;cursor:pointer;font-size:10px;font-weight:700}.segmented button.active,.deck-filter-buttons button.active,.mini-toggle.active{border-color:#b84452;background:#24131a;color:#fff;box-shadow:0 0 18px #a72a3b2d}.audio-mixer{background:radial-gradient(circle at 92% 0,#5f243126,transparent 32%),#0f0d12}.mixer-control{display:grid;grid-template-columns:auto minmax(180px,260px) 48px;align-items:center;gap:10px}.mixer-control output{text-align:right;color:#d7b5bb;font-size:10px;font-variant-numeric:tabular-nums}.setting-row select,.deck-toolbar select,.deck-toolbar input{background:#0b0910;border:1px solid #403441;color:#ddd2da;border-radius:9px;padding:9px 10px;outline:none}.setting-row select:focus,.deck-toolbar select:focus,.deck-toolbar input:focus{border-color:#9e4a57}
.deck-modal-head{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}.deck-modal-head h2{margin-bottom:5px}.deck-modal-head p{margin-top:0;color:#948895;font-size:11px;line-height:1.5}.deck-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.deck-summary span{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid #332b35;background:#0e0c11;border-radius:10px;color:#7e737f;font-size:8px;text-transform:uppercase;letter-spacing:.7px}.deck-summary b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:18px;color:#e0d2dc}.deck-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto 120px 120px;gap:8px;margin-bottom:14px;align-items:center}.deck-toolbar input{width:100%}.deck-filter-buttons{display:flex;gap:5px;flex-wrap:wrap}.deck-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;align-items:stretch}.deck-card-grid .card{width:100%;min-width:0;max-width:none;min-height:310px;flex:none;cursor:default}.deck-card-grid .card:hover{transform:translateY(-3px)}.deck-card-grid .card-art{height:142px}.card-main-icon{font-size:54px;filter:drop-shadow(0 0 15px currentColor)}.card-keyword-icons{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:5px;justify-content:center}.card-keyword-icons span{width:25px;height:25px;border:1px solid #ffffff24;border-radius:50%;display:grid;place-items:center;background:#09070bb0;color:#e7dce5;font-size:12px;backdrop-filter:blur(4px)}.card-footer{position:absolute;bottom:7px;left:10px;right:10px;display:flex;justify-content:space-between;gap:8px;font-size:7px;letter-spacing:.8px;text-transform:uppercase;color:#796e79}.card-rarity{display:none}.card-count,.card-upcount{position:absolute;z-index:3;top:9px;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800;box-shadow:0 4px 12px #0007}.card-count{right:9px;background:#171019;border:1px solid #5b4654;color:#e4d6df}.card-upcount{right:48px;background:#4b3618;border:1px solid #9e7640;color:#f0cd8f}.school-weapon .card-art{background:radial-gradient(circle,#7f343b,#241017 57%,#0d0b0f)}.school-defense .card-art{background:radial-gradient(circle,#38566a,#141c24 57%,#0d0b0f)}.school-blood .card-art{background:radial-gradient(circle,#a1263b,#2a0c16 57%,#0d0b0f)}.school-poison .card-art{background:radial-gradient(circle,#5b7f46,#172315 57%,#0d0b0f)}.school-curse .card-art{background:radial-gradient(circle,#674a75,#1d1424 57%,#0d0b0f)}.school-mist .card-art{background:radial-gradient(circle,#605f86,#191925 57%,#0d0b0f)}.school-alchemy .card-art{background:radial-gradient(circle,#7b6339,#221b11 57%,#0d0b0f)}.relic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.relic-tile{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:4px 10px;padding:13px;border:1px solid #4d3d2d;border-radius:12px;background:radial-gradient(circle at 0 0,#7d54271e,transparent 35%),#100d11}.relic-tile>div{grid-row:1/3;width:38px;height:38px;border:1px solid #7a5b34;border-radius:50%;display:grid;place-items:center;color:#e0b766;font-size:20px}.relic-tile strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:11px}.relic-tile span{color:#958a91;font-size:9px;line-height:1.45}.deck-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.deck-stat-grid>div{padding:16px;border:1px solid #332a35;border-radius:12px;background:#0e0c11;display:flex;flex-direction:column;gap:5px}.deck-stat-grid b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:25px;color:#e0d1da}.deck-stat-grid span{color:#938794;font-size:10px}.mana-curve{height:180px;display:flex;gap:16px;align-items:flex-end;padding:18px;border:1px solid #302833;background:#0d0b10;border-radius:12px}.mana-curve>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.mana-curve i{display:block;width:min(48px,75%);min-height:4px;background:linear-gradient(180deg,#c64a58,#631522);border-radius:8px 8px 3px 3px;box-shadow:0 0 16px #a72d4033}.mana-curve span,.mana-curve b{font-size:10px;color:#a99ca8}.card-art{position:relative;overflow:hidden}.card-art:after{content:"";position:absolute;inset:-60% -20%;background:linear-gradient(115deg,transparent 40%,#ffffff0e 50%,transparent 60%);transform:translateX(-70%) rotate(8deg);animation:cardSheen 7s linear infinite}@keyframes cardSheen{0%,55%{transform:translateX(-70%) rotate(8deg)}75%,100%{transform:translateX(70%) rotate(8deg)}}
.fx-shield{border:5px solid #a9cbd8;box-shadow:0 0 30px #9ec5d899,inset 0 0 35px #9ec5d866}.fx-heal{background:radial-gradient(circle,#7fe0a466,transparent 65%);border:2px solid #80dca1}.particle.shield{color:#9bc6d6;background:#9bc6d6}.particle.heal{color:#72d29a;background:#72d29a}.particle.mist{color:#aca7d7;background:#aca7d7}.particle.target{box-shadow:0 0 24px #c86b7f}.float-number.shield{color:#b7dbe5}.float-number.mist{color:#bcb6e1}
body.vfx-low .fog,body.vfx-low .ambient{opacity:.12}body.vfx-off .fog,body.vfx-off .ambient,body.vfx-off .blood-moon{display:none}
@media(max-width:1000px){.deck-modal-head{grid-template-columns:1fr}.deck-toolbar{grid-template-columns:1fr 1fr}.deck-filter-buttons{grid-column:1/3}.deck-summary{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.deck-summary{grid-template-columns:1fr 1fr}.deck-toolbar{grid-template-columns:1fr}.deck-filter-buttons{grid-column:auto}.deck-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.deck-card-grid .card{min-height:272px;padding:7px}.deck-card-grid .card-art{height:108px}.deck-card-grid .card-name{font-size:10px}.deck-card-grid .card-text{font-size:9px}.deck-stat-grid{grid-template-columns:1fr 1fr}.mixer-control{grid-template-columns:auto 1fr 42px;width:100%}.setting-row .mixer-control{width:100%}.relic-grid{grid-template-columns:1fr}}


/* =========================================================
   VAMPYRIUM 2.2 — Combat clarity, DOT VFX, illustrated cards
   ========================================================= */
.mode-choice{position:relative;overflow:hidden}.mode-choice:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#fff06 48%,transparent 62%);transform:translateX(-100%);transition:.5s}.mode-choice:hover:after{transform:translateX(100%)}.mode-metrics{display:flex;justify-content:space-between;gap:10px;margin-top:9px;padding-top:7px;border-top:1px solid #ffffff12}.mode-metrics b{letter-spacing:2px;color:#a8525e}.mode-metrics small{font-size:8px;color:#817681}.mode-tier-1 .mode-metrics b{color:#6fa989}.mode-tier-2 .mode-metrics b{color:#9b8a72}.mode-tier-3 .mode-metrics b{color:#b48b57}.mode-tier-4 .mode-metrics b{color:#c75865}.mode-tier-5 .mode-metrics b{color:#b24ac1;text-shadow:0 0 10px #bd4dc1}.mode-tier-6{border-color:#7b2138!important;background:radial-gradient(circle at 100% 0,#8e153022,transparent 45%),#100b10!important}.mode-tier-6 .mode-metrics b{color:#ff425d;text-shadow:0 0 12px #ff2a49}
.qol-focus{animation:qolFocus .9s ease}@keyframes qolFocus{0%,100%{box-shadow:0 0 24px #8f26383a}40%{box-shadow:0 0 55px #e54d626f,0 0 0 2px #dd5360 inset;transform:scale(1.025)}}
.combat-turn-banner{position:relative;z-index:3;display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:8px;margin:-5px 0 18px}.combat-turn-banner>div{border:1px solid #372c38;background:#0c0a0eeb;border-radius:11px;padding:10px 12px;box-shadow:0 8px 20px #0004}.combat-turn-banner>div:first-child{background:linear-gradient(135deg,#43131d,#160c12);border-color:#71313c}.combat-turn-banner span,.forecast-chip small{display:block;font-size:8px;letter-spacing:1.5px;color:#8d818d}.combat-turn-banner strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:20px}.forecast-chip{display:grid!important;grid-template-columns:1fr auto;align-items:center}.forecast-chip small{grid-column:1/3}.forecast-chip b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:20px;color:#d8c8d1}.forecast-chip em{font-size:8px;color:#756a76;font-style:normal;text-align:right}.forecast-chip.danger b{color:#e25b67}.forecast-chip.dot-danger{border-color:#51692f;background:radial-gradient(circle at 90% 0,#4b802a22,transparent 50%),#0c0a0eeb}.forecast-chip.dot-danger b{color:#85d15e}
.enemy{position:relative;overflow:visible;background:linear-gradient(145deg,#151017,#0c0a0e);box-shadow:0 16px 34px #0006}.enemy:before{content:"";position:absolute;inset:-1px;border-radius:15px;pointer-events:none;opacity:0;transition:.25s}.enemy.afflicted-poison:before{opacity:.55;box-shadow:0 0 30px #61d74a66,inset 0 0 22px #4ee43a18}.enemy.afflicted-bleed:before{opacity:.55;box-shadow:0 0 30px #e0354a66,inset 0 0 22px #df2b4318}.enemy.afflicted-burn:before{opacity:.7;box-shadow:0 0 34px #ff7b2f66,inset 0 0 25px #ff6c251c}.enemy-portrait{position:relative;overflow:hidden}.enemy-aura{position:absolute;inset:8%;border-radius:50%;pointer-events:none;mix-blend-mode:screen}.afflicted-poison .enemy-aura{background:radial-gradient(circle,#72f14c35,transparent 63%);animation:poisonPulse 1.8s ease-in-out infinite}.afflicted-bleed .enemy-aura{background:radial-gradient(circle,#ff284036,transparent 63%);animation:bloodPulse 1.4s ease-in-out infinite}.afflicted-burn .enemy-aura{background:radial-gradient(circle,#ff9b423d,transparent 62%);animation:burnPulse .8s ease-in-out infinite}@keyframes poisonPulse{50%{filter:blur(4px);transform:scale(1.1)}}@keyframes bloodPulse{50%{opacity:.45;transform:scale(.96)}}@keyframes burnPulse{50%{filter:brightness(1.5);transform:translateY(-2px)}}
.enemy-intent{margin-top:9px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border:1px solid #40323c;border-radius:9px;padding:8px;background:#0a080c}.enemy-intent>i{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#2d161c;border:1px solid #70404a;color:#e47782;font-style:normal}.enemy-intent small{display:block;font-size:7px;letter-spacing:1.4px;color:#716873}.enemy-intent strong{display:block;margin-top:2px;font-size:10px;color:#d7cbd3}.intent-poison{border-color:#405f36}.intent-poison>i{background:#142714;border-color:#507d43;color:#7ee460}.intent-bleed{border-color:#71323c}.intent-burn{border-color:#7c4c28}.intent-burn>i{background:#35180e;border-color:#91552d;color:#ff9c53}.intent-guard{border-color:#3e5965}.intent-guard>i{background:#132027;border-color:#527281;color:#a7cfdb}.intent-curse{border-color:#5e4370}.intent-curse>i{background:#211529;border-color:#75548c;color:#c599e3}.enemy-trait{margin-top:7px;color:#776d78;font-size:8px;line-height:1.35}
.status-row,.player-status-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.status-badge{display:inline-flex!important;align-items:center;gap:4px;padding:5px 7px!important;border-radius:8px!important;font-size:8px!important;font-weight:600}.status-badge b{font-size:11px}.status-badge strong{font-size:9px}.status-poison{background:#132414!important;border-color:#426a37!important;color:#8ddd68!important;box-shadow:0 0 12px #55d93c18}.status-bleed{background:#2a1016!important;border-color:#77303b!important;color:#ef6673!important}.status-burn{background:#30170d!important;border-color:#8a4d2b!important;color:#ff9d54!important}.status-weak{background:#171b25!important;border-color:#3e5068!important;color:#91a8c8!important}.status-vulnerable{background:#27152e!important;border-color:#68427b!important;color:#cf9be5!important}.status-regen{background:#10231b!important;border-color:#37664f!important;color:#7bd3a2!important}.status-rage{background:#2d1710!important;border-color:#7e4a30!important;color:#e69a68!important}
.player-combat{background:linear-gradient(90deg,#0b090d,#100b10);border:1px solid #302631;border-radius:13px;padding:12px!important}.avatar.player-poison{box-shadow:0 0 28px #64d64a88}.avatar.player-bleed{box-shadow:0 0 28px #e13c5088}.avatar.player-burn{box-shadow:0 0 30px #ff7b3788}.end-turn{display:flex;flex-direction:column;gap:2px;align-items:center;min-width:175px}.end-turn small{font-size:8px;font-weight:500;color:#9d8b7b}.end-turn.danger-turn{background:linear-gradient(180deg,#521a20,#25100f);border-color:#9a3e48;box-shadow:0 0 24px #ad25373b}.end-turn.danger-turn small{color:#e1a5a8}
.card{transform-style:preserve-3d}.card:hover:not(:disabled){transform:translateY(-7px) perspective(600px) rotateX(1.5deg);box-shadow:0 22px 42px #0009,0 0 24px #9e3b4a22}.card-art{height:132px!important;background:#09070b!important}.card-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;transform:scale(1.04);transition:.25s}.card:hover .card-illustration{transform:scale(1.11);filter:brightness(1.1) contrast(1.05)}.card-main-icon{position:absolute;right:9px;top:8px;font-size:25px!important;opacity:.72;filter:drop-shadow(0 0 9px currentColor)}.card-art-vignette{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#0c0810 98%),radial-gradient(circle at 50% 40%,transparent 35%,#0007 100%);pointer-events:none}.card-keyword-icons{z-index:2}.card-keyword-icons .kw-poison{color:#7be85d;border-color:#4e813d}.card-keyword-icons .kw-bleed{color:#f16675;border-color:#873747}.card-keyword-icons .kw-burn{color:#ff9c54;border-color:#8d512d}.card-keyword-icons .kw-block{color:#a8cedc;border-color:#567381}.card-keyword-icons .kw-heal{color:#7ddca0;border-color:#3c7352}.rarity-rare .card-art:before{content:"";position:absolute;inset:-20%;z-index:2;background:conic-gradient(from 0deg,transparent,#e3b36b16,transparent 30%);animation:rareSpin 7s linear infinite;pointer-events:none}@keyframes rareSpin{to{transform:rotate(360deg)}}
.fx-burn{width:95px!important;height:125px!important;border:0!important;background:radial-gradient(ellipse at 50% 100%,#ffec7355,transparent 45%),conic-gradient(from 180deg at 50% 80%,transparent,#ff5d22aa,transparent,#ffac39bb,transparent)!important;clip-path:polygon(50% 0,67% 34%,78% 19%,85% 58%,100% 48%,88% 100%,10% 100%,0 55%,21% 61%,30% 25%);animation:fireCast .7s ease-out forwards!important}.fx-cleanse{width:115px!important;height:115px!important;border:3px solid #e4d6ca!important;border-radius:50%!important;box-shadow:0 0 30px #ffffff88,inset 0 0 35px #cde8df55!important;animation:cleanseCast .7s ease-out forwards!important}@keyframes fireCast{from{transform:translate(-50%,-30%) scale(.35);opacity:0}50%{opacity:1}to{transform:translate(-50%,-70%) scale(1.3);opacity:0}}@keyframes cleanseCast{from{transform:translate(-50%,-50%) scale(.25) rotate(0)}to{transform:translate(-50%,-50%) scale(1.45) rotate(180deg);opacity:0}}
.particle.poison{background:#65e44d!important;color:#65e44d!important;border-radius:55% 45% 60% 40%!important}.particle.blood{background:#e23d52!important;color:#e23d52!important;border-radius:70% 30% 60% 40%!important}.particle.burn{background:#ff7b34!important;color:#ff7b34!important;border-radius:70% 30% 70% 30%!important;box-shadow:0 0 18px #ff9c45}.particle.cleanse{background:#d8f4e9!important;color:#d8f4e9!important}.float-number.poison{color:#80eb61;text-shadow:0 0 12px #5dd843}.float-number.blood,.float-number.damage{color:#f06472}.float-number.burn{color:#ff9d55;text-shadow:0 0 12px #ff6b2c}
@media(max-width:1000px){.combat-turn-banner{grid-template-columns:1fr 1fr}.combat-turn-banner>div:first-child{grid-column:1/3}.enemy-line{align-items:stretch}}@media(max-width:620px){.combat-turn-banner{grid-template-columns:1fr}.combat-turn-banner>div:first-child{grid-column:auto}.enemy-intent{grid-template-columns:28px 1fr}.enemy-intent>i{width:26px;height:26px}.enemy-trait{display:none}.end-turn{min-width:0}.card-art{height:108px!important}}

/* ============================================================
   V2.3 — SECURITY/LEGAL, BLOODROAD & CINEMATIC COMBAT OVERHAUL
   ============================================================ */
.game-footer{width:min(1500px,94vw);margin:-42px auto 34px;padding:16px 4px;display:flex;justify-content:space-between;gap:14px;align-items:center;color:#6f6570;font-size:10px}.game-footer nav{display:flex;gap:8px;flex-wrap:wrap}.game-footer a{border:1px solid #2c252d;background:#0d0b10;padding:7px 9px;border-radius:8px;transition:.2s}.game-footer a:hover{color:#eadde3;border-color:#69404a}.kofi-top{color:#ffd6dc!important;border-color:#71333d!important;background:linear-gradient(180deg,#32131a,#1a0c11)!important}.kofi-top:hover{box-shadow:0 0 22px #c2324650!important}
.menu-embers{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.menu-embers i{position:absolute;bottom:-20px;width:3px;height:3px;border-radius:50%;background:#e36555;box-shadow:0 0 8px #ff6b54;opacity:.35;animation:emberRise 10s linear infinite}.menu-embers i:nth-child(1){left:8%;animation-delay:-2s}.menu-embers i:nth-child(2){left:19%;animation-delay:-7s;animation-duration:13s}.menu-embers i:nth-child(3){left:33%;animation-delay:-4s}.menu-embers i:nth-child(4){left:48%;animation-delay:-9s;animation-duration:15s}.menu-embers i:nth-child(5){left:62%;animation-delay:-1s}.menu-embers i:nth-child(6){left:76%;animation-delay:-6s;animation-duration:12s}.menu-embers i:nth-child(7){left:87%;animation-delay:-8s}.menu-embers i:nth-child(8){left:94%;animation-delay:-3s;animation-duration:14s}@keyframes emberRise{0%{transform:translate(0,20px) scale(.7);opacity:0}15%{opacity:.45}70%{opacity:.25}100%{transform:translate(70px,-105vh) scale(1.7);opacity:0}}

/* Legal gate */
.legal-gate{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;padding:18px}.legal-gate-backdrop{position:absolute;inset:0;background:rgba(3,2,5,.9);backdrop-filter:blur(14px)}.legal-gate-card{position:relative;width:min(880px,96vw);max-height:92vh;overflow:auto;padding:30px;background:radial-gradient(circle at 90% 0,#6e233333,transparent 28%),linear-gradient(180deg,#171219,#0d0a0f);border-color:#563641;animation:legalEnter .45s ease}.legal-gate-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#ffffff07,transparent 24%,transparent 75%,#b7253820)}@keyframes legalEnter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.legal-gate.accepted{animation:legalExit .42s ease forwards}@keyframes legalExit{to{opacity:0;transform:scale(.98)}}.legal-gate-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.legal-gate-brand>span{width:44px;height:44px;border:1px solid #78414b;display:grid;place-items:center;font-weight:900;background:#211017}.legal-gate-brand small,.legal-gate-brand strong{display:block}.legal-gate-brand small{color:#7f7380;font-size:9px;letter-spacing:1.8px}.legal-gate-brand strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;margin-top:3px}.legal-lang-switch{position:absolute;right:22px;top:22px;display:flex;gap:5px}.legal-lang-switch button{border:1px solid #433541;background:#0d0a0f;color:#867a86;border-radius:8px;padding:7px 10px;cursor:pointer;font-weight:800}.legal-lang-switch button.active{border-color:#a94552;color:#fff;background:#2b1219}.legal-copy h2{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:clamp(25px,4vw,38px);margin:8px 0 12px}.legal-copy>p{color:#afa3ad;line-height:1.65}.legal-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.legal-summary-grid>div{border:1px solid #342a34;background:#100d12;padding:12px;border-radius:10px}.legal-summary-grid b,.legal-summary-grid span{display:block}.legal-summary-grid b{font-size:11px}.legal-summary-grid span{font-size:10px;color:#8f838e;line-height:1.5;margin-top:5px}.legal-document-links{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.legal-document-links a,.legal-settings-links a{border:1px solid #67404a;background:#251219;color:#f1dfe4;padding:9px 11px;border-radius:9px;font-size:10px;font-weight:800}.legal-check{display:flex;gap:10px;align-items:flex-start;border:1px solid #332933;background:#0c0a0e;padding:11px 12px;border-radius:9px;margin-top:8px;font-size:11px;line-height:1.45;cursor:pointer}.legal-check input{accent-color:#a52f40;margin-top:2px}.legal-accept{width:100%;margin-top:16px;padding:14px}.legal-version{display:block;text-align:center;color:#645b65;margin-top:10px}.legal-en{display:none}.legal-gate.legal-lang-en .legal-de{display:none}.legal-gate.legal-lang-en .legal-en{display:block}.legal-gate.legal-lang-en span.legal-en{display:inline}.legal-gate.legal-lang-de .legal-en{display:none}.legal-settings-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}

/* Bloodroad as an actual route map */
.bloodroad-scroll{height:650px!important;overflow:auto!important;position:relative!important;padding:0!important;background:radial-gradient(circle at 50% 10%,#5f1d2b18,transparent 22%),linear-gradient(180deg,#0e0b11,#08070a)!important;border:1px solid #282029;border-radius:16px;scrollbar-color:#542d39 #0a080c}.bloodroad-world{position:relative;width:1000px;min-width:1000px;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#25101a44,transparent 18%),radial-gradient(ellipse at 70% 55%,#14221833,transparent 18%),linear-gradient(90deg,#08070a,#0e0b10 48%,#08070a)}.bloodroad-world:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#ffffff08 1px,transparent 1px);background-size:34px 34px;opacity:.24}.bloodroad-world:after{content:"";position:absolute;left:0;right:0;top:0;height:180px;background:linear-gradient(#3d152144,transparent);pointer-events:none}.road-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}.road-path{fill:none;stroke:#211a22;stroke-width:7;stroke-linecap:round;stroke-dasharray:4 11;opacity:.7;transition:.4s}.road-path.path-done{stroke:#5d2632;stroke-width:8;stroke-dasharray:none;opacity:.9;filter:url(#roadGlow)}.road-path.path-next{stroke:#b23d4e;stroke-width:8;stroke-dasharray:10 14;opacity:1;filter:url(#roadGlow);animation:roadFlow 1.6s linear infinite}.road-path.path-live{stroke:#63303a}@keyframes roadFlow{to{stroke-dashoffset:-48}}.road-node{position:absolute!important;z-index:4;width:180px!important;min-height:78px!important;transform:translate(-50%,-50%);grid-template-columns:42px 1fr!important;background:linear-gradient(160deg,#171219ee,#0b090dee)!important;backdrop-filter:blur(7px);box-shadow:0 12px 30px #0009!important}.road-node:hover:not(:disabled){transform:translate(-50%,-54%) scale(1.035)!important}.road-node.open{border-color:#a84856!important;animation:roadNodePulse 2.2s ease-in-out infinite!important}.road-node.current{border-color:#dc5d69!important;box-shadow:0 0 42px #b62c4050,0 12px 30px #0009!important}.road-node.done{opacity:.62!important;filter:saturate(.6)}.road-node em{grid-column:2;font-style:normal;color:#d86973;font-size:7px;letter-spacing:1.3px}.node-pulse{position:absolute;inset:-6px;border:1px solid transparent;border-radius:17px;pointer-events:none}.road-node.open .node-pulse{border-color:#bb3d4a55;animation:ringPulse 2s ease-out infinite}.road-node.path-selected{animation:pathSelect .25s ease!important}@keyframes roadNodePulse{50%{box-shadow:0 0 32px #b62d4245,0 12px 30px #0009}}@keyframes ringPulse{50%{transform:scale(1.08);opacity:.15}}@keyframes pathSelect{50%{transform:translate(-50%,-50%) scale(.94)}}.road-runner{position:absolute;z-index:3;transform:translate(-50%,-50%);transition:top .7s cubic-bezier(.2,.8,.2,1),left .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}.road-runner span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#8e1e2e;color:#fff;border:2px solid #d85b66;box-shadow:0 0 24px #d63e505c;animation:runnerBeat 1.5s ease-in-out infinite}@keyframes runnerBeat{50%{transform:scale(1.18);box-shadow:0 0 38px #ed526866}}.road-decor{position:absolute;z-index:0;top:0;bottom:0;width:130px;opacity:.38;background:repeating-linear-gradient(170deg,transparent 0 70px,#29141b 72px 75px,transparent 77px 145px)}.decor-left{left:0;clip-path:polygon(0 0,65% 0,100% 100%,0 100%)}.decor-right{right:0;transform:scaleX(-1);clip-path:polygon(0 0,65% 0,100% 100%,0 100%)}.qol-focus{animation:qolFocus 1.15s ease!important}@keyframes qolFocus{0%,100%{filter:none}40%{filter:brightness(1.8);box-shadow:0 0 60px #e35a6b88!important}}

/* Cinematic combat timing */
body.combat-cinematic .combat-layout button{pointer-events:none}.enemy{transform-origin:center bottom;will-change:transform,filter}.enemy-windup{animation:enemyWindup .24s ease forwards}.enemy-lunge{animation:enemyLunge .58s cubic-bezier(.2,.85,.35,1)}@keyframes enemyWindup{to{transform:translateY(5px) scale(.97);filter:brightness(1.35)}}@keyframes enemyLunge{0%{transform:translateY(5px) scale(.97)}38%{transform:translate(-14px,-8px) scale(1.06);filter:brightness(1.6)}65%{transform:translate(5px,1px) scale(1.02)}100%{transform:none;filter:none}}.avatar.player-lunge{animation:playerLunge .48s cubic-bezier(.2,.8,.3,1)}.avatar.player-cast{animation:playerCast .46s ease}.target-brace{animation:targetBrace .45s ease}@keyframes playerLunge{40%{transform:translate(16px,-5px) scale(1.12);box-shadow:0 0 38px #d7435355}100%{transform:none}}@keyframes playerCast{45%{transform:scale(1.14);box-shadow:0 0 42px #ae466177}100%{transform:none}}@keyframes targetBrace{35%{filter:brightness(1.65);transform:scale(.98)}100%{filter:none;transform:none}}.enemy.selected:after{content:"";position:absolute;inset:-2px;border:1px solid #dd6672;border-radius:16px;pointer-events:none;animation:targetRing 1.4s ease-in-out infinite}@keyframes targetRing{50%{inset:-7px;opacity:.2}}.enemy{position:relative}.enemy-portrait img{animation:enemyIdle 3.2s ease-in-out infinite;filter:drop-shadow(0 15px 16px #0008)}@keyframes enemyIdle{50%{transform:translateY(-4px) rotate(.4deg)}}.avatar img{animation:hunterIdle 2.8s ease-in-out infinite}@keyframes hunterIdle{50%{transform:translateY(-3px)}}.danger-turn{animation:dangerTurn 2s ease-in-out infinite}@keyframes dangerTurn{50%{box-shadow:0 0 30px #b5263940}}

/* Achievement library */
.achievement-head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px}.achievement-progress{height:8px;background:#211b22;border-radius:999px;overflow:hidden}.achievement-progress i{display:block;height:100%;background:linear-gradient(90deg,#7f1d2b,#d24e5a);box-shadow:0 0 18px #cf43545a}.achievement-filters,.rank-mode-grid{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.achievement-filters button,.rank-mode-grid button{border:1px solid #372d38;background:#0e0b10;color:#8f828f;border-radius:9px;padding:8px 10px;cursor:pointer;font-size:9px;font-weight:800}.achievement-filters button.active,.rank-mode-grid button.active{background:#2a141b;border-color:#9e4350;color:#fff}.achievement em{display:inline-block;margin-top:6px;font-style:normal;font-size:7px;letter-spacing:1.2px;color:#695f69}.rank-rule{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #45333a;background:linear-gradient(90deg,#1e1015,#0d0a0e);padding:11px 12px;border-radius:10px;margin-bottom:10px}.rank-rule b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif}.rank-rule span{font-size:9px;color:#8f818b;text-align:right}

/* Menus feel more alive */
.class-choice,.mode-choice,.relic-tile,.achievement,.settings-section,.history-card{position:relative;overflow:hidden}.class-choice:after,.mode-choice:after,.relic-tile:after,.achievement:after{content:"";position:absolute;top:-60%;left:-80%;width:45%;height:220%;background:linear-gradient(90deg,transparent,#ffffff0c,transparent);transform:rotate(18deg);transition:left .55s}.class-choice:hover:after,.mode-choice:hover:after,.relic-tile:hover:after,.achievement:hover:after{left:140%}.modal-card{animation:modalEnter .24s ease}@keyframes modalEnter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.primary-btn{position:relative;overflow:hidden}.primary-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff20 50%,transparent 70%);transform:translateX(-120%);animation:buttonSheen 4.5s ease-in-out infinite}@keyframes buttonSheen{0%,70%{transform:translateX(-120%)}88%,100%{transform:translateX(120%)}}

@media(max-width:900px){.game-footer{flex-direction:column;align-items:flex-start}.legal-summary-grid{grid-template-columns:1fr}.bloodroad-scroll{height:600px!important}.bloodroad-world{min-width:1000px;width:1000px}.road-node{width:150px!important}.rank-rule{align-items:flex-start;flex-direction:column}.rank-rule span{text-align:left}}
@media(max-width:560px){.legal-gate-card{padding:22px 15px}.legal-lang-switch{right:12px;top:12px}.legal-summary-grid{gap:6px}.legal-summary-grid>div{padding:9px}.game-footer{font-size:9px}.bloodroad-scroll{height:565px!important}.road-node{width:138px!important;min-height:68px!important}.road-node .node-label{font-size:8px!important}.road-node em{font-size:6px}.achievement-head{grid-template-columns:1fr}.rank-mode-grid{display:grid;grid-template-columns:1fr 1fr}.achievement-filters{display:grid;grid-template-columns:repeat(3,1fr)}}


/* v2.3.1 — combat readability + start-path hardening */
.bloodroad-world:before,.road-svg,.road-decor,.road-runner{pointer-events:none!important}.road-node{pointer-events:auto!important;z-index:10!important}.road-node.open{cursor:pointer!important}.road-node.open:after{content:"";position:absolute;inset:-10px;border-radius:20px;border:1px solid #d4556566;pointer-events:none;animation:ringPulse 1.7s ease-out infinite}
.combat-turn-banner{grid-template-columns:minmax(120px,.55fr) minmax(300px,1.5fr) repeat(3,minmax(125px,.75fr))!important;align-items:stretch!important}.turn-identity{display:flex;flex-direction:column;justify-content:center}.blood-resource-panel{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;border:1px solid #74313e;background:linear-gradient(135deg,#2a1018,#100b10);border-radius:15px;padding:9px 12px;box-shadow:inset 0 0 24px #a4203420,0 0 26px #8d20302a}.blood-orb{width:70px;height:70px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#ef6b79,#a72036 38%,#3a0c17 72%);border:2px solid #ef7581;box-shadow:0 0 30px #d52f465c,inset 0 0 20px #2b0208}.blood-orb span{font-size:31px;line-height:1;font-weight:950;color:white}.blood-orb small{font-size:8px;letter-spacing:1.6px;font-weight:900}.blood-resource-copy>b{display:block;font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:15px}.blood-resource-copy>small{display:block;color:#9f929e;font-size:9px;line-height:1.35;margin-top:3px}.energy-pips{display:flex;gap:5px;margin:5px 0}.energy-pip{font-style:normal;color:#33262e;font-size:20px;text-shadow:none;transition:.2s}.energy-pip.filled{color:#ef5263;text-shadow:0 0 12px #e33a4c;animation:energyBeat 1.7s ease-in-out infinite}@keyframes energyBeat{50%{transform:scale(1.13)}}
.combat-scene-header{align-items:center!important}.combat-quick-status{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:6px;min-width:min(720px,65vw)}.combat-quick-status>span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center;border:1px solid #352b35;background:#0d0a0f;padding:7px 8px;border-radius:9px;font-size:14px}.combat-quick-status b{font-size:17px}.combat-quick-status small{grid-column:1/3;color:#817580;font-size:7px;letter-spacing:1px;text-transform:uppercase}.combat-quick-status .blood{border-color:#7f2d3b;color:#e35b69}.combat-quick-status .bleed{color:#e05a68}.combat-quick-status .poison{color:#63d78b}.combat-quick-status .burn{color:#f09a49}.combat-quick-status .block{color:#aab9cb}
.enemy-primary-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:7px 0}.enemy-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:43px;border:1px solid #352a34;border-radius:8px;background:#0b090d;padding:4px 2px}.enemy-stat i{font-style:normal;font-size:13px}.enemy-stat small{font-size:6.5px;text-transform:uppercase;color:#7d727c;max-width:100%;overflow:hidden;text-overflow:ellipsis}.enemy-stat strong{font-size:12px}.enemy-stat.zero{opacity:.42}.enemy-stat.stat-bleed{color:#e25867}.enemy-stat.stat-poison{color:#62d087}.enemy-stat.stat-burn{color:#ee9a4a}.enemy-stat.stat-armor{color:#a9b7c9}.enemy-stat.stat-hp{color:#e9dce1}.target-marker{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);font-size:7px;font-weight:950;letter-spacing:1.6px;color:#fff;background:#9c2637;border:1px solid #ef6674;border-radius:999px;padding:3px 7px;box-shadow:0 0 18px #c02c43aa}.enemy-portrait{position:relative}
.combat-action-caption{position:relative;z-index:3;margin:8px auto 4px;width:min(620px,90%);min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #3b2b35;background:#0d0910cc;border-radius:12px;padding:7px 14px;transition:.2s}.combat-action-caption small{font-size:7px;letter-spacing:2px;color:#a68c98}.combat-action-caption strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:15px}.combat-action-caption.active{border-color:#8e3342;box-shadow:0 0 22px #9d20352c}.combat-action-caption.poison{border-color:#36754f;color:#8de2a9}.combat-action-caption.blood{border-color:#973344;color:#ef8590}.combat-action-caption.burn{border-color:#93542f;color:#ffc07d}.hand-help{font-size:9px;color:#9c8f99;border:1px solid #30262f;background:#0b090d;padding:7px 10px;border-radius:8px;margin:0 0 10px}.card:disabled{filter:grayscale(.55) brightness(.62);opacity:.58;transform:none!important;cursor:not-allowed}.card:disabled .card-cost{background:#3b3036;border-color:#64545c;color:#bcaeb6}.player-readout{min-width:0}.combat-chips span b{font-size:12px}
.next-run-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.enemy-windup{animation:enemyWindup231 .43s ease forwards!important}.enemy-lunge{animation:enemyLunge231 .58s cubic-bezier(.2,.8,.25,1) forwards!important}@keyframes enemyWindup231{50%{transform:translateY(-4px) scale(1.035);filter:brightness(1.3)}}@keyframes enemyLunge231{45%{transform:translateX(-26px) scale(1.055);filter:brightness(1.42)}100%{transform:translateX(0) scale(1)}}
@media(max-width:1250px){.combat-turn-banner{grid-template-columns:1fr 1.7fr 1fr!important}.combat-turn-banner .forecast-chip:nth-last-child(2),.combat-turn-banner .forecast-chip:nth-last-child(1){display:none}.combat-scene-header{display:block!important}.combat-quick-status{min-width:0;width:100%;grid-template-columns:repeat(6,1fr);margin-top:10px}}
@media(max-width:700px){.combat-turn-banner{grid-template-columns:1fr!important}.combat-turn-banner .forecast-chip{display:none!important}.blood-resource-panel{grid-template-columns:64px 1fr}.blood-orb{width:58px;height:58px}.blood-orb span{font-size:26px}.combat-quick-status{grid-template-columns:repeat(3,1fr)}.enemy-primary-stats{grid-template-columns:repeat(5,1fr)}.enemy-stat small{display:none}.next-run-actions{flex-direction:column}.next-run-actions button{width:100%}}


/* v2.3.2 — Bloodroad start/focus hardening + longer route QoL */
.route-choice-dock{position:relative;z-index:20;display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,2.2fr) auto;gap:12px;align-items:center;margin:14px 0 12px;padding:12px 14px;border:1px solid #4b2c36;border-radius:14px;background:linear-gradient(135deg,#1b1117ee,#0c090eee);box-shadow:0 12px 34px #0006,inset 0 0 24px #8c24321b}.route-choice-dock>div:first-child strong{display:block;color:#ee7280;font-size:11px;letter-spacing:1.5px}.route-choice-dock>div:first-child small{display:block;color:#8f838d;font-size:9px;margin-top:4px}.route-choice-list{display:flex;gap:8px;overflow-x:auto;padding:3px 1px}.route-choice{flex:0 0 auto;min-width:135px;border:1px solid #55323d;background:#151016;color:#eee3e7;border-radius:11px;padding:9px 10px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 8px 20px #0005}.route-choice:hover{transform:translateY(-2px);border-color:#c14a5a;box-shadow:0 0 24px #b72f423d}.route-choice>span{grid-row:1/3;width:24px;height:24px;border:1px solid #70404d;border-radius:50%;display:grid;place-items:center;color:#dc5968}.route-choice b{font-size:10px}.route-choice small{font-size:8px;color:#8e818c}.route-choice.type-shop>span{color:#d3ae69}.route-choice.type-rest>span{color:#79b18e}.route-choice.type-treasure>span{color:#ba975c}.focus-route-btn{white-space:nowrap}.road-node.open{background:linear-gradient(160deg,#27141bee,#100a0eee)!important;border-width:2px!important;filter:brightness(1.16)}.road-node.open em{font-weight:800;color:#ff7c88!important}.road-node.open .node-icon{box-shadow:0 0 18px #e1455540}.bloodroad-scroll{scroll-behavior:auto!important}.map-scene .scene-header strong{color:#c55360}
@media(max-width:1050px){.route-choice-dock{grid-template-columns:1fr}.focus-route-btn{width:100%}.route-choice-list{width:100%}}
@media(max-width:560px){.route-choice-dock{padding:10px}.route-choice{min-width:120px}.route-choice b{font-size:9px}.route-choice-dock>div:first-child small{font-size:8px}}


/* v2.3.3 – three-lane Bloodroad clarity */
.route-choice-dock{display:none!important}
.route-status-bar{position:relative;z-index:20;display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:18px;align-items:center;margin:14px 0 12px;padding:12px 14px;border:1px solid #4b2c36;border-radius:14px;background:linear-gradient(135deg,#1b1117ee,#0c090eee);box-shadow:0 12px 34px #0006,inset 0 0 24px #8c24321b}
.route-status-bar>div:first-child strong{display:block;color:#f07885;font-size:11px;letter-spacing:1.4px}.route-status-bar>div:first-child small{display:block;color:#a3959f;font-size:9px;margin-top:4px;line-height:1.45}.route-line-key{display:flex;gap:7px;align-items:center;white-space:nowrap;color:#8f838e;font-size:9px}.route-line-key span{font-size:16px;line-height:1}.key-travelled{color:#c93045;text-shadow:0 0 10px #d63f55}.key-next{color:#ff6b7c;text-shadow:0 0 14px #ff4c63}.key-locked{color:#302832}
.bloodroad-world{overflow:hidden!important;background:radial-gradient(ellipse at 50% 0%,#35131d55,transparent 17%),radial-gradient(ellipse at 18% 45%,#17211726,transparent 18%),radial-gradient(ellipse at 82% 70%,#1b102126,transparent 18%),linear-gradient(90deg,#08070a,#100b11 50%,#08070a)!important}
.road-path.path-muted{stroke:#241d25!important;stroke-width:5!important;stroke-dasharray:3 12!important;opacity:.40!important;filter:none!important}
.road-path.path-travelled{stroke:#b82b40!important;stroke-width:10!important;stroke-dasharray:none!important;opacity:1!important;filter:url(#roadGlow);animation:bloodPulse 2.6s ease-in-out infinite}
.road-path.path-next{stroke:#f05264!important;stroke-width:9!important;stroke-dasharray:12 13!important;opacity:1!important;filter:url(#roadGlow);animation:roadFlow 1.15s linear infinite}
.road-path.path-start{stroke-width:8!important}
@keyframes bloodPulse{50%{stroke:#e44558;filter:url(#roadGlow)}}
.road-origin{position:absolute;z-index:4;left:500px;top:46px;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.road-origin span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#6e1422;border:2px solid #da5262;color:#fff;box-shadow:0 0 30px #dc40565c}.road-origin small{margin-top:3px;color:#a68f98;font-size:7px;letter-spacing:1.5px}
.road-runner{z-index:5!important}.road-node{z-index:10!important}.road-node.open{border-color:#ed5d6f!important;background:linear-gradient(160deg,#35161fee,#120a0fee)!important;box-shadow:0 0 38px #e23b514c,0 12px 30px #0009!important}.road-node.open em{color:#ff8994!important;font-weight:900}.road-node:disabled{pointer-events:none!important}.road-node.done{opacity:.72!important}.road-node.current{opacity:1!important;border-color:#f16c7a!important}
@media(max-width:1050px){.route-status-bar{grid-template-columns:1fr}.route-line-key{white-space:normal}.focus-route-btn{width:100%}}

/* v2.3.3 responsive road canvas */
.bloodroad-world{width:100%!important;min-width:1000px!important;margin:0 auto}.road-origin{left:50%!important}


/* v2.3.4 — Bloodroad readability + full-route scrolling */
.bloodroad-scroll{
    height:min(72vh,760px)!important;
    min-height:590px!important;
    overflow-y:scroll!important;
    overflow-x:auto!important;
    display:block!important;
    overscroll-behavior:contain;
    scrollbar-width:auto;
    scrollbar-color:#8b3545 #120c11;
}
.bloodroad-scroll::-webkit-scrollbar{width:14px;height:12px}.bloodroad-scroll::-webkit-scrollbar-track{background:#100b10;border-left:1px solid #2a2028}.bloodroad-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#9d3b4c,#5f2330);border:3px solid #100b10;border-radius:999px}.bloodroad-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(#cf5061,#772b39)}
.bloodroad-world{
    flex:0 0 auto!important;
    position:relative!important;
    min-height:1900px;
    overflow:hidden!important;
}
.road-svg{pointer-events:none!important}
.road-path.path-muted{
    stroke:#66444e!important;
    stroke-width:5.5!important;
    stroke-dasharray:7 11!important;
    opacity:.72!important;
    filter:drop-shadow(0 0 2px #000)!important;
}
.road-path.path-muted:nth-of-type(3n){stroke:#5a475e!important}.road-path.path-muted:nth-of-type(3n+1){stroke:#65454e!important}.road-path.path-muted:nth-of-type(3n+2){stroke:#4d4a57!important}
.road-path.path-travelled{stroke-width:11!important;filter:url(#roadGlow) drop-shadow(0 0 4px #d93f53)!important}
.road-path.path-next{stroke-width:10!important;stroke:#ff6677!important;filter:url(#roadGlow) drop-shadow(0 0 5px #ff5267)!important}
.road-node:disabled{opacity:.78!important;filter:none!important;border-color:#3c3039!important;color:#c1b3ba!important;background:linear-gradient(160deg,#141016ee,#0b090dee)!important}
.road-node:disabled .node-icon{opacity:.75}.road-node:disabled .node-floor{color:#83757d!important}.road-node:disabled .node-label{color:#c4b6bc!important}
.route-status-bar{grid-template-columns:minmax(260px,1fr) auto auto!important}.route-jump-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.route-jump-btn{padding:8px 10px!important;min-width:74px;white-space:nowrap}.route-line-key{background:#0d090e;border:1px solid #30252d;border-radius:9px;padding:6px 9px}
.map-scene:after{content:"";position:absolute;left:28px;right:28px;bottom:22px;height:42px;pointer-events:none;background:linear-gradient(transparent,#08070acc);z-index:15}
.bloodroad-scroll:after{content:"SCROLL  ↓  BLOODROAD";position:sticky;display:block;left:50%;bottom:8px;width:max-content;transform:translateX(-50%);z-index:30;padding:5px 10px;border-radius:999px;border:1px solid #522d37;background:#0d090edb;color:#a98791;font-size:7px;font-weight:900;letter-spacing:1.7px;pointer-events:none;box-shadow:0 5px 18px #0008}
@media(max-width:1050px){.bloodroad-scroll{height:68vh!important;min-height:540px!important}.route-status-bar{grid-template-columns:1fr!important}.route-jump-actions{justify-content:stretch}.route-jump-btn{flex:1}.route-line-key{white-space:normal}}
@media(max-width:560px){.bloodroad-scroll{height:66vh!important;min-height:500px!important}.route-jump-actions{display:grid;grid-template-columns:repeat(3,1fr)}.route-jump-btn{min-width:0!important;font-size:8px!important}.road-path.path-muted{stroke-width:4.5!important;opacity:.68!important}.road-node:disabled{opacity:.74!important}}


/* v2.3.5 — graceful game-rule handling / no dead-end affordances */
.shop-wallet{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid #4b3428;background:linear-gradient(135deg,#241a10,#100d0b);border-radius:12px}.shop-wallet span{font-size:8px;letter-spacing:1.5px;color:#aa9270;font-weight:900}.shop-wallet strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;color:#e2be80;font-size:20px}.shop-wallet small{color:#8f8273;font-size:9px;margin-left:auto}.shop-item.unavailable,.service-card.unavailable,.choice-card.unavailable{opacity:.5!important;filter:grayscale(.35) brightness(.75);box-shadow:none!important}.shop-item.unavailable .buy-btn{color:#9c8588;border-color:#49333a;background:#120d10}.unavailable-reason{display:block!important;margin-top:8px!important;color:#d77b86!important;font-size:9px!important;font-weight:800!important;letter-spacing:.3px}.choice-card:disabled,.service-card:disabled,.buy-btn:disabled{transform:none!important;cursor:not-allowed!important}.actions .ghost-btn{margin-left:8px}

/* v2.3.6 — explicit outcome / reveal layer */
.resolution-overlay{position:fixed;inset:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:22px;background:#050306e8;backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.resolution-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.resolution-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 32%,#7e203128,transparent 34%),linear-gradient(#05030688,#050306df)}
.resolution-panel{position:relative;z-index:2;width:min(900px,94vw);max-height:88vh;overflow:auto;padding:30px;border-color:#6b3441;background:radial-gradient(circle at 50% 0,#54172533,transparent 36%),linear-gradient(180deg,#171019,#0b090e);box-shadow:0 35px 100px #000d,0 0 70px #b3293e28;transform:translateY(18px) scale(.96);opacity:.2}.resolution-overlay.show .resolution-panel{animation:resolutionEnter .42s cubic-bezier(.2,.8,.2,1) forwards}.resolution-panel.reveal-now:after{content:"";position:absolute;inset:-40%;pointer-events:none;background:conic-gradient(from 180deg,transparent,#ff6d7d0d,transparent 25%,#d8b56d0d,transparent 55%);animation:resolutionSweep 1.25s ease-out forwards}@keyframes resolutionEnter{to{transform:translateY(0) scale(1);opacity:1}}@keyframes resolutionSweep{from{transform:rotate(-20deg);opacity:1}to{transform:rotate(35deg);opacity:0}}
.resolution-kicker{font-size:9px;letter-spacing:2.6px;color:#ef6776;font-weight:950}.resolution-panel h2{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:32px;margin:7px 0 8px}.resolution-panel>p{margin:0 0 20px;color:#b7aab2;line-height:1.6;font-size:13px}.resolution-items{display:grid;gap:12px}.resolution-item{position:relative;border:1px solid #3c3039;border-radius:14px;background:#0f0c11;padding:14px;overflow:hidden}.resolution-item:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,#ffffff05,transparent 25%,transparent 70%,#d94f5c08)}.resolution-item-label{font-size:8px;letter-spacing:1.6px;color:#9f8e99;font-weight:950;margin-bottom:10px}.resolution-continue{display:block;margin:22px auto 0;min-width:210px;padding:13px 24px}
.resolution-card-compare{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:12px;align-items:center}.resolution-arrow{text-align:center;color:#ed6575;font-size:32px;text-shadow:0 0 20px #e94a5d77;animation:resolutionArrow 1s ease-in-out infinite}@keyframes resolutionArrow{50%{transform:translateX(5px);filter:brightness(1.35)}}
.resolution-card-mini{display:grid;grid-template-columns:105px 1fr;grid-template-rows:auto 1fr;gap:5px 12px;align-items:start;padding:10px;border:1px solid #473743;border-radius:12px;background:linear-gradient(145deg,#171018,#0b090d)}.resolution-card-mini.before{opacity:.72;filter:saturate(.65)}.resolution-card-mini.after{border-color:#b75361;box-shadow:0 0 30px #b9364a2e,inset 0 0 25px #a72a3b12;animation:upgradeGlow 1.5s ease-in-out infinite}.resolution-card-art{grid-row:1/3;position:relative;width:105px;height:118px;border-radius:9px;overflow:hidden;border:1px solid #523744;background:#100b10}.resolution-card-art img{width:100%;height:100%;object-fit:cover}.resolution-card-art span{position:absolute;left:7px;top:7px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#8f2432;border:1px solid #dc6470;color:#fff;font-weight:900;box-shadow:0 4px 15px #0009}.resolution-card-mini strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:15px;color:#eee3e8}.resolution-card-mini small{font-size:11px;line-height:1.55;color:#b6a7b1}.resolution-single-card .resolution-card-mini{max-width:580px;margin:auto}.resolution-single-card.removed .resolution-card-mini{border-color:#63323b;opacity:.76}.resolution-single-card.removed .resolution-card-art:after{content:"";position:absolute;left:-10%;right:-10%;top:50%;height:3px;background:#dc5262;transform:rotate(-18deg);box-shadow:0 0 14px #e35363}@keyframes upgradeGlow{50%{box-shadow:0 0 42px #d24d6045,inset 0 0 35px #bb3b4c1a;transform:translateY(-2px)}}
.resolution-relic{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;border-color:#66513c;background:radial-gradient(circle at 0 50%,#bc8c4221,transparent 26%),#100d11}.resolution-relic-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:1px solid #9d7946;background:#261d12;color:#e0b866;font-size:30px;box-shadow:0 0 30px #d0a65c26}.resolution-relic strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:18px;color:#efd6a1}.resolution-relic p{margin:5px 0 0;color:#a89a8c;font-size:11px;line-height:1.5}
.resolution-stat{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center}.resolution-stat-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;border:1px solid #503942;background:#181017}.resolution-stat small{display:block;color:#958791;font-size:9px;letter-spacing:1px;text-transform:uppercase}.resolution-stat-values{display:flex;align-items:center;gap:12px;margin-top:5px}.resolution-stat-values b{font-size:17px;color:#80757d}.resolution-stat-values i{font-style:normal;color:#71636c}.resolution-stat-values strong{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:25px}.resolution-stat-values em{margin-left:auto;font-style:normal;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.resolution-stat.positive{border-color:#315b45}.resolution-stat.positive .resolution-stat-icon,.resolution-stat.positive .resolution-stat-values strong{color:#79d99c}.resolution-stat.positive .resolution-stat-values em{background:#163222;color:#83dda3}.resolution-stat.negative{border-color:#68333d}.resolution-stat.negative .resolution-stat-icon,.resolution-stat.negative .resolution-stat-values strong{color:#ef6b78}.resolution-stat.negative .resolution-stat-values em{background:#34141c;color:#f07b86}.resolution-stat.neutral .resolution-stat-values em{background:#272028;color:#aaa0a8}
.resolution-note{display:flex;gap:12px;align-items:center}.resolution-note>span{width:40px;height:40px;display:grid;place-items:center;border:1px solid #443742;border-radius:50%;color:#a796a2}.resolution-note p{margin:0;color:#aca0a9;font-size:12px;line-height:1.5}.resolution-history-chip{max-width:440px;white-space:normal!important;line-height:1.35!important;border-color:#5b3440!important;background:#1b1016!important;color:#d9bcc4!important}
body.busy .resolution-continue{pointer-events:none;opacity:.5}
@media(max-width:680px){.resolution-overlay{padding:10px}.resolution-panel{padding:20px;max-height:94vh}.resolution-panel h2{font-size:25px}.resolution-card-compare{grid-template-columns:1fr;gap:8px}.resolution-arrow{transform:rotate(90deg);font-size:24px}.resolution-card-mini{grid-template-columns:82px 1fr}.resolution-card-art{width:82px;height:100px}.resolution-relic{grid-template-columns:52px 1fr}.resolution-relic-icon{width:48px;height:48px}.resolution-stat-values{gap:8px}.resolution-stat-values strong{font-size:21px}}
.automatic-effect-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 15px;padding:10px 12px;border:1px solid #405445;border-radius:11px;background:linear-gradient(135deg,#101a14,#0c0c10);box-shadow:inset 0 0 22px #4f9a6620}.automatic-effect-strip>b{font-size:8px;letter-spacing:1.3px;color:#76c38f;margin-right:4px}.automatic-effect-strip>span{padding:5px 8px;border-radius:999px;border:1px solid #385141;background:#101712;color:#b9d3c1;font-size:9px}

/* =========================================================
   VAMPYRIUM 2.3.7 — release candidate polish
   ========================================================= */
:root{--panel-max:1460px}
html{scroll-behavior:smooth}.shell{width:min(var(--panel-max),95vw)!important;margin-top:20px}.topbar{padding-left:max(18px,3vw);padding-right:max(18px,3vw);box-shadow:0 8px 34px #0005}.top-actions{gap:6px}.top-actions .ghost-btn{padding:9px 12px;font-size:10px}.kofi-top{border-color:#6f4c2e!important;color:#e8c994!important;background:linear-gradient(180deg,#20170f,#120e0b)!important}
.hud{border-radius:14px!important;overflow:hidden}.hud-item{padding:11px 14px}.hud-item strong{font-variant-numeric:tabular-nums}.game-root{min-height:560px}
.hero-v2{min-height:610px}.hero-v2 .hero-copy{padding:38px clamp(22px,3.3vw,50px)}.hero-v2 h1{font-size:clamp(44px,5.8vw,82px);margin:14px 0 18px}.hero-v2 h3{margin:18px 0 9px}.hero-scene{min-height:610px}.class-grid{gap:8px}.class-choice{grid-template-columns:70px 1fr;min-height:108px;padding:9px}.class-choice img{width:66px;height:84px}.class-choice strong{font-size:12px}.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mode-choice{min-height:112px;padding:10px}.mode-choice span{font-size:9px}.start-big{width:min(420px,100%);min-height:50px;font-size:12px;letter-spacing:1.1px}
.modal-card{width:min(1040px,94vw)!important;max-height:min(88vh,900px)!important;padding:26px!important;scrollbar-color:#6f3340 #0d0a0f}.modal-card h2{font-size:28px}.settings-section{padding:15px!important}.setting-row{gap:14px!important;padding:12px 0!important}.deck-card-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px}.deck-card-grid .card{min-height:296px}.deck-card-grid .card-art{height:132px}
.legal-gate{padding:14px}.legal-gate-card{width:min(820px,96vw)!important;max-height:min(92vh,860px)!important;padding:24px!important;scrollbar-color:#6f3340 #0d0a0f}.legal-gate-brand{margin-bottom:13px}.legal-copy h2{font-size:clamp(24px,3vw,34px);margin-bottom:8px}.legal-copy>p{font-size:12px;line-height:1.55;margin:8px 0 12px}.legal-summary-grid{gap:8px;margin:12px 0}.legal-summary-grid>div{min-height:86px;padding:10px 11px;display:flex;flex-direction:column;justify-content:center}.legal-summary-grid b{font-size:11px}.legal-summary-grid span{font-size:9.5px;line-height:1.42}.legal-document-links{margin:11px 0}.legal-check{padding:10px 11px;margin-top:7px}.legal-accept{margin-top:12px;min-height:48px}.legal-accept.loading{pointer-events:none;filter:saturate(.7)}
.map-scene{padding:22px!important}.route-status-bar{margin-top:8px!important}.bloodroad-scroll{height:min(74vh,790px)!important;min-height:560px!important;border-color:#372731!important;box-shadow:inset 0 0 45px #0007}.road-path.path-muted{opacity:.8!important;stroke-width:6!important}.road-path.path-travelled{stroke-width:12!important}.road-path.path-next{stroke-width:11!important}.road-node{width:172px!important;min-height:72px!important}.road-node .node-label{font-size:11px!important}.road-node.open{box-shadow:0 0 42px #e23b5157,0 12px 28px #0008!important}
.combat-layout{gap:12px}.battlefield{padding:20px!important;min-height:430px!important}.combat-turn-banner{gap:6px!important;margin-bottom:12px!important}.combat-turn-banner>div{padding:8px 10px!important}.blood-resource-panel{grid-template-columns:68px 1fr!important;padding:8px 10px!important}.blood-orb{width:60px!important;height:60px!important}.blood-orb span{font-size:27px!important}.energy-pip{font-size:18px!important}.combat-quick-status{gap:5px!important}.combat-quick-status>span{padding:6px 7px!important}.enemy-line{margin:14px auto 22px!important;gap:12px!important}.enemy{grid-template-columns:128px 1fr!important;min-height:146px!important;padding:11px!important}.enemy-portrait{height:126px!important}.enemy-intent-card{min-height:54px}.player-combat{padding-top:12px!important}.hand-panel{padding:14px!important}.card-hand{gap:9px!important}.card{flex-basis:188px!important;min-height:264px!important;padding:9px!important}.card-art{height:120px!important}.card-name{font-size:12px!important}.card-text{font-size:10px!important;line-height:1.4!important}.combat-action-caption{min-height:48px!important;margin-top:4px!important}.resolution-panel{width:min(840px,94vw)!important;padding:24px!important}.resolution-items{gap:9px}.resolution-item{padding:12px}.resolution-panel h2{font-size:29px}.resolution-continue{margin-top:16px}
.startup-failure{min-height:430px;display:grid;grid-template-columns:110px minmax(0,560px);justify-content:center;align-items:center;gap:28px;padding:36px}.startup-failure .sigil{margin:auto}.startup-failure h2{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:30px;margin:7px 0}.startup-failure p{color:#a99da7;line-height:1.6}
.page-hidden *,body.vfx-off *{animation-play-state:paused!important}.card,.enemy,.road-node,.resolution-item{contain:layout style}.achievement,.history-card{content-visibility:auto;contain-intrinsic-size:110px}.deck-card-grid .card{content-visibility:auto;contain-intrinsic-size:296px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fog,.menu-embers i,.hero-class-art,.enemy-portrait img,.avatar img,.card-art:after,.rarity-rare .card-art:before,.road-path,.road-node,.primary-btn:after{animation:none!important}.card,.enemy,.road-node,.ghost-btn,.primary-btn{transition-duration:.08s!important}}
@media(max-width:1250px){.mode-grid{grid-template-columns:repeat(3,1fr)}.top-actions .ghost-btn{padding:8px 9px}.hero-v2{min-height:580px}.hero-scene{min-height:360px}}
@media(max-width:900px){.topbar{position:relative}.top-actions{width:100%;display:grid!important;grid-template-columns:repeat(3,1fr)}.top-actions .ghost-btn{width:100%;text-align:center}.hero-v2 .hero-copy{padding:28px 20px}.class-grid{grid-template-columns:1fr 1fr!important}.mode-grid{grid-template-columns:1fr 1fr}.bloodroad-scroll{height:70vh!important}.enemy{grid-template-columns:106px 1fr!important}.enemy-portrait{height:108px!important}.card{flex-basis:174px!important}.startup-failure{grid-template-columns:1fr;text-align:center}}
@media(max-width:620px){.shell{width:96vw!important}.top-actions{grid-template-columns:1fr 1fr}.kofi-top{display:none}.hud{grid-template-columns:1.2fr 1.3fr 1fr!important}.hero-v2 h1{font-size:42px}.class-grid{grid-template-columns:1fr!important}.mode-grid{grid-template-columns:1fr!important}.legal-summary-grid{grid-template-columns:1fr!important}.legal-summary-grid>div{min-height:0}.legal-gate-card{padding:18px 14px!important}.modal-card{padding:18px 13px!important}.map-scene{padding:13px!important}.route-status-bar{padding:10px!important}.road-node{width:144px!important}.combat-quick-status{grid-template-columns:repeat(3,1fr)!important}.battlefield{padding:12px!important}.enemy{grid-template-columns:88px 1fr!important}.enemy-portrait{height:92px!important}.card{flex-basis:164px!important;min-height:252px!important}.card-art{height:108px!important}.resolution-panel{padding:17px!important}}

/* v2.3.8 legal acceptance reliability */
.legal-inline-error{margin:10px 0 4px;padding:12px 14px;border:1px solid #9b3445;border-radius:12px;background:#2a1018;color:#ffdfe4;font-size:13px;line-height:1.45}
.legal-accept.loading{position:relative;opacity:.82;cursor:wait}
.legal-accept.loading:after{content:"";width:14px;height:14px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;vertical-align:-2px;animation:legalSpin .65s linear infinite}
@keyframes legalSpin{to{transform:rotate(360deg)}}

/* v2.4.0 — browser-independent player account */
.account-gate{position:fixed;inset:0;z-index:1000001;display:grid;place-items:center;padding:16px}.account-gate-backdrop{position:absolute;inset:0;background:rgba(3,2,5,.93);backdrop-filter:blur(16px)}.account-gate-card{position:relative;width:min(760px,96vw);max-height:94vh;overflow:auto;padding:26px;background:radial-gradient(circle at 92% 0,#6e233333,transparent 28%),linear-gradient(180deg,#171219,#0d0a0f);border-color:#603844;box-shadow:0 30px 100px #000d;animation:legalEnter .42s ease}.account-lang-switch{position:absolute;right:20px;top:20px;display:flex;gap:5px}.account-lang-switch button{border:1px solid #433541;background:#0d0a0f;color:#867a86;border-radius:8px;padding:7px 10px;cursor:pointer;font-weight:800}.account-lang-switch button.active{border-color:#b74555;color:#fff;background:#2b1219}.account-copy h2{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:clamp(26px,4vw,38px);margin:8px 0 10px}.account-copy>p{color:#b0a5ae;line-height:1.62;font-size:13px;margin:0 0 16px}.account-en{display:none}.account-gate.account-lang-en .account-de{display:none}.account-gate.account-lang-en .account-en{display:block}.account-gate.account-lang-en span.account-en,.account-gate.account-lang-en b.account-en{display:inline}.account-gate.account-lang-de .account-en{display:none}.account-progress-note{display:grid;gap:5px;border:1px solid #4d4630;background:linear-gradient(180deg,#1e1a10,#131008);padding:12px 14px;border-radius:11px;margin:12px 0 15px}.account-progress-note b{color:#ddca8a;font-size:11px}.account-progress-note span{color:#a99d77;font-size:10px;line-height:1.48}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0}.account-tabs a{display:block;text-align:center;text-decoration:none;border:1px solid #3c303b;background:#0c0a0e;color:#8d818d;padding:11px;border-radius:10px;font-weight:900;font-size:10px;letter-spacing:.7px;cursor:pointer}.account-tabs a.active{background:#2a1118;color:#fff;border-color:#a53b4a;box-shadow:inset 0 0 18px #8d20302b}.account-form{display:grid;gap:11px}.account-form.hidden{display:none!important}.account-form label{display:grid;gap:6px;color:#c4b8c1;font-size:10px;font-weight:800;letter-spacing:.25px}.account-form input{width:100%;border:1px solid #403441;background:#0a080c;color:#fff;border-radius:10px;padding:12px 13px;outline:none}.account-form input:focus{border-color:#a44452;box-shadow:0 0 0 3px #a4445217}.account-form small{font-size:9px;line-height:1.4;color:#746a75}.password-field{display:grid;grid-template-columns:1fr 42px}.password-field input{border-radius:10px 0 0 10px}.password-field button{border:1px solid #403441;border-left:0;background:#171017;color:#8c818a;border-radius:0 10px 10px 0;cursor:pointer}.password-field button.active{color:#efc2c7;background:#2b1219}.account-submit{width:100%;min-height:50px;margin-top:4px}.account-submit.loading{opacity:.65;pointer-events:none}.account-footnote{margin:0;color:#6f6670;font-size:9px!important;line-height:1.5}.account-footnote.warning{color:#b09470}.account-inline-error{border:1px solid #873b48;background:#2b1118;color:#f0c8ce;padding:10px 12px;border-radius:9px;margin:10px 0;font-size:10px;line-height:1.45}#usernameAvailability.available{color:#77be91}#usernameAvailability.taken{color:#dc6975}#usernameAvailability.checking{color:#c9a46c}
.account-settings{border-color:#45333d!important;background:linear-gradient(180deg,#151015,#0d0b0f)!important}.account-status-card{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;border:1px solid #3e3039;background:#0c0a0e;border-radius:12px;padding:12px}.account-status-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid #6f3542;background:#251018;color:#d35d6b;font-size:22px}.account-status-card b,.account-status-card small{display:block}.account-status-card b{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;font-size:15px}.account-status-card small{color:#8d828c;font-size:9px;margin-top:3px;line-height:1.4}.account-edit{margin-top:8px;border:1px solid #342a32;background:#0b090d;border-radius:10px;overflow:hidden}.account-edit summary{cursor:pointer;padding:10px 12px;font-size:10px;font-weight:800;color:#b5a9b2}.account-edit[open] summary{border-bottom:1px solid #2c232b}.account-edit-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;padding:10px}.account-edit-grid.password-change{grid-template-columns:1fr 1fr 1fr auto}.account-edit-grid input{min-width:0;border:1px solid #3a3038;background:#09070b;color:#fff;border-radius:8px;padding:9px 10px;font-size:10px}
@media(max-width:760px){.account-gate-card{padding:20px 14px}.account-lang-switch{right:12px;top:12px}.account-status-card{grid-template-columns:40px 1fr}.account-status-card .ghost-btn{grid-column:1/3;width:100%}.account-edit-grid,.account-edit-grid.password-change{grid-template-columns:1fr}.account-edit-grid .ghost-btn{width:100%}}


/* v2.6 tactical readability and event decision layer */
.hunter-name-field{display:grid;gap:5px}.hunter-name-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.hunter-reroll{white-space:nowrap;padding:10px 12px;font-size:9px}.hunter-name-field small{font-size:9px;color:#7d737d;min-height:14px}.hunter-name-field small.name-ok{color:#7fcf9b}.hunter-name-field small.name-taken{color:#ef7480}@media(max-width:620px){.hunter-name-entry{grid-template-columns:1fr}.hunter-reroll{width:100%}}
.combat-quick-status{grid-template-columns:repeat(9,minmax(58px,1fr))!important}.combat-quick-status .luck{border-color:#5f5430}.combat-quick-status .crit{border-color:#75444e}.combat-quick-status .dodge{border-color:#4c5571}.combat-quick-status>span b{font-variant-numeric:tabular-nums}.combat-chips b{font-variant-numeric:tabular-nums}
.status-badge{display:inline-flex!important;align-items:center;gap:4px}.status-badge em{font-style:normal;font-size:7px;padding:2px 4px;border-radius:999px;background:#ffffff0d;color:#d6cbd2;border:1px solid #ffffff12}.enemy-stat{position:relative}.enemy-stat>em{position:absolute;right:3px;top:2px;font-style:normal;font-size:7px;color:#eadde5;border-radius:999px;padding:1px 3px;background:#08070bc9;border:1px solid #ffffff17}
.cast-fx.fx-crit{width:82px;height:82px;border:3px solid #f0c46a;border-radius:50%;box-shadow:0 0 34px #efb84b88,inset 0 0 24px #efb84b55;animation:critBurst .7s ease-out forwards}@keyframes critBurst{0%{transform:translate(-50%,-50%) scale(.25) rotate(-20deg);opacity:1}70%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.7) rotate(18deg);opacity:0}}
.event-scene{min-height:0!important;padding:30px!important}.event-scene h2{max-width:900px}.event-text{max-width:980px!important}.event-decision-note{display:inline-flex;margin-top:4px;padding:8px 11px;border:1px solid #4c3540;border-radius:9px;background:#160f14;color:#a99aa4;font-size:10px;line-height:1.45}.event-choice-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;align-items:stretch;margin-top:16px!important}.event-choice-grid .choice-card{min-height:104px;padding:16px!important;display:flex;flex-direction:column;justify-content:center}.event-choice-grid .choice-card strong{font-size:12px;line-height:1.5}.event-choice-grid .unavailable-reason{margin-top:7px}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.help-grid section{padding:15px;border:1px solid #352c36;border-radius:12px;background:#0e0c11}.help-grid h3{margin:0 0 8px;font-size:13px;color:#e3d5de}.help-grid p{margin:0;color:#a69aa4;font-size:10px;line-height:1.6}
@media(max-width:1050px){.combat-quick-status{grid-template-columns:repeat(5,1fr)!important}.help-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.combat-quick-status{grid-template-columns:repeat(3,1fr)!important}.event-scene{padding:18px!important}.event-choice-grid{grid-template-columns:1fr!important}.event-choice-grid .choice-card{min-height:0}.help-grid{grid-template-columns:1fr}}

.card-context{margin:7px 3px 22px;padding:5px 7px;border:1px solid #4c3c45;border-radius:7px;background:#0c0a0d;color:#bcaeb7;font-size:8px;line-height:1.35}.player-combat{grid-template-columns:104px 1fr auto!important;min-height:112px}.avatar{width:94px!important;height:94px!important;border-radius:18px!important;background:radial-gradient(circle at 50% 30%,#5e1e2d,#130c12 64%)!important}.avatar img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 15px #000)}.avatar.player-poison{box-shadow:0 0 30px #61b34b55,inset 0 0 24px #71bb4b22!important}.avatar.player-bleed{border-color:#a83243!important}.avatar.player-burn{box-shadow:0 0 30px #d96d354e,inset 0 0 24px #d86a3425!important}.player-readout{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.player-status-row{min-height:25px;display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
@media(max-width:700px){.player-combat{grid-template-columns:74px 1fr!important}.avatar{width:68px!important;height:68px!important}.end-turn{grid-column:1/3!important}}


/* v2.6.7 player-help, pacing and cross-device polish */
.help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.help-head h2{margin-bottom:4px}.help-head p{margin:0;color:#9e929d;font-size:11px;line-height:1.55}.help-nav{display:flex;gap:7px;overflow-x:auto;padding:8px 1px 12px;margin:8px 0 12px;scrollbar-width:thin}.help-nav button{flex:0 0 auto;border:1px solid #3b303a;background:#0d0a0f;color:#998d97;border-radius:10px;padding:9px 11px;cursor:pointer;font-size:9px;font-weight:900;letter-spacing:.45px;white-space:nowrap}.help-nav button span{margin-right:5px}.help-nav button.active{border-color:#a64251;background:#2a1118;color:#f4e7eb;box-shadow:0 0 20px #a52b3d28}.help-body{min-height:330px}.help-section-title{display:flex;align-items:center;gap:9px;margin:2px 0 11px}.help-section-title>span{width:36px;height:36px;border:1px solid #643b46;border-radius:50%;display:grid;place-items:center;background:#201219;color:#e06170}.help-section-title h3{margin:0;font-size:17px}.help-callout{display:grid;gap:5px;border:1px solid #5a3742;background:linear-gradient(145deg,#1b1016,#0d0a0f);padding:13px 15px;border-radius:12px;margin:0 0 11px}.help-callout b{color:#efc7cd;font-size:11px}.help-callout span,.help-note{color:#ada0aa;font-size:10px;line-height:1.62}.help-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.help-rule{display:grid;gap:5px;padding:12px;border:1px solid #332a33;border-radius:11px;background:#0e0b10}.help-rule b{color:#ddd0d8;font-size:10px}.help-rule span{color:#9f939c;font-size:9.5px;line-height:1.58}.help-note{margin:11px 0 0;padding:10px 12px;border-left:3px solid #793a47;background:#120d12;border-radius:0 8px 8px 0}.hand-help{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.inline-help-btn{flex:0 0 auto;border:1px solid #4b3640;background:#171018;color:#cfb9c3;border-radius:8px;padding:6px 9px;font-size:8px;font-weight:800;cursor:pointer}.inline-help-btn:hover{border-color:#a74352;color:#fff}.combat-fast .combat-action-caption,.combat-fast .enemy,.combat-fast .avatar,.combat-fast .card{transition-duration:.1s!important}.combat-fast .float-number,.combat-fast .cast-fx{animation-duration:.55s!important}
button,.card,.road-node,.choice-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-card,.legal-gate-card,.account-gate-card{-webkit-backdrop-filter:blur(12px)}
@supports(padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.game-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}}
@media(max-width:680px){.help-rule-grid{grid-template-columns:1fr}.help-body{min-height:0}.help-nav{margin-left:-3px;margin-right:-3px}.help-nav button{padding:8px 9px}.hand-help{align-items:flex-start;flex-direction:column}.inline-help-btn{width:100%}}

.start-help-btn{width:100%;margin-top:8px;min-height:38px;font-size:9px;letter-spacing:.65px}
