/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.bottom-full{bottom:100%}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-y-180{--tw-rotate-y:rotateY(180deg);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,ease)!important;transition-duration:var(--tw-duration,0s)!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.\[audit\:item-crafting-compliance\]{audit:item-crafting-compliance}.\[audit\:item-system\]{audit:item-system}.\[validate\:item-art\]{validate:item-art}.\[validate\:visual-assets\]{validate:visual-assets}.backface-hidden{backface-visibility:hidden}@layer base{body{text-rendering:optimizeSpeed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}}.texture-overlay{position:relative}.texture-overlay:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.texture-overlay>*{z-index:1;position:relative}.texture-overlay-light:after{opacity:.015}.texture-overlay-strong:after{opacity:.035}@layer components{.game-card{backface-visibility:hidden;will-change:transform;position:relative;overflow:hidden;transform:translateZ(0)}.game-panel{background:linear-gradient(#262019fa,#16120efc);border:1px solid #64553c73;border-radius:4px;box-shadow:0 4px 20px #00000073,inset 0 1px #fff0c80a}.panel-header-gold{background:linear-gradient(90deg,#c9a22714,#0000 50%);border-bottom:1px solid #c9a22740;position:relative}.panel-header-gold:after{content:"";background:linear-gradient(90deg,#0000,#c9a22766,#0000);height:1px;position:absolute;bottom:-1px;left:0;right:0}.gem-icon{background:linear-gradient(145deg,#7c5aa64d,#503c7826);border:1px solid #7c5aa699;border-radius:4px;position:relative;box-shadow:0 0 12px #7c5aa633,inset 0 1px #ffffff14}.gem-icon:after{content:"";pointer-events:none;background:linear-gradient(#ffffff0f,#0000);border-radius:3px 3px 0 0;height:50%;position:absolute;top:0;left:0;right:0}.stat-badge{background:#0000004d;border:1px solid #64553c59;border-radius:2px;padding:.15rem .4rem;font-size:.68rem}.text-gold-glow{color:#c9a227;text-shadow:0 0 15px #c9a22766}}@layer utilities{.gpu{backface-visibility:hidden;transform:translateZ(0)}.will-change-transform{will-change:transform}.contain-paint{contain:paint}.contain-layout{contain:layout}.text-shadow-dark{text-shadow:0 1px 3px #000c}.text-shadow-glow-gold{text-shadow:0 0 15px #c9a22766}.rounded-sharp{border-radius:3px}}@keyframes castBarFill{0%{width:0%}to{width:100%}}@keyframes bossHealthBarAppear{0%{opacity:0;transform:translate(-50%)translateY(50px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes bossHealthShine{0%{left:-100%}to{left:200%}}.cast-bar-filling{will-change:width;backface-visibility:hidden;animation-name:castBarFill;animation-timing-function:linear;animation-fill-mode:forwards;transform:translateZ(0)}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shine{0%{left:-100%}to{left:200%}}@keyframes channelPulseRing{0%,to{opacity:.5}50%{opacity:.8}}@keyframes castingPulseRing{0%,to{opacity:.6}50%{opacity:.9}}@keyframes channelBarFlow{0%{opacity:.7}to{opacity:1}}@keyframes borderShimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes frameShimmer{0%,to{opacity:1}}@keyframes accentGlowPulse{0%,to{opacity:.6}50%{opacity:.9}}.skills-tab-layout{grid-template-columns:minmax(240px,260px) minmax(0,1fr);gap:1rem;height:calc(100vh - 90px);min-height:0;padding:.5rem 1rem;display:grid;overflow:hidden}.skills-tab-party,.skills-tab-center{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;position:relative}.skills-tab-center{overflow:hidden}.skills-detail-root{background:#0a0908;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.skills-detail-bg{opacity:.025;pointer-events:none;background-image:url(/tilebackground.png);background-position:50%;background-size:cover;position:absolute;inset:0}.skills-empty-state{text-align:center;color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;font-family:Crimson Text,Georgia,serif}.skills-empty-state h3{color:#c9a227;margin:0;font-family:Cinzel,Georgia,serif;font-size:1.1rem}.skills-empty-state p{margin:0;font-size:.95rem}.skills-page-header{z-index:1;background:linear-gradient(#c9a2271a,#0000);border-bottom:1px solid #c9a22738;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex;position:relative}.skills-page-title{letter-spacing:.02em;color:#c9a227;text-shadow:0 0 18px #c9a2274d;margin:0;font-family:Cinzel,Georgia,serif;font-size:1.1rem}.skills-page-subtitle{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:.15rem 0 0;font-family:Crimson Text,Georgia,serif;font-size:.72rem}.skills-page-count{letter-spacing:.04em;color:#d9bf6f;background:#c9a2271a;border:1px solid #c9a22759;border-radius:999px;padding:.35rem .65rem;font-family:Cinzel,Georgia,serif;font-size:.72rem}.skills-page-body{z-index:1;flex:1 1 0;grid-template-columns:240px 1fr;gap:0;min-height:0;display:grid;position:relative;overflow:hidden}.skills-rail{background:linear-gradient(#120f0cfa,#0c0a08);border-right:1px solid #c9a22726;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.skills-rail-list{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.skills-rail-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:linear-gradient(#191612f2,#0f0d0afa);border:1px solid #c9a22733;border-radius:8px;padding:.65rem .7rem;transition:all .18s;position:relative;box-shadow:0 2px 6px #00000040}.skills-rail-item:hover{border-color:var(--skill-primary,#c9a22780);box-shadow:0 0 14px var(--skill-glow,#c9a22726)}.skills-rail-item.is-active{border-color:var(--skill-primary,#c9a227);box-shadow:0 0 20px var(--skill-glow,#c9a22740),inset 0 1px #ffffff0a;background:linear-gradient(180deg,var(--skill-bg,#c9a22714)0%,#120f0cfa 100%)}.skills-rail-item-inner{align-items:flex-start;gap:.6rem;display:flex}.skills-rail-icon-wrap{flex-shrink:0;position:relative}.skills-rail-icon{border:2px solid var(--skill-primary,#c9a227);border-radius:6px;width:48px;height:48px}@supports (color:color-mix(in lab,red,red)){.skills-rail-icon{border:2px solid color-mix(in srgb,var(--skill-primary,#c9a227)50%,transparent)}}.skills-rail-icon{background:linear-gradient(135deg,var(--skill-primary,#c9a227)0%,#0a0908f2 100%)}@supports (color:color-mix(in lab,red,red)){.skills-rail-icon{background:linear-gradient(135deg,color-mix(in srgb,var(--skill-primary,#c9a227)18%,#0a0908),#0a0908f2)}}.skills-rail-icon{color:var(--skill-primary,#c9a227);box-shadow:0 0 12px var(--skill-glow,#c9a22726);justify-content:center;align-items:center;font-size:1.4rem;display:flex;overflow:hidden}.skills-rail-icon img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.skills-rail-slot{color:#0a0908;background:var(--skill-primary,#c9a227);border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-family:Cinzel,Georgia,serif;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:-3px;right:-3px;box-shadow:0 1px 3px #0006}.skills-rail-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.skills-rail-name{letter-spacing:.02em;color:#e8d7a8;white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Cinzel,Georgia,serif;font-size:.78rem;line-height:1.2;overflow:hidden}.skills-rail-cost{color:var(--text-muted);margin:0;font-family:Crimson Text,Georgia,serif;font-size:.72rem}.skills-rail-power{background:#0006;border-radius:2px;height:3px;margin-top:.15rem;overflow:hidden}.skills-rail-power-fill{background:linear-gradient(90deg,var(--skill-primary,#c9a227),var(--skill-primary,#c9a227));height:100%}@supports (color:color-mix(in lab,red,red)){.skills-rail-power-fill{background:linear-gradient(90deg,var(--skill-primary,#c9a227),color-mix(in srgb,var(--skill-primary,#c9a227)70%,white))}}.skills-rail-power-fill{border-radius:2px;transition:width .3s}.skills-rail-badge{letter-spacing:.06em;color:gold;background:#ffd70026;border:1px solid #ffd70066;border-radius:3px;padding:.1rem .3rem;font-family:Cinzel,Georgia,serif;font-size:.55rem;font-weight:700;position:absolute;top:.4rem;right:.4rem}.skill-detail{flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.skill-detail-bg{opacity:.03;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-size:cover;position:absolute;inset:0}.skill-detail-vignette{pointer-events:none;z-index:0;background:radial-gradient(at 50% 30%,#0000 20%,#0006);position:absolute;inset:0}.skill-detail-header{z-index:2;background:linear-gradient(#c9a2271f,#c9a22705);border-bottom:1px solid #c9a22740;flex-shrink:0;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex;position:relative}.skill-detail-header:before{content:"";background:linear-gradient(90deg,#0000 5%,#c9a227,#0000 95%);height:2px;position:absolute;top:0;left:0;right:0;box-shadow:0 0 12px #c9a22766}.skill-detail-header:after{content:"";background:linear-gradient(135deg,#c9a227,#8b7019);border-radius:1px;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 10px #c9a22799}.skill-detail-icon{color:#c9a227;background:linear-gradient(135deg,#c9a22726,#0a0908);border:2px solid #c9a227;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.8rem;display:flex;overflow:hidden;box-shadow:0 0 20px #c9a2274d,inset 0 0 12px #00000080}.skill-detail-icon img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.skill-detail-title-area{flex:1;min-width:0}.skill-detail-name{color:#d4af37;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 20px #c9a22780,0 2px 4px #00000080;margin:0;font-family:Cinzel,Georgia,serif;font-size:1.4rem;font-weight:700;line-height:1.2}.skill-detail-badges{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.skill-detail-badge{text-transform:uppercase;letter-spacing:.05em;color:#c4b8a0;background:#0006;border:1px solid #c9a2274d;border-radius:4px;padding:.2rem .5rem;font-family:Cinzel,Georgia,serif;font-size:.65rem;font-weight:600}.skill-detail-badge--ultimate{color:gold;background:#ffd70026;border-color:#ffd70080;box-shadow:0 0 8px #ffd70033}.skill-detail-content{z-index:1;flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1rem 1.25rem 1.5rem;display:flex;position:relative;overflow-y:auto}.skill-stats-primary{flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.skill-stat-card{background:linear-gradient(#191612f2,#0f0c0afa);border:1px solid #c9a22733;border-radius:6px;flex-direction:column;gap:.4rem;padding:.85rem 1rem;display:flex}.skill-stat-card--damage{border-left:3px solid #ef4444}.skill-stat-card--healing{border-left:3px solid #4ade80}.skill-stat-card--mana{border-left:3px solid #3b82f6}.skill-stat-card--cooldown{border-left:3px solid #f97316}.skill-stat-label{text-transform:uppercase;letter-spacing:.08em;color:#9a8d78;font-family:Cinzel,Georgia,serif;font-size:.7rem;font-weight:600}.skill-stat-value{color:#f5edd8;text-shadow:0 2px 4px #000c;font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:700}.skill-stat-value--damage{color:#f87171}.skill-stat-value--healing{color:#4ade80}.skill-stat-value--mana{color:#60a5fa}.skill-stat-value--cooldown{color:#fb923c}.skill-stat-sub{color:#7a6c56;font-family:Crimson Text,Georgia,serif;font-size:.8rem;font-style:italic}.skill-section{background:linear-gradient(#14110ef2,#0c0a08fa);border:1px solid #c9a22726;border-radius:8px;flex-shrink:0}.skill-section-header{background:linear-gradient(#c9a22714,#0000);border-bottom:1px solid #c9a2271f;padding:.65rem 1rem;position:relative}.skill-section-header:after{content:"";background:linear-gradient(135deg,#c9a227,#8b7019);border-radius:1px;width:6px;height:6px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)rotate(45deg)}.skill-section-title{text-transform:uppercase;letter-spacing:.1em;color:#c9a227;text-shadow:0 0 12px #c9a2274d;margin:0;font-family:Cinzel,Georgia,serif;font-size:.8rem;font-weight:700}.skill-section-content{padding:.85rem 1rem}.skill-mechanics-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.6rem;display:grid}.skill-mechanic{text-align:center;background:#0000004d;border:1px solid #3c32284d;border-radius:4px;padding:.6rem .75rem}.skill-mechanic-label{text-transform:uppercase;letter-spacing:.04em;color:#7a6c56;margin-bottom:.25rem;font-family:Crimson Text,Georgia,serif;font-size:.7rem}.skill-mechanic-value{color:#f5edd8;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600}.skill-effects-list{flex-direction:column;gap:.5rem;display:flex}.skill-effect{background:#00000040;border:1px solid #3c322840;border-left:3px solid #c9a227;border-radius:4px;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.skill-effect-icon{color:#c9a227;background:linear-gradient(135deg,#c9a22726,#0006);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex}.skill-effect-info{flex:1;min-width:0}.skill-effect-name{color:#e8dcc4;margin-bottom:.15rem;font-family:Cinzel,Georgia,serif;font-size:.8rem;font-weight:600}.skill-effect-detail{color:#9a8d78;font-family:Crimson Text,Georgia,serif;font-size:.85rem}.skill-effect-detail .positive{color:#4ade80;font-weight:600}.skill-effect-detail .negative{color:#f87171;font-weight:600}.skill-description{color:#c4b8a0;background:#0003;border-left:2px solid #c9a2274d;border-radius:0 4px 4px 0;padding:.75rem 1rem;font-family:Crimson Text,Georgia,serif;font-size:.95rem;font-style:italic;line-height:1.6}.skill-ai-intent{border-top:1px solid #c9a2271a;margin-top:.75rem;padding-top:.75rem}.skill-ai-label{text-transform:uppercase;letter-spacing:.06em;color:#7a6c56;margin-right:.5rem;font-family:Cinzel,Georgia,serif;font-size:.65rem;font-weight:600}.skill-ai-text{color:#9a8d78;font-family:Crimson Text,Georgia,serif;font-size:.9rem}.skill-tags{flex-wrap:wrap;flex-shrink:0;gap:.4rem;padding-top:.5rem;display:flex}.skill-tags--header{padding-top:.35rem;padding-bottom:.1rem}.skill-tag{color:#c4b8a0;background:#c9a22714;border:1px solid #c9a22740;border-radius:4px;padding:.2rem .5rem;font-family:Crimson Text,Georgia,serif;font-size:.75rem;transition:all .15s}.skill-tag:hover{background:#c9a22726;border-color:#c9a22766}@media (max-width:1200px){.skills-tab-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:auto;min-height:calc(100vh - 90px)}.skills-tab-party{max-height:300px}.skills-page-body{grid-template-columns:1fr}.skills-rail{border-bottom:1px solid #c9a22726;border-right:0;max-height:160px}.skills-rail-list{flex-direction:row;gap:.5rem;padding:.6rem .75rem;overflow:auto hidden}.skills-rail-item{flex:0 0 160px;min-width:160px}}@media (max-width:768px){.skill-stats-primary,.skill-mechanics-grid{grid-template-columns:repeat(2,1fr)}.skill-detail-header{padding:.75rem 1rem}.skill-detail-icon{width:52px;height:52px;font-size:1.5rem}.skill-detail-name{font-size:1.15rem}}.party-frame{transform-origin:50%;will-change:transform,box-shadow,opacity}.party-frame:hover{z-index:100!important;transform:scale(1.01)!important}.frame-accent-glow{transition:opacity .3s;animation:3s ease-in-out infinite accentGlowPulse}.party-frame:hover .frame-accent-glow{opacity:1!important}.frame-shimmer{transition:opacity .3s}.party-frame:hover .frame-shimmer{opacity:1!important;animation-duration:1.5s!important}.portrait-frame{will-change:transform,box-shadow;transition:all .3s cubic-bezier(.4,0,.2,1)}.party-frame:hover .portrait-frame{transform:scale(1.05)}.health-bar-fill{backface-visibility:hidden;will-change:width;position:relative;overflow:hidden;transform:translateZ(0);transition:width .2s cubic-bezier(.4,0,.2,1)!important}.mana-bar-fill{backface-visibility:hidden;will-change:width;transform:translateZ(0);transition:width .15s cubic-bezier(.4,0,.2,1)!important}.cast-bar-fill{backface-visibility:hidden;will-change:width;transform:translateZ(0);transition:width .1s linear!important}.energy-shield-bar{backface-visibility:hidden;will-change:width;transform:translateZ(0);transition:width .2s cubic-bezier(.4,0,.2,1)!important}.health-bar-fill:after{content:"";pointer-events:none;background:linear-gradient(#ffffff1a,#0000);height:40%;position:absolute;top:0;left:0;right:0}@keyframes lowHealthPulse{0%,to{opacity:.8}50%{opacity:1}}.buff-slot{transition:all .2s}.buff-slot:hover{z-index:10;transform:scale(1.15)}.meter-row{transition:all .2s}.meter-row:hover{transform:translate(2px);background:#ffffff0d!important}@keyframes channelPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes channelFlow{0%,to{opacity:.8}50%{opacity:1}}@keyframes channelSparks{0%,to{opacity:.8}50%{opacity:1}}@keyframes channelRipple{0%{opacity:1}to{opacity:0}}@keyframes channelEnergy{0%{opacity:0}50%{opacity:1}to{opacity:0}}.cast-bar-channeling{background:linear-gradient(90deg,#9b59b699,#8e44ade6,#af7ac5,#8e44ade6,#9b59b699) 0 0/200% 100%;border-radius:3px;animation:1.5s ease-in-out infinite channelFlow,2s ease-in-out infinite channelPulse,.3s ease-in-out infinite channelSparks;position:relative;overflow:visible}.cast-bar-channeling:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff6 30%,#fffc,#fff6 70%,#0000);width:40%;height:100%;animation:.8s linear infinite channelEnergy;position:absolute;top:0;left:-20%}.cast-bar-channeling:after{content:"";pointer-events:none;background:0 0;border:2px solid #9b59b680;border-radius:6px;animation:1s ease-out infinite channelRipple;position:absolute;inset:-4px}.cast-bar-channeling-container{position:relative;overflow:visible}.cast-bar-channeling-container:before,.cast-bar-channeling-container:after{content:"⚡";text-shadow:0 0 8px #9b59b6cc;font-size:12px;animation:.2s ease-in-out infinite channelSparks;position:absolute;top:50%;transform:translateY(-50%)}.cast-bar-channeling-container:before{left:-16px}.cast-bar-channeling-container:after{right:-16px}.channel-ramp-indicator{gap:3px;display:flex;position:absolute;top:-20px;right:0}.channel-ramp-stack{background:#2ecc714d;border:1px solid #2ecc7180;border-radius:50%;width:8px;height:8px;transition:all .3s}.channel-ramp-stack.active{background:linear-gradient(135deg,#2ecc71,#27ae60);transform:scale(1.2);box-shadow:0 0 10px #2ecc71cc}@keyframes blockFlash{0%{opacity:0;transform:translateY(5px)scale(.8)}20%{opacity:1;transform:translateY(0)scale(1.1)}40%{transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.9)}}:root{--bg-abyss:#0a0806;--bg-darkest:#0f0c09;--bg-dark:#1a1510;--bg-medium:#231d16;--bg-light:#2e261d;--bg-lighter:#3a3025;--bg-card:#1a1611;--bg-hover:#252016;--accent-primary:#c9a227;--accent-primary-dim:#a68419;--accent-primary-bright:#e6bc2f;--accent-primary-glow:#c9a22766;--accent-secondary:#8b2942;--accent-secondary-dim:#6d1f33;--accent-secondary-bright:#a83a55;--accent-blood:#8b1a1a;--accent-blood-glow:#b32424;--accent-blood-dim:#6d1414;--accent-fire:#c45c2a;--accent-ember:#d67d4a;--accent-success:#2d6b3a;--accent-poison:#4a8a55;--accent-gold:#c9a227;--accent-gold-dim:#8b7019;--accent-gold-bright:#e6bc2f;--accent-arcane:#7c5aa6;--accent-ice:#4a7a8c;--accent-holy:#c9b87c;--bucket-defensive:#4a9eff;--bucket-support:#4ade80;--bucket-offensive:#e05a4f;--rarity-normal:#8a8070;--rarity-magic:#4a6a9c;--rarity-rare:#c9a227;--rarity-unique:#8b4513;--rarity-legendary:#9c4a6a;--rarity-set:#2d6b3a;--text-primary:#e8dcc4;--text-secondary:#b8a88c;--text-dim:#7a6c56;--text-bright:#f5edd8;--border-color:#3a3025;--border-ornate:#5a4a3a;--border-glow:#c9a2274d;--shadow-sm:0 2px 4px #00000080;--shadow-md:0 4px 16px #0009;--shadow-lg:0 8px 32px #000000b3;--shadow-inner:inset 0 2px 8px #00000080;--shadow-glow:0 0 20px #c9a22726;--glow-primary:0 0 20px #c9a22766;--glow-gold:0 0 15px #c9a22780;--glow-blood:0 0 15px #8b1a1a80;--glow-fire:0 0 20px #c45c2a66;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.25s cubic-bezier(.4,0,.2,1);--transition-smooth:.3s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{background:var(--bg-abyss);color:var(--text-primary);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Crimson Text,Georgia,Times New Roman,serif;font-weight:400;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background-color:#0000;background-image:radial-gradient(#0000,#0006),radial-gradient(at 50% 0,#c9a2270f,#0000 60%),radial-gradient(at 20% 80%,#8b5a2b0a,#0000 50%),radial-gradient(at 80% 20%,#8b5a2b08,#0000 50%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;position:fixed;inset:0}body:after{content:"";opacity:.06;pointer-events:none;z-index:-1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}.paper-edge{position:relative}.paper-edge:before{content:"";filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='rough'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='3'/%3E%3C/filter%3E%3C/svg%3E#rough");pointer-events:none;z-index:-1;background:linear-gradient(135deg,#0000,#8b5a2b1a,#0000,#8b5a2b14,#0000);position:absolute;inset:-2px}.parchment-border{background-image:linear-gradient(90deg,#8b5a2b0d,#0000 5% 95%,#8b5a2b0d),linear-gradient(#8b5a2b0d,#0000 5% 95%,#8b5a2b0d);border:2px solid #5a463299;box-shadow:inset 0 0 20px #0000004d,inset 0 0 3px #8b5a2b33,0 0 0 1px #3c2d1e66,0 4px 12px #00000080}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-bright);letter-spacing:.04em;text-transform:uppercase;font-family:Cinzel,Georgia,serif;font-weight:600}h1{-webkit-text-fill-color:transparent;text-shadow:none;background:linear-gradient(#e6bc2f,#8b6914);-webkit-background-clip:text;background-clip:text;font-size:2rem}h2{letter-spacing:.06em;font-size:1.5rem}h3{color:var(--text-primary);letter-spacing:.03em;font-size:1.2rem}h4{color:var(--text-secondary);letter-spacing:.02em;font-size:1.05rem;font-weight:500}.mono{font-family:JetBrains Mono,monospace}.app-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.nav-tabs{z-index:0;background:radial-gradient(at 50% 100%,#c9a2270f,#0000 50%),linear-gradient(#1a1510fc,#0a0908fc);border-bottom:2px solid #5a463299;align-items:stretch;padding:0;display:flex;position:relative;overflow:visible;box-shadow:0 4px 20px #000000b3,inset 0 -1px #0006,inset 0 1px #ffffff05}.nav-tabs-top-accent{z-index:11;pointer-events:none;background:linear-gradient(90deg,#0000,#c9a2274d 20%,#c9a22799,#c9a2274d 80%,#0000);height:3px;position:absolute;top:0;left:0;right:0}.nav-tabs-center-diamond{z-index:12;pointer-events:none;background:linear-gradient(135deg,#c9a227,#8b7019);border-radius:1px;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 0 12px #c9a22799}.nav-tabs-texture{opacity:.025;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-size:cover;position:absolute;inset:0}.nav-tabs .nav-ember{pointer-events:none;z-index:1;opacity:0;border-radius:50%;width:2px;height:2px;position:absolute;bottom:0}.nav-ember-1{background:radial-gradient(circle,#ff8030,#ff5010,#0000);animation:2s ease-out infinite nav-ember-rise;left:10%;box-shadow:0 0 3px 1px #ff641e40}.nav-ember-2{background:radial-gradient(circle,#ffaa50,#ff6020,#0000);animation:2.5s ease-out .6s infinite nav-ember-rise;left:25%;box-shadow:0 0 2px 1px #ff782833}.nav-ember-3{background:radial-gradient(circle,#ff7020,#dd4010,#0000);animation:1.8s ease-out .3s infinite nav-ember-rise;left:40%;box-shadow:0 0 2px 1px #ff501440}.nav-ember-4{background:radial-gradient(circle,#ffcc70,#ff8040,#0000);animation:2.2s ease-out 1s infinite nav-ember-rise;left:55%;box-shadow:0 0 4px 1px #ff8c324d}.nav-ember-5{background:radial-gradient(circle,#ff6010,#cc3000,#0000);animation:2.8s ease-out .4s infinite nav-ember-rise;left:70%;box-shadow:0 0 2px 1px #dc3c0a40}.nav-ember-6{background:radial-gradient(circle,#ff9040,#ff5020,#0000);animation:2s ease-out 1.2s infinite nav-ember-rise;left:85%;box-shadow:0 0 3px 1px #ff5a1e40}.nav-ember-7{background:radial-gradient(circle,#ffbb60,#ff7030,#0000);animation:3s ease-out .9s infinite nav-ember-rise;left:15%;box-shadow:0 0 2px 1px #ff782833}.nav-ember-8{background:radial-gradient(circle,#ff8030,#ee5010,#0000);animation:1.5s ease-out 1.5s infinite nav-ember-rise;left:60%;box-shadow:0 0 2px 1px #ff641440}@keyframes nav-ember-rise{0%{opacity:0;transform:translateY(0)translate(0)scale(.4)}10%{opacity:.5;transform:translateY(-4px)translate(1px)scale(.8)}30%{opacity:.35}60%{opacity:.2;transform:translateY(-20px)translate(-2px)scale(.6)}to{opacity:0;transform:translateY(-35px)translate(3px)scale(.2)}}.nav-tabs:after{content:"";z-index:10;background:linear-gradient(90deg,#0000,#c9a22766,#0000);height:2px;position:absolute;bottom:-2px;left:10%;right:10%;box-shadow:0 0 12px #c9a22733}@keyframes nav-ember-glow{0%{opacity:.6}to{opacity:1}}.nav-tab{color:#9a8d78;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:none;align-items:center;gap:.6rem;padding:1rem 1.5rem;font-family:Cinzel,Georgia,serif;font-size:.8rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.nav-tab:hover{color:#c9a227;text-shadow:0 0 12px #c9a22780;background:linear-gradient(#c9a22714,#c9a2271f,#c9a2270f);transform:translateY(-2px)}.nav-tab:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#c9a22799,#0000);height:0;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:15%;right:15%;box-shadow:0 0 #0000}.nav-tab:hover:before{opacity:1;height:2px;box-shadow:0 0 12px #c9a22780,0 -5px 20px #c9a2274d}.nav-tab.active{color:#c9a227;text-shadow:0 0 20px #c9a22799;background:linear-gradient(#c9a2271f,#c9a22714,#c9a22705);transform:translateY(0)}.nav-tab.active:hover{transform:translateY(0)}.nav-tab.active:before{content:"";opacity:0;height:0;position:absolute;bottom:0;left:0;right:0}.nav-tab .tab-icon{opacity:.5;color:#7a6c56;align-items:center;font-size:1.15rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;transform:scale(1)}.nav-tab:hover .tab-icon{opacity:1;color:#c9a227;filter:drop-shadow(0 0 10px #c9a22799);transform:scale(1.15)}.nav-tab.active .tab-icon{opacity:1;color:#c9a227;filter:drop-shadow(0 0 8px #c9a22780);transform:scale(1.05)}.nav-tab.disabled{opacity:.35;cursor:not-allowed;pointer-events:auto}.nav-tab.disabled:hover{color:#9a8d78;text-shadow:none;background:0 0;transform:none}.nav-tab.disabled:hover:before{opacity:0;height:0}.nav-tab.disabled .tab-icon{opacity:.25;filter:none;transform:scale(1)}.nav-stats{align-items:center;gap:.6rem;margin-left:auto;padding:0 1.5rem;display:flex}.nav-stats .stat-display{background:linear-gradient(135deg,#1a1510f2,#0a0908fa);border:1px solid #5a463280;border-radius:0;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:inset 0 1px #ffffff05,inset 0 -1px #0000004d,0 2px 8px #0006}.nav-stats .stat-display:hover{border-color:#c9a22766;box-shadow:inset 0 1px #ffffff08,inset 0 -1px #0000004d,0 2px 12px #00000080,0 0 15px #c9a2271a}.nav-stats .stat-display:before{content:"";border-top:1px solid #c9a227;border-left:1px solid #c9a227;width:6px;height:6px;position:absolute;top:-1px;left:-1px}.nav-stats .stat-display:after{content:"";border-bottom:1px solid #c9a227;border-right:1px solid #c9a227;width:6px;height:6px;position:absolute;bottom:-1px;right:-1px}.nav-stats .stat-display .icon{opacity:.6;color:#7a6c56;font-size:.9rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-stats .stat-display:hover .icon{opacity:.8;color:#c9a227}.nav-stats .stat-display .value{color:#c9a227;text-shadow:0 0 12px #c9a22766;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.main-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.main-content>*{flex:1;min-height:0}.panel{background:repeating-linear-gradient(90deg,#0000 0 1px,#ffffff01 1px 2px),repeating-linear-gradient(0deg,#0000 0 2px,#00000005 2px 4px),radial-gradient(at 85% 15%,#b48c500a,#0000 35%),radial-gradient(at 15% 85%,#a0784608,#0000 40%),linear-gradient(#262019fa,#16120efc);border:1px solid #64553c73;border-radius:3px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff0c80a,inset 0 -1px #0003,0 0 0 1px #140f0a99,0 4px 20px #00000073}.panel:before{content:"";border-top:2px solid var(--accent-primary);border-left:2px solid var(--accent-primary);pointer-events:none;z-index:10;width:10px;height:10px;position:absolute;top:-1px;left:-1px}.panel:after{content:"";border-bottom:2px solid var(--accent-primary);border-right:2px solid var(--accent-primary);pointer-events:none;z-index:10;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.panel-header{background:linear-gradient(#c9a2270f,#0000);border-bottom:1px solid #64553c73;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;position:relative}.panel-header:after{content:"";background:linear-gradient(90deg,#0000,#c9a22759,#0000);height:1px;position:absolute;bottom:-1px;left:0;right:0}.panel-header:before{content:"";background:linear-gradient(90deg,#0000,#fff0c814,#0000);height:1px;position:absolute;top:0;left:0;right:0}.panel-header h3{color:var(--accent-primary);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.8rem;font-weight:600}.panel-content{padding:1rem}.panel-content.has-dying-enemy{padding-right:250px;overflow:visible!important}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.05em;border:1px solid #5a463280;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-family:Cinzel,Georgia,serif;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #00000040}.btn:before{content:"";pointer-events:none;background:linear-gradient(#ffffff14,#0000 50%);position:absolute;inset:0}.btn-primary{color:#f5edd8;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(#8b6914,#6a4e10);border:1px solid #c9a227;font-family:Cinzel,Georgia,serif;font-size:.85rem;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff1a}.btn-primary:hover{background:linear-gradient(#a07a18,#8b6914);box-shadow:0 4px 12px #00000059,inset 0 1px #ffffff26}.btn-primary:active{transform:translateY(1px);box-shadow:0 1px 4px #0000004d}.btn-secondary{color:var(--text-primary);letter-spacing:.03em;background:linear-gradient(#3a3025,#2a2218);border:1px solid #8b5a2b66;font-family:Cinzel,Georgia,serif;box-shadow:0 2px 6px #0000004d}.btn-secondary:hover{color:var(--accent-gold-bright);background:linear-gradient(#4a3d30,#3a3025);border-color:#b4824680}.btn-secondary:active{transform:translateY(1px)}.btn-danger{color:#fff;background:linear-gradient(#b44040,#8b2c2c);border:1px solid #dc505080;box-shadow:0 2px 8px #0000004d}.btn-danger:hover{background:linear-gradient(#c54848,#b44040);border-color:#dc5050b3}.btn-danger:active{transform:translateY(1px)}.btn-small{letter-spacing:.04em;border-radius:3px;padding:.45rem .85rem;font-size:.7rem}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3);transform:none!important}.character-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.character-card{background:var(--bg-dark);cursor:pointer;border:2px solid #5a463280;border-radius:16px;flex-direction:column;min-height:520px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.character-card:before{content:"";border-top:2px solid var(--accent-primary-dim);border-left:2px solid var(--accent-primary-dim);z-index:10;width:10px;height:10px;transition:all .25s;position:absolute;top:-1px;left:-1px}.character-card:after{content:"";border-bottom:2px solid var(--accent-primary-dim);border-right:2px solid var(--accent-primary-dim);z-index:10;width:10px;height:10px;transition:all .25s;position:absolute;bottom:-1px;right:-1px}.character-card.bulwark:before,.character-card.bulwark:after{border-color:#4a9eff}.character-card.lifewarden:before,.character-card.lifewarden:after{border-color:#4ade80}.character-card.prospector:before,.character-card.prospector:after{border-color:#f59e0b}.character-card.conductor:before,.character-card.conductor:after{border-color:#8b5cf6}.character-card.hexwright:before,.character-card.hexwright:after{border-color:#ec4899}.character-card:hover{border-color:#8b5a2b99;transform:translateY(-4px);box-shadow:0 8px 25px #00000080,0 0 20px #8b5a2b26}.character-card:hover:before,.character-card:hover:after{border-color:var(--accent-gold);width:14px;height:14px}.character-card.selected{border-color:var(--accent-gold);box-shadow:0 0 30px #c9a22780}.character-card.selected:before,.character-card.selected:after{animation:2s ease-in-out infinite glowPulse}@keyframes glowPulse{0%,to{opacity:.9;box-shadow:0 0 15px,0 0 30px}50%{opacity:1;box-shadow:0 0 20px,0 0 40px}}.character-portrait{text-align:center;filter:drop-shadow(0 4px 8px #0006);margin-bottom:.75rem;font-size:2.5rem}.character-name{color:var(--text-bright);text-align:center;margin-bottom:.25rem;font-family:Cinzel,Georgia,serif;font-size:1rem;font-weight:600}.character-level{text-align:center;color:var(--text-secondary);margin-top:.5rem;font-size:.8rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.stat-row{background:var(--bg-dark);border-left:2px solid var(--accent-primary-dim);border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.stat-name{color:var(--text-secondary);font-size:.75rem;font-weight:500}.stat-value{color:var(--accent-primary);font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:600}.empty-slot-card{cursor:pointer;background:linear-gradient(135deg,#14120fe6,#0a0805f2);border:2px dashed #64553c4d;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:2rem 1.25rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible}.empty-slot-card:before{content:"";border-top:2px solid var(--accent-primary-dim);border-left:2px solid var(--accent-primary-dim);opacity:.4;border-radius:4px 0 0;width:20px;height:20px;transition:all .25s;position:absolute;top:8px;left:8px}.empty-slot-card:after{content:"";border-bottom:2px solid var(--accent-primary-dim);border-right:2px solid var(--accent-primary-dim);opacity:.4;border-radius:0 0 4px;width:20px;height:20px;transition:all .25s;position:absolute;bottom:8px;right:8px}.empty-slot-card .corner-accent-tr{border-top:2px solid var(--accent-primary-dim);border-right:2px solid var(--accent-primary-dim);opacity:.4;border-radius:0 4px 0 0;width:20px;height:20px;transition:all .25s;position:absolute;top:8px;right:8px}.empty-slot-card .corner-accent-bl{border-bottom:2px solid var(--accent-primary-dim);border-left:2px solid var(--accent-primary-dim);opacity:.4;border-radius:0 0 0 4px;width:20px;height:20px;transition:all .25s;position:absolute;bottom:8px;left:8px}.empty-slot-card:hover{border-color:#8b5a2b80;transform:translateY(-4px);box-shadow:0 8px 25px #00000080}.empty-slot-card:hover:before,.empty-slot-card:hover:after,.empty-slot-card:hover .corner-accent-tr,.empty-slot-card:hover .corner-accent-bl{opacity:1;border-color:var(--accent-gold)}.empty-slot-card .slot-icon{opacity:.8;filter:drop-shadow(0 0 15px);margin-bottom:1rem;font-size:3.5rem;transition:all .3s}.empty-slot-card:hover .slot-icon{opacity:1;transform:scale(1.05)}.empty-slot-card .slot-label{color:var(--text-bright);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-family:Cinzel,Georgia,serif;font-size:1.1rem;font-weight:600}.empty-slot-card .slot-description{color:var(--text-secondary);font-size:.8rem;font-style:italic}.empty-slot-card .slot-badge{opacity:.6;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;border:1px solid;border-radius:20px;align-items:center;gap:6px;padding:6px 16px;font-family:Cinzel,Georgia,serif;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.grand-panel{background-blend-mode:normal,soft-light;background:linear-gradient(#161410fa,#0e0c0afc) 50% no-repeat,url(/tilebackground.png) 50%/cover no-repeat;border:1px solid #78644666;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000080,inset 0 1px #ffffff08}.grand-panel:before,.grand-panel:after{content:"";pointer-events:none;z-index:10;width:24px;height:24px;position:absolute}.grand-panel:before{border-top:2px solid var(--accent-gold);border-left:2px solid var(--accent-gold);border-radius:4px 0 0;top:4px;left:4px}.grand-panel:after{border-top:2px solid var(--accent-gold);border-right:2px solid var(--accent-gold);border-radius:0 4px 0 0;top:4px;right:4px}.grand-panel-corners-bottom:before,.grand-panel-corners-bottom:after{content:"";pointer-events:none;z-index:10;width:24px;height:24px;position:absolute}.grand-panel-corners-bottom:before{border-bottom:2px solid var(--accent-gold);border-left:2px solid var(--accent-gold);border-radius:0 0 0 4px;bottom:4px;left:4px}.grand-panel-corners-bottom:after{border-bottom:2px solid var(--accent-gold);border-right:2px solid var(--accent-gold);border-radius:0 0 4px;bottom:4px;right:4px}.grand-header{background:linear-gradient(#c9a2271f,#c9a22708);border-bottom:1px solid #c9a22740;padding:1rem 1.25rem;position:relative}.grand-header:before{content:"";background:linear-gradient(90deg,transparent,var(--accent-gold),transparent);height:1px;position:absolute;top:0;left:0;right:0}.grand-header:after{content:"";background:linear-gradient(90deg,#0000,#c9a22780,#0000);height:1px;position:absolute;bottom:-1px;left:10%;right:10%}.grand-header h3{color:var(--accent-gold);text-transform:uppercase;letter-spacing:.08em;text-shadow:0 0 20px #c9a22766;text-align:center;margin:0;font-family:Cinzel,Georgia,serif;font-size:1.1rem;font-weight:700}.grand-header-icon{justify-content:center;align-items:center;gap:.75rem;display:flex}.grand-header-icon .header-gem{filter:drop-shadow(0 0 8px #c9a22799);font-size:1.25rem}.grand-divider{background:linear-gradient(90deg,#0000,#78644680,#0000);height:1px;margin:1rem 0;position:relative}.grand-divider:before{content:"";background:var(--accent-gold);border-radius:1px;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 10px #c9a22799}.grand-empty-state{text-align:center;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.grand-empty-state .empty-icon{opacity:.4;filter:grayscale(.5);margin-bottom:1rem;font-size:3rem}.grand-empty-state .empty-text{color:#b4aa96b3;font-family:Cinzel,Georgia,serif;font-size:1rem}.grand-glow-arcane{box-shadow:0 4px 20px #00000080,0 0 40px #7c5aa614,inset 0 1px #ffffff08}.grand-glow-gold{box-shadow:0 4px 20px #00000080,0 0 40px #c9a22714,inset 0 1px #ffffff08}.skill-slots{flex-direction:column;gap:.5rem;display:flex}.skill-slot{background:linear-gradient(#26221cf2,#181511fa);border:1px solid #5a4e3c73;border-radius:6px;padding:.875rem 1rem;transition:all .2s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff05,0 2px 6px #00000040}.skill-slot:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.skill-slot:before{content:"";opacity:0;z-index:2;background:linear-gradient(90deg,#0000,#7c5aa680,#0000);height:1px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.skill-slot:hover{border-color:#7c5aa680;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0a,0 4px 12px #00000059,0 0 20px #7c5aa614}.skill-slot:hover:before{opacity:1}.skill-slot.filled{background:linear-gradient(#7c5aa614,#181511fa);border-color:#7c5aa680;box-shadow:inset 0 1px #7c5aa61a,0 0 15px #7c5aa60f,0 2px 6px #00000040}.skill-slot.filled:after{opacity:.025}.skill-slot.filled:before{opacity:1;background:linear-gradient(90deg,#0000,#7c5aa699,#0000)}.skill-slot-empty{text-align:left;color:var(--text-dim);cursor:pointer;background:linear-gradient(#201c16e6,#16130ff2);border:1px solid #5046374d;border-radius:6px;flex-direction:row;align-items:center;gap:1rem;min-height:72px;padding:.75rem 1rem;transition:all .25s;display:flex;position:relative;overflow:hidden}.skill-slot-empty:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .25s;position:absolute;inset:0}.skill-slot-empty:before{content:"";opacity:0;z-index:2;background:linear-gradient(90deg,#0000,#7c5aa666,#0000);height:1px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.skill-slot-empty:hover{background:linear-gradient(#7c5aa61a,#161410eb);border-color:#7c5aa680;box-shadow:0 4px 20px #0000004d,0 0 30px #7c5aa61a}.skill-slot-empty:hover:after{opacity:.03}.skill-slot-empty:hover:before{opacity:1}.empty-gem-socket{z-index:1;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;display:flex;position:relative}.socket-inner{background:linear-gradient(145deg,#161410f2,#0c0a08fa);border:2px solid #50463766;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .25s;display:flex;position:relative;box-shadow:inset 0 3px 8px #0009,inset 0 -1px 2px #ffffff05,0 2px 8px #0006}.socket-inner:before{content:"";pointer-events:none;border:1px solid #3c342a4d;border-radius:5px;position:absolute;inset:3px}.socket-inner:after{content:"";pointer-events:none;background:linear-gradient(#ffffff0a,#0000);border-radius:4px 4px 50% 50%;height:8px;position:absolute;top:2px;left:10%;right:10%}.socket-plus{color:#a0917899;z-index:1;font-size:1.25rem;font-weight:300;transition:all .25s}.socket-glow{opacity:0;pointer-events:none;background:radial-gradient(circle,#7c5aa633,#0000 60%);border-radius:14px;transition:opacity .25s;position:absolute;inset:-6px}.skill-slot-empty:hover .socket-inner{background:linear-gradient(145deg,#7c5aa61f,#1c1916f2);border-color:#7c5aa680;box-shadow:inset 0 2px 6px #0006,0 0 15px #7c5aa626,0 2px 8px #0000004d}.skill-slot-empty:hover .socket-inner:before{border-color:#7c5aa640}.skill-slot-empty:hover .socket-plus{color:#b496d2d9;text-shadow:0 0 12px #7c5aa699;transform:scale(1.1)}.skill-slot-empty:hover .socket-glow{opacity:1}.empty-slot-label{z-index:1;flex-direction:column;gap:.15rem;display:flex}.slot-number{color:#968c78b3;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:600}.slot-number:before{content:"Slot "}.slot-text{color:#b4aa96d9;letter-spacing:.02em;font-family:Cinzel,Georgia,serif;font-size:.9rem;font-weight:500;transition:all .25s}.skill-slot-empty:hover .slot-number{color:#a082bebf}.skill-slot-empty:hover .slot-text{color:#c8afe6e6;text-shadow:0 0 15px #7c5aa64d}.skill-gem{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.skill-gem-icon{border-radius:6px;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;font-size:1.6rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.skill-gem-icon:after{content:"";pointer-events:none;background:linear-gradient(#ffffff0f,#0000);border-radius:4px 4px 0 0;height:45%;position:absolute;top:0;left:0;right:0}.skill-gem-icon:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#ffffff14,#0000 50%);position:absolute;inset:0}.skill-gem-info{flex:1;min-width:0}.skill-gem-info h4{color:#e8dcc8;letter-spacing:.02em;text-shadow:0 1px 2px #0000004d;margin-bottom:.2rem;font-family:Cinzel,Georgia,serif;font-size:1rem;font-weight:600}.skill-gem-info p{color:#b4afaacc;margin-bottom:.5rem;font-size:.75rem;line-height:1.45}.skill-gem-stats{color:#aaa59be6;flex-wrap:wrap;gap:.35rem;margin-top:.3rem;font-size:.65rem;display:flex}.skill-gem-stat{background:#0003;border:1px solid #5a4e374d;border-radius:3px;align-items:center;gap:.2rem;padding:.15rem .35rem;font-size:.62rem;font-weight:500;display:inline-flex}.skill-remove-btn{color:#c86464b3;cursor:pointer;background:#b43c3c26;border:none;border-radius:4px;justify-content:center;align-self:flex-start;align-items:center;width:24px;min-width:24px;height:24px;margin-left:auto;font-size:1rem;font-weight:400;transition:all .15s;display:flex}.skill-remove-btn:hover{color:#ff7878f2;background:#dc464640;transform:scale(1.05)}.support-slots{z-index:1;border-top:1px solid #463e3066;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-top:.6rem;padding-top:.5rem;padding-left:.25rem;padding-right:.25rem;display:flex;position:relative}.support-slots>div:first-child{flex-wrap:wrap;flex:none;align-items:center;gap:.35rem;display:flex}.support-slots:before{content:"Supports";color:#8c877899;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(#181511,#181511f2);padding:0 .35rem;font-size:.55rem;position:absolute;top:-.4rem;left:0}.support-slot{cursor:pointer;background:linear-gradient(#201c17e6,#161410f2);border:1px dashed #5a503e73;border-radius:4px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;transition:all .15s;display:flex;position:relative;overflow:hidden}.support-slot:before{content:"";opacity:0;background:linear-gradient(135deg,#50c8781a,#0000);transition:opacity .12s;position:absolute;inset:0}.support-slot:hover{border-style:solid;border-color:#50c878b3;box-shadow:0 0 12px #50c87833}.support-slot:hover:before{opacity:1}.support-slot.filled{background:linear-gradient(145deg,#50c87833,#3c965a1a);border-style:solid;border-color:#50c87899;box-shadow:0 0 10px #50c87833,inset 0 1px #ffffff14}.support-slot.filled:after{content:"";pointer-events:none;background:linear-gradient(#ffffff0f,#0000);height:50%;position:absolute;top:0;left:0;right:0}.support-slot.filled:before{opacity:1}.available-skill-item{cursor:pointer;background:linear-gradient(#1e1b16e6,#161410f2);border:1px solid #463c3066;border-radius:6px;margin-bottom:.4rem;padding:.6rem .75rem;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 2px 6px #0003}.available-skill-item:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .2s;position:absolute;inset:0}.available-skill-item:before{content:"";opacity:0;z-index:2;background:linear-gradient(90deg,#0000,#7c5aa680,#0000);height:1px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.available-skill-item.hovered{background:linear-gradient(#7c5aa61a,#161410f2);border-color:#7c5aa680;box-shadow:0 4px 15px #00000040,0 0 20px #7c5aa614}.available-skill-item.hovered:before{opacity:1}.available-skill-item.hovered:after{opacity:.03}.available-skill-item.equipped{opacity:.6;cursor:default;background:linear-gradient(#2ecc7114,#161410f2);border-color:#2ecc7166}.available-skill-item>*{z-index:1;position:relative}.available-skills-panel{background:linear-gradient(#161410fa,#0e0c0afc);border:1px solid #78644659;border-radius:8px;position:relative;overflow:hidden}.available-skills-panel:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.available-skills-panel>*{z-index:1;position:relative}.skill-slots-panel{background:linear-gradient(#161410fa,#0e0c0afc);border:1px solid #7864464d;border-radius:8px;position:relative;overflow:hidden}.skill-slots-panel:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.skill-slots-panel>*{z-index:1;position:relative}.character-selector-panel{backdrop-filter:blur(12px);background:linear-gradient(145deg,#14120ffa,#0c0a08fc);border:1px solid #c9a22726;border-radius:14px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff08,inset 0 -1px #0000004d}.character-selector-panel:hover{border-color:#c9a22740;box-shadow:0 8px 32px #0009,0 0 40px #c9a2270d,inset 0 1px #ffffff0a,inset 0 -1px #0000004d}.character-selector-panel:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 50% 0,#c9a2270a,#0000 60%);height:60%;position:absolute;top:0;left:0;right:0}.character-selector-panel:after{content:"";opacity:.015;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.character-selector-panel>*{z-index:1;position:relative}.character-selector-panel ::-webkit-scrollbar{width:6px}.character-selector-panel ::-webkit-scrollbar-track{background:#0003;border-radius:3px}.character-selector-panel ::-webkit-scrollbar-thumb{background:linear-gradient(#c9a22766,#8b701966);border:1px solid #c9a22733;border-radius:3px}.character-selector-panel ::-webkit-scrollbar-thumb:hover{background:linear-gradient(#c9a22799,#8b701999)}.skill-tag{color:#f0ebe1f2;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px #0009;border:1px solid #ffffff1f;border-radius:3px;padding:.22rem .5rem;font-size:.62rem;font-weight:600;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 4px #0006,inset 0 1px #ffffff1a,inset 0 -1px #0003}.skill-tag:after{content:"";opacity:.08;pointer-events:none;mix-blend-mode:overlay;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.skill-tag-text{z-index:1;position:relative}.skill-picker-modal{background:linear-gradient(#191612fc,#0f0d0afc);border:1px solid #78644680;border-radius:12px;width:90%;max-width:600px;max-height:80vh;position:relative;overflow:hidden;box-shadow:0 0 60px #000c,0 0 100px #c9a2271a}.skill-picker-modal:after{content:"";opacity:.025;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.skill-picker-modal>*{z-index:1;position:relative}.skill-picker-item{cursor:pointer;background:linear-gradient(#23201ae6,#191612f2);border:1px solid #50463766;border-radius:6px;margin-bottom:.5rem;padding:.875rem;transition:all .2s;position:relative;overflow:hidden}.skill-picker-item:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .2s;position:absolute;inset:0}.skill-picker-item:hover{background:linear-gradient(#7c5aa626,#191612f2);border-color:#7c5aa699;box-shadow:0 4px 15px #7c5aa626}.skill-picker-item:hover:after{opacity:.035}.skill-picker-item>*{z-index:1;position:relative}.skill-gem-tooltip{position:relative;overflow:hidden}.skill-gem-tooltip:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.skill-gem-tooltip>*{z-index:1;position:relative}.skill-config-modal{position:relative;overflow:hidden}.skill-config-modal:after{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.skill-config-modal>*{z-index:1;position:relative}.item-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.item-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-smooth);border-radius:10px;padding:.85rem}.item-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.item-card.normal{border-color:var(--rarity-normal)}.item-card.magic{border-color:var(--rarity-magic);box-shadow:0 0 15px #60a5fa26}.item-card.rare{border-color:var(--rarity-rare);box-shadow:0 0 15px #fbbf2426}.item-card.unique{border-color:var(--rarity-unique);box-shadow:0 0 15px #f9731633}.item-card.legendary{border-color:var(--rarity-legendary);box-shadow:0 0 20px #f472b633}.item-name{margin-bottom:.25rem;font-family:Cinzel,Georgia,serif;font-size:.9rem;font-weight:600}.item-name.normal{color:var(--rarity-normal)}.item-name.magic{color:var(--rarity-magic)}.item-name.rare{color:var(--rarity-rare)}.item-name.unique{color:var(--rarity-unique)}.item-name.legendary{color:var(--rarity-legendary)}.item-type{color:var(--text-dim);margin-bottom:.5rem;font-size:.7rem}.item-stats{font-size:.75rem}.item-stat{color:var(--accent-secondary);margin-bottom:.15rem}.item-affix{color:var(--accent-gold);margin-bottom:.15rem}.item-corrupted{color:var(--accent-blood);font-weight:500}.passive-tree-container{background:radial-gradient(ellipse at center,var(--bg-medium)0%,var(--bg-abyss)100%);border:1px solid var(--border-color);border-radius:4px;width:100%;height:700px;min-height:500px;position:relative;overflow:auto}.passive-tree{width:100%;height:100%;position:relative}.passive-node{cursor:pointer;transition:var(--transition-fast);position:absolute;transform:translate(-50%,-50%)}.passive-node-inner{border:2px solid var(--stone);background:var(--bg-dark);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.passive-node.minor .passive-node-inner{width:32px;height:32px;font-size:1rem}.passive-node.notable .passive-node-inner{border-width:3px;width:48px;height:48px;font-size:1.4rem}.passive-node.keystone .passive-node-inner{background:radial-gradient(ellipse at center,var(--bg-medium)0%,var(--bg-dark)100%);border-width:3px;width:60px;height:60px;font-size:1.8rem}.passive-node.allocated .passive-node-inner{border-color:var(--accent-gold);box-shadow:var(--glow-gold)}.passive-node.available:hover .passive-node-inner{border-color:var(--accent-gold-bright);box-shadow:var(--glow-gold);transform:scale(1.1)}.passive-node.unavailable{opacity:.35}.passive-connection{background:var(--stone);transform-origin:0;pointer-events:none;height:2px;position:absolute}.passive-connection.allocated{background:var(--accent-gold);box-shadow:var(--glow-gold)}.combat-panel-jrpg{position:relative}.combat-panel-jrpg:before{content:"";opacity:.02;pointer-events:none;background-image:url(/tilebackground.png);background-size:cover;border-radius:4px;position:absolute;inset:0}.abilities-panel-jrpg{position:relative}.abilities-panel-jrpg button{outline:none;font-family:inherit}.abilities-panel-jrpg button:focus{outline:none}.abilities-panel-jrpg button:hover:not(:disabled){border-color:#ffc864e6!important}.party-frame-jrpg{transform-origin:50%;backface-visibility:hidden;will-change:transform;transition:transform .2s cubic-bezier(.4,0,.2,1);position:relative;transform:translateZ(0)}.party-frame-jrpg:hover{z-index:100!important;transform:scale(1.02)translateZ(0)!important}.party-frame-jrpg.low-health{border-left:3px solid #8b2942}@keyframes emberRise{0%,to{opacity:0}}.ember-container{position:relative}.ember-glow{filter:blur(30px);opacity:.7;background:radial-gradient(at bottom,#ff640026,#0000 80%);height:120px;position:absolute;bottom:0;left:0;right:0}.ember{filter:blur(.5px);width:3px;height:3px;animation:ember-float var(--duration)ease-out var(--delay)infinite;bottom:-10px;left:var(--x-start);transform:scale(var(--scale));opacity:0;background:radial-gradient(circle,#ff6b00,#ff4500,#0000);border-radius:50%;position:absolute}@keyframes ember-float{0%{transform:translateY(20px)translate(0)scale(var(--scale));opacity:0}5%{transform:translateY(10px)translate(0)scale(var(--scale));opacity:.3}15%{opacity:1}85%{opacity:1}95%{opacity:.3}to{transform:translateY(-200px)translate(var(--x-drift))scale(calc(var(--scale)*.3));opacity:0}}.enemy-container.enemy-fighting{will-change:transform;animation:.15s ease-in-out enemyShake}@keyframes enemyShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.enemy-container.enemy-dying{will-change:opacity,transform;animation:.3s ease-out forwards enemyDeath}@keyframes enemyDeath{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(0)scale(.95)}}.enemy-health-bar-fill.damage-glow{transition:width .4s cubic-bezier(.4,0,.2,1),background .3s}.combat-panel-jrpg ::-webkit-scrollbar{width:5px}.abilities-panel-jrpg ::-webkit-scrollbar{width:5px}.party-frame-jrpg ::-webkit-scrollbar{width:5px}.combat-panel-jrpg ::-webkit-scrollbar-track{background:#0003;border-radius:3px}.abilities-panel-jrpg ::-webkit-scrollbar-track{background:#0003;border-radius:3px}.party-frame-jrpg ::-webkit-scrollbar-track{background:#0003;border-radius:3px}.combat-panel-jrpg ::-webkit-scrollbar-thumb{background:linear-gradient(#a0783c66,#785a2866);border-radius:3px}.abilities-panel-jrpg ::-webkit-scrollbar-thumb{background:linear-gradient(#a0783c66,#785a2866);border-radius:3px}.party-frame-jrpg ::-webkit-scrollbar-thumb{background:linear-gradient(#a0783c66,#785a2866);border-radius:3px}.combat-panel-jrpg ::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a0783c99,#785a2899)}.abilities-panel-jrpg ::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a0783c99,#785a2899)}.party-frame-jrpg ::-webkit-scrollbar-thumb:hover{background:linear-gradient(#a0783c99,#785a2899)}.dungeon-planner{grid-template-columns:1fr 350px;gap:1rem;height:700px;display:grid}.dungeon-map{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:12px;position:relative;overflow:hidden}.dungeon-map-inner{background:radial-gradient(ellipse at center,var(--bg-medium)0%,var(--bg-dark)100%);width:100%;height:100%;position:relative}.enemy-pack{cursor:pointer;transition:var(--transition-smooth);position:absolute;transform:translate(-50%,-50%)}.pack-icon{background:var(--bg-card);border:2px solid var(--accent-blood);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex;box-shadow:0 0 12px #ef44444d}.enemy-pack.selected .pack-icon{border-color:var(--accent-primary);box-shadow:var(--glow-primary);transform:scale(1.15)}.enemy-pack.in-route .pack-icon{border-color:var(--accent-success);background:#22c55e26;box-shadow:0 0 15px #22c55e66}.boss-marker{position:absolute;transform:translate(-50%,-50%)}.boss-icon{background:radial-gradient(ellipse at center,var(--accent-blood)0%,#300 100%);border:3px solid var(--accent-gold);width:56px;height:56px;box-shadow:0 0 30px #ef444480,var(--glow-gold);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;display:flex}.route-sidebar{flex-direction:column;gap:.75rem;display:flex}.route-info{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:1rem}.forces-bar{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;height:24px;margin-top:.5rem;overflow:hidden}.forces-fill{background:linear-gradient(90deg,var(--accent-success)0%,var(--accent-primary)100%);border-radius:4px;height:100%;transition:width .3s;box-shadow:inset 0 2px #ffffff26}.pull-list{flex-direction:column;flex:1;gap:.4rem;display:flex;overflow-y:auto}.pull-item{background:var(--bg-card);border:1px solid var(--border-color);transition:var(--transition-fast);border-radius:8px;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.pull-item:hover{background:var(--bg-hover);border-color:var(--border-ornate)}.pull-number{background:linear-gradient(135deg,var(--accent-primary)0%,var(--accent-primary-dim)100%);width:26px;height:26px;color:var(--bg-abyss);border-radius:6px;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;display:flex}.pull-enemies{color:var(--text-secondary);flex:1;font-size:.85rem}.pull-forces{color:var(--accent-success);font-family:JetBrains Mono,monospace;font-weight:600}.combat-log{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:8px;height:300px;padding:.5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;overflow-y:auto}.log-entry{border-left:2px solid #0000;border-radius:4px;margin-bottom:.2rem;padding:.25rem .6rem;transition:background .15s}.log-entry:hover{background:#ffffff08}.log-entry.damage{color:var(--accent-blood-glow);border-color:var(--accent-blood)}.log-entry.heal{color:var(--accent-success);border-color:var(--accent-success)}.log-entry.death{color:#f87171;border-color:var(--accent-blood);background:#ef44441a}.log-entry.phase{color:var(--accent-primary);border-color:var(--accent-primary);font-weight:600}.log-entry.boss{color:var(--accent-fire);border-color:var(--accent-fire);font-weight:700}.log-entry.pull{color:var(--accent-secondary);border-color:var(--accent-secondary)}.crafting-area{grid-template-columns:300px 1fr;gap:1.25rem;display:grid}.orb-inventory{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.orb-slot{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-fast);border-radius:4px;align-items:center;gap:.5rem;padding:.7rem;display:flex}.orb-slot:hover{border-color:var(--accent-gold-dim);box-shadow:var(--glow-gold)}.orb-slot.selected{border-color:var(--accent-gold);box-shadow:var(--glow-gold)}.orb-icon{font-size:1.4rem}.orb-count{color:var(--accent-gold);margin-left:auto;font-family:Cinzel,serif;font-size:.85rem;font-weight:600}.tooltip{z-index:999999;pointer-events:none;background:radial-gradient(at 10% 90%,#64462814,#0000 50%),linear-gradient(#282018fa,#19140ffc);border:1px solid #5a463280;border-radius:2px;max-width:320px;padding:.85rem 1rem;position:fixed;box-shadow:0 0 0 1px #281e1499,0 8px 30px #0009,0 0 20px #8b5a2b1a}.tooltip:before{content:"";border-top:2px solid #8b5a2b99;border-left:2px solid #8b5a2b99;width:8px;height:8px;position:absolute;top:-1px;left:-1px}.tooltip:after{content:"";border-bottom:2px solid #8b5a2b99;border-right:2px solid #8b5a2b99;width:8px;height:8px;position:absolute;bottom:-1px;right:-1px}.tooltip-title{color:var(--accent-gold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-family:Cinzel,Georgia,serif;font-size:.9rem;font-weight:600}.tooltip-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.modal-overlay{backdrop-filter:blur(12px);z-index:10000;background:#000000d9;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{z-index:10001;background:linear-gradient(135deg,#231c14fa,#16120efa);border:2px solid #c9a22740;border-radius:0;flex-direction:column;width:90%;max-width:600px;max-height:85vh;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #3c2d1ecc,0 0 0 3px #281e1499,-2px 0 4px #0006,2px 0 4px #0006,0 -2px 4px #0000004d,0 2px 6px #00000080,0 15px 40px #000000b3,0 0 60px #8b5a2b26}.modal>*{z-index:1;position:relative}.modal:before{content:"";opacity:.025;pointer-events:none;z-index:0;border-radius:inherit;background-image:url(/tilebackground.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.modal-header{background:linear-gradient(#c9a22714,#c9a22705);border-bottom:2px solid #c9a22733;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:relative;box-shadow:0 2px 10px #0000004d}.modal-header:after{content:"";z-index:1;background:linear-gradient(90deg,#0000,#c9a22799 20% 80%,#0000);height:1px;position:absolute;bottom:0;left:2rem;right:2rem}.modal-header h3{color:var(--accent-gold);text-transform:uppercase;letter-spacing:.1em;text-shadow:0 0 20px #c9a22780,0 2px 4px #00000080;margin:0;font-family:Cinzel,Georgia,serif;font-size:1.2rem;font-weight:700}.modal-body{background:radial-gradient(at 30% 70%,#503c280a,#0000 50%);flex:1;min-height:0;padding:1.5rem;overflow:hidden auto}.modal-footer{background:linear-gradient(#0003,#0000004d);border-top:2px solid #c9a22733;flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1.5rem 2rem;display:flex;position:relative;box-shadow:0 -2px 10px #0000004d}.modal-footer:before{content:"";background:linear-gradient(90deg,#0000,#8b5a2b66,#0000);height:1px;position:absolute;top:0;left:20px;right:20px}.close-btn{color:#c9a227cc;cursor:pointer;background:#0000004d;border:1px solid #c9a2274d;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;font-weight:300;line-height:1;transition:all .2s;display:flex}.close-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold);background:#c9a22733;transform:scale(1.05);box-shadow:0 0 20px #c9a22766}@keyframes character-entrance{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes character-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.team-character-card{will-change:transform,opacity;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}@media (prefers-reduced-motion:reduce){.team-character-card{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--ui-scale:1}:root[data-ui-scale="1.25"]{--ui-scale:1.25}:root[data-ui-scale="1.1"]{--ui-scale:1.1}:root[data-ui-scale="1.5"]{--ui-scale:1.5}#root{font-size:calc(16px*var(--ui-scale))}:root[data-reduce-motion=true] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-high-contrast=true] body{filter:contrast(1.12)saturate(1.05)}:root[data-large-targets=true] button,:root[data-large-targets=true] input,:root[data-large-targets=true] select,:root[data-large-targets=true] textarea{min-height:2.5rem}:root[data-dyslexia-font=true] body{font-family:Verdana,Tahoma,Arial,sans-serif}.form-group{margin-bottom:1.25rem}.form-label{color:var(--accent-gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;font-family:Cinzel,Georgia,serif;font-size:.75rem;font-weight:500;display:block}.form-input{width:100%;color:var(--text-primary);background:linear-gradient(135deg,#231c14e6,#19140ff2);border:1px solid #5a463280;border-radius:2px;padding:.75rem 1rem;font-family:Crimson Text,Georgia,serif;font-size:1rem;transition:all .2s;box-shadow:inset 0 2px 4px #0000004d}.form-input:focus{border-color:var(--accent-gold);outline:none;box-shadow:0 0 15px #c9a22733,inset 0 2px 4px #0000004d}.form-input::-moz-placeholder{color:var(--text-dim);font-style:italic}.form-input::placeholder{color:var(--text-dim);font-style:italic}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23c9a227"><path d="M7 10l5 5 5-5z"/></svg>');background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.modal .form-input,.modal .form-select{background:#19140fcc;border:1px solid #5a463266;border-radius:2px;min-width:60px;height:34px;padding:.5rem .75rem;font-size:.85rem}.modal .form-input{text-align:center;width:70px}.modal .form-select{background-position:right .5rem center;background-size:1rem;min-width:70px;padding-right:2rem}.modal .form-input:focus,.modal .form-select:focus{border-color:var(--accent-gold);box-shadow:0 0 8px #c9a2274d}.modal .form-input:disabled,.modal .form-select:disabled{opacity:.4;cursor:not-allowed}.modal input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-gold);cursor:pointer;border-radius:2px}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}40%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)scale(.9)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes orbSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow{0%,to{opacity:.8}50%{opacity:1}}@keyframes combatPulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes travelBounce{0%,to{transform:translate(-50%,-50%)translateY(0)}50%{transform:translate(-50%,-50%)translateY(-4px)}}@keyframes damageFlash{0%{background:#8b00004d}to{background:0 0}}@keyframes healthDrain{0%{width:var(--from-width)}to{width:var(--to-width)}}@keyframes victoryGlow{0%,to{opacity:.8}50%{opacity:1}}@keyframes castBar{0%{width:0%}to{width:100%}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes floatUp{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-25px)}}@keyframes floatCombatText{0%{opacity:0;transform:translate(-50%)scale(.6)}10%{opacity:1;transform:translate(-50%,-10px)scale(1.15)}25%{opacity:1;transform:translate(-50%,-20px)scale(1)}to{opacity:0;transform:translate(-50%,-60px)scale(.9)}}@keyframes floatCombatTextCrit{0%{opacity:0;transform:translate(-50%)scale(.4)}6%{opacity:1;transform:translate(-50%,-15px)scale(1.6)}15%{opacity:1;transform:translate(-50%,-30px)scale(1.3)}to{opacity:0;transform:translate(-50%,-80px)scale(.95)}}@keyframes floatHealText{0%{opacity:0;transform:translate(-50%,5px)scale(.6)}12%{opacity:1;transform:translate(-50%,-8px)scale(1.1)}25%{opacity:1;transform:translate(-50%,-18px)scale(1)}to{opacity:0;transform:translate(-50%,-55px)scale(.9)}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.95}75%{opacity:.98}}.floating-combat-text{pointer-events:none;text-shadow:0 0 4px #000000e6,0 2px 4px #000c,1px 1px 2px #000000b3;z-index:100;white-space:nowrap;will-change:transform,opacity;backface-visibility:hidden;perspective:1000px;font-family:Cinzel,Georgia,serif;font-weight:700;position:absolute;transform:translateZ(0)}.floating-combat-text.damage{color:#c9a227;text-shadow:0 1px 2px #000c;font-size:.9rem;animation:1s ease-out forwards floatCombatText}.floating-combat-text.enemy-damage{color:#8b2942;text-shadow:0 1px 2px #000c;font-size:.85rem;animation:1s ease-out forwards floatCombatText}.floating-combat-text.blocked{color:#4a6a8c;text-shadow:0 1px 2px #000c;font-size:.8rem;animation:1s ease-out forwards floatCombatText}.floating-combat-text.crit{color:#a02020;text-shadow:0 1px 3px #000c;font-size:1.1rem;font-weight:700;animation:1.2s ease-out forwards floatCombatText}.floating-combat-text.heal{color:#2d6b3a;text-shadow:0 1px 2px #000c;font-size:.9rem;animation:1s ease-out forwards floatHealText}.animate-pulse{animation:2s infinite pulse}.animate-glow{animation:2s infinite glow}.animate-combat{animation:.5s infinite combatPulse}.animate-travel{animation:.6s infinite travelBounce}.animate-victory{animation:1s infinite victoryGlow}.animate-shake{animation:.3s ease-in-out shake}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.w-full{width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--bg-lighter);border:2px solid var(--bg-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary-dim)}::-moz-selection{background:var(--accent-primary-dim);color:var(--bg-abyss)}::selection{background:var(--accent-primary-dim);color:var(--bg-abyss)}:focus-visible{outline:2px solid var(--accent-primary-dim);outline-offset:2px}.bloodlusted{border-left:3px solid #8b6914!important;position:relative!important}.low-health{border-left:3px solid #8b2942!important}@keyframes screenShake{0%,to{opacity:1}20%{transform:translate(1px,1px)rotate(.5deg)}30%{transform:translate(-1px)rotate(-.3deg)}40%{transform:translate(1px,-1px)rotate(.3deg)}50%{transform:translate(-1px,1px)rotate(-.2deg)}60%{transform:translate(1px)rotate(.2deg)}70%{transform:translate(-.5px,-.5px)rotate(-.1deg)}80%{transform:translate(.5px,.5px)rotate(.1deg)}90%{transform:translate(-.3px)rotate(-.05deg)}}.screen-shake{animation:.3s ease-out screenShake}@keyframes itemBreakJiggle{0%{transform:translate(0)rotate(0)scale(1)}5%{transform:translate(-2px,1px)rotate(-2deg)scale(1)}10%{transform:translate(2px,-1px)rotate(2deg)scale(1)}15%{transform:translate(-3px,2px)rotate(-3deg)scale(1)}20%{transform:translate(3px,-2px)rotate(3deg)scale(1)}25%{transform:translate(-2px,1px)rotate(-2deg)scale(1)}30%{transform:translate(2px,-1px)rotate(2deg)scale(1)}35%{transform:translate(-1px,.5px)rotate(-1deg)scale(.95)}40%{transform:translate(1px,-.5px)rotate(1deg)scale(.9)}50%{transform:translate(0)rotate(0)scale(.8)}60%{transform:translate(0)rotate(45deg)scale(.6)}80%{transform:translate(0)rotate(90deg)scale(.3)}to{transform:translate(0)rotate(180deg)scale(0)}}@keyframes itemIdentify{0%{transform:scale(1)}20%{transform:scale(1.05)}40%{transform:scale(1)}60%{transform:scale(1.03)}80%{transform:scale(1)}to{transform:scale(1)}}@keyframes itemIdentifyGlow{0%{opacity:0}30%{opacity:.8}70%{opacity:.8}to{opacity:0}}@keyframes healthDamageGlow{0%,to{opacity:1}50%{opacity:.8}}@keyframes healthHealGlow{0%,to{opacity:1}50%{opacity:.9}}.health-bar-fill.heal-glow{animation:.8s ease-out healthHealGlow}.health-bar-fill.damage-glow,.enemy-health-bar-fill.damage-glow{animation:.8s ease-out healthDamageGlow}@keyframes enemyFadeOut{0%{opacity:1}to{opacity:0}}.enemy-dying{will-change:opacity;z-index:100;left:0;right:0;pointer-events:none!important;margin-bottom:0!important;animation:.5s ease-out forwards enemyFadeOut!important;position:absolute!important}.enemy-container{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s,box-shadow .3s}.enemy-container:hover{transform:translate(2px);box-shadow:0 0 15px #ef44444d}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes iconPulseGlow{0%,to{filter:drop-shadow(0 0 4px);transform:scale(1)}50%{filter:drop-shadow(0 0 12px);transform:scale(1.05)}}@keyframes combatIconShake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes bossGlowPulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes eliteGlowPulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes healthDamageFlash{0%{filter:brightness(1.5)saturate(1.2)}to{filter:brightness()saturate()}}@keyframes castBarShine{0%{left:-50%}to{left:150%}}@keyframes teamFight{0%,to{transform:translate(-50%,-50%)rotate(0)}25%{transform:translate(calc(-50% - 2px),-50%)rotate(-3deg)}50%{transform:translate(-50%,-50%)rotate(0)}75%{transform:translate(calc(2px - 50%),-50%)rotate(3deg)}}@keyframes enemyFight{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-3px)rotate(-2deg)}50%{transform:translate(0)rotate(0)}75%{transform:translate(3px)rotate(2deg)}}.team-fighting{will-change:transform;backface-visibility:hidden;animation:.3s ease-out teamFight;transform:translateZ(0)}.enemy-fighting{will-change:transform;backface-visibility:hidden;animation:.25s ease-out enemyFight;transform:translateZ(0)}.floating-number{will-change:transform,opacity;pointer-events:none;backface-visibility:hidden;transform:translateZ(0)}.combat-glow{will-change:box-shadow;transform:translateZ(0)}.screen-shake{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.party-frame,.enemy-container{backface-visibility:hidden;contain:layout style paint;transform:translateZ(0)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,var(--accent-gold)0%,var(--accent-gold-dim)100%);cursor:pointer;width:16px;height:16px;-webkit-transition:var(--transition-fast);transition:var(--transition-fast);border:1px solid #5a463299;border-radius:50%;box-shadow:0 2px 4px #0006}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 10px #c9a22766}input[type=range]::-moz-range-thumb{background:linear-gradient(135deg,var(--accent-gold)0%,var(--accent-gold-dim)100%);cursor:pointer;width:16px;height:16px;-moz-transition:var(--transition-fast);transition:var(--transition-fast);border:1px solid #5a463299;border-radius:50%;box-shadow:0 2px 4px #0006}input[type=range]::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 0 10px #c9a22766}input[type=range]::-webkit-slider-runnable-track{background:var(--bg-lighter);border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:var(--bg-lighter);border-radius:4px;height:4px}.stats-member-item{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s,box-shadow .3s!important}.top-dps{border-left:2px solid #8b6914;position:relative}.top-dps-crown{color:#8b6914}.route-line-active{animation:1.5s ease-in-out infinite routeLinePulse}@keyframes routeLinePulse{0%,to{opacity:1;filter:drop-shadow(0 0 8px #c9a22799)}50%{opacity:.9;filter:drop-shadow(0 0 15px #c9a227cc)}}.combat-glow:before{content:"";pointer-events:none;z-index:100;border:2px solid #0000;-o-border-image:linear-gradient(90deg,#8b1a1a1f 0%,#0000 8% 92%,#8b1a1a1f 100%) 1;border-image:linear-gradient(90deg,#8b1a1a1f,#0000 8% 92%,#8b1a1a1f) 1;position:absolute;inset:0;box-shadow:inset 0 0 40px #8b1a1a1a,inset 0 0 80px #8b1a1a0d,inset 0 0 120px #6446280a}.combat-glow:after{content:"";pointer-events:none;z-index:100;border:2px solid #0000;-o-border-image:linear-gradient(#8b1a1a1f 0%,#0000 8% 92%,#8b1a1a1f 100%) 1;border-image:linear-gradient(#8b1a1a1f,#0000 8% 92%,#8b1a1a1f) 1;position:absolute;inset:0}@keyframes frameFloatHeal{0%{opacity:0;transform:translateY(5px)scale(.7)}15%{opacity:1;transform:translateY(-2px)scale(1.1)}30%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-18px)scale(.85)}}@keyframes frameFloatExternal{0%{opacity:0;transform:translateY(3px)scale(.6)}20%{opacity:1;transform:translateY(-4px)scale(1.15)}40%{opacity:1;transform:translateY(-8px)scale(1)}to{opacity:0;transform:translateY(-22px)scale(.9)}}@keyframes frameFloatHealCrit{0%{opacity:0;transform:translateY(5px)scale(.5)}12%{opacity:1;transform:translateY(-3px)scale(1.3)}30%{opacity:1;transform:translateY(-8px)scale(1.1)}to{opacity:0;transform:translateY(-25px)scale(.9)}}.frame-float-text{pointer-events:none;z-index:15;white-space:nowrap;font-family:Cinzel,Georgia,serif;font-weight:700;position:absolute;top:2px;left:50%;transform:translate(-50%)}.frame-float-text.heal{color:#2d6b3a;text-shadow:0 1px 2px #000c;font-size:.65rem;animation:.7s ease-out forwards frameFloatHeal}.frame-float-text.heal.crit{color:#8b6914;text-shadow:0 1px 3px #000000e6;font-size:.8rem;font-weight:700;animation:.8s ease-out forwards frameFloatHealCrit}.frame-float-text.external{color:#7a6c56;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px #000000e6;font-size:.55rem;animation:1s ease-out forwards frameFloatExternal}.patch-notes-content::-webkit-scrollbar{width:8px}.patch-notes-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.patch-notes-content::-webkit-scrollbar-thumb{background:#a855f766;border-radius:4px}.patch-notes-content::-webkit-scrollbar-thumb:hover{background:#a855f799}.patch-notes-content ul{margin:.75rem 0;padding-left:1.5rem;list-style-type:disc}.patch-notes-content li{margin:.5rem 0;line-height:1.7}.patch-notes-content li::marker{color:#a855f799}.patch-notes-content p{margin:.75rem 0;line-height:1.8}.patch-notes-content p:first-child{margin-top:0}.patch-notes-content p+ul{margin-top:.5rem}.patch-notes-content ul+p{margin-top:1rem}.patch-notes-content code{color:#c4b5fd;background:#a855f726;border:1px solid #a855f733;border-radius:4px;padding:.2rem .5rem;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.85em;font-weight:500}.patch-notes-content strong{color:#e9d5fff2;font-weight:600}.patch-notes-content>div{margin-bottom:2rem}.route-planner-scroll{scrollbar-width:thin;scrollbar-color:#c9a2274d transparent}.route-planner-scroll::-webkit-scrollbar{height:6px}.route-planner-scroll::-webkit-scrollbar-track{background:#0003;border-radius:3px}.route-planner-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#c9a22766,#8b701966);border:1px solid #c9a22733;border-radius:3px}.route-planner-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#c9a22799,#8b701999)}.key-briefing-scroll{-ms-overflow-style:none;scrollbar-width:none}.key-briefing-scroll::-webkit-scrollbar{width:0;height:0;display:none}.skill-tree-page{flex-direction:column;gap:0;min-height:100vh;display:flex}.skill-tree-header{background:linear-gradient(#14100cfa,#0a0806fa);border-bottom:1px solid #8c734b59;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.skill-tree-header h1{margin:0;font-size:1.4rem}.skill-tree-subtitle{color:var(--text-secondary);font-size:.85rem}.skill-tree-header-actions{gap:.75rem;display:flex}.skill-tree-body{flex:1;grid-template-columns:360px minmax(0,1fr);gap:1rem;min-height:0;padding:1rem;display:grid}.skill-tree-panel{background:#14100ce6;border:1px solid #5a463280;flex-direction:column;gap:1rem;padding:1rem;display:flex;overflow:auto}.skill-tree-panel-title{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-gold);padding:.6rem .75rem;font-size:.75rem}.skill-tree-control{flex-direction:column;gap:.45rem;display:flex}.skill-tree-control label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-size:.75rem}.skill-tree-toggle{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.skill-tree-toggle input{accent-color:var(--accent-gold)}.skill-tree-starts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.skill-tree-start{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:#14100ce6;border:1px solid #5a463280;padding:.4rem .35rem;font-size:.7rem}.skill-tree-start.active{color:#111;background:linear-gradient(#e6bc2f,#c9a227);border-color:#c9a227cc}.skill-tree-panel-divider{background:#5a463266;height:1px}.skill-tree-region-grid{gap:.5rem;display:grid}.skill-tree-region-row{color:var(--text-secondary);grid-template-columns:1fr 80px;align-items:center;gap:.5rem;font-size:.75rem;display:grid}.skill-tree-button{text-transform:uppercase;letter-spacing:.1em;color:var(--text-bright);cursor:pointer;background:#282319cc;border:1px solid #8c734b80;padding:.55rem 1rem;font-size:.8rem}.skill-tree-button:hover{border-color:#c9a227cc}.skill-tree-button.file-button{position:relative;overflow:hidden}.skill-tree-button.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.skill-tree-share{min-height:80px;font-size:.75rem;line-height:1.4}.skill-tree-error{color:#ff6b6b;font-size:.75rem}.skill-tree-view{flex-direction:column;gap:.75rem;min-height:0;display:flex}.skill-tree-canvas{background:radial-gradient(circle,#2d241aa6,#0b0907f2 70%);border:1px solid #5a463280;flex:1;min-height:520px}.skill-tree-canvas canvas{display:block}.skill-tree-info{color:var(--text-secondary);background:#14100cd9;border:1px solid #5a463280;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;padding:.75rem 1rem;font-size:.85rem;display:grid}.skill-tree-info-row{justify-content:space-between;gap:.5rem;display:flex}.skill-tree-hover{color:var(--text-primary);border-top:1px solid #5a463266;grid-column:span 2;padding-top:.5rem}@media (max-width:1200px){.skill-tree-body{grid-template-columns:1fr}.skill-tree-panel{max-height:380px}}.skilltree-page{width:100%;height:var(--app-content-height,100vh);background:#0a0806;position:relative;overflow:hidden}.skilltree-canvas{background:radial-gradient(circle,#2d241ab3,#080706fa 70%);position:absolute;inset:0}.skilltree-canvas canvas{width:100%;height:100%;display:block}.skilltree-panel{width:360px;max-height:calc(var(--app-content-height,100vh) - 2rem);color:var(--text-primary);background:linear-gradient(#1c1712f2,#0c0a08fa);border:1px solid #5a46328c;flex-direction:column;gap:.85rem;padding:1rem;font-size:.85rem;display:flex;position:absolute;top:1rem;right:1rem;overflow:auto;box-shadow:0 12px 32px #0009}.skilltree-panel-header{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-gold);border-bottom:1px solid #5a463273;padding-bottom:.35rem;font-size:.75rem}.skilltree-row{grid-template-columns:140px 1fr;align-items:center;gap:.6rem;display:grid}.skilltree-row label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:.68rem}.skilltree-panel .form-input,.skilltree-panel textarea,.skilltree-panel input[type=number],.skilltree-panel input[type=text]{width:100%;color:var(--text-primary);background:#14100cf2;border:1px solid #5a463299;border-radius:2px;padding:.35rem .5rem;font-size:.8rem}.skilltree-panel textarea{resize:vertical;min-height:70px}.skilltree-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.skilltree-button{text-transform:uppercase;letter-spacing:.1em;color:var(--text-bright);cursor:pointer;background:#231c14f2;border:1px solid #786446b3;padding:.45rem .65rem;font-size:.7rem}.skilltree-button:hover{border-color:#c9a227cc}.skilltree-button.file-button{position:relative;overflow:hidden}.skilltree-button.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.skilltree-grid{gap:.4rem;display:grid}.skilltree-grid-row{color:var(--text-secondary);grid-template-columns:1fr 80px;align-items:center;gap:.4rem;font-size:.72rem;display:grid}.skilltree-starts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.skilltree-start{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;background:#18130ee6;border:1px solid #5a463299;padding:.35rem;font-size:.6rem}.skilltree-start.active{color:#20160c;background:linear-gradient(#e6bc2f,#b58c1b);border-color:#c9a227e6}.skilltree-toggle{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.skilltree-toggle input{accent-color:var(--accent-gold)}.skilltree-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.skilltree-textarea{min-height:80px;margin-top:.35rem}.skilltree-stats{color:var(--text-secondary);border-top:1px solid #5a463266;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .6rem;padding-top:.5rem;font-size:.72rem;display:grid}.skilltree-tooltip{color:var(--text-bright);border-top:1px solid #5a463266;padding-top:.5rem;font-size:.72rem}.skilltree-errors,.skilltree-warnings{background:#50141433;border:1px solid #783c3c80;padding:.5rem;font-size:.72rem;line-height:1.4}.skilltree-warnings{background:#503c1433;border-color:#78643c80}.settings-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;height:calc(100vh - 90px);padding:.75rem 1rem;display:grid;overflow:hidden}.settings-nav-panel,.settings-content-panel{min-height:0;overflow:hidden}.settings-content-scroll,.settings-nav-scroll{min-height:0;overflow:auto}@media (max-width:1100px){.settings-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:calc(100vh - 90px)}}@media (max-width:980px){.skilltree-panel{width:auto;max-height:45vh;left:1rem;right:1rem}.skilltree-row{grid-template-columns:1fr}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
