@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cinzel+Decorative:wght@400;700;900&family=Crimson+Pro:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--bg: #0a0814;--bg-soft: #0f0c1a;--p: #15111f;--p2: #1c172a;--p3: #251e36;--b: #29223a;--b2: #3a2e52;--b-warm: #4a3a2a;--b-cool: #2a3d52;--gold: #d4b370;--gold-hi: #ecd190;--gold-dim: #8a7340;--gold-deep: #5a4520;--rune: #8ec5d4;--rune-hi: #b8e0eb;--rune-dim: #4a6b78;--rune-deep: #1e3540;--text: #e4dccd;--text-hi: #f5eed8;--dim: #aaa3b5;--dim2: #7a7288;--mute: #44405a;--hp: #6dba6a;--hp-deep: #2a5a2f;--mp: #6a8fd4;--mp-deep: #2a3a6a;--red: #c85a4a;--red-deep: #6a2a20;--green: #6dba6a;--r-common: #a07a4a;--r-common-hi: #c89a64;--r-rare: #b8c4cc;--r-rare-hi: #d8e0e6;--r-epic: #a888d4;--r-epic-hi: #c8a8f0;--r-legend: #e0b550;--r-legend-hi: #f5d680;--rarity-common: oklch(.7 .04 240);--rarity-rare: oklch(.68 .16 240);--rarity-epic: oklch(.65 .2 300);--rarity-legendary: oklch(.78 .18 80);--font-title: "Cinzel", serif;--font-deco: "Cinzel Decorative", "Cinzel", serif;--font-body: "Crimson Pro", Georgia, serif;--phone-w: 360px;--phone-h: 640px;--gap-xs: 4px;--gap-sm: 6px;--gap-md: 10px;--gap-lg: 16px;--gap-xl: 24px;--radius: 3px;--radius-sm: 2px;--radius-md: 6px;--radius-pill: 999px;--glow-gold: 0 0 12px rgba(212, 179, 112, .25);--glow-rune: 0 0 14px rgba(142, 197, 212, .35);--shadow-card: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 2px 8px rgba(0, 0, 0, .4);--shadow-deep: 0 10px 30px rgba(0, 0, 0, .55);--noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.78 0 0 0 0 0.6 0 0 0 .08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}[data-theme=sylvan]{--bg: #0c1410;--bg-soft: #11191490;--p: #16201a;--p2: #1d2a22;--p3: #28372d;--b: #283a30;--b2: #3d5544;--b-warm: #4a3a22;--b-cool: #2a4438;--gold: #c9a85a;--gold-hi: #e6c980;--gold-dim: #7a6730;--gold-deep: #4a3818;--rune: #8ed09a;--rune-hi: #b8e8c4;--rune-dim: #4a7858;--rune-deep: #1e3d28;--text: #dfd8c0;--text-hi: #f0e8cc;--dim: #8fa091;--dim2: #5c6e60;--mute: #3a4c40}[data-theme=twilight]{--bg: #060a14;--bg-soft: #0a1020;--p: #0e1424;--p2: #131b2e;--p3: #1c2540;--b: #1f2a44;--b2: #2c3c5c;--b-warm: #3a2e1c;--b-cool: #1c3a5a;--gold: #d8c070;--gold-hi: #f0db90;--gold-dim: #8a7440;--gold-deep: #5a4818;--rune: #7aa8e6;--rune-hi: #a8c8f0;--rune-dim: #3d5a80;--rune-deep: #1a2a44;--text: #d8d8e6;--text-hi: #ecedf6;--dim: #8e96aa;--dim2: #5a627a;--mute: #3a4258}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%;background:#050308;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);color:var(--text);overflow:hidden;font-feature-settings:"kern" 1,"liga" 1}#phone{width:var(--phone-w);height:var(--phone-h);background:radial-gradient(120% 60% at 50% 0%,color-mix(in oklab,var(--rune) 5%,transparent) 0%,transparent 55%),radial-gradient(80% 50% at 50% 100%,color-mix(in oklab,var(--gold) 4%,transparent) 0%,transparent 60%),var(--bg);position:relative;overflow:hidden;border:1px solid var(--b);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-deep);isolation:isolate}#phone:before{content:"";position:absolute;inset:0;background:var(--noise);opacity:.35;mix-blend-mode:overlay;pointer-events:none;z-index:100}#phone:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 50%,transparent 55%,rgba(0,0,0,.45) 100%);pointer-events:none;z-index:101}@media(max-width:480px){html,body{display:block;overflow:hidden}#phone{width:100vw;height:100vh;height:100dvh;border:none;border-radius:0;box-shadow:none}}@media(max-height:660px)and (min-width:481px){:root{--phone-h: calc(100vh - 20px) ;--phone-w: calc((100vh - 20px)*.5625) }}.scr{position:absolute;inset:0;display:none;flex-direction:column;overflow:hidden;z-index:1}.scr.on{display:flex}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}::selection{background:color-mix(in oklab,var(--gold) 40%,transparent);color:var(--text-hi)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.t-gold{color:var(--gold)}.t-rune{color:var(--rune)}.t-dim{color:var(--dim)}.t-faint{color:var(--dim2)}.t-body{font-family:var(--font-body)}.t-deco{font-family:var(--font-deco)}.tracked{letter-spacing:.15em}.tracked-2{letter-spacing:.25em}.tracked-3{letter-spacing:.35em}.sh{display:flex;align-items:center;gap:var(--gap-sm);padding:10px 14px 11px;border-bottom:1px solid var(--b);flex-shrink:0;position:relative;background:linear-gradient(180deg,color-mix(in oklab,var(--p) 70%,transparent),transparent)}.sh:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--gold) 50%,transparent) 50%,transparent 100%)}.st{flex:1;font-family:var(--font-title);font-size:12px;font-weight:600;color:var(--gold);letter-spacing:.25em;text-shadow:0 1px 0 rgba(0,0,0,.45)}.bk{background:transparent;border:1px solid var(--b2);color:var(--dim);cursor:pointer;padding:5px 9px;font-family:var(--font-title);font-size:9px;font-weight:500;letter-spacing:.15em;border-radius:var(--radius-sm);transition:border-color .18s,color .18s,background .18s;display:inline-flex;align-items:center;gap:4px}.bk:hover{border-color:var(--gold-dim);color:var(--gold);background:color-mix(in oklab,var(--gold) 6%,transparent)}.curr,.scurr{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius-pill);padding:4px 11px 4px 9px;font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.05em;position:relative;box-shadow:var(--shadow-card)}.curr--gold{border-color:color-mix(in oklab,var(--gold) 28%,var(--b))}.curr--orb{border-color:color-mix(in oklab,var(--rune) 28%,var(--b))}.curr .sym,.scurr .sym{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;font-size:11px;line-height:1}.curr .sym--gold{color:var(--gold);filter:drop-shadow(0 0 4px color-mix(in oklab,var(--gold) 35%,transparent))}.curr .sym--orb{color:var(--rune);filter:drop-shadow(0 0 4px color-mix(in oklab,var(--rune) 40%,transparent))}.curr .val{color:var(--text-hi)}.curr--gold .val{color:var(--gold-hi)}.curr--orb .val{color:var(--rune-hi)}.btn-gold{font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.18em;padding:9px 18px;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,var(--gold-dim));color:#1a1108;border:1px solid var(--gold-deep);cursor:pointer;border-radius:var(--radius-sm);position:relative;text-shadow:0 1px 0 rgba(255,240,200,.35);box-shadow:0 1px #ffffff40 inset,0 -1px #00000059 inset,0 2px 6px #00000059;transition:filter .18s,transform .05s}.btn-gold:hover{filter:brightness(1.08)}.btn-gold:active{transform:translateY(1px)}.btn-gold:disabled{background:linear-gradient(180deg,var(--p2),var(--p));color:var(--dim2);border-color:var(--b);text-shadow:none;box-shadow:none;cursor:not-allowed;filter:none}.btn-outline{font-family:var(--font-title);font-size:10px;font-weight:500;letter-spacing:.15em;padding:7px 14px;background:linear-gradient(180deg,color-mix(in oklab,var(--p2) 70%,transparent),color-mix(in oklab,var(--p) 80%,transparent));border:1px solid var(--b2);color:var(--dim);cursor:pointer;border-radius:var(--radius-sm);transition:border-color .18s,color .18s,background .18s}.btn-outline:hover{border-color:var(--gold-dim);color:var(--gold)}.btn-outline.is-rune:hover{border-color:var(--rune-dim);color:var(--rune)}.btn-ghost{font-family:var(--font-title);font-size:9px;letter-spacing:.15em;padding:6px 10px;background:transparent;border:1px solid transparent;color:var(--dim);cursor:pointer;border-radius:var(--radius-sm);transition:color .18s,background .18s}.btn-ghost:hover{color:var(--text);background:color-mix(in oklab,var(--p2) 70%,transparent)}.card{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:var(--gap-md) 12px;position:relative;transition:border-color .18s,transform .18s;box-shadow:var(--shadow-card)}.card:hover{border-color:var(--b2)}.card-highlight{border-color:var(--gold-dim)!important;background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 6%,var(--p2)),var(--p))!important;box-shadow:var(--shadow-card),0 0 0 1px color-mix(in oklab,var(--gold) 18%,transparent),var(--glow-gold)}.card-ornate{position:relative}.card-ornate:before,.card-ornate:after{content:"";position:absolute;width:10px;height:10px;border:1px solid color-mix(in oklab,var(--gold) 50%,var(--b));pointer-events:none}.card-ornate:before{top:4px;left:4px;border-right:none;border-bottom:none}.card-ornate:after{bottom:4px;right:4px;border-left:none;border-top:none}.divider-rune{display:flex;align-items:center;gap:8px;width:100%;padding:4px 0}.divider-rune .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--gold) 45%,transparent),transparent)}.divider-rune .glyph{color:var(--gold-dim);font-size:11px;line-height:1;filter:drop-shadow(0 0 3px color-mix(in oklab,var(--gold) 35%,transparent))}.divider-rune.rune-cool .line{background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--rune) 45%,transparent),transparent)}.divider-rune.rune-cool .glyph{color:var(--rune-dim)}.rarity{--r: var(--r-common);--r-hi: var(--r-common-hi);position:relative;border-color:color-mix(in oklab,var(--r) 55%,var(--b))}.rarity--common{--r: var(--r-common);--r-hi: var(--r-common-hi)}.rarity--rare{--r: var(--r-rare);--r-hi: var(--r-rare-hi)}.rarity--epic{--r: var(--r-epic);--r-hi: var(--r-epic-hi)}.rarity--legendary{--r: var(--r-legend);--r-hi: var(--r-legend-hi)}.rarity .rarity-bar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--r) 18%,var(--r-hi) 50%,var(--r) 82%,transparent 100%);pointer-events:none}.rarity-frame{border:1px solid color-mix(in oklab,var(--r) 70%,var(--b));box-shadow:0 0 0 1px color-mix(in oklab,var(--r) 25%,transparent) inset,0 0 14px color-mix(in oklab,var(--r) 22%,transparent);position:relative}.rarity-frame:before{content:"";position:absolute;inset:2px;border:1px solid color-mix(in oklab,var(--r-hi) 30%,transparent);pointer-events:none;border-radius:inherit}.rp{font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.2em;padding:3px 9px;border-radius:var(--radius-pill);border:1px solid;text-transform:uppercase;display:inline-block}.rp-c{color:var(--r-common-hi);border-color:color-mix(in oklab,var(--r-common) 50%,var(--b));background:color-mix(in oklab,var(--r-common) 10%,transparent)}.rp-r{color:var(--r-rare-hi);border-color:color-mix(in oklab,var(--r-rare) 50%,var(--b));background:color-mix(in oklab,var(--r-rare) 10%,transparent)}.rp-e{color:var(--r-epic-hi);border-color:color-mix(in oklab,var(--r-epic) 55%,var(--b));background:color-mix(in oklab,var(--r-epic) 12%,transparent)}.rp-l{color:var(--r-legend-hi);border-color:color-mix(in oklab,var(--r-legend) 60%,var(--b));background:color-mix(in oklab,var(--r-legend) 14%,transparent)}.bar{position:relative;height:5px;background:#06040a;border:1px solid var(--b);border-radius:2px;overflow:hidden}.bar>.fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:2px;transition:width .4s ease;background:linear-gradient(180deg,var(--gold-hi),var(--gold));box-shadow:0 0 6px color-mix(in oklab,var(--gold) 40%,transparent)}.bar--hp .fill{background:linear-gradient(180deg,#98e090,var(--hp));box-shadow:0 0 6px color-mix(in oklab,var(--hp) 40%,transparent)}.bar--mp .fill{background:linear-gradient(180deg,#a8c0f0,var(--mp));box-shadow:0 0 6px color-mix(in oklab,var(--mp) 40%,transparent)}.bar--rune .fill{background:linear-gradient(180deg,var(--rune-hi),var(--rune));box-shadow:0 0 6px color-mix(in oklab,var(--rune) 40%,transparent)}.bar--xp .fill{background:linear-gradient(180deg,var(--gold-hi),var(--gold-dim))}.bar-wrap{display:flex;align-items:center;gap:7px}.bar-wrap .lbl{font-size:8px;letter-spacing:.15em;color:var(--dim);width:18px;text-align:right}.bar-wrap .val{font-family:var(--font-body);font-size:10px;color:var(--text);white-space:nowrap}.tile-hp{position:absolute;bottom:2px;left:3px;right:3px;height:3px;background:#06040a;border-radius:2px;overflow:hidden}.tile-hp>div{height:100%;background:var(--hp);border-radius:2px;transition:width .3s}.tag{font-family:var(--font-title);font-size:7.5px;letter-spacing:.18em;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid;display:inline-block;line-height:1.4}.tag-tuto{color:var(--gold-hi);background:color-mix(in oklab,var(--gold) 12%,transparent);border-color:color-mix(in oklab,var(--gold) 35%,var(--b))}.tag-floor{color:var(--rune-hi);background:color-mix(in oklab,var(--rune) 10%,transparent);border-color:color-mix(in oklab,var(--rune) 28%,var(--b))}.tag-locked{color:var(--dim2);background:color-mix(in oklab,var(--mute) 25%,transparent);border-color:var(--b)}.tag-reward{color:#9ed8ae;background:color-mix(in oklab,var(--hp) 10%,transparent);border-color:color-mix(in oklab,var(--hp) 30%,var(--b))}.tag-done{color:var(--hp);background:color-mix(in oklab,var(--hp) 10%,transparent);border-color:color-mix(in oklab,var(--hp) 35%,var(--b))}.badge-new{font-family:var(--font-title);font-size:7px;font-weight:700;letter-spacing:.18em;background:linear-gradient(180deg,#d05a3a,#8a2a1a);color:#fff;padding:2px 6px;border-radius:var(--radius-pill);border:1px solid #5a1a10;text-shadow:0 1px 0 rgba(0,0,0,.4);box-shadow:0 0 8px #d05a3a59}.hero-portrait{background:radial-gradient(60% 60% at 50% 30%,color-mix(in oklab,var(--rune) 12%,transparent),transparent 70%),linear-gradient(180deg,#1a1428,#0a0814);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;border:1px solid var(--b2);position:relative;overflow:hidden;flex-shrink:0}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:top center}.hero-portrait .upload-input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:5}.hero-portrait--framed.rarity--common{border-color:color-mix(in oklab,var(--r-common) 60%,var(--b))}.hero-portrait--framed.rarity--rare{border-color:color-mix(in oklab,var(--r-rare) 60%,var(--b))}.hero-portrait--framed.rarity--epic{border-color:color-mix(in oklab,var(--r-epic) 65%,var(--b))}.hero-portrait--framed.rarity--legendary{border-color:color-mix(in oklab,var(--r-legend) 65%,var(--b))}.hero-portrait--framed:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 88%,color-mix(in oklab,var(--r) 55%,transparent) 88% 100%);pointer-events:none}.hero-portrait--framed:after{content:"";position:absolute;inset:2px;border:1px solid color-mix(in oklab,var(--r) 25%,transparent);pointer-events:none;border-radius:inherit}.hp-lv{position:absolute;bottom:3px;left:4px;font-family:var(--font-title);font-size:8px;font-weight:700;letter-spacing:.1em;color:var(--gold-hi);background:#0009;padding:1px 4px;border-radius:2px;border:1px solid color-mix(in oklab,var(--gold) 35%,transparent);z-index:2}.hchip{display:flex;align-items:center;gap:6px;background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);padding:4px 8px 4px 4px;cursor:pointer;flex:1;min-width:0;transition:border-color .18s;position:relative;overflow:hidden}.hchip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:color-mix(in oklab,var(--r, var(--gold-dim)) 70%,transparent)}.hchip:hover{border-color:color-mix(in oklab,var(--r, var(--gold)) 35%,var(--b2))}.hchip .hp{width:28px;height:32px;border-radius:2px}.hchip .nm{font-size:9px;letter-spacing:.08em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hchip .lv{font-family:var(--font-body);font-size:9px;color:var(--dim);margin-top:1px}.hchip.rarity--common{--r: var(--r-common)}.hchip.rarity--rare{--r: var(--r-rare)}.hchip.rarity--epic{--r: var(--r-epic)}.hchip.rarity--legendary{--r: var(--r-legend)}.hchip-empty{display:flex;align-items:center;justify-content:center;gap:4px;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in oklab,var(--b) 80%,transparent) 6px 7px);border:1px dashed var(--b2);color:var(--dim2);font-size:9px;letter-spacing:.15em;border-radius:var(--radius-sm);flex:1;min-height:38px}.toast{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--gold-dim);color:var(--gold-hi);font-family:var(--font-title);font-size:10px;letter-spacing:.2em;padding:8px 16px;border-radius:var(--radius-sm);white-space:nowrap;z-index:200;opacity:0;transition:opacity .25s;pointer-events:none;box-shadow:0 4px 16px #00000073,var(--glow-gold)}.toast.on{opacity:1}.overlay{position:absolute;inset:0;background:#040208d9;backdrop-filter:blur(2px);z-index:50;display:none;align-items:center;justify-content:center;padding:var(--gap-lg)}.overlay.on{display:flex}.modal-box{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b2);border-radius:var(--radius);padding:18px;width:min(280px,100%);max-height:86%;overflow-y:auto;box-shadow:var(--shadow-deep);position:relative}.modal-box:before,.modal-box:after{content:"";position:absolute;width:12px;height:12px;border:1px solid color-mix(in oklab,var(--gold) 60%,var(--b));pointer-events:none}.modal-box:before{top:5px;left:5px;border-right:none;border-bottom:none}.modal-box:after{bottom:5px;right:5px;border-left:none;border-top:none}.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:-.15em;flex-shrink:0}.ico-lg{width:28px;height:28px;stroke-width:1.3}.ico-xl{width:44px;height:44px;stroke-width:1.1}.ico-fill{fill:currentColor;stroke:none}.tip{position:absolute;background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--gold-dim);border-radius:var(--radius-sm);padding:6px 9px;font-family:var(--font-body);font-size:10px;color:var(--text);z-index:70;pointer-events:none;box-shadow:var(--shadow-deep);min-width:100px}.tip .tip-title{font-family:var(--font-title);font-size:9px;letter-spacing:.15em;color:var(--gold);margin-bottom:3px}.tip .tip-row{display:flex;justify-content:space-between;gap:8px}.tip .tip-row .v{color:var(--text-hi);font-weight:600}.tip .tip-row .v--crit{color:var(--gold-hi)}.tip .tip-row .v--bad{color:var(--red)}.sigil{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--gold);filter:drop-shadow(0 0 8px color-mix(in oklab,var(--gold) 35%,transparent))}.sigil svg{width:100%;height:100%}@keyframes card-pop{0%{transform:scale(.4) translateY(20px);opacity:0;filter:blur(6px)}70%{transform:scale(1.08) translateY(0);opacity:1;filter:blur(0)}to{transform:scale(1)}}.anim-pop{animation:card-pop .55s cubic-bezier(.22,1,.36,1) both}@keyframes orb-spin{0%{transform:scale(.85) rotate(-25deg);filter:brightness(.7)}50%{transform:scale(1.18) rotate(15deg);filter:brightness(1.4)}to{transform:scale(1) rotate(0);filter:brightness(1)}}.anim-spin{animation:orb-spin .7s ease}@keyframes lv-flash{0%{box-shadow:0 0 #d4b37099}70%{box-shadow:0 0 0 14px #d4b37000}to{box-shadow:0 0 #d4b37000}}.anim-levelup{animation:lv-flash .8s ease}@keyframes slide-from-right{0%{right:-420px;opacity:0}to{right:40px;opacity:1}}@keyframes slide-from-left{0%{left:-360px;opacity:0}to{left:30px;opacity:1}}.anim-slide-right{animation:slide-from-right .9s cubic-bezier(.22,1,.36,1) forwards}.anim-slide-left{animation:slide-from-left .9s cubic-bezier(.22,1,.36,1) .15s forwards}@keyframes white-flash{0%{opacity:.8}to{opacity:0}}.anim-flash{animation:white-flash .5s ease forwards}@keyframes particle-float{0%{opacity:0;transform:translateY(0) scale(0)}20%{opacity:.7}80%{opacity:.3}to{opacity:0;transform:translateY(-220px) scale(.2)}}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:particle-float linear infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.anim-bounce{animation:bounce 1.4s ease infinite}@keyframes orb-gain{0%{transform:scale(1)}50%{transform:scale(1.4);filter:brightness(1.3)}to{transform:scale(1)}}.anim-orb-gain{animation:orb-gain .45s ease}@keyframes dmg-float{0%{opacity:1;transform:translateY(0) scale(1)}30%{transform:translateY(-8px) scale(1.15)}to{opacity:0;transform:translateY(-36px) scale(.95)}}.dmg-number{position:absolute;font-family:var(--font-deco);font-size:13px;font-weight:700;letter-spacing:.5px;pointer-events:none;z-index:50;text-shadow:0 1px 3px rgba(0,0,0,.9);animation:dmg-float .9s ease forwards}.dmg-elf{color:var(--hp)}.dmg-enemy{color:var(--red)}.dmg-crit{color:var(--gold-hi);font-size:17px}.dmg-heal{color:#88e0b8}@keyframes rune-pulse{0%,to{opacity:.55;filter:drop-shadow(0 0 0 transparent)}50%{opacity:1;filter:drop-shadow(0 0 6px var(--rune))}}.anim-rune-pulse{animation:rune-pulse 2.4s ease-in-out infinite}@keyframes gold-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--gold-hi) 50%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:gold-shimmer 3.2s linear infinite}@keyframes heart-beat{0%,to{transform:scale(1)}40%{transform:scale(1.06)}60%{transform:scale(.97)}}.anim-critical{animation:heart-beat .9s ease infinite}@keyframes tile-hit-flash{0%,to{background:var(--p2)}50%{background:var(--red-deep);filter:brightness(1.6) saturate(1.4)}}.tile.is-hit{animation:tile-hit-flash .28s ease-out}@keyframes tile-move-bounce{0%{transform:scale(.85);filter:brightness(1.4)}60%{transform:scale(1.12);filter:brightness(1.2) drop-shadow(0 0 6px var(--gold))}to{transform:scale(1);filter:brightness(1)}}.tile.is-moved .unit-glyph{animation:tile-move-bounce .32s cubic-bezier(.22,1,.36,1)}@keyframes unit-death-fade{0%{opacity:1;transform:scale(1) rotate(0)}60%{opacity:.7;transform:scale(1.15) rotate(-12deg);filter:brightness(2) saturate(2)}to{opacity:0;transform:scale(.4) rotate(180deg)}}.tile.is-dying .unit-glyph{animation:unit-death-fade .55s ease-out forwards}@keyframes scr-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.scr.on{animation:scr-fade .25s ease both}@keyframes orb-idle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.02)}}@keyframes orb-charge{0%{transform:scale(1);filter:brightness(1) saturate(1)}25%{transform:scale(1.06) translate(-1px,1px);filter:brightness(1.3)}50%{transform:scale(1.12) translate(2px,-1px);filter:brightness(1.8) saturate(1.4)}75%{transform:scale(1.22) translate(-1px,1px);filter:brightness(2.4) saturate(1.7)}to{transform:scale(1.38);filter:brightness(3.2) saturate(2)}}@keyframes burst-expand{0%{inset:48%;opacity:0;border-radius:50%}15%{opacity:.9}to{inset:-60%;opacity:0;border-radius:50%}}@keyframes guild-flash{0%{opacity:0}12%{opacity:.6}to{opacity:0}}@keyframes shake{0%,to{transform:translate(0)}12%{transform:translate(-3px,2px)}25%{transform:translate(4px,-2px)}37%{transform:translate(-3px,-2px)}50%{transform:translate(4px,2px)}62%{transform:translate(-2px,-1px)}75%{transform:translate(3px,2px)}87%{transform:translate(-2px,1px)}}@keyframes card-flip-in{0%{transform:perspective(500px) rotateY(90deg) scale(.6);opacity:0}40%{opacity:1}70%{transform:perspective(500px) rotateY(-6deg) scale(1.06)}to{transform:perspective(500px) rotateY(0) scale(1);opacity:1}}@keyframes halo-pulse{0%{opacity:0;transform:scale(.5)}30%{opacity:.55;transform:scale(1.25)}to{opacity:.1;transform:scale(1)}}@keyframes spark-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--sx,40px),var(--sy,-40px)) scale(.15)}}@keyframes mini-pop{0%{transform:scale(.35);opacity:0}55%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes rune-ring{to{transform:rotate(360deg)}}.guild-orb-wrap{animation:orb-idle 3.8s ease-in-out infinite}.guild-orb-wrap.charging{animation:orb-charge 1.4s cubic-bezier(.3,.1,.5,1) forwards}.guild-orb-wrap.charging .guild-orb:before{animation:rune-ring .4s linear infinite}.guild-burst{position:absolute;inset:48%;pointer-events:none;z-index:10}.guild-burst.go{animation:burst-expand .65s cubic-bezier(.1,.7,.2,1) forwards}.guild-flash{position:absolute;inset:0;pointer-events:none;z-index:20;opacity:0}.guild-flash.go{animation:guild-flash .4s ease-out forwards}.guild-stage.shake{animation:shake .45s linear}.result-card-anim{transform:perspective(500px) rotateY(90deg) scale(.6);opacity:0}.result-card-anim.flip{animation:card-flip-in .9s cubic-bezier(.2,.7,.3,1.1) forwards}.result-card .card-halo{position:absolute;inset:-18px;border-radius:50%;pointer-events:none;opacity:0;z-index:0}.result-card-anim.flip .card-halo{animation:halo-pulse 1.5s ease-out .25s forwards}.card-spark{position:absolute;width:5px;height:5px;border-radius:50%;top:50%;left:50%;pointer-events:none;animation:spark-out 1.4s ease-out forwards}.mini-pull-card{animation:mini-pop .35s ease-out forwards;transform:scale(.35);opacity:0}@keyframes pulse-attack{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.75;filter:brightness(1.35)}}@keyframes pulse-heal{0%,to{opacity:1}50%{opacity:.7;filter:brightness(1.25)}}@keyframes screen-shake{0%,to{transform:rotateX(8deg) translate(0)}15%{transform:rotateX(8deg) translate(-3px,1px)}30%{transform:rotateX(8deg) translate(3px,-1px)}50%{transform:rotateX(8deg) translate(-2px,1px)}70%{transform:rotateX(8deg) translate(2px,-1px)}85%{transform:rotateX(8deg) translate(-1px)}}.combat-grid-wrap.is-shaking #combat-grid{animation:screen-shake .35s ease-out}@keyframes screen-shake-big{0%,to{transform:rotateX(8deg) translate(0)}10%{transform:rotateX(8deg) translate(-6px,3px)}22%{transform:rotateX(8deg) translate(7px,-3px)}35%{transform:rotateX(8deg) translate(-5px,2px)}48%{transform:rotateX(8deg) translate(6px,-2px)}62%{transform:rotateX(8deg) translate(-4px,2px)}75%{transform:rotateX(8deg) translate(3px,-1px)}88%{transform:rotateX(8deg) translate(-1px)}}.combat-grid-wrap.is-shaking-big #combat-grid{animation:screen-shake-big .45s ease-out}@keyframes cinematic-zoom{0%{transform:rotateX(8deg) scale(1)}30%{transform:rotateX(8deg) scale(1.22)}72%{transform:rotateX(8deg) scale(1.22)}to{transform:rotateX(8deg) scale(1)}}#combat-grid.is-cinematic{animation:cinematic-zoom .6s cubic-bezier(.4,0,.6,1) forwards;transform-origin:var(--cin-x, 50%) var(--cin-y, 50%)}@keyframes unit-recoil{0%{transform:translate(0)}30%{transform:translate(var(--rx, 5px),var(--ry, -2px))}to{transform:translate(0)}}.tile.is-hit .unit-glyph{animation:unit-recoil .28s cubic-bezier(.5,0,.5,1.5);--rx: 5px;--ry: -2px}.tile.is-hit.unit-enemy .unit-glyph{--rx: -5px}@keyframes dmg-float-crit{0%{opacity:0;transform:translate(-50%) scale(.4)}18%{opacity:1;transform:translate(-50%,-14px) scale(1.45)}45%{transform:translate(-50%,-22px) scale(1.2)}to{opacity:0;transform:translate(-50%,-60px) scale(.9)}}.dmg-number.dmg-crit{font-size:20px!important;color:var(--gold-hi)!important;text-shadow:0 0 10px color-mix(in oklab,var(--gold) 70%,transparent),0 2px 4px rgba(0,0,0,.8)!important;animation:dmg-float-crit 1.3s ease-out forwards!important}@keyframes phase-sweep{0%{transform:translate(-105%);opacity:0}18%{transform:translate(0);opacity:1}72%{transform:translate(0);opacity:1}to{transform:translate(105%);opacity:0}}.phase-banner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:40;overflow:hidden}.phase-banner-inner{width:100%;padding:11px 20px;text-align:center;font-family:var(--font-title);font-size:15px;font-weight:700;letter-spacing:.18em;background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--p) 92%,transparent) 18%,color-mix(in oklab,var(--p) 96%,transparent) 50%,color-mix(in oklab,var(--p) 92%,transparent) 82%,transparent 100%);border-top:1px solid;border-bottom:1px solid;animation:phase-sweep .9s ease-in-out forwards}.phase-banner-inner.elf{color:var(--gold-hi);border-color:color-mix(in oklab,var(--gold) 50%,transparent)}.phase-banner-inner.enemy{color:#e07070;border-color:color-mix(in oklab,var(--red) 50%,transparent)}@keyframes combat-spark{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--pdx,20px),var(--pdy,-30px)) scale(.1);opacity:0}}.combat-particle{position:absolute;width:4px;height:4px;border-radius:50%;pointer-events:none;z-index:30;animation:combat-spark .75s ease-out forwards}.combat-particle.spark{background:var(--gold-hi);box-shadow:0 0 5px var(--gold)}.combat-particle.fire{background:#e07040;box-shadow:0 0 7px #c05020}.combat-particle.ice{background:#80c8e8;box-shadow:0 0 5px #5090b0}.combat-particle.heal{background:var(--hp);box-shadow:0 0 5px #40a060}@keyframes chevron-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}.unit-chevron{position:absolute;top:-11px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--gold-hi);filter:drop-shadow(0 0 4px var(--gold));animation:chevron-float 1.2s ease-in-out infinite;pointer-events:none;z-index:5}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 11px;border-bottom:1px solid var(--b);flex-shrink:0;position:relative;background:linear-gradient(180deg,color-mix(in oklab,var(--p) 70%,transparent),transparent)}.topbar:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--gold) 40%,transparent),transparent)}.pname-wrap{display:flex;align-items:center;gap:7px;cursor:pointer;background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius-pill);padding:4px 12px 4px 5px;transition:border-color .18s;position:relative}.pname-wrap:hover{border-color:var(--gold-dim);cursor:pointer}.pav-synced{font-size:11px;color:var(--rune-hi);margin-left:1px;filter:drop-shadow(0 0 4px var(--rune))}.pmodal-overlay{position:fixed;inset:0;background:#040208d1;backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--gap-lg)}.pmodal{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b2);border-radius:var(--radius-md);padding:20px 18px 18px;width:100%;max-width:320px;position:relative;box-shadow:var(--shadow-deep)}.pmodal-title{font-family:var(--font-deco);font-size:12px;letter-spacing:.35em;color:var(--gold);text-align:center;margin-bottom:16px}.pmodal-section{display:flex;flex-direction:column;gap:8px}.pmodal-lbl{font-family:var(--font-title);font-size:9px;letter-spacing:.2em;color:var(--dim)}.pmodal-row{display:flex;gap:6px}.pmodal-input{flex:1;background:var(--bg);border:1px solid var(--b2);border-radius:var(--radius-sm);color:var(--text-hi);font-family:var(--font-body);font-size:14px;padding:7px 10px;outline:none;transition:border-color .18s}.pmodal-input:focus{border-color:var(--gold-dim)}.pmodal-btn-sm{font-family:var(--font-title);font-size:10px;letter-spacing:.15em;padding:0 14px;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-dim));color:#1a1108;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.pmodal-sep{height:1px;background:linear-gradient(90deg,transparent,var(--b2),transparent);margin:14px 0}.pmodal-hint{font-family:var(--font-body);font-size:12px;color:var(--dim);line-height:1.5;margin:0 0 4px}.pmodal-btn-google{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:#3c4043;cursor:pointer;transition:box-shadow .18s;box-shadow:0 1px 3px #00000059}.pmodal-btn-google:hover{box-shadow:0 2px 8px #00000073}.pmodal-btn-google:disabled{opacity:.6;cursor:not-allowed}.pmodal-google-ico{width:18px;height:18px;flex-shrink:0}.pmodal-user{display:flex;align-items:center;gap:10px}.pmodal-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid var(--b2);flex-shrink:0}.pmodal-user-name{font-family:var(--font-title);font-size:11px;color:var(--text-hi)}.pmodal-user-email{font-family:var(--font-body);font-size:10px;color:var(--dim);margin-top:1px}.pmodal-sync-note{font-family:var(--font-body);font-size:10px;color:var(--rune-hi);margin-top:3px}.pmodal-btn-ghost{width:100%;padding:8px;background:transparent;border:1px solid var(--b2);border-radius:var(--radius-sm);color:var(--dim);font-family:var(--font-title);font-size:9px;letter-spacing:.2em;cursor:pointer;transition:border-color .18s,color .18s;margin-top:4px}.pmodal-btn-ghost:hover{border-color:var(--red);color:var(--red)}.pmodal-error{font-family:var(--font-body);font-size:11px;color:var(--red);margin-top:4px}.pmodal-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--dim2);font-size:14px;cursor:pointer;line-height:1;padding:4px}.pmodal-close:hover{color:var(--text)}.pav{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in oklab,var(--rune) 50%,transparent),transparent 60%),linear-gradient(180deg,var(--rune-deep),#0a0814);display:flex;align-items:center;justify-content:center;font-family:var(--font-deco);font-size:11px;color:var(--rune-hi);font-weight:700;border:1px solid color-mix(in oklab,var(--rune) 50%,var(--b));box-shadow:0 0 6px color-mix(in oklab,var(--rune) 30%,transparent)}.pname-wrap .pnm{font-family:var(--font-title);font-size:11px;letter-spacing:.08em;color:var(--text)}.pname-wrap .edit-ico{font-size:9px;color:var(--dim);margin-left:1px}.currs{display:flex;gap:6px}.logo-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 0 12px;gap:4px;border-bottom:1px solid var(--b);flex-shrink:0;position:relative;background:radial-gradient(90% 80% at 50% 100%,color-mix(in oklab,var(--gold) 6%,transparent),transparent 75%)}.logo-sigil{width:46px;height:46px;margin-bottom:2px;color:var(--gold);filter:drop-shadow(0 0 10px color-mix(in oklab,var(--gold) 35%,transparent))}.logo-sigil svg{width:100%;height:100%}.logo-ornament{display:flex;align-items:center;gap:10px;margin-bottom:1px}.logo-ornament .line{width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.logo-ornament .star{color:var(--gold);font-size:10px;filter:drop-shadow(0 0 5px color-mix(in oklab,var(--gold) 45%,transparent))}.logo-title{font-family:var(--font-deco);font-size:30px;letter-spacing:.35em;color:var(--gold-hi);font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.55),0 0 14px color-mix(in oklab,var(--gold) 35%,transparent);background:linear-gradient(180deg,var(--gold-hi),var(--gold) 60%,var(--gold-dim));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-left:.35em}.logo-sub{font-family:var(--font-title);font-size:8.5px;letter-spacing:.45em;color:var(--dim);padding-left:.45em}.team-strip{padding:10px 14px 9px;border-bottom:1px solid var(--b);flex-shrink:0}.strip-lbl{font-family:var(--font-title);font-size:8px;letter-spacing:.3em;color:var(--dim2);margin-bottom:7px;display:flex;align-items:center;gap:6px}.strip-lbl:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in oklab,var(--gold) 30%,transparent),transparent)}.team-row{display:flex;gap:6px;min-height:40px;align-items:stretch}.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px 14px;flex:1;align-content:start;overflow-y:auto;min-height:0}.hb{background:radial-gradient(120% 80% at 50% 0%,color-mix(in oklab,var(--rune) 4%,transparent),transparent 60%),linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:14px 10px 12px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.hb:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--gold) 28%,transparent),transparent)}.hb:hover{border-color:var(--gold-dim);background:radial-gradient(120% 80% at 50% 0%,color-mix(in oklab,var(--gold) 7%,transparent),transparent 60%),linear-gradient(180deg,var(--p2),var(--p))}.hb-acc{border-color:color-mix(in oklab,var(--gold) 45%,var(--b))!important}.hb-acc:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 100%,color-mix(in oklab,var(--gold) 9%,transparent),transparent 70%);pointer-events:none}.hb-icon{width:36px;height:36px;color:var(--gold);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 5px color-mix(in oklab,var(--gold) 25%,transparent))}.hb-icon svg{width:100%;height:100%}.hb-acc .hb-icon{color:var(--gold-hi)}.hb-name{font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--text-hi)}.hb-desc{font-family:var(--font-body);font-size:9px;color:var(--dim);text-align:center;line-height:1.45}.hb-bdg{position:absolute;top:6px;right:6px}.hub-grid .hb:last-child:nth-child(odd){grid-column:1 / -1}.dlist{flex:1;overflow-y:auto;padding:var(--gap-md);display:flex;flex-direction:column;gap:9px}.dc{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:11px 12px;cursor:pointer;transition:border-color .18s,background .18s;display:flex;gap:var(--gap-md);position:relative;box-shadow:var(--shadow-card)}.dc:hover:not(.dc-locked){border-color:var(--gold-dim);background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 4%,var(--p2)),var(--p))}.dc-tut{border-color:color-mix(in oklab,var(--gold) 50%,var(--b))!important;background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 7%,var(--p2)),var(--p))!important;box-shadow:var(--shadow-card),var(--glow-gold)}.dc-locked{opacity:.35;cursor:not-allowed;filter:grayscale(.5)}.dc-ic{width:44px;height:44px;background:radial-gradient(circle at 35% 30%,color-mix(in oklab,var(--rune) 18%,transparent),transparent 65%),linear-gradient(180deg,#14101e,#0a0814);border:1px solid var(--b2);border-radius:var(--radius-sm);flex-shrink:0;color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px}.dc-ic svg{width:26px;height:26px}.dc-tut .dc-ic{border-color:color-mix(in oklab,var(--gold) 50%,var(--b));color:var(--gold-hi);filter:drop-shadow(0 0 4px color-mix(in oklab,var(--gold) 40%,transparent))}.dc-inf{flex:1;min-width:0}.dc-nm{font-family:var(--font-title);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--text-hi);margin-bottom:3px}.dc-ds{font-family:var(--font-body);font-size:10px;color:var(--dim);line-height:1.45}.tags{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0 0}.fw{flex:1;overflow-y:auto;padding:var(--gap-md);display:flex;flex-direction:column;gap:7px}.fc{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:10px 12px;position:relative;box-shadow:var(--shadow-card)}.fc-dn{border-color:color-mix(in oklab,var(--hp) 45%,var(--b));opacity:.7}.fc-dn:after{content:"✓";position:absolute;top:6px;right:8px;color:var(--hp);font-size:12px;font-weight:700}.fc-cu{border-color:color-mix(in oklab,var(--gold) 55%,var(--b));background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 7%,var(--p2)),var(--p));box-shadow:var(--shadow-card),var(--glow-gold)}.fc-lock{opacity:.3;pointer-events:none;filter:grayscale(.5)}.fc-depth{position:absolute;right:10px;top:10px;font-family:var(--font-body);font-size:9px;font-style:italic;color:var(--dim2);letter-spacing:.08em}.fc-num{font-family:var(--font-title);font-size:11px;color:var(--gold);letter-spacing:.2em;margin-bottom:4px;display:flex;align-items:center;gap:6px}.fc-num .roman{font-family:var(--font-deco);font-size:14px;font-weight:700}.fc-nm{font-family:var(--font-title);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--text-hi);margin-bottom:4px}.fc-desc{font-family:var(--font-body);font-size:10px;color:var(--dim);line-height:1.45;margin-bottom:7px}.fc-gift{display:flex;align-items:center;gap:7px;background:linear-gradient(180deg,#0e0a1a,#08060f);border:1px solid color-mix(in oklab,var(--gold) 22%,var(--b));border-radius:var(--radius-sm);padding:6px 9px;margin-bottom:7px}.fc-gift-ic{width:26px;height:26px;background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid color-mix(in oklab,var(--gold) 40%,var(--b));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--gold-hi);flex-shrink:0}.fc-gift-ic svg{width:16px;height:16px}.fc-gift-text{font-family:var(--font-body);font-size:10px;color:var(--gold-hi);flex:1;line-height:1.35}.fc-gift-text .lbl{font-family:var(--font-title);font-size:7.5px;letter-spacing:.25em;color:var(--gold-dim);display:block;margin-bottom:1px}.fc-new{font-size:7px;background:var(--red);color:#fff;padding:1px 5px;border-radius:2px;letter-spacing:.15em;font-weight:700}.fc-enter-btn{width:100%;margin-top:7px;font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.25em;padding:9px;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,var(--gold-dim));color:#1a1108;border:1px solid var(--gold-deep);cursor:pointer;border-radius:var(--radius-sm);text-shadow:0 1px 0 rgba(255,240,200,.4);box-shadow:0 1px #ffffff40 inset,0 -1px #00000059 inset;transition:filter .18s}.fc-enter-btn:hover{filter:brightness(1.08)}#s-combat{background:radial-gradient(80% 50% at 50% 0%,color-mix(in oklab,var(--rune) 6%,transparent),transparent 60%),var(--bg);flex-direction:column}.combat-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--b);flex-shrink:0;background:linear-gradient(180deg,var(--p2),transparent);gap:8px}.combat-turn-info{font-family:var(--font-title);font-size:10px;letter-spacing:.2em;color:var(--gold-hi);white-space:nowrap}.combat-turn-info .turn-n{font-family:var(--font-deco);font-size:12px;font-weight:700;margin-right:4px}.combat-phase{font-family:var(--font-body);font-size:9px;color:var(--dim);font-style:italic}.combat-queue{display:flex;align-items:center;gap:4px;padding:5px 12px 6px;border-bottom:1px solid var(--b);flex-shrink:0;background:linear-gradient(180deg,color-mix(in oklab,var(--p) 60%,transparent),transparent);overflow-x:auto;scrollbar-width:none}.combat-queue::-webkit-scrollbar{display:none}.combat-queue-lbl{font-family:var(--font-title);font-size:7px;letter-spacing:.3em;color:var(--dim2);margin-right:4px;flex-shrink:0}.q-port{width:22px;height:26px;background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b2);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text);flex-shrink:0;position:relative}.q-port.is-active{border-color:var(--gold);box-shadow:0 0 6px color-mix(in oklab,var(--gold) 50%,transparent)}.q-port.is-active:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border:3px solid transparent;border-bottom-color:var(--gold)}.q-port.is-enemy{border-color:color-mix(in oklab,var(--red) 50%,var(--b2))}.q-port.is-dead{opacity:.25;filter:grayscale(1)}.q-sep{width:1px;height:16px;background:var(--b);flex-shrink:0;margin:0 3px}.combat-main{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.combat-grid-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;position:relative;min-height:0;perspective:1000px;perspective-origin:50% 20%}#combat-grid{display:grid;gap:2px;padding:4px;background:linear-gradient(180deg,var(--p),var(--bg-soft));border:1px solid var(--b);border-radius:var(--radius-sm);box-shadow:inset 0 0 18px #0000008c,0 0 0 1px color-mix(in oklab,var(--gold) 14%,transparent);transform:rotateX(8deg);transform-origin:50% 55%;transform-style:preserve-3d}.tile{width:38px;height:38px;background:linear-gradient(180deg,#0d0b1e,#08060f);border:1px solid #1a1530;border-top-color:#24203a;border-bottom-color:#060408;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background .12s,border-color .12s;--unit: var(--gold)}.tile:hover{background:#15102a}.tile.reachable{background:color-mix(in oklab,var(--rune) 12%,#0a081a);border-color:color-mix(in oklab,var(--rune) 45%,var(--b2));box-shadow:inset 0 0 6px color-mix(in oklab,var(--rune) 20%,transparent)}.tile.reachable:before{content:"";position:absolute;inset:4px;border:1px dashed color-mix(in oklab,var(--rune) 50%,transparent);border-radius:1px;pointer-events:none}.tile.attackable{background:color-mix(in oklab,var(--red) 14%,#0a081a);border-color:color-mix(in oklab,var(--red) 55%,var(--b2));box-shadow:inset 0 0 6px color-mix(in oklab,var(--red) 24%,transparent)}.tile.attackable:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 40%,color-mix(in oklab,var(--red) 28%,transparent) 50%,transparent 60%);pointer-events:none}.tile.range-preview{background:color-mix(in oklab,var(--gold) 8%,#0a081a);border-color:color-mix(in oklab,var(--gold) 35%,var(--b2))}.tile.ambient-reach{background:color-mix(in oklab,var(--rune) 5%,#0a081a);border-color:color-mix(in oklab,var(--rune) 20%,var(--b2))}.tile.attack-range{background:color-mix(in oklab,#e06030 8%,#0a081a);border-color:color-mix(in oklab,#e06030 30%,var(--b2));box-shadow:inset 0 0 4px color-mix(in oklab,#e06030 12%,transparent)}.tile.attackable{animation:pulse-attack 1.1s ease-in-out infinite}.tile.heal-range{background:color-mix(in oklab,var(--hp) 10%,#0a081a);border-color:color-mix(in oklab,var(--hp) 40%,var(--b2));box-shadow:inset 0 0 5px color-mix(in oklab,var(--hp) 18%,transparent);animation:pulse-heal 1.3s ease-in-out infinite}.tile.aoe-preview{background:color-mix(in oklab,var(--gold) 12%,#0a081a);border-color:color-mix(in oklab,var(--gold) 55%,var(--b2));box-shadow:inset 0 0 8px color-mix(in oklab,var(--gold) 22%,transparent)}.tile-hp .fill{transition:width .4s ease-out}.tile.has-unit{background:radial-gradient(60% 60% at 50% 35%,color-mix(in oklab,var(--unit) 22%,transparent),transparent 75%),linear-gradient(180deg,#14101e,#08060f);border-color:color-mix(in oklab,var(--unit) 55%,var(--b2));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--unit) 20%,transparent),0 1px #0006}.tile.has-unit .unit-glyph{color:color-mix(in oklab,var(--unit) 70%,var(--text-hi));filter:drop-shadow(0 0 3px color-mix(in oklab,var(--unit) 50%,transparent));display:flex;align-items:center;justify-content:center;width:70%;height:70%;margin-top:-3px}.tile.has-unit .unit-glyph svg{width:100%;height:100%}.tile.has-unit:before{content:"";position:absolute;top:2px;left:2px;width:5px;height:5px;border-top:1px solid color-mix(in oklab,var(--unit) 70%,transparent);border-left:1px solid color-mix(in oklab,var(--unit) 70%,transparent);pointer-events:none}.tile.has-unit:after{content:"";position:absolute;bottom:7px;right:2px;width:5px;height:5px;border-bottom:1px solid color-mix(in oklab,var(--unit) 70%,transparent);border-right:1px solid color-mix(in oklab,var(--unit) 70%,transparent);pointer-events:none}.tile.unit-warrior{--unit: #d97a52}.tile.unit-archer{--unit: #7ac096}.tile.unit-mage{--unit: var(--r-epic)}.tile.unit-guardian{--unit: var(--rune)}.tile.unit-spy{--unit: #9670c8}.tile.unit-healer{--unit: #88e0b8}.tile.unit-monk{--unit: #e8d4a0}.tile.unit-bard{--unit: var(--gold-hi)}.tile.unit-ensnarer{--unit: #6a8fd4}.tile.unit-enemy{--unit: var(--red)}.tile.selected-unit{border-color:var(--gold-hi);background:radial-gradient(60% 60% at 50% 35%,color-mix(in oklab,var(--unit) 30%,transparent),transparent 75%),linear-gradient(180deg,color-mix(in oklab,var(--gold) 8%,#14101e),#08060f);box-shadow:0 0 0 1px var(--gold-hi),0 0 10px color-mix(in oklab,var(--gold) 50%,transparent)}.tile.selected-unit:before,.tile.selected-unit:after{border-color:var(--gold-hi)}.ap-dots{position:absolute;top:1px;left:50%;transform:translate(-50%);display:flex;gap:1.5px;z-index:2}.ap-dot{width:3px;height:3px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 3px color-mix(in oklab,var(--gold) 60%,transparent)}.ap-dot.used{background:var(--mute);box-shadow:none}.tile.zone-elf:after{content:"";position:absolute;inset:0;border:1px dashed color-mix(in oklab,var(--hp) 35%,transparent);pointer-events:none}.combat-dock{flex-shrink:0;display:flex;background:linear-gradient(180deg,var(--p2),var(--p));border-top:1px solid color-mix(in oklab,var(--gold) 28%,var(--b));position:relative;min-height:156px}.combat-dock:before{content:"";position:absolute;top:-1px;left:12px;right:12px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--gold) 55%,transparent),transparent)}.dock-unit{display:flex;gap:8px;padding:8px 8px 8px 10px;flex:1;min-width:0;border-right:1px solid var(--b)}.dock-portrait{width:52px;height:62px;background:radial-gradient(60% 60% at 50% 30%,color-mix(in oklab,var(--rune) 12%,transparent),transparent 70%),linear-gradient(180deg,#14101e,#08060f);border:1px solid var(--b2);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;overflow:hidden}.dock-portrait.is-active{border-color:var(--gold-hi);box-shadow:0 0 12px color-mix(in oklab,var(--gold) 35%,transparent)}.dock-portrait img{width:100%;height:100%;object-fit:cover;object-position:top center}.dock-portrait .class-badge{position:absolute;bottom:2px;right:2px;width:14px;height:14px;background:#000000b3;border:1px solid color-mix(in oklab,var(--gold) 45%,transparent);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--gold-hi)}.dock-portrait .class-badge svg{width:9px;height:9px}.dock-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dock-name{font-family:var(--font-title);font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--gold-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-meta{font-family:var(--font-body);font-size:9px;color:var(--dim);font-style:italic}.dock-meta .sep{color:var(--mute);margin:0 4px}.dock-stats{display:flex;flex-direction:column;gap:3px;margin-top:2px}.dock-stats .bar-wrap{gap:6px}.dock-stats .lbl{font-family:var(--font-title);font-size:7.5px;letter-spacing:.15em;width:16px;text-align:right}.dock-stats .lbl-hp{color:var(--hp)}.dock-stats .lbl-mp{color:var(--mp)}.dock-stats .val{font-family:var(--font-body);font-size:9px;color:var(--text)}.dock-ap-row{display:flex;align-items:center;gap:6px;margin-top:2px}.dock-ap-row .ap-lbl{font-family:var(--font-title);font-size:7.5px;letter-spacing:.2em;color:var(--gold-dim)}.dock-ap-row .ap-pip{width:8px;height:8px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 5px color-mix(in oklab,var(--gold) 60%,transparent);border:1px solid var(--gold-deep)}.dock-ap-row .ap-pip.used{background:transparent;box-shadow:none;border-color:var(--mute)}.dock-actions{width:124px;flex-shrink:0;display:flex;flex-direction:column;padding:8px 9px 8px 8px;gap:3px}.act-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(180deg,color-mix(in oklab,var(--p3) 70%,transparent),color-mix(in oklab,var(--p2) 80%,transparent));border:1px solid var(--b2);color:var(--text);font-family:var(--font-title);font-size:9px;font-weight:500;letter-spacing:.1em;padding:5px 7px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s,background .15s;text-align:left;position:relative}.act-btn .ico{width:12px;height:12px;color:var(--gold-dim)}.act-btn .ap-cost{margin-left:auto;font-family:var(--font-body);font-size:9px;color:var(--gold-dim);font-style:italic}.act-btn:hover{border-color:var(--gold-dim);color:var(--gold-hi)}.act-btn:hover .ico,.act-btn:hover .ap-cost{color:var(--gold-hi)}.act-btn.is-active{border-color:var(--gold-hi);color:var(--gold-hi);background:color-mix(in oklab,var(--gold) 10%,var(--p2));box-shadow:0 0 8px color-mix(in oklab,var(--gold) 30%,transparent)}.act-btn:disabled,.act-btn.disabled{opacity:.4;cursor:not-allowed;color:var(--dim2)}.dock-log-btn{margin-top:auto;width:100%;font-family:var(--font-title);font-size:8px;letter-spacing:.2em;padding:4px;background:transparent;border:1px solid var(--b);color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s}.dock-log-btn:hover{color:var(--rune);border-color:var(--rune-dim)}.combat-log{position:absolute;inset:0;background:linear-gradient(180deg,var(--p2),var(--p));border-top:1px solid color-mix(in oklab,var(--rune) 35%,var(--b));z-index:5;display:none;flex-direction:column}.combat-log.on{display:flex}.log-header{display:flex;align-items:center;justify-content:space-between;padding:7px 11px;border-bottom:1px solid var(--b)}.log-title{font-family:var(--font-title);font-size:9px;letter-spacing:.3em;color:var(--rune-hi)}.log-close{background:transparent;border:none;color:var(--dim);font-size:14px;cursor:pointer;padding:0 4px}.log-close:hover{color:var(--gold)}.log-entries{flex:1;overflow-y:auto;padding:8px 11px;display:flex;flex-direction:column;gap:5px}.log-entry{font-family:var(--font-body);font-size:10.5px;line-height:1.5;padding:5px 8px;border-left:2px solid transparent;background:color-mix(in oklab,var(--p3) 40%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text)}.log-entry .t{font-family:var(--font-title);font-size:8px;letter-spacing:.15em;color:var(--dim2);margin-right:5px}.log-entry .actor{font-weight:600}.log-entry .num{font-weight:700;color:var(--gold-hi);font-family:var(--font-title)}.log-elf{border-color:var(--hp)}.log-elf .actor{color:#9ed8ae}.log-enemy{border-color:var(--red)}.log-enemy .actor{color:#f0a098}.log-system{border-color:var(--gold-dim);color:var(--gold-dim);font-style:italic}.log-ai{border-color:var(--r-epic);color:#d4b8f0}.combat-bottom{padding:6px 12px;border-top:1px solid var(--b);font-family:var(--font-body);font-size:10px;font-style:italic;color:var(--dim);flex-shrink:0;min-height:28px;display:flex;align-items:center;gap:6px}.combat-tip-anchor{position:relative}.mkt-tabs{display:flex;border-bottom:1px solid var(--b);flex-shrink:0;background:linear-gradient(180deg,color-mix(in oklab,var(--p) 50%,transparent),transparent)}.mkt-tab{flex:1;padding:9px 4px;font-family:var(--font-title);font-size:9px;font-weight:500;letter-spacing:.2em;text-align:center;cursor:pointer;color:var(--dim);border-bottom:2px solid transparent;background:transparent;border-top:none;border-left:none;border-right:none;transition:color .18s,border-color .18s;position:relative}.mkt-tab.on{color:var(--gold-hi);border-bottom-color:var(--gold)}.mkt-tab.on:after{content:"";position:absolute;bottom:-2px;left:20%;right:20%;height:2px;background:var(--gold);box-shadow:0 0 8px color-mix(in oklab,var(--gold) 55%,transparent)}.mkt-body{flex:1;overflow-y:auto;padding:9px}.gold-banner{display:flex;align-items:center;gap:7px;padding:8px 11px;background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 8%,var(--p2)),color-mix(in oklab,var(--gold) 3%,var(--p)));border:1px solid color-mix(in oklab,var(--gold) 25%,var(--b));border-radius:var(--radius);margin-bottom:10px;font-family:var(--font-body);font-size:10px;color:var(--dim);font-style:italic}.gold-banner .ico{color:var(--gold);width:14px;height:14px}.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.item-card{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);overflow:hidden;transition:border-color .18s,transform .18s;position:relative;display:flex;flex-direction:column}.item-card:hover{border-color:var(--gold-dim)}.item-img{height:64px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--gold);background:radial-gradient(60% 60% at 50% 35%,color-mix(in oklab,var(--rune) 8%,transparent),transparent 75%),linear-gradient(180deg,#0e0a1a,#06040c);border-bottom:1px solid var(--b);position:relative}.item-img svg{width:28px;height:28px}.item-body{padding:7px 9px 8px}.item-name{font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--text-hi);margin-bottom:2px}.item-type{font-family:var(--font-body);font-size:9px;color:var(--dim);font-style:italic;margin-bottom:4px}.item-stat{font-family:var(--font-body);font-size:9.5px;color:var(--hp);margin-bottom:6px}.item-price{display:flex;align-items:center;gap:4px;margin-bottom:6px;font-family:var(--font-title);font-size:10px;color:var(--gold-hi)}.item-price .ico{color:var(--gold);width:10px;height:10px}.buy-btn{width:100%;font-family:var(--font-title);font-size:8.5px;letter-spacing:.2em;padding:5px;background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 14%,transparent),transparent);border:1px solid color-mix(in oklab,var(--gold) 45%,var(--b));color:var(--gold-hi);cursor:pointer;border-radius:var(--radius-sm);transition:filter .15s,background .15s}.buy-btn:hover{background:linear-gradient(180deg,color-mix(in oklab,var(--gold) 24%,transparent),color-mix(in oklab,var(--gold) 8%,transparent))}.buy-btn-disabled{font-family:var(--font-body);font-size:9px;color:var(--dim2);text-align:center;padding:5px;border:1px dashed var(--b);border-radius:var(--radius-sm);font-style:italic}@media(max-width:720px){.hb-name{font-size:13px;letter-spacing:.18em}.hb-desc{font-size:13px;line-height:1.5;letter-spacing:.005em}.dc-nm{font-size:14px;letter-spacing:.1em}.dc-ds{font-size:13px;line-height:1.5}.fc-num{font-size:13px}.fc-nm{font-size:13px;letter-spacing:.08em}.fc-desc{font-size:13px;line-height:1.5}.fc-gift-text{font-size:12px}.combat-turn-info{font-size:13px;letter-spacing:.14em}.item-name{font-size:13px;letter-spacing:.06em}.hero-row .hr-meta{font-size:12px}.hero-hero .hh-class{font-size:12px;letter-spacing:.16em}.hero-hero .hh-race{font-size:13px}.equip-slot .slot-item .nm,.equip-slot .slot-item .bonus{font-size:12px}.mission-name{font-size:13px;letter-spacing:.06em}.mission-desc{font-size:13px;line-height:1.5}.daily-reset-label{font-size:12px}.pity-lbl{font-size:12px;letter-spacing:.14em}.pb1 .lbl,.pb10 .lbl{font-size:15px}.pb1 .price,.pb10 .price{font-size:13px}.pb10 .bonus{font-size:11px}.rp{font-size:11px;letter-spacing:.08em;padding:5px 10px}.guild-roster .roster-title{font-size:12px;letter-spacing:.14em}.dock-name{font-size:12px;letter-spacing:.08em}}@media(max-width:720px){.pb1,.pb10,.fc-enter-btn{min-height:44px}}.guild-body{flex:1;overflow-y:auto;padding:var(--gap-md) var(--gap-md) 14px;display:flex;flex-direction:column;gap:var(--gap-md)}.guild-info{background:linear-gradient(180deg,color-mix(in oklab,var(--rune) 8%,var(--p2)),color-mix(in oklab,var(--rune) 3%,var(--p)));border:1px solid color-mix(in oklab,var(--rune) 25%,var(--b));border-radius:var(--radius);padding:9px 12px;font-family:var(--font-body);font-size:10.5px;color:var(--text);line-height:1.55;position:relative}.guild-info .ic{color:var(--rune);width:16px;height:16px;vertical-align:-3px;margin-right:4px}.guild-pull{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 0}.guild-orb{width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--rune-hi),var(--rune) 25%,var(--rune-deep) 70%,#06040c);border:2px solid color-mix(in oklab,var(--rune) 55%,var(--b));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .25s,transform .25s,box-shadow .25s;user-select:none;position:relative;box-shadow:0 0 0 4px color-mix(in oklab,var(--rune) 10%,transparent),0 0 24px color-mix(in oklab,var(--rune) 35%,transparent),inset 0 -10px 24px #0000008c}.guild-orb:before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px dashed color-mix(in oklab,var(--rune) 35%,transparent);animation:orbit 18s linear infinite}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.guild-orb:hover{transform:scale(1.04);box-shadow:0 0 0 6px color-mix(in oklab,var(--rune) 14%,transparent),0 0 32px color-mix(in oklab,var(--rune) 50%,transparent),inset 0 -10px 24px #0000008c}.guild-orb svg{width:44px;height:44px;color:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.65))}.pity-wrap{width:100%}.pity-lbl{display:flex;justify-content:space-between;font-family:var(--font-title);font-size:10px;color:var(--dim);margin-bottom:4px;letter-spacing:.2em}.pity-lbl .pity-count{color:var(--r-epic)}.pity-bg{height:5px;background:#06040c;border-radius:2px;border:1px solid var(--b);overflow:hidden}.pity-fill{height:100%;background:linear-gradient(180deg,var(--r-epic-hi),var(--r-epic));border-radius:2px;transition:width .5s;box-shadow:0 0 6px color-mix(in oklab,var(--r-epic) 45%,transparent)}.pull-btns{display:flex;gap:9px;width:100%}.pb1,.pb10{flex:1;font-family:var(--font-title);font-size:9.5px;font-weight:600;letter-spacing:.2em;padding:9px 4px 8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:filter .18s,transform .05s;position:relative}.pb1{background:linear-gradient(180deg,var(--p3),var(--p));border:1px solid var(--b2);color:var(--text)}.pb1:hover{border-color:var(--gold-dim);color:var(--gold-hi)}.pb10{background:linear-gradient(180deg,color-mix(in oklab,var(--rune) 20%,transparent),color-mix(in oklab,var(--rune) 5%,transparent));border:1px solid color-mix(in oklab,var(--rune) 60%,var(--b));color:var(--rune-hi);box-shadow:0 0 14px color-mix(in oklab,var(--rune) 22%,transparent)}.pb10:hover{filter:brightness(1.15)}.pb1 .lbl,.pb10 .lbl{font-size:14px}.pb1 .price,.pb10 .price{font-family:var(--font-body);font-size:11px;font-weight:400;letter-spacing:.03em;color:var(--dim);font-style:italic}.pb10 .price{color:color-mix(in oklab,var(--rune-hi) 75%,var(--dim))}.pb10 .bonus{font-family:var(--font-body);font-size:10.5px;font-style:italic;color:var(--gold-hi)}.rate-pills{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.guild-roster{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:9px 11px 11px}.guild-roster .roster-title{font-family:var(--font-title);font-size:10px;letter-spacing:.25em;color:var(--dim);margin-bottom:7px;display:flex;align-items:center;gap:6px}.guild-roster .roster-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in oklab,var(--gold) 25%,transparent),transparent)}.roster-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.roster-hero{display:flex;flex-direction:column;align-items:center;gap:2px}.roster-port{width:100%;aspect-ratio:7 / 8;background:radial-gradient(60% 60% at 50% 30%,color-mix(in oklab,var(--rune) 10%,transparent),transparent 70%),linear-gradient(180deg,#0e0a1a,#06040c);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--gold-hi);border:1px solid;position:relative}.roster-hero .nm{font-family:var(--font-title);font-size:7px;color:var(--dim);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.result-modal{position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 50%,color-mix(in oklab,var(--rune) 12%,transparent),transparent 75%),#040208f0;backdrop-filter:blur(3px);z-index:80;display:none;flex-direction:column;align-items:center;justify-content:center;padding:var(--gap-lg)}.result-modal.on{display:flex}.result-title{font-family:var(--font-deco);font-size:14px;font-weight:700;letter-spacing:.4em;color:var(--gold);margin-bottom:16px;text-shadow:0 0 12px color-mix(in oklab,var(--gold) 50%,transparent)}.result-cards{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;max-width:320px}.result-card{width:64px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--p2),var(--p));position:relative}.result-card-img{height:74px;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--gold-hi);background:radial-gradient(70% 60% at 50% 30%,color-mix(in oklab,var(--r, var(--gold)) 18%,transparent),transparent 75%),#0a0814;position:relative}.result-card-img svg{width:30px;height:30px}.result-card-meta{padding:4px 5px;font-family:var(--font-body);font-size:8px;color:var(--text);border-top:1px solid var(--b);text-align:center;line-height:1.3}.result-card-new{position:absolute;top:3px;right:3px;background:var(--red);color:#fff;font-family:var(--font-title);font-size:7px;font-weight:700;letter-spacing:.2em;padding:1px 4px;border-radius:2px}.guild-modal-close{margin-top:20px;font-family:var(--font-title);font-size:11px;font-weight:600;letter-spacing:.3em;padding:10px 28px;background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,var(--gold-dim));color:#1a1108;border:1px solid var(--gold-deep);border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 1px #ffffff40 inset,0 -1px #00000059 inset;transition:filter .18s}.guild-modal-close:hover{filter:brightness(1.1)}.result-content{display:flex;flex-direction:column;align-items:center;gap:12px}.result-headline{position:relative}.result-card--hero{width:110px}.result-card--hero .result-card-img{height:110px}.result-card--hero .result-card-meta{font-size:9px;padding:5px 6px}.mini-pulls{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:300px}.mini-pull-card{width:38px;height:42px;border-radius:2px;border:1px solid var(--b);background:linear-gradient(180deg,var(--p2),var(--p));display:flex;align-items:center;justify-content:center;position:relative}.mini-new{position:absolute;top:1px;right:2px;font-size:7px;color:var(--gold-hi);line-height:1}#s-heroes #heroes-list,.heroes-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.heroes-section-lbl{font-family:var(--font-title);font-size:9px;letter-spacing:.3em;color:var(--dim2);padding:2px 4px;display:flex;align-items:center;gap:6px}.heroes-section-lbl:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in oklab,var(--gold) 20%,transparent),transparent)}.hero-row{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:var(--gap-md);display:flex;gap:var(--gap-md);cursor:pointer;transition:border-color .18s;box-shadow:var(--shadow-card);position:relative}.hero-row:hover{border-color:var(--gold-dim)}.hero-row .hero-portrait{width:52px;height:62px}.hero-row .hr-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.hero-row .hr-top{display:flex;align-items:baseline;gap:8px}.hero-row .hr-name{font-family:var(--font-title);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text-hi)}.hero-row .hr-meta{font-family:var(--font-body);font-size:10px;color:var(--dim);font-style:italic}.hero-row .hr-class{font-family:var(--font-title);font-size:8.5px;letter-spacing:.15em;color:var(--gold-dim);display:flex;align-items:center;gap:5px}.hero-row .hr-class .ico{width:11px;height:11px;color:var(--gold)}.hero-row .hr-bars{display:flex;flex-direction:column;gap:3px;margin-top:2px}.hero-detail-body{padding:11px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.hd-section-title{font-family:var(--font-title);font-size:9px;font-weight:600;letter-spacing:.3em;color:var(--gold);margin-bottom:7px;display:flex;align-items:center;gap:7px}.hd-section-title:before{content:"";width:14px;height:1px;background:var(--gold-dim)}.hd-section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent)}.hero-hero{display:flex;gap:11px;align-items:stretch}.hero-hero .hero-portrait{width:78px;height:96px}.hero-hero .hh-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.hero-hero .hh-name{font-family:var(--font-deco);font-size:17px;font-weight:700;letter-spacing:.04em;color:var(--text-hi);line-height:1.1}.hero-hero .hh-class{font-family:var(--font-title);font-size:10px;letter-spacing:.18em;color:var(--gold)}.hero-hero .hh-race{font-family:var(--font-body);font-size:11px;color:var(--dim);font-style:italic}.hero-hero .hh-rarity-row{display:flex;gap:5px;margin-top:3px}.hero-stats-section{display:grid;grid-template-columns:1fr 1fr;gap:5px}.stat-row{background:linear-gradient(180deg,color-mix(in oklab,var(--p3) 70%,transparent),var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);padding:6px 9px;font-family:var(--font-body);font-size:11px;display:flex;justify-content:space-between;align-items:center}.stat-row .k{color:var(--dim);font-family:var(--font-title);font-size:8.5px;letter-spacing:.15em}.stat-row .v{color:var(--gold-hi);font-weight:600;font-family:var(--font-title);font-size:11px}.stat-row .delta{color:var(--hp);font-size:9px;margin-left:4px;font-family:var(--font-body);font-style:italic}.equip-slots{display:flex;flex-direction:column;gap:6px}.equip-slot{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);padding:7px 10px;display:flex;align-items:center;gap:9px}.equip-slot .slot-icon{width:24px;height:24px;background:#0a0814;border:1px solid var(--b2);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--gold-dim);flex-shrink:0}.equip-slot .slot-icon svg{width:14px;height:14px}.equip-slot .slot-label{font-family:var(--font-title);font-size:8px;letter-spacing:.25em;color:var(--dim);width:48px;flex-shrink:0}.equip-slot .slot-item{flex:1;font-family:var(--font-body);font-size:11px;line-height:1.3;color:var(--text)}.equip-slot .slot-item .nm{font-family:var(--font-title);font-size:10px;letter-spacing:.05em;color:var(--text-hi)}.equip-slot .slot-item .bonus{color:var(--hp);font-size:10px;font-style:italic}.equip-slot .slot-item.empty{color:var(--dim2);font-style:italic}.equip-slot button{font-family:var(--font-title);font-size:7.5px;letter-spacing:.18em;padding:4px 8px;background:transparent;border:1px solid var(--b2);color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.equip-slot button:hover{border-color:var(--red);color:var(--red)}.equip-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.equip-item-card{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);padding:7px 9px;cursor:pointer;transition:border-color .15s}.equip-item-card:hover{border-color:var(--gold-dim)}.equip-item-card .item-name{font-family:var(--font-title);font-size:9.5px;font-weight:600;letter-spacing:.05em;margin-bottom:2px;color:var(--text-hi)}.equip-item-card .item-bonus{font-family:var(--font-body);color:var(--hp);font-size:10px;font-style:italic}.name-overlay{z-index:50}.name-box{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b2);border-radius:var(--radius);padding:18px;width:280px;position:relative;box-shadow:var(--shadow-deep)}.name-box:before,.name-box:after{content:"";position:absolute;width:12px;height:12px;border:1px solid color-mix(in oklab,var(--gold) 60%,var(--b))}.name-box:before{top:5px;left:5px;border-right:none;border-bottom:none}.name-box:after{bottom:5px;right:5px;border-left:none;border-top:none}.name-box label{font-family:var(--font-title);font-size:9px;letter-spacing:.3em;color:var(--gold);display:block;margin-bottom:9px}.name-input{width:100%;background:#06040c;border:1px solid var(--b2);color:var(--text);padding:9px 11px;font-family:var(--font-title);font-size:13px;letter-spacing:.05em;border-radius:var(--radius-sm);margin-bottom:14px;outline:none;transition:border-color .15s,box-shadow .15s}.name-input:focus{border-color:var(--gold-dim);box-shadow:0 0 0 2px color-mix(in oklab,var(--gold) 18%,transparent)}#s-missions .missions-body,.missions-body{padding:11px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.missions-section-title{font-family:var(--font-title);color:var(--gold);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3em;margin-bottom:9px;display:flex;align-items:center;gap:7px}.missions-section-title:before{content:"";width:16px;height:1px;background:var(--gold-dim)}.missions-section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent)}.daily-reset-label{font-family:var(--font-body);font-size:10px;font-style:italic;color:var(--dim);margin-bottom:8px}.mission-card{background:linear-gradient(180deg,var(--p2),var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:11px 12px;margin-bottom:7px;position:relative}.mission-card.claimable{border-color:color-mix(in oklab,var(--gold) 55%,var(--b));box-shadow:var(--glow-gold)}.mission-card.claimed{opacity:.5}.mission-card.claimed:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 8px,color-mix(in oklab,var(--mute) 30%,transparent) 8px 9px);pointer-events:none;border-radius:inherit}.mission-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;gap:8px}.mission-name{font-family:var(--font-title);font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--text-hi)}.mission-reward{font-family:var(--font-title);font-size:9.5px;letter-spacing:.12em;color:var(--gold-hi);display:flex;align-items:center;gap:3px;white-space:nowrap}.mission-reward .ico{width:11px;height:11px;color:var(--rune)}.mission-reward .bonus{font-family:var(--font-body);font-style:italic;color:var(--gold-dim);font-size:8.5px;margin-left:3px}.mission-desc{font-family:var(--font-body);font-size:10.5px;color:var(--dim);margin-bottom:7px;line-height:1.4}.mission-progress-bar{height:5px;background:#06040c;border:1px solid var(--b);border-radius:2px;margin-bottom:6px;overflow:hidden}.mission-progress-bar>div{height:100%;background:linear-gradient(180deg,var(--gold-hi),var(--gold));border-radius:2px;transition:width .4s;box-shadow:0 0 5px color-mix(in oklab,var(--gold) 50%,transparent)}.mission-footer{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);font-size:10px;color:var(--dim)}.mission-footer .progress-txt{font-family:var(--font-title);font-size:9px;letter-spacing:.12em}.mission-footer button{background:linear-gradient(180deg,var(--gold-hi),var(--gold) 45%,var(--gold-dim));color:#1a1108;border:1px solid var(--gold-deep);padding:5px 14px;border-radius:var(--radius-sm);font-family:var(--font-title);font-size:9px;font-weight:600;letter-spacing:.18em;cursor:pointer;box-shadow:0 1px #ffffff40 inset,0 -1px #0000004d inset}.mission-footer button:hover{filter:brightness(1.08)}.mission-done-tag{color:var(--hp);font-family:var(--font-title);font-size:9px;letter-spacing:.15em}.heroes-toolbar{display:flex;align-items:center;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--b);flex-shrink:0}.heroes-filter-chips{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;scroll-snap-type:x proximity}.heroes-filter-chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;scroll-snap-align:start;padding:8px 12px;min-height:36px;border:1px solid var(--b);background:#00000040;color:var(--dim);font-family:var(--font-title);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.chip:hover{color:var(--text)}.chip.is-on{background:#d4af5f1f;border-color:var(--gold-dim);color:var(--gold-hi)}.heroes-sort{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:8px 12px;min-height:36px;border:1px solid var(--b);background:#0000004d;color:var(--gold-hi);font-family:var(--font-title);font-size:11px;letter-spacing:.12em;border-radius:8px;cursor:pointer}.heroes-section-filter{color:var(--dim);font-style:italic;text-transform:none;letter-spacing:0;font-size:10px;margin-left:4px}.team-grid{padding:0 12px;display:flex;flex-direction:column;gap:8px}.team-slot--empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:72px;border:1px dashed var(--mute, var(--b));border-radius:10px;background:#0003;color:var(--dim2)}.team-slot-plus{font-family:var(--font-title);font-size:22px;line-height:1;color:var(--gold-dim);opacity:.7}.team-slot-label{font-family:var(--font-title);font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:.7}.hero-row{position:relative;cursor:pointer;transition:background .15s,transform .12s}.hero-row:hover{background:#ffffff05}.hero-row:active{transform:scale(.99)}.hero-portrait-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.hr-rarity-tag{font-family:var(--font-title);font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:4px;border:1px solid currentColor;background:color-mix(in oklab,currentColor 10%,transparent)}.hr-rarity-tag.r-common{color:var(--r-common)}.hr-rarity-tag.r-rare{color:var(--r-rare)}.hr-rarity-tag.r-epic{color:var(--r-epic)}.hr-rarity-tag.r-legendary{color:var(--r-legend)}.hr-race{color:var(--dim);font-style:italic}.hr-xp{display:flex;align-items:center;gap:8px;margin-top:5px}.hr-xp-bg{flex:1;height:3px;background:#00000080;border-radius:2px;overflow:hidden}.hr-xp-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold-hi));transition:width .4s ease}.hr-xp-label{font-family:var(--font-body);font-size:10px;color:var(--dim);font-variant-numeric:tabular-nums;min-width:86px;text-align:right;white-space:nowrap}.hero-action{flex-shrink:0;align-self:stretch;margin-left:8px;padding:0 12px;border:1px solid var(--b);background:#0000004d;color:var(--gold-hi);font-family:var(--font-title);font-size:10px;font-weight:600;letter-spacing:.15em;border-radius:8px;cursor:pointer;min-width:70px;min-height:44px;transition:background .15s,border-color .15s}.hero-action:hover:not(.is-disabled):not(:disabled){border-color:var(--gold-dim);background:#d4af5f14}.hero-action.is-disabled,.hero-action:disabled{opacity:.3;cursor:not-allowed}.hero-new-badge{position:absolute;top:-6px;left:14px;background:linear-gradient(180deg,#f36451,#cc272e);color:#fff;font-family:var(--font-title);font-size:9px;font-weight:700;letter-spacing:.12em;padding:3px 8px;border-radius:4px;z-index:2;box-shadow:0 2px 8px #00000080}.heroes-empty{padding:56px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.heroes-empty-glyph{font-size:64px;color:var(--gold-dim);filter:drop-shadow(0 0 24px var(--gold-dim));animation:orb-idle 4s ease-in-out infinite}.heroes-empty-title{font-family:var(--font-title);font-size:16px;letter-spacing:.12em;color:var(--gold-hi);text-transform:uppercase}.heroes-empty-desc{font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--dim);max-width:290px}.heroes-empty-filter{padding:28px 24px;text-align:center;font-family:var(--font-body);font-style:italic;font-size:13px;color:var(--dim)}.dup-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 6px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));display:flex;flex-direction:column;align-items:center;gap:3px;z-index:3}.dup-label{font-family:var(--font-body);font-size:9px;font-style:italic;color:var(--dim)}.dup-xp{font-family:var(--font-title);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--gold-hi);text-shadow:0 0 8px var(--gold-dim)}.dup-levelup{font-family:var(--font-title);font-size:11px;letter-spacing:.15em;color:#61d46a;text-shadow:0 0 6px oklch(.55 .2 145)}@media(max-width:720px){.hero-action{font-size:11px;min-width:64px;padding:0 10px}.chip{font-size:11px;padding:9px 13px;min-height:38px}.heroes-sort{font-size:11px;min-height:38px}.hr-xp-label{font-size:11px;min-width:92px}}
