@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(70% .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 #d4b37040;--glow-rune:0 0 14px #8ec5d459;--shadow-card:0 1px 0 #ffffff05 inset, 0 2px 8px #0006;--shadow-deep:0 10px 30px #0000008c;--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;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{height:100%;font-family:var(--font-title);color:var(--text);font-feature-settings:"kern" 1, "liga" 1;background:#050308;justify-content:center;align-items:center;display:flex;overflow:hidden}#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);border:1px solid var(--b);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-deep);isolation:isolate;position:relative;overflow:hidden}#phone:before{content:"";background:var(--noise);opacity:.35;mix-blend-mode:overlay;pointer-events:none;z-index:100;position:absolute;inset:0}#phone:after{content:"";pointer-events:none;z-index:101;background:radial-gradient(120% 80%,#0000 55%,#00000073 100%);position:absolute;inset:0}@media (width<=480px){html,body{display:block;overflow:hidden}#phone{width:100vw;height:100dvh;box-shadow:none;border:none;border-radius:0}}@media (height<=660px) and (width>=481px){:root{--phone-h:calc(100vh - 20px);--phone-w:calc((100vh - 20px) * 9 / 16)}}.scr{z-index:1;flex-direction:column;display:none;position:absolute;inset:0;overflow:hidden}.scr.on{display:flex}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:0 0}::-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{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.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{align-items:center;gap:var(--gap-sm);border-bottom:1px solid var(--b);background:linear-gradient(180deg, color-mix(in oklab, var(--p) 70%, transparent), transparent);flex-shrink:0;padding:10px 14px 11px;display:flex;position:relative}.sh:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--gold) 50%, transparent) 50%, transparent 100%);height:1px;position:absolute;bottom:-1px;left:14px;right:14px}.st{font-family:var(--font-title);color:var(--gold);letter-spacing:.25em;text-shadow:0 1px #00000073;flex:1;font-size:12px;font-weight:600}.bk{border:1px solid var(--b2);color:var(--dim);cursor:pointer;font-family:var(--font-title);letter-spacing:.15em;border-radius:var(--radius-sm);background:0 0;align-items:center;gap:4px;padding:5px 9px;font-size:9px;font-weight:500;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.bk:hover{border-color:var(--gold-dim);color:var(--gold);background:color-mix(in oklab, var(--gold) 6%, transparent)}.curr,.scurr{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius-pill);font-family:var(--font-title);letter-spacing:.05em;box-shadow:var(--shadow-card);align-items:center;gap:5px;padding:4px 11px 4px 9px;font-size:10px;font-weight:600;display:inline-flex;position:relative}.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{justify-content:center;align-items:center;width:12px;height:12px;font-size:11px;line-height:1;display:inline-flex}.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);letter-spacing:.18em;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 #fff0c859;padding:9px 18px;font-size:10px;font-weight:600;transition:filter .18s,transform 50ms;position:relative;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000059,0 2px 6px #00000059}.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);letter-spacing:.15em;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);padding:7px 14px;font-size:10px;font-weight:500;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);letter-spacing:.15em;color:var(--dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:6px 10px;font-size:9px;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;box-shadow:var(--shadow-card);transition:border-color .18s,transform .18s;position:relative}.card:hover{border-color:var(--b2)}.card-highlight{box-shadow:var(--shadow-card), 0 0 0 1px color-mix(in oklab, var(--gold) 18%, transparent), var(--glow-gold);border-color:var(--gold-dim)!important;background:linear-gradient(180deg, color-mix(in oklab, var(--gold) 6%, var(--p2)), var(--p))!important}.card-ornate{position:relative}.card-ornate:before,.card-ornate:after{content:"";border:1px solid color-mix(in oklab, var(--gold) 50%, var(--b));pointer-events:none;width:10px;height:10px;position:absolute}.card-ornate:before{border-bottom:none;border-right:none;top:4px;left:4px}.card-ornate:after{border-top:none;border-left:none;bottom:4px;right:4px}.divider-rune{align-items:center;gap:8px;width:100%;padding:4px 0;display:flex}.divider-rune .line{background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--gold) 45%, transparent), transparent);flex:1;height:1px}.divider-rune .glyph{color:var(--gold-dim);filter:drop-shadow(0 0 3px color-mix(in oklab, var(--gold) 35%, transparent));font-size:11px;line-height:1}.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);border-color:color-mix(in oklab, var(--r) 55%, var(--b));position:relative}.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{background:linear-gradient(90deg, transparent 0%, var(--r) 18%, var(--r-hi) 50%, var(--r) 82%, transparent 100%);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.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:"";border:1px solid color-mix(in oklab, var(--r-hi) 30%, transparent);pointer-events:none;border-radius:inherit;position:absolute;inset:2px}.rp{font-family:var(--font-title);letter-spacing:.2em;border-radius:var(--radius-pill);text-transform:uppercase;border:1px solid;padding:3px 9px;font-size:10px;font-weight:600;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{border:1px solid var(--b);background:#06040a;border-radius:2px;height:5px;position:relative;overflow:hidden}.bar>.fill{background:linear-gradient(180deg, var(--gold-hi), var(--gold));height:100%;box-shadow:0 0 6px color-mix(in oklab, var(--gold) 40%, transparent);border-radius:2px;transition:width .4s;position:absolute;inset:0 auto 0 0}.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{align-items:center;gap:7px;display:flex}.bar-wrap .lbl{letter-spacing:.15em;color:var(--dim);text-align:right;width:18px;font-size:8px}.bar-wrap .val{font-family:var(--font-body);color:var(--text);white-space:nowrap;font-size:10px}.tile-hp{background:#06040a;border-radius:2px;height:3px;position:absolute;bottom:2px;left:3px;right:3px;overflow:hidden}.tile-hp>div{background:var(--hp);border-radius:2px;height:100%;transition:width .3s}.tag{font-family:var(--font-title);letter-spacing:.18em;border-radius:var(--radius-sm);border:1px solid;padding:2px 6px;font-size:7.5px;font-weight:500;line-height:1.4;display:inline-block}.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);letter-spacing:.18em;color:#fff;border-radius:var(--radius-pill);text-shadow:0 1px #0006;background:linear-gradient(#d05a3a,#8a2a1a);border:1px solid #5a1a10;padding:2px 6px;font-size:7px;font-weight:700;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);border:1px solid var(--b2);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-portrait img{object-fit:cover;object-position:top center;width:100%;height:100%}.hero-portrait .upload-input{opacity:0;cursor:pointer;z-index:5;position:absolute;inset:0}.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:"";background:linear-gradient(135deg, transparent 0 88%, color-mix(in oklab, var(--r) 55%, transparent) 88% 100%);pointer-events:none;position:absolute;inset:0}.hero-portrait--framed:after{content:"";border:1px solid color-mix(in oklab, var(--r) 25%, transparent);pointer-events:none;border-radius:inherit;position:absolute;inset:2px}.hp-lv{font-family:var(--font-title);letter-spacing:.1em;color:var(--gold-hi);border:1px solid color-mix(in oklab, var(--gold) 35%, transparent);z-index:2;background:#0009;border-radius:2px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;bottom:3px;left:4px}.hchip{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);cursor:pointer;flex:1;align-items:center;gap:6px;min-width:0;padding:4px 8px 4px 4px;transition:border-color .18s;display:flex;position:relative;overflow:hidden}.hchip:before{content:"";background:color-mix(in oklab, var(--r,var(--gold-dim)) 70%, transparent);width:2px;position:absolute;top:0;bottom:0;left:0}.hchip:hover{border-color:color-mix(in oklab, var(--r,var(--gold)) 35%, var(--b2))}.hchip .hp{border-radius:2px;width:28px;height:32px}.hchip .nm{letter-spacing:.08em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.hchip .lv{font-family:var(--font-body);color:var(--dim);margin-top:1px;font-size:9px}.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{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);letter-spacing:.15em;border-radius:var(--radius-sm);flex:1;justify-content:center;align-items:center;gap:4px;min-height:38px;font-size:9px;display:flex}.toast{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--gold-dim);color:var(--gold-hi);font-family:var(--font-title);letter-spacing:.2em;border-radius:var(--radius-sm);white-space:nowrap;z-index:200;opacity:0;pointer-events:none;box-shadow:0 4px 16px #00000073, var(--glow-gold);padding:8px 16px;font-size:10px;transition:opacity .25s;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.toast.on{opacity:1}.overlay{backdrop-filter:blur(2px);z-index:50;padding:var(--gap-lg);background:#040208d9;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.overlay.on{display:flex}.modal-box{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b2);border-radius:var(--radius);width:min(280px,100%);max-height:86%;box-shadow:var(--shadow-deep);padding:18px;position:relative;overflow-y:auto}.modal-box:before,.modal-box:after{content:"";border:1px solid color-mix(in oklab, var(--gold) 60%, var(--b));pointer-events:none;width:12px;height:12px;position:absolute}.modal-box:before{border-bottom:none;border-right:none;top:5px;left:5px}.modal-box:after{border-top:none;border-left:none;bottom:5px;right:5px}.ico{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.15em;flex-shrink:0;width:1em;height:1em;display:inline-block}.ico-lg{stroke-width:1.3px;width:28px;height:28px}.ico-xl{stroke-width:1.1px;width:44px;height:44px}.ico-fill{fill:currentColor;stroke:none}.tip{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--gold-dim);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text);z-index:70;pointer-events:none;box-shadow:var(--shadow-deep);min-width:100px;padding:6px 9px;font-size:10px;position:absolute}.tip .tip-title{font-family:var(--font-title);letter-spacing:.15em;color:var(--gold);margin-bottom:3px;font-size:9px}.tip .tip-row{justify-content:space-between;gap:8px;display:flex}.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;color:var(--gold);filter:drop-shadow(0 0 8px color-mix(in oklab, var(--gold) 35%, transparent));justify-content:center;align-items:center;display:inline-flex}.sigil svg{width:100%;height:100%}@keyframes card-pop{0%{opacity:0;filter:blur(6px);transform:scale(.4)translateY(20px)}70%{opacity:1;filter:blur();transform:scale(1.08)translateY(0)}to{transform:scale(1)}}.anim-pop{animation:.55s cubic-bezier(.22,1,.36,1) both card-pop}@keyframes orb-spin{0%{filter:brightness(.7);transform:scale(.85)rotate(-25deg)}50%{filter:brightness(1.4);transform:scale(1.18)rotate(15deg)}to{filter:brightness();transform:scale(1)rotate(0)}}.anim-spin{animation:.7s orb-spin}@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:.8s lv-flash}@keyframes slide-from-right{0%{opacity:0;right:-420px}to{opacity:1;right:40px}}@keyframes slide-from-left{0%{opacity:0;left:-360px}to{opacity:1;left:30px}}.anim-slide-right{animation:.9s cubic-bezier(.22,1,.36,1) forwards slide-from-right}.anim-slide-left{animation:.9s cubic-bezier(.22,1,.36,1) .15s forwards slide-from-left}@keyframes white-flash{0%{opacity:.8}to{opacity:0}}.anim-flash{animation:.5s forwards white-flash}@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{pointer-events:none;border-radius:50%;animation:linear infinite particle-float;position:absolute}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.anim-bounce{animation:1.4s infinite bounce}@keyframes orb-gain{0%{transform:scale(1)}50%{filter:brightness(1.3);transform:scale(1.4)}to{transform:scale(1)}}.anim-orb-gain{animation:.45s orb-gain}@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{font-family:var(--font-deco);letter-spacing:.5px;pointer-events:none;z-index:50;text-shadow:0 1px 3px #000000e6;font-size:13px;font-weight:700;animation:.9s forwards dmg-float;position:absolute}.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 #0000)}50%{opacity:1;filter:drop-shadow(0 0 6px var(--rune))}}.anim-rune-pulse{animation:2.4s ease-in-out infinite rune-pulse}@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:3.2s linear infinite gold-shimmer}@keyframes heart-beat{0%,to{transform:scale(1)}40%{transform:scale(1.06)}60%{transform:scale(.97)}}.anim-critical{animation:.9s infinite heart-beat}@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:.28s ease-out tile-hit-flash}@keyframes tile-move-bounce{0%{filter:brightness(1.4);transform:scale(.85)}60%{filter:brightness(1.2) drop-shadow(0 0 6px var(--gold));transform:scale(1.12)}to{filter:brightness();transform:scale(1)}}.tile.is-moved .unit-glyph{animation:.32s cubic-bezier(.22,1,.36,1) tile-move-bounce}@keyframes unit-death-fade{0%{opacity:1;transform:scale(1)rotate(0)}60%{opacity:.7;filter:brightness(2)saturate(2);transform:scale(1.15)rotate(-12deg)}to{opacity:0;transform:scale(.4)rotate(180deg)}}.tile.is-dying .unit-glyph{animation:.55s ease-out forwards unit-death-fade}@keyframes scr-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.scr.on{animation:.25s both scr-fade}@keyframes orb-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.02)}}@keyframes orb-charge{0%{filter:brightness()saturate();transform:scale(1)}25%{filter:brightness(1.3);transform:scale(1.06)translate(-1px,1px)}50%{filter:brightness(1.8)saturate(1.4);transform:scale(1.12)translate(2px,-1px)}75%{filter:brightness(2.4)saturate(1.7);transform:scale(1.22)translate(-1px,1px)}to{filter:brightness(3.2)saturate(2);transform:scale(1.38)}}@keyframes burst-expand{0%{opacity:0;border-radius:50%;inset:48%}15%{opacity:.9}to{opacity:0;border-radius:50%;inset:-60%}}@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%{opacity:0;transform:perspective(500px)rotateY(90deg)scale(.6)}40%{opacity:1}70%{transform:perspective(500px)rotateY(-6deg)scale(1.06)}to{opacity:1;transform:perspective(500px)rotateY(0)scale(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%{opacity:0;transform:scale(.35)}55%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes rune-ring{to{transform:rotate(360deg)}}.guild-orb-wrap{animation:3.8s ease-in-out infinite orb-idle}.guild-orb-wrap.charging{animation:1.4s cubic-bezier(.3,.1,.5,1) forwards orb-charge}.guild-orb-wrap.charging .guild-orb:before{animation:.4s linear infinite rune-ring}.guild-burst{pointer-events:none;z-index:10;position:absolute;inset:48%}.guild-burst.go{animation:.65s cubic-bezier(.1,.7,.2,1) forwards burst-expand}.guild-flash{pointer-events:none;z-index:20;opacity:0;position:absolute;inset:0}.guild-flash.go{animation:.4s ease-out forwards guild-flash}.guild-stage.shake{animation:.45s linear shake}.result-card-anim{opacity:0;transform:perspective(500px)rotateY(90deg)scale(.6)}.result-card-anim.flip{animation:.9s cubic-bezier(.2,.7,.3,1.1) forwards card-flip-in}.result-card .card-halo{pointer-events:none;opacity:0;z-index:0;border-radius:50%;position:absolute;inset:-18px}.result-card-anim.flip .card-halo{animation:1.5s ease-out .25s forwards halo-pulse}.card-spark{pointer-events:none;border-radius:50%;width:5px;height:5px;animation:1.4s ease-out forwards spark-out;position:absolute;top:50%;left:50%}.mini-pull-card{opacity:0;animation:.35s ease-out forwards mini-pop;transform:scale(.35)}@keyframes pulse-attack{0%,to{opacity:1;filter:brightness()}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:.35s ease-out screen-shake}@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:.45s ease-out screen-shake-big}@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{transform-origin:var(--cin-x,50%) var(--cin-y,50%);animation:.6s cubic-bezier(.4,0,.6,1) forwards cinematic-zoom}@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{--rx:5px;--ry:-2px;animation:.28s cubic-bezier(.5,0,.5,1.5) unit-recoil}.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{color:var(--gold-hi)!important;text-shadow:0 0 10px color-mix(in oklab, var(--gold) 70%, transparent), 0 2px 4px #000c!important;font-size:20px!important;animation:1.3s ease-out forwards dmg-float-crit!important}@keyframes phase-sweep{0%{opacity:0;transform:translate(-105%)}18%{opacity:1;transform:translate(0)}72%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(105%)}}.phase-banner{pointer-events:none;z-index:40;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.phase-banner-inner{text-align:center;width:100%;font-family:var(--font-title);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;padding:11px 20px;font-size:15px;font-weight:700;animation:.9s ease-in-out forwards phase-sweep}.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%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--pdx,20px), var(--pdy,-30px)) scale(.1);opacity:0}}.combat-particle{pointer-events:none;z-index:30;border-radius:50%;width:4px;height:4px;animation:.75s ease-out forwards combat-spark;position:absolute}.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{border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--gold-hi);width:0;height:0;filter:drop-shadow(0 0 4px var(--gold));pointer-events:none;z-index:5;animation:1.2s ease-in-out infinite chevron-float;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.topbar{border-bottom:1px solid var(--b);background:linear-gradient(180deg, color-mix(in oklab, var(--p) 70%, transparent), transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px 11px;display:flex;position:relative}.topbar:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--gold) 40%, transparent), transparent);height:1px;position:absolute;bottom:-1px;left:14px;right:14px}.pname-wrap{cursor:pointer;background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:4px 12px 4px 5px;transition:border-color .18s;display:flex;position:relative}.pname-wrap:hover{border-color:var(--gold-dim);cursor:pointer}.pav-synced{color:var(--rune-hi);filter:drop-shadow(0 0 4px var(--rune));margin-left:1px;font-size:11px}.pmodal-overlay{backdrop-filter:blur(4px);z-index:200;padding:var(--gap-lg);background:#040208d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pmodal{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b2);border-radius:var(--radius-md);width:100%;max-width:320px;box-shadow:var(--shadow-deep);padding:20px 18px 18px;position:relative}.pmodal-title{font-family:var(--font-deco);letter-spacing:.35em;color:var(--gold);text-align:center;margin-bottom:16px;font-size:12px}.pmodal-section{flex-direction:column;gap:8px;display:flex}.pmodal-lbl{font-family:var(--font-title);letter-spacing:.2em;color:var(--dim);font-size:9px}.pmodal-row{gap:6px;display:flex}.pmodal-input{background:var(--bg);border:1px solid var(--b2);border-radius:var(--radius-sm);color:var(--text-hi);font-family:var(--font-body);outline:none;flex:1;padding:7px 10px;font-size:14px;transition:border-color .18s}.pmodal-input:focus{border-color:var(--gold-dim)}.pmodal-btn-sm{font-family:var(--font-title);letter-spacing:.15em;background:linear-gradient(180deg, var(--gold-hi), var(--gold) 60%, var(--gold-dim));color:#1a1108;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:0 14px;font-size:10px;font-weight:600}.pmodal-sep{background:linear-gradient(90deg, transparent, var(--b2), transparent);height:1px;margin:14px 0}.pmodal-hint{font-family:var(--font-body);color:var(--dim);margin:0 0 4px;font-size:12px;line-height:1.5}.pmodal-btn-google{border-radius:var(--radius-sm);color:#3c4043;cursor:pointer;background:#fff;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:13px;font-weight:500;transition:box-shadow .18s;display:flex;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{flex-shrink:0;width:18px;height:18px}.pmodal-user{align-items:center;gap:10px;display:flex}.pmodal-avatar{object-fit:cover;border:1px solid var(--b2);border-radius:50%;flex-shrink:0;width:38px;height:38px}.pmodal-user-name{font-family:var(--font-title);color:var(--text-hi);font-size:11px}.pmodal-user-email{font-family:var(--font-body);color:var(--dim);margin-top:1px;font-size:10px}.pmodal-sync-note{font-family:var(--font-body);color:var(--rune-hi);margin-top:3px;font-size:10px}.pmodal-btn-ghost{border:1px solid var(--b2);border-radius:var(--radius-sm);width:100%;color:var(--dim);font-family:var(--font-title);letter-spacing:.2em;cursor:pointer;background:0 0;margin-top:4px;padding:8px;font-size:9px;transition:border-color .18s,color .18s}.pmodal-btn-ghost:hover{border-color:var(--red);color:var(--red)}.pmodal-error{font-family:var(--font-body);color:var(--red);margin-top:4px;font-size:11px}.pmodal-close{color:var(--dim2);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;line-height:1;position:absolute;top:10px;right:12px}.pmodal-close:hover{color:var(--text)}.pav{background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--rune) 50%, transparent), transparent 60%), linear-gradient(180deg, var(--rune-deep), #0a0814);width:24px;height:24px;font-family:var(--font-deco);color:var(--rune-hi);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);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.pname-wrap .pnm{font-family:var(--font-title);letter-spacing:.08em;color:var(--text);font-size:11px}.pname-wrap .edit-ico{color:var(--dim);margin-left:1px;font-size:9px}.currs{gap:6px;display:flex}.logo-zone{border-bottom:1px solid var(--b);background:radial-gradient(90% 80% at 50% 100%, color-mix(in oklab, var(--gold) 6%, transparent), transparent 75%);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:14px 0 12px;display:flex;position:relative}.logo-sigil{width:46px;height:46px;color:var(--gold);filter:drop-shadow(0 0 10px color-mix(in oklab, var(--gold) 35%, transparent));margin-bottom:2px}.logo-sigil svg{width:100%;height:100%}.logo-ornament{align-items:center;gap:10px;margin-bottom:1px;display:flex}.logo-ornament .line{background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);width:46px;height:1px}.logo-ornament .star{color:var(--gold);filter:drop-shadow(0 0 5px color-mix(in oklab, var(--gold) 45%, transparent));font-size:10px}.logo-title{font-family:var(--font-deco);letter-spacing:.35em;color:var(--gold-hi);text-shadow:0 1px 0 #0000008c, 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-text-fill-color:transparent;background-clip:text;padding-left:.35em;font-size:30px;font-weight:700}.logo-sub{font-family:var(--font-title);letter-spacing:.45em;color:var(--dim);padding-left:.45em;font-size:8.5px}.team-strip{border-bottom:1px solid var(--b);flex-shrink:0;padding:10px 14px 9px}.strip-lbl{font-family:var(--font-title);letter-spacing:.3em;color:var(--dim2);align-items:center;gap:6px;margin-bottom:7px;font-size:8px;display:flex}.strip-lbl:after{content:"";background:linear-gradient(90deg, color-mix(in oklab, var(--gold) 30%, transparent), transparent);flex:1;height:1px}.team-row{align-items:stretch;gap:6px;min-height:40px;display:flex}.hub-grid{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:8px;min-height:0;padding:10px 14px 14px;display:grid;overflow-y:auto}.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);cursor:pointer;box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:6px;padding:14px 10px 12px;transition:border-color .18s,background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.hb:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--gold) 28%, transparent), transparent);height:1px;position:absolute;top:0;left:0;right:0}.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:"";background:radial-gradient(60% 80% at 50% 100%, color-mix(in oklab, var(--gold) 9%, transparent), transparent 70%);pointer-events:none;position:absolute;inset:0}.hb-icon{width:36px;height:36px;color:var(--gold);filter:drop-shadow(0 0 5px color-mix(in oklab, var(--gold) 25%, transparent));justify-content:center;align-items:center;display:flex}.hb-icon svg{width:100%;height:100%}.hb-acc .hb-icon{color:var(--gold-hi)}.hb-name{font-family:var(--font-title);letter-spacing:.2em;color:var(--text-hi);font-size:10px;font-weight:600}.hb-desc{font-family:var(--font-body);color:var(--dim);text-align:center;font-size:9px;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{padding:var(--gap-md);flex-direction:column;flex:1;gap:9px;display:flex;overflow-y:auto}.dc{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius);cursor:pointer;gap:var(--gap-md);box-shadow:var(--shadow-card);padding:11px 12px;transition:border-color .18s,background .18s;display:flex;position:relative}.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{box-shadow:var(--shadow-card), var(--glow-gold);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}.dc-locked{opacity:.35;cursor:not-allowed;filter:grayscale(.5)}.dc-ic{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);width:44px;height:44px;color:var(--gold);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.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);letter-spacing:.12em;color:var(--text-hi);margin-bottom:3px;font-size:11px;font-weight:600}.dc-ds{font-family:var(--font-body);color:var(--dim);font-size:10px;line-height:1.45}.tags{flex-wrap:wrap;gap:5px;margin:5px 0 0;display:flex}.fw{padding:var(--gap-md);flex-direction:column;flex:1;gap:7px;display:flex;overflow-y:auto}.fc{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:10px 12px;position:relative}.fc-dn{border-color:color-mix(in oklab, var(--hp) 45%, var(--b));opacity:.7}.fc-dn:after{content:"✓";color:var(--hp);font-size:12px;font-weight:700;position:absolute;top:6px;right:8px}.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{font-family:var(--font-body);color:var(--dim2);letter-spacing:.08em;font-size:9px;font-style:italic;position:absolute;top:10px;right:10px}.fc-num{font-family:var(--font-title);color:var(--gold);letter-spacing:.2em;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.fc-num .roman{font-family:var(--font-deco);font-size:14px;font-weight:700}.fc-nm{font-family:var(--font-title);letter-spacing:.1em;color:var(--text-hi);margin-bottom:4px;font-size:11px;font-weight:600}.fc-desc{font-family:var(--font-body);color:var(--dim);margin-bottom:7px;font-size:10px;line-height:1.45}.fc-gift{border:1px solid color-mix(in oklab, var(--gold) 22%, var(--b));border-radius:var(--radius-sm);background:linear-gradient(#0e0a1a,#08060f);align-items:center;gap:7px;margin-bottom:7px;padding:6px 9px;display:flex}.fc-gift-ic{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);width:26px;height:26px;color:var(--gold-hi);flex-shrink:0;justify-content:center;align-items:center;display:flex}.fc-gift-ic svg{width:16px;height:16px}.fc-gift-text{font-family:var(--font-body);color:var(--gold-hi);flex:1;font-size:10px;line-height:1.35}.fc-gift-text .lbl{font-family:var(--font-title);letter-spacing:.25em;color:var(--gold-dim);margin-bottom:1px;font-size:7.5px;display:block}.fc-new{background:var(--red);color:#fff;letter-spacing:.15em;border-radius:2px;padding:1px 5px;font-size:7px;font-weight:700}.fc-enter-btn{width:100%;font-family:var(--font-title);letter-spacing:.25em;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 #fff0c866;margin-top:7px;padding:9px;font-size:10px;font-weight:600;transition:filter .18s;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000059}.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{border-bottom:1px solid var(--b);background:linear-gradient(180deg, var(--p2), transparent);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.combat-turn-info{font-family:var(--font-title);letter-spacing:.2em;color:var(--gold-hi);white-space:nowrap;font-size:10px}.combat-turn-info .turn-n{font-family:var(--font-deco);margin-right:4px;font-size:12px;font-weight:700}.combat-phase{font-family:var(--font-body);color:var(--dim);font-size:9px;font-style:italic}.combat-queue{border-bottom:1px solid var(--b);background:linear-gradient(180deg, color-mix(in oklab, var(--p) 60%, transparent), transparent);scrollbar-width:none;flex-shrink:0;align-items:center;gap:4px;padding:5px 12px 6px;display:flex;overflow-x:auto}.combat-queue::-webkit-scrollbar{display:none}.combat-queue-lbl{font-family:var(--font-title);letter-spacing:.3em;color:var(--dim2);flex-shrink:0;margin-right:4px;font-size:7px}.q-port{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b2);width:22px;height:26px;color:var(--text);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex;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:"";border:3px solid #0000;border-bottom-color:var(--gold);width:0;height:0;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.q-port.is-enemy{border-color:color-mix(in oklab, var(--red) 50%, var(--b2))}.q-port.is-dead{opacity:.25;filter:grayscale()}.q-sep{background:var(--b);flex-shrink:0;width:1px;height:16px;margin:0 3px}.combat-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.combat-grid-wrap{perspective:1000px;perspective-origin:50% 20%;flex:1;justify-content:center;align-items:center;min-height:0;padding:10px;display:flex;position:relative}#combat-grid{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-origin:50% 55%;transform-style:preserve-3d;gap:2px;padding:4px;display:grid;transform:rotateX(8deg)}.tile{cursor:pointer;--unit:var(--gold);background:linear-gradient(#0d0b1e 0%,#08060f 100%);border:1px solid #1a1530;border-color:#24203a #1a1530 #060408;border-radius:2px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .12s,border-color .12s;display:flex;position:relative}.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:"";border:1px dashed color-mix(in oklab, var(--rune) 50%, transparent);pointer-events:none;border-radius:1px;position:absolute;inset:4px}.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:"";background:linear-gradient(45deg, transparent 40%, color-mix(in oklab, var(--red) 28%, transparent) 50%, transparent 60%);pointer-events:none;position:absolute;inset:0}.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{border-color:color-mix(in oklab, #e06030 30%, var(--b2));background:oklab(18.8742% .0203002 -.024783);box-shadow:inset 0 0 4px oklab(64.3004% .131788 .109614/.12)}.tile.attackable{animation:1.1s ease-in-out infinite pulse-attack}.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:1.3s ease-in-out infinite pulse-heal}.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 0 #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));justify-content:center;align-items:center;width:70%;height:70%;margin-top:-3px;display:flex}.tile.has-unit .unit-glyph svg{width:100%;height:100%}.tile.has-unit:before{content:"";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;width:5px;height:5px;position:absolute;top:2px;left:2px}.tile.has-unit:after{content:"";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;width:5px;height:5px;position:absolute;bottom:7px;right:2px}.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{z-index:2;gap:1.5px;display:flex;position:absolute;top:1px;left:50%;transform:translate(-50%)}.ap-dot{background:var(--gold-hi);width:3px;height:3px;box-shadow:0 0 3px color-mix(in oklab, var(--gold) 60%, transparent);border-radius:50%}.ap-dot.used{background:var(--mute);box-shadow:none}.tile.zone-elf:after{content:"";border:1px dashed color-mix(in oklab, var(--hp) 35%, transparent);pointer-events:none;position:absolute;inset:0}.combat-dock{background:linear-gradient(180deg, var(--p2), var(--p));border-top:1px solid color-mix(in oklab, var(--gold) 28%, var(--b));flex-shrink:0;min-height:156px;display:flex;position:relative}.combat-dock:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--gold) 55%, transparent), transparent);height:1px;position:absolute;top:-1px;left:12px;right:12px}.dock-unit{border-right:1px solid var(--b);flex:1;gap:8px;min-width:0;padding:8px 8px 8px 10px;display:flex}.dock-portrait{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);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:62px;display:flex;position:relative;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{object-fit:cover;object-position:top center;width:100%;height:100%}.dock-portrait .class-badge{border:1px solid color-mix(in oklab, var(--gold) 45%, transparent);width:14px;height:14px;color:var(--gold-hi);background:#000000b3;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:2px;right:2px}.dock-portrait .class-badge svg{width:9px;height:9px}.dock-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.dock-name{font-family:var(--font-title);letter-spacing:.08em;color:var(--gold-hi);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.dock-meta{font-family:var(--font-body);color:var(--dim);font-size:9px;font-style:italic}.dock-meta .sep{color:var(--mute);margin:0 4px}.dock-stats{flex-direction:column;gap:3px;margin-top:2px;display:flex}.dock-stats .bar-wrap{gap:6px}.dock-stats .lbl{font-family:var(--font-title);letter-spacing:.15em;text-align:right;width:16px;font-size:7.5px}.dock-stats .lbl-hp{color:var(--hp)}.dock-stats .lbl-mp{color:var(--mp)}.dock-stats .val{font-family:var(--font-body);color:var(--text);font-size:9px}.dock-ap-row{align-items:center;gap:6px;margin-top:2px;display:flex}.dock-ap-row .ap-lbl{font-family:var(--font-title);letter-spacing:.2em;color:var(--gold-dim);font-size:7.5px}.dock-ap-row .ap-pip{background:var(--gold-hi);width:8px;height:8px;box-shadow:0 0 5px color-mix(in oklab, var(--gold) 60%, transparent);border:1px solid var(--gold-deep);border-radius:50%}.dock-ap-row .ap-pip.used{box-shadow:none;border-color:var(--mute);background:0 0}.dock-actions{flex-direction:column;flex-shrink:0;gap:3px;width:124px;padding:8px 9px 8px 8px;display:flex}.act-btn{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);letter-spacing:.1em;border-radius:var(--radius-sm);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 7px;font-size:9px;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:flex;position:relative}.act-btn .ico{width:12px;height:12px;color:var(--gold-dim)}.act-btn .ap-cost{font-family:var(--font-body);color:var(--gold-dim);margin-left:auto;font-size:9px;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{width:100%;font-family:var(--font-title);letter-spacing:.2em;border:1px solid var(--b);color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-top:auto;padding:4px;font-size:8px;transition:color .15s,border-color .15s}.dock-log-btn:hover{color:var(--rune);border-color:var(--rune-dim)}.combat-log{background:linear-gradient(180deg, var(--p2), var(--p));border-top:1px solid color-mix(in oklab, var(--rune) 35%, var(--b));z-index:5;flex-direction:column;display:none;position:absolute;inset:0}.combat-log.on{display:flex}.log-header{border-bottom:1px solid var(--b);justify-content:space-between;align-items:center;padding:7px 11px;display:flex}.log-title{font-family:var(--font-title);letter-spacing:.3em;color:var(--rune-hi);font-size:9px}.log-close{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.log-close:hover{color:var(--gold)}.log-entries{flex-direction:column;flex:1;gap:5px;padding:8px 11px;display:flex;overflow-y:auto}.log-entry{font-family:var(--font-body);background:color-mix(in oklab, var(--p3) 40%, transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);border-left:2px solid #0000;padding:5px 8px;font-size:10.5px;line-height:1.5}.log-entry .t{font-family:var(--font-title);letter-spacing:.15em;color:var(--dim2);margin-right:5px;font-size:8px}.log-entry .actor{font-weight:600}.log-entry .num{color:var(--gold-hi);font-weight:700;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{border-top:1px solid var(--b);font-family:var(--font-body);color:var(--dim);flex-shrink:0;align-items:center;gap:6px;min-height:28px;padding:6px 12px;font-size:10px;font-style:italic;display:flex}.combat-tip-anchor{position:relative}.mkt-tabs{border-bottom:1px solid var(--b);background:linear-gradient(180deg, color-mix(in oklab, var(--p) 50%, transparent), transparent);flex-shrink:0;display:flex}.mkt-tab{font-family:var(--font-title);letter-spacing:.2em;text-align:center;cursor:pointer;color:var(--dim);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:9px 4px;font-size:9px;font-weight:500;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:"";background:var(--gold);height:2px;box-shadow:0 0 8px color-mix(in oklab, var(--gold) 55%, transparent);position:absolute;bottom:-2px;left:20%;right:20%}.mkt-body{flex:1;padding:9px;overflow-y:auto}.gold-banner{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);font-family:var(--font-body);color:var(--dim);align-items:center;gap:7px;margin-bottom:10px;padding:8px 11px;font-size:10px;font-style:italic;display:flex}.gold-banner .ico{color:var(--gold);width:14px;height:14px}.item-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.item-card{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius);flex-direction:column;transition:border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.item-card:hover{border-color:var(--gold-dim)}.item-img{height:64px;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);justify-content:center;align-items:center;font-size:28px;display:flex;position:relative}.item-img svg{width:28px;height:28px}.item-body{padding:7px 9px 8px}.item-name{font-family:var(--font-title);letter-spacing:.08em;color:var(--text-hi);margin-bottom:2px;font-size:10px;font-weight:600}.item-type{font-family:var(--font-body);color:var(--dim);margin-bottom:4px;font-size:9px;font-style:italic}.item-stat{font-family:var(--font-body);color:var(--hp);margin-bottom:6px;font-size:9.5px}.item-price{font-family:var(--font-title);color:var(--gold-hi);align-items:center;gap:4px;margin-bottom:6px;font-size:10px;display:flex}.item-price .ico{color:var(--gold);width:10px;height:10px}.buy-btn{width:100%;font-family:var(--font-title);letter-spacing:.2em;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);padding:5px;font-size:8.5px;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);color:var(--dim2);text-align:center;border:1px dashed var(--b);border-radius:var(--radius-sm);padding:5px;font-size:9px;font-style:italic}@media (width<=720px){.hb-name{letter-spacing:.18em;font-size:13px}.hb-desc{letter-spacing:.005em;font-size:13px;line-height:1.5}.dc-nm{letter-spacing:.1em;font-size:14px}.dc-ds{font-size:13px;line-height:1.5}.fc-num{font-size:13px}.fc-nm{letter-spacing:.08em;font-size:13px}.fc-desc{font-size:13px;line-height:1.5}.fc-gift-text{font-size:12px}.combat-turn-info{letter-spacing:.14em;font-size:13px}.item-name{letter-spacing:.06em;font-size:13px}.hero-row .hr-meta{font-size:12px}.hero-hero .hh-class{letter-spacing:.16em;font-size:12px}.hero-hero .hh-race{font-size:13px}.equip-slot .slot-item .nm,.equip-slot .slot-item .bonus{font-size:12px}.mission-name{letter-spacing:.06em;font-size:13px}.mission-desc{font-size:13px;line-height:1.5}.daily-reset-label{font-size:12px}.pity-lbl{letter-spacing:.14em;font-size:12px}.pb1 .lbl,.pb10 .lbl{font-size:15px}.pb1 .price,.pb10 .price{font-size:13px}.pb10 .bonus{font-size:11px}.rp{letter-spacing:.08em;padding:5px 10px;font-size:11px}.guild-roster .roster-title{letter-spacing:.14em;font-size:12px}.dock-name{letter-spacing:.08em;font-size:12px}.pb1,.pb10,.fc-enter-btn{min-height:44px}}.guild-body{padding:var(--gap-md) var(--gap-md) 14px;gap:var(--gap-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.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);font-family:var(--font-body);color:var(--text);padding:9px 12px;font-size:10.5px;line-height:1.55;position:relative}.guild-info .ic{color:var(--rune);vertical-align:-3px;width:16px;height:16px;margin-right:4px}.guild-pull{flex-direction:column;align-items:center;gap:10px;padding:6px 0 0;display:flex}.guild-orb{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));cursor:pointer;user-select:none;width:100px;height:100px;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;border-radius:50%;justify-content:center;align-items:center;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex;position:relative}.guild-orb:before{content:"";border:1px dashed color-mix(in oklab, var(--rune) 35%, transparent);border-radius:50%;animation:18s linear infinite orbit;position:absolute;inset:-10px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.guild-orb:hover{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;transform:scale(1.04)}.guild-orb svg{color:#fff;filter:drop-shadow(0 0 8px #ffffffa6);width:44px;height:44px}.pity-wrap{width:100%}.pity-lbl{font-family:var(--font-title);color:var(--dim);letter-spacing:.2em;justify-content:space-between;margin-bottom:4px;font-size:10px;display:flex}.pity-lbl .pity-count{color:var(--r-epic)}.pity-bg{border:1px solid var(--b);background:#06040c;border-radius:2px;height:5px;overflow:hidden}.pity-fill{background:linear-gradient(180deg, var(--r-epic-hi), var(--r-epic));height:100%;box-shadow:0 0 6px color-mix(in oklab, var(--r-epic) 45%, transparent);border-radius:2px;transition:width .5s}.pull-btns{gap:9px;width:100%;display:flex}.pb1,.pb10{font-family:var(--font-title);letter-spacing:.2em;border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 4px 8px;font-size:9.5px;font-weight:600;transition:filter .18s,transform 50ms;display:flex;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);letter-spacing:.03em;color:var(--dim);font-size:11px;font-style:italic;font-weight:400}.pb10 .price{color:color-mix(in oklab, var(--rune-hi) 75%, var(--dim))}.pb10 .bonus{font-family:var(--font-body);color:var(--gold-hi);font-size:10.5px;font-style:italic}.rate-pills{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.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);letter-spacing:.25em;color:var(--dim);align-items:center;gap:6px;margin-bottom:7px;font-size:10px;display:flex}.guild-roster .roster-title:after{content:"";background:linear-gradient(90deg, color-mix(in oklab, var(--gold) 25%, transparent), transparent);flex:1;height:1px}.roster-grid{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.roster-hero{flex-direction:column;align-items:center;gap:2px;display:flex}.roster-port{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);width:100%;color:var(--gold-hi);border:1px solid;border-radius:2px;justify-content:center;align-items:center;font-size:16px;display:flex;position:relative}.roster-hero .nm{font-family:var(--font-title);color:var(--dim);letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:7px;overflow:hidden}.result-modal{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;padding:var(--gap-lg);flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.result-modal.on{display:flex}.result-title{font-family:var(--font-deco);letter-spacing:.4em;color:var(--gold);text-shadow:0 0 12px color-mix(in oklab, var(--gold) 50%, transparent);margin-bottom:16px;font-size:14px;font-weight:700}.result-cards{flex-wrap:wrap;justify-content:center;gap:7px;max-width:320px;display:flex}.result-card{border-radius:var(--radius-sm);background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid;flex-direction:column;width:64px;display:flex;position:relative;overflow:hidden}.result-card-img{height:74px;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;justify-content:center;align-items:center;font-size:26px;display:flex;position:relative}.result-card-img svg{width:30px;height:30px}.result-card-meta{font-family:var(--font-body);color:var(--text);border-top:1px solid var(--b);text-align:center;padding:4px 5px;font-size:8px;line-height:1.3}.result-card-new{background:var(--red);color:#fff;font-family:var(--font-title);letter-spacing:.2em;border-radius:2px;padding:1px 4px;font-size:7px;font-weight:700;position:absolute;top:3px;right:3px}.guild-modal-close{font-family:var(--font-title);letter-spacing:.3em;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;margin-top:20px;padding:10px 28px;font-size:11px;font-weight:600;transition:filter .18s;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000059}.guild-modal-close:hover{filter:brightness(1.1)}.result-content{flex-direction:column;align-items:center;gap:12px;display:flex}.result-headline{position:relative}.result-card--hero{width:110px}.result-card--hero .result-card-img{height:110px}.result-card--hero .result-card-meta{padding:5px 6px;font-size:9px}.mini-pulls{flex-wrap:wrap;justify-content:center;gap:5px;max-width:300px;display:flex}.mini-pull-card{border:1px solid var(--b);background:linear-gradient(180deg, var(--p2), var(--p));border-radius:2px;justify-content:center;align-items:center;width:38px;height:42px;display:flex;position:relative}.mini-new{color:var(--gold-hi);font-size:7px;line-height:1;position:absolute;top:1px;right:2px}#s-heroes #heroes-list,.heroes-list{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.heroes-section-lbl{font-family:var(--font-title);letter-spacing:.3em;color:var(--dim2);align-items:center;gap:6px;padding:2px 4px;font-size:9px;display:flex}.heroes-section-lbl:after{content:"";background:linear-gradient(90deg, color-mix(in oklab, var(--gold) 20%, transparent), transparent);flex:1;height:1px}.hero-row{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius);padding:var(--gap-md);gap:var(--gap-md);cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .18s;display:flex;position:relative}.hero-row:hover{border-color:var(--gold-dim)}.hero-row .hero-portrait{width:52px;height:62px}.hero-row .hr-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.hero-row .hr-top{align-items:baseline;gap:8px;display:flex}.hero-row .hr-name{font-family:var(--font-title);letter-spacing:.08em;color:var(--text-hi);font-size:12px;font-weight:600}.hero-row .hr-meta{font-family:var(--font-body);color:var(--dim);font-size:10px;font-style:italic}.hero-row .hr-class{font-family:var(--font-title);letter-spacing:.15em;color:var(--gold-dim);align-items:center;gap:5px;font-size:8.5px;display:flex}.hero-row .hr-class .ico{width:11px;height:11px;color:var(--gold)}.hero-row .hr-bars{flex-direction:column;gap:3px;margin-top:2px;display:flex}.hero-detail-body{flex-direction:column;flex:1;gap:14px;padding:11px;display:flex;overflow-y:auto}.hd-section-title{font-family:var(--font-title);letter-spacing:.3em;color:var(--gold);align-items:center;gap:7px;margin-bottom:7px;font-size:9px;font-weight:600;display:flex}.hd-section-title:before{content:"";background:var(--gold-dim);width:14px;height:1px}.hd-section-title:after{content:"";background:linear-gradient(90deg, var(--gold-dim), transparent);flex:1;height:1px}.hero-hero{align-items:stretch;gap:11px;display:flex}.hero-hero .hero-portrait{width:78px;height:96px}.hero-hero .hh-info{flex-direction:column;flex:1;justify-content:center;gap:4px;display:flex}.hero-hero .hh-name{font-family:var(--font-deco);letter-spacing:.04em;color:var(--text-hi);font-size:17px;font-weight:700;line-height:1.1}.hero-hero .hh-class{font-family:var(--font-title);letter-spacing:.18em;color:var(--gold);font-size:10px}.hero-hero .hh-race{font-family:var(--font-body);color:var(--dim);font-size:11px;font-style:italic}.hero-hero .hh-rarity-row{gap:5px;margin-top:3px;display:flex}.hero-stats-section{grid-template-columns:1fr 1fr;gap:5px;display:grid}.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);font-family:var(--font-body);justify-content:space-between;align-items:center;padding:6px 9px;font-size:11px;display:flex}.stat-row .k{color:var(--dim);font-family:var(--font-title);letter-spacing:.15em;font-size:8.5px}.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;font-family:var(--font-body);margin-left:4px;font-style:italic}.equip-slots{flex-direction:column;gap:6px;display:flex}.equip-slot{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);align-items:center;gap:9px;padding:7px 10px;display:flex}.equip-slot .slot-icon{border:1px solid var(--b2);width:24px;height:24px;color:var(--gold-dim);background:#0a0814;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.equip-slot .slot-icon svg{width:14px;height:14px}.equip-slot .slot-label{font-family:var(--font-title);letter-spacing:.25em;color:var(--dim);flex-shrink:0;width:48px;font-size:8px}.equip-slot .slot-item{font-family:var(--font-body);color:var(--text);flex:1;font-size:11px;line-height:1.3}.equip-slot .slot-item .nm{font-family:var(--font-title);letter-spacing:.05em;color:var(--text-hi);font-size:10px}.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);letter-spacing:.18em;border:1px solid var(--b2);color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;padding:4px 8px;font-size:7.5px;transition:border-color .15s,color .15s}.equip-slot button:hover{border-color:var(--red);color:var(--red)}.equip-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.equip-item-card{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius-sm);cursor:pointer;padding:7px 9px;transition:border-color .15s}.equip-item-card:hover{border-color:var(--gold-dim)}.equip-item-card .item-name{font-family:var(--font-title);letter-spacing:.05em;color:var(--text-hi);margin-bottom:2px;font-size:9.5px;font-weight:600}.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);width:280px;box-shadow:var(--shadow-deep);padding:18px;position:relative}.name-box:before,.name-box:after{content:"";border:1px solid color-mix(in oklab, var(--gold) 60%, var(--b));width:12px;height:12px;position:absolute}.name-box:before{border-bottom:none;border-right:none;top:5px;left:5px}.name-box:after{border-top:none;border-left:none;bottom:5px;right:5px}.name-box label{font-family:var(--font-title);letter-spacing:.3em;color:var(--gold);margin-bottom:9px;font-size:9px;display:block}.name-input{border:1px solid var(--b2);width:100%;color:var(--text);font-family:var(--font-title);letter-spacing:.05em;border-radius:var(--radius-sm);background:#06040c;outline:none;margin-bottom:14px;padding:9px 11px;font-size:13px;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{flex-direction:column;flex:1;gap:16px;padding:11px;display:flex;overflow-y:auto}.missions-section-title{font-family:var(--font-title);color:var(--gold);text-transform:uppercase;letter-spacing:.3em;align-items:center;gap:7px;margin-bottom:9px;font-size:11px;font-weight:600;display:flex}.missions-section-title:before{content:"";background:var(--gold-dim);width:16px;height:1px}.missions-section-title:after{content:"";background:linear-gradient(90deg, var(--gold-dim), transparent);flex:1;height:1px}.daily-reset-label{font-family:var(--font-body);color:var(--dim);margin-bottom:8px;font-size:10px;font-style:italic}.mission-card{background:linear-gradient(180deg, var(--p2), var(--p));border:1px solid var(--b);border-radius:var(--radius);margin-bottom:7px;padding:11px 12px;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:"";background:repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in oklab, var(--mute) 30%, transparent) 8px 9px);pointer-events:none;border-radius:inherit;position:absolute;inset:0}.mission-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.mission-name{font-family:var(--font-title);letter-spacing:.08em;color:var(--text-hi);font-size:11px;font-weight:600}.mission-reward{font-family:var(--font-title);letter-spacing:.12em;color:var(--gold-hi);white-space:nowrap;align-items:center;gap:3px;font-size:9.5px;display:flex}.mission-reward .ico{width:11px;height:11px;color:var(--rune)}.mission-reward .bonus{font-family:var(--font-body);color:var(--gold-dim);margin-left:3px;font-size:8.5px;font-style:italic}.mission-desc{font-family:var(--font-body);color:var(--dim);margin-bottom:7px;font-size:10.5px;line-height:1.4}.mission-progress-bar{border:1px solid var(--b);background:#06040c;border-radius:2px;height:5px;margin-bottom:6px;overflow:hidden}.mission-progress-bar>div{background:linear-gradient(180deg, var(--gold-hi), var(--gold));height:100%;box-shadow:0 0 5px color-mix(in oklab, var(--gold) 50%, transparent);border-radius:2px;transition:width .4s}.mission-footer{font-family:var(--font-body);color:var(--dim);justify-content:space-between;align-items:center;font-size:10px;display:flex}.mission-footer .progress-txt{font-family:var(--font-title);letter-spacing:.12em;font-size:9px}.mission-footer button{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);font-family:var(--font-title);letter-spacing:.18em;cursor:pointer;padding:5px 14px;font-size:9px;font-weight:600;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #0000004d}.mission-footer button:hover{filter:brightness(1.08)}.mission-done-tag{color:var(--hp);font-family:var(--font-title);letter-spacing:.15em;font-size:9px}.heroes-toolbar{border-bottom:1px solid var(--b);flex-shrink:0;align-items:center;gap:10px;padding:12px 14px 10px;display:flex}.heroes-filter-chips{scrollbar-width:none;scroll-snap-type:x proximity;flex:1;gap:6px;padding:2px 0 4px;display:flex;overflow-x:auto}.heroes-filter-chips::-webkit-scrollbar{display:none}.chip{scroll-snap-align:start;border:1px solid var(--b);min-height:36px;color:var(--dim);font-family:var(--font-title);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#00000040;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:11px;transition:color .15s,background .15s,border-color .15s}.chip:hover{color:var(--text)}.chip.is-on{border-color:var(--gold-dim);color:var(--gold-hi);background:#d4af5f1f}.heroes-sort{border:1px solid var(--b);min-height:36px;color:var(--gold-hi);font-family:var(--font-title);letter-spacing:.12em;cursor:pointer;background:#0000004d;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:flex}.heroes-section-filter{color:var(--dim);text-transform:none;letter-spacing:0;margin-left:4px;font-size:10px;font-style:italic}.team-grid{flex-direction:column;gap:8px;padding:0 12px;display:flex}.team-slot--empty{border:1px dashed var(--mute,var(--b));min-height:72px;color:var(--dim2);background:#0003;border-radius:10px;justify-content:center;align-items:center;gap:12px;display:flex}.team-slot-plus{font-family:var(--font-title);color:var(--gold-dim);opacity:.7;font-size:22px;line-height:1}.team-slot-label{font-family:var(--font-title);letter-spacing:.15em;text-transform:uppercase;opacity:.7;font-size:11px}.hero-row{cursor:pointer;transition:background .15s,transform .12s;position:relative}.hero-row:hover{background:#ffffff05}.hero-row:active{transform:scale(.99)}.hero-portrait-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.hr-rarity-tag{font-family:var(--font-title);letter-spacing:.05em;background:color-mix(in oklab, currentColor 10%, transparent);border:1px solid;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.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{align-items:center;gap:8px;margin-top:5px;display:flex}.hr-xp-bg{background:#00000080;border-radius:2px;flex:1;height:3px;overflow:hidden}.hr-xp-fill{background:linear-gradient(90deg, var(--gold-dim), var(--gold-hi));height:100%;transition:width .4s}.hr-xp-label{font-family:var(--font-body);color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:86px;font-size:10px}.hero-action{border:1px solid var(--b);color:var(--gold-hi);font-family:var(--font-title);letter-spacing:.15em;cursor:pointer;background:#0000004d;border-radius:8px;flex-shrink:0;align-self:stretch;min-width:70px;min-height:44px;margin-left:8px;padding:0 12px;font-size:10px;font-weight:600;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{color:#fff;font-family:var(--font-title);letter-spacing:.12em;z-index:2;background:linear-gradient(oklch(68% .18 30),oklch(55% .2 25));border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700;position:absolute;top:-6px;left:14px;box-shadow:0 2px 8px #00000080}.heroes-empty{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:56px 24px;display:flex}.heroes-empty-glyph{color:var(--gold-dim);filter:drop-shadow(0 0 24px var(--gold-dim));font-size:64px;animation:4s ease-in-out infinite orb-idle}.heroes-empty-title{font-family:var(--font-title);letter-spacing:.12em;color:var(--gold-hi);text-transform:uppercase;font-size:16px}.heroes-empty-desc{font-family:var(--font-body);color:var(--dim);max-width:290px;font-size:13px;line-height:1.55}.heroes-empty-filter{text-align:center;font-family:var(--font-body);color:var(--dim);padding:28px 24px;font-size:13px;font-style:italic}.dup-overlay{z-index:3;background:linear-gradient(#0000,#000000e0);flex-direction:column;align-items:center;gap:3px;padding:8px 6px;display:flex;position:absolute;bottom:0;left:0;right:0}.dup-label{font-family:var(--font-body);color:var(--dim);font-size:9px;font-style:italic}.dup-xp{font-family:var(--font-title);letter-spacing:.08em;color:var(--gold-hi);text-shadow:0 0 8px var(--gold-dim);font-size:13px;font-weight:700}.dup-levelup{font-family:var(--font-title);letter-spacing:.15em;color:oklch(78% .18 145);text-shadow:0 0 6px oklch(55% .2 145);font-size:11px}@media (width<=720px){.hero-action{min-width:64px;padding:0 10px;font-size:11px}.chip{min-height:38px;padding:9px 13px;font-size:11px}.heroes-sort{min-height:38px;font-size:11px}.hr-xp-label{min-width:92px;font-size:11px}}
