@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Cinzel+Decorative:wght@400;700;900&family=Uncial+Antiqua:wght@400&family=MedievalSharp&display=swap";.chs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom));background:radial-gradient(circle at 50% 38%,rgba(20,16,10,.86),rgba(0,0,0,.94));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:chsFadeIn .3s ease both}@keyframes chsFadeIn{0%{opacity:0}to{opacity:1}}.chs-panel{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:100%;border:1px solid var(--gold-soft);border-radius:12px;background:linear-gradient(180deg,rgba(24,20,14,.97),rgba(8,8,8,.97));box-shadow:0 24px 60px #000000b3;color:var(--text);overflow:hidden;animation:chsRise .35s cubic-bezier(.2,.9,.3,1.2) both}@keyframes chsRise{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chs-header{position:relative;display:flex;gap:.9rem;align-items:center;padding:1.1rem 1.25rem;border-bottom:1px solid var(--gold-dim);background:radial-gradient(ellipse at 20% 0%,rgba(212,175,55,.12),transparent 70%)}.chs-portrait{flex:0 0 auto;width:64px;height:84px;border-radius:8px;border:1px solid var(--gold-dim);object-fit:cover;background:#14100a}.chs-portrait-empty{background:linear-gradient(160deg,#1c170f,#0d0b07)}.chs-ident{flex:1;min-width:0}.chs-name{margin:0;font-size:1.2rem;font-weight:700;color:var(--gold)}.chs-sub{margin:.3rem 0 0;font-size:.82rem;color:var(--text-dim)}.chs-status{display:inline-block;margin-top:.45rem;padding:1px 8px;border-radius:999px;border:1px solid currentColor;font-size:.7rem;opacity:.9}.chs-status[data-tone=ok]{color:#7fae6a}.chs-status[data-tone=hurt]{color:#e08b7a}.chs-status[data-tone=gone]{color:var(--text-dim)}.chs-close{position:absolute;top:.5rem;right:.6rem;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-dim);font-size:1.3rem;line-height:1;cursor:pointer}.chs-close:after{content:"";position:absolute;top:50%;left:50%;width:var(--touch-min);height:var(--touch-min);transform:translate(-50%,-50%)}@media (hover: hover) and (pointer: fine){.chs-close:hover{color:var(--gold)}}.chs-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem}.chs-section+.chs-section{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(212,175,55,.14)}.chs-section-title{margin:0 0 .6rem;font-size:.78rem;font-weight:600;letter-spacing:.18em;color:var(--text-dim)}.chs-note{margin:.4rem 0 0;font-size:.78rem;line-height:1.6;color:var(--text-dim)}.chs-note-warn{color:var(--danger)}.chs-attrs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;padding:0;list-style:none}.chs-attrs li{padding:.5rem .4rem;border:1px solid rgba(212,175,55,.2);border-radius:8px;text-align:center;background:rgba(255,255,255,.02)}.chs-attr-key{display:block;font-size:.7rem;letter-spacing:.1em;color:var(--text-dim)}.chs-attr-val{display:block;margin-top:.25rem;font-size:1.05rem;font-weight:700;color:var(--text)}.chs-attr-mod{margin-left:.3rem;font-size:.8rem;font-style:normal;color:var(--gold)}.chs-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0;padding:0;list-style:none}.chs-stats li{padding:.6rem .5rem;border:1px solid rgba(212,175,55,.2);border-radius:8px;text-align:center}.chs-stat-num{display:block;font-size:1.4rem;font-weight:700;color:var(--gold)}.chs-stat-key{display:block;margin-top:.15rem;font-size:.74rem;color:var(--text)}.chs-stat-hint{display:block;margin-top:.15rem;font-size:.68rem;color:var(--text-dim)}.chs-growth-bar{position:relative;height:20px;border-radius:10px;background:rgba(255,255,255,.06);overflow:hidden}.chs-growth-bar i{display:block;height:100%;background:linear-gradient(90deg,rgba(212,175,55,.35),rgba(212,175,55,.7));transition:width .4s ease}.chs-growth-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.85)}.chs-background{margin:.5rem 0 0;font-size:.82rem;line-height:1.7;color:var(--text);opacity:.88}.chs-bg-toggle{background:none;border:none;color:var(--gold-dim);font-size:.78rem;cursor:pointer;padding:0 4px;margin-left:4px}.chs-bg-toggle:hover{color:var(--gold)}.chs-history{margin:0;padding:0;list-style:none}.chs-history li{padding:.6rem 0 .7rem .7rem;border-left:2px solid var(--gold-dim)}.chs-history li+li{margin-top:.5rem}.chs-history-head{display:flex;align-items:center;gap:.5rem}.chs-history-title{flex:1;min-width:0;font-size:.88rem;font-weight:600;color:var(--text)}.chs-history-grade{flex:0 0 auto;min-width:1.5rem;padding:0 .35rem;border-radius:4px;font-size:.8rem;font-weight:700;text-align:center;color:#8d949c;border:1px solid currentColor}.chs-history-grade[data-grade=S]{color:gold}.chs-history-grade[data-grade=A]{color:#d9a441}.chs-history-grade[data-grade=B]{color:#c7d0d9}.chs-history-meta{margin-top:.15rem;font-size:.72rem;color:var(--text-dim)}.chs-history-sum{margin:.35rem 0 0;font-size:.78rem;line-height:1.6;color:var(--text);opacity:.82}.chs-history-loot{margin:.3rem 0 0;font-size:.74rem;color:var(--gold);opacity:.85}.chs-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;border-top:1px solid var(--gold-dim);background:rgba(0,0,0,.35)}@media (max-width: 480px){.chs-overlay{padding-top:.75rem;padding-right:.75rem;padding-left:.75rem;padding-bottom:calc(.75rem + var(--safe-bottom))}.chs-attrs{grid-template-columns:repeat(2,1fr)}}.character-card{position:relative;width:100%;height:400px;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:3px solid #8b7355;box-shadow:0 4px 12px #00000080;background:#2a2420}.character-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #8b735566;border-color:#d4af37}.character-portrait{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.portrait-image{width:100%;height:100%;object-fit:cover;object-position:top center}.portrait-loading,.portrait-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#3a3330 0%,#2a2420 100%);color:#d4af37}.loading-spinner{width:40px;height:40px;border:4px solid rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:spin 1s linear infinite}.placeholder-icon{font-size:48px;margin-bottom:12px}.portrait-loading p,.portrait-placeholder p{margin-top:12px;font-size:14px;color:#8b7355}.portrait-overlay{position:absolute;bottom:0;left:0;width:100%;height:60%;background:linear-gradient(to top,rgba(42,36,32,.95) 0%,transparent 100%);pointer-events:none}.character-basic-info{position:absolute;bottom:0;left:0;width:100%;padding:20px;z-index:2}.character-name{margin:0 0 8px;font-size:24px;font-weight:700;color:#f4e4c1;text-shadow:2px 2px 4px rgba(0,0,0,.8);font-family:Cinzel,serif}.character-class-race{display:flex;align-items:center;gap:8px;font-size:14px;color:#d4af37;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.character-race,.character-class{padding:4px 12px;background:rgba(212,175,55,.15);border-radius:12px;border:1px solid rgba(212,175,55,.3)}.divider{color:#8b7355}.character-details{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(42,36,32,.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px;overflow-y:auto;z-index:10;animation:fadeIn .3s ease}.details-section{margin-bottom:20px}.details-section:last-child{margin-bottom:0}.details-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#d4af37;border-bottom:2px solid rgba(212,175,55,.3);padding-bottom:6px;font-family:Cinzel,serif}.detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;background:rgba(139,115,85,.1);border-radius:6px;border-left:3px solid rgba(212,175,55,.3)}.detail-label{font-size:13px;color:#8b7355;font-weight:500}.detail-value{font-size:14px;color:#f4e4c1;font-weight:600}.detail-text{margin:0;font-size:13px;line-height:1.6;color:#c4b5a0;padding:8px 12px;background:rgba(139,115,85,.1);border-radius:6px;border-left:3px solid rgba(212,175,55,.3)}.character-details::-webkit-scrollbar{width:6px}.character-details::-webkit-scrollbar-track{background:rgba(139,115,85,.1);border-radius:3px}.character-details::-webkit-scrollbar-thumb{background:rgba(212,175,55,.3);border-radius:3px}.character-details::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.5)}.cs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4500;display:flex;align-items:center;justify-content:center;padding:1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom));background:radial-gradient(circle at 50% 38%,rgba(20,16,10,.86),rgba(0,0,0,.96));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:csFadeIn .4s ease both}@keyframes csFadeIn{0%{opacity:0}to{opacity:1}}.cs-panel{display:flex;flex-direction:column;width:100%;max-width:560px;max-height:100%;border:1px solid var(--gold-soft);border-radius:12px;background:linear-gradient(180deg,rgba(24,20,14,.97),rgba(8,8,8,.97));box-shadow:0 24px 60px #000000b3;color:var(--text);overflow:hidden;animation:csRise .45s cubic-bezier(.2,.9,.3,1.2) both}@keyframes csRise{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cs-header{padding:1.5rem 1.5rem 1.25rem;text-align:center;border-bottom:1px solid var(--gold-dim);--cs-tone: var(--danger);background:radial-gradient(ellipse at 50% 0%,rgba(212,175,55,.12),transparent 70%)}.cs-panel[data-tone=win] .cs-header{--cs-tone: var(--gold)}.cs-panel[data-tone=costly] .cs-header{--cs-tone: #c98f4a}.cs-panel[data-tone=lose] .cs-header{--cs-tone: var(--danger)}.cs-outcome{display:inline-block;padding:.2rem .9rem;border:1px solid var(--cs-tone);border-radius:999px;font-size:.75rem;letter-spacing:.25em;text-indent:.25em;color:var(--cs-tone)}.cs-title{margin:.75rem 0 0;font-size:1.35rem;font-weight:500;letter-spacing:.05em}.cs-forced{margin:.5rem 0 0;font-size:.8rem;color:var(--text-dim)}.cs-body{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.cs-grade-row{display:flex;gap:1.1rem;align-items:flex-start}.cs-grade{flex:0 0 auto;width:74px;height:74px;display:flex;align-items:center;justify-content:center;border:2px solid var(--grade-color);border-radius:10px;font-size:2.6rem;font-weight:700;line-height:1;color:var(--grade-color);text-shadow:0 0 18px var(--grade-glow);box-shadow:inset 0 0 24px var(--grade-glow);animation:csGradeIn .5s .25s cubic-bezier(.2,.9,.3,1.5) both}@keyframes csGradeIn{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.cs-grade-reason{flex:1;min-width:0}.cs-grade-reason p{margin:0 0 .6rem;font-size:.9rem;line-height:1.6}.cs-score-toggle{margin:0 0 .5rem;padding:0;border:none;background:none;font-size:.75rem;letter-spacing:.08em;color:var(--gold-soft);cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}@media (hover: hover) and (pointer: fine){.cs-score-toggle:hover{color:var(--gold)}}.cs-breakdown{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.cs-breakdown li{display:grid;grid-template-columns:4.5em 1fr 3.2em;align-items:center;gap:.5rem;font-size:.72rem;color:var(--text-dim)}.cs-bd-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}.cs-bd-bar i{display:block;height:100%;border-radius:2px;background:var(--gold);animation:csBarGrow .6s .35s ease both;transform-origin:left}@keyframes csBarGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cs-bd-num{text-align:right;font-variant-numeric:tabular-nums}.cs-bd-num em{font-style:normal;opacity:.5}.cs-summary{margin:0;font-size:.92rem;line-height:1.75;color:var(--text)}.cs-highlights{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;font-size:.85rem;line-height:1.6;color:var(--text-dim)}.cs-highlights li::marker{color:var(--gold-soft)}.cs-ledger{display:flex;flex-direction:column;gap:.5rem}.cs-ledger-head{margin:.35rem 0 0;font-size:.72rem;font-weight:400;letter-spacing:.12em;color:var(--text-dim)}.cs-ledger-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.cs-ledger-list li{display:grid;grid-template-columns:1.2em 1fr;gap:.5rem;align-items:baseline;font-size:.86rem;line-height:1.6}.cs-ledger-mark{text-align:center;font-size:.8rem}.cs-ledger-list li[data-tone=hit] .cs-ledger-mark{color:var(--gold)}.cs-ledger-list li[data-tone=half] .cs-ledger-mark{color:#c98f4a}.cs-ledger-list li[data-tone=miss] .cs-ledger-mark{color:var(--text-dim)}.cs-ledger-list li[data-tone=unknown] .cs-ledger-mark{opacity:.4}.cs-ledger-list li[data-tone=cost] .cs-ledger-mark{color:var(--danger)}.cs-ledger-list li[data-tone=miss] .cs-ledger-text,.cs-ledger-list li[data-tone=unknown] .cs-ledger-text{color:var(--text-dim)}.cs-ledger-evidence{display:block;margin-top:.15rem;font-style:normal;font-size:.75rem;line-height:1.55;color:var(--text-dim);opacity:.85;border-left:2px solid var(--gold-dim);padding-left:.5rem}.cs-ledger-haul{margin:.35rem 0 0;font-size:.8rem;line-height:1.6;color:var(--text-dim)}.cs-note-warn{color:#c98f4a}.cs-quiz{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.cs-quiz li{padding:.6rem .8rem;border:1px solid var(--gold-dim);border-left-width:3px;border-radius:6px;background:var(--panel-bg-soft)}.cs-quiz li[data-correct=true]{border-left-color:var(--gold)}.cs-quiz li[data-correct=false]{border-left-color:var(--danger)}.cs-quiz-q{margin:0 0 .35rem;font-size:.84rem;line-height:1.55}.cs-quiz-a{display:flex;gap:.5rem;align-items:baseline;margin:0;font-size:.8rem;line-height:1.55;color:var(--text-dim)}.cs-quiz li[data-correct=true] .cs-quiz-mark{color:var(--gold)}.cs-quiz li[data-correct=false] .cs-quiz-mark{color:var(--danger)}.cs-quiz-src{margin:.35rem 0 0;font-size:.73rem;line-height:1.5;color:var(--text-dim);opacity:.8}.cs-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:0 0 .6rem;font-size:.8rem;font-weight:500;letter-spacing:.15em;color:var(--gold-soft)}.cs-slots{font-size:.72rem;letter-spacing:normal;color:var(--text-dim)}.cs-note{margin:.5rem 0 0;font-size:.75rem;line-height:1.6;color:var(--text-dim)}.cs-error{margin:.5rem 0 0;font-size:.78rem;color:var(--danger)}.cs-growth{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .9rem;border:1px solid var(--gold-dim);border-radius:8px;background:var(--panel-bg-soft);font-size:.85rem}.cs-growth-main{display:flex;align-items:center;gap:.6rem;font-size:1.05rem;color:var(--gold)}.cs-growth-tag{padding:.1rem .5rem;border-radius:999px;background:var(--gold);color:#1a1408;font-size:.68rem;letter-spacing:.1em;animation:csPulse 1.6s ease-in-out 3}@keyframes csPulse{0%,to{box-shadow:0 0 #d4af3780}50%{box-shadow:0 0 0 6px #d4af3700}}.cs-growth-line{color:var(--text-dim)}.cs-growth-line b{color:var(--text);font-weight:600}.cs-growth-line em{font-style:normal;opacity:.7}.cs-growth-attrs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.cs-growth-attr{padding:.12rem .5rem;border:1px solid var(--gold-soft);border-radius:4px;font-size:.72rem;color:var(--gold)}.cs-growth-bar{position:relative;height:1.15rem;margin:.2rem 0;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.cs-growth-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(212,175,55,.35),rgba(212,175,55,.7));transform-origin:left;animation:csBarGrow .7s .4s ease both}.cs-growth-bar-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text)}.cs-growth-hint{font-size:.75rem;opacity:.8}.cs-gold-amount{font-size:1.5rem;color:var(--gold);font-variant-numeric:tabular-nums}.cs-loot{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.cs-loot-item{width:100%;min-height:var(--touch-min);display:grid;grid-template-columns:1fr auto;gap:.15rem .6rem;padding:.6rem .8rem;text-align:left;border:1px solid var(--rarity-color);border-radius:8px;background:var(--panel-bg-soft);color:var(--text);cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}@media (hover: hover) and (pointer: fine){.cs-loot-item:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 14px var(--rarity-glow)}}.cs-loot-item[data-picked=true]{background:linear-gradient(135deg,var(--rarity-color),var(--rarity-color-lite));color:var(--rarity-ink);box-shadow:0 0 18px var(--rarity-glow)}.cs-loot-item[data-dimmed=true]{opacity:.35}.cs-loot-item:disabled{cursor:default}.cs-loot-name{font-size:.9rem}.cs-loot-rarity{font-size:.7rem;opacity:.75;align-self:center}.cs-loot-desc{grid-column:1 / -1;font-size:.75rem;line-height:1.5;opacity:.7}.cs-footer{display:flex;gap:.6rem;padding:1rem 1.5rem;border-top:1px solid var(--gold-dim);background:var(--panel-bg)}.cs-btn{flex:1;min-height:var(--touch-min);padding:0 1rem;border-radius:6px;font-size:.88rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.cs-btn-ghost{border:1px solid var(--gold-dim);background:transparent;color:var(--text-dim)}@media (hover: hover) and (pointer: fine){.cs-btn-ghost:hover{border-color:var(--gold-soft);color:var(--text)}}.cs-btn-primary{border:1px solid var(--gold-soft);background:rgba(212,175,55,.16);color:var(--gold)}@media (hover: hover) and (pointer: fine){.cs-btn-primary:hover:not(:disabled){background:rgba(212,175,55,.28)}}.cs-btn:disabled{opacity:.4;cursor:default}.cs-reopen{position:fixed;right:1rem;bottom:calc(1rem + var(--safe-bottom));z-index:4400;min-height:var(--touch-min);padding:0 1.1rem;border:1px solid var(--gold-soft);border-radius:999px;background:rgba(24,20,14,.95);color:var(--gold);font-size:.85rem;cursor:pointer;box-shadow:0 6px 20px #00000080}@media (hover: hover) and (pointer: fine){.cs-reopen:hover{background:rgba(48,40,24,.95)}}@media (max-width: 640px){.cs-overlay{padding:0;padding-bottom:var(--safe-bottom)}.cs-panel{max-width:none;height:100%;border:none;border-radius:0}.cs-body{padding:1rem}.cs-grade-row{flex-direction:column;align-items:center;text-align:center}.cs-footer{padding:.85rem 1rem}}.cd-pips{display:flex;gap:.4rem;justify-content:center;margin:0;padding:0;list-style:none}.cd-pips li{width:2.2rem;height:3px;border-radius:999px;background:var(--gold-dim);transition:background .3s ease}.cd-pips li[data-state=now]{background:var(--gold)}.cd-pips li[data-state=done]{background:var(--gold-soft)}.cd-question{margin:0;font-size:1.08rem;line-height:1.65;letter-spacing:.02em;text-align:center;color:var(--text)}.cd-options{display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none}.cd-option{display:flex;gap:.75rem;align-items:flex-start;width:100%;padding:.75rem .9rem;border:1px solid var(--gold-dim);border-radius:8px;background:rgba(255,255,255,.02);color:var(--text);font-size:.9rem;line-height:1.55;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,opacity .3s ease}@media (hover: hover) and (pointer: fine){.cd-option:hover:not(:disabled){border-color:var(--gold-soft);background:rgba(212,175,55,.07)}}.cd-option[data-picked=true]{border-color:var(--gold);background:rgba(212,175,55,.12)}.cd-option[data-dimmed=true]{opacity:.4}.cd-option:disabled{cursor:default}.cd-option-mark{flex-shrink:0;width:1.4rem;height:1.4rem;border:1px solid var(--gold-dim);border-radius:50%;font-size:.72rem;line-height:1.35rem;text-align:center;color:var(--text-dim)}.cd-option[data-picked=true] .cd-option-mark{border-color:var(--gold);color:var(--gold)}.cd-option-text{flex:1}.cd-locked{margin:0;font-size:.8rem;text-align:center;color:var(--text-dim)}.cs-footer[data-single]{justify-content:flex-end}.cs-footer[data-single] .cs-btn{flex:0 0 auto;padding:0 1.6rem}.party-equip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}.party-equip{width:min(680px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(180deg,rgba(18,14,10,.97),rgba(8,7,6,.97));color:var(--text);box-shadow:0 18px 60px #0009;overflow:hidden}.party-equip-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--gold-dim)}.party-equip-title{margin:0;font-family:Cinzel,serif;font-size:1.15rem;letter-spacing:.06em;color:var(--gold)}.party-equip-close{position:relative;width:30px;height:30px;border:1px solid var(--gold-dim);border-radius:50%;background:transparent;color:var(--text-dim);font-size:1.1rem;line-height:1;cursor:pointer;transition:color .15s,border-color .15s}.party-equip-close:after{content:"";position:absolute;top:50%;left:50%;width:var(--touch-min);height:var(--touch-min);transform:translate(-50%,-50%)}@media (hover: hover) and (pointer: fine){.party-equip-close:hover{color:var(--gold);border-color:var(--gold-soft)}}.party-equip-banner{padding:7px 10px;border-radius:8px;font-size:.82rem;text-align:center}.party-equip-banner--lock{border:1px solid var(--gold-dim);background:rgba(212,175,55,.08);color:var(--gold)}.party-equip-banner--warn{border:1px solid rgba(192,85,85,.5);background:rgba(192,85,85,.12);color:#e79a9a}.party-equip-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;color:var(--text-dim);font-size:.85rem;text-align:center}.party-equip-empty--inline{padding:14px 10px}.party-equip-retry{padding:6px 16px;border:1px solid var(--gold-dim);border-radius:6px;background:transparent;color:var(--gold);font-size:.82rem;cursor:pointer}.party-equip-foot{padding-top:4px;color:var(--text-dim);font-size:.78rem;text-align:center}.party-equip-body{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}.party-equip-body.is-locked{opacity:.45;pointer-events:none}.equip-actor{display:grid;grid-template-columns:132px 1fr;gap:10px;padding:10px;border:1px solid rgba(212,175,55,.18);border-radius:10px;background:var(--panel-bg-soft)}.equip-actor.is-down{border-color:#c0555559}.equip-actor-who{display:flex;align-items:center;gap:8px;min-width:0}.equip-actor-face{flex:0 0 auto;width:38px;height:38px;border:1px solid var(--gold-dim);border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5)}.equip-actor-face img{width:100%;height:100%;object-fit:cover}.equip-actor-initial{font-family:Cinzel,serif;color:var(--gold-soft)}.equip-actor-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.equip-actor-name{display:flex;align-items:center;gap:5px;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equip-actor-tag{padding:0 4px;border:1px solid var(--gold-dim);border-radius:4px;font-size:.62rem;color:var(--text-dim)}.equip-actor-down{font-size:.7rem;color:var(--danger)}.equip-actor-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-width:0}.equip-slot{position:relative;min-width:0;padding:6px 6px 5px;border:1px dashed rgba(212,175,55,.25);border-radius:8px;background:rgba(0,0,0,.3)}.equip-slot.is-filled{border-style:solid;border-color:#d4af3766}.equip-slot.is-active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-dim) inset}.equip-slot-main{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.equip-slot-main:disabled{cursor:default}.equip-slot-icon{flex:0 0 auto;font-size:.95rem;opacity:.85}.equip-slot-text{min-width:0;display:flex;flex-direction:column;gap:1px}.equip-slot-name{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equip-slot-sub{display:flex;align-items:center;gap:4px;font-size:.68rem;color:var(--text-dim)}.equip-slot-empty{font-size:.72rem;color:#f0e6d266}.equip-broken{color:var(--danger)}.equip-slot-off{position:absolute;top:2px;right:3px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:#f0e6d259;font-size:.75rem;line-height:1;cursor:pointer}@media (hover: hover) and (pointer: fine){.equip-slot-off:hover:not(:disabled){color:var(--danger)}}.equip-slot .durability{margin-top:4px}.equip-picker{flex:0 0 auto;padding:9px 10px 10px;border:1px solid var(--gold-soft);border-radius:10px;background:rgba(212,175,55,.05)}.equip-picker-head{display:flex;align-items:center;gap:4px;padding-bottom:7px;font-size:.8rem;color:var(--text-dim)}.equip-picker-head strong{color:var(--gold);font-weight:600}.equip-picker-cancel{margin-left:auto;padding:2px 9px;border:1px solid var(--gold-dim);border-radius:5px;background:transparent;color:var(--text-dim);font-size:.72rem;cursor:pointer}.equip-picker-list{display:flex;flex-direction:column;gap:5px;max-height:168px;overflow-y:auto}.equip-cand{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:7px 9px;border:1px solid rgba(212,175,55,.2);border-radius:7px;background:rgba(0,0,0,.35);color:var(--text);font-size:.8rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}@media (hover: hover) and (pointer: fine){.equip-cand:hover:not(:disabled){border-color:var(--gold-soft);background:rgba(212,175,55,.1)}}.equip-cand:disabled{opacity:.5;cursor:default}.equip-cand.is-better{border-color:var(--gold)}.equip-cand-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equip-cand-bonus{font-size:.74rem;color:var(--text-dim);white-space:nowrap}.equip-cand-holder{font-size:.68rem;color:var(--text-dim);white-space:nowrap}.equip-cand-better{padding:1px 6px;border-radius:4px;background:var(--gold);color:#1a1408;font-size:.66rem;font-weight:600;white-space:nowrap}.equip-cand .durability{grid-column:1 / -1}@media (max-width: 640px){.party-equip-overlay{padding:12px}.party-equip{max-height:88vh;padding:12px}.equip-actor,.equip-actor-slots{grid-template-columns:1fr}.equip-slot-main{min-height:var(--touch-min)}}.audio-toggle-wrapper{position:relative;margin-left:auto}.audio-corner{position:absolute;top:18px;right:20px;z-index:2000}.audio-toggle-btn{display:flex;align-items:center;justify-content:center;min-width:var(--touch-min);min-height:var(--touch-min);padding:0;border:1px solid var(--gold-dim);border-radius:8px;background:rgba(0,0,0,.4);color:var(--gold);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}@media (hover: hover) and (pointer: fine){.audio-toggle-btn:hover{border-color:var(--gold-soft);background:rgba(212,175,55,.12)}}.audio-toggle-btn.is-muted{color:var(--text-dim)}.audio-panel{position:absolute;top:55px;right:0;width:220px;padding:14px 16px;display:flex;flex-direction:column;gap:16px;background:rgba(20,20,20,.95);border:2px solid var(--gold-soft);border-radius:8px;box-shadow:0 8px 32px #000c;z-index:2000}.audio-panel:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;background:transparent}.audio-row{display:flex;flex-direction:column;gap:8px}.audio-row-head{display:flex;align-items:center;justify-content:space-between}.audio-row-label{color:var(--text);font-size:14px}.audio-row--off .audio-row-label{color:var(--text-dim)}.audio-switch{position:relative;width:40px;height:22px;flex:0 0 auto;padding:0;border:1px solid var(--gold-dim);border-radius:11px;background:rgba(0,0,0,.5);cursor:pointer;transition:background .2s ease,border-color .2s ease}.audio-switch.is-on{border-color:var(--gold-soft);background:rgba(212,175,55,.28)}.audio-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-dim);transition:transform .2s ease,background .2s ease}.audio-switch.is-on .audio-switch-knob{transform:translate(18px);background:var(--gold)}.audio-slider{width:100%;height:4px;margin:6px 0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:2px;background:rgba(212,175,55,.25);cursor:pointer}.audio-slider:disabled{opacity:.35;cursor:default}.audio-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border:none;border-radius:50%;background:var(--gold);box-shadow:0 0 6px #d4af3799;cursor:pointer}.audio-slider::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--gold);box-shadow:0 0 6px #d4af3799;cursor:pointer}@media (max-width: 640px){.audio-panel{top:44px;width:200px}.audio-corner{top:10px;right:12px}}.cards-fab{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(var(--input-bar-h, 60px) + var(--safe-bottom) + 10px);z-index:2500;width:56px;height:56px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 16px #00000080;color:var(--gold);cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}.cards-fab:active{transform:scale(.94)}.cards-fab.is-open{background:rgba(212,175,55,.18);box-shadow:0 4px 16px #00000080,0 0 0 1px var(--gold-dim)}.cards-fab-ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.cards-fab-ring-track,.cards-fab-ring-fill{fill:none;stroke-width:3}.cards-fab-ring-track{stroke:#d4af372e}.cards-fab-ring-fill{stroke:var(--gold-soft);stroke-linecap:round;transition:stroke-dashoffset .35s ease,stroke .35s ease}.cards-fab-ring-fill[data-tier=mid]{stroke:var(--hp-mid)}.cards-fab-ring-fill[data-tier=low]{stroke:var(--hp-low)}.cards-fab-ring-fill[data-tier=down]{stroke:#a0a0a0b3}.cards-fab-core{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.cards-fab-count{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.cards-fab.is-down{animation:fabHpFlash .6s ease-out 2;--fab-flash: rgba(255, 82, 82, .45)}.cards-fab.is-up{animation:fabHpFlash .6s ease-out 1;--fab-flash: rgba(111, 220, 140, .45)}@keyframes fabHpFlash{0%,to{box-shadow:0 4px 16px #00000080}50%{box-shadow:0 0 0 4px var(--fab-flash),0 4px 16px #00000080}}.cards-fab.has-new{animation:fabNudge .6s ease-in-out 3}.cards-fab.has-new.is-down{animation:fabNudge .6s ease-in-out 3,fabHpFlash .6s ease-out 2}.cards-fab.has-new.is-up{animation:fabNudge .6s ease-in-out 3,fabHpFlash .6s ease-out 1}@keyframes fabNudge{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion: reduce){.cards-fab.has-new,.cards-fab.is-down,.cards-fab.is-up,.cards-fab.has-new.is-down,.cards-fab.has-new.is-up{animation:none}.cards-fab-ring-fill{transition:none}}.cards-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;display:flex;flex-direction:column;background:rgba(8,7,6,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--safe-bottom)}.cards-panel-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;height:48px;padding:0 10px;border-bottom:1px solid var(--gold-dim)}.cards-panel-back{width:var(--touch-min);height:var(--touch-min);flex:0 0 var(--touch-min);border:none;background:none;color:var(--gold);font-size:20px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.cards-panel-title{flex:1 1 auto;color:var(--text);font-size:15px;font-family:Cinzel,MedievalSharp,serif}.cards-panel-count{flex:0 0 auto;padding-right:6px;color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums}.cards-panel-tabs{flex:0 0 auto;display:flex;gap:6px;padding:8px 10px;overflow-x:auto;scrollbar-width:none}.cards-panel-tabs::-webkit-scrollbar{display:none}.cards-panel-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 12px;border:1px solid var(--gold-dim);border-radius:17px;background:rgba(30,30,30,.8);color:var(--text-dim);font-size:13px;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.cards-panel-tab.is-active{border-color:var(--gold-soft);background:rgba(212,175,55,.16);color:var(--gold)}.cards-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.cards-panel .card-deck-title{display:none}.cards-panel .card-item{max-width:none}.cards-panel .cards-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));padding:8px 10px calc(76px + var(--safe-bottom));max-height:none}.cards-panel .party-equip{width:100%;max-height:none;flex:1 1 auto;min-height:0;border:none;border-radius:0;box-shadow:none;background:none}.cards-panel .party-equip-close{display:none}.game-title-overlay-new{position:fixed;top:0;left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);height:var(--topbar-h);background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;padding:0 30px;border-bottom:2px solid rgba(212,175,55,.3)}.title-content{display:flex;align-items:center;gap:20px;width:100%}.dragon-icon{width:50px;height:50px;object-fit:contain}.game-title-new{font-family:Cinzel Decorative,serif;font-size:36px;font-weight:700;background:linear-gradient(135deg,#d4af37,#f4e4a6,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(212,175,55,.5);margin:0}.main-content-wrapper-new{position:fixed;top:var(--topbar-h);left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);bottom:0;height:calc(var(--vvh, 100dvh) - var(--topbar-h));display:flex;justify-content:center;gap:10px;padding:20px 20%;z-index:10}.chat-input-section-new{flex:7;display:flex;flex-direction:column;gap:0;min-width:0;min-height:0}.chat-messages-area{flex:1;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(212,175,55,.3);border-radius:12px 12px 0 0;overflow:hidden;position:relative}.input-area-new{display:flex;gap:10px;padding:15px 20px calc(15px + var(--safe-bottom));background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(212,175,55,.3);border-top:none;border-radius:0 0 12px 12px}.message-input-new{flex:1;padding:12px 16px;background:rgba(30,30,30,.9);border:1px solid rgba(212,175,55,.4);border-radius:8px;color:#f0e6d2;font-size:15px;outline:none;transition:all .3s ease}.message-input-new:focus{border-color:#d4af37;box-shadow:0 0 12px #d4af3766}.message-input-new::placeholder{color:#f0e6d266}.action-button-new{padding:12px 24px;background:linear-gradient(135deg,#d4af37,#b8941f);border:none;border-radius:8px;color:#1a1a1a;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:80px}@media (hover: hover) and (pointer: fine){.action-button-new:hover:not(:disabled){background:linear-gradient(135deg,#f4e4a6,#d4af37);box-shadow:0 4px 16px #d4af3780;transform:translateY(-2px)}}.action-button-new:disabled{opacity:.5;cursor:not-allowed}.action-button-new.interrupt{background:linear-gradient(135deg,#c41e3a,#8b1429);color:#fff}.action-button-new.dice-roll{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}.cards-section-new{flex:3;display:flex;flex-direction:column;gap:0}.cards-display-area{flex:1;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(212,175,55,.3);border-radius:12px 12px 0 0;overflow-y:auto;padding:15px}.card-filter-buttons-new{display:flex;gap:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid rgba(212,175,55,.3);border-top:none;border-radius:0 0 12px 12px;overflow:hidden}.filter-btn-new{flex:1;padding:15px 10px;background:rgba(30,30,30,.8);border:none;border-right:1px solid rgba(212,175,55,.2);color:#f0e6d299;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s ease}.filter-btn-new:last-child{border-right:none}@media (hover: hover) and (pointer: fine){.filter-btn-new:hover{background:rgba(212,175,55,.2);color:#f0e6d2}}.filter-btn-new.active{background:linear-gradient(135deg,rgba(212,175,55,.3),rgba(212,175,55,.2));color:#d4af37;border-bottom:3px solid #d4af37}.filter-btn-new--action{flex:0 0 auto;padding-left:14px;padding-right:14px;border-left:1px solid rgba(212,175,55,.35);color:#d4af37d9}.card-details-overlay{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:3000!important;width:auto!important;height:auto!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important;box-shadow:none!important;pointer-events:none!important;animation:fadeIn .3s ease}.card-details-overlay>*{pointer-events:auto!important}.card-details-shell{position:relative;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 1400px){.cards-section-new{width:320px}}@media (max-width: 1024px){.main-content-wrapper-new{flex-direction:column}.cards-section-new{width:100%;height:300px}.cards-display-area{flex:1}}@media (max-width: 640px){.main-content-wrapper-new{padding:0 0 var(--safe-bottom);gap:0}.game-title-overlay-new{padding:0 10px}.title-content{gap:10px}.dragon-icon{width:32px;height:32px}.game-title-new{font-size:18px}.cards-display-area{padding:8px}.input-area-new{padding:8px 8px calc(8px + var(--safe-bottom));gap:8px}.message-input-new{font-size:16px;padding:10px 12px;min-height:var(--touch-min)}.action-button-new{min-width:64px;min-height:var(--touch-min);padding:10px 12px;font-size:14px}.filter-btn-new{padding:12px 6px;min-height:var(--touch-min);font-size:13px}.card-details-overlay{width:calc(100vw - 24px)!important;max-height:80dvh!important;overflow-y:auto!important}}.back-to-lobby-btn{min-height:var(--touch-min);padding:6px 12px;border:1px solid rgba(212,175,55,.4);border-radius:8px;background:rgba(0,0,0,.4);color:#d4af37;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .2s ease,border-color .2s ease}@media (hover: hover) and (pointer: fine){.back-to-lobby-btn:hover{border-color:#d4af37;background:rgba(212,175,55,.16)}}@media (max-width: 640px){:root{--msg-scrim: .4;--msg-scrim-sys: .3;--input-bar-h: 60px}.gameplay-container .chat-messages-area{min-height:0;border-top:none;border-left:none;border-right:none;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.gameplay-container .message-dm .message-content{background:rgba(0,0,0,var(--msg-scrim));border-color:#d4af3773;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gameplay-container .message-system .message-content{background:rgba(0,0,0,var(--msg-scrim-sys));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gameplay-container .message-text{text-shadow:0 1px 2px rgba(0,0,0,.85)}.gameplay-container .message-content{min-width:0}.gameplay-container .dc-options--compact{margin:-6px 0 14px 42px}.gameplay-container .input-area-new{flex:0 0 auto;border-left:none;border-right:none;border-bottom:none;border-radius:0}.gameplay-container .message-input-new.is-pulsed{animation:inputPulse .4s ease-out}@keyframes inputPulse{0%{box-shadow:0 0 #d4af378c}to{box-shadow:0 0 0 8px #d4af3700}}@media (prefers-reduced-motion: reduce){.gameplay-container .message-input-new.is-pulsed{animation:none}}.gameplay-container .card-details-overlay{top:0!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;width:100%!important;height:100%!important;max-height:none!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:calc(var(--topbar-h) + 10px) 10px calc(var(--input-bar-h, 60px) + var(--safe-bottom) + 10px)!important;background:rgba(0,0,0,.72)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;overflow-y:auto!important;overscroll-behavior:contain;pointer-events:auto!important}.gameplay-container .card-details-shell{width:100%;margin:auto 0}.gameplay-container .card-details-panel{width:100%;max-width:none;min-width:0;height:auto;max-height:none;overflow:visible}.gameplay-container .card-details-content{height:auto}.gameplay-container .card-details-close{position:fixed;top:calc(var(--topbar-h) + 16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px))}.chat-resume-divider{display:flex;align-items:center;gap:8px;margin:10px 0 4px;color:var(--gold-soft);font-size:11px}.chat-resume-divider:before,.chat-resume-divider:after{content:"";flex:1;height:1px;background:rgba(212,175,55,.25)}.chat-resume-label{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.item-manager{max-width:1400px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.item-manager .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.item-manager h1{margin:0;font-size:32px;color:#333}.im-title{display:flex;align-items:center;gap:10px}.btn-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px}.item-manager .item-type{display:inline-flex;align-items:center;gap:4px}.btn-primary{background:#4CAF50;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background .2s}.btn-primary:hover{background:#45a049}.stats-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px;border-radius:10px;text-align:center}.stat-value{font-size:36px;font-weight:700;margin-bottom:5px}.stat-label{font-size:14px;opacity:.9;text-transform:capitalize}.filters{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:10px 15px;border:2px solid #ddd;border-radius:6px;font-size:16px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea}.filter-select{padding:10px 15px;border:2px solid #ddd;border-radius:6px;font-size:16px;background:white;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#667eea}.filters button{padding:10px 20px;border:2px solid #ddd;border-radius:6px;background:white;cursor:pointer;font-size:16px;transition:all .2s}.filters button:hover{background:#f5f5f5;border-color:#999}.error-message{background:#fee;color:#c33;padding:15px;border-radius:6px;margin-bottom:20px;border-left:4px solid #c33}.loading{text-align:center;padding:60px;font-size:20px;color:#666}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.item-card{background:white;border:2px solid #e0e0e0;border-radius:10px;overflow:hidden;transition:all .3s}.item-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a;border-color:#667eea}.item-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-bottom:2px solid #e0e0e0}.item-header h3{margin:0;font-size:20px;font-weight:600}.rarity-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;color:#fff}.rarity-badge.common{background:#9d9d9d}.rarity-badge.uncommon{background:#1eff00}.rarity-badge.rare{background:#0070dd}.rarity-badge.epic{background:#a335ee}.rarity-badge.legendary{background:#ff8000}.item-body{padding:20px}.item-meta{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;color:#666}.item-type{font-weight:500}.item-id{font-family:monospace;background:#f0f0f0;padding:2px 8px;border-radius:4px}.item-description{color:#555;line-height:1.6;margin:15px 0}.item-durability{background:#e8f5e9;padding:8px 12px;border-radius:6px;margin:10px 0;font-size:14px;border-left:3px solid #4caf50}.item-durability strong{color:#2e7d32}.item-properties{background:#f9f9f9;padding:10px;border-radius:6px;margin-top:15px}.item-properties strong{display:block;margin-bottom:8px;color:#333}.item-properties pre{margin:0;font-family:Courier New,monospace;font-size:12px;color:#444;white-space:pre-wrap}.item-actions{display:flex;gap:10px;padding:15px 20px;background:#f9f9f9;border-top:1px solid #e0e0e0}.item-actions button{flex:1;padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-edit{background:#2196F3;color:#fff}.btn-edit:hover{background:#1976D2}.btn-delete{background:#f44336;color:#fff}.btn-delete:hover{background:#d32f2f}.empty-state{text-align:center;padding:60px;color:#999;font-size:18px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;border-radius:12px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin:0 0 25px;font-size:24px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:2px solid #ddd;border-radius:6px;font-size:16px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;font-family:Courier New,monospace}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-actions{display:flex;gap:15px;margin-top:30px;justify-content:flex-end}.modal-actions button{padding:10px 24px;border:2px solid #ddd;border-radius:6px;background:white;cursor:pointer;font-size:16px;font-weight:500;transition:all .2s}.modal-actions button:hover{background:#f5f5f5}.modal-actions button[type=submit]{background:#4CAF50;border-color:#4caf50;color:#fff}.modal-actions button[type=submit]:hover{background:#45a049}.keywords-input{display:flex;gap:10px;margin-bottom:10px}.keywords-input input{flex:1;padding:8px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px}.keywords-input button{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.keywords-input button:hover{background:#5568d3}.keywords-list{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;padding:10px;border:2px dashed #ddd;border-radius:6px;background:#fafafa}.keyword-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:16px;font-size:13px;font-weight:500}.keyword-remove{background:rgba(255,255,255,.3);border:none;color:#fff;cursor:pointer;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0;transition:background .2s}.keyword-remove:hover{background:rgba(255,255,255,.5)}.item-keywords{margin:10px 0}.item-keywords strong{display:block;margin-bottom:8px;color:#333}.item-keywords .keyword-tag{margin-right:6px;margin-bottom:6px}@media (max-width: 768px){.items-grid{grid-template-columns:1fr}.filters{flex-direction:column}.search-input{min-width:100%}.stats-panel{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}.ailog{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#14161a;color:#d8dbe0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px}.ailog-head{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid #2a2e35;flex-shrink:0}.ailog-head h1{margin:0;font-size:15px;font-weight:600;letter-spacing:.5px;color:var(--gold, #d4af37)}.ailog-secret{display:flex;gap:6px;margin-left:auto}.ailog input{padding:5px 8px;background:#1c1f25;border:1px solid #3a4049;border-radius:4px;color:#e5e8ec;font-size:12px}.ailog input::placeholder{color:#7d8590;opacity:1}.ailog input:focus{outline:none;border-color:var(--gold, #d4af37)}.ailog-gate{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;min-height:0}.ailog-gate-card{width:100%;max-width:420px;padding:24px 24px 20px;background:#1a1d23;border:1px solid #2f343c;border-radius:8px}.ailog-gate-card h2{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--gold, #d4af37)}.ailog-gate-hint{margin:0 0 16px;color:#8b939e;font-size:12px;line-height:1.6}.ailog-gate-hint code{padding:1px 5px;background:#23272e;border-radius:3px;color:#b9c0c9}.ailog-gate-row{display:flex;gap:8px}.ailog-gate-row input{flex:1;padding:8px 10px!important;font-size:13px!important}.ailog-gate .ailog-error{margin:12px 0 0}.ailog button{padding:5px 10px;background:#23272e;border:1px solid #3a4049;border-radius:4px;color:#d8dbe0;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}.ailog button.is-primary{padding:8px 18px;background:var(--gold, #d4af37);border-color:var(--gold, #d4af37);color:#14161a;font-size:13px;font-weight:600}.ailog button.is-primary:hover:not(:disabled){background:#e0bf4d;border-color:#e0bf4d}.ailog button:hover:not(:disabled){background:#2b3038;border-color:#3a4049}.ailog button:disabled{opacity:.5;cursor:default}.ailog button.is-danger:hover{border-color:var(--danger, #c05555);color:#e0918f}.ailog-body{flex:1;display:grid;grid-template-columns:240px 340px 1fr;min-height:0}.ailog-col{overflow-y:auto;min-height:0;border-right:1px solid #2a2e35}.ailog-col:last-child{border-right:none}.ailog-empty{padding:16px;color:#6b7280;font-size:12px}.ailog-error{margin:8px;padding:8px 10px;background:rgba(192,85,85,.12);border:1px solid rgba(192,85,85,.4);border-radius:4px;color:#e0918f;font-size:12px;line-height:1.5}.ailog-session{display:block;width:100%;padding:8px 12px!important;text-align:left;background:transparent!important;border:none!important;border-bottom:1px solid #1e2127!important;border-radius:0!important;cursor:pointer}.ailog-session:hover{background:#1a1d23!important}.ailog-session.is-active{background:#202632!important;box-shadow:inset 2px 0 0 var(--gold, #d4af37)}.ailog-session-title{color:#e5e8ec;font-size:12px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ailog-session-sub{color:#6b7280;font-size:11px}.ailog-turns-head{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;background:#171a1f;border-bottom:1px solid #2a2e35;font-size:11px;color:#6b7280}.ailog-turns-head code{color:#9aa2ad;font-size:11px;word-break:break-all}.ailog-turns-actions{display:flex;gap:6px;margin-left:auto}.ailog-turn{border-bottom:1px solid #1e2127}.ailog-turn.has-error .ailog-turn-title{color:#e0918f}.ailog-turn-head{display:flex;width:100%;align-items:baseline;gap:8px;padding:7px 12px!important;background:transparent!important;border:none!important;border-radius:0!important;text-align:left;cursor:pointer}.ailog-turn-head:hover{background:#1a1d23!important}.ailog-turn-title{color:#e5e8ec;font-size:12px}.ailog-turn-meta{margin-left:auto;color:#6b7280;font-size:11px;white-space:nowrap}.ailog-turn-input{margin:0 12px 6px 22px;padding-left:8px;border-left:2px solid #3a4049;color:#9aa2ad;font-size:11px;line-height:1.5}.ailog-call{display:flex;width:100%;align-items:baseline;gap:8px;padding:5px 12px 5px 24px!important;background:transparent!important;border:none!important;border-radius:0!important;text-align:left;font-size:11px;cursor:pointer}.ailog-call:hover{background:#1a1d23!important}.ailog-call.is-active{background:#202632!important}.ailog-call.has-error{color:#e0918f}.ailog-call-mod{min-width:34px;color:#b9c0c9}.ailog-call-label{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ailog-call-num{margin-left:auto;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}.ailog-call-tools{color:#7d8aa0;white-space:nowrap}.ailog-call-err{color:#e0918f}.ailog-detail{display:flex;flex-direction:column;min-height:100%}.ailog-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #2a2e35}.ailog-detail-head strong{color:var(--gold, #d4af37);font-size:13px}.ailog-detail-time{margin-left:auto;color:#6b7280;font-size:11px}.ailog-tag{padding:1px 6px;background:#23272e;border-radius:3px;color:#9aa2ad;font-size:11px}.ailog-tabs{display:flex;gap:4px;padding:8px 14px 0}.ailog-tabs button{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ailog-tabs button.is-active{background:#2b3038!important;border-color:var(--gold-dim, rgba(212, 175, 55, .3))!important;color:var(--gold, #d4af37)!important}.ailog-detail-body{padding:10px 14px 40px}.ailog-params{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 0 8px;color:#7d8aa0;font-size:11px;font-variant-numeric:tabular-nums}.ailog-tools{display:flex;flex-wrap:wrap;gap:4px;padding-bottom:8px}.ailog-tools code{padding:1px 5px;background:#23272e;border-radius:3px;color:#9aa2ad;font-size:11px}.ailog-block{margin-bottom:8px;border:1px solid #23272e;border-radius:4px;overflow:hidden}.ailog-block-head{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#191c21}.ailog-block-toggle{padding:2px 4px!important;background:transparent!important;border:none!important;color:#c8ccd2!important;font-size:12px}.ailog-block-meta{color:#6b7280;font-size:11px;font-variant-numeric:tabular-nums}.ailog-copy{margin-left:auto;padding:2px 8px!important;font-size:11px!important}.ailog-pre{margin:0;padding:8px 10px;max-height:420px;overflow:auto;background:#101216;color:#c5cad1;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}@media (max-width: 1024px){.ailog-body{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.ailog-col{border-right:none;border-bottom:1px solid #2a2e35}.ailog-sessions,.ailog-turns{max-height:32vh}}:root{--gold: #d4af37;--gold-soft: rgba(212, 175, 55, .6);--gold-dim: rgba(212, 175, 55, .3);--panel-bg: rgba(0, 0, 0, .7);--panel-bg-soft: rgba(0, 0, 0, .45);--text: #f0e6d2;--text-dim: rgba(240, 230, 210, .65);--danger: #c05555;--font-display: "Cinzel Decorative", "Cinzel", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--topbar-h: 80px;--safe-bottom: env(safe-area-inset-bottom, 0px);--touch-min: 44px;--hp-high: #b3372f;--hp-mid: #d4453a;--hp-low: #ff5252}@media (max-width: 640px){:root{--topbar-h: 48px}}.gameplay-container{display:flex;flex-direction:column;height:100vh;height:100dvh;height:var(--vvh, 100dvh);color:#e6e6e6;position:relative;overflow:hidden}.fullscreen-background{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:1;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat}.fullscreen-background.is-default{background-image:url(/images/backgrounds/scene-default-mobile.webp)}@media (min-width: 641px){.fullscreen-background.is-default{background-image:url(/images/backgrounds/scene-default-desktop.webp)}}.fullscreen-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(8,7,6,.38) 0%,rgba(8,7,6,.48) 45%,rgba(8,7,6,.55) 100%)}.card-details-overlay{position:absolute;top:0;left:-300px;width:300px;height:100%;z-index:1000;pointer-events:auto;animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.chat-window{height:100%;display:flex;flex-direction:column;position:relative}.chat-messages{flex:1;overflow-y:auto;padding:10px 0;display:flex;flex-direction:column;gap:15px}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:rgba(0,0,0,.3);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:rgba(212,175,55,.6);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.8)}.jump-to-bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:20;padding:6px 16px;border:1px solid rgba(212,175,55,.5);border-radius:16px;background:rgba(0,0,0,.85);color:#d4af37;font-size:13px;cursor:pointer;box-shadow:0 2px 12px #00000080;transition:background .2s}@media (hover: hover) and (pointer: fine){.jump-to-bottom:hover{background:rgba(212,175,55,.15)}}.message{display:flex;align-items:flex-start;gap:2px;margin-bottom:12px}.message-dm{justify-content:flex-start}.message-player{justify-content:flex-start;flex-direction:row-reverse}.message-system{justify-content:center;flex-direction:column;align-items:center;text-align:center}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(212,175,55,.2);border:2px solid rgba(212,175,55,.4);font-size:18px}.avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.message-content{max-width:90%;min-width:300px;width:90%}.message-dm .message-content{background:rgba(0,0,0,.6);border:1px solid rgba(212,175,55,.3);border-radius:15px 15px 15px 5px;padding:12px 16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.message-player .message-content{background:rgba(212,175,55,.2);border:1px solid rgba(212,175,55,.4);border-radius:15px 15px 15px 5px;padding:12px 16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:left}.message-system .message-content{background:rgba(0,0,0,.4);border:1px solid rgba(136,136,136,.3);border-radius:20px;padding:8px 16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:90%}.message-text{color:#e6e6e6;line-height:1.5;font-size:14px;word-wrap:break-word;font-family:Cinzel,MedievalSharp,serif;font-weight:400;letter-spacing:.5px}.message-dm .message-text h3{font-size:15px;font-weight:600;color:#d4af37;margin:0 0 8px;letter-spacing:1px}.message-dm .message-text p{margin:0 0 8px}.message-dm .message-text p:last-child{margin-bottom:0}.message-dm .message-text em{color:inherit;font-style:italic}.message-dm .message-text em.dialogue{font-style:italic}.message-dm .message-text blockquote{margin:6px 0;padding:4px 10px;border-left:2px solid rgba(212,175,55,.4);color:#bbb;font-style:italic}.message-dm .message-text hr{border:none;border-top:1px solid rgba(212,175,55,.2);margin:10px 0}.message-dm .message-text .clickable-bold{color:var(--gold)}.message-dm .message-text{color:#e6e6e6}.message-player .message-text{color:#f0f0f0}.message-system .message-text{color:#b8860b;font-style:italic;font-size:13px}.message-timestamp{font-size:11px;color:#888;margin-top:5px;text-align:left}.message-system .message-timestamp{text-align:center;margin-top:8px}.message-gain{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:12px;font-family:Cinzel,MedievalSharp,serif;font-size:13px;letter-spacing:.5px}.message-gain .gain-icon{color:#d4af37;font-size:12px}.message-gain .gain-label{color:#9a8f6b}.message-gain .gain-name{color:#ffd76a;font-weight:600}.message-gain.tone-damage .gain-icon{color:#ff5252}.message-gain.tone-damage .gain-label{color:#a86a63}.message-gain.tone-damage .gain-name{color:#ff7b6b}.message-gain.tone-heal .gain-icon{color:#6fdc8c}.message-gain.tone-heal .gain-label{color:#6f9a7c}.message-gain.tone-heal .gain-name{color:#8ff0a8}.card-filter-buttons{display:flex;gap:8px;margin-bottom:15px;justify-content:center}.filter-btn{background:rgba(0,0,0,.6);border:1px solid rgba(212,175,55,.3);color:#d4af37;padding:6px 12px;border-radius:15px;font-size:12px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-family:Cinzel,MedievalSharp,serif;font-weight:500;letter-spacing:.3px}@media (hover: hover) and (pointer: fine){.filter-btn:hover{background:rgba(212,175,55,.2);border-color:#d4af37;transform:translateY(-1px)}}.filter-btn.active{background:rgba(212,175,55,.3);border-color:#d4af37;color:#fff;box-shadow:0 0 10px #d4af374d}.card-deck{display:flex;flex-direction:column;height:100%;overflow:hidden}.card-deck-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(212,175,55,.4)}.card-deck-title h3{margin:0;color:#d4af37;font-size:1.4rem;font-weight:700;font-family:Cinzel,serif;text-shadow:0 0 10px rgba(212,175,55,.5)}.deck-count{color:#b8860b;font-size:1rem;font-weight:600;background:rgba(212,175,55,.1);padding:4px 12px;border-radius:15px;border:1px solid rgba(212,175,55,.3)}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow-y:auto;padding:8px 8px 80px;flex:1;align-items:start;justify-items:center;max-height:calc(100vh - 150px)}.cards-grid::-webkit-scrollbar{width:8px}.cards-grid::-webkit-scrollbar-track{background:rgba(0,0,0,.3);border-radius:4px}.cards-grid::-webkit-scrollbar-thumb{background:rgba(212,175,55,.6);border-radius:4px}.cards-grid::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.8)}@property --card-lift{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --card-scale{syntax: "<number>"; inherits: false; initial-value: 1;}@property --card-spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --card-rx{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --card-ry{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.card-item{position:relative;width:100%;max-width:86px;aspect-ratio:9 / 16;margin:0 auto;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:2px solid rgba(212,175,55,.8);border-radius:12px;overflow:visible;cursor:pointer;--card-lift: 0px;--card-scale: 1;--card-spin: 0deg;--card-rx: 0deg;--card-ry: 0deg;transform:perspective(600px) translateY(var(--card-lift)) rotate(var(--card-spin)) rotateX(var(--card-rx)) rotateY(var(--card-ry)) scale(var(--card-scale));transition:box-shadow .3s ease,border-color .3s ease,opacity .3s ease;transition-property:box-shadow,border-color,opacity,--card-lift,--card-scale,--card-spin,--card-rx,--card-ry;transition-duration:.3s,.3s,.3s,.3s,.3s,.3s,.12s,.12s;transition-timing-function:ease;box-shadow:0 4px 20px #0006,inset 0 1px #ffffff1a;opacity:1;visibility:visible}@media (hover: hover) and (pointer: fine){.card-item:hover{--card-lift: -5px;--card-scale: 1.02;will-change:transform;border-color:#d4af3799;box-shadow:0 8px 30px #0009,0 0 20px #d4af374d,inset 0 1px #fff3}}.card-image{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.card-image .character-portrait{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.card-image .card-template{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}@media (hover: hover) and (pointer: fine){.card-item:hover .card-image img{transform:scale(1.05)}}.card-rarity-border{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:12px;pointer-events:none;transition:box-shadow .3s ease;z-index:3}@media (hover: hover) and (pointer: fine){.card-item:hover .card-rarity-border{box-shadow:inset 0 0 0 2px var(--rarity-color),0 0 14px var(--rarity-glow)}}.card-party-badge{position:absolute;top:6px;left:6px;z-index:4;padding:.05rem .32rem;border:1px solid var(--gold-soft);border-radius:4px;background:rgba(0,0,0,.65);font-size:.6rem;line-height:1.6;letter-spacing:.06em;color:var(--gold);pointer-events:none}.card-content{display:none;padding:8px;height:45%;flex-direction:column;justify-content:space-between;font-size:.7rem}.card-name{font-size:.8rem;font-weight:700;color:#e6e6e6;margin:0 0 4px;font-family:Cinzel,serif;text-shadow:0 1px 2px rgba(0,0,0,.5);line-height:1.1}.card-type{font-size:.6rem;color:#b8860b;margin:0 0 4px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.card-description{font-size:.6rem;color:#ccc;line-height:1.2;margin:0;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-deck-container{display:flex;gap:20px;height:100%}.card-deck{flex:1;min-width:0}.card-details-panel{width:auto;max-width:420px;min-width:320px;height:auto;max-height:85vh;background:linear-gradient(135deg,rgba(10,10,10,.95),rgba(25,20,15,.95));border:1px solid rgba(212,175,55,.8);border-radius:10px;padding:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 10px 40px #000000b3,0 0 0 1px #d4af374d,inset 0 1px #ffffff0d;overflow:hidden;position:relative;z-index:10;background-image:linear-gradient(135deg,rgba(0,0,0,.9),rgba(20,20,20,.9)),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(212,175,55,.02) 2px,rgba(212,175,55,.02) 4px)}.card-details-content{height:100%;display:flex;flex-direction:column}.details-header{display:flex;gap:10px;margin-bottom:10px;align-items:flex-start;padding:8px;background:rgba(212,175,55,.08);border-radius:8px;border:1px solid rgba(212,175,55,.2)}.details-image{width:70px;height:70px;border-radius:6px;object-fit:cover;border:2px solid rgba(212,175,55,.6);box-shadow:0 4px 12px #0009,0 0 0 1px #d4af374d;flex-shrink:0}.details-title{flex:1}.details-name{font-size:1.15rem;font-weight:700;color:gold;margin:0 0 3px;font-family:Cinzel,MedievalSharp,serif;letter-spacing:.5px;text-shadow:0 0 8px rgba(255,215,0,.4);line-height:1.2}.details-type{font-size:.75rem;color:#d4af37;margin-bottom:5px;font-family:Cinzel,MedievalSharp,serif;font-weight:500;text-transform:uppercase;letter-spacing:1px}.details-rarity{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:linear-gradient(135deg,var(--rarity-color),var(--rarity-color-lite));color:var(--rarity-ink);box-shadow:0 0 15px var(--rarity-glow)}.details-content{flex:1;overflow-y:auto;overflow-x:hidden;margin-bottom:6px;padding-right:4px}.details-content::-webkit-scrollbar{width:6px}.details-content::-webkit-scrollbar-track{background:rgba(0,0,0,.3);border-radius:3px}.details-content::-webkit-scrollbar-thumb{background:rgba(212,175,55,.4);border-radius:3px}.details-content::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.6)}.details-level-exp{margin-bottom:8px}.level-exp-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:linear-gradient(90deg,rgba(212,175,55,.12),rgba(212,175,55,.08));border-radius:6px;border:1px solid rgba(212,175,55,.35);box-shadow:inset 0 1px 2px #0000004d}.level-value{font-size:1rem;font-weight:700;color:#d4af37;font-family:Cinzel,MedievalSharp,serif}.exp-value{font-size:.8rem;color:#b8860b;font-family:Cinzel,MedievalSharp,serif}.details-status-compact,.details-spells-compact{margin-bottom:8px}.spell-slots-compact{display:flex;gap:6px;flex-wrap:wrap}.spell-level-compact{display:flex;align-items:center;gap:3px}.spell-level-label-compact{font-size:.7rem;color:#b8860b;font-weight:600;font-family:Cinzel,MedievalSharp,serif;min-width:12px}.spell-slot-dots-compact{display:flex;gap:1px}.spell-slot-dot-compact{width:6px;height:6px;border-radius:50%;border:1px solid rgba(212,175,55,.5)}.spell-slot-dot-compact.available{background:rgba(212,175,55,.3)}.spell-slot-dot-compact.used{background:rgba(212,175,55,.8);box-shadow:0 0 3px #d4af3799}.details-attributes-compact{margin-bottom:8px;padding:8px;background:rgba(0,0,0,.3);border-radius:6px;border:1px solid rgba(212,175,55,.15)}.attributes-row-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:5px}.attributes-row-compact:last-child{margin-bottom:0}.attribute-compact{font-size:.7rem;color:gold;background:rgba(212,175,55,.12);padding:5px 4px;border-radius:4px;text-align:center;font-family:Cinzel,MedievalSharp,serif;font-weight:600;border:1px solid rgba(212,175,55,.25);box-shadow:inset 0 1px 2px #0000004d;white-space:nowrap;letter-spacing:.3px}.details-description-compact{font-size:.72rem;color:#d0d0d0;line-height:1.4;margin-bottom:6px;font-family:Cinzel,MedievalSharp,serif;letter-spacing:.3px;padding:8px;background:rgba(0,0,0,.2);border-radius:6px;border-left:3px solid rgba(212,175,55,.4);font-style:italic}.details-skills-compact{margin-bottom:8px;padding:6px 8px;background:rgba(0,100,150,.08);border-radius:6px;border:1px solid rgba(0,150,255,.2)}.skills-list-compact{display:flex;flex-wrap:wrap;gap:4px}.skill-item-compact{padding:3px 8px;background:rgba(0,100,200,.15);border-radius:10px;border:1px solid rgba(0,150,255,.3);color:#e6e6e6;font-family:Cinzel,MedievalSharp,serif;font-size:.65rem}.details-equip{margin-bottom:8px;padding:6px 8px;background:rgba(150,100,0,.08);border-radius:6px;border:1px solid rgba(212,175,55,.25)}.details-equip-title{margin-bottom:4px;font-family:Cinzel,MedievalSharp,serif;font-size:.68rem;letter-spacing:.08em;color:#d4af37bf}.details-equip-row{display:grid;grid-template-columns:16px 32px 1fr;align-items:start;gap:6px;padding:3px 0;text-align:left}.details-equip-row+.details-equip-row{border-top:1px solid rgba(212,175,55,.12)}.details-equip-icon{font-size:.8rem;opacity:.8}.details-equip-slot{font-size:.68rem;color:#f0e6d280}.details-equip-body{min-width:0}.details-equip-name{display:flex;align-items:center;gap:5px;font-size:.72rem;color:gold}.details-equip-broken{font-size:.64rem;color:#c05555}.details-equip-none{font-size:.7rem;color:#f0e6d24d}.details-equip-go{display:block;margin:6px 0 0 auto;padding:3px 10px;border:1px solid rgba(212,175,55,.4);border-radius:5px;background:transparent;color:#d4af37e6;font-size:.68rem;cursor:pointer;transition:background .15s,color .15s}@media (hover: hover) and (pointer: fine){.details-equip-go:hover{background:rgba(212,175,55,.15);color:gold}}.durability{--dur-high: #4caf7d;--dur-mid: #d9a441;--dur-low: #c05555;margin-bottom:8px}.durability-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px;font-family:Cinzel,MedievalSharp,serif;font-size:.68rem}.durability-label{color:#b8860b;letter-spacing:.5px}.durability-value{color:var(--text);font-weight:600}.durability-bar{height:8px;border-radius:4px;background:rgba(0,0,0,.55);border:1px solid var(--gold-dim);overflow:hidden}.durability--compact .durability-bar{height:4px;border-radius:2px}.durability-fill{height:100%;border-radius:inherit;background:var(--dur-high);transition:width .3s ease-out}.durability-bar[data-tier=mid] .durability-fill{background:var(--dur-mid)}.durability-bar[data-tier=low] .durability-fill{background:var(--dur-low)}.durability-bar[data-tier=broken]{border-color:var(--dur-low)}.durability--compact{margin-bottom:0}.hpbar{margin-bottom:8px}.hpbar-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px;font-family:Cinzel,MedievalSharp,serif;font-size:.68rem}.hpbar-label{color:#b8860b;letter-spacing:.5px}.hpbar-value{color:var(--text);font-weight:600}.hpbar-bar{height:8px;border-radius:4px;background:rgba(0,0,0,.55);border:1px solid var(--gold-dim);overflow:hidden}.hpbar--compact .hpbar-bar{height:4px;border-radius:2px}.hpbar-fill{height:100%;border-radius:inherit;background:var(--hp-high);transition:width .3s ease-out}.hpbar-bar[data-tier=mid] .hpbar-fill{background:var(--hp-mid)}.hpbar-bar[data-tier=low] .hpbar-fill{background:var(--hp-low)}.hpbar-bar[data-tier=down]{border-color:var(--hp-low)}.hpbar--compact{margin-bottom:0}.item-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.item-chip{padding:2px 8px;border-radius:10px;font-family:Cinzel,MedievalSharp,serif;font-size:.65rem;font-weight:600;letter-spacing:.3px;color:var(--gold);background:rgba(212,175,55,.12);border:1px solid var(--gold-dim)}.item-chip--magic{color:#9d8cff;background:rgba(120,100,255,.14);border-color:#7864ff66}.item-chip--on{color:#4caf7d;background:rgba(76,175,125,.14);border-color:#4caf7d73}.item-chip--broken{color:var(--danger);background:rgba(192,85,85,.14);border-color:#c0555573}.item-effect{margin-bottom:8px;padding:6px 8px;border-radius:6px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.22);color:var(--text);font-family:Cinzel,MedievalSharp,serif;font-size:.72rem;line-height:1.45}.item-group{margin-bottom:8px;padding:6px 8px;border-radius:6px;background:rgba(0,0,0,.3);border:1px solid rgba(212,175,55,.15)}.item-group-title{margin-bottom:4px;color:#b8860b;font-family:Cinzel,MedievalSharp,serif;font-size:.65rem;font-weight:700;letter-spacing:1px}.item-group-rows{display:flex;flex-direction:column;gap:3px}.item-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:Cinzel,MedievalSharp,serif;font-size:.7rem}.item-row-label{color:var(--text-dim);white-space:nowrap}.item-row-value{color:gold;font-weight:600;text-align:right;word-break:break-word}.item-basics{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:var(--text-dim);font-family:Cinzel,MedievalSharp,serif;font-size:.68rem}.item-origin{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px;border-top:1px solid rgba(212,175,55,.15);color:var(--text-dim);font-family:Cinzel,MedievalSharp,serif;font-size:.62rem}.item-serial{color:var(--gold);font-weight:700}.stats-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.stat-row{display:flex;justify-content:space-between;padding:4px 8px;background:rgba(212,175,55,.1);border-radius:4px;border:1px solid rgba(212,175,55,.2);font-size:.75rem}.stat-label{color:#b8860b;font-weight:500;font-family:Cinzel,MedievalSharp,serif}.stat-value{color:#e6e6e6;font-weight:600;font-family:Cinzel,MedievalSharp,serif}.status-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.status-row{display:flex;align-items:center;gap:8px;font-size:.75rem}.status-label{color:#b8860b;font-weight:500;font-family:Cinzel,MedievalSharp,serif;min-width:50px}.status-bar{position:relative;flex:1;height:16px;background:rgba(0,0,0,.5);border-radius:8px;border:1px solid rgba(212,175,55,.3);overflow:hidden}.status-fill{height:100%;border-radius:7px;transition:width .3s ease}.hp-fill{background:linear-gradient(90deg,#dc3545,#ff6b7a)}.mp-fill{background:linear-gradient(90deg,#0d6efd,#6ea8fe)}.status-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);font-family:Cinzel,MedievalSharp,serif}.status-value{color:#d4af37;font-weight:600;font-family:Cinzel,MedievalSharp,serif}.attributes-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px}.attribute-item{display:flex;justify-content:space-between;padding:3px 6px;background:rgba(212,175,55,.1);border-radius:4px;border:1px solid rgba(212,175,55,.2);font-size:.7rem}.attribute-label{color:#b8860b;font-weight:500;font-family:Cinzel,MedievalSharp,serif}.attribute-value{color:#d4af37;font-weight:600;font-family:Cinzel,MedievalSharp,serif}.spell-slots{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.spell-level{display:flex;align-items:center;gap:6px;font-size:.7rem}.spell-level-label{color:#b8860b;font-weight:500;font-family:Cinzel,MedievalSharp,serif;min-width:35px}.spell-slot-dots{display:flex;gap:2px}.spell-slot-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(212,175,55,.5)}.spell-slot-dot.available{background:rgba(212,175,55,.3)}.spell-slot-dot.used{background:rgba(212,175,55,.8);box-shadow:0 0 4px #d4af3799}.spell-slot-text{color:#d4af37;font-weight:600;font-family:Cinzel,MedievalSharp,serif;margin-left:4px}.equipment-list{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.equipment-item{display:flex;justify-content:space-between;padding:3px 6px;background:rgba(0,0,0,.3);border-radius:4px;border-left:3px solid #d4af37;font-size:.7rem}.equipment-slot{color:#b8860b;font-weight:500;font-family:Cinzel,MedievalSharp,serif}.equipment-name{color:#e6e6e6;font-family:Cinzel,MedievalSharp,serif}.skills-list{display:flex;flex-direction:column;gap:4px}.skill-item{padding:4px 8px;background:rgba(0,0,0,.3);border-radius:4px;border-left:3px solid #d4af37;color:#e6e6e6;font-family:Cinzel,MedievalSharp,serif;font-size:.75rem}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;text-align:center}.no-selection-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.no-selection-text{font-size:.9rem;font-family:Cinzel,MedievalSharp,serif;letter-spacing:.5px}.debug-info{margin-top:20px;padding:10px;background:rgba(0,0,0,.3);border-radius:8px;border:1px solid rgba(212,175,55,.3);font-size:.8rem;color:#ccc}.debug-info p{margin:5px 0;font-family:Cinzel,MedievalSharp,serif}.card-item.selected{--card-scale: 1.05;box-shadow:0 8px 25px #0009,0 0 20px var(--rarity-glow)}@media (max-width: 640px){.card-deck-container{flex-direction:column;gap:15px}.card-details-panel{padding:15px}.details-header{gap:10px}.details-image{width:50px;height:50px}.details-name{font-size:1rem}.details-type{font-size:.8rem}.stats-list{gap:4px}.stat-row{padding:4px 8px;font-size:.8rem}}.details-description{font-size:.9rem;color:#e6e6e6;line-height:1.6;margin:0 0 20px}.details-stats{display:flex;justify-content:space-around;margin:20px 0}.stat-item{text-align:center}.stat-value{font-size:1.2rem;font-weight:700;color:#d4af37;display:block}.stat-label{font-size:.8rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#666;text-align:center}.empty-icon{font-size:3rem;margin-bottom:15px;opacity:.5}.empty-text{font-size:1rem;margin:0;font-style:italic}.character-card{background:linear-gradient(135deg,#2a1a0a,#3a2a1a);border-color:#d4af3780}.character-card .card-image{position:relative}.character-portrait{width:100%;height:100%;object-fit:cover;border-radius:8px 8px 0 0}.character-info{padding:15px;text-align:center}.character-name{font-size:1.2rem;font-weight:700;color:#d4af37;margin:0 0 8px;font-family:Cinzel,serif}.character-class{font-size:.9rem;color:#b8860b;margin:0 0 5px;text-transform:uppercase;letter-spacing:1px}.character-race{font-size:.8rem;color:#888;margin:0}@media (max-width: 640px){.card-content{padding:12px}.card-name{font-size:1rem}.card-description{font-size:.75rem}}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.card-item{animation:cardAppear .5s ease-out}.card-item.dragging{--card-spin: 5deg;--card-scale: 1.05;opacity:.7;z-index:1000;box-shadow:0 14px 44px #000000d9,0 0 24px var(--rarity-glow)}.character-cache-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.character-cache-modal{background:rgba(0,0,0,.9);border:2px solid rgba(212,175,55,.4);border-radius:15px;padding:30px;max-width:800px;max-height:80vh;width:90%;overflow-y:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0009}.cache-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid rgba(212,175,55,.3)}.cache-header h2{color:#d4af37;font-family:Cinzel,serif;font-size:1.8rem;margin:0;text-shadow:0 0 10px rgba(212,175,55,.5)}.close-btn{background:none;border:none;color:#d4af37;font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}@media (hover: hover) and (pointer: fine){.close-btn:hover{background:rgba(212,175,55,.2);transform:scale(1.1)}}.cache-stats{display:flex;gap:20px;margin-bottom:25px;padding:20px;background:rgba(212,175,55,.1);border-radius:10px;border:1px solid rgba(212,175,55,.3)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:5px}.stat-label{color:#b8860b;font-size:.9rem;font-weight:600}.stat-value{color:#d4af37;font-size:1.5rem;font-weight:700;font-family:Cinzel,serif}.cleanup-btn{background:linear-gradient(135deg,#dc3545,#c82333);border:none;color:#fff;padding:10px 20px;border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-left:auto}@media (hover: hover) and (pointer: fine){.cleanup-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-2px);box-shadow:0 4px 15px #dc354566}}.characters-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-height:400px;overflow-y:auto}.character-item{display:flex;align-items:center;gap:15px;padding:15px;background:rgba(0,0,0,.6);border:1px solid rgba(212,175,55,.3);border-radius:10px;transition:all .3s ease}@media (hover: hover) and (pointer: fine){.character-item:hover{border-color:#d4af3799;background:rgba(0,0,0,.8);transform:translateY(-2px);box-shadow:0 4px 15px #0006}}.character-image{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0}.character-image img{width:100%;height:100%;object-fit:cover}.character-info{flex:1;min-width:0}.character-info h3{color:#d4af37;font-size:1.1rem;margin:0 0 5px;font-family:Cinzel,serif}.character-info p{color:#e6e6e6;font-size:.9rem;margin:0 0 3px}.character-date{color:#888!important;font-size:.8rem!important}.character-actions{display:flex;gap:10px}.delete-btn{background:linear-gradient(135deg,#dc3545,#c82333);border:none;color:#fff;padding:8px 16px;border-radius:15px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease}@media (hover: hover) and (pointer: fine){.delete-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2a);transform:translateY(-1px);box-shadow:0 2px 10px #dc354566}}.error-message{background:rgba(220,53,69,.2);border:1px solid rgba(220,53,69,.4);color:#ff6b6b;padding:15px;border-radius:10px;margin-bottom:20px;text-align:center}.loading{text-align:center;color:#d4af37;font-size:1.2rem;padding:40px}.empty-state{text-align:center;color:#888;padding:40px;font-style:italic}.characters-list::-webkit-scrollbar{width:8px}.characters-list::-webkit-scrollbar-track{background:rgba(0,0,0,.3);border-radius:4px}.characters-list::-webkit-scrollbar-thumb{background:rgba(212,175,55,.6);border-radius:4px}.characters-list::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.8)}.empty-deck{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#e6e6e699;min-height:200px}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.empty-text{font-size:1.2rem;font-weight:600;margin-bottom:8px;color:#e6e6e6cc}.empty-hint{font-size:.9rem;opacity:.7}@media (max-width: 640px){.cards-grid{grid-template-columns:repeat(2,1fr);gap:6px;padding:6px 6px 60px}}.card-info-btn{position:absolute;top:-6px;right:-6px;z-index:5;width:26px;height:26px;padding:0;border-radius:50%;border:1px solid rgba(212,175,55,.8);background:rgba(0,0,0,.85);color:#d4af37;font-size:15px;line-height:1;cursor:pointer}.card-info-btn:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.card-durability,.card-hp{position:absolute;left:10%;right:10%;bottom:7%;z-index:4;pointer-events:none}.card-item.is-pinned{border-color:var(--rarity-color)}.card-item.is-pinned .card-rarity-border{box-shadow:inset 0 0 0 2px var(--rarity-color),0 0 14px var(--rarity-glow)}@keyframes cardFreshFlash{0%,to{border-color:#d4af37cc;box-shadow:0 4px 20px #0006,inset 0 1px #ffffff1a}25%,75%{border-color:#ffd76a;box-shadow:0 4px 20px #0006,inset 0 1px #ffffff1a,0 0 22px #ffd76ad9}}.card-item.is-fresh{animation:cardAppear .5s ease-out,cardFreshFlash 1.2s ease-in-out}@media (prefers-reduced-motion: reduce){.card-item.is-fresh{animation:none;border-color:#ffd76a}}.card-hit-fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;overflow:hidden;border-radius:12px;pointer-events:none}.card-item.is-hit{border-color:#ff5252;box-shadow:0 4px 20px #0006,0 0 18px #ff3c32a6,inset 0 1px #ffffff1a}@keyframes cardHitFlash{0%{opacity:0}12%{opacity:1}to{opacity:0}}.card-hit-fx .hit-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 45%,rgba(255,82,82,.55),rgba(140,20,16,.35) 60%,transparent 100%);mix-blend-mode:screen;opacity:0;animation:cardHitFlash .45s ease-out}@keyframes cardHitClaw{0%{clip-path:inset(0 0 100% 0);opacity:0}10%{opacity:1}60%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(0 0 0 0);opacity:0}}.card-hit-fx .hit-claw{position:absolute;top:-40%;left:50%;width:3px;height:180%;background:linear-gradient(to bottom,transparent,rgba(255,235,235,.95) 18%,rgba(255,90,80,.9) 50%,rgba(255,235,235,.95) 82%,transparent);box-shadow:0 0 8px #ff463ce6;opacity:0;animation:cardHitClaw .5s cubic-bezier(.2,.7,.3,1)}.card-hit-fx .claw-a{transform:translate(-190%) rotate(-18deg)}.card-hit-fx .claw-b{width:4px;transform:translate(-30%) rotate(-18deg);animation-delay:.04s}.card-hit-fx .claw-c{width:2px;transform:translate(120%) rotate(-18deg);animation-delay:.08s}@keyframes cardHitFloat{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}15%{opacity:1;transform:translate(-50%,-4px) scale(1.15)}35%{transform:translate(-50%,-12px) scale(1)}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}.card-hit-float{position:absolute;top:34%;left:50%;z-index:7;white-space:nowrap;font-family:Cinzel,MedievalSharp,serif;font-size:13px;font-weight:700;color:#ff6b5c;text-shadow:0 0 3px rgba(0,0,0,.95),0 0 8px rgba(255,60,50,.8),0 1px 0 rgba(0,0,0,.9);pointer-events:none;animation:cardHitFloat 1.2s ease-out forwards}.card-item.is-healed{border-color:#4ecb71;box-shadow:0 4px 20px #0006,0 0 18px #46d27899,inset 0 1px #ffffff1a}@keyframes cardHealGlow{0%{opacity:0}30%{opacity:1}to{opacity:0}}.card-hit-fx.is-heal .hit-flash{background:radial-gradient(ellipse at 50% 60%,rgba(110,225,145,.5),rgba(24,110,60,.3) 60%,transparent 100%);animation:cardHealGlow .9s ease-out}@keyframes cardHealMote{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}70%{opacity:.9}to{opacity:0;transform:translateY(-46px) scale(1)}}.card-hit-fx .heal-mote{position:absolute;bottom:18%;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#eafff0 0%,#6fdc8c 55%,transparent 72%);box-shadow:0 0 8px #5ae682e6;opacity:0;animation:cardHealMote 1.1s ease-out}.card-hit-fx .mote-a{left:26%}.card-hit-fx .mote-b{left:50%;width:7px;height:7px;animation-delay:.12s}.card-hit-fx .mote-c{left:72%;width:4px;height:4px;animation-delay:.24s}.card-hit-float.is-heal{color:#8ff0a8;text-shadow:0 0 3px rgba(0,0,0,.95),0 0 8px rgba(60,220,110,.8),0 1px 0 rgba(0,0,0,.9)}@media (prefers-reduced-motion: reduce){.card-hit-fx .hit-claw,.card-hit-fx .heal-mote{display:none}.card-hit-fx .hit-flash{animation:cardHitFlash .8s ease-out}.card-hit-fx.is-heal .hit-flash{animation:cardHealGlow 1s ease-out}.card-hit-float{animation:none;opacity:1;transform:translate(-50%,-12px)}}.card-details-close{position:absolute;top:-14px;right:-14px;z-index:10;width:var(--touch-min);height:var(--touch-min);border-radius:50%;border:1px solid rgba(212,175,55,.6);background:rgba(0,0,0,.9);color:#d4af37;font-size:24px;line-height:1;cursor:pointer}@media (max-width: 640px){.card-item{max-width:92px}}.card-assembly-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:3000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:60px;box-sizing:border-box}.card-assembly-container{position:relative;perspective:1000px;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:calc(100vh - 120px);max-height:calc(100vh - 120px);overflow:hidden}.card-assembly-card{width:150px;height:267px;position:relative;transform-style:preserve-3d;cursor:pointer;transition:all .6s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.card-assembly-card{width:120px;height:213px}.card-assembly-overlay{padding:40px}}@media (max-width: 480px){.card-assembly-card{width:100px;height:178px}.card-assembly-overlay{padding:30px}}.card-assembly-card.animating{pointer-events:none}.card-assembly-card.back{transform:rotateY(0)}.card-assembly-card.front{transform:rotateY(180deg)}.card-assembly-card.collecting{transform:rotateY(180deg) scale(.8) translate(var(--target-x, 0),var(--target-y, 0));opacity:.7}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:15px;overflow:hidden;box-shadow:0 8px 32px #0009;border:2px solid rgba(212,175,55,.4)}.card-back{background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%);display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.card-back img{width:100%;height:100%;object-fit:cover;border-radius:13px}.card-front{transform:rotateY(180deg);background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%);position:relative;z-index:2}.character-portrait{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.card-template{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:2;pointer-events:none}.card-glow{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,rgba(212,175,55,.3) 0%,rgba(255,215,0,.1) 25%,rgba(212,175,55,.3) 50%,rgba(255,215,0,.1) 75%,rgba(212,175,55,.3) 100%);border-radius:17px;z-index:-1;animation:cardGlow 2s ease-in-out infinite alternate}.collection-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.particle{position:absolute;width:6px;height:6px;background:radial-gradient(circle,#d4af37 0%,#ffd700 100%);border-radius:50%;animation:particleFly 1s ease-out forwards;animation-delay:var(--delay, 0s);transform-origin:center}.particle:nth-child(odd){background:radial-gradient(circle,#ff6b6b 0%,#ff8e8e 100%)}.particle:nth-child(3n){background:radial-gradient(circle,#4ecdc4 0%,#7fdbda 100%)}@keyframes cardGlow{0%{opacity:.3;transform:scale(1)}to{opacity:.8;transform:scale(1.02)}}@keyframes pulse{0%,to{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.05)}}@keyframes particleFly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translateY(-100px) scale(.3)}}@media (max-width: 768px){.card-assembly-card{width:250px;height:350px}.card-name{font-size:1rem}.card-description{font-size:.75rem}}.streaming-cursor{display:inline-block;animation:blink 1s infinite;color:#d4af37;font-weight:700;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:0;background:transparent;border:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}.typing-dot{width:8px;height:8px;background:#d4af37;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.message-dm.streaming{position:relative}.message-dm.streaming .message-content{min-height:20px}.message-dm.waiting .message-content{background:rgba(0,0,0,.4);border-color:#d4af3733}.message-dm .typing-indicator{background:transparent;border:none;border-radius:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.dm-waiting{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:20px}.dm-waiting-label{font-size:13px;color:#d4af37d9;letter-spacing:.02em;animation:dmWaitingFade .35s ease}@keyframes dmWaitingFade{0%{opacity:.3}to{opacity:1}}@media (max-width: 768px){.typing-dot{width:6px;height:6px}.typing-indicator{gap:3px;padding:0}.streaming-cursor{font-size:12px}}@media (max-width: 480px){.typing-dot{width:5px;height:5px}.typing-indicator{gap:2px;padding:0}}.pickup-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;line-height:inherit;color:var(--gold);font-weight:700;cursor:pointer;position:relative;white-space:nowrap;transition:color .2s ease,text-decoration-color .2s ease;touch-action:manipulation}.pickup-link-label{text-decoration:underline dotted;text-underline-offset:3px;text-decoration-thickness:2px;white-space:normal}.pickup-link-icon{margin-right:2px;font-size:.85em;font-variant-emoji:text;opacity:.85;transition:opacity .2s ease,text-shadow .2s ease}.pickup-link:after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:var(--touch-min);transform:translateY(-50%)}.pickup-link:disabled:after{content:none}.pickup-link--available .pickup-link-label{text-decoration-color:var(--gold-soft)}.pickup-link--available{text-shadow:0 0 6px var(--gold-dim)}.pickup-link--available:focus-visible{color:gold;text-shadow:0 0 10px var(--gold-soft)}.pickup-link--available:focus-visible .pickup-link-label{text-decoration-color:var(--gold)}.pickup-link--available:focus-visible .pickup-link-icon{opacity:1;text-shadow:0 0 8px var(--gold)}@media (hover: hover) and (pointer: fine){.pickup-link--available:hover{color:gold;text-shadow:0 0 10px var(--gold-soft)}.pickup-link--available:hover .pickup-link-label{text-decoration-color:var(--gold)}.pickup-link--available:hover .pickup-link-icon{opacity:1;text-shadow:0 0 8px var(--gold)}}.pickup-link--available:active{transform:translateY(1px)}.pickup-link--available:before{content:"拾取";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:2px 8px;border:1px solid var(--gold-dim);border-radius:4px;background:rgba(18,16,12,.96);color:var(--gold);font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}.pickup-link--available:focus-visible:before{opacity:1}@media (hover: hover) and (pointer: fine){.pickup-link--available:hover:before{opacity:1}}.pickup-link--claiming{color:var(--text-dim);cursor:progress;animation:pickup-pulse 1.2s ease-in-out infinite}.pickup-link--claiming .pickup-link-label{text-decoration-color:var(--gold-dim)}.pickup-link--claimed{color:#1a1408;background:var(--gold);border-radius:3px;padding:0 .15em;cursor:default;font-weight:600;text-shadow:none}.pickup-link--claimed .pickup-link-icon{color:#1a1408;opacity:.7}.pickup-link--claimed .pickup-link-label{text-decoration:none}.pickup-link--expired{color:var(--text-dim);cursor:not-allowed;font-weight:600;opacity:.65}.pickup-link--expired .pickup-link-icon{display:none}.pickup-link--expired .pickup-link-label{text-decoration-style:dashed;text-decoration-color:#f0e6d233}.pickup-link--orphan{color:var(--gold);font-weight:700;text-decoration:none}@keyframes pickup-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.pickup-link,.pickup-link-icon,.pickup-link--available:before{transition:none}.pickup-link--claiming{animation:none}}.pickup-link--tray{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--gold-soft)}.pickup-link--tray:before{content:none}.pickup-tray{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px 52px;padding:8px 12px;background:var(--panel-bg-soft);border:1px solid var(--gold-dim);border-radius:8px}.pickup-tray-hint{color:var(--text-dim);font-size:13px}@media (max-width: 640px){.pickup-tray{margin-left:0}}.card-flip-backdrop{--cf-speed: 1;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:10001;animation:backdropFadeIn calc(.4s / var(--cf-speed)) ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes backdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.card-flip-backdrop.is-struck:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--rarity-glow);animation:cfBackdropFlash calc(.5s / var(--cf-speed)) ease-out calc(.18s / var(--cf-speed)) both}@keyframes cfBackdropFlash{0%{opacity:0}10%{opacity:.55}to{opacity:0}}.card-flip-overlay{--cf-speed: 1;position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10002;animation:overlayFadeIn calc(.5s / var(--cf-speed)) ease-out;pointer-events:none}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardEnter{0%{opacity:0;transform:translateY(56px) scale(.72) rotateY(0)}60%{opacity:1;transform:translateY(-12px) scale(1.04) rotateY(0)}to{opacity:1;transform:translateY(0) scale(1) rotateY(0)}}@keyframes cardIdle{0%,to{transform:translateY(0) rotateY(0) rotateX(0)}50%{transform:translateY(-10px) rotateY(4deg) rotateX(-2deg)}}.card-flip-container{display:flex;flex-direction:column;align-items:center;gap:24px;perspective:1500px;position:relative}.card-flip-container.is-struck{animation:cfShake calc(.34s / var(--cf-speed)) cubic-bezier(.36,.07,.19,.97) calc(.18s / var(--cf-speed)) both}@keyframes cfShake{0%,to{transform:translateZ(0)}12%{transform:translate3d(-7px,4px,0)}26%{transform:translate3d(6px,-5px,0)}42%{transform:translate3d(-5px,-3px,0)}58%{transform:translate3d(4px,3px,0)}74%{transform:translate3d(-2px,1px,0)}88%{transform:translate3d(1px,-1px,0)}}.card-flip-card{position:relative;z-index:1;width:clamp(200px,35vw,320px);aspect-ratio:9 / 16;max-height:75vh;cursor:pointer;transform-style:preserve-3d;--collect-x: 45vw;--collect-y: -22vh;transform:rotateY(0);animation:cardEnter calc(.5s / var(--cf-speed)) cubic-bezier(.2,.8,.3,1) both,cardIdle calc(3.2s / var(--cf-speed)) ease-in-out calc(.5s / var(--cf-speed)) infinite;pointer-events:auto}.card-flip-card.flipped{transform:rotateY(180deg);animation:cardStrike calc(.66s / var(--cf-speed)) both}@keyframes cardStrike{0%{transform:rotateY(0) translateZ(0) scale(1);animation-timing-function:cubic-bezier(.35,0,.7,.3)}12%{transform:rotateY(-16deg) translateZ(-60px) scale(.94);animation-timing-function:cubic-bezier(.2,.6,.35,1)}30%{transform:rotateY(96deg) translateZ(90px) scale(1.12);animation-timing-function:cubic-bezier(.25,.6,.3,1)}55%{transform:rotateY(170deg) translateZ(34px) scale(1.05)}72%{transform:rotateY(191deg) translateZ(0) scale(.99)}88%{transform:rotateY(175deg) translateZ(0) scale(1.005)}to{transform:rotateY(180deg) translateZ(0) scale(1)}}.card-flip-card.flipped .card-back{pointer-events:none}.card-flip-card.collecting{animation:collectCard calc(.8s / var(--cf-speed)) forwards;pointer-events:none}@keyframes collectCard{0%{transform:translate(0) rotateY(180deg) rotate(0) scale(1);opacity:1;animation-timing-function:cubic-bezier(.3,0,.25,1)}16%{transform:translate(calc(var(--collect-x) * -.07),calc(var(--collect-y) * -.12)) rotateY(180deg) rotate(5deg) scale(1.06);opacity:1;animation-timing-function:cubic-bezier(.55,0,.85,.5)}to{transform:translate(var(--collect-x),var(--collect-y)) rotateY(180deg) rotate(-34deg) scale(.16);opacity:0}}.cf-fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.cf-flash{position:absolute;top:50%;left:50%;width:220%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0%,var(--rarity-color) 22%,var(--rarity-glow) 45%,transparent 70%);animation:cfFlash calc(.6s / var(--cf-speed)) ease-out calc(.18s / var(--cf-speed)) both}@keyframes cfFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}8%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}.cf-ring{--cf-ring-i: 0;position:absolute;top:50%;left:50%;width:calc(62% - var(--cf-ring-i) * 7%);aspect-ratio:1;border:2px solid var(--cf-ring-c);border-radius:50%;animation:cfRing calc(.72s / var(--cf-speed)) cubic-bezier(.1,.75,.3,1) calc((.19s + var(--cf-ring-i) * 85ms) / var(--cf-speed)) both}.cf-ring--gold{box-shadow:0 0 14px var(--cf-ring-c)}@keyframes cfRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.15);border-width:6px}12%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%) scale(3.6);border-width:1px}}.cf-spark{position:absolute;top:50%;left:50%;width:3px;height:calc(26px * var(--cf-s));border-radius:2px;background:linear-gradient(to bottom,var(--rarity-color-lite),transparent);transform-origin:50% 0;animation:cfSpark calc(.66s / var(--cf-speed)) cubic-bezier(.12,.7,.25,1) calc((.18s + var(--cf-t)) / var(--cf-speed)) both}@keyframes cfSpark{0%{opacity:0;transform:rotate(var(--cf-a)) translateY(0) scaleY(.4)}10%{opacity:1}to{opacity:0;transform:rotate(var(--cf-a)) translateY(calc(var(--cf-d) * 1vmin)) scaleY(1.6)}}.cf-rays{position:absolute;top:50%;left:50%;width:260%;aspect-ratio:1;background:conic-gradient(from 0deg,transparent 0deg 6deg,var(--rarity-glow) 6deg 9deg,transparent 9deg 24deg);-webkit-mask-image:radial-gradient(circle,transparent 18%,#000 34%,transparent 68%);mask-image:radial-gradient(circle,transparent 18%,#000 34%,transparent 68%);animation:cfRaysIn calc(.9s / var(--cf-speed)) cubic-bezier(.15,.75,.3,1) calc(.18s / var(--cf-speed)) both}@keyframes cfRaysIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}14%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%) scale(1.15) rotate(26deg)}}.cf-mote{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--rarity-color-lite);box-shadow:0 0 8px var(--rarity-color);animation:cfMote calc(2.4s / var(--cf-speed)) ease-out calc((.25s + var(--cf-t)) / var(--cf-speed)) both}@keyframes cfMote{0%{opacity:0;transform:translate(calc(var(--cf-x) * 1vmin),6vmin) scale(.3)}20%{opacity:1}to{opacity:0;transform:translate(calc(var(--cf-x) * 1.4vmin),-22vmin) scale(.8)}}.card-flip-card .card-back{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;background:none!important;border:none!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 30px #00000080!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;transform:rotateY(0)!important;overflow:hidden!important;z-index:2}.card-flip-card .card-back img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:16px!important;transform:scale(1.04)}.card-flip-card .card-front{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;background:transparent!important;border:none!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 10px 30px #00000080!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;transform:rotateY(180deg)!important;pointer-events:auto!important;overflow:hidden!important;z-index:1}.card-flip-card.flipped .card-front:after{content:"";position:absolute;top:-20%;right:-40%;bottom:-20%;left:-40%;z-index:3;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.85) 50%,transparent 62%);animation:cfSheen calc(.55s / var(--cf-speed)) ease-out calc(.2s / var(--cf-speed)) both}@keyframes cfSheen{0%{opacity:0;transform:translate(-70%)}22%{opacity:1}to{opacity:0;transform:translate(70%)}}.card-front .character-portrait{position:absolute;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none}.card-front .card-template{position:absolute;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}.card-front-name{position:absolute;left:8%;right:8%;bottom:9%;z-index:3;padding:6px 10px;border-radius:8px;background:rgba(8,8,10,.78);border:1px solid var(--rarity-color);box-shadow:0 0 12px var(--rarity-glow);color:var(--rarity-color);font-family:Cinzel,serif;font-size:clamp(.85rem,2.2vmin,1.15rem);font-weight:700;line-height:1.25;text-align:center;letter-spacing:.5px;pointer-events:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-hint{padding:8px 22px;border:1px solid var(--rarity-color);border-radius:999px;background:rgba(10,10,10,.72);color:var(--rarity-color);font-size:.95rem;font-weight:600;letter-spacing:1px;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;cursor:pointer;animation:hintPulse calc(1.8s / var(--cf-speed)) ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.55}50%{opacity:1}}.card-flip-backdrop.is-reduced,.card-flip-overlay.is-reduced{animation:none}.card-flip-backdrop.is-reduced:after,.is-reduced .card-flip-container.is-struck,.is-reduced .card-hint,.is-reduced .card-flip-card.flipped .card-front:after{animation:none}.is-reduced .card-flip-card{animation:none;transition:transform calc(.2s / var(--cf-speed)) ease-out}.is-reduced .card-flip-card.collecting{animation:cfFadeOut calc(.32s / var(--cf-speed)) ease-out forwards}@keyframes cfFadeOut{to{opacity:0;transform:rotateY(180deg) scale(.9)}}@media (prefers-reduced-motion: reduce){.card-flip-backdrop,.card-flip-overlay,.card-flip-container.is-struck,.card-hint,.cf-fx>*{animation:none!important}.card-flip-card{animation:none!important;transition:transform .2s ease-out}}.card-details-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);border-radius:16px;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease-out;pointer-events:none}.card-details-content{padding:30px;text-align:center;color:#e6e6e6;max-width:90%}.card-details-name{font-size:2rem;font-weight:700;color:#d4af37;margin:0 0 10px;font-family:Cinzel,serif;text-shadow:0 0 10px rgba(212,175,55,.5)}.card-details-type{font-size:1.2rem;color:#b8860b;margin:0 0 20px;text-transform:uppercase;letter-spacing:2px}.card-details-description{font-size:1.1rem;color:#e6e6e6;line-height:1.6;margin:0 0 25px}.card-details-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:15px;margin-bottom:25px;padding:20px;background:rgba(212,175,55,.1);border-radius:10px;border:1px solid rgba(212,175,55,.3)}.card-details-stats .stat-item{display:flex;flex-direction:column;align-items:center;gap:5px}.card-details-stats .stat-label{font-size:.9rem;color:#b8860b;font-weight:600;text-transform:uppercase;letter-spacing:1px}.card-details-stats .stat-value{font-size:1.5rem;color:#d4af37;font-weight:700;font-family:Cinzel,serif}.card-details-hint{font-size:1rem;color:#d4af37;padding:12px 24px;background:rgba(212,175,55,.2);border-radius:20px;border:1px solid rgba(212,175,55,.4);display:inline-block;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}@media (max-width: 768px){.card-flip-card{width:clamp(180px,62vw,300px);max-height:62vh;--collect-x: 32vw;--collect-y: -18vh}.card-flip-container{gap:18px}.card-hint{padding:7px 18px;font-size:.85rem}.card-details-name{font-size:1.5rem}.card-details-type{font-size:1rem}.card-details-description{font-size:.9rem}.card-details-stats .stat-value{font-size:1.2rem}.card-details-hint{font-size:.9rem;padding:10px 20px}}.dc-overlay{--dc-speed: 1;position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom));background:radial-gradient(circle at 50% 42%,rgba(20,16,10,.82),rgba(0,0,0,.94));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:dcFadeIn .3s ease both;cursor:default}@keyframes dcFadeIn{0%{opacity:0}to{opacity:1}}.dc-stage{--dc-size: min(55vmin, 220px);--dc-edge: calc(var(--dc-size) * .52);--dc-accent: var(--gold);display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:420px;animation:dcDrop .3s cubic-bezier(.2,.9,.3,1.4) both}@keyframes dcDrop{0%{opacity:0;transform:translateY(-40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.dc-spec{text-align:center}.dc-spec-line{display:inline-flex;align-items:baseline;gap:.5rem;padding:.4rem 1rem;border:1px solid var(--gold-dim);border-radius:999px;background:var(--panel-bg-soft);font-family:Cinzel,Georgia,serif}.dc-spec-ability{color:var(--text);font-size:1.05rem;letter-spacing:.04em}.dc-spec-sep{color:var(--text-dim);font-size:.85rem}.dc-spec-dc{color:var(--gold);font-weight:700;font-size:1.05rem}.dc-spec-budget{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.2rem .4rem;margin-top:.5rem;font-size:.85rem;font-variant-numeric:tabular-nums}.dc-budget-term{color:var(--text-dim)}.dc-budget-term--gear{color:var(--gold-dim);cursor:help}.dc-budget-op{color:var(--text-dim);opacity:.6}.dc-budget-need{margin-left:.35rem;padding:.05rem .5rem;border:1px solid var(--gold-dim);border-radius:999px;color:var(--gold-soft);white-space:nowrap}.dc-spec-actor{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.15rem .5rem;margin-top:.45rem;color:var(--text-dim);font-size:.85rem;line-height:1.5}.dc-spec-actor em{font-style:normal;color:var(--gold-soft)}.dc-spec-reason{margin-top:.55rem;color:var(--text-dim);font-size:.85rem;line-height:1.5}.dc-arena{position:relative;width:var(--dc-size);height:var(--dc-size);display:flex;align-items:center;justify-content:center}.dc-scene{width:var(--dc-size);height:var(--dc-size);perspective:calc(var(--dc-size) * 4)}.dc-die{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}.dc-face{position:absolute;left:50%;top:50%;width:var(--dc-edge);height:calc(var(--dc-edge) * .866);margin-left:calc(var(--dc-edge) * -.5);backface-visibility:hidden;transform:rotateY(var(--dc-az)) rotateX(var(--dc-el)) translateZ(calc(var(--dc-edge) * var(--dc-r)));background:linear-gradient(160deg,rgba(58,48,30,calc(.55 + var(--dc-lit) * .42)),rgba(14,12,9,calc(.72 + var(--dc-lit) * .24)));box-shadow:inset 0 0 calc(var(--dc-edge) * .16) #d4af372e}.dc-face--up{clip-path:polygon(50% 0%,0% 100%,100% 100%);transform-origin:50% 66.667%;margin-top:calc(var(--dc-edge) * -.5774)}.dc-face--down{clip-path:polygon(0% 0%,100% 0%,50% 100%);transform-origin:50% 33.333%;margin-top:calc(var(--dc-edge) * -.2887)}.dc-pip{position:absolute;left:50%;transform:translate(-50%,-50%);font-family:Cinzel,Georgia,serif;font-weight:700;font-size:calc(var(--dc-edge) * .3);line-height:1;color:rgba(240,230,210,calc(.5 + var(--dc-lit) * .5));text-shadow:0 0 calc(var(--dc-edge) * .1) rgba(212,175,55,.45);-webkit-user-select:none;user-select:none}.dc-face--up .dc-pip{top:66.667%}.dc-face--down .dc-pip{top:33.333%}.dc-shadow{position:absolute;bottom:calc(var(--dc-size) * -.04);left:50%;width:calc(var(--dc-size) * .6);height:calc(var(--dc-size) * .1);transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%);pointer-events:none}.dc-glow{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.2),transparent 62%);animation:dcPulse .9s ease-in-out infinite;pointer-events:none}@keyframes dcPulse{0%,to{opacity:.5}50%{opacity:1}}.dc-stage--success{--dc-accent: #5fbf7f}.dc-stage--fail{--dc-accent: #7f8fa6}.dc-stage--critical_success{--dc-accent: var(--gold)}.dc-stage--critical_fail{--dc-accent: var(--danger)}.dc-stage--revealed .dc-face{border:0;box-shadow:inset 0 0 calc(var(--dc-edge) * .16) #d4af372e,inset 0 0 0 1px color-mix(in srgb,var(--dc-accent) 55%,transparent)}.dc-stage--revealed .dc-arena:before{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--dc-accent) 30%,transparent),transparent 68%);animation:dcGlowIn .5s ease both;pointer-events:none}.dc-stage--fail .dc-arena:before{opacity:.35}@keyframes dcGlowIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.dc-stage--critical_success .dc-result,.dc-stage--critical_fail .dc-result{animation-duration:calc(.4s / var(--dc-speed));animation-delay:calc(.6s / var(--dc-speed))}.dc-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 44%,rgba(255,250,235,.95),rgba(255,220,140,.35) 38%,transparent 68%);animation:dcFlash calc(.55s / var(--dc-speed)) ease-out both}.dc-flash--fail{background:radial-gradient(circle at 50% 44%,rgba(255,120,90,.85),rgba(150,20,20,.42) 40%,transparent 70%);animation-delay:calc(.3s / var(--dc-speed))}@keyframes dcFlash{0%{opacity:0}6%{opacity:1}to{opacity:0}}.dc-rings{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dc-rings i{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;border:3px solid rgba(255,232,170,.9);box-shadow:0 0 22px #d4af37b3,inset 0 0 18px #d4af3773;animation:dcRing calc(1s / var(--dc-speed)) cubic-bezier(.1,.75,.3,1) both;animation-delay:calc(var(--dc-i) * .17s / var(--dc-speed))}@keyframes dcRing{0%{transform:scale(.3);opacity:0}12%{opacity:1}to{transform:scale(2.7);opacity:0}}.dc-rings--fail i{border-color:#c05555f2;box-shadow:0 0 26px #c0555599,inset 0 0 18px #78141480;animation-delay:calc((.34s + var(--dc-i) * .13s) / var(--dc-speed))}.dc-stage--critical_success .dc-face{background:linear-gradient(160deg,rgba(255,231,166,calc(.32 + var(--dc-lit) * .5)),rgba(140,96,16,calc(.55 + var(--dc-lit) * .35)));box-shadow:inset 0 0 calc(var(--dc-edge) * .3) #ffeeb9cc,inset 0 0 0 1px #fff6cde6}.dc-stage--critical_success .dc-pip{color:#fffaf0;text-shadow:0 0 calc(var(--dc-edge) * .24) rgba(255,226,140,.95)}.dc-stage--critical_success .dc-arena{animation:dcAscend calc(1.1s / var(--dc-speed)) cubic-bezier(.2,.8,.3,1) both}@keyframes dcAscend{0%{transform:translateY(0) scale(1)}18%{transform:translateY(-3px) scale(1.18)}60%{transform:translateY(-16px) scale(1.06)}to{transform:translateY(-10px) scale(1.1)}}.dc-stage--critical_success .dc-shadow{animation:dcShadowLift calc(.8s / var(--dc-speed)) ease-out both}@keyframes dcShadowLift{to{opacity:.25;transform:translate(-50%) scale(.65)}}.dc-rays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:dcRayTurn calc(16s / var(--dc-speed)) linear infinite}@keyframes dcRayTurn{to{transform:rotate(360deg)}}.dc-rays i{position:absolute;left:50%;top:50%;width:calc(var(--dc-size) * .055);height:calc(var(--dc-size) * 1.7);margin-left:calc(var(--dc-size) * -.0275);margin-top:calc(var(--dc-size) * -.85);background:linear-gradient(to bottom,transparent,rgba(255,226,150,.45) 34%,rgba(255,244,205,.75) 50%,rgba(255,226,150,.45) 66%,transparent);animation:dcRayIn calc(.8s / var(--dc-speed)) cubic-bezier(.15,.75,.3,1) both;animation-delay:calc(.06s / var(--dc-speed))}@keyframes dcRayIn{0%{transform:rotate(var(--dc-ang)) scaleY(.12);opacity:0}35%{opacity:1}to{transform:rotate(var(--dc-ang)) scaleY(1);opacity:.5}}.dc-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dc-spark{position:absolute;left:50%;top:50%;width:calc(var(--dc-size) * .045);height:calc(var(--dc-size) * .045);margin:calc(var(--dc-size) * -.0225);border-radius:50%;background:radial-gradient(circle,#fffbec,var(--gold) 60%,rgba(212,175,55,0) 100%);animation:dcSpark calc(.95s / var(--dc-speed)) cubic-bezier(.12,.75,.28,1) both;animation-delay:calc((.1s + var(--dc-i) * 12ms) / var(--dc-speed))}@keyframes dcSpark{0%{opacity:0;transform:rotate(var(--dc-ang)) translateY(0) scale(.3)}18%{opacity:1}to{opacity:0;transform:rotate(var(--dc-ang)) translateY(calc(var(--dc-size) * -.95)) scale(.8)}}.dc-motes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dc-mote{position:absolute;left:50%;top:50%;width:calc(var(--dc-size) * .022);height:calc(var(--dc-size) * .022);border-radius:50%;background:rgba(255,238,185,.95);box-shadow:0 0 8px #d4af37e6;animation:dcMote calc(2.2s / var(--dc-speed)) ease-in-out both;animation-delay:calc((.55s + var(--dc-i) * .13s) / var(--dc-speed))}@keyframes dcMote{0%{opacity:0;transform:translate(var(--dc-dx),calc(var(--dc-size) * -.42)) scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(calc(var(--dc-dx) * 1.5),calc(var(--dc-size) * .55)) scale(1)}}.dc-cracks{position:absolute;top:8%;right:8%;bottom:8%;left:8%;pointer-events:none;overflow:visible;z-index:2}.dc-cracks path{fill:none;stroke:#ff9c7a;stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(192,85,85,.9));stroke-dasharray:140;stroke-dashoffset:140;animation:dcCrack calc(.34s / var(--dc-speed)) ease-out both,dcCrackFade calc(.22s / var(--dc-speed)) ease-out calc(.34s / var(--dc-speed)) both}@keyframes dcCrack{to{stroke-dashoffset:0}}@keyframes dcCrackFade{to{opacity:0}}.dc-stage--critical_fail .dc-face{backface-visibility:visible;box-shadow:inset 0 0 calc(var(--dc-edge) * .22) #c0555580,inset 0 0 0 1px #ff8c6ebf;animation:dcShatter calc(.85s / var(--dc-speed)) cubic-bezier(.1,.65,.35,1) both;animation-delay:calc(.3s / var(--dc-speed))}@keyframes dcShatter{0%{transform:rotateY(var(--dc-az)) rotateX(var(--dc-el)) translateZ(calc(var(--dc-edge) * var(--dc-r)));opacity:1}12%{transform:rotateY(var(--dc-az)) rotateX(var(--dc-el)) translateZ(calc(var(--dc-edge) * var(--dc-r) * .8));opacity:1}70%{opacity:.85}to{transform:rotateY(var(--dc-az)) rotateX(var(--dc-el)) translateZ(calc(var(--dc-edge) * 2.6)) rotate(var(--dc-spin)) rotateX(var(--dc-tumble));opacity:0}}.dc-stage--critical_fail .dc-arena{animation:dcQuake calc(.95s / var(--dc-speed)) ease-out both;animation-delay:calc(.24s / var(--dc-speed))}@keyframes dcQuake{0%{transform:translate(0)}8%{transform:translate(-11px,1px)}17%{transform:translate(11px,-2px)}26%{transform:translate(-8px,2px)}35%{transform:translate(8px,-1px)}44%{transform:translate(-4px,1px)}53%{transform:translate(4px)}62%{transform:translate(0)}to{transform:translateY(12px)}}.dc-stage--critical_fail .dc-shadow{animation:dcShadowGone calc(.6s / var(--dc-speed)) ease-out calc(.34s / var(--dc-speed)) both}@keyframes dcShadowGone{to{opacity:0;transform:translate(-50%) scale(1.5)}}.dc-stage--critical_fail .dc-arena:before{animation-delay:calc(.34s / var(--dc-speed))}.dc-embers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dc-ember{position:absolute;left:50%;top:50%;width:calc(var(--dc-size) * .035);height:calc(var(--dc-size) * .035);margin:calc(var(--dc-size) * -.0175);border-radius:50%;background:radial-gradient(circle,#ffd7a0,#c05555 55%,rgba(60,10,10,0) 100%);animation:dcEmber calc(1.15s / var(--dc-speed)) cubic-bezier(.15,.7,.35,1) both;animation-delay:calc((.34s + var(--dc-i) * 18ms) / var(--dc-speed))}@keyframes dcEmber{0%{opacity:0;transform:rotate(var(--dc-ang)) translateY(0) scale(1.1)}12%{opacity:1}to{opacity:0;transform:rotate(var(--dc-ang)) translateY(calc(var(--dc-size) * -.85)) scale(.15)}}.dc-roll-btn{min-height:var(--touch-min);padding:.7rem 2.6rem;border:1px solid var(--gold-soft);border-radius:6px;background:linear-gradient(135deg,rgba(139,105,20,.9),rgba(212,175,55,.85));color:#1a1510;font-family:Cinzel,Georgia,serif;font-size:1.1rem;font-weight:700;letter-spacing:.25em;cursor:pointer;box-shadow:0 4px 18px #d4af3759;transition:transform .15s ease,box-shadow .15s ease;animation:dcBreathe 2.2s ease-in-out infinite}@media (hover: hover) and (pointer: fine){.dc-roll-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #d4af3780}}.dc-roll-btn:active{transform:translateY(0)}@keyframes dcBreathe{0%,to{box-shadow:0 4px 18px #d4af374d}50%{box-shadow:0 4px 26px #d4af378c}}.dc-abort-btn{min-height:var(--touch-min);margin-top:.6rem;padding:.5rem 1.4rem;border:1px solid var(--gold-dim);border-radius:6px;background:transparent;color:var(--text-dim);font-family:inherit;font-size:.85rem;cursor:pointer;transition:color .18s ease,border-color .18s ease}@media (hover: hover) and (pointer: fine){.dc-abort-btn:hover{color:var(--text);border-color:var(--gold-soft)}}.dc-abort-btn:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.dc-waiting{min-height:var(--touch-min);display:flex;align-items:center;color:var(--text-dim);font-size:.9rem;letter-spacing:.12em}.dc-result{width:100%;display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:1.1rem 1.25rem calc(1.1rem + var(--safe-bottom) * .5);border:1px solid color-mix(in srgb,var(--dc-accent) 45%,transparent);border-radius:10px;background:var(--panel-bg);animation:dcPanelIn .35s ease both}@keyframes dcPanelIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.dc-formula{display:flex;align-items:flex-end;justify-content:center;gap:.6rem;flex-wrap:wrap}.dc-term{display:flex;flex-direction:column;align-items:center;gap:.15rem}.dc-term em{font-style:normal;font-size:.7rem;letter-spacing:.08em;color:var(--text-dim)}.dc-term b{font-family:Cinzel,Georgia,serif;font-size:1.5rem;line-height:1;color:var(--text)}.dc-term--total b{font-size:2rem;color:var(--dc-accent);text-shadow:0 0 14px color-mix(in srgb,var(--dc-accent) 55%,transparent)}.dc-op{padding-bottom:.15rem;color:var(--text-dim);font-size:1.1rem}.dc-verdict{display:flex;align-items:baseline;gap:.5rem;font-family:Cinzel,Georgia,serif}.dc-verdict-dc{color:var(--text-dim);font-size:.95rem}.dc-verdict-dot{color:var(--text-dim)}.dc-verdict-text{color:var(--dc-accent);font-size:1.25rem;font-weight:700;letter-spacing:.08em}.dc-omen{max-width:22em;margin-top:-.25rem;text-align:center;font-size:.82rem;line-height:1.65;letter-spacing:.04em;color:color-mix(in srgb,var(--dc-accent) 70%,var(--text));animation:dcOmenIn calc(.5s / var(--dc-speed)) ease both;animation-delay:calc(.95s / var(--dc-speed))}@keyframes dcOmenIn{0%{opacity:0;transform:translateY(6px)}to{opacity:.88;transform:translateY(0)}}.dc-continue{width:100%;min-height:var(--touch-min);border:1px solid var(--gold-dim);border-radius:6px;background:transparent;color:var(--text);font-size:.95rem;letter-spacing:.15em;cursor:pointer;transition:background .15s ease,border-color .15s ease}@media (hover: hover) and (pointer: fine){.dc-continue:hover{background:rgba(212,175,55,.12);border-color:var(--gold-soft)}}@media (max-width: 640px){.dc-overlay{padding:1rem;padding-bottom:calc(1rem + var(--safe-bottom))}.dc-stage{gap:1rem}.dc-term b{font-size:1.3rem}.dc-term--total b{font-size:1.75rem}}@media (prefers-reduced-motion: reduce){.dc-overlay,.dc-stage,.dc-result{animation-duration:.01ms}.dc-roll-btn{animation:none}.dc-glow,.dc-rays,.dc-rays i,.dc-rings i,.dc-spark,.dc-mote,.dc-ember,.dc-cracks path,.dc-stage--critical_fail .dc-face,.dc-stage--critical_fail .dc-shadow,.dc-stage--critical_success .dc-shadow,.dc-stage--critical_fail .dc-arena,.dc-stage--critical_success .dc-arena{animation:none}.dc-flash,.dc-rays,.dc-rings,.dc-burst,.dc-motes,.dc-embers{display:none}.dc-stage--critical_success .dc-result,.dc-stage--critical_fail .dc-result{animation-delay:0s}.dc-omen{animation-delay:0s;animation-duration:.01ms}}.dc-stage--reduced .dc-roll-btn{animation:none}.dc-stage--reduced .dc-cracks path,.dc-stage--reduced .dc-shadow,.dc-stage--reduced .dc-face,.dc-stage--reduced .dc-arena{animation:none}.dc-stage--reduced .dc-result{animation-delay:0s}.dc-stage--reduced .dc-omen{animation-delay:0s;animation-duration:.01ms}.dc-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.85rem}.dc-options-unavailable{margin-top:.85rem;padding:.5rem .7rem;border-left:2px solid var(--gold-dim);border-radius:4px;background:rgba(0,0,0,.25);color:var(--text-dim);font-size:.82rem;line-height:1.5}.dc-settle-cta{margin-top:.85rem}.dc-settle-btn{display:block;width:100%;min-height:var(--touch-min);padding:.7rem 1rem;border:1px solid var(--gold);border-radius:6px;background:linear-gradient(180deg,rgba(217,164,65,.22),rgba(217,164,65,.1));color:var(--gold);font-size:.95rem;letter-spacing:.05em;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}@media (hover: hover) and (pointer: fine){.dc-settle-btn:hover:not(:disabled){background:linear-gradient(180deg,rgba(217,164,65,.34),rgba(217,164,65,.16));box-shadow:0 0 16px #d9a4414d}}.dc-settle-btn:disabled{opacity:.5;cursor:default}.dc-option{--dc-odds: var(--gold-dim);display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem .55rem;width:100%;min-height:var(--touch-min);padding:.7rem .85rem;border:1px solid var(--gold-dim);border-left:3px solid var(--dc-odds);border-radius:8px;background:var(--panel-bg-soft);color:var(--text);font-family:inherit;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}.dc-option-pick{order:2;flex:1 1 8rem;min-width:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;font-size:inherit;text-align:left;cursor:pointer}.dc-option-pick:disabled{cursor:default}.dc-option{animation:dcOptionEnter .22s ease-out backwards}.dc-option:nth-child(2){animation-delay:.05s}.dc-option:nth-child(3){animation-delay:.1s}.dc-option:nth-child(n+4){animation-delay:.15s}@keyframes dcOptionEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dc-options--frozen .dc-option{animation:none}.dc-option--good{--dc-odds: #6b9e78}.dc-option--even{--dc-odds: var(--gold)}.dc-option--slim{--dc-odds: var(--danger)}@media (hover: hover) and (pointer: fine){.dc-option:hover:not(.dc-option--disabled){border-color:var(--gold-soft);border-left-color:var(--dc-odds);background:var(--panel-bg);transform:translate(2px)}}.dc-option-pick:focus-visible,.dc-option-actor:focus-visible,.dc-actor-row:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.dc-option:active:not(.dc-option--disabled){transform:translate(2px) scale(.995)}.dc-option--disabled{cursor:default;opacity:.45;filter:saturate(.5)}.dc-option-text{display:block;font-size:.95rem;line-height:1.45;letter-spacing:.02em}.dc-option-badge{order:3;flex:0 0 auto;padding:.08rem .45rem;border:1px solid var(--gold-dim);border-radius:4px;background:rgba(212,175,55,.08);font-size:.72rem;line-height:1.6;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap}.dc-option-actor{order:1;flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .4rem .12rem .15rem;border:1px solid var(--gold-soft);border-radius:999px;background:rgba(212,175,55,.1);color:var(--gold);font-family:inherit;font-size:.75rem;line-height:1.5;cursor:pointer;transition:border-color .18s ease,background .18s ease}.dc-option-actor--open{border-color:var(--gold);background:rgba(212,175,55,.22)}@media (hover: hover) and (pointer: fine){.dc-option-actor:hover:not(:disabled){border-color:var(--gold);background:rgba(212,175,55,.22)}}.dc-option-actor:disabled{cursor:default}.dc-option-actor-name{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-option-actor-caret{font-size:.62rem;opacity:.8}.dc-actor-face{flex:0 0 auto;width:1.15rem;height:1.15rem;border-radius:50%;object-fit:cover;background:rgba(0,0,0,.5)}.dc-actor-face--blank{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold-soft);font-size:.62rem;line-height:1;color:var(--gold-soft)}.dc-option-actors{order:5;flex:0 0 100%;display:flex;flex-direction:column;gap:.2rem;margin-top:.15rem;padding-top:.45rem;border-top:1px dashed var(--gold-dim)}.dc-actor-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.3rem .4rem;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);font-family:inherit;font-size:.78rem;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}@media (hover: hover) and (pointer: fine){.dc-actor-row:hover:not(:disabled){border-color:var(--gold-dim);background:rgba(212,175,55,.07)}}.dc-actor-row--on{border-color:var(--gold-soft);background:rgba(212,175,55,.1)}.dc-actor-row:disabled{cursor:default;opacity:.4}.dc-actor-row-main{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.dc-actor-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-actor-row-meta{font-size:.7rem;color:var(--text-dim)}.dc-actor-row-mod{flex:0 0 auto;font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-dim)}.dc-actor-row-mod--good{color:#6b9e78}.dc-actor-row-mod--even{color:var(--gold)}.dc-actor-row-mod--slim{color:var(--danger)}@media (max-width: 640px){.dc-option{padding:.6rem .7rem}.dc-option-text{font-size:.9rem}.dc-option-badge,.dc-option-clue-badge{order:1}.dc-option-pick{flex:1 1 100%}}@media (prefers-reduced-motion: reduce){.dc-option{transition:none;animation:none}.dc-option:hover:not(.dc-option--disabled),.dc-option:active:not(.dc-option--disabled){transform:none}}.dc-options--compact{display:flex;flex-direction:column;gap:6px;margin-top:0}.dc-option--compact{display:block;min-height:0;padding:0;overflow:hidden}.dc-option--compact .dc-option-row{display:flex;align-items:stretch;min-height:var(--touch-min)}.dc-option--compact .dc-option-face{order:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:var(--touch-min);min-height:var(--touch-min);padding:0;border:0;border-right:1px solid var(--gold-dim);background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.dc-option--compact .dc-option-face .dc-actor-face{width:1.8rem;height:1.8rem}.dc-option--compact .dc-option-face--open{background:rgba(212,175,55,.14)}.dc-option--compact .dc-option-face:disabled{cursor:default;opacity:.45}.dc-option--compact .dc-option-pick{order:0;flex:1 1 auto;display:flex;align-items:center;gap:.5rem;min-width:0;padding:.6rem .7rem;text-align:left}.dc-option--compact .dc-option-text{order:0;flex:1 1 auto;min-width:0;font-size:.92rem;line-height:1.4;text-align:left}.dc-option--compact .dc-option-clue-mark{flex:0 0 auto;color:var(--gold)}.dc-option--compact .dc-option-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;padding:0 .7rem .55rem}.dc-option--compact .dc-option-meta>*{order:0;flex:0 0 auto}.dc-option--compact .dc-option-clue-hint{flex:0 0 100%}.dc-option--compact .dc-option-detail{display:flex;flex-direction:column;padding:.1rem .7rem .6rem;border-top:1px dashed var(--gold-dim);background:rgba(0,0,0,.25)}.dc-option--compact .dc-option-actors{order:0;margin-top:0;padding-top:.4rem}.dc-option--compact .dc-actor-row{min-height:var(--touch-min);padding:.35rem .45rem}.dc-lab{max-width:780px;margin:0 auto;padding:2rem 1.25rem calc(3rem + var(--safe-bottom));color:var(--text);font-size:.92rem}.dc-lab-head h1{margin:0 0 .5rem;font-family:Cinzel,Georgia,serif;font-size:1.6rem;color:var(--gold)}.dc-lab-head p{margin:0 0 .5rem;color:var(--text-dim);line-height:1.7}.dc-lab code{padding:.1em .35em;border-radius:3px;background:rgba(212,175,55,.12);color:var(--gold);font-size:.9em}.dc-lab-note{padding:.6rem .9rem;border-left:3px solid var(--danger);background:rgba(192,85,85,.1);color:var(--text)!important}.dc-lab-panel{margin-top:1.5rem;padding:1.1rem 1.25rem;border:1px solid var(--gold-dim);border-radius:10px;background:var(--panel-bg-soft)}.dc-lab-panel h2{margin:0 0 .9rem;font-family:Cinzel,Georgia,serif;font-size:1.05rem;color:var(--gold)}.dc-lab-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem}.dc-lab-row:last-child{margin-bottom:0}.dc-lab-row>label{min-width:7.5rem;color:var(--text-dim)}.dc-lab-row--btns>.dc-lab-btn{flex:1 1 auto}.dc-lab-btn{min-height:var(--touch-min);padding:0 1rem;border:1px solid var(--gold-dim);border-radius:6px;background:transparent;color:var(--text);font-size:.9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}@media (hover: hover) and (pointer: fine){.dc-lab-btn:hover{background:rgba(212,175,55,.12);border-color:var(--gold-soft)}}.dc-lab-btn--primary{border-color:var(--gold-soft);background:rgba(212,175,55,.18);color:var(--gold);font-weight:700}.dc-lab-num,.dc-lab-text,.dc-lab-select{min-height:var(--touch-min);padding:0 .6rem;border:1px solid var(--gold-dim);border-radius:6px;background:rgba(0,0,0,.4);color:var(--text);font-size:.9rem}.dc-lab-num{width:5rem}.dc-lab-text{flex:1 1 8rem;min-width:0}.dc-lab-range{flex:1 1 8rem;min-width:0;accent-color:var(--gold)}.dc-lab-out{min-width:4rem;text-align:right;font-family:Cinzel,Georgia,serif;color:var(--gold)}.dc-lab-hint{margin:.6rem 0 0;color:var(--text-dim);font-size:.82rem;line-height:1.6}.dc-lab-foot{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gold-dim);color:var(--text-dim);font-family:Cinzel,Georgia,serif}.dc-lab-probe{display:flex;align-items:center;gap:1.25rem;margin-top:.9rem}.dc-lab-probe-ctl{flex:1;min-width:0}.dc-probe{--dc-size: 150px;flex:0 0 auto;width:150px;animation:none}@media (max-width: 640px){.dc-lab{padding:1.25rem 1rem calc(2.5rem + var(--safe-bottom))}.dc-lab-row>label{min-width:100%}.dc-lab-probe{flex-direction:column;align-items:stretch}.dc-probe{align-self:center}}.clue-mark{position:relative;display:inline;padding:0 .1em;border-radius:3px;font-weight:600;line-height:inherit}.clue-mark-icon{font-size:.85em;margin-right:.15em;vertical-align:baseline}.clue-mark[data-state=live]{color:var(--gold);background:rgba(212,175,55,.1);box-shadow:inset 0 0 0 1px var(--gold-dim);cursor:pointer;animation:clueMarkIn .6s ease both}@media (hover: hover) and (pointer: fine){.clue-mark[data-state=live]:hover{background:rgba(212,175,55,.2);box-shadow:inset 0 0 0 1px var(--gold-soft)}}.clue-mark[data-state=live]:after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:var(--touch-min);transform:translateY(-50%)}.clue-mark[data-state=live]:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.clue-mark[data-pending=true]{opacity:.6;cursor:progress}.clue-mark[data-state=claimed]{color:#1a1408;background:var(--gold);box-shadow:none;cursor:default}.clue-mark[data-state=expired]{color:var(--text-dim);background:transparent;box-shadow:none;text-decoration:line-through;text-decoration-color:#f0e6d259;opacity:.7;cursor:default}.clue-mark[data-state=expired] .clue-mark-icon{filter:grayscale(1);opacity:.6}@keyframes clueMarkIn{0%{background:rgba(212,175,55,.45)}to{background:rgba(212,175,55,.1)}}@media (prefers-reduced-motion: reduce){.clue-mark[data-state=live]{animation:none}}.clue-card-face{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 50% 38%,#2a2213 0%,#0d0b07 74%);color:var(--gold);text-align:center;pointer-events:none;overflow:hidden}.clue-card-face[data-variant=flip]{justify-content:flex-start;gap:.55rem;padding:20% 13% 14%}.clue-card-face[data-variant=deck]{justify-content:center;gap:.35rem;padding:16% 11%}.clue-card-seal{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold-dim);border-radius:50%;background:rgba(212,175,55,.1);color:var(--gold)}.clue-card-face[data-variant=flip] .clue-card-seal{width:46px;height:46px}.clue-card-face[data-variant=deck] .clue-card-seal{width:26px;height:26px}.clue-card-title{font-family:Cinzel,Georgia,serif;line-height:1.45;letter-spacing:.04em;color:var(--text);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clue-card-face[data-variant=flip] .clue-card-title{font-size:1.15rem;font-weight:600;-webkit-line-clamp:3}.clue-card-face[data-variant=flip] .clue-card-body{font-size:.92rem;-webkit-line-clamp:8}.clue-card-face[data-variant=deck] .clue-card-title{font-size:.72rem;-webkit-line-clamp:3}.clue-card-rule{flex:0 0 auto;width:42%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.clue-card-body{margin:0;font-size:.74rem;line-height:1.75;letter-spacing:.02em;color:var(--text-dim);text-align:left;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.clue-card-face[data-used=true]{filter:grayscale(.45) brightness(.82)}.clue-card-used{position:absolute;left:0;right:0;bottom:0;padding:.12rem 0;background:rgba(0,0,0,.62);font-size:.6rem;letter-spacing:.08em;color:var(--text-dim)}.details-header--clue{align-items:center}.details-clue-icon{flex:0 0 auto;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold-dim);border-radius:8px;background:rgba(212,175,55,.08);color:var(--gold)}.details-clue-meta{display:flex;align-items:baseline;gap:.5rem;margin-top:.3rem}.details-clue-importance{padding:.08rem .45rem;border:1px solid var(--gold-dim);border-radius:4px;font-size:.72rem;letter-spacing:.06em;color:var(--text-dim)}.details-clue-importance[data-importance=high]{color:var(--gold);border-color:var(--gold-soft)}.details-clue-importance[data-importance=critical]{color:#1a1408;border-color:var(--gold);background:var(--gold);font-weight:700}.details-clue-time{font-size:.72rem;letter-spacing:.04em;color:var(--text-dim);font-variant-numeric:tabular-nums}.details-clue-used{padding:.08rem .45rem;border:1px dashed rgba(240,230,210,.28);border-radius:4px;font-size:.72rem;letter-spacing:.06em;color:var(--text-dim)}.details-clue-body{padding:.75rem .85rem;border-left:2px solid var(--gold-dim);background:rgba(0,0,0,.25);font-size:.88rem;line-height:1.85;letter-spacing:.02em;color:var(--text);white-space:pre-wrap}.dc-verdict-dc--clue{display:inline-flex;align-items:baseline;gap:.25rem;font-variant-numeric:tabular-nums}.dc-verdict-dc--clue b{color:var(--gold);font-weight:700}.dc-verdict-relief{padding:0 .3rem;border-radius:3px;background:rgba(212,175,55,.14);font-size:.72rem;font-style:normal;letter-spacing:.04em;color:var(--gold)}.dc-option--clue{border-color:var(--gold-soft);box-shadow:0 0 0 1px #d4af371f,0 0 12px #d4af371a}@media (hover: hover) and (pointer: fine){.dc-option--clue:hover:not(.dc-option--disabled){border-color:var(--gold)}}.dc-option-clue-badge{order:3;flex:0 0 auto;display:inline-flex;align-items:center;gap:.22rem;padding:.08rem .45rem;border:1px solid var(--gold-soft);border-radius:4px;background:rgba(212,175,55,.14);font-size:.72rem;line-height:1.6;letter-spacing:.04em;color:var(--gold);white-space:nowrap}.dc-option-clue-hint{order:4;flex:0 0 100%;display:flex;align-items:center;gap:.3rem;font-size:.75rem;line-height:1.6;letter-spacing:.03em;color:var(--gold-soft)}.dc-clue-toggle{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .5rem;max-width:22rem;margin:0 auto .9rem;padding:.6rem .85rem;border:1px solid var(--gold-dim);border-radius:8px;background:rgba(212,175,55,.07);cursor:pointer;-webkit-user-select:none;user-select:none}@media (hover: hover) and (pointer: fine){.dc-clue-toggle:hover{border-color:var(--gold-soft);background:rgba(212,175,55,.12)}}.dc-clue-toggle input{width:15px;height:15px;margin:0;accent-color:var(--gold);cursor:pointer}.dc-clue-toggle-text{font-size:.85rem;line-height:1.5;color:var(--text)}.dc-clue-toggle-text em{margin-left:.4rem;padding:.05rem .35rem;border-radius:3px;background:rgba(212,175,55,.18);font-size:.75rem;font-style:normal;letter-spacing:.04em;color:var(--gold)}.dc-clue-toggle-note{grid-column:2;font-size:.72rem;line-height:1.5;color:var(--text-dim)}.dc-spec-dc--relieved{color:var(--gold);font-weight:700}.shell{min-height:100dvh;color:var(--text)}.lobby{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(var(--touch-min) + 18px + var(--safe-bottom))}.lobby--campaigns,.lobby--camp,.lobby--runs{background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:scroll}.lobby--campaigns{background-image:linear-gradient(to bottom,rgba(10,8,6,.72) 0%,rgba(10,8,6,.86) 55%,rgba(10,8,6,.94) 100%),url(/images/backgrounds/campaigns-mobile.webp)}.lobby--camp{background-image:linear-gradient(to bottom,rgba(10,8,6,.72) 0%,rgba(10,8,6,.86) 55%,rgba(10,8,6,.94) 100%),url(/images/backgrounds/camp-mobile.webp)}.lobby--runs{background-image:linear-gradient(to bottom,rgba(10,8,6,.72) 0%,rgba(10,8,6,.86) 55%,rgba(10,8,6,.94) 100%),url(/images/backgrounds/runs-mobile.webp)}.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 8px}.lobby-brand{font-family:var(--font-display);font-size:20px;letter-spacing:1px;color:var(--gold);margin:0}.lobby-body{flex:1;padding:4px 12px 20px}.lobby-tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:rgba(10,10,10,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gold-dim);padding-bottom:var(--safe-bottom)}.lobby-tab{flex:1;min-height:var(--touch-min);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;border:none;background:transparent;color:var(--text-dim);font-size:12px;cursor:pointer;transition:color .18s ease}.lobby-tab.is-active{color:var(--gold)}.lobby-tab-icon{display:flex;align-items:center;line-height:1}.lobby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.lobby-lede{margin:10px 2px 4px}.lobby-lede-title{font-family:var(--font-display);margin:0 0 6px;font-size:19px;font-weight:700;letter-spacing:1px;color:var(--gold)}.lobby-lede-text{margin:0;font-size:13px;line-height:1.75;color:var(--text-dim)}.lobby-section-title{margin:18px 0 10px;font-size:14px;letter-spacing:2px;color:var(--gold-soft);text-transform:uppercase}.lobby-section-title:first-child{margin-top:6px}.lobby-empty{padding:28px 16px;text-align:center;color:var(--text-dim);font-size:14px;border:1px dashed var(--gold-dim);border-radius:10px}.lobby-error{margin:12px 0;padding:12px 14px;border:1px solid var(--danger);border-radius:8px;background:rgba(192,85,85,.12);color:#f0c8c8;font-size:14px}.lobby-loading{padding:40px 0;text-align:center;color:var(--text-dim)}.lobby-btn{min-height:var(--touch-min);padding:10px 18px;border-radius:8px;border:1px solid var(--gold-dim);background:var(--panel-bg-soft);color:var(--text);font-size:14px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.lobby-btn:disabled{opacity:.45;cursor:not-allowed}.lobby-btn.is-primary{border-color:var(--gold);background:linear-gradient(135deg,rgba(212,175,55,.9),rgba(160,128,36,.9));color:#1a1408;font-weight:700}.lobby-btn.is-danger{border-color:var(--danger);color:#f0c8c8}.lobby-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.campaign-card{display:flex;flex-direction:column;border:1px solid var(--gold-dim);border-radius:12px;overflow:hidden;background:var(--panel-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;text-align:left;padding:0;color:inherit;font:inherit;transition:transform .18s ease,border-color .18s ease}.campaign-cover{position:relative;aspect-ratio:3 / 2;display:flex;align-items:flex-end;padding:10px;background:var(--cover-gradient, linear-gradient(135deg, #2c2416, #0f0d08))}.campaign-cover-title{font-family:var(--font-display);font-size:16px;font-weight:700;line-height:1.25;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.85)}.campaign-badge{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:10px;font-size:11px;background:rgba(0,0,0,.6);border:1px solid var(--gold-dim);color:var(--gold)}.campaign-sticker{position:absolute;top:12px;left:-6px;padding:4px 14px 4px 12px;font-size:14px;font-weight:700;letter-spacing:.1em;color:#1a1000;background:linear-gradient(135deg,#f0d060,#d4af37);border-radius:2px 4px 4px 0;box-shadow:0 2px 8px #d4af3766;animation:sticker-shimmer 3s ease-in-out infinite;z-index:1}.campaign-sticker:after{content:"";position:absolute;left:0;bottom:-5px;border-style:solid;border-width:5px 0 0 6px;border-color:#8a7020 transparent transparent transparent}@keyframes sticker-shimmer{0%,to{box-shadow:0 2px 8px #d4af3766}50%{box-shadow:0 2px 14px #f0d060b3}}.campaign-body{padding:10px;display:flex;flex-direction:column;gap:6px}.campaign-hook{font-size:13px;line-height:1.45;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.campaign-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--text-dim)}.campaign-meta span{padding:2px 7px;border:1px solid var(--gold-dim);border-radius:10px}.roster-card{position:relative;border:1px solid var(--gold-dim);border-radius:12px;overflow:hidden;background:var(--panel-bg);cursor:pointer;text-align:left;padding:0;color:inherit;font:inherit;transition:transform .18s ease,border-color .18s ease}.roster-card.is-selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-dim)}.roster-portrait{aspect-ratio:3 / 4;width:100%;object-fit:cover;display:block;background:#14100a}.roster-body{padding:8px 10px 10px}.roster-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px}.roster-sub{font-size:12px;color:var(--text-dim)}.roster-attrs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px;font-size:11px;color:var(--text-dim)}.roster-attrs b{color:var(--gold);font-weight:600}.roster-hp{position:relative;height:5px;margin-top:7px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}.roster-hp i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#7d2b2b,#c0392b);transition:width .3s ease}.roster-card[data-status=injured] .roster-hp i{background:linear-gradient(90deg,#5a2020,#8c3a2a)}.roster-hp-num{margin-top:4px;font-size:11px;color:var(--text-dim)}.roster-badge{position:absolute;top:6px;right:6px;padding:2px 7px;border-radius:9px;font-size:11px;font-weight:600;letter-spacing:.04em;background:rgba(20,8,8,.85);border:1px solid #8c3a2a;color:#e08b7a;pointer-events:none}.run-row{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--gold-dim);border-radius:10px;background:var(--panel-bg);margin-bottom:10px}.run-title{font-size:15px;font-weight:700;color:var(--text)}.run-meta{font-size:12px;color:var(--text-dim);line-height:1.6}.run-actions{display:flex;flex-wrap:wrap;gap:8px}.run-actions .lobby-btn{flex:1;min-width:90px;padding:8px 12px}.chapter-review{margin-top:10px;padding-top:10px;border-top:1px dashed var(--gold-dim)}.chapter-entry{padding:8px 0;border-bottom:1px dashed rgba(212,175,55,.15)}.chapter-entry:last-child{border-bottom:none}.chapter-entry-title{font-size:13px;color:var(--gold);margin-bottom:3px}.chapter-entry-summary{font-size:12px;color:var(--text-dim);line-height:1.5;white-space:pre-wrap}.builder{border:1px solid var(--gold-dim);border-radius:12px;background:var(--panel-bg);padding:14px}.builder-field{margin-bottom:14px}.builder-label{display:block;font-size:13px;color:var(--gold-soft);margin-bottom:6px}.builder-input,.builder-select,.builder-textarea{width:100%;min-height:var(--touch-min);padding:10px 12px;border-radius:8px;border:1px solid var(--gold-dim);background:rgba(0,0,0,.5);color:var(--text);font-size:15px}.builder-textarea{min-height:72px;resize:vertical;font-family:inherit}.builder-chips{display:flex;flex-wrap:wrap;gap:8px}.builder-chip{min-height:var(--touch-min);padding:8px 14px;border-radius:20px;border:1px solid var(--gold-dim);background:rgba(0,0,0,.4);color:var(--text-dim);font-size:13px;cursor:pointer}.builder-chip.is-active{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.12)}.builder-attr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0}.builder-attr-name{flex:1;font-size:14px}.builder-attr-value{min-width:32px;text-align:center;font-size:16px;font-weight:700;color:var(--gold)}.builder-step{width:var(--touch-min);height:var(--touch-min);border-radius:50%;border:1px solid var(--gold-dim);background:rgba(0,0,0,.5);color:var(--text);font-size:20px;line-height:1;cursor:pointer}.builder-step:disabled{opacity:.35;cursor:not-allowed}.builder-points{font-size:13px;color:var(--text-dim);margin-bottom:8px}.builder-points b{color:var(--gold);font-size:15px}.prep{min-height:100dvh;padding:12px 12px calc(var(--touch-min) + 28px + var(--safe-bottom))}.prep-back{min-height:var(--touch-min);padding:8px 4px;border:none;background:transparent;color:var(--gold);font-size:15px;cursor:pointer}.prep-cover{border-radius:12px;padding:20px 16px;margin-bottom:14px;min-height:190px;background:var(--cover-gradient, linear-gradient(135deg, #2c2416, #0f0d08));border:1px solid var(--gold-dim)}.prep-title{font-family:var(--font-display);font-size:22px;margin:0 0 8px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8)}.prep-hook{font-size:14px;line-height:1.6;color:#ffffffe0}.prep-detail{margin-top:10px;font-size:13px;line-height:1.7;color:#ffffffbf}.prep-launch-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 12px calc(10px + var(--safe-bottom));background:rgba(10,10,10,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gold-dim)}.prep-launch-bar .lobby-btn{width:100%}.prep-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.lobby-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.75)}.lobby-modal{width:100%;max-width:420px;padding:18px;border-radius:12px;border:1px solid var(--gold-dim);background:#121016}.lobby-modal-title{font-size:16px;color:var(--gold);margin:0 0 10px}.lobby-modal-text{font-size:14px;line-height:1.6;color:var(--text-dim);margin-bottom:16px}.lobby-modal-actions{display:flex;gap:8px}.lobby-modal-actions .lobby-btn{flex:1}.contact-intro{margin:10px 0 22px;text-align:center;color:var(--text-dim);font-size:14px;line-height:1.9}.contact-codes{display:grid;grid-template-columns:1fr;gap:20px;justify-items:center}.contact-card{margin:0;width:100%;max-width:260px;text-align:center}.contact-qr{display:block;width:100%;aspect-ratio:1 / 1;border-radius:10px;border:1px solid var(--gold-dim);background:#fff;padding:10px;box-sizing:border-box}.contact-label{margin-top:10px;color:var(--gold-soft);font-size:14px;letter-spacing:1px}.contact-note{margin-top:4px;color:var(--text-dim);font-size:12px;opacity:.75;line-height:1.6}@media (min-width: 641px){.lobby{padding-bottom:24px}.lobby--campaigns,.lobby--camp,.lobby--runs{background-position:center;background-attachment:fixed}.lobby--campaigns{background-image:linear-gradient(to bottom,rgba(10,8,6,.7) 0%,rgba(10,8,6,.84) 55%,rgba(10,8,6,.92) 100%),url(/images/backgrounds/campaigns-desktop.webp)}.lobby--camp{background-image:linear-gradient(to bottom,rgba(10,8,6,.7) 0%,rgba(10,8,6,.84) 55%,rgba(10,8,6,.92) 100%),url(/images/backgrounds/camp-desktop.webp)}.lobby--runs{background-image:linear-gradient(to bottom,rgba(10,8,6,.7) 0%,rgba(10,8,6,.84) 55%,rgba(10,8,6,.92) 100%),url(/images/backgrounds/runs-desktop.webp)}.lobby-tabs{position:sticky;top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--gold-dim);padding-bottom:0;justify-content:center;gap:8px}.lobby-tab{flex:0 0 auto;flex-direction:row;gap:8px;padding:12px 22px;font-size:14px}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.lobby-body{padding:8px 20px 28px;max-width:1200px;margin:0 auto;width:100%}.lobby-brand{font-size:24px}.run-row{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.run-actions{flex:0 0 auto}.chapter-review{flex:0 0 100%}.prep{max-width:900px;margin:0 auto;padding:16px 20px 120px}.prep-launch-bar{padding:14px 20px calc(14px + var(--safe-bottom))}.prep-launch-bar .lobby-btn{max-width:420px;margin:0 auto;display:block}.contact-codes{grid-template-columns:repeat(2,minmax(0,240px));justify-content:center;gap:32px}.contact-intro{margin:18px 0 28px;font-size:15px}.lobby-lede{margin:16px 2px 8px}.lobby-lede-title{font-size:24px}.lobby-lede-text{font-size:14px}}@media (min-width: 1025px){.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.prep-roster{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (hover: hover) and (pointer: fine){.campaign-card:hover,.roster-card:hover{transform:translateY(-3px);border-color:var(--gold)}.lobby-tab:hover{color:var(--gold)}.lobby-btn:hover:not(:disabled){border-color:var(--gold);background:rgba(212,175,55,.14)}.lobby-btn.is-primary:hover:not(:disabled){background:linear-gradient(135deg,#e6c34a,#b8942a)}.builder-chip:hover{border-color:var(--gold-soft)}}.cb-wizard{--_pad: 12px;--_radius: 0;--_border: 1.5px solid var(--gold-dim);--_card-bg: rgba(15, 10, 5, .6);--_section-bg: rgba(20, 14, 6, .5);position:relative;border:none;border-radius:var(--_radius);background:linear-gradient(168deg,rgba(35,25,10,.85) 0%,rgba(12,8,4,.92) 100%);padding:var(--_pad);max-width:100%;margin:0 auto;box-shadow:none}.cb-wizard:before,.cb-wizard:after{content:"";position:absolute;width:20px;height:20px;border-color:var(--gold-dim);pointer-events:none;display:none}.cb-wizard:before{top:6px;left:6px;border-top:1.5px solid;border-left:1.5px solid}.cb-wizard:after{top:6px;right:6px;border-top:1.5px solid;border-right:1.5px solid}@media (min-width: 641px){.cb-wizard:before,.cb-wizard:after{display:block}}.cb-steps{display:flex;align-items:flex-start;justify-content:center;gap:4px;margin-bottom:8px;padding:0 8px}.cb-step-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:36px}.cb-step-dot{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(212,175,55,.2);background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.cb-step-label{font-size:10px;color:#f0e6d24d;transition:color .3s;white-space:nowrap}.cb-step-item.is-done .cb-step-dot{border-color:var(--gold-soft);color:var(--gold);background:rgba(212,175,55,.08)}.cb-step-item.is-done .cb-step-label{color:var(--gold-soft)}.cb-step-item.is-current .cb-step-dot{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.18);box-shadow:0 0 12px #d4af3740;transform:scale(1.1)}.cb-step-item.is-current .cb-step-label{color:var(--gold);font-weight:600}.cb-step-line{width:12px;height:1px;background:rgba(212,175,55,.15);margin-top:15px;flex-shrink:0}.cb-section-header{margin-bottom:6px;text-align:center}.cb-step-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gold);letter-spacing:2px;margin:0 0 4px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.cb-step-subtitle{font-size:13px;color:var(--text-dim);margin:0 0 8px}.cb-ornament{width:60px;height:2px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--gold-dim),var(--gold-soft),var(--gold-dim),transparent);border-radius:1px}.cb-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cb-card{border:1.5px solid rgba(212,175,55,.15);border-radius:10px;background:var(--_card-bg);padding:14px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.cb-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 0%,rgba(212,175,55,.06) 0%,transparent 70%);opacity:0;transition:opacity .3s}.cb-card:hover:before{opacity:1}.cb-card:active{transform:scale(.97)}.cb-card.is-selected{border-color:var(--gold);background:rgba(212,175,55,.08);box-shadow:0 0 16px #d4af371f,inset 0 0 20px #d4af370a}.cb-card.is-selected:before{opacity:1}.cb-card-name{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px;letter-spacing:.5px}.cb-card.is-selected .cb-card-name{color:var(--gold)}.cb-card-desc{font-size:12px;color:var(--text-dim);line-height:1.5}.cb-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.cb-card-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:rgba(212,175,55,.08);color:var(--gold-soft);border:1px solid rgba(212,175,55,.15)}.cb-card-tag.is-highlight{background:rgba(212,175,55,.15);color:var(--gold);border-color:#d4af3759}.cb-card-detail{margin-top:10px;padding-top:10px;border-top:1px solid rgba(212,175,55,.15);font-size:12px;color:var(--text-dim);line-height:1.5}.cb-card-detail dt{color:var(--gold-soft);font-weight:600;margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.cb-card-detail dd{margin:2px 0 0}.cb-flex-picker{margin-top:12px;padding:12px;border:1px solid var(--gold-dim);border-radius:10px;background:var(--_section-bg)}.cb-flex-picker-label{font-size:12px;color:var(--gold-soft);margin-bottom:8px}.cb-flex-chips{display:flex;flex-wrap:wrap;gap:6px}.cb-flex-chip{min-height:38px;padding:6px 14px;border-radius:18px;border:1px solid rgba(212,175,55,.2);background:rgba(0,0,0,.4);color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .2s}.cb-flex-chip.is-active{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.12);box-shadow:0 0 8px #d4af3726}.cb-attr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:10px 14px;border-radius:10px;background:var(--_section-bg);border:1px solid rgba(212,175,55,.1)}.cb-attr-remaining{font-size:15px;color:var(--text-dim)}.cb-attr-remaining b{color:var(--gold);font-size:20px;font-family:var(--font-display)}.cb-attr-remaining.is-over b{color:var(--danger)}.cb-attr-remaining.is-exact b{color:#5ab55a}.cb-attr-actions{display:flex;gap:6px}.cb-attr-btn{padding:6px 12px;border-radius:6px;border:1px solid rgba(212,175,55,.25);background:rgba(212,175,55,.06);color:var(--text-dim);font-size:12px;cursor:pointer;transition:all .2s}.cb-attr-btn:hover{border-color:var(--gold-soft);color:var(--gold-soft)}.cb-attr-btn:active{transform:scale(.96)}.cb-attr-row{display:flex;align-items:center;gap:8px;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.04);transition:background .2s}.cb-attr-row.is-recommended{background:rgba(212,175,55,.06);border-radius:8px;margin:2px -8px;padding:10px 16px;border-bottom:none}.cb-attr-name{width:72px;font-size:14px;color:var(--text);flex-shrink:0}.cb-attr-name small{color:var(--text-dim);font-size:11px;font-family:monospace}.cb-attr-stepper{width:36px;height:36px;border-radius:50%;border:1px solid rgba(212,175,55,.25);background:rgba(0,0,0,.5);color:var(--text);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.cb-attr-stepper:not(:disabled):hover{border-color:var(--gold-soft);background:rgba(212,175,55,.1)}.cb-attr-stepper:disabled{opacity:.2;cursor:not-allowed}.cb-attr-base{min-width:32px;text-align:center;font-size:18px;font-weight:700;color:var(--text);font-family:var(--font-display)}.cb-attr-racial{min-width:32px;text-align:center;font-size:12px;color:var(--gold);font-weight:600}.cb-attr-final{min-width:36px;text-align:center;font-size:20px;font-weight:700;color:var(--gold);font-family:var(--font-display)}.cb-attr-result{display:flex;align-items:center;gap:4px;position:relative;cursor:pointer;padding:2px 4px;border-radius:6px;transition:background .15s}.cb-attr-result:hover{background:rgba(212,175,55,.08)}.cb-attr-mod-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:28px;padding:0 6px;border-radius:6px;font-size:15px;font-weight:700;font-family:var(--font-display);letter-spacing:.5px;border:1px solid}.cb-attr-mod-badge.is-positive{color:#5ab55a;border-color:#5ab55a4d;background:rgba(90,181,90,.08)}.cb-attr-mod-badge.is-negative{color:var(--danger);border-color:#c055554d;background:rgba(192,85,85,.08)}.cb-attr-tooltip{position:absolute;bottom:calc(100% + 8px);right:-8px;width:200px;padding:12px;border-radius:10px;border:1px solid var(--gold-dim);background:rgba(20,14,6,.96);box-shadow:0 8px 24px #0009;z-index:20;pointer-events:none;animation:cbTipIn .15s ease-out}@keyframes cbTipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cb-attr-tooltip:after{content:"";position:absolute;bottom:-5px;right:24px;width:10px;height:10px;background:rgba(20,14,6,.96);border-right:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim);transform:rotate(45deg)}.cb-attr-tooltip-title{font-family:var(--font-display);font-size:13px;color:var(--gold);margin-bottom:8px;letter-spacing:1px}.cb-attr-tooltip-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);padding:2px 0}.cb-attr-tooltip-row.is-bonus{color:var(--gold)}.cb-attr-tooltip-row.is-total{color:var(--text);font-weight:600}.cb-attr-tooltip-hint{font-size:11px;color:#f0e6d266;font-style:italic;margin-top:2px}.cb-attr-tooltip-divider{height:1px;background:rgba(212,175,55,.15);margin:4px 0}.cb-field{margin-bottom:16px}.cb-label{display:block;font-size:12px;color:var(--gold-soft);margin-bottom:6px;letter-spacing:1px;text-transform:uppercase}.cb-input{width:100%;min-height:var(--touch-min);padding:10px 14px;border-radius:8px;border:1px solid rgba(212,175,55,.2);background:rgba(0,0,0,.45);color:var(--text);font-size:15px;transition:border-color .2s}.cb-input:focus{border-color:var(--gold-soft);outline:none}.cb-textarea{width:100%;min-height:80px;padding:10px 14px;border-radius:8px;border:1px solid rgba(212,175,55,.2);background:rgba(0,0,0,.45);color:var(--text);font-size:14px;resize:vertical;font-family:inherit;line-height:1.6;transition:border-color .2s}.cb-textarea:focus{border-color:var(--gold-soft);outline:none}.cb-textarea-row{position:relative}.cb-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cb-label-row .cb-label{margin-bottom:0}.cb-label-actions{display:flex;align-items:center;gap:8px}.cb-restore-link{background:none;border:none;color:var(--gold-dim);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.cb-restore-link:hover{color:var(--gold)}.cb-ai-inline{padding:3px 10px;border-radius:12px;border:1px solid var(--gold-dim);background:rgba(212,175,55,.06);color:var(--gold-soft);font-size:12px;cursor:pointer;transition:all .2s}.cb-ai-inline:not(:disabled):hover{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.12)}.cb-ai-inline:disabled{opacity:.5;cursor:not-allowed}.cb-gender-chips{display:flex;gap:8px}.cb-gender-chip{min-height:var(--touch-min);padding:8px 20px;border-radius:20px;border:1px solid rgba(212,175,55,.2);background:rgba(0,0,0,.4);color:var(--text-dim);font-size:13px;cursor:pointer;transition:all .2s}.cb-gender-chip.is-active{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.12)}.cb-portrait{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0}.cb-portrait-scene{perspective:1000px;height:min(58vh,480px);aspect-ratio:9 / 16}.cb-portrait-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.4,0,.2,1);border-radius:14px}.cb-portrait-card.is-flipped{transform:rotateY(180deg)}.cb-portrait-card.is-clickable{cursor:pointer}.cb-portrait-card.is-clickable:hover{filter:brightness(1.08)}.cb-portrait-card.is-clickable:active{transform:scale(.97)}.cb-portrait-card.is-loading{animation:cbPortraitBounce 1.6s ease-in-out infinite}@keyframes cbPortraitBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.cb-portrait-card.is-ready{cursor:pointer;box-shadow:0 0 20px #d4af3740}.cb-portrait-front,.cb-portrait-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border:2px solid var(--gold-dim)}.cb-portrait-back{background:rgba(18,12,6,.95);display:flex;align-items:center;justify-content:center;position:relative}.cb-portrait-back-img{width:100%;height:100%;object-fit:cover}.cb-portrait-summon{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;padding:12px 8px;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--gold);letter-spacing:4px;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.9),0 0 24px rgba(212,175,55,.4);animation:cbSummonText 2s ease-in-out infinite}@keyframes cbSummonText{0%,to{opacity:.4}50%{opacity:1}}.cb-portrait-front{transform:rotateY(180deg);box-shadow:0 4px 20px #0006}.cb-portrait-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.cb-portrait-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;z-index:2;pointer-events:none}.cb-portrait-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.cb-portrait-hint{font-size:13px;color:var(--text-dim);text-align:center;font-style:italic}.cb-portrait-action-btn{min-height:var(--touch-min);padding:8px 24px;border-radius:8px;border:1px solid var(--gold-dim);background:rgba(0,0,0,.3);color:var(--text-dim);font-size:14px;cursor:pointer;transition:all .2s}.cb-portrait-action-btn:hover{border-color:var(--gold);color:var(--gold)}.cb-portrait-action-btn.is-primary{background:rgba(212,175,55,.15);color:var(--gold);border-color:var(--gold)}.cb-confirm{display:flex;flex-direction:column;gap:14px}.cb-confirm-card{display:flex;gap:16px;border:1.5px solid var(--gold-dim);border-radius:12px;padding:16px;background:var(--_section-bg)}.cb-confirm-portrait{width:90px;height:120px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1.5px solid var(--gold-dim);background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}.cb-confirm-portrait img{width:100%;height:100%;object-fit:cover}.cb-confirm-info h3{font-family:var(--font-display);font-size:18px;color:var(--gold);margin:0 0 4px;letter-spacing:1px}.cb-confirm-info p{font-size:12px;color:var(--text-dim);margin:2px 0;line-height:1.5}.cb-confirm-section{border:1px solid rgba(212,175,55,.12);border-radius:10px;padding:12px 14px;background:var(--_section-bg)}.cb-confirm-section h4{font-size:12px;color:var(--gold-soft);margin:0 0 8px;letter-spacing:1px;text-transform:uppercase}.cb-confirm-tags{display:flex;flex-wrap:wrap;gap:6px}.cb-confirm-tag{font-size:12px;padding:4px 10px;border-radius:12px;background:rgba(212,175,55,.08);color:var(--text-dim);border:1px solid rgba(212,175,55,.12)}.cb-confirm-tag.is-editable{display:inline-flex;align-items:center;gap:4px}.cb-tag-remove{background:none;border:none;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;opacity:.5}.cb-tag-remove:hover{opacity:1;color:#e74c3c}.cb-tag-add{display:inline-flex;align-items:center;gap:4px}.cb-tag-input{width:80px;padding:3px 8px;border-radius:12px;border:1px dashed var(--gold-dim);background:transparent;color:var(--text);font-size:12px}.cb-tag-input::placeholder{color:var(--text-dim);opacity:.5}.cb-tag-add-btn{background:none;border:1px solid var(--gold-dim);border-radius:50%;width:22px;height:22px;color:var(--gold-dim);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.cb-tag-add-btn:not(:disabled):hover{border-color:var(--gold);color:var(--gold)}.cb-tag-add-btn:disabled{opacity:.3;cursor:default}.cb-confirm-traits{min-height:48px;resize:vertical}.cb-confirm-text{font-size:13px;color:var(--text-dim);line-height:1.6}.cb-confirm-attrs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cb-confirm-attr{text-align:center;padding:10px 6px 8px;border-radius:8px;background:rgba(0,0,0,.35);border:1px solid rgba(212,175,55,.1);transition:border-color .2s}.cb-confirm-attr:hover{border-color:#d4af3740}.cb-confirm-attr-label{font-size:11px;color:var(--text-dim);letter-spacing:.5px}.cb-confirm-attr-value{font-size:20px;font-weight:700;color:var(--gold);font-family:var(--font-display);line-height:1.3}.cb-confirm-attr-mod{font-size:13px;font-weight:600;margin-top:2px}.cb-confirm-attr-mod.is-positive{color:#5ab55a}.cb-confirm-attr-mod.is-negative{color:var(--danger)}.cb-skeleton{height:14px;border-radius:4px;background:linear-gradient(90deg,rgba(212,175,55,.04) 25%,rgba(212,175,55,.1) 50%,rgba(212,175,55,.04) 75%);background-size:200% 100%;animation:cbShimmer 1.5s infinite;margin-bottom:8px}.cb-skeleton:last-child{width:60%}@keyframes cbShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cb-nav{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(212,175,55,.12)}.cb-nav-btn{min-height:var(--touch-min);padding:10px 24px;border-radius:8px;border:1px solid rgba(212,175,55,.2);background:rgba(0,0,0,.35);color:var(--text-dim);font-size:14px;cursor:pointer;transition:all .2s}.cb-nav-btn:hover{border-color:#d4af3766;color:var(--text)}.cb-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cb-nav-btn.is-primary{border-color:var(--gold);color:var(--gold);background:linear-gradient(135deg,rgba(212,175,55,.18) 0%,rgba(212,175,55,.08) 100%);font-weight:600;letter-spacing:.5px}.cb-nav-btn.is-primary:not(:disabled):hover{background:rgba(212,175,55,.25);box-shadow:0 0 12px #d4af3726}.cb-nav-btn.is-primary:not(:disabled):active{transform:scale(.97)}.cb-nav-btn.is-accent{border-color:var(--gold-soft);color:var(--gold-soft);background:rgba(212,175,55,.08)}.cb-nav-btn.is-accent:not(:disabled):hover{background:rgba(212,175,55,.15)}.cb-nav-btn.is-accent:not(:disabled):active{transform:scale(.97)}.cb-error{font-size:13px;color:var(--danger);margin-top:10px;text-align:center}.cb-toast{position:fixed;bottom:calc(var(--safe-bottom) + 60px);left:50%;transform:translate(-50%);padding:10px 20px;border-radius:10px;background:rgba(0,0,0,.9);color:var(--text);font-size:13px;z-index:100;border:1px solid rgba(212,175,55,.15);animation:cbToastIn .3s ease-out}@keyframes cbToastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (min-width: 641px){.cb-wizard{--_pad: 28px;--_radius: 14px;max-width:860px;border:2px solid var(--gold-dim);box-shadow:inset 0 1px #d4af3714,0 8px 32px #00000080}.cb-card-grid{grid-template-columns:repeat(3,1fr)}.cb-confirm-attrs{grid-template-columns:repeat(6,1fr)}.cb-portrait-scene{height:min(62vh,540px);aspect-ratio:9 / 16}.cb-step-title{font-size:26px}.cb-attr-row{padding:12px}}@media (min-width: 1025px){.cb-wizard{--_pad: 40px;max-width:960px}.cb-portrait-scene{height:min(60vh,560px);aspect-ratio:9 / 16}.cb-portrait{padding:0}.cb-card-grid{grid-template-columns:repeat(3,1fr);gap:16px}}.cinematic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);pointer-events:auto}.cinematic-overlay.phase-entering{animation:cinema-darken 2s ease forwards}.cinematic-overlay.phase-entering .cinematic-stage,.cinematic-overlay.phase-entering .cinematic-skip{opacity:0}.cinematic-overlay.phase-entering .cinematic-letterbox{animation:letterbox-in 1.8s cubic-bezier(.25,.46,.45,.94) forwards}.cinematic-overlay.phase-playing{background:rgba(0,0,0,.96)}.cinematic-overlay.phase-playing .cinematic-stage{animation:stage-in 1.2s ease forwards}.cinematic-overlay.phase-playing .cinematic-letterbox{transform:translateY(0)}.cinematic-overlay.phase-playing .cinematic-skip{animation:skip-appear .4s ease 2.5s forwards}.cinematic-overlay.phase-leaving{animation:cinema-brighten 2s ease .8s forwards}.cinematic-overlay.phase-leaving .cinematic-stage{animation:stage-shrink 2s cubic-bezier(.4,0,.2,1) forwards}.cinematic-overlay.phase-leaving .cinematic-letterbox{animation:letterbox-out 1.5s cubic-bezier(.25,.46,.45,.94) forwards}.cinematic-overlay.phase-leaving .cinematic-skip{opacity:0}.cinematic-letterbox{position:absolute;left:0;right:0;height:10vh;background:#000;z-index:3}.cinematic-letterbox.top{top:0;transform:translateY(-100%)}.cinematic-letterbox.bottom{bottom:0;transform:translateY(100%)}.cinematic-stage{position:relative;z-index:2;width:90%;max-width:900px;opacity:0}.cinematic-stage video,.cinematic-stage .cinematic-poster{width:100%;aspect-ratio:16 / 9;display:block;background:#000;object-fit:contain;border-radius:2px;box-shadow:0 0 80px #000c,0 0 2px #d4af3726}.cinematic-stage .cinematic-poster{animation:poster-reveal .8s ease forwards}.cinematic-skip{position:absolute;bottom:calc(10vh + 1.5rem);right:2rem;z-index:4;background:none;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffff59;font-size:.78rem;padding:4px 14px;cursor:pointer;opacity:0;transition:color .2s,border-color .2s;letter-spacing:.05em}.cinematic-skip:hover{color:#ffffffb3;border-color:#ffffff59}.cinematic-thumb-wrap{width:100%;position:relative;overflow:hidden;background:var(--bg-primary, #120e0a);border:1px solid rgba(212,175,55,.35);border-radius:4px;animation:thumb-land .6s ease-out}.cinematic-thumb-img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;filter:saturate(.6) brightness(.7)}.cinematic-thumb-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(18,14,10,.75) 0%,transparent 22%,transparent 78%,rgba(18,14,10,.75) 100%),linear-gradient(to right,rgba(18,14,10,.6) 0%,transparent 15%,transparent 85%,rgba(18,14,10,.6) 100%);pointer-events:none}@keyframes cinema-darken{0%{background:rgba(0,0,0,0)}to{background:rgba(0,0,0,.96)}}@keyframes cinema-brighten{0%{background:rgba(0,0,0,.96)}to{background:rgba(0,0,0,0);pointer-events:none}}@keyframes letterbox-in{0%{transform:translateY(var(--lb-from))}to{transform:translateY(0)}}@keyframes letterbox-out{0%{transform:translateY(0)}to{transform:translateY(var(--lb-from))}}.cinematic-letterbox.top{--lb-from: -100%}.cinematic-letterbox.bottom{--lb-from: 100%}@keyframes stage-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes stage-shrink{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.35) translateY(50vh)}}@keyframes skip-appear{0%{opacity:0}to{opacity:1}}@keyframes poster-reveal{0%{opacity:0}to{opacity:1}}@keyframes thumb-land{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.share-select-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(0,0,0,.85);border-bottom:1px solid var(--gold-dim, #d4a24e55);z-index:10;position:sticky;top:0}.share-select-count{font-size:14px;color:var(--gold, #d4a24e);font-weight:600}.share-select-actions{display:flex;gap:10px;align-items:center}.share-select-cancel{background:none;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer}.share-select-cancel:hover{border-color:#fff6;color:#fff}.share-select-confirm{display:flex;align-items:center;gap:6px;background:var(--gold, #d4a24e);color:#1a1a2e;border:none;padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.share-select-confirm:disabled{opacity:.4;cursor:not-allowed}.share-select-confirm:not(:disabled):hover{filter:brightness(1.1)}.message-selected{outline:2px solid var(--gold, #d4a24e)!important;outline-offset:-2px;border-radius:12px;background:rgba(212,162,78,.08)!important}.message-gain.message-selected{border-radius:8px}.share-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:24px}.share-preview-container{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:600px;width:100%;max-height:90vh}.share-preview-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:#ffffffb3;font-size:15px}.share-preview-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--gold, #d4a24e);border-radius:50%;animation:share-spin .8s linear infinite}@keyframes share-spin{to{transform:rotate(360deg)}}.share-preview-error{text-align:center;color:#ffffffb3;font-size:15px}.share-preview-error button{margin-top:12px;padding:8px 24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;cursor:pointer}.share-preview-scroll{overflow-y:auto;max-height:70vh;border-radius:12px;box-shadow:0 8px 32px #00000080}.share-preview-image{display:block;width:100%;height:auto;border-radius:12px}.share-preview-actions{display:flex;gap:12px;align-items:center}.share-preview-save{background:var(--gold, #d4a24e);color:#1a1a2e;border:none;padding:10px 28px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.share-preview-save:hover{filter:brightness(1.1)}.share-preview-close{display:flex;align-items:center;gap:4px;background:none;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer}.share-preview-close:hover{border-color:#fff6;color:#fff}.share-preview-hint{font-size:12px;color:#ffffff59;margin:0}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.85);display:flex;justify-content:center;align-items:center;z-index:4700;animation:fadeIn .2s ease;padding:16px}.auth-card{background:#1a1a1a;border:2px solid var(--gold-dim);border-radius:14px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;padding:28px 24px;animation:slideIn .25s ease}.auth-card h2{color:var(--gold);font-size:20px;font-weight:600;margin:0 0 4px;text-align:center}.auth-card .auth-subtitle{color:var(--text-dim);font-size:13px;text-align:center;margin:0 0 20px}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.auth-tab{flex:1;background:none;border:none;padding:10px 0;color:var(--text-dim);font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.auth-tab.is-active{color:var(--gold);border-bottom-color:var(--gold)}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:5px}.auth-field input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:var(--text);font-size:15px;outline:none;transition:border-color .2s}.auth-field input:focus{border-color:var(--gold-soft)}.auth-error{background:rgba(192,85,85,.15);border:1px solid rgba(192,85,85,.3);color:#e88;font-size:13px;padding:8px 12px;border-radius:8px;margin-bottom:14px}.auth-success{background:rgba(85,192,85,.15);border:1px solid rgba(85,192,85,.3);color:#8e8;font-size:13px;padding:8px 12px;border-radius:8px;margin-bottom:14px}.auth-submit{width:100%;padding:12px;border:none;border-radius:8px;background:var(--gold);color:#1a1a1a;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:4px}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--text-dim)}.auth-switch button{background:none;border:none;color:var(--gold);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.auth-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.settings-card{max-width:460px}.settings-section{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}.settings-section:last-child{border-bottom:none}.settings-section h3{color:var(--text);font-size:15px;font-weight:600;margin:0 0 12px}.settings-avatar-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}.settings-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-dim)}.settings-avatar-letter{width:56px;height:56px;border-radius:50%;background:var(--gold-dim);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;flex-shrink:0}.settings-identity{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:var(--text)}.settings-identity-badge{background:rgba(255,255,255,.08);padding:3px 8px;border-radius:4px;font-size:12px;color:var(--text-dim)}.settings-future-btn{background:none;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 14px;color:var(--text-dim);font-size:13px;cursor:not-allowed;opacity:.5;margin-right:8px;margin-top:8px}.lobby-user-area{display:flex;align-items:center;gap:8px;position:relative}.lobby-login-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--gold-dim);border-radius:20px;padding:5px 14px 5px 8px;color:var(--gold);font-size:13px;cursor:pointer;white-space:nowrap}.lobby-avatar-placeholder{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.12);flex-shrink:0}.lobby-user-btn{display:flex;align-items:center;gap:6px;background:none;border:none;padding:4px;cursor:pointer;border-radius:20px}.lobby-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold-dim)}.lobby-avatar-letter{width:28px;height:28px;border-radius:50%;background:var(--gold-dim);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.lobby-nickname{color:var(--text);font-size:13px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-user-menu{position:absolute;top:100%;right:0;margin-top:6px;background:#222;border:1px solid var(--gold-dim);border-radius:10px;padding:4px;min-width:130px;z-index:200;box-shadow:0 8px 24px #00000080}.lobby-user-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 12px;color:var(--text);font-size:14px;border-radius:6px;cursor:pointer}@media (hover: hover){.lobby-user-menu button:hover{background:rgba(255,255,255,.08)}}.upgrade-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:4600;animation:fadeIn .2s ease;padding:16px}.upgrade-prompt-card{background:#1a1a1a;border:2px solid var(--gold-dim);border-radius:14px;padding:28px 24px 20px;width:100%;max-width:400px;max-height:calc(100vh - 32px);overflow-y:auto;animation:slideUp .3s ease}.upgrade-prompt-card h3{color:var(--gold);font-size:18px;font-weight:600;margin:0 0 8px}.upgrade-prompt-card p{color:var(--text-dim);font-size:14px;line-height:1.6;margin:0 0 20px}.upgrade-prompt-actions{display:flex;gap:10px}.upgrade-prompt-actions .btn-primary{flex:1;padding:11px;border:none;border-radius:8px;background:var(--gold);color:#1a1a1a;font-size:14px;font-weight:600;cursor:pointer}.upgrade-prompt-actions .btn-ghost{padding:11px 16px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:none;color:var(--text-dim);font-size:14px;cursor:pointer}.camp-upgrade-banner{display:flex;align-items:center;gap:10px;background:rgba(212,175,55,.08);border:1px solid var(--gold-dim);border-radius:10px;padding:10px 14px;margin-bottom:12px}.camp-upgrade-banner p{flex:1;margin:0;font-size:13px;color:var(--text-dim);line-height:1.4}.camp-upgrade-banner .btn-register{background:var(--gold);color:#1a1a1a;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.camp-upgrade-banner .btn-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:4px;line-height:1}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 50%,#0f0f0f 100%);min-height:100vh;min-height:100dvh;color:#e6e6e6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.game-container{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--panel-bg);color:var(--text)}.character-card{background:white;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.character-name{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#2c3e50}.character-info{font-size:.9rem;color:#6c757d;margin-bottom:.5rem}.form-group{margin-bottom:1rem}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;color:#6c757d}.error{background:#f8d7da;color:#721c24;padding:1rem;border-radius:6px;margin:1rem 0;border:1px solid #f5c6cb}.markdown-content p{margin:.5rem 0}.markdown-content p:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.markdown-content strong{color:gold;font-weight:700}.markdown-content em{color:#b8b8b8;font-style:italic}.markdown-content code{background:rgba(0,0,0,.3);padding:.2em .4em;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-content pre{background:rgba(0,0,0,.3);padding:1rem;border-radius:6px;overflow-x:auto;margin:.5rem 0}.markdown-content pre code{background:none;padding:0}.markdown-content ul,.markdown-content ol{margin:.5rem 0;padding-left:1.5rem}.markdown-content li{margin:.25rem 0}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:gold;margin:1rem 0 .5rem}.markdown-content h1{font-size:1.5em}.markdown-content h2{font-size:1.3em}.markdown-content h3{font-size:1.1em}.markdown-content blockquote{border-left:3px solid #ffd700;padding-left:1rem;margin:.5rem 0;color:#b8b8b8;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-name{font-size:1rem;font-weight:700;color:gold;margin-bottom:.25rem;line-height:1.2}.attribute-compact{display:flex;justify-content:space-between;font-size:.8rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-spinner{width:50px;height:50px;border:4px solid #3a3a3a;border-top-color:gold;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.autocomplete-dropdown{background:#1a1a1a;border:2px solid #ffd700;border-radius:8px;box-shadow:0 8px 24px #00000080,0 0 0 1px #ffd70033;min-width:300px;max-width:400px;max-height:300px;display:flex;flex-direction:column;z-index:1000;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.autocomplete-header{padding:.75rem 1rem;background:linear-gradient(90deg,#2a2a2a,#1a1a1a);border-bottom:1px solid #3a3a3a;font-size:.85rem;color:gold;font-weight:700}.autocomplete-list{flex:1;overflow-y:auto;padding:.5rem}.autocomplete-list::-webkit-scrollbar{width:6px}.autocomplete-list::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:3px}.autocomplete-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:.25rem}@media (hover: hover) and (pointer: fine){.autocomplete-item:hover{background:#2a2a2a}}.autocomplete-item.selected{background:#2a2a2a;border:1px solid #ffd700;box-shadow:0 0 0 2px #ffd7001a}.autocomplete-item.cooldown{opacity:.5;cursor:not-allowed}@media (hover: hover) and (pointer: fine){.autocomplete-item.cooldown:hover{background:transparent}}.item-icon{font-size:1.5rem;flex-shrink:0}.autocomplete-item .item-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;color:var(--gold-soft)}.item-content{flex:1;min-width:0}.item-name{font-weight:700;color:#e0e0e0;font-size:.95rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cooldown-indicator{color:#dc3545;font-size:.85rem;margin-left:.5rem}.item-description{font-size:.8rem;color:#888;line-height:1.3;margin-bottom:.25rem}.item-mods{display:flex;gap:.25rem;flex-wrap:wrap}.mod-tag{background:#3a3a3a;padding:.15rem .4rem;border-radius:4px;font-size:.75rem;color:#4caf50}.item-badge{flex-shrink:0}.type-badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase}.type-badge.rarity-common{background:#666;color:#fff}.type-badge.rarity-uncommon{background:#4caf50;color:#fff}.type-badge.rarity-rare{background:#2196f3;color:#fff}.type-badge.rarity-epic{background:#9c27b0;color:#fff}.type-badge.rarity-legendary{background:#ff6b6b;color:#fff}.autocomplete-footer{padding:.5rem 1rem;background:#1a1a1a;border-top:1px solid #3a3a3a;font-size:.75rem;color:#666;display:flex;align-items:center;gap:.5rem}.hint-key{background:#2a2a2a;padding:.15rem .4rem;border-radius:3px;border:1px solid #4a4a4a;font-family:monospace;color:gold;font-size:.7rem}.hint-separator{color:#444;margin:0 .25rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:#1a1a1a;border:3px solid #ffd700;border-radius:12px;max-width:900px;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 10px 40px #ffd7004d;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
