:root{--z-canvas: 1;--z-hud: 10;--z-action-panel: 20;--battle-bg: #0e0c08;--discord-inset-top: 0px}#battle-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--battle-bg);overflow:hidden}.combat-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--battle-bg);display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.combat-loading.hidden{opacity:0;pointer-events:none}.combat-loading-bar-track{width:140px;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.combat-loading-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:2px;transition:width .15s ease}#phaser-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--z-canvas)}#phaser-canvas canvas{display:block}#combat-hud{position:absolute;top:0;left:0;width:100%;height:100%;z-index:var(--z-hud);pointer-events:none;display:flex;flex-direction:column}#combat-hud button,#combat-hud .interactive{pointer-events:auto}.zone-modifiers{display:flex;gap:6px;padding:2px 8px;justify-content:center;pointer-events:none}.zone-mod-tag{font-size:10px;font-weight:700;color:#ff6b6b;background:#ff444426;border:1px solid rgba(255,68,68,.3);border-radius:4px;padding:1px 6px;letter-spacing:.3px}#combat-top-bar{display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);padding-top:var(--spacing-lg);flex-shrink:0;position:relative;gap:var(--spacing-md)}.discord-mobile #combat-top-bar{padding-top:calc(var(--discord-inset-top) + var(--spacing-sm))}.discord-mobile #combat-top-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--discord-inset-top);background:#000;pointer-events:none}#zone-info{position:absolute;left:var(--spacing-md);top:var(--spacing-sm);display:flex;flex-direction:column;gap:2px;pointer-events:none}.discord-mobile #zone-info{top:calc(var(--discord-inset-top) + var(--spacing-sm))}#zone-name{font-size:var(--font-size-sm);font-weight:600;color:#fff;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 6px rgba(0,0,0,.5)}#encounter-map{display:flex;align-items:center;gap:2px;flex-shrink:0}.enc-node{width:18px;height:18px;border-radius:50%;background:#0006;border:2px solid rgba(255,255,255,.5);flex-shrink:0}.enc-node.completed{background:var(--color-success);border-color:var(--color-success);box-shadow:0 0 4px #00000080}.enc-node.current{width:21px;height:21px;background:#fc0;border-color:#fff;box-shadow:0 0 8px #fc09,0 0 4px #00000080}.enc-line{width:24px;height:4px;background:#0000004d;border-top:1px solid rgba(255,255,255,.15);flex-shrink:0}.enc-line.completed{background:var(--color-success);border-top-color:transparent;box-shadow:0 0 3px #0006}#speed-timeline{display:flex;align-items:center;height:100%;flex-shrink:0}#timeline-icons{display:flex;align-items:center;gap:clamp(2px,.5vw,6px);padding:4px 8px;background:var(--panel-bg-light);border-radius:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.timeline-icon{width:clamp(48px,8.25vh,70px);height:clamp(48px,8.25vh,70px);border-radius:50%;border:2px solid rgba(255,255,255,.2);background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:clamp(10px,1.6vh,16px);font-weight:700;color:var(--color-text-secondary);transition:all var(--transition-fast);flex-shrink:0;overflow:hidden;pointer-events:auto;cursor:pointer}.timeline-icon img{pointer-events:none}.timeline-icon.active{border-color:#4a9eff;background:#4a9eff33;color:#4a9eff;border-width:3px}.timeline-icon.enemy{border-color:#ffffff40;color:var(--color-danger)}.timeline-icon.enemy.active{border-color:var(--color-danger);background:#f443}.timeline-icon.hovered{border-color:#fd4;background:#fd43}.timeline-icon.targeted{border-color:#f44;background:#ff444440;box-shadow:0 0 8px #f446}.timeline-icon.targeted.targeted-ally{border-color:var(--color-success);background:#0f83;box-shadow:0 0 8px #0f86}#floating-hud{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:hidden}.floating-hp{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%,-100%);transition:left .15s ease,top .15s ease}.floating-hp.hp-fade-in{animation:hp-bar-fade-in .35s ease-out}@keyframes hp-bar-fade-in{0%{opacity:0}to{opacity:1}}.floating-hp .hp-name{font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.7);white-space:nowrap}.floating-hp .hp-bar{position:relative;width:100px;height:14px;flex-shrink:0;background:#000000b3;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.15);pointer-events:auto}.floating-hp .hp-fill{height:100%;width:100%;border-radius:2px;transition:width var(--transition)}.floating-hp .barrier-segments{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:0 3px 3px 0;overflow:hidden;pointer-events:none}.floating-hp .barrier-segment{position:absolute;top:0;height:100%;min-width:3px;opacity:1;border-right:1px solid rgba(0,0,0,.3);transition:left .2s ease,width .2s ease,opacity .2s ease}.floating-hp .barrier-segment--new{animation:barrier-segment-in .2s ease}.floating-hp .barrier-segment--aggregate{opacity:.6;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(0,0,0,.25) 3px,rgba(0,0,0,.25) 6px)}@keyframes barrier-segment-in{0%{opacity:0;transform:scaleX(0);transform-origin:left}to{opacity:.9;transform:scaleX(1)}}.floating-hp .break-bar-row{display:flex;margin-top:-2px;width:100%;position:relative;overflow:visible}.floating-hp .break-bar{position:relative;height:7px;width:100%;background:#000000b3;border-radius:0 0 3px 3px;overflow:hidden;border:1px solid rgba(180,100,220,.8);border-top:none;transform-origin:center bottom}.floating-hp.has-break-bar .hp-bar{border-bottom-left-radius:0;border-bottom-right-radius:0}.floating-hp .break-bar .break-fill{height:100%;width:0%;background:linear-gradient(90deg,#9a4ce8,#d987ff);box-shadow:0 0 4px #dc96ff8c inset;transition:width .22s ease}.floating-hp .break-bar:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#0000008c;pointer-events:none;z-index:2}.floating-hp .break-bar-row.is-almost .break-bar{border-color:#dc96ff;box-shadow:0 0 0 1px #0000008c,0 0 6px #c878ff8c;animation:break-almost-pulse 1.1s infinite ease-in-out}.floating-hp .break-bar-row.is-broken .break-bar{border-color:#fad}.floating-hp .break-bar-row.is-broken .break-fill{background:repeating-linear-gradient(-45deg,#ff8a3d,#ff8a3d 5px,#ffd45e 5px,#ffd45e 10px);background-size:200% 100%;box-shadow:0 0 6px #ffaf50d9 inset,0 0 10px #ffaf5073;transition:none;animation:broken-stripe-scroll 1.6s linear infinite}.floating-hp.break-triggered .break-bar{animation:break-flash .7s cubic-bezier(.2,.6,.3,1)}.floating-hp.break-triggered .break-bar:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.95) 50%,rgba(255,255,255,0) 75%,transparent 100%);transform:translate(-100%);animation:break-sweep .32s ease-out forwards;pointer-events:none;z-index:3;border-radius:inherit}@keyframes break-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes break-almost-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@keyframes broken-stripe-scroll{0%{background-position:0 0}to{background-position:28px 0}}@keyframes break-flash{0%{transform:scale(1);filter:brightness(1) saturate(1)}18%{transform:scale(1.04,2.6);filter:brightness(2.7) saturate(1.8)}38%{transform:scale(1.02,1.4);filter:brightness(1.7) saturate(1.4)}to{transform:scale(1);filter:brightness(1) saturate(1)}}.floating-hp .break-bar-row.break-bar-entering{animation:break-bar-enter .42s cubic-bezier(.22,.8,.2,1) both;transform-origin:left center}.floating-hp .break-bar-row.break-bar-entering .break-fill{transition:none}@keyframes break-bar-enter{0%{transform:scaleX(0) scaleY(.5);opacity:0;filter:brightness(2.2) saturate(1.4)}55%{transform:scaleX(1) scaleY(1.35);opacity:1;filter:brightness(1.5) saturate(1.2)}to{transform:scaleX(1) scaleY(1);opacity:1;filter:brightness(1) saturate(1)}}.break-shard{position:absolute;right:0;top:50%;width:6px;height:9px;pointer-events:none;z-index:4;background:linear-gradient(180deg,#ffd45e,#d987ff);clip-path:polygon(50% 0,100% 100%,0 100%);box-shadow:0 0 4px #d987ff99;will-change:transform,opacity}.barrier-tooltip-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle;border:1px solid rgba(255,255,255,.2)}.floating-hp.enemy .hp-fill{background:linear-gradient(to right,#c33,#d55)}.floating-hp.player .hp-fill{background:linear-gradient(to right,#2a9d5a,#3ab872)}.floating-hp .focus-bar-row{display:none!important}.floating-hp .focus-text{font-size:9px;font-weight:700;color:#8cb4ffe6;text-shadow:0 1px 2px rgba(0,0,0,.9);white-space:nowrap}.floating-hp .hp-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,1);white-space:nowrap;z-index:2;pointer-events:none}.floating-hp .hp-sub-row{position:absolute;top:100%;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:4px;margin-top:2px}.floating-hp .hp-barrier-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#8df;text-shadow:0 1px 3px rgba(0,0,0,1),0 0 6px rgba(0,0,0,.8);white-space:nowrap;cursor:help;pointer-events:auto}.floating-hp .hp-barrier-icon{width:12px;height:13px;background:#8df;clip-path:polygon(50% 0%,100% 15%,100% 60%,50% 100%,0% 60%,0% 15%);flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,1))}.floating-hp .hp-bar-row{position:relative;display:flex}.floating-hp .status-effects{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:4px;display:flex;flex-direction:row;align-items:center;gap:2px;pointer-events:auto}.floating-hp .status-effects:empty{display:none}.status-icon{width:18px;height:18px;object-fit:contain;cursor:default;pointer-events:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.status-icon-wrap{position:relative;display:inline-flex;pointer-events:auto}.status-stack-badge{position:absolute;bottom:-3px;right:-3px;min-width:11px;height:11px;padding:0 2px;border-radius:6px;background:#000000d9;color:#ffce63;font-size:9px;font-weight:700;line-height:11px;text-align:center;pointer-events:none;box-shadow:0 0 0 1px #0009}.floating-hp .hp-name-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:2px}.floating-hp .hp-elements{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:4px;display:flex;flex-direction:row;align-items:center;gap:2px}.floating-hp .hp-element-icon{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));flex-shrink:0;-webkit-user-select:none;user-select:none;pointer-events:auto;cursor:help}.tempo-pips{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;background:#0006;border-radius:10px;pointer-events:auto;cursor:default}.tempo-pip{width:9px;height:9px;background:linear-gradient(135deg,#ffd98a,#ffb347 55%,#c77a1a);border:1px solid rgba(0,0,0,.5);transform:rotate(45deg);box-shadow:0 0 6px #ffb347cc,inset 1px 1px #ffffff80;flex-shrink:0;animation:tempo-pip-pulse 1.6s ease-in-out infinite}.tempo-pip--new{animation:tempo-pip-pop .35s ease-out,tempo-pip-pulse 1.6s ease-in-out .35s infinite}@keyframes tempo-pip-pop{0%{transform:rotate(45deg) scale(.1);opacity:0;box-shadow:0 0 18px #ffb347}60%{transform:rotate(45deg) scale(1.5);opacity:1;box-shadow:0 0 16px #ffb347f2}to{transform:rotate(45deg) scale(1);opacity:1;box-shadow:0 0 6px #ffb347cc,inset 1px 1px #ffffff80}}@keyframes tempo-pip-pulse{0%,to{box-shadow:0 0 6px #ffb347cc,inset 1px 1px #ffffff80}50%{box-shadow:0 0 11px #ffb347,inset 1px 1px #ffffffb3}}.floating-hp.targeted .hp-bar{border-color:var(--color-accent);box-shadow:0 0 6px var(--color-accent)}.floating-hp.targeted .hp-name{color:var(--color-accent)}.floating-hp.targetable,.floating-hp.targetable-all{pointer-events:auto;cursor:pointer}.floating-hp.targetable-ally.targetable .hp-bar,.floating-hp.targetable-ally.targetable-all .hp-bar{border-color:var(--color-success);box-shadow:0 0 6px #0f86}.floating-hp.targetable-ally.targetable .hp-name,.floating-hp.targetable-ally.targetable-all .hp-name{color:var(--color-success)}.hud-spacer{flex:1}#target-picker{display:none;flex-direction:row;justify-content:center;align-items:center;gap:10px;padding:var(--spacing-sm) var(--spacing-md);pointer-events:auto;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.08)}#target-picker.visible{display:flex}.target-picker-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;padding:4px;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.target-picker-btn:hover .timeline-icon{border-width:3px;filter:brightness(1.2)}.target-picker-btn:active{transform:scale(.95)}.target-picker-btn .timeline-icon{width:64px;height:64px;border-color:var(--color-danger);background:#ff444426;box-shadow:0 0 8px #f446;pointer-events:none}#target-picker.mode-all .target-picker-btn .timeline-icon{border-color:var(--color-danger);box-shadow:0 0 12px #ff444480}#target-picker.mode-ally .target-picker-btn .timeline-icon{border-color:var(--color-success);background:#00ff8826;box-shadow:0 0 8px #0f86}.target-picker-name{font-size:10px;font-weight:600;color:var(--color-text-primary);text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap}.target-picker-cancel{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);color:var(--color-text-secondary);font-size:18px;font-weight:700;cursor:pointer;touch-action:manipulation;flex-shrink:0}.target-picker-cancel:active{background:#fff3}.floating-combat-text{position:absolute;transform:translate(-50%);pointer-events:none;font-weight:800;font-size:24px;-webkit-text-stroke:1.5px #000;paint-order:stroke fill;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 6px rgba(0,0,0,.8);white-space:nowrap;animation:float-up 1.8s ease-out forwards;z-index:30}.floating-combat-text.damage{color:#f44;font-size:28px}.floating-combat-text.heal{color:#0f8;font-size:26px}.floating-combat-text.info{color:#fc0;font-size:16px}.floating-combat-text.break{color:#ffd45e;font-size:34px;font-weight:900;letter-spacing:.14em;-webkit-text-stroke:2px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 18px rgba(255,175,80,.95),0 0 36px rgba(255,140,50,.55);animation:break-pop 1.7s ease-out forwards}@keyframes break-pop{0%{opacity:0;transform:translate(-50%,14px) scale(.4) rotate(-4deg);text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 18px rgba(255,175,80,.95)}8%{opacity:1;transform:translate(-50%,-10px) scale(1.4) rotate(0);text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,-3px 0 0 rgba(255,64,64,.9),3px 0 0 rgba(64,200,255,.9),0 0 22px rgba(255,175,80,.95),0 0 40px rgba(255,140,50,.6)}22%{transform:translate(-50%,-16px) scale(1) rotate(0);text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,-1px 0 0 rgba(255,64,64,.4),1px 0 0 rgba(64,200,255,.4),0 0 18px rgba(255,175,80,.95)}35%{text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 18px rgba(255,175,80,.95)}85%{opacity:1;transform:translate(-50%,-50px) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-72px) scale(1) rotate(0)}}.floating-combat-text.targeted{color:#f44;font-size:20px;font-weight:900;letter-spacing:.08em;-webkit-text-stroke:1.5px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 12px rgba(255,68,68,.85);animation:targeted-pop 1.4s ease-out forwards}@keyframes targeted-pop{0%{opacity:0;transform:translate(-50%,4px) scale(.7)}15%{opacity:1;transform:translate(-50%,-4px) scale(1.15)}30%{transform:translate(-50%,-8px) scale(1)}85%{opacity:1;transform:translate(-50%,-36px) scale(1)}to{opacity:0;transform:translate(-50%,-56px) scale(1)}}.floating-combat-text.dot{color:#f80;font-size:16px}.floating-combat-text.crit{color:gold;font-size:34px;-webkit-text-stroke:2px #000;animation:crit-float-up 1.8s ease-out forwards}.floating-combat-text.weak{color:gold;font-size:22px;animation:float-up 1.4s ease-out forwards}.floating-combat-text.weak_big{color:gold;font-size:28px;font-weight:900;-webkit-text-stroke:1.5px #000;animation:float-up 1.6s ease-out forwards}.floating-combat-text.resist{color:#888;font-size:18px;animation:float-up 1.4s ease-out forwards}.floating-combat-text.resist_big{color:#666;font-size:22px;-webkit-text-stroke:1px #000;animation:float-up 1.4s ease-out forwards}.floating-combat-text.tempo{color:#ffb347;font-size:20px;font-weight:900;letter-spacing:.05em;-webkit-text-stroke:1.5px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 10px rgba(255,179,71,.8);animation:float-up 1.4s ease-out forwards}.floating-combat-text.fervor{color:#ff7850;font-size:20px;font-weight:900;letter-spacing:.05em;-webkit-text-stroke:1.5px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 10px rgba(232,128,96,.85);animation:float-up 1.4s ease-out forwards}.floating-combat-text.focus_drain{color:#5bc8ff;font-size:20px;font-weight:900;letter-spacing:.05em;-webkit-text-stroke:1.5px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 10px rgba(91,200,255,.85);animation:float-up 1.4s ease-out forwards}.floating-combat-text.xp{color:#8df;font-size:22px;font-weight:900;letter-spacing:.05em;-webkit-text-stroke:1.5px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 10px rgba(136,221,255,.85);animation:float-up 1.6s ease-out forwards}.floating-combat-text.gold{color:#ffd86b;font-size:22px;font-weight:900;letter-spacing:.05em;-webkit-text-stroke:1.5px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 10px rgba(255,216,107,.9);animation:float-up 1.6s ease-out forwards}.floating-combat-text.levelup{color:#ffe066;font-size:30px;font-weight:900;letter-spacing:.08em;-webkit-text-stroke:2px #000;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 14px rgba(255,224,102,.95),0 0 28px rgba(255,200,60,.55);animation:levelup-float 2.2s ease-out forwards}@keyframes levelup-float{0%{opacity:0;transform:translate(-50%,8px) scale(.4)}10%{opacity:1;transform:translate(-50%,-2px) scale(1.25)}20%{opacity:1;transform:translate(-50%,-10px) scale(.95)}30%{opacity:1;transform:translate(-50%,-16px) scale(1.05)}70%{opacity:1;transform:translate(-50%,-34px) scale(1)}to{opacity:0;transform:translate(-50%,-56px) scale(1)}}@keyframes crit-float-up{0%{opacity:1;transform:translate(-50%) scale(.6)}8%{opacity:1;transform:translate(-50%,-4px) scale(1.3)}16%{opacity:1;transform:translate(-50%,-10px) scale(1.05)}24%{opacity:1;transform:translate(-50%,-14px) scale(1.15)}50%{opacity:1;transform:translate(-50%,-25px) scale(1)}to{opacity:0;transform:translate(-50%,-50px) scale(1)}}@keyframes float-up{0%{opacity:1;transform:translate(-50%) scale(.8)}12%{opacity:1;transform:translate(-50%,-8px) scale(1.1)}50%{opacity:1;transform:translate(-50%,-25px) scale(1)}to{opacity:0;transform:translate(-50%,-50px) scale(1)}}#action-log{display:flex;flex-direction:column;min-width:220px;max-width:360px;max-height:220px;overflow-y:auto;pointer-events:auto;background:var(--panel-bg);border:1px solid rgba(255,255,255,.06);border-radius:var(--border-radius);padding:6px;gap:3px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-shrink:0;box-shadow:var(--shadow-sm)}#action-log:empty{display:none}#action-log .log-msg{font-size:13px;line-height:1.35;font-weight:500;color:#ffffff9e;padding:5px 8px 5px 10px;border-left:3px solid rgba(255,255,255,.18);border-radius:3px;background:#ffffff05;animation:log-in .28s cubic-bezier(.2,.8,.2,1);white-space:normal;word-wrap:break-word}#action-log .log-msg:last-child{color:var(--color-text-primary);font-weight:600;background:#ffffff0d}#action-log .log-damage-out{border-left-color:#c8a86e8c}#action-log .log-damage-out:last-child{border-left-color:var(--color-accent);color:#f1dfb6}#action-log .log-damage-in{border-left-color:#ff44448c}#action-log .log-damage-in:last-child{border-left-color:#f44;color:#ffd9d9}#action-log .log-dot-out{border-left-color:#ffaa408c}#action-log .log-dot-out:last-child{border-left-color:#ffaa40;color:#ffe6c2}#action-log .log-dot-in{border-left-color:#ff6e3c8c}#action-log .log-dot-in:last-child{border-left-color:#ff6e3c;color:#ffd2bb}#action-log .log-heal{border-left-color:#44cc668c}#action-log .log-heal:last-child{border-left-color:#4c6;color:#c8efd0}#action-log .log-buff{border-left-color:#4a9eff8c}#action-log .log-buff:last-child{border-left-color:#4a9eff;color:#cfe5ff}#action-log .log-debuff{border-left-color:#a86eee8c}#action-log .log-debuff:last-child{border-left-color:#a86eee;color:#e1cdff}#action-log .log-summon{border-left-color:#a050ff99}#action-log .log-summon:last-child{border-left-color:#a050ff;color:#e0c8ff}#action-log .log-death-foe{border-left-color:#c8c8c88c}#action-log .log-death-foe:last-child{border-left-color:#ccc;color:#e0e0e0;font-style:italic}#action-log .log-death-ally{border-left-color:#c850508c}#action-log .log-death-ally:last-child{border-left-color:#c85050;color:#ffc8c8;font-style:italic}#action-log .log-system{border-left-color:#ffdc788c}#action-log .log-system:last-child{border-left-color:#ffdc78;color:#fff0c8}#action-log .log-error{border-left-color:var(--color-danger);color:#ffb8b8}#action-log .log-meta{border-left-color:#ffffff1f;color:#ffffff80}#action-log .log-msg.log-crit{font-weight:700;box-shadow:inset 0 0 0 1px #ffdc7859}@keyframes log-in{0%{opacity:0;transform:translate(8px)}60%{opacity:1}to{opacity:1;transform:translate(0)}}#action-panel{position:relative;flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));padding-left:var(--spacing-md);background:linear-gradient(to bottom,#120f0cb3,#120f0cf2);border-top:1px solid rgba(255,255,255,.06);max-width:600px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:auto}#active-character-info{display:flex;align-items:center;gap:10px;padding-left:48px}.active-char-portrait-wrap{position:absolute;top:-25px;left:-6px;width:62px;height:62px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:#1a1a2e;overflow:hidden;z-index:1}.active-char-details{display:flex;flex-direction:column;gap:1px;flex-shrink:0}#active-char-name{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-primary);line-height:1.2}#active-char-class{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#ffffff73}#active-focus-row{display:flex;align-items:center;gap:6px;flex:1;min-width:0}#active-focus-bar{flex:1;height:6px;background:#0009;border-radius:3px;overflow:hidden;border:1px solid rgba(200,168,110,.15)}#active-focus-fill{height:100%;width:100%;background:linear-gradient(90deg,#a08848,#c8a86e);border-radius:3px;transition:width .35s ease-out}#active-focus-text{font-size:11px;font-weight:600;color:#c8a86ecc;flex-shrink:0;min-width:40px;text-align:right}.fervor-pips-inline{display:flex;align-items:center;gap:5px;margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.12);flex-shrink:0}.fervor-pip{width:12px;height:12px;border-radius:50%;border:1px solid rgba(200,100,60,.3);background:#0000008c;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;flex-shrink:0}.fervor-pip.active{background:radial-gradient(circle at 30% 30%,#f86,#c86040 55%,#803020);border:1px solid rgba(255,200,160,.6);box-shadow:0 0 8px #c8643cd9,inset 0 0 2px #ffdcb480;animation:fervor-pip-pulse 1.8s ease-in-out infinite}.fervor-pip--new{animation:fervor-pip-pop .4s ease-out,fervor-pip-pulse 1.8s ease-in-out .4s infinite}@keyframes fervor-pip-pop{0%{transform:scale(.1);box-shadow:0 0 20px #c8643c,inset 0 0 4px #ffdcb4b3}60%{transform:scale(1.6);box-shadow:0 0 18px #c8643cf2,inset 0 0 4px #ffdcb4b3}to{transform:scale(1);box-shadow:0 0 8px #c8643cd9,inset 0 0 2px #ffdcb480}}@keyframes fervor-pip-pulse{0%,to{box-shadow:0 0 8px #c8643cd9,inset 0 0 2px #ffdcb480}50%{box-shadow:0 0 14px #ff7850,inset 0 0 4px #ffdcb4bf}}#ability-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}#ability-buttons .combat-btn{min-width:0}.ability-slot-empty{border:1px dashed rgba(255,255,255,.08);border-radius:6px;min-height:44px}.combat-btn{position:relative;background:linear-gradient(to bottom,#ffffff0d,#0000001a);color:var(--color-text-primary);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:10px 8px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:44px;touch-action:manipulation;-webkit-user-select:none;user-select:none}.combat-btn:hover:not(:disabled){background:#ffffff14;border-color:#fff3}.combat-btn:active:not(:disabled){transform:scale(.97)}.combat-btn:disabled{opacity:.35;cursor:not-allowed}.combat-btn.ability-btn{border-color:var(--btn-accent, var(--color-accent));box-shadow:inset 0 -2px 0 0 var(--btn-accent, var(--color-accent))}.combat-btn.ability-btn:hover:not(:disabled){border-color:var(--btn-accent, var(--color-accent));background:linear-gradient(to bottom,#ffffff1f,#ffffff08);box-shadow:inset 0 -2px 0 0 var(--btn-accent, var(--color-accent)),0 0 12px color-mix(in srgb,var(--btn-accent, var(--color-accent)) 30%,transparent);transform:translateY(-1px)}.combat-btn.ability-btn.selected,.combat-btn.ability-btn.selected:hover{background:color-mix(in srgb,var(--btn-accent, var(--color-accent)) 25%,transparent);border-color:var(--btn-accent, var(--color-accent));outline:1px solid var(--btn-accent, var(--color-accent));outline-offset:-2px;box-shadow:inset 0 -2px 0 0 var(--btn-accent, var(--color-accent)),0 0 16px color-mix(in srgb,var(--btn-accent, var(--color-accent)) 50%,transparent);transform:translateY(-2px)}.ability-btn-content{display:flex;flex-direction:column;align-items:center;gap:4px}.ability-btn-icon{flex-shrink:0;border-radius:4px;object-fit:contain}.ability-btn-label{display:flex;align-items:baseline;gap:4px;justify-content:center}.ability-btn-name{font-size:12px;font-weight:600;line-height:1.2}.ability-btn-cost{font-size:10px;font-weight:700;color:var(--color-accent);opacity:.7}.combat-btn.insufficient-focus .ability-btn-cost{color:var(--color-danger);opacity:1}.ability-btn-element{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--btn-accent, var(--color-accent));opacity:.7}.ability-btn-hotkey{position:absolute;top:3px;left:6px;font-size:9px;font-weight:700;color:var(--color-text-muted);opacity:.5}.insufficient-focus{opacity:.5;filter:grayscale(.5)}.ability-focus-cost{font-size:10px;color:#59f;margin-left:4px}#action-panel.result-mode{background:transparent;border-top:none;padding:0}@media (max-width: 767px){#zone-info,#action-log{display:none}}@media (min-width: 768px){#combat-top-bar{flex-direction:row;justify-content:center}#action-log{position:absolute;top:var(--spacing-sm);right:calc(var(--spacing-md) + 48px)}.discord-mobile #action-log{top:calc(var(--discord-inset-top) + var(--spacing-sm))}.combat-btn{font-size:var(--font-size-md);min-height:48px}.floating-hp .hp-bar{width:120px;height:16px}.floating-hp .hp-name{font-size:13px}.floating-hp .hp-text{font-size:12px}.floating-hp .status-effects{gap:3px}.floating-hp .status-icon{width:22px;height:22px}}@media (max-height: 500px){#combat-top-bar{padding:4px var(--spacing-md)}#action-panel{padding-top:var(--spacing-sm)}.combat-btn{min-height:36px;padding:var(--spacing-xs)}}.combat-result-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center;background:#181410f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius-lg);z-index:var(--z-modal);pointer-events:auto;min-width:320px}.combat-result-overlay h2{font-size:28px;font-weight:800;text-transform:uppercase;letter-spacing:2px}.combat-result-overlay.victory h2{color:var(--color-success);text-shadow:0 0 20px rgba(0,255,136,.4)}.combat-result-overlay.defeat h2{color:var(--color-danger);text-shadow:0 0 20px rgba(255,68,68,.4)}.combat-result-overlay.crawl-complete h2{color:var(--color-accent);text-shadow:0 0 16px rgba(var(--color-accent-rgb),.3)}.combat-result-overlay p{color:var(--color-text-secondary);font-size:var(--font-size-md)}.combat-result-overlay .rewards{display:flex;gap:var(--spacing-md);font-size:var(--font-size-md);font-weight:600}.combat-result-overlay.victory .rewards span{color:var(--color-success)}.combat-result-overlay.crawl-complete .rewards span{color:var(--color-accent)}.combat-result-overlay .combat-btn{margin-top:var(--spacing-sm);min-width:120px}.level-up-section{display:flex;flex-direction:column;gap:4px;margin-top:var(--spacing-sm)}.level-up-entry{color:gold;font-weight:700;font-size:var(--font-size-md);text-shadow:0 0 8px rgba(255,215,0,.5)}.cc-overlay{display:flex;flex-direction:column;max-height:100%;max-width:480px;width:92vw;padding:16px 20px!important;gap:0}.cc-header{flex-shrink:0;padding-bottom:12px;border-bottom:1px solid rgba(var(--color-accent-rgb),.15)}.cc-header-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.cc-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.06em;color:var(--color-accent);margin:0;text-shadow:0 0 20px rgba(var(--color-accent-rgb),.25)}.cc-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:#ffffff0f}.cc-badge--xp{color:#88ddffe6;border-color:#88ddff1f}.cc-badge--gold{color:#ffd700e6;border-color:#ffd7001f}.cc-levelups{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:6px}.cc-levelup-pill{font-size:11px;font-weight:700;color:#fc4;padding:2px 10px;border-radius:10px;background:#ffcc441a;border:1px solid rgba(255,204,68,.15);text-shadow:0 0 8px rgba(255,204,68,.3)}.cc-drops{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:8px}.cc-drop-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-left:3px solid var(--rarity-color, rgba(255, 255, 255, .15));border-radius:8px;text-align:left;animation:cc-drop-enter .35s ease-out both;animation-delay:calc(var(--drop-i, 0) * .1s)}@keyframes cc-drop-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cc-drop-row--strand{padding:14px;background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-color:#ffffff1a;border-left-width:3px;box-shadow:0 2px 12px #0000004d,inset 0 1px #ffffff0a}.cc-drop-portrait{flex-shrink:0;width:56px;height:72px;overflow:hidden}.cc-drop-portrait img{width:100%;height:auto;object-position:top center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.cc-drop-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1}.cc-drop-icon img{width:100%;height:100%;object-fit:contain}.cc-drop-skin-portrait{width:44px;height:56px;object-fit:contain;object-position:bottom center;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(150,100,200,.4))}.cc-skin-drop{border-color:#9664c84d;border-left-color:#b088d0;background:#9664c814}.cc-drop-body{flex:1;min-width:0}.cc-drop-name{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.cc-drop-row--strand .cc-drop-name{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.03em}.cc-drop-sub{font-size:.8rem;color:#ffffff80;margin-top:2px;line-height:1.3}.cc-drop-affixes{display:flex;flex-direction:column;gap:2px;margin-top:4px}.cc-affix{font-size:.75rem;color:#8af;line-height:1.3}.cc-affix--implicit{color:#c8a86e}.cc-currencies{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px 0;flex-shrink:0;animation:cc-drop-enter .35s ease-out both;animation-delay:calc((var(--drop-i, 0) + 1) * .1s + .2s)}.cc-currency-badge{font-size:.85rem;font-weight:700;padding:4px 12px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.06)}.cc-footer{display:flex;justify-content:center;gap:10px;padding-top:10px;flex-shrink:0;border-top:1px solid rgba(var(--color-accent-rgb),.1)}.cc-footer .share-btn{flex:1;max-width:140px;padding:10px 12px;font-size:.85rem}.cc-footer .done-btn{flex:1;max-width:220px}.cc-page{display:flex;flex-direction:column;align-items:center;width:100%;transition:opacity .2s ease-out}.cc-page.cc-page-out{opacity:0}.cc-page.cc-page-in{animation:cc-page-fade-in .25s ease-out}@keyframes cc-page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cc-page-loot{align-items:stretch;flex:1;min-height:0}.cc-strand-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-accent);opacity:.85;margin-bottom:10px;text-align:center}.cc-strand-hero{position:relative;width:100%;height:240px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:8px;overflow:visible}.cc-strand-glow{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(var(--color-accent-rgb),.15) 0%,rgba(var(--color-accent-rgb),.06) 40%,transparent 70%);pointer-events:none;animation:strand-glow-pulse 2.5s ease-in-out infinite}@keyframes strand-glow-pulse{0%,to{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.05)}}.cc-strand-hero img{position:relative;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 4px 16px rgba(0,0,0,.6));z-index:1}.cc-strand-name{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:.06em;color:#fff;line-height:1.1;text-align:center}.cc-strand-meta{font-size:13px;font-weight:600;color:#ffffff80;margin-top:3px;margin-bottom:14px;text-align:center}.cc-strand-quote{font-size:13px;font-style:italic;line-height:1.45;color:var(--color-accent);opacity:.85;text-align:center;margin-top:-6px;margin-bottom:16px;padding:0 8px}@media (max-width: 640px){.cc-overlay{padding:14px!important}.cc-title{font-size:18px}.cc-strand-hero{height:200px}.cc-strand-glow{width:220px;height:220px}.cc-strand-name{font-size:20px}}#action-panel.victory-idle{opacity:.4;pointer-events:none}.combat-result-overlay.crawl-complete{animation:crawl-complete-entrance .5s ease-out}@keyframes crawl-complete-entrance{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.combat-result-overlay.fork-choice{animation:crawl-complete-entrance .5s ease-out}.combat-result-overlay.fork-choice h2{color:var(--color-accent);text-shadow:0 0 20px rgba(var(--color-accent-rgb),.4)}.fork-paths{display:flex;gap:var(--spacing-md);width:100%}.fork-path-card{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);text-align:left;min-height:44px;color:var(--color-text-primary);font-family:inherit;font-size:inherit}.fork-path-card:hover{background:rgba(var(--color-accent-rgb),.12);border-color:var(--color-accent);transform:translateY(-2px)}.fork-path-card:active{transform:translateY(0)}.fork-path-card.loading{pointer-events:none;opacity:.6}.fork-path-label{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin:0}.fork-path-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.fork-path-hints{display:flex;flex-wrap:wrap;gap:4px;margin:0}.fork-hint-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-primary);background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:3px;white-space:nowrap}.fork-hint-chip--element{background:#ffffff0a;cursor:help}.fork-hint-icon{width:14px;height:14px;display:block;image-rendering:pixelated}.timeline-icon.preview-ghost{border-style:dashed;border-color:var(--color-accent)}.dev-debug-menu{display:none;position:absolute;bottom:12px;left:12px;z-index:100;gap:4px 6px;pointer-events:auto;flex-wrap:wrap;max-width:160px}.dev-debug-btn,.dev-debug-select{padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffff80;font-size:11px;cursor:pointer}.dev-debug-btn:hover,.dev-debug-select:hover{background:#fff3;color:#fffc}.dev-debug-select option{background:var(--color-bg-primary);color:#e8e8e8}@media (min-width: 768px){.dev-debug-menu[data-enabled]{display:flex}}.combat-debug-bar{position:fixed;bottom:12px;left:12px;z-index:300;display:flex;flex-wrap:wrap;gap:4px 6px;pointer-events:auto;max-width:200px}.combat-menu-btn{position:fixed;top:8px;right:8px;z-index:calc(var(--z-ui) + 5);background:#0000008c;border:1px solid rgba(255,255,255,.15);width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;pointer-events:auto;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.discord-mobile .combat-menu-btn{top:calc(var(--discord-inset-top) + 8px)}.combat-menu-btn:hover{background:#000000b3;border-color:#ffffff40}.combat-menu-btn:active{background:#000c}.menu-bars{display:flex;flex-direction:column;gap:4px;width:18px}.menu-bars span{display:block;height:2px;background:#fff9;border-radius:1px}.combat-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000b3;display:flex;align-items:center;justify-content:center;pointer-events:auto}.combat-menu-panel{background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-lg);max-width:340px;width:90%;box-shadow:var(--shadow-lg);overflow:hidden}.combat-menu-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.combat-menu-title{font-size:15px;font-weight:700;color:#ffffffe6}.combat-menu-close{background:none;border:none;color:#ffffff80;font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.combat-menu-close:hover{color:#fffc}.combat-menu-options{padding:8px}.combat-menu-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px;background:none;border:1px solid rgba(255,255,255,.06);border-radius:var(--border-radius);cursor:pointer;text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast)}.combat-menu-option:hover{background:#ffffff0a;border-color:#ffffff1f}.combat-menu-option.abandon-option:hover{border-color:#ff44444d}.combat-menu-option-label{font-size:14px;font-weight:600;color:#ffffffd9}.abandon-option .combat-menu-option-label{color:var(--color-danger)}.combat-menu-option-desc{font-size:12px;color:#fff6}.combat-menu-confirm-text{font-size:13px;color:#ffffff80;text-align:center;padding:12px 16px 16px}.combat-menu-confirm-btns{display:flex;gap:10px;justify-content:center;padding:0 16px 16px}.combat-menu-confirm-btns .abandon-yes{background:var(--color-danger);color:#fff;font-weight:700}.combat-menu-confirm-btns .abandon-no{background:#ffffff14;color:#ffffffb3}.cc-tabs{display:flex;gap:0;margin:0 0 12px;border-bottom:1px solid rgba(255,255,255,.08)}.cc-tab{flex:1;padding:8px 0 6px;border:none;outline:none;background:transparent;color:#ffffff4d;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;border-radius:0;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.cc-tab:hover{color:#ffffff80}.cc-tab--active{color:#ffffffd9;border-bottom-color:var(--color-accent)}.cc-tab-content{min-height:0;flex:1;overflow-y:auto;display:flex;flex-direction:column}.cc-tab-content.hidden{display:none!important}.cs-overview{text-align:center;margin-bottom:12px;font-size:12px;color:#ffffff73}.cs-overview-sep{margin:0 6px}.cs-empty{text-align:center;padding:24px 0;color:#ffffff4d;font-size:13px}.cs-strand-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px;margin-bottom:8px}.cs-strand-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cs-strand-portrait{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:top center;background:#0000004d}.cs-strand-name{font-size:13px;font-weight:700;color:var(--color-text-primary)}.cs-stat-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.cs-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff4d}.cs-stat-value{font-size:13px;font-weight:700;color:var(--color-text-primary)}.cs-heal{color:var(--color-success)}.cs-bars{margin:4px 0 6px;display:flex;flex-direction:column;gap:3px}.cs-bar-row{display:flex;align-items:center;height:16px;position:relative;border-radius:3px;overflow:hidden;background:#ffffff08}.cs-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:3px;opacity:.25}.cs-bar-label{position:relative;font-size:10px;font-weight:600;text-transform:capitalize;color:#fff9;margin-left:6px;z-index:1}.cs-bar-value{position:relative;font-size:10px;font-weight:700;color:#fffc;margin-left:auto;margin-right:6px;z-index:1}.cs-pills{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.cs-pill{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;background:#ffffff0f;color:#ffffff80}.cs-pill--crit{color:#fc0;background:#ffcc001a}.cs-pill--weak{color:var(--color-success);background:#44cc661a}.cs-pill--resist{color:#f86;background:#ff88661a}.defeat-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:24px 16px;animation:defeat-fade-in .4s ease}@keyframes defeat-fade-in{0%{opacity:0}to{opacity:1}}.defeat-modal{display:flex;flex-direction:column;width:100%;max-width:400px;max-height:min(85vh,600px);background:#181410f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,68,68,.15);border-radius:var(--border-radius-lg);overflow:hidden;animation:defeat-slide-up .4s ease}@keyframes defeat-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.defeat-modal-scroll{flex:1;overflow-y:auto;padding:24px 20px 12px;text-align:center}.defeat-modal>.return-btn{flex-shrink:0;margin:12px 20px 20px;min-width:unset}.cs-defeat-title{font-size:28px;font-weight:800;color:var(--color-danger);text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 16px rgba(255,68,68,.4);margin:0 0 2px}.cs-defeat-sub{color:#ffffff73;font-size:13px;margin:0 0 16px}.cs-death-section{margin-bottom:12px;text-align:left}.cs-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff4d;margin-bottom:6px}.cs-death-row{display:flex;flex-direction:column;padding:6px 8px;background:#ff44440f;border:1px solid rgba(255,68,68,.12);border-radius:6px;margin-bottom:4px}.cs-death-name{font-size:13px;font-weight:700;color:var(--color-text-primary)}.cs-death-cause{font-size:12px;color:#fff9}.cs-death-cause strong{color:#ffffffd9}.cs-death-detail{font-size:11px;font-weight:600;margin-top:1px}.cs-defeat-stats{margin-top:8px;text-align:left}#main-menu-root{width:100%;height:100%}.main-menu{display:flex;flex-direction:column;width:100%;height:100%;position:relative;overflow:hidden;background:#000}.menu-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center bottom / cover no-repeat;z-index:0}.menu-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 25%,rgba(255,240,200,.85) 0px,transparent 1.4px),radial-gradient(circle at 65% 50%,rgba(255,240,200,.55) 0px,transparent 1px),radial-gradient(circle at 35% 75%,rgba(255,240,200,.7) 0px,transparent 1.2px),radial-gradient(circle at 85% 30%,rgba(255,240,200,.5) 0px,transparent .9px),radial-gradient(circle at 50% 90%,rgba(255,240,200,.6) 0px,transparent 1.1px),radial-gradient(circle at 25% 60%,rgba(255,240,200,.5) 0px,transparent .9px);background-size:280px 280px,220px 220px,320px 320px,260px 260px,240px 240px,200px 200px;animation:town-dust-drift 28s linear infinite;opacity:.32;z-index:1;pointer-events:none;mix-blend-mode:screen}@keyframes town-dust-drift{0%{background-position:0 280px,50px 220px,100px 320px,150px 260px,25px 240px,75px 200px}to{background-position:0 0,50px 0,100px 0,150px 0,25px 0,75px 0}}.main-menu:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:10}.main-menu .screen-header{position:absolute;top:0;left:0;right:0;z-index:11;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:12px var(--spacing-lg);pointer-events:none}.main-menu .screen-header>*{pointer-events:auto}.main-menu .screen-header-currencies,.main-menu .menu-mini-currency{display:none}.main-menu .presence-bar-slot{position:absolute;top:12px;right:var(--spacing-lg);z-index:11}.main-menu .presence-bar{margin:0}.menu-logo{height:48px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}.menu-mini-currency{display:flex;align-items:center;gap:6px;margin-top:6px;padding:3px 10px;background:#00000080;border-radius:999px;border:1px solid rgba(255,255,255,.08);width:fit-content;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mmc-item{font-size:12px;font-weight:700;letter-spacing:.3px}.mmc-gold{color:var(--color-accent)}.mmc-soul{color:#b8a0e0}.mmc-sep{color:#ffffff40;font-size:10px}.menu-body{flex:1;min-height:0;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;container-type:size}.menu-stage{position:relative;width:min(max(100cqw,100cqh * 16 / 9),100cqw * 1.3);aspect-ratio:16 / 9;flex-shrink:0;container-type:size}.menu-featured{position:absolute;right:calc(50% - 47vw);bottom:calc(17% - 36px);width:clamp(320px,38vw,480px);height:min(620px,80cqh);display:flex;flex-direction:column;z-index:2;pointer-events:none}.hero-slot{flex:1;width:100%;pointer-events:auto}.hero-slot:empty{display:none}.hero-carousel{position:relative;width:100%;height:100%}.hero-carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transition:opacity .4s ease}.hero-carousel-slide.active{opacity:1;pointer-events:auto;z-index:1}.hero-carousel-slide .event-banner{height:100%}.hero-carousel:has(.hero-carousel-dots) .event-hero-content{padding-bottom:42px}.hero-carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10;pointer-events:auto}.hero-carousel-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:#ffffff26;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.hero-carousel-dot.active{background:#ffffffd9;border-color:#ffffffe6;transform:scale(1.25)}.hero-carousel-dot:hover:not(.active){background:#fff6}.menu-secondary{position:absolute;right:calc(50% - 47vw);bottom:3%;width:clamp(320px,42vw,560px);z-index:2;pointer-events:none}.secondary-slot{display:flex;flex-direction:column;gap:8px;pointer-events:auto}.secondary-slot:empty{display:none}.coach-banner-slot{position:absolute;left:50%;top:64px;transform:translate(-50%);width:min(520px,calc(100% - 32px));z-index:12;pointer-events:none}.coach-banner-slot:empty{display:none}.coach-banner{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;background:#0e121eeb;border:1px solid rgba(var(--color-accent-rgb),.35);border-left:3px solid var(--color-accent);border-radius:8px;box-shadow:0 4px 14px #00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;animation:coach-banner-in .26s ease-out}@keyframes coach-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.coach-banner-body{flex:1;min-width:0}.coach-banner-title{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--color-accent);margin-bottom:2px}.coach-banner-text{font-size:13px;line-height:1.35;color:#ffffffe0}.coach-banner-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.coach-banner-go{padding:6px 12px;font-size:12px;font-weight:600;color:#0a0f18;background:var(--color-accent);border:none;border-radius:5px;cursor:pointer;transition:filter .12s ease}.coach-banner-go:hover{filter:brightness(1.12)}.coach-banner-dismiss{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#ffffff8c;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:5px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.coach-banner-dismiss:hover{color:#fffffff2;border-color:#fff6}.menu-secondary .crawl-section{width:100%}.party-showcase{position:absolute;bottom:17%;left:4%;right:48%;display:flex;align-items:flex-end;justify-content:center;gap:clamp(0px,2vw,20px);z-index:1}.party-showcase .unit-portrait--lg{height:45cqh}.party-member{display:flex;flex-direction:column;align-items:center;flex-shrink:0;user-select:none;-webkit-user-select:none;position:relative}.party-member--tappable{cursor:pointer;transition:transform .12s ease-out,filter .12s ease-out}.party-member--tappable:hover{transform:translateY(-4px) scale(1.02);filter:brightness(1.12)}.party-member--tappable:active{transform:translateY(-1px) scale(.98)}.party-portrait-wrap{display:flex;align-items:flex-end;justify-content:center;position:relative}.party-member-dot{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg-primary);box-shadow:0 0 8px rgba(var(--color-accent-rgb),.7);z-index:2;pointer-events:none;animation:badge-pulse 2s ease-in-out infinite}.party-above-head{position:absolute;bottom:100%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px;pointer-events:none}.party-above-head .inspect-above-row{display:flex;gap:4px;pointer-events:auto}.inspect-mastery-pill{font-size:10px;font-weight:700;padding:2px 7px;background:#ffaa002e;border:1px solid rgba(255,170,0,.4);border-radius:10px;color:#ffd070;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap;letter-spacing:.3px}.inspect-mini-chip{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#14100cd9;border:1px solid rgba(255,255,255,.1);border-bottom:2px solid var(--rarity-color, rgba(255, 255, 255, .15));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 6px #0000008c;cursor:default;transition:border-color .15s ease,background .15s ease}.inspect-mini-chip--filled{cursor:pointer}.inspect-mini-chip--filled:hover{border-color:#fff0c880;background:#1c1610eb}.inspect-mini-chip img,.inspect-mini-chip svg{width:28px;height:28px;display:block}.inspect-mini-chip--empty{opacity:.4}.party-info{position:absolute;top:100%;left:50%;transform:translate(-50%);text-align:center;padding:4px 10px;background:#0000008c;border-radius:6px;margin-top:4px;min-width:100px;white-space:nowrap}.party-name{display:block;font-family:var(--font-display);font-size:var(--font-size-md);font-weight:700;letter-spacing:.06em;color:var(--color-text-primary);text-shadow:0 2px 6px rgba(0,0,0,.9);line-height:1.2}.unit-level{display:inline;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-right:4px}.party-element{display:inline;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary);text-shadow:0 1px 3px rgba(0,0,0,.9)}.party-types{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;cursor:help}.party-type-icon{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));transition:transform .12s ease}.party-types:hover .party-type-icon{transform:scale(1.15)}.quest-npc{position:absolute;right:calc(50% - 28vw);bottom:17%;z-index:4;display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:0;transform:translate(20px);transition:transform .12s ease-out,filter .12s ease-out,opacity .4s ease-out;-webkit-user-select:none;user-select:none}.quest-npc.is-visible{opacity:1;transform:translate(0)}.quest-npc:hover{transform:translateY(-4px) scale(1.02);filter:brightness(1.12)}.quest-npc:active{transform:translateY(-1px) scale(.98)}.quest-npc img{height:45cqh;width:auto;object-fit:contain;transform:scaleX(-1);filter:drop-shadow(2px 4px 16px rgba(0,0,0,.6))}.quest-npc-marker{font-family:var(--font-display);position:relative;z-index:2;font-size:10cqh;line-height:1;font-weight:900;color:#ffe55a;-webkit-text-stroke:.15cqh rgba(80,40,0,.85);text-shadow:0 0 1.2cqh rgba(255,215,0,.9),0 0 3cqh rgba(255,200,60,.55),0 0 6cqh rgba(255,180,40,.3),0 .3cqh .4cqh rgba(0,0,0,.9);animation:quest-marker-bob 1.2s ease-in-out infinite;margin-bottom:calc(-.5cqh + (var(--npc-scale, 1) - 1) * 45cqh);margin-left:-1cqh;filter:drop-shadow(0 0 2cqh rgba(255,200,60,.6))}@keyframes quest-marker-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1.4cqh) scale(1.08)}}.quest-npc-co{position:absolute;right:calc(50% - 42vw);bottom:17%;z-index:3;display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;transform:translate(20px);transition:opacity .4s ease-out,transform .4s ease-out}.quest-npc-co.is-visible{opacity:1;transform:translate(0)}.quest-npc-co img{height:45cqh;width:auto;object-fit:contain;transform:scaleX(-1);filter:drop-shadow(2px 4px 16px rgba(0,0,0,.6));transition:filter .3s ease}.main-menu.nb-active .quest-npc-co .quest-npc-name{visibility:hidden}.main-menu.nb-active .quest-npc img.nb-npc-sprite:not(.is-speaking),.main-menu.nb-active .quest-npc-co img.nb-npc-sprite:not(.is-speaking){filter:brightness(.7) drop-shadow(2px 4px 16px rgba(0,0,0,.6))}.roster-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;justify-content:flex-end;pointer-events:none}.roster-overlay.is-visible{pointer-events:auto}.roster-overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background .3s ease}.roster-overlay.is-visible .roster-overlay-backdrop{background:#0000008c}.roster-overlay-panel{position:relative;width:clamp(380px,55vw,720px);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#0d0b08,#141210);border-left:1px solid rgba(200,168,110,.2);box-shadow:-8px 0 48px #000000b3;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.roster-overlay.is-visible .roster-overlay-panel{transform:translate(0)}.roster-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid rgba(200,168,110,.12);flex-shrink:0;background:#0000004d}.roster-overlay-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.08em;color:#e8e0d0}.roster-overlay-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#ffffff80;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:50%;cursor:pointer;transition:background .15s ease,color .15s ease}.roster-overlay-close:hover{background:#ffffff1f;color:#fffc}.roster-filter-bar{display:flex;gap:6px;padding:10px 16px;flex-shrink:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.04)}.roster-filter-bar::-webkit-scrollbar{display:none}.roster-filter-btn{padding:4px 12px;font-size:11px;font-weight:600;font-family:inherit;text-transform:capitalize;white-space:nowrap;color:#ffffff73;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.roster-filter-btn:hover{background:#ffffff14;color:#ffffffb3}.roster-filter-btn.roster-filter-active{color:var(--filter-color, var(--color-accent));background:#ffffff14;border-color:var(--filter-color, var(--color-accent))}.roster-overlay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:12px 16px 24px;overflow-y:auto;overscroll-behavior:contain;flex:1;align-content:start}.roster-card{position:relative;display:flex;flex-direction:column;border-radius:10px;border:2px solid rgba(255,255,255,.06);background:#0a0806;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease}.roster-card:before{content:"";position:absolute;bottom:0;left:0;right:0;height:50%;border-radius:0 0 8px 8px;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--element-color, #888) 18%,#0a0806) 100%);pointer-events:none;z-index:2}.roster-card:hover{transform:translateY(-3px);border-color:#c8a86e66;box-shadow:0 8px 24px #0009}.roster-card:active{transform:scale(.97)}.roster-card--naked{border-color:#ffa03033}.roster-card-warn{position:absolute;top:8px;left:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#000;background:#f0a030;border-radius:50%;box-shadow:0 2px 6px #00000080;z-index:4}.roster-card-art{position:relative;height:200px;overflow:hidden;border-radius:8px;display:flex;align-items:flex-start;justify-content:center}.roster-card-sprite{height:200%;width:auto;flex-shrink:0}.roster-card-info{position:absolute;bottom:0;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 8px}.roster-card-skills{display:flex;gap:3px;margin-bottom:2px}.roster-skill-icon{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#00000080}.roster-card-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:.02em}.roster-card-meta{font-size:10px;font-weight:500;color:#ffffff80;letter-spacing:.3px}@media (max-width: 767px){.roster-overlay-panel{width:100%}.roster-overlay-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 10px 20px}.roster-card-art{height:170px}}.roster-pairing-strip{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#a86eee14;border-bottom:1px solid rgba(168,110,238,.18);flex-shrink:0}.roster-pairing-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#a86eeed9;flex-shrink:0}.roster-pairing-card{display:flex;align-items:center;gap:8px;min-width:0}.roster-pairing-sprite{width:36px;height:36px;object-fit:contain;object-position:bottom center;flex-shrink:0}.roster-pairing-info{display:flex;flex-direction:column;gap:1px;min-width:0}.roster-pairing-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-pairing-meta{font-size:10px;color:#ffffff8c;white-space:nowrap}.roster-card--disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.roster-card--disabled:hover{transform:none;box-shadow:none;border-color:#ffffff0f}.roster-card--selected{border-color:#f5a62399;box-shadow:0 0 0 1px #f5a62340}.roster-card-masteries{display:flex;gap:4px;margin-bottom:2px}.roster-card-affix{margin-top:4px;font-size:10px;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.roster-card-pill{position:absolute;top:6px;left:6px;padding:2px 6px;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-radius:4px;z-index:4}.roster-card-pill--locked{color:#ffc8c8e6;background:#a01e1eb3}.party-swap-label{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.4px;color:#fff;background:#000000bf;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:3px 10px;pointer-events:none;opacity:0;transition:opacity .2s ease;bottom:100%;margin-bottom:8px}.party-member--tappable:hover .party-swap-label{opacity:1}.party-portrait-wrap{position:relative}.crawl-section{background:#0a0a12d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(180,160,100,.3);border-top:3px solid rgba(180,160,100,.5);border-radius:8px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.menu-secondary .crawl-section{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.menu-secondary .crawl-section .crawl-info{flex:1;min-width:0}.menu-secondary .crawl-section .crawl-action,.menu-secondary .crawl-section .campaign-action{flex-shrink:0}.crawl-info{display:flex;flex-direction:column;gap:1px}.crawl-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary)}.crawl-zone{font-size:16px;font-weight:700;color:#fff}.crawl-detail,.campaign-detail{font-size:12px;color:var(--color-text-secondary)}.campaign-progress{font-size:15px;font-weight:700;color:#fff;margin-bottom:1px}.crawl-action{display:flex}.crawl-action .completed-text{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;color:#d4a843;font-weight:700;font-size:14px}.menu-enter-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:8px 16px;font-size:14px;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:1px;color:#fff;background:#8b6914;border:1px solid #d4a843;border-radius:6px;cursor:pointer;transition:background .2s ease}.menu-enter-btn:hover:not(:disabled){background:#a07a1a}.menu-enter-btn:active:not(:disabled){background:#6e5310}.menu-enter-btn:disabled{opacity:.6;cursor:not-allowed}.event-banner.event-hero{position:relative;display:block;width:100%;height:100%;border-radius:var(--border-radius-lg);overflow:hidden;isolation:isolate;--event-accent: #8c6ed2;background:#0a0612;border:1px solid color-mix(in srgb,var(--event-accent) 50%,transparent);box-shadow:0 8px 40px color-mix(in srgb,var(--event-accent) 30%,transparent),inset 0 1px #ffffff14;animation:event-border-pulse 4s ease-in-out infinite}@keyframes event-border-pulse{0%,to{box-shadow:0 8px 40px color-mix(in srgb,var(--event-accent) 30%,transparent),inset 0 1px #ffffff14}50%{box-shadow:0 8px 56px color-mix(in srgb,var(--event-accent) 55%,transparent),inset 0 1px #ffffff24}}.event-hero-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(3px) brightness(.45) saturate(1.2);transform:scale(1.08);z-index:0}.event-hero-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 60% at 50% 28%,color-mix(in srgb,var(--event-accent) 38%,transparent) 0%,transparent 65%),radial-gradient(ellipse 130% 110% at 50% 50%,transparent 30%,rgba(0,0,0,.6) 100%);z-index:1;pointer-events:none}.event-hero-rays{position:absolute;top:-40%;left:50%;width:220%;aspect-ratio:1;transform:translate(-50%) rotate(0);background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--event-accent) 14%,transparent) 4deg,transparent 12deg,color-mix(in srgb,var(--event-accent) 10%,transparent) 22deg,transparent 30deg,color-mix(in srgb,var(--event-accent) 8%,transparent) 50deg,transparent 60deg,color-mix(in srgb,var(--event-accent) 16%,transparent) 80deg,transparent 90deg,color-mix(in srgb,var(--event-accent) 11%,transparent) 110deg,transparent 122deg,color-mix(in srgb,var(--event-accent) 9%,transparent) 145deg,transparent 156deg,color-mix(in srgb,var(--event-accent) 13%,transparent) 175deg,transparent 184deg);mix-blend-mode:screen;opacity:.55;z-index:2;animation:event-rays-rotate 90s linear infinite;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 35%,transparent 70%);mask-image:linear-gradient(180deg,#000 35%,transparent 70%)}@keyframes event-rays-rotate{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}.event-hero-particles{position:absolute;top:-10%;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.85) 0px,transparent 1.2px),radial-gradient(circle at 70% 40%,rgba(255,255,255,.6) 0px,transparent 1px),radial-gradient(circle at 40% 70%,rgba(255,255,255,.75) 0px,transparent 1.4px),radial-gradient(circle at 85% 80%,rgba(255,255,255,.55) 0px,transparent 1px),radial-gradient(circle at 15% 50%,rgba(255,255,255,.7) 0px,transparent 1.2px),radial-gradient(circle at 60% 10%,rgba(255,255,255,.5) 0px,transparent .9px);background-size:220px 220px,180px 180px,240px 240px,200px 200px,260px 260px,150px 150px;animation:event-particles-drift 16s linear infinite;z-index:3;opacity:.7;pointer-events:none}@keyframes event-particles-drift{0%{background-position:0 220px,50px 180px,100px 240px,150px 200px,25px 260px,75px 150px}to{background-position:0 0,50px 0,100px 0,150px 0,25px 0,75px 0}}.event-hero-glow{position:absolute;top:5%;left:50%;width:80%;height:60%;transform:translate(-50%);background:radial-gradient(ellipse at center,color-mix(in srgb,var(--event-accent) 50%,transparent) 0%,color-mix(in srgb,var(--event-accent) 18%,transparent) 35%,transparent 70%);filter:blur(24px);mix-blend-mode:screen;z-index:4;pointer-events:none}.event-hero-art{position:absolute;top:4%;left:0;right:0;height:44%;display:flex;align-items:flex-end;justify-content:center;z-index:5;pointer-events:none}.event-hero-art:after{content:"";position:absolute;bottom:-2%;left:50%;width:55%;height:18px;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 35%,transparent 70%);filter:blur(4px);z-index:-1;pointer-events:none}.event-hero-sprite{max-height:100%;max-width:72%;width:auto;height:auto;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 0 28px color-mix(in srgb,var(--event-accent) 70%,transparent)) drop-shadow(0 12px 20px rgba(0,0,0,.7))}@keyframes event-hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.event-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,transparent 42%,rgba(6,4,14,.7) 50%,rgba(6,4,14,.95) 60%,rgba(6,4,14,.98) 100%);z-index:6;pointer-events:none}.hero-variant-campaign .event-hero-art{top:10%;height:50%}.hero-variant-campaign .event-hero-overlay{background:linear-gradient(180deg,transparent 0%,transparent 46%,rgba(6,4,14,.65) 54%,rgba(6,4,14,.92) 64%,rgba(6,4,14,.98) 100%)}.event-hero-expiry-slot{position:absolute;top:12px;right:12px;z-index:8}.event-banner-expiry{display:inline-block;font-size:11px;font-weight:700;color:#ffffffc7;padding:4px 10px;border-radius:999px;background:#0000008c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);letter-spacing:.3px}.event-banner-expiry.urgent{color:#ffb070;background:#3c190ab3;border-color:#ff8c3c80;animation:event-urgent-pulse 1.6s ease-in-out infinite}@keyframes event-urgent-pulse{0%,to{opacity:1}50%{opacity:.55}}.event-banner-expiry.expired{color:#ffffff59;background:#0006}.event-hero-content{position:absolute;bottom:0;left:0;right:0;z-index:7;display:flex;flex-direction:column;padding:18px 22px 22px;gap:4px}.event-banner-prebanner{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:4px}.event-banner-prebanner-line{flex:1;height:1px;max-width:70px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--event-accent) 65%,transparent),transparent)}.event-banner-prebanner-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2.8px;color:var(--event-accent);text-shadow:0 0 12px color-mix(in srgb,var(--event-accent) 70%,transparent),0 1px 4px rgba(0,0,0,.95);white-space:nowrap}.event-banner-title{font-size:clamp(24px,3.2vw,36px);font-weight:900;line-height:1.05;text-align:center;margin:2px 0;background:linear-gradient(180deg,#fff,#fdfaf2 38%,#f0dcae 70%,#d4b879);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 14px color-mix(in srgb,var(--event-accent) 65%,transparent)) drop-shadow(0 4px 8px rgba(0,0,0,.7));letter-spacing:.5px}.event-banner-bundle{display:block;text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.8px;color:var(--event-accent);text-shadow:0 0 10px color-mix(in srgb,var(--event-accent) 55%,transparent),0 1px 4px rgba(0,0,0,.95);margin-bottom:4px}.event-banner-subtitle{display:block;text-align:center;font-size:13px;font-style:italic;color:#fff9;text-shadow:0 1px 4px rgba(0,0,0,.8);margin-bottom:4px}.event-banner-meta-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 5px;margin-bottom:10px}.event-banner-rooms,.event-banner-meta-sep{font-size:13px;font-weight:600;color:#ffffffb3;letter-spacing:.4px;text-shadow:0 1px 4px rgba(0,0,0,.95)}.event-banner-elements{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.event-banner-element{display:inline-flex;align-items:center;justify-content:center;padding:5px;cursor:help}.event-banner-element-icon{display:block;width:18px;height:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.event-banner-element--more{font-size:12px;font-weight:600;font-style:italic;letter-spacing:.3px;color:#ffffff73;text-shadow:0 1px 3px rgba(0,0,0,.95);cursor:default}.event-banner-rewards{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.event-reward-chip{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.event-reward-icon{width:44px;height:44px;flex-shrink:0;background:#00000073;border:1px solid rgba(255,255,255,.12);object-fit:cover;object-position:top center;border-radius:50%}.event-reward-chip.unique .event-reward-icon{border-radius:6px;object-fit:contain;object-position:center;padding:2px}.event-reward-info{display:flex;flex-direction:column;min-width:0;flex:1}.event-reward-type{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#ffffff73;line-height:1.1}.event-reward-name{font-size:13px;font-weight:700;color:#ffffffeb;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-reward-chip.skin{background:linear-gradient(135deg,#b478dc2e,#b478dc0a);border-color:#b478dc59;box-shadow:0 0 14px #b478dc2e}.event-reward-chip.skin .event-reward-type{color:#d0a0f0}.event-reward-chip.unique{background:linear-gradient(135deg,#ffb43c33,#ffb43c0a);border-color:#ffb43c66;box-shadow:0 0 14px #ffb43c2e}.event-reward-chip.unique .event-reward-type{color:#ffd685}.event-reward-chip.featured{background:linear-gradient(135deg,#64a0ff29,#64a0ff0a);border-color:#64a0ff52;box-shadow:0 0 14px #64a0ff29}.event-reward-chip.featured .event-reward-type{color:#a8d4ff}.event-banner-action{margin-top:6px}.event-banner-btn{position:relative;display:block;width:100%;padding:14px 24px;border-radius:8px;border:1px solid color-mix(in srgb,var(--event-accent) 65%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--event-accent) 80%,#000),color-mix(in srgb,var(--event-accent) 55%,#000),color-mix(in srgb,var(--event-accent) 35%,#000));color:#fff;font-size:16px;font-weight:800;font-family:inherit;letter-spacing:1px;text-transform:uppercase;cursor:pointer;overflow:hidden;box-shadow:0 4px 20px color-mix(in srgb,var(--event-accent) 50%,transparent),inset 0 1px #ffffff40;animation:event-btn-pulse 2.6s ease-in-out infinite;transition:transform .15s ease}.event-banner-btn:before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.32) 50%,transparent 100%);animation:event-btn-shimmer 3.2s ease-in-out infinite;pointer-events:none}@keyframes event-btn-pulse{0%,to{box-shadow:0 4px 20px color-mix(in srgb,var(--event-accent) 45%,transparent),inset 0 1px #ffffff40}50%{box-shadow:0 6px 32px color-mix(in srgb,var(--event-accent) 80%,transparent),inset 0 1px #ffffff59}}@keyframes event-btn-shimmer{0%,55%{left:-120%}to{left:120%}}.event-banner-btn:hover:not(:disabled){transform:translateY(-1px)}.event-banner-btn:active:not(:disabled){transform:translateY(0)}.event-banner-btn:disabled{opacity:.5;cursor:not-allowed;animation:none}.event-banner-price{font-size:22px;font-weight:800;color:#ffd66e;text-shadow:0 1px 4px rgba(0,0,0,.95);margin-right:4px}.event-banner-completed{display:block;text-align:center;font-size:13px;font-weight:700;color:var(--color-success);padding:14px}.event-banner.event-hero.is-horizontal{min-height:280px;display:block}.is-horizontal .event-hero-art{top:0;left:0;bottom:0;right:auto;width:50%;height:auto;display:flex;align-items:flex-end;justify-content:center;padding-bottom:0}.is-horizontal .event-hero-sprite{max-height:96%;max-width:88%}.is-horizontal .event-hero-content{top:0;right:0;bottom:0;left:50%;display:flex;flex-direction:column;justify-content:center;padding:22px 26px;gap:4px;text-align:left}.is-horizontal .event-banner-prebanner,.is-horizontal .event-banner-title,.is-horizontal .event-banner-bundle,.is-horizontal .event-banner-subtitle,.is-horizontal .event-banner-rooms{text-align:left}.is-horizontal .event-banner-meta-row,.is-horizontal .event-banner-prebanner{justify-content:flex-start}.is-horizontal .event-banner-prebanner-line{max-width:24px}.is-horizontal .event-banner-title{font-size:clamp(26px,2.6vw,36px);margin:4px 0}.is-horizontal .event-hero-vignette{background:radial-gradient(ellipse 70% 100% at 22% 50%,color-mix(in srgb,var(--event-accent) 38%,transparent) 0%,transparent 65%),radial-gradient(ellipse 130% 110% at 50% 50%,transparent 30%,rgba(0,0,0,.55) 100%)}.is-horizontal .event-hero-glow{top:10%;left:5%;width:50%;height:80%;transform:none}.is-horizontal .event-hero-rays{top:-30%;left:-50%;width:150%}.is-horizontal .event-hero-overlay{background:linear-gradient(100deg,transparent 0%,transparent 32%,rgba(6,4,14,.55) 48%,rgba(6,4,14,.92) 65%,rgba(6,4,14,.97) 100%)}.is-horizontal .event-banner-action{display:flex;align-items:center;gap:14px;margin-top:12px}.is-horizontal .event-banner-btn{flex:1;max-width:220px}.is-horizontal .event-banner-rewards{margin-bottom:8px}@media (max-width: 700px){.event-banner.event-hero.is-horizontal{min-height:380px}.is-horizontal .event-hero-art{position:absolute;top:0;left:0;right:0;bottom:50%;width:100%;height:auto}.is-horizontal .event-hero-content{top:50%;left:0;right:0;bottom:0;padding:16px 20px;text-align:center}.is-horizontal .event-banner-prebanner,.is-horizontal .event-banner-title,.is-horizontal .event-banner-bundle,.is-horizontal .event-banner-subtitle,.is-horizontal .event-banner-rooms{text-align:center}.is-horizontal .event-banner-prebanner,.is-horizontal .event-banner-meta-row{justify-content:center}.is-horizontal .event-hero-overlay{background:linear-gradient(180deg,transparent 0%,transparent 42%,rgba(6,4,14,.7) 52%,rgba(6,4,14,.95) 65%,rgba(6,4,14,.98) 100%)}}@media (max-width: 1024px){.menu-featured{width:clamp(300px,46vw,480px)}.party-showcase{right:52%;gap:0}.crawl-section.campaign-hero .campaign-progress{font-size:24px}.event-banner-title{font-size:26px}}@media (max-width: 900px){.party-member:last-child:not(:only-child){display:none}}@media (max-width: 767px){.main-menu .screen-header-currencies{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.menu-body{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.menu-stage{width:100%;aspect-ratio:auto;flex:1;min-height:0;display:flex;flex-direction:column}.menu-featured{position:relative;right:auto;top:auto;bottom:auto;transform:none;height:auto;width:100%;padding:var(--spacing-sm);flex:1;min-height:0}.menu-secondary,.party-showcase{display:none}.event-banner-title{font-size:22px}.event-banner-btn{padding:12px 16px;font-size:14px}}.menu-debug-toggle{position:absolute;top:12px;right:12px;z-index:100;pointer-events:auto}.menu-debug-hamburger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.15);background:#0006;color:#ffffff80;font-size:18px;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.menu-debug-hamburger:hover{background:#0009;color:#fffc}.menu-debug-menu{display:flex;flex-direction:column;gap:3px;margin-top:6px;pointer-events:auto;background:#000000d9;padding:6px;border-radius:6px;border:1px solid rgba(255,255,255,.15)}.menu-debug-menu.menu-debug-collapsed{display:none}.menu-debug-btn{padding:4px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffff80;font-size:11px;cursor:pointer}.menu-debug-btn:hover{background:#fff3;color:#fffc}@media (max-height: 500px){.party-member img{height:200px}}#screen-container{position:absolute;top:0;left:0;width:100%;height:calc(100% - 52px - env(safe-area-inset-bottom,0px));overflow-y:auto;background:var(--color-bg-primary);transition:opacity 80ms ease}.discord-mobile #screen-container{top:var(--discord-inset-top);height:calc(100% - 52px - var(--discord-inset-top) - env(safe-area-inset-bottom,0px))}.screen-panel{padding:var(--spacing-md);min-height:100%}.hub-screen{position:relative;background-color:#0a0d18}.hub-screen-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center bottom;background-size:cover;background-repeat:no-repeat;z-index:0;pointer-events:none}.hub-screen-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0d184d,#0a0d188c);z-index:0;pointer-events:none}.hub-screen>*:not(.hub-screen-bg):not(.hub-screen-vignette){position:relative;z-index:1}.hub-screen-body{background:#0a0d188c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.06);border-radius:12px;margin:12px 16px;flex:1;min-height:0}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:8px var(--spacing-lg);background:#0a0a12d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);flex-shrink:0}.screen-header-currencies{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.screen-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.screen-currency{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--font-size-sm);font-weight:700;font-variant-numeric:tabular-nums;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.screen-currency-icon{display:flex;align-items:center;line-height:0}.currency-icon{display:inline-block;vertical-align:middle;object-fit:contain}.screen-currency-amount{font-variant-numeric:tabular-nums}.screen-currency.is-pulsing .screen-currency-icon{animation:currency-icon-pulse .7s ease-out}.screen-currency.is-pulsing .screen-currency-amount{animation:currency-text-pulse .7s ease-out}@keyframes currency-icon-pulse{0%{transform:scale(1);filter:brightness(1) drop-shadow(0 0 0 transparent)}30%{transform:scale(1.35);filter:brightness(1.6) drop-shadow(0 0 8px rgba(255,220,120,.85))}to{transform:scale(1);filter:brightness(1) drop-shadow(0 0 0 transparent)}}@keyframes currency-text-pulse{0%{color:inherit;text-shadow:none}30%{color:#ffe590;text-shadow:0 0 8px rgba(255,220,120,.7)}to{color:inherit;text-shadow:none}}#nav-bar{position:absolute;bottom:0;left:0;width:100%;height:calc(52px + env(safe-area-inset-bottom));display:flex;align-items:flex-start;background:#14100cf2;border-top:1px solid rgba(255,255,255,.08);z-index:50;padding-bottom:env(safe-area-inset-bottom);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:52px;background:none;border:none;color:#fff9;font-family:var(--font-family);cursor:pointer;transition:color .2s ease,background .2s ease;padding:6px 0;border-radius:0}.nav-tab-icon{font-size:18px;line-height:1}.nav-tab-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.nav-tab.active{color:var(--color-accent);background:rgba(var(--color-accent-rgb),.08)}.nav-tab:hover:not(.active){color:#fffc;background:#ffffff0f}.nav-tab:active{background:#ffffff1a}.nav-tab.nav-tab-locked{color:#fff3;cursor:default;pointer-events:none}.nav-tab.nav-tab-locked .nav-tab-icon{filter:grayscale(1) opacity(.4)}.nav-tab-lock-hint{display:block;font-size:8px;font-weight:600;color:#ffffff40;letter-spacing:.3px;margin-top:-1px}.nav-tab{position:relative}.nav-badge{position:absolute;top:6px;right:calc(50% - 14px);width:8px;height:8px;background:var(--color-accent);border-radius:50%;border:1.5px solid var(--color-bg-primary);box-shadow:0 0 6px rgba(var(--color-accent-rgb),.6);pointer-events:none;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 4px rgba(var(--color-accent-rgb),.4)}50%{box-shadow:0 0 10px rgba(var(--color-accent-rgb),.8)}}#party-screen-root{width:100%;height:100%}.party-back-btn{padding:4px 12px;font-size:13px;font-weight:600;font-family:inherit;color:var(--color-accent);background:none;border:1px solid rgba(var(--color-accent-rgb),.25);border-radius:4px;cursor:pointer;margin-right:8px;transition:background var(--transition-fast)}.party-back-btn:hover{background:rgba(var(--color-accent-rgb),.1)}.party-admin-levelup-btn{margin-left:12px;padding:4px 10px;font-size:12px;font-weight:600;font-family:inherit;color:#ffffffd9;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;transition:background var(--transition-fast)}.party-admin-levelup-btn:hover{background:#ffffff2e}.party-admin-levelup-btn:disabled{opacity:.5;cursor:default}.party-screen{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-bg-primary);position:relative}.party-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);padding-bottom:max(var(--spacing-lg),env(safe-area-inset-bottom));width:100%}.gear-column{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:var(--spacing-sm)}.section-label span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent-dark);white-space:nowrap}.section-label:after{content:"";flex:1;height:1px;background:#ffffff14}.hero-roster-grid{display:flex;gap:var(--spacing-sm);flex-shrink:0;overflow-x:auto;overflow-y:hidden;padding-bottom:var(--spacing-sm);width:100%}.hero-roster-card{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:3px;padding:var(--spacing-sm);width:100px;border-radius:var(--border-radius);border:2px solid var(--color-card-border);background:var(--color-card-bg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.hero-roster-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-accent);border:1.5px solid var(--color-bg-primary);box-shadow:0 0 6px rgba(var(--color-accent-rgb),.6);z-index:1;pointer-events:none;animation:badge-pulse 2s ease-in-out infinite}.hero-roster-card:hover{background:var(--color-card-bg-hover);border-color:#fff3}.hero-roster-card.selected{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb),.1)}.hero-roster-portrait{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.hero-roster-name{font-size:var(--font-size-sm);font-weight:700;text-align:center;line-height:1.2}.hero-roster-level{font-size:11px;color:var(--color-text-secondary)}.unit-panel{background:var(--panel-bg-light);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.06);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.unit-detail{display:flex;flex-direction:column;flex-shrink:0}.unit-detail-empty{text-align:center;color:var(--color-text-muted);padding:var(--spacing-md)}.unit-detail-top{display:flex;align-items:center;gap:var(--spacing-md)}.unit-detail-portrait.unit-portrait--md{height:100px;width:80px;object-fit:contain;object-position:top center;border-radius:var(--border-radius);flex-shrink:0}.unit-detail-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.unit-detail-name-row{display:flex;align-items:center;gap:6px}.unit-detail-name{font-size:var(--font-size-lg);font-weight:700}.unit-detail-rarity{font-size:1.2rem;filter:drop-shadow(0 0 3px currentColor)}.unit-detail-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.unit-detail-level{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.unit-xp-bar-wrap{display:flex;align-items:center;gap:6px;margin-top:2px}.unit-xp-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;min-width:60px}.unit-xp-fill{height:100%;background:linear-gradient(to right,#7c5cbf,#a78bfa);border-radius:3px;transition:width var(--transition)}.unit-xp-label{font-size:10px;color:var(--color-text-muted);white-space:nowrap}.detail-ap{font-size:11px;font-weight:700;color:#d4a017;background:#d4a01726;padding:1px 5px;border-radius:4px;margin-left:4px}.unit-detail-stats{display:flex;gap:16px;margin-top:6px}.stat-pair{display:flex;align-items:baseline;gap:6px}.stat-label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;min-width:28px}.stat-value{font-size:14px;font-weight:700;color:var(--color-text-primary)}.unit-detail-affixes{font-size:13px;color:var(--color-text-secondary, #aaa)}.affix-empty{padding:24px 16px;font-size:12px;color:#ffffff59;text-align:center}.unit-detail-stats{display:flex;flex-direction:column;gap:12px;padding-top:6px}.stats-section{display:flex;flex-direction:column;gap:4px}.stats-rows{display:flex;flex-direction:column;gap:2px}.stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:2px 0}.stat-row-label{font-size:13px;color:var(--color-text-secondary, #aaa)}.stat-row-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.skill-estimates{display:flex;flex-direction:column;gap:6px}.skill-est{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:6px 8px}.skill-est-name{font-size:13px;font-weight:600}.skill-est-range{display:flex;align-items:baseline;gap:6px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.skill-est-inc{font-size:11px;font-weight:600;color:#fff6}.skill-est-meta{font-size:11px;color:#ffffff73;margin-top:2px}.unit-detail-resistances{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.res-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px}.res-group-label{display:block;font-size:11px;font-weight:600;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.res-row{display:flex;justify-content:space-between;align-items:baseline;padding:2px 0}.res-el{font-size:13px;color:var(--color-text-secondary, #aaa)}.res-val{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.res-val.res-positive{color:var(--color-success, #00ff88)}.res-val.res-negative{color:var(--color-danger, #ff4444)}.res-val.res-neutral{color:var(--color-text-muted, #666)}.gear-view{display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;min-height:0}.equip-section{flex-shrink:0}.equip-slots{display:flex;gap:var(--spacing-sm)}.equip-card{flex:1;position:relative;overflow:hidden;display:flex;align-items:stretch;height:72px;border-radius:var(--border-radius);border:1px solid var(--color-card-border);background:var(--color-card-bg);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer;border-left:3px solid var(--color-accent)}.equip-card[data-slot=armor]{border-left-color:#a6f}.equip-card[data-slot=accessory]{border-left-color:#0c8}.equip-card-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px var(--spacing-sm);text-align:center;min-width:0;overflow:hidden}.equip-card.filled{background:rgba(var(--color-accent-rgb),.04);box-shadow:var(--shadow-sm)}.equip-card[data-slot=armor].filled{background:#aa66ff0a}.equip-card[data-slot=accessory].filled{background:#00cc880a}.equip-card.filled:hover,.equip-card.equip-selected{border-color:#d4a017;background:#d4a0170f}.inv-detail-btn-unequip{padding:6px 14px;font-size:11px;font-weight:700;font-family:inherit;border-radius:var(--border-radius-sm);background:#ffaa0026;color:var(--color-warning);border:1px solid rgba(255,170,0,.3);cursor:pointer;transition:background var(--transition-fast)}.inv-detail-btn-unequip:hover{background:#ffaa0040}.equip-card.empty{border-style:dashed;border-color:#ffffff1f;border-left-width:3px;border-left-style:dashed;background:#ffffff05}.equip-card.empty:hover{border-color:#fff3;border-left-color:var(--color-accent);background:rgba(var(--color-accent-rgb),.04)}.equip-card[data-slot=armor].empty:hover{border-left-color:#a6f}.equip-card[data-slot=accessory].empty:hover{border-left-color:#0c8}.equip-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-muted)}.equip-card-item-row{display:flex;align-items:center;gap:8px}.equip-card-item-row img{width:36px;height:36px;flex-shrink:0}.equip-card-name{font-size:var(--font-size-sm);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.equip-card-empty{font-size:11px;font-weight:500;color:#ffffff4d;letter-spacing:.3px}.inv-tabs{display:flex;align-items:center;gap:4px;padding-bottom:var(--spacing-sm)}.inv-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;background:#ffffff0a;color:#fff6;border:1px solid rgba(255,255,255,.06);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.inv-tab:hover{background:#ffffff14;color:#fff9}.inv-tab-active{background:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);border-color:rgba(var(--color-accent-rgb),.3)}.inv-tab-icon{font-size:13px}.inv-tab-count{font-size:10px;opacity:.7;font-weight:600}.inventory-section{flex:1;min-height:0;display:flex;flex-direction:column}.inventory-grid{flex:1;min-height:120px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--spacing-sm);align-content:start}.inv-empty{grid-column:1 / -1;color:var(--color-text-muted);font-size:var(--font-size-md);text-align:center;padding:var(--spacing-xl) 0}.inv-slot-empty{border-radius:var(--border-radius);border:1px dashed rgba(255,255,255,.06);background:#ffffff03;min-height:70px;transition:border-color var(--transition-fast),background var(--transition-fast)}.inv-slot-empty:hover{border-color:#ffffff1a}.inv-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px 6px;border-radius:var(--border-radius);border:1px solid var(--color-card-border);border-bottom:2px solid var(--color-card-border);background:var(--color-card-bg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);min-height:80px}.inv-card.inv-selected{background:rgba(var(--color-accent-rgb),.12);border-color:var(--color-accent);box-shadow:0 0 8px rgba(var(--color-accent-rgb),.2)}.inv-card:hover{background:var(--color-card-bg-hover);border-color:#fff3;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.inv-card:active{background:rgba(var(--color-accent-rgb),.1);border-color:var(--color-accent)}.item-icon{object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.inv-card-name{font-size:10px;font-weight:600;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-card-delete{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-family:inherit;background:#f449;color:#fff;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast);padding:0;line-height:1}.inv-card:hover .inv-card-delete{opacity:1}.inv-card-delete:hover{background:#f44}.inv-card.inv-selected .inv-card-delete{opacity:1}.inv-card.inv-unequippable{background:#ff444414;border-color:#ff44444d!important}.inv-detail-bar{display:none;padding:10px 12px;background:var(--panel-bg);border:1px solid rgba(255,255,255,.12);border-radius:var(--border-radius);margin-top:8px;gap:8px;align-items:center}.inv-detail-bar.visible{display:flex}.inv-detail-bar-icon{flex-shrink:0}.inv-detail-bar-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.inv-detail-bar-name{font-size:14px;font-weight:700;line-height:1.2}.inv-detail-bar-sub{font-size:11px;color:var(--color-text-secondary)}.inv-detail-bar-affixes{font-size:11px;color:var(--color-affix)}.inv-detail-bar-actions{display:flex;gap:6px;flex-shrink:0}.inv-detail-bar-actions button{padding:6px 12px;font-size:12px;font-weight:600;border-radius:4px;border:none;cursor:pointer}.inv-detail-btn-equip{background:var(--color-accent);color:#fff}.inv-detail-btn-delete{background:#ff4444b3;color:#fff}.delete-confirm{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--color-card-bg);border-radius:var(--border-radius);z-index:10}.delete-confirm span{font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent)}.salvage-reward{font-size:11px;font-weight:600;color:var(--color-success);opacity:.9}.delete-confirm-buttons{display:flex;gap:6px}.delete-confirm-yes,.delete-confirm-no{padding:4px 14px;font-size:11px;font-weight:700;font-family:inherit;border-radius:var(--border-radius-sm);border:1px solid;cursor:pointer}.delete-confirm-yes{background:rgba(var(--color-accent-rgb),.3);color:var(--color-accent);border-color:var(--color-accent)}.delete-confirm-yes:hover{background:rgba(var(--color-accent-rgb),.5)}.delete-confirm-no{background:#ffffff14;color:var(--color-text-secondary);border-color:#ffffff26}.delete-confirm-no:hover{background:#ffffff26}.delete-confirm--unique{border:1px solid var(--color-danger)}.delete-confirm--unique .delete-confirm-title{font-size:11px;font-weight:700;color:var(--color-danger);text-align:center;padding:0 4px;line-height:1.2}.delete-confirm--unique .delete-confirm-yes{background:#ff44444d;color:var(--color-danger);border-color:var(--color-danger)}.delete-confirm--unique .delete-confirm-yes:hover{background:#ff444480}.unequip-confirm{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;display:flex;align-items:center;justify-content:center;gap:8px;background:#000000eb;border-radius:var(--border-radius);z-index:10}.unequip-confirm span{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary)}.unequip-yes,.unequip-no{padding:4px 14px;font-size:11px;font-weight:700;font-family:inherit;border-radius:var(--border-radius-sm);border:1px solid;cursor:pointer}.unequip-yes{background:rgba(var(--color-accent-rgb),.3);color:var(--color-accent);border-color:var(--color-accent)}.unequip-yes:hover{background:rgba(var(--color-accent-rgb),.5)}.unequip-no{background:#ffffff14;color:var(--color-text-secondary);border-color:#ffffff26}.unequip-no:hover{background:#ffffff26}.dragging{opacity:.4}.drop-target{border-color:var(--color-success)!important;background:#00ff8814!important;box-shadow:0 0 12px #00ff8826}.drop-target-invalid{border-color:var(--color-danger)!important;background:#ff444414!important;box-shadow:0 0 12px #ff444426}.inv-toggle-btn{margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;background:#ffffff0f;color:var(--color-text-muted);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.inv-toggle-btn:hover{background:#ffffff1f;color:var(--color-text-secondary)}@media (min-width: 768px){.party-body{display:grid;grid-template-columns:2fr 3fr;grid-template-rows:auto 1fr;overflow:hidden;max-width:none}.hero-roster-grid{grid-column:1 / -1}.unit-panel{overflow-y:auto;min-height:0}.unit-detail{flex:1;min-height:0}.gear-column{overflow-y:auto;min-height:0}.inventory-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.inv-toggle-btn{display:none}}@media (max-width: 480px){.equip-card .equip-card-content{padding:var(--spacing-sm)}.unit-detail-top{gap:var(--spacing-sm)}.unit-detail-stats{grid-template-columns:repeat(4,1fr)}.inventory-grid:not(.inventory-expanded) .inv-slot-empty{display:none}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.unit-detail-tabs{display:flex;gap:2px;margin-top:var(--spacing-sm);border-bottom:1px solid rgba(255,255,255,.08)}.unit-tab{flex:1;padding:6px 8px;font-size:.75rem;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.unit-tab:hover{color:var(--color-text-primary)}.unit-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-badge{font-size:.65rem;padding:1px 5px;border-radius:8px;background:var(--color-accent);color:#fff;margin-left:4px}.unit-detail-tab-content{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.06)}.mastery-section{padding:var(--spacing-xs)}.mastery-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 6px}.mastery-points-inline{font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.mastery-filter-toggle{padding:2px 8px;font-size:10px;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;background:#ffffff0f;color:var(--color-text-muted);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.mastery-filter-toggle:hover{background:#ffffff1f;color:var(--color-text-secondary)}.mastery-filter-toggle.active{background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);border-color:rgba(var(--color-accent-rgb),.3)}.mastery-filter-toggle.active:hover{background:rgba(var(--color-accent-rgb),.2)}.mastery-filter-toggle.force-disabled{opacity:.35;cursor:not-allowed}.mastery-footer{font-size:.75rem;color:var(--color-text-secondary);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid rgba(255,255,255,.06)}.mastery-points-value{color:#d4a017;font-weight:600}.mastery-pending-count{color:#d4a017;font-size:.65rem;opacity:.8}.mastery-group{margin-bottom:6px}.mastery-group-header{padding:6px 4px 2px;margin-top:6px;margin-bottom:4px;-webkit-user-select:none;user-select:none}.mastery-group-body{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--border-radius);overflow:hidden}.mastery-row{display:grid;grid-template-columns:32px 1fr auto 48px;align-items:center;gap:0 8px;padding:7px 10px;font-size:13px;transition:background var(--transition-fast)}.mastery-row+.mastery-row{border-top:1px solid rgba(255,255,255,.04)}.mastery-icon{display:flex;align-items:center;justify-content:center}.mastery-icon-img{display:block;object-fit:contain}.mastery-row.has-pending{background:#d4a01714}.mastery-info{display:flex;flex-direction:column;gap:1px;min-width:0}.mastery-name{font-size:13px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.mastery-rank-bonus{font-size:11px;font-weight:500;color:#44cc66bf;white-space:nowrap;line-height:1.2}.mastery-skill-previews{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.mastery-skill-tag{font-size:10px;padding:1px 5px;border-radius:3px;white-space:nowrap}.mastery-skill-tag.unlocked{background:#44cc661f;color:#4c6c}.mastery-skill-tag.locked{background:#ffffff0a;color:#ffffff4d}.mastery-rank-bonus--preview{color:#ffffff4d;font-weight:400}.mastery-rank{color:var(--color-accent);min-width:24px;text-align:right;font-weight:600;white-space:nowrap;font-size:13px}.mastery-rank--zero{color:#fff3}.mastery-bonus{color:#0f8;font-size:inherit;font-weight:inherit;margin-left:2px}.mastery-pending-preview{color:#d4a017;font-size:inherit;font-weight:inherit;margin-left:2px}.mastery-btn-cell{display:flex;justify-content:center}.mastery-progress{height:3px;background:#ffffff0f;border-radius:2px;margin:1px 4px 3px;overflow:hidden}.mastery-progress-fill{height:100%;border-radius:2px;transition:width .2s ease}.mastery-row--nyi{opacity:.4}.mastery-row--nyi .mastery-name{font-style:italic}.mastery-nyi-badge{font-size:.55rem;font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);background:#ffffff0f;padding:1px 4px;border-radius:3px;margin-left:4px;vertical-align:middle}.mastery-invest-btn{width:40px;height:28px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;font-family:inherit;background:#ffffff0f;color:var(--color-text-primary);border:1px solid rgba(255,255,255,.12);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.mastery-invest-btn:hover{background:rgba(var(--color-accent-rgb),.15);border-color:var(--color-accent);color:var(--color-accent)}.mastery-invest-btn.cost-core{color:var(--color-success);border-color:#44cc6640}.mastery-invest-btn.cost-strong{color:#8cc8ff;border-color:#8cc8ff33}.mastery-invest-btn.cost-moderate{color:var(--color-text-primary)}.mastery-invest-btn.cost-weak{color:var(--color-warning);border-color:#fa03}.mastery-invest-btn.cost-offclass{color:var(--color-danger);border-color:#ff444426}.mastery-invest-btn.disabled{opacity:.25;cursor:not-allowed}.mastery-pending-bar{position:sticky;bottom:-24px;margin-top:8px;padding:10px 16px;border-top:1px solid rgba(212,160,23,.4);background:var(--color-bg-primary);box-shadow:0 -8px 16px #000000b3;z-index:5}.mastery-pending-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.mastery-confirm-btn,.mastery-cancel-btn{padding:4px 14px;font-size:11px;font-weight:700;font-family:inherit;border-radius:var(--border-radius-sm);border:1px solid;cursor:pointer;transition:background var(--transition-fast)}.mastery-confirm-btn{background:#0f83;color:var(--color-success);border-color:var(--color-success)}.mastery-confirm-btn:hover{background:#00ff8859}.mastery-cancel-btn{background:#ffffff14;color:var(--color-text-secondary);border-color:#ffffff26}.mastery-cancel-btn:hover{background:#ffffff26}.unit-detail-portrait-wrap{position:relative;flex-shrink:0}.unit-detail-portrait-wrap.has-skins{cursor:pointer}.skin-indicator{position:absolute;bottom:2px;right:2px;width:18px;height:18px;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center}.skin-indicator:after{content:"✨";font-size:10px}.skin-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#000000b3;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.skin-picker-panel{background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-lg);max-width:480px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.skin-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.skin-picker-title{font-size:15px;font-weight:700;color:#ffffffe6}.skin-picker-close{background:none;border:none;color:#ffffff80;font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.skin-picker-close:hover{color:#fffc}.skin-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:12px 16px 16px}.skin-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:var(--border-radius);border:2px solid rgba(255,255,255,.06);background:#ffffff08;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.skin-card:hover{border-color:#ffffff26;background:#ffffff0f}.skin-card.active{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb),.08)}.skin-card-img{width:100%;aspect-ratio:3 / 4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.skin-card-img img{max-width:100%;max-height:100%;object-fit:contain;object-position:bottom center}.skin-card-name{font-size:11px;font-weight:600;color:#ffffffb3;text-align:center}.skin-card-count{font-size:10px;color:#ffffff59}.skin-card.unavailable{opacity:.4;pointer-events:none}.memory-section-tiers{display:flex;flex-direction:column;gap:8px}.memory-empty-body{font-size:12px;line-height:1.5;color:#ffffff73;margin-bottom:12px}.memory-tier-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"info    stepper" "info    spend";align-items:center;column-gap:12px;row-gap:6px;padding:10px 12px;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.06);background:#ffffff08;border-left:3px solid var(--tier-accent, rgba(255, 255, 255, .2))}.memory-tier-row.memory-tier-empty{opacity:.4}.memory-tier-info{grid-area:info;display:flex;flex-direction:column;gap:2px;min-width:0}.memory-tier-name{font-size:13px;font-weight:600;color:var(--tier-accent, rgba(255, 255, 255, .85))}.memory-tier-meta{font-size:11px;color:#ffffff80}.memory-tier-meta strong{color:#ffffffd9;font-weight:700}.memory-tier-stepper{grid-area:stepper;display:inline-flex;align-items:center;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:var(--border-radius);overflow:hidden}.step-btn{width:30px;height:28px;background:transparent;border:none;border-right:1px solid rgba(255,255,255,.06);color:#ffffffb3;font-size:14px;font-weight:700;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.step-btn:last-child{border-right:none}.step-btn:hover:not(:disabled){background:#ffffff14;color:#fffffff2}.step-btn:disabled{opacity:.25;cursor:not-allowed}.step-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 6px;border-right:1px solid rgba(255,255,255,.06);font-size:13px;font-weight:700;color:#fffffff2;font-variant-numeric:tabular-nums}.step-btn.step-max{width:auto;padding:0 10px;font-size:11px;letter-spacing:.04em}.memory-spend-btn{grid-area:spend;justify-self:end;min-width:130px;padding:7px 14px;background:#4a9eff1f;border:1px solid rgba(74,158,255,.4);color:var(--color-accent);border-radius:var(--border-radius);font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.memory-spend-btn:hover:not(:disabled){background:#4a9eff38;border-color:var(--color-accent);color:#fffffffa}.memory-spend-btn:disabled{opacity:.3;cursor:not-allowed}.skill-slots{display:flex;gap:var(--spacing-sm);padding:0 1px}.skill-slot-card{flex:1;display:flex;align-items:center;gap:6px;height:44px;padding:0 10px;border-radius:var(--border-radius);background:var(--color-card-bg);border:1px solid var(--color-card-border);border-left:3px solid var(--color-accent);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.skill-slot-card:hover{background:var(--color-card-bg-hover)}.skill-slot-card.filled{background:rgba(var(--color-accent-rgb),.04)}.skill-slot-card.empty{justify-content:center;border-style:dashed;border-left-style:dashed;opacity:.5}.skill-slot-card.empty:hover{opacity:.8}.skill-slot-empty{font-size:11px;color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px}.skill-slot-icon{flex-shrink:0;border-radius:3px}.skill-slot-name{flex:1;font-size:12px;font-weight:500;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-slot-rank{font-size:10px;color:#fff6;flex-shrink:0}.skill-slot-card.primed{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.skill-browser{display:flex;flex-direction:column;min-height:0;flex:1;-webkit-user-select:none;user-select:none}.sb-header{display:flex;align-items:center;gap:10px;padding:0 4px;margin-bottom:var(--spacing-sm);flex-shrink:0}.sb-header:after{content:"";flex:1;height:1px;background:#ffffff14}.sb-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent-dark)}.sb-close{background:none;border:none;color:#ffffff59;font-size:16px;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;order:3}.sb-close:hover{color:#ffffffb3}.sb-body{overflow-y:auto;flex:1;padding-bottom:16px}.sb-empty{text-align:center;color:#ffffff4d;padding:32px 16px;font-size:13px}.sb-group{margin-bottom:8px}.sb-group-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent-dark);padding:8px 4px 4px;display:flex;align-items:center;gap:10px}.sb-group-header:after{content:"";flex:1;height:1px;background:#ffffff14}.sb-group-body{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--border-radius);overflow:hidden}.sb-row{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:0 8px;padding:8px 10px;font-size:13px;transition:background var(--transition-fast)}.sb-row+.sb-row{border-top:1px solid rgba(255,255,255,.04)}.sb-row.unlocked{cursor:pointer}.sb-row.unlocked:hover{background:#ffffff08}.sb-row.equipped{background:#c8a86e0f}.sb-row.locked{opacity:.35}.sb-row-icon{display:flex;align-items:center;justify-content:center}.sb-row-icon img{border-radius:3px}.sb-row-info{display:flex;flex-direction:column;gap:1px;min-width:0}.sb-row-name{font-size:13px;font-weight:600;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-row-type{font-size:11px;color:#ffffff73;text-transform:capitalize}.sb-row-req{font-size:11px;color:#ffffff59}.sb-row-rank{font-size:12px;font-weight:600;color:#fff9;justify-self:end}.sb-slot-badge{font-size:10px;padding:2px 6px;border-radius:3px;background:#c8a86e26;color:var(--color-accent);white-space:nowrap}#crawls-browser-root{width:100%;height:100%}.crawls-browser{display:flex;flex-direction:column;width:100%;height:100%}.crawls-grid{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 32px;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px;margin:0 auto;width:100%;align-content:start}.crawls-loading,.crawls-empty{grid-column:1 / -1;padding:var(--spacing-lg);text-align:center;color:#fff6;font-size:13px;line-height:1.5}.crawl-tile{border-radius:var(--border-radius);overflow:hidden;background:var(--color-card-bg);border:1px solid var(--color-card-border);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.crawl-tile:hover{border-color:rgba(var(--color-accent-rgb),.3);box-shadow:0 0 12px rgba(var(--color-accent-rgb),.1)}.crawl-tile-banner{position:relative;height:80px;overflow:hidden}.crawl-tile-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.crawl-tile-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(24,20,16,.95) 0%,rgba(24,20,16,.3) 50%,transparent 100%)}.crawl-tile-title{position:absolute;bottom:6px;left:10px;font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7);z-index:1}.crawl-tile-body{padding:8px 10px;display:flex;flex-direction:column;gap:8px}.crawl-tile-tags{display:flex;flex-wrap:wrap;gap:4px}.crawl-tile-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#ffffff14;color:#ffffff80;white-space:nowrap}.crawl-tile-btn{width:100%;padding:6px 0;font-size:12px;font-weight:600;border:none;border-radius:6px;background:#ffffff14;color:#ffffffb3;cursor:pointer;transition:background var(--transition);font-family:inherit}.crawl-tile-btn:hover{background:#ffffff24;color:#fff}.crawls-featured{display:flex;gap:12px;padding:12px 16px 0;max-width:640px;margin:0 auto;width:100%;flex-shrink:0}.featured-card{flex:1;border-radius:var(--border-radius);overflow:hidden;background:var(--color-bg-secondary);border:1px solid rgba(var(--color-accent-rgb),.15);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.featured-card:hover{border-color:rgba(var(--color-accent-rgb),.4);box-shadow:0 0 16px rgba(var(--color-accent-rgb),.12)}.featured-card-banner{position:relative;height:64px;overflow:hidden}.featured-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.featured-card-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(24,20,16,.95) 0%,rgba(24,20,16,.4) 60%,transparent 100%)}.featured-card-label{position:absolute;top:6px;left:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;background:#0006;padding:2px 6px;border-radius:4px;z-index:1}.featured-card--daily .featured-card-label{color:var(--color-accent)}.featured-card--event .featured-card-label{color:#fa4}.featured-card-body{padding:8px 10px;display:flex;flex-direction:column;gap:6px}.featured-card-name{font-size:13px;font-weight:700;color:#fff}.featured-card-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.featured-card-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#ffffff14;color:#ffffff80;white-space:nowrap}.featured-card-status{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;margin-left:auto}.featured-card-status--available{color:var(--color-success);background:#00ff881a}.featured-card-status--in-progress{color:var(--color-accent);background:rgba(var(--color-accent-rgb),.1)}.featured-card-status--completed{color:#ffffff59;background:#ffffff0d}.featured-card-btn{width:100%;padding:6px 0;font-size:12px;font-weight:600;border:none;border-radius:6px;background:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);cursor:pointer;transition:background var(--transition);font-family:inherit}.featured-card-btn:hover:not(:disabled){background:rgba(var(--color-accent-rgb),.25)}.featured-card-btn:disabled{opacity:.4;cursor:default}.crawls-divider{display:flex;align-items:center;gap:8px;padding:12px 16px 4px;max-width:640px;margin:0 auto;width:100%;flex-shrink:0}.crawls-divider:before,.crawls-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.crawls-divider-label{font-size:11px;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.crawls-divider-note{font-size:10px;color:#ffffff40;white-space:nowrap}.crawls-campaign-section{padding:16px 16px 32px;max-width:1024px;margin:0 auto;width:100%}.crawls-act-divider{display:flex;align-items:baseline;gap:10px;padding:16px 4px 8px;margin-top:8px}.crawls-act-divider:first-child{margin-top:0;padding-top:0}.crawls-act-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-accent)}.crawls-act-subtitle{font-size:11px;color:#ffffff59;font-style:italic}.crawls-act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:8px}.crawls-campaign-card{position:relative;border-radius:var(--border-radius);overflow:hidden;cursor:pointer;border:1px solid var(--color-card-border);transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);background:var(--color-card-bg);height:110px}.crawls-campaign-card:hover{border-color:rgba(var(--color-accent-rgb),.5);transform:translateY(-2px);box-shadow:0 6px 16px #0006}.crawls-campaign-card.loading{opacity:.5;pointer-events:none}.crawls-campaign-card-banner{position:relative;width:100%;height:100%}.crawls-campaign-card-banner img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.crawls-campaign-card-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.85) 100%)}.crawls-campaign-card-text{position:absolute;bottom:10px;left:12px;right:12px;display:flex;flex-direction:column;gap:2px}.crawls-campaign-card-title{font-size:15px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crawls-campaign-card-meta{font-size:11px;color:#ffffffa6;text-shadow:0 1px 3px rgba(0,0,0,.7)}.crawls-featured{max-width:1024px}.crawls-free-section{padding:8px 16px 32px;max-width:640px;margin:0 auto;width:100%}.free-crawl-card{border-radius:var(--border-radius);background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.08);overflow:hidden}.free-crawl-body{padding:16px;display:flex;flex-direction:column;gap:8px}.free-crawl-title{font-size:14px;font-weight:700;color:#ffffffd9}.free-crawl-desc{font-size:12px;color:#ffffff73;line-height:1.4}.free-crawl-btn{width:100%;padding:8px 0;font-size:13px;font-weight:600;border:none;border-radius:6px;background:#ffffff14;color:#ffffffb3;cursor:pointer;transition:background var(--transition);font-family:inherit;margin-top:4px}.free-crawl-btn:hover{background:#ffffff24;color:#fff}.crawls-tabbar{display:flex;gap:4px;padding:0 16px;max-width:1024px;margin:0 auto 8px;width:100%;border-bottom:1px solid rgba(255,255,255,.06)}.crawls-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:12px 18px;font-size:13px;font-weight:700;color:#fff6;cursor:pointer;font-family:inherit;transition:color var(--transition),border-color var(--transition);letter-spacing:.3px;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;margin-bottom:-1px}.crawls-tab:hover{color:#ffffffb3}.crawls-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.crawls-tab-badge{background:rgba(var(--color-accent-rgb),.2);color:var(--color-accent);font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;min-width:18px;text-align:center}.crawls-tab.active .crawls-tab-badge{background:rgba(var(--color-accent-rgb),.3)}.crawls-tab-panel{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.crawls-tab-panel--campaign{overflow:hidden}.crawls-tab-panel--patterns{padding:0}.patterns-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;max-width:1024px;margin:0 auto;width:100%}.patterns-filters{display:flex;gap:4px;flex-wrap:wrap}.patterns-filter{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#ffffff80;padding:6px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;cursor:pointer;font-family:inherit;transition:background var(--transition),color var(--transition),border-color var(--transition)}.patterns-filter:hover{background:#ffffff14;color:#fffc}.patterns-filter.active{background:rgba(var(--color-accent-rgb),.18);border-color:rgba(var(--color-accent-rgb),.4);color:var(--color-accent)}.patterns-sort{display:flex;align-items:center;gap:6px}.patterns-sort-label{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#fff6;font-weight:700}.patterns-sort-select{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--color-text-primary);padding:6px 8px;font-size:12px;border-radius:4px;font-family:inherit;cursor:pointer}.patterns-layout{display:grid;grid-template-columns:1fr 360px;gap:16px;padding:0 16px 24px;max-width:1024px;margin:0 auto;width:100%;flex:1;min-height:0}@media (max-width: 767px){.patterns-layout{grid-template-columns:1fr;gap:12px}}.patterns-stash{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;align-content:start}.pattern-card{position:relative;background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.06);border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:border-color var(--transition),transform var(--transition)}.pattern-card:hover{border-color:#ffffff2e;transform:translateY(-1px)}.pattern-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),.4)}.pattern-card--normal{border-left:3px solid rgba(255,255,255,.3)}.pattern-card--magic{border-left:3px solid #6db2ff}.pattern-card--rare{border-left:3px solid #ffcc44}.pattern-card-thumb{position:relative;width:100%;height:64px;background:#0006;overflow:hidden}.pattern-card-thumb img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.pattern-card-thumb-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.6) 100%)}.pattern-card-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px}.pattern-card-name{font-size:13px;font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-card--magic .pattern-card-name{color:#6db2ff}.pattern-card--rare .pattern-card-name{color:#fc4}.pattern-card-meta{font-size:10px;color:#fff6;display:flex;gap:4px;align-items:center}.pattern-card-dot{opacity:.5}.patterns-detail{background:var(--color-bg-secondary);border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius);overflow:hidden;display:flex;flex-direction:column;min-height:400px;align-self:start;position:sticky;top:0}.pattern-detail-banner{position:relative;width:100%;height:120px;background:#0006;overflow:hidden}.pattern-detail-banner img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.pattern-detail-banner-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85) 100%)}.pattern-detail-banner-text{position:absolute;bottom:10px;left:14px;right:14px;display:flex;flex-direction:column;gap:2px}.pattern-detail-rarity{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffff80}.pattern-detail-rarity--magic{color:#6db2ff}.pattern-detail-rarity--rare{color:#fc4}.pattern-detail-name{font-size:18px;font-weight:700;color:var(--color-text-primary)}.pattern-detail-name--magic{color:#6db2ff}.pattern-detail-name--rare{color:#fc4}.pattern-detail-meta{font-size:11px;color:#fff9;display:flex;gap:4px;align-items:center}.pattern-detail-dot{opacity:.5}.pattern-detail-description{padding:12px 14px 4px;font-size:12px;color:#ffffff8c;line-height:1.45;font-style:italic}.pattern-detail-section-label{padding:12px 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff4d}.pattern-detail-affixes{padding:0 14px;display:flex;flex-direction:column;gap:8px}.pattern-detail-affix{padding:8px 10px;background:#ffffff08;border-left:2px solid rgba(255,136,102,.5);border-radius:4px;display:flex;flex-direction:column;gap:2px}.pattern-detail-danger{font-size:12px;font-weight:700;color:#f86}.pattern-detail-reward{font-size:11px;color:#78dc8cd9}.pattern-detail-no-affixes{padding:0 14px;font-size:12px;color:#ffffff4d;font-style:italic}.pattern-detail-craft{padding:0 14px}.pattern-craft-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#ffffff0a;border:1px solid rgba(var(--color-accent-rgb),.25);border-radius:6px;padding:10px 12px;cursor:pointer;font-family:inherit;transition:background var(--transition),border-color var(--transition)}.pattern-craft-btn:hover:not(:disabled){background:rgba(var(--color-accent-rgb),.1);border-color:rgba(var(--color-accent-rgb),.5)}.pattern-craft-btn:disabled{opacity:.5;cursor:not-allowed}.pattern-craft-label{font-size:12px;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.4px}.pattern-craft-cost{font-size:11px;color:#ffffff80}.pattern-detail-actions{padding:16px 14px 14px;display:flex;flex-direction:column;gap:8px;margin-top:auto}.pattern-detail-run-btn{background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:12px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px rgba(var(--color-accent-rgb),.25);transition:filter var(--transition),box-shadow var(--transition)}.pattern-detail-run-btn:hover{filter:brightness(1.12);box-shadow:0 4px 14px rgba(var(--color-accent-rgb),.4)}.pattern-detail-run-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.pattern-detail-delete-btn{background:#ffffff0a;color:#ffffff80;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:8px 16px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;text-transform:uppercase;letter-spacing:.4px;transition:color var(--transition),border-color var(--transition)}.pattern-detail-delete-btn:hover{color:#f66;border-color:#f666}.patterns-empty{grid-column:1 / -1;padding:48px 24px;text-align:center;color:#fff6;background:var(--color-bg-secondary);border:1px dashed rgba(255,255,255,.08);border-radius:var(--border-radius)}.patterns-empty-title{font-size:16px;font-weight:700;color:#fff9;margin-bottom:8px}.patterns-empty-desc{font-size:12px;line-height:1.5;max-width:320px;margin:0 auto}:root{--z-tooltip: 150}#tooltip{position:fixed;z-index:var(--z-tooltip);opacity:0;pointer-events:none;max-width:280px;transition:opacity .1s ease;top:0;left:0}#tooltip.visible{opacity:1}.tooltip-inner{background:var(--panel-bg-heavy);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:4px}.tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.tooltip-name{font-weight:700;font-size:var(--font-size-md);color:var(--color-text-primary)}.tooltip-name-group{display:inline-flex;align-items:center;gap:6px;min-width:0}.tooltip-icon{width:28px;height:28px;object-fit:contain;flex-shrink:0}.tooltip-element{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px;background:#ffffff0f}.tooltip-separator{height:1px;background:#ffffff14;margin:2px 0}.tooltip-tags{display:flex;flex-wrap:wrap;gap:3px;margin:2px 0}.tooltip-tag{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;background:#ffffff14;color:#ffffff80}.tooltip-line{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.tooltip-line .label{color:var(--color-text-secondary)}.tooltip-line .value{color:var(--color-text-primary);font-weight:600}.tooltip-line .value.damage{color:#f44}.tooltip-line .value.heal{color:#0f8}.tooltip-line .value.buff{color:#4af}.tooltip-line .value.debuff{color:#f80}.tooltip-line .value.unique{color:#af6025}.tooltip-line.tooltip-mechanic,.tooltip-line.tooltip-mechanic strong,.tooltip-line.tooltip-mechanic .mechanic-sub,.tooltip-line.tooltip-mechanic .buff,.tooltip-line.tooltip-mechanic .debuff,.tooltip-line.tooltip-mechanic .damage,.tooltip-line.tooltip-mechanic .heal{color:var(--color-text-primary)}.tooltip-line .value.implicit{color:var(--color-text-secondary)}.mechanic-sub{display:block;font-size:10px;font-style:italic;color:#ffffff59;line-height:1.3;margin-top:1px}.tooltip-title{font-weight:700;font-size:var(--font-size-md);color:var(--color-text-primary)}.tooltip-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.element-physical{color:var(--element-physical)}.element-steel{color:var(--element-steel)}.element-brute{color:var(--element-brute)}.element-finesse{color:var(--element-finesse)}.element-fire{color:var(--element-fire)}.element-water{color:var(--element-water)}.element-lightning{color:var(--element-lightning)}.element-nature{color:var(--element-nature)}.element-wind{color:var(--element-wind)}.element-earth{color:var(--element-earth)}.element-holy{color:var(--element-holy)}.element-dark{color:var(--element-dark)}.element-astral{color:var(--element-astral)}#soulloom-screen-root{width:100%;height:100%}.soulloom-screen{display:flex;flex-direction:column;height:100%;color:var(--color-text-primary);overflow-x:hidden;width:100%;position:relative;background-color:#0a0d18}.soulloom-screen .screen-header{position:absolute;top:0;left:0;right:0;z-index:11;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;padding:12px var(--spacing-lg)}.soulloom-screen .screen-header>*{pointer-events:auto}.soulloom-screen .screen-title{text-shadow:0 2px 6px rgba(0,0,0,.85)}.soulloom-screen .screen-currency{background:#0a0d188c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sf-body{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;container-type:size;background:#0a0d18}.sf-stage{position:relative;width:min(max(100cqw,100cqh * 16 / 9),100cqw * 1.3);aspect-ratio:16 / 9;flex-shrink:0;container-type:size;background-position:center bottom;background-size:cover;background-repeat:no-repeat}.sf-stage-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0d184d,#0a0d188c);pointer-events:none;z-index:0}.hidden{display:none!important}.sf-stage-slot{position:absolute;bottom:17%;width:22%;max-width:260px;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .6s ease-out,opacity .6s ease-out,filter .6s ease-out}.sf-stage-slot--left{left:26%}.sf-stage-slot--right{right:26%}.sf-stage-slot--right .party-portrait-wrap,.sf-stage-slot--right .sf-stage-portrait-img--empty{transform:scaleX(-1)}.sf-stage-slot .unit-portrait--lg{height:45cqh;width:auto;max-width:none;object-fit:contain;object-position:bottom center}.sf-stage-slot .party-info{display:none}.sf-stage-slot--center{left:50%;transform:translate(-50%);width:64%;max-width:620px;height:auto;cursor:default;opacity:0;bottom:70px;top:8px;z-index:5}.sf-stage-slot--center .sf-stage-card--result{position:absolute;top:0;left:0;right:0}.sf-stage-slot--center .sf-stage-portrait{position:absolute;left:0;right:0;bottom:0;top:auto;height:60%;min-height:320px;margin-top:0;width:100%;display:flex;align-items:flex-end;justify-content:center}.sf-stage-slot--center .sf-stage-portrait .unit-portrait--lg{height:60cqh;width:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:bottom center}.sf-stage-slot--center.is-emerging{animation:sf-emerge 1.1s cubic-bezier(.2,.7,.2,1) forwards}@keyframes sf-emerge{0%{opacity:0;transform:translate(-50%) translateY(60px) scale(.5);filter:brightness(2.4) drop-shadow(0 0 20px rgba(168,110,238,.95))}60%{opacity:1;transform:translate(-50%) translateY(-6px) scale(1.05);filter:brightness(1.4) drop-shadow(0 0 16px rgba(168,110,238,.7))}to{opacity:1;transform:translate(-50%) translateY(0) scale(1);filter:none}}.sf-stage-portrait{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-end;overflow:visible}.sf-stage-portrait .unit-portrait{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 16px rgba(0,0,0,.65));transition:transform .2s ease,filter .2s ease}.sf-stage-slot .unit-portrait{filter:drop-shadow(0 8px 16px rgba(0,0,0,.65));transition:transform .2s ease,filter .2s ease}.sf-stage-slot--left.sf-stage-slot--filled:hover .party-portrait-wrap{transform:translateY(-3px)}.sf-stage-slot--right.sf-stage-slot--filled:hover .party-portrait-wrap{transform:scaleX(-1) translateY(-3px)}.sf-stage-slot--filled:hover .unit-portrait{filter:drop-shadow(0 12px 22px rgba(168,110,238,.55))}.sf-stage-portrait-img--empty{height:45cqh;width:auto;max-width:none;object-fit:contain;object-position:bottom center;opacity:.32;transition:opacity .2s ease}.sf-stage-slot--empty:hover .sf-stage-portrait-img--empty{opacity:.55}.sf-side-panel{position:absolute;top:50%;transform:translateY(-50%);width:22%;max-width:240px;padding:10px 12px;background:#0a0d18d1;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;display:flex;flex-direction:column;gap:4px;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease;z-index:4}.sf-side-panel.is-visible{opacity:1}.sf-side-panel--left{left:5%}.sf-side-panel--right{right:5%}.sf-stage-card-name{font-size:13px;font-weight:700;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-stage-card-meta{font-size:11px;color:#ffffff8c}.sf-stage-card-tier{font-weight:700}.sf-stage-card-divider{height:1px;background:#ffffff0f;margin:2px 0}.sf-stage-card-masteries{display:flex;gap:6px;flex-wrap:wrap}.sf-stage-card-affixes{display:flex;flex-direction:column;gap:2px}.sf-stage-card-affixes .affix-line{font-size:11px;line-height:1.35}.sf-stage-card--result{position:static;height:auto;width:100%;max-width:600px;padding:12px 16px;gap:6px;background:#0a0d18e0;border:1px solid rgba(168,110,238,.25);overflow:visible;pointer-events:auto}.sf-summary-section{display:flex;flex-direction:column;gap:6px}.sf-summary-section-label{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#a86eeed9;text-align:center}.sf-summary-inputs{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.sf-summary-input{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#0006;border:1px solid rgba(255,255,255,.06);border-radius:8px;opacity:.75}.sf-summary-input-sprite{width:32px;height:32px;object-fit:contain;object-position:bottom center;filter:grayscale(.4)}.sf-summary-input-text{display:flex;flex-direction:column;gap:1px;line-height:1.15}.sf-summary-input-name{font-size:12px;font-weight:700}.sf-summary-input-meta{font-size:10px;color:#ffffff8c}.sf-summary-input-plus{color:#fff6;font-size:16px;font-weight:700}.sf-summary-divider{height:1px;background:#ffffff1a;margin:4px 0}.sf-summary-divider--soft{background:#ffffff0d;margin:2px 0}.sf-summary-identity{display:flex;flex-direction:column;align-items:center;gap:2px}.sf-summary-name{font-size:24px;font-weight:800;letter-spacing:.02em;line-height:1.1;text-shadow:0 2px 4px rgba(0,0,0,.6)}.sf-summary-meta{font-size:13px;color:#ffffffb3}.sf-summary-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.sf-summary-affixes{flex-direction:column;align-items:stretch;gap:3px}.sf-summary-affixes .affix-line{font-size:12px;text-align:center}.sf-summary-bonus{margin-top:2px;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#f5a623;text-align:center;text-shadow:0 0 8px rgba(245,166,35,.4)}.sf-stage-card--bonus{border-color:#f5a62399;box-shadow:0 0 20px #f5a62333}.sf-mastery-tag{font-size:11px;color:#ffffffb3;background:#ffffff0f;padding:1px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:3px}.sf-stage-slot--left.is-converging{transform:translate(15vw)}.sf-stage-slot--right.is-converging{transform:translate(-15vw)}.sf-stage-slot.is-dissolving{opacity:0;filter:brightness(1.6) blur(6px);transition:opacity .48s ease-in,filter .48s ease-in,transform .48s ease-in}.sf-stage-slot.is-spent{display:none}.sf-basin{position:absolute;left:50%;bottom:44%;transform:translate(-50%);width:14cqw;min-width:96px;max-width:200px;display:flex;align-items:flex-end;justify-content:center;cursor:default;outline:none}.sf-basin-sprite{width:100%;height:auto;display:block;position:relative;z-index:2;filter:drop-shadow(0 6px 14px rgba(0,0,0,.65));transition:transform .2s ease,filter .2s ease}.sf-basin-glow{position:absolute;left:50%;bottom:0;transform:translate(-50%,25%);width:160%;height:160%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(168,110,238,.55) 0%,rgba(168,110,238,.18) 35%,transparent 65%);filter:blur(6px);opacity:0;transition:opacity .4s ease}.sf-basin-flash{position:absolute;left:50%;bottom:0;transform:translate(-50%,25%);width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,255,255,.4) 30%,transparent 60%);pointer-events:none;z-index:4;opacity:0}.sf-basin-flash.is-flashing{animation:sf-basin-flash .28s ease-out forwards}@keyframes sf-basin-flash{0%{opacity:0;transform:translate(-50%,25%) scale(.6)}40%{opacity:1;transform:translate(-50%,25%) scale(1.05)}to{opacity:0;transform:translate(-50%,25%) scale(1.4)}}.sf-basin[data-state=idle] .sf-basin-glow{opacity:.55;animation:sf-basin-pulse-idle 2.6s ease-in-out infinite}.sf-basin[data-state=idle]{cursor:default}.sf-basin[data-state=armed]{cursor:pointer}.sf-basin[data-state=armed] .sf-basin-glow{opacity:1;animation:sf-basin-pulse-armed 1.4s ease-in-out infinite}.sf-basin[data-state=armed]:hover .sf-basin-sprite{transform:translateY(-4px);filter:drop-shadow(0 10px 22px rgba(168,110,238,.7))}.sf-basin[data-state=firing] .sf-basin-glow{opacity:1;animation:sf-basin-pulse-firing .6s ease-in-out infinite}.sf-basin[data-state=firing] .sf-basin-sprite{filter:brightness(1.3) drop-shadow(0 8px 18px rgba(168,110,238,.9))}.sf-basin[data-state=disabled] .sf-basin-sprite{filter:grayscale(.6) brightness(.7)}.sf-basin[data-state=disabled] .sf-basin-glow{opacity:.2}.sf-basin[data-state=spent] .sf-basin-sprite{filter:grayscale(.45) brightness(.7)}.sf-basin[data-state=spent] .sf-basin-glow{opacity:0}@keyframes sf-basin-pulse-idle{0%,to{transform:translate(-50%,25%) scale(1);opacity:.45}50%{transform:translate(-50%,25%) scale(1.06);opacity:.7}}@keyframes sf-basin-pulse-armed{0%,to{transform:translate(-50%,25%) scale(1.05);opacity:.85}50%{transform:translate(-50%,25%) scale(1.18);opacity:1}}@keyframes sf-basin-pulse-firing{0%,to{transform:translate(-50%,25%) scale(1.2);opacity:1}50%{transform:translate(-50%,25%) scale(1.45);opacity:1}}.sf-pair-hint{position:absolute;left:50%;bottom:70%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:4px 10px;background:#0a0d18c7;border:1px solid rgba(168,110,238,.4);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.4px;color:#ffffffd9;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:3}.sf-pair-hint.is-visible{opacity:1}.sf-pair-hint .sf-pair-x{color:#fff6;font-weight:400}.sf-pair-hint .sf-pair-arrow{color:#a86eeed9;font-weight:700;margin:0 2px}.sf-pair-hint .sf-pair-q{color:#a86eeef2;font-weight:800}.sf-result-actions{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:5;opacity:0;transition:opacity .25s ease .4s}.sf-result-actions.is-visible{opacity:1}.sf-done-btn{background:linear-gradient(135deg,#f5a623,#e88d0c);color:var(--color-bg-primary);border:none;border-radius:var(--border-radius);padding:10px 24px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:box-shadow .2s ease;box-shadow:0 0 12px #f5a62333}.sf-done-btn:hover{box-shadow:0 0 22px #f5a62380}.affix-bonus{color:#f5a623!important;text-shadow:0 0 6px rgba(245,166,35,.3)}.sf-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.sf-confirm-overlay.is-visible{pointer-events:auto}.sf-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background .25s ease}.sf-confirm-overlay.is-visible .sf-confirm-backdrop{background:#000000a6}.sf-confirm-panel{position:relative;background:linear-gradient(180deg,#14101a,#0e0c14);border:1px solid rgba(168,110,238,.3);border-radius:12px;width:clamp(300px,88vw,420px);padding:18px 20px;box-shadow:0 12px 40px #000000b3;transform:translateY(20px) scale(.95);opacity:0;transition:transform .25s ease,opacity .25s ease}.sf-confirm-overlay.is-visible .sf-confirm-panel{transform:translateY(0) scale(1);opacity:1}.sf-confirm-title{font-size:16px;font-weight:800;letter-spacing:.02em;color:#e8e0d0;margin-bottom:12px;text-align:center}.sf-confirm-body{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px}.sf-confirm-line{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.sf-confirm-name{font-size:14px;font-weight:700}.sf-confirm-meta{font-size:11px;color:#ffffff8c}.sf-confirm-and{font-size:14px;color:#ffffff73;font-weight:700;margin:2px 0}.sf-confirm-warning{margin-top:10px;font-size:12px;line-height:1.4;color:#ff7878d9;text-align:center;padding:8px 12px;background:#a01e1e1f;border:1px solid rgba(160,30,30,.3);border-radius:6px}.sf-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.sf-confirm-cancel,.sf-confirm-go{padding:8px 16px;border:none;border-radius:6px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.sf-confirm-cancel{background:#ffffff0f;color:#ffffffbf;border:1px solid rgba(255,255,255,.1)}.sf-confirm-cancel:hover{background:#ffffff1a}.sf-confirm-go{background:linear-gradient(135deg,#f5a623,#e88d0c);color:var(--color-bg-primary);box-shadow:0 0 12px #f5a6234d}.sf-confirm-go:hover{box-shadow:0 0 22px #f5a62399;transform:translateY(-1px)}@media (max-width: 720px){.sf-stage{min-height:480px}.sf-side-panel{top:auto;bottom:8px;width:47%;max-width:none;transform:none;padding:6px 8px;font-size:11px}.sf-side-panel--left{left:1.5%}.sf-side-panel--right{right:1.5%}.sf-side-panel .sf-stage-card-affixes .affix-line{font-size:10px}.sf-side-panel .sf-stage-card-name{font-size:12px}.sf-side-panel .sf-stage-card-meta{font-size:10px}.sf-stage-slot{width:28%;max-width:200px;bottom:130px;height:60%}.sf-stage-slot--left{left:12%}.sf-stage-slot--right{right:12%}.sf-basin{width:18%;min-width:84px;bottom:56%}.sf-stage-slot--left.is-converging{transform:translate(10vw)}.sf-stage-slot--right.is-converging{transform:translate(-10vw)}.sf-stage-slot--center{width:92%;max-width:none;bottom:70px}.sf-stage-slot--center .sf-stage-portrait{min-height:220px}.sf-stage-card--result{padding:10px 12px}.sf-summary-name{font-size:18px}.sf-summary-meta{font-size:12px}.sf-summary-input-sprite{width:28px;height:28px}.sf-summary-input-name{font-size:11px}.sf-summary-input-meta{font-size:9px}.sf-summary-affixes .affix-line{font-size:11px}}.discord-mobile .sf-stage-slot{width:34%}.discord-mobile .sf-basin{min-width:84px}#crafting-screen-root{width:100%;height:100%}.crafting-screen{display:flex;flex-direction:column;height:100%;color:var(--color-text-primary);overflow:hidden;position:relative;background-color:#0a0d18}.ws-body{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;container-type:size;position:relative}.ws-stage{position:relative;width:min(max(100cqw,100cqh * 16 / 9),100cqw * 1.3);aspect-ratio:16 / 9;flex-shrink:0;container-type:size}.ws-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center bottom / cover no-repeat;z-index:0;pointer-events:none}.ws-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0d184d,#0a0d188c);z-index:0;pointer-events:none}.workshop-screen .screen-header{position:absolute;top:0;left:0;right:0;z-index:11;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;padding:12px var(--spacing-lg)}.workshop-screen .screen-header>*{pointer-events:auto}.workshop-screen .screen-title{text-shadow:0 2px 8px rgba(0,0,0,.85)}.workshop-screen .screen-currency{background:#0a0d188c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ws-chest{position:absolute;right:17%;bottom:7%;height:30cqh;aspect-ratio:1889 / 1555;cursor:pointer;outline:none;z-index:2;display:block}.ws-chest-sprite{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block;position:relative;z-index:2;filter:drop-shadow(0 12px 28px rgba(0,0,0,.7));transition:transform .2s ease,filter .2s ease}.ws-chest:hover .ws-chest-sprite{transform:translateY(-3px);filter:drop-shadow(0 16px 32px rgba(245,200,110,.5))}.ws-chest:focus-visible .ws-chest-sprite{filter:drop-shadow(0 0 18px rgba(var(--color-accent-rgb),.7))}.ws-chest-glow{position:absolute;left:50%;bottom:0;transform:translate(-50%,30%);width:130%;height:50%;pointer-events:none;z-index:1;background:radial-gradient(ellipse,rgba(245,200,110,.32) 0%,rgba(245,200,110,.1) 35%,transparent 65%);filter:blur(10px);opacity:0;transition:opacity .3s ease}.ws-chest:hover .ws-chest-glow{opacity:1}.ws-strand-zone{position:absolute;bottom:9%;left:13%;width:24%;display:flex;flex-direction:column;align-items:center;gap:28px;z-index:3;pointer-events:auto}.ws-equip-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:320px}.ws-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 6px;border-radius:8px;background:#14100cd9;border:1px solid rgba(255,255,255,.1);border-bottom:2px solid var(--rarity-color, rgba(255, 255, 255, .1));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000008c;min-height:96px;transition:border-color .15s ease,background .15s ease}.ws-chip img{width:64px;height:64px;display:block}.ws-chip--filled{cursor:pointer}.ws-chip--filled:hover{border-color:#fff0c866;background:#1c1610eb}.ws-chip--empty{cursor:pointer}.ws-chip--empty:hover{border-color:#fff0c859;background:#1c1610eb}.ws-chip--empty:hover .ws-chip-empty-label{color:#fff0c8d9}.ws-chip:active{transform:translateY(1px) scale(.98);transition:transform 60ms ease,border-color .15s ease,background .15s ease}.ws-chip-empty-label{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#ffffff8c}.ws-strand-slot{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:36px}.ws-strand-slot .party-member--workshop .unit-portrait--lg{height:45cqh;max-width:none;width:auto;object-fit:contain;object-position:bottom center}.ws-strand-slot .party-swap-label{display:none}.ws-workbench{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30%;min-width:300px;max-width:380px;max-height:86%;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1410f5,#100c08f5);border:1px solid rgba(200,168,110,.22);border-top:2px solid rgba(200,168,110,.5);border-radius:8px;box-shadow:0 16px 40px #000000a6,inset 0 1px #fff0c80d;z-index:4;overflow:hidden;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ws-workbench.hidden{display:none}.ws-workbench-content{display:flex;flex-direction:column;gap:12px;padding:14px;overflow:hidden;min-height:0;flex:1 1 auto}.ws-workbench-content>.craft-item-card{flex:0 0 auto}.ws-workbench-content>.ws-workbench-section{flex:1 1 auto;min-height:0}.ws-workbench-section{display:flex;flex-direction:column;gap:8px}.ws-workbench-section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c8a86eb3;border-bottom:1px solid rgba(200,168,110,.18);padding-bottom:4px}.craft-item-card{position:relative;background:#00000059;border:1px solid rgba(255,255,255,.06);border-radius:var(--border-radius);padding:12px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .3s ease,border-color .3s ease}.craft-item-card.craft-flash{animation:craft-flash-anim .6s ease-out}@keyframes craft-flash-anim{0%{box-shadow:0 0 #a855f700}30%{box-shadow:0 0 18px #a855f780;border-color:#a855f799}to{box-shadow:0 0 #a855f700}}.craft-item-header{display:flex;align-items:center;gap:10px}.craft-item-icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:2px solid rgba(255,255,255,.08);border-radius:6px}.craft-item-icon img{display:block}.craft-item-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.craft-item-name{font-size:15px;font-weight:700;line-height:1.15}.craft-item-subtitle{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff73}.craft-affix-list{display:flex;flex-direction:column;gap:3px}.craft-affix-line{display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:4px;font-size:13px;line-height:1.3}.craft-affix-value{flex:1}.craft-affix-implicit{background:#ffffff05;color:#ffffff80;font-style:italic}.craft-affix-prefix{background:#88bbff14}.craft-affix-prefix .craft-affix-value{color:#8bf}.craft-affix-suffix{background:#88ffcc14}.craft-affix-suffix .craft-affix-value{color:#8fc}.craft-affix-separator{height:1px;background:#ffffff14;margin:3px 0}.craft-affix-empty{font-size:12px;color:#ffffff4d;text-align:center;padding:8px;font-style:italic}.craft-ops-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.craft-ops-empty{grid-column:1 / -1;font-size:12px;color:#ffffff59;text-align:center;padding:12px;font-style:italic}.craft-op-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius);cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform .1s ease;font-family:inherit;color:var(--color-text-primary);min-height:88px}.craft-op-btn:not(.disabled):hover{background:#c8a86e1a;border-color:#c8a86e73;box-shadow:0 0 12px #c8a86e33}.craft-op-btn:not(.disabled):active{transform:scale(.98)}.craft-op-btn.disabled{opacity:.45;cursor:not-allowed}.craft-op-label{font-size:13px;font-weight:700;letter-spacing:.02em}.craft-op-desc{font-size:10px;color:#ffffff73;text-align:center;line-height:1.3}.craft-op-cost{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;margin-top:auto;font-variant-numeric:tabular-nums}.craft-op-equip{width:100%;display:flex;align-items:center;justify-content:center;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;font-family:inherit;color:#e8e0d0eb;background:#c8a86e14;border:1px solid rgba(200,168,110,.3);border-radius:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.craft-op-equip:hover{background:#c8a86e29;border-color:#c8a86e8c;color:#fff0c8}.craft-op-equip:active{transform:scale(.99)}.item-picker-grid{display:flex;flex-direction:column;gap:14px}.ip-group{display:flex;flex-direction:column;gap:8px}.ip-group-header{display:flex;align-items:baseline;gap:6px;padding:0 4px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.ip-group-name{font-size:13px;font-weight:700}.ip-group-class{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:.4px}.ip-group-count{margin-left:auto;font-size:11px;color:#ffffff59;font-variant-numeric:tabular-nums}.ip-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.ip-card{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--border-radius);border:1px solid var(--color-card-border);border-left:3px solid var(--rarity-color, var(--color-card-border));background:var(--color-card-bg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.ip-card:hover{background:var(--color-card-bg-hover);border-color:#fff3;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ip-card:active{transform:scale(.98)}.ip-card--selected{background:rgba(var(--color-accent-rgb),.12);border-color:var(--color-accent);box-shadow:0 0 8px rgba(var(--color-accent-rgb),.25)}.ip-card--unequippable{background:#ff44440f;border-color:#ff44444d;opacity:.7}.ip-card--unequippable:hover{background:#ff44441a;border-color:#ff444473}.ip-card-reason{color:#ff6464d9!important;text-transform:none!important;letter-spacing:0!important;font-weight:600}.ip-card-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.ip-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.2}.ip-card-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ip-card-meta{font-size:11px;color:#ffffff73;text-transform:uppercase;letter-spacing:.4px}.ip-empty{text-align:center;font-size:13px;color:#ffffff59;padding:24px 12px}@media (max-width: 767px){.ws-stage{width:100%;aspect-ratio:auto;height:100%;display:flex;flex-direction:column;overflow-y:auto;padding:12px;gap:12px}.ws-strand-zone{position:static;width:100%;max-width:none;flex-direction:column;align-items:center;gap:24px}.ws-equip-chips{grid-template-columns:repeat(4,1fr);width:100%;max-width:320px}.ws-strand-slot{align-items:center;padding-bottom:30px}.ws-strand-slot .party-member--workshop .unit-portrait--lg{height:180px}.ws-workbench{position:static;transform:none;width:100%;max-width:none;max-height:none;margin-top:12px}}.ws-workbench-section--dye{gap:10px;display:flex;flex-direction:column;min-height:0}.ws-dye-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(200,168,110,.18)}.ws-dye-back{flex-shrink:0;background:#c8a86e1a;border:1px solid rgba(200,168,110,.3);color:#f0e6d4f2;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:4px;cursor:pointer;transition:background .12s ease,color .12s ease}.ws-dye-back:hover{background:#c8a86e38;color:#fff}.ws-dye-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.ws-dye-title{font-size:12px;font-weight:700;color:#c8a86ed9;letter-spacing:.1em;text-transform:uppercase}.ws-dye-sub{font-size:11px;color:#ffffff80}.ws-dye-rows{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px;mask-image:linear-gradient(180deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%)}.ws-dye-empty{font-size:12px;color:#fff6;font-style:italic;text-align:center;padding:24px 12px}.ws-dye-row{display:flex;flex-direction:column;gap:8px;background:#0000004d;border:1px solid rgba(255,255,255,.06);border-left:3px solid var(--dye-hex);border-radius:6px;padding:9px 10px 9px 12px}.ws-dye-row-head{display:flex;align-items:center;gap:10px}.ws-dye-icon-wrap{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--dye-hex) 50%,transparent))}.ws-dye-icon-wrap .dye-icon{width:100%;height:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.ws-dye-row-info{flex-grow:1;min-width:0}.ws-dye-row-name-line{display:flex;align-items:center;gap:6px}.ws-dye-row-name{font-size:13px;font-weight:700;color:#f0e6d4;letter-spacing:.02em}.ws-dye-row-effect{font-size:11px;color:#ffffff8c;line-height:1.3}.ws-dye-affix-pin{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;border:1px solid transparent;cursor:help;-webkit-user-select:none;user-select:none}.ws-dye-affix-pin--prefix{background:#c8a86e2e;border-color:#c8a86e80;color:#f0dcaaf2}.ws-dye-affix-pin--suffix{background:#64a5dc2e;border-color:#64a5dc80;color:#b4d7f5f2}.ws-dye-row-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ws-dye-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:6px 4px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;min-height:56px;color:inherit}.ws-dye-chip:hover:not(:disabled){background:color-mix(in srgb,var(--dye-hex) 18%,rgba(0,0,0,.4));border-color:var(--dye-hex);transform:translateY(-1px)}.ws-dye-chip:active:not(:disabled){transform:translateY(0)}.ws-dye-chip-tier{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.ws-dye-chip-range{font-size:12px;font-weight:700;color:#f0e6d4;line-height:1.1;white-space:nowrap}.ws-dye-chip-count{font-size:10px;font-weight:600;color:#ffffff80}.ws-dye-chip--empty{opacity:.3;cursor:not-allowed}.ws-dye-chip--empty .ws-dye-chip-range,.ws-dye-chip--empty .ws-dye-chip-count{color:#ffffff4d}#shop-screen-root{width:100%;height:100%}.shop-screen{position:relative;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:#0a0d18}.shop-screen .screen-header{position:absolute;top:0;left:0;right:0;z-index:11;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;padding:12px var(--spacing-lg);gap:var(--spacing-md)}.shop-screen .screen-header>*{pointer-events:auto}.shop-screen .screen-title{text-shadow:0 1px 4px rgba(0,0,0,.95)}.shop-body{flex:1;min-height:0;position:relative;z-index:1;display:flex;flex-direction:column;overflow:hidden}.shop-stage-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;container-type:size}.shop-stage{position:relative;width:min(max(100cqw,100cqh * 16 / 9),100cqw * 1.3);aspect-ratio:16 / 9;flex-shrink:0;container-type:size}.shop-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:center bottom / cover no-repeat;z-index:0}.shop-event-tint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 50% 35%,color-mix(in srgb,var(--event-accent, transparent) 22%,transparent) 0%,transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--event-accent, transparent) 12%,transparent) 0%,transparent 30%,transparent 70%,color-mix(in srgb,var(--event-accent, transparent) 8%,transparent) 100%);mix-blend-mode:screen}.shop-spotlights{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 13% 22% at 18% 60%,rgba(0,0,0,.55) 0%,rgba(0,0,0,.22) 55%,transparent 85%),radial-gradient(ellipse 14% 24% at 40% 55%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.26) 55%,transparent 85%),radial-gradient(ellipse 13% 22% at 62% 60%,rgba(0,0,0,.55) 0%,rgba(0,0,0,.22) 55%,transparent 85%)}.shop-pedestal-prop{position:absolute;bottom:8%;height:13cqh;width:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.7));object-fit:contain;object-position:bottom center}.shop-pedestal-prop--left{left:18%;transform:translate(-50%)}.shop-pedestal-prop--center{left:40%;transform:translate(-50%) scale(1.15);transform-origin:bottom center;z-index:3;filter:drop-shadow(0 14px 22px rgba(0,0,0,.75));bottom:7%}.shop-pedestal-prop--right{left:62%;transform:translate(-50%)}.shop-alcove{position:absolute;bottom:17%;width:22cqw;display:flex;flex-direction:column;align-items:center;z-index:5;pointer-events:auto;cursor:pointer;outline:none;container-type:inline-size;transition:transform .2s ease}.shop-alcove:not(.shop-alcove--empty):not(.shop-alcove--sold):not(.shop-alcove--unaffordable):hover .shop-alcove-sprite{transform:scale(1.06) translateY(-1.5%);--hover-brightness: 1.06}.shop-alcove--right:not(.shop-alcove--empty):not(.shop-alcove--sold):not(.shop-alcove--unaffordable):hover .shop-alcove-sprite{transform:scaleX(-1.06) scaleY(1.06) translateY(-1.5%)}.shop-alcove--unaffordable:not(.shop-alcove--empty):not(.shop-alcove--sold):hover .shop-alcove-sprite{transform:scale(1.06) translateY(-1.5%)}.shop-alcove--right.shop-alcove--unaffordable:not(.shop-alcove--empty):not(.shop-alcove--sold):hover .shop-alcove-sprite{transform:scaleX(-1.06) scaleY(1.06) translateY(-1.5%)}.shop-alcove:not(.shop-alcove--empty):not(.shop-alcove--sold):hover .shop-alcove-plaque-inner{transform:translateY(-2px);box-shadow:0 8px 18px #000000a6,0 0 28px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent),inset 0 1px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,rgba(255,255,255,.12))}.shop-alcove--unaffordable:not(.shop-alcove--empty):not(.shop-alcove--sold):hover .shop-alcove-plaque-inner{border-color:#ff5f5f8c;box-shadow:0 8px 18px #000000a6,0 0 24px #ff5f5f59,inset 0 1px #ff5f5f33;animation:none}.shop-alcove--unaffordable:not(.shop-alcove--empty):not(.shop-alcove--sold):hover .shop-alcove-price.too-expensive{text-shadow:0 0 8px rgba(255,95,95,.7)}.shop-alcove:focus-visible{outline:2px solid color-mix(in srgb,var(--event-accent, #c8a86e) 70%,white);outline-offset:6px;border-radius:8px}.shop-alcove--sold{cursor:default}.shop-alcove--sold .shop-alcove-sprite{opacity:.45}.shop-alcove--left{left:18%;transform:translate(-50%)}.shop-alcove--center{left:40%;transform:translate(-50%);z-index:6}.shop-alcove--right{left:62%;transform:translate(-50%)}.shop-alcove-sprite-slot{width:100%;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.shop-alcove-sprite{height:calc(44cqh * var(--sprite-scale, 1));width:auto;max-width:100%;object-fit:contain;object-position:bottom center;--hover-brightness: 1;filter:drop-shadow(0 0 4px rgba(0,0,0,.85)) drop-shadow(0 0 28px color-mix(in srgb,var(--event-accent, #c8a86e) 60%,transparent)) drop-shadow(0 12px 18px rgba(0,0,0,.65)) brightness(var(--hover-brightness));transition:filter .2s ease,transform .2s ease}.shop-alcove--center .shop-alcove-sprite{height:calc(52cqh * var(--sprite-scale, 1));filter:drop-shadow(0 0 4px rgba(0,0,0,.85)) drop-shadow(0 0 38px color-mix(in srgb,var(--event-accent, #c8a86e) 75%,transparent)) drop-shadow(0 14px 20px rgba(0,0,0,.7)) brightness(var(--hover-brightness))}.shop-alcove--right .shop-alcove-sprite{transform:scaleX(-1)}.shop-alcove--empty .shop-alcove-sprite-slot:after{content:"";display:block;width:60%;aspect-ratio:1 / 2;background:#ffffff0a;border:1px dashed rgba(255,255,255,.15);border-radius:6px}.shop-alcove-plaque{position:absolute;bottom:calc(100% + 4cqh);left:50%;transform:translate(-50%);z-index:6;pointer-events:none;width:max-content;max-width:240%;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .2s ease,box-shadow .2s ease}.shop-alcove-plaque.hidden{display:none}.shop-alcove-plaque-inner{display:inline-flex;align-items:center;gap:8px;padding:4px 8px 4px 10px;background:linear-gradient(180deg,#0e0a16eb,#08060ef0);border:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent);border-radius:6px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 16px #0009,0 0 14px color-mix(in srgb,var(--event-accent, #c8a86e) 22%,transparent),inset 0 1px color-mix(in srgb,var(--event-accent, #c8a86e) 30%,rgba(255,255,255,.06));white-space:nowrap;animation:alcove-plaque-halo 4s ease-in-out infinite}@keyframes alcove-plaque-halo{0%,to{box-shadow:0 6px 16px #0009,0 0 14px color-mix(in srgb,var(--event-accent, #c8a86e) 22%,transparent),inset 0 1px color-mix(in srgb,var(--event-accent, #c8a86e) 30%,rgba(255,255,255,.06))}50%{box-shadow:0 6px 18px #0009,0 0 24px color-mix(in srgb,var(--event-accent, #c8a86e) 38%,transparent),inset 0 1px color-mix(in srgb,var(--event-accent, #c8a86e) 42%,rgba(255,255,255,.1))}}.shop-alcove--center .shop-alcove-plaque-inner{animation-delay:1s}.shop-alcove--right .shop-alcove-plaque-inner{animation-delay:2s}.shop-alcove-plaque-inner.is-sold{opacity:.55;filter:grayscale(.35);animation:none}.shop-alcove-type{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:color-mix(in srgb,var(--event-accent, #c8a86e) 55%,white);line-height:1;flex-shrink:0}.shop-alcove-name{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.04em;color:#f6efe2;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.85);flex-shrink:0}.shop-alcove-price{font-family:var(--font-display);font-size:12px;font-weight:700;color:#ffd66e;letter-spacing:.04em;padding:2px 6px;border-left:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 35%,transparent);margin-left:2px}.shop-alcove-price.too-expensive{color:#ff6464d9}.shop-alcove-price-suffix{font-size:9px;margin-left:1px;opacity:.85}.shop-alcove-sold{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#ffffff8c;text-transform:uppercase;padding:2px 8px}.shop-alcove-plaque-inner.just-sold .shop-alcove-sold{animation:shop-sold-pop .6s cubic-bezier(.34,1.6,.64,1);display:inline-block}.shop-alcove-plaque-inner.just-sold{animation:shop-plaque-flash .7s ease-out}@keyframes shop-plaque-flash{0%{box-shadow:0 6px 16px #0009,0 0 14px color-mix(in srgb,var(--event-accent, #c8a86e) 22%,transparent)}30%{box-shadow:0 6px 22px #0009,0 0 38px color-mix(in srgb,var(--event-accent, #c8a86e) 75%,transparent),inset 0 0 16px color-mix(in srgb,var(--event-accent, #c8a86e) 30%,transparent)}to{box-shadow:0 6px 16px #0009,0 0 14px color-mix(in srgb,var(--event-accent, #c8a86e) 22%,transparent)}}@keyframes shop-sold-pop{0%{opacity:0;transform:scale(1.6);color:#ffe590;text-shadow:0 0 16px rgba(255,220,120,.9)}60%{opacity:1;transform:scale(1);color:#ffe590;text-shadow:0 0 10px rgba(255,220,120,.5)}to{opacity:1;transform:scale(1)}}.shop-bundle-banner{position:absolute;left:50%;top:12%;transform:translate(-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 14px;pointer-events:none;text-align:center;white-space:nowrap}.shop-bundle-banner.hidden{display:none}.shop-bundle-banner:before{content:"";position:absolute;top:-6px;right:-8%;bottom:-6px;left:-8%;background:linear-gradient(180deg,#08060ed9,#08060ef2,#08060ed9);border-top:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 40%,transparent);border-bottom:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 40%,transparent);box-shadow:0 4px 16px #0009;pointer-events:none;z-index:-1}.shop-bundle-banner-tagline{font-size:clamp(10px,1cqw,13px);font-weight:800;text-transform:uppercase;letter-spacing:3px;color:var(--event-accent, #c8a86e);text-shadow:0 0 12px color-mix(in srgb,var(--event-accent, #c8a86e) 60%,transparent)}.shop-bundle-banner-tag{font-size:clamp(9px,.85cqw,11px);font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--event-accent, #c8a86e);text-shadow:0 0 10px color-mix(in srgb,var(--event-accent, #c8a86e) 80%,transparent);padding:3px 12px;border:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent);border-radius:2px;background:linear-gradient(180deg,color-mix(in srgb,var(--event-accent, #c8a86e) 8%,rgba(0,0,0,.6)),#000000b3);margin-bottom:6px}.shop-bundle-banner-title{position:relative;font-family:var(--font-display);font-size:clamp(28px,3.4cqw,44px);font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:0 .5em;line-height:1.05;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--event-accent, #f0d488) 35%,#f0d488) 70%,color-mix(in srgb,var(--event-accent, #b88c3d) 30%,#b88c3d));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shop-bundle-pulse 3.4s ease-in-out infinite}.shop-bundle-banner-title:before,.shop-bundle-banner-title:after{content:"";position:absolute;top:50%;width:22%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--event-accent, #c8a86e) 70%,transparent),transparent)}.shop-bundle-banner-title:before{right:100%}.shop-bundle-banner-title:after{left:100%}@keyframes shop-bundle-pulse{0%,to{filter:drop-shadow(0 3px 8px rgba(0,0,0,1)) drop-shadow(0 0 14px color-mix(in srgb,var(--event-accent, #c8a86e) 60%,transparent))}50%{filter:drop-shadow(0 3px 8px rgba(0,0,0,1)) drop-shadow(0 0 22px color-mix(in srgb,var(--event-accent, #c8a86e) 90%,transparent))}}.shop-bundle-banner-subtitle{font-size:clamp(10px,1cqw,13px);font-style:italic;font-weight:500;color:#ffffffc7;letter-spacing:.06em;margin:4px 0 0;text-shadow:0 1px 4px rgba(0,0,0,.95);max-width:38ch;white-space:normal}.shop-bundle-banner-meta{display:flex;align-items:center;justify-content:center;gap:6px}.shop-bundle-banner-classrace{font-size:10px;font-weight:600;color:#ffffffd9;letter-spacing:.4px;text-shadow:0 1px 3px rgba(0,0,0,.95)}.shop-bundle-banner-defenses{display:flex;gap:3px}.shop-bundle-banner-defense{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;padding:1px 5px;border-radius:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--event-accent, #c8a86e) 18%,rgba(0,0,0,.6)),#0009);border:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 40%,transparent);color:#ffffffeb;line-height:1.25}.shop-keeper{position:absolute;left:80%;bottom:8%;transform:translate(-50%);height:52cqh;aspect-ratio:360 / 1024;cursor:pointer;outline:none;z-index:4;pointer-events:auto;display:block}.shop-keeper-sprite{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block;position:relative;z-index:2;filter:drop-shadow(0 6px 14px rgba(0,0,0,.7));transform:scaleX(-1);transition:transform .2s ease,filter .2s ease}.shop-keeper:hover .shop-keeper-sprite{transform:scaleX(-1.06) scaleY(1.06) translateY(-1.5%);filter:drop-shadow(0 6px 14px rgba(0,0,0,.7)) drop-shadow(0 10px 20px rgba(245,200,110,.5))}.shop-keeper:focus-visible .shop-keeper-sprite{filter:drop-shadow(0 0 16px rgba(var(--color-accent-rgb, 200, 168, 110),.7))}.shop-keeper-glow{position:absolute;left:50%;bottom:0;transform:translate(-50%,30%);width:110%;height:35%;pointer-events:none;z-index:1;background:radial-gradient(ellipse,rgba(245,200,110,.28) 0%,rgba(245,200,110,.1) 35%,transparent 65%);filter:blur(8px);opacity:0;transition:opacity .3s ease;animation:shop-keeper-pulse 3.4s ease-in-out infinite}.shop-keeper:hover .shop-keeper-glow{opacity:1}@keyframes shop-keeper-pulse{0%,to{opacity:.25}50%{opacity:.55}}.shop-keeper-plaque{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:5;pointer-events:none;display:inline-flex;align-items:center;gap:7px;padding:4px 9px 4px 10px;background:linear-gradient(180deg,#0e0a16eb,#08060ef0);border:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent);border-radius:6px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 16px #0009,0 0 14px color-mix(in srgb,var(--event-accent, #c8a86e) 22%,transparent),inset 0 1px color-mix(in srgb,var(--event-accent, #c8a86e) 30%,rgba(255,255,255,.06));white-space:nowrap;animation:alcove-plaque-halo 4s ease-in-out infinite;animation-delay:.5s;transition:transform .2s ease,box-shadow .2s ease}.shop-keeper-plaque-label{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.06em;color:#f6efe2;line-height:1;text-shadow:0 1px 4px rgba(0,0,0,.85);text-transform:uppercase;transform:translateY(2px)}.shop-keeper-plaque-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 7px;font-size:11px;font-weight:800;color:#fffffff2;background:#0000008c;border:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 35%,transparent);border-radius:999px;line-height:1}.shop-keeper-plaque-count.hidden{display:none}.shop-keeper:hover .shop-keeper-plaque{transform:translate(-50%) translateY(-2px);box-shadow:0 8px 18px #000000a6,0 0 28px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent),inset 0 1px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,rgba(255,255,255,.12))}.shop-keeper--empty .shop-keeper-sprite{filter:grayscale(.5) brightness(.7)}.shop-keeper--empty .shop-keeper-plaque{display:none}.shop-featured-empty{position:absolute;left:50%;top:30%;transform:translate(-50%);padding:12px 22px;background:linear-gradient(180deg,#0e0a16e6,#08060ee6);border:1px solid rgba(255,255,255,.08);border-radius:8px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.06em;color:#fff9;text-shadow:0 1px 4px rgba(0,0,0,.85);text-align:center;z-index:4;pointer-events:none}.shop-featured-empty.hidden{display:none}.shop-burst-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;overflow:visible}.shop-alcove-sprite.shop-claimed{animation:shop-alcove-claim .95s cubic-bezier(.2,.7,.3,1.4)}.shop-alcove--right .shop-alcove-sprite.shop-claimed{animation:shop-alcove-claim-mirrored .95s cubic-bezier(.2,.7,.3,1.4)}@keyframes shop-alcove-claim{0%{transform:translateY(0) scale(1);filter:brightness(1) drop-shadow(0 0 18px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}18%{transform:translateY(-3%) scale(1.08);filter:brightness(1.55) drop-shadow(0 0 50px rgba(255,220,130,.95)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}60%{transform:translateY(-1%) scale(1.03);filter:brightness(1.18) drop-shadow(0 0 30px rgba(255,220,130,.6)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}to{transform:translateY(0) scale(1);filter:brightness(1) drop-shadow(0 0 18px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}}@keyframes shop-alcove-claim-mirrored{0%{transform:translateY(0) scaleX(-1) scaleY(1);filter:brightness(1) drop-shadow(0 0 18px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}18%{transform:translateY(-3%) scaleX(-1.08) scaleY(1.08);filter:brightness(1.55) drop-shadow(0 0 50px rgba(255,220,130,.95)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}60%{transform:translateY(-1%) scaleX(-1.03) scaleY(1.03);filter:brightness(1.18) drop-shadow(0 0 30px rgba(255,220,130,.6)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}to{transform:translateY(0) scaleX(-1) scaleY(1);filter:brightness(1) drop-shadow(0 0 18px color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent)) drop-shadow(0 8px 14px rgba(0,0,0,.55))}}.shop-burst-ring{position:absolute;width:0;height:0;border-radius:50%;border:4px solid rgba(255,220,130,.95);box-shadow:0 0 60px #ffdc82b3,inset 0 0 28px #ffdc8280;transform:translate(-50%,-50%);animation:shop-burst-ring .85s cubic-bezier(.2,.6,.3,1) forwards;pointer-events:none}@keyframes shop-burst-ring{0%{width:0;height:0;opacity:0;border-width:6px}10%{width:60px;height:60px;opacity:1;border-width:6px}60%{opacity:.85;border-width:3px}to{width:360px;height:360px;opacity:0;border-width:1px}}.shop-spark{--shop-spark-angle: 0deg;--shop-spark-distance: 180px;position:absolute;width:3px;height:18px;background:linear-gradient(180deg,transparent 0%,rgba(255,220,140,0) 5%,rgba(255,235,170,1) 55%,rgba(255,255,230,1) 75%,transparent 100%);border-radius:2px;transform-origin:center center;animation:shop-spark-burst .72s ease-out forwards;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,220,130,.9))}@keyframes shop-spark-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--shop-spark-angle)) translateY(0) scale(.4)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--shop-spark-angle)) translateY(-30%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--shop-spark-angle)) translateY(calc(-1 * var(--shop-spark-distance))) scale(.9)}}.shop-acquired-ribbon{position:absolute;transform:translate(-50%);font-family:var(--font-display);font-size:clamp(20px,2.6cqw,32px);font-weight:900;letter-spacing:.18em;color:#ffe9a8;text-shadow:0 0 22px rgba(255,220,130,.95),0 0 6px rgba(255,220,130,.65),0 4px 12px rgba(0,0,0,.95);text-transform:uppercase;white-space:nowrap;animation:shop-acquired-rise 1.45s cubic-bezier(.2,.7,.3,1.2) forwards;pointer-events:none;z-index:9}@keyframes shop-acquired-rise{0%{opacity:0;transform:translate(-50%,30px) scale(.55)}18%{opacity:1;transform:translate(-50%) scale(1.12)}35%{opacity:1;transform:translate(-50%,-8px) scale(1)}70%{opacity:1;transform:translate(-50%,-28px) scale(1)}to{opacity:0;transform:translate(-50%,-68px) scale(.92)}}.shop-wares-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;margin-left:8px;font-size:11px;font-weight:800;color:#fffffff2;background:#0000008c;border:1px solid color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent);border-radius:999px;vertical-align:middle}.shop-wares-count.hidden{display:none}.shop-wares-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:14px 16px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent) transparent}.shop-wares-grid::-webkit-scrollbar{width:6px}.shop-wares-grid::-webkit-scrollbar-track{background:transparent}.shop-wares-grid::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--event-accent, #c8a86e) 50%,transparent);border-radius:999px}.shop-wares-empty{align-self:center;margin:30px auto;padding:30px 26px;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffdca0b3;text-align:center}.shop-wares-empty.hidden{display:none}.shop-ware-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;background:linear-gradient(180deg,#1c140eeb,#0e0a06f5);border:1px solid var(--rarity-color, rgba(255, 255, 255, .18));border-radius:8px;cursor:pointer;font-family:inherit;color:inherit;text-align:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff0d}.shop-ware-tile:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 22px #000000b3,0 0 22px color-mix(in srgb,var(--rarity-color, white) 55%,transparent),inset 0 1px #ffffff1a;border-color:var(--rarity-color, rgba(255, 255, 255, .4))}.shop-ware-tile:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.35)}.shop-ware-tile-icon{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#0000008c;border:1px solid rgba(255,255,255,.08);border-radius:6px}.shop-ware-tile-icon img{max-width:80%;max-height:80%;object-fit:contain;pointer-events:none}.shop-ware-tile-level{position:absolute;top:2px;right:4px;font-size:9px;font-weight:700;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.95);line-height:1}.shop-ware-tile-name{font-size:11px;font-weight:600;color:var(--rarity-color, #e8e8e8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:1.2}.shop-ware-tile-price{font-family:var(--font-display);font-size:13px;font-weight:700;color:#ffd66e;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.95)}.shop-ware-tile-price.too-expensive{color:#ff6464d9}.shop-ware-tile-price-suffix{font-size:10px;margin-left:1px;opacity:.85}.shop-ware-tile.just-sold{animation:shop-ware-claim .65s cubic-bezier(.34,1.4,.64,1) forwards;pointer-events:none;z-index:5}@keyframes shop-ware-claim{0%{transform:scale(1);filter:brightness(1);box-shadow:0 4px 12px #00000080,0 0 0 0 transparent}25%{transform:scale(1.18);filter:brightness(1.7) saturate(1.45);box-shadow:0 4px 18px #000000b3,0 0 32px var(--rarity-color, #ffd66e),0 0 14px #ffdc82d9}to{transform:scale(.6);opacity:0;filter:brightness(1.6)}}.shop-ware-ring{--ware-ring-color: #ffd66e;position:absolute;width:0;height:0;border-radius:50%;border:3px solid var(--ware-ring-color);box-shadow:0 0 28px var(--ware-ring-color),inset 0 0 12px var(--ware-ring-color);transform:translate(-50%,-50%);animation:shop-ware-ring .65s cubic-bezier(.2,.6,.3,1) forwards;pointer-events:none;z-index:6;opacity:.95}@keyframes shop-ware-ring{0%{width:0;height:0;opacity:0;border-width:4px}10%{width:30px;height:30px;opacity:1;border-width:4px}to{width:180px;height:180px;opacity:0;border-width:1px}}.shop-ware-floater{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.18em;color:#ffe9a8;text-shadow:0 0 14px rgba(255,220,130,.85),0 2px 6px rgba(0,0,0,.95);text-transform:uppercase;pointer-events:none;white-space:nowrap;animation:shop-ware-floater .85s cubic-bezier(.2,.7,.3,1.1) forwards;z-index:7}@keyframes shop-ware-floater{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(-50%,-90%) scale(1.1)}60%{opacity:1;transform:translate(-50%,-130%) scale(1)}to{opacity:0;transform:translate(-50%,-180%) scale(.95)}}.shop-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-size:14px;z-index:5;pointer-events:none}.shop-loading.hidden{display:none}@media (max-width: 767px){.shop-screen .screen-header{flex-wrap:wrap;gap:8px}.shop-alcove{width:22cqw}.shop-alcove-sprite{height:calc(32cqh * var(--sprite-scale, 1))}.shop-alcove--center .shop-alcove-sprite{height:calc(38cqh * var(--sprite-scale, 1))}.shop-keeper{height:38cqh;left:88%}.shop-bundle-banner{top:4%}.shop-bundle-banner-title{font-size:clamp(20px,4cqw,30px)}.shop-wares-overlay .roster-overlay-panel{width:100%}.shop-wares-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px;padding:10px 12px 24px}.shop-ware-tile{padding:10px 6px 8px}.shop-ware-tile-icon{width:52px;height:52px}.shop-ware-tile-name{font-size:10px}.shop-ware-tile-price{font-size:12px}}.shop-stage[data-event-bg] .shop-pedestal-prop,.shop-stage[data-event-bg] .shop-spotlights{display:none}.shop-stage[data-event-bg] .shop-alcove-sprite{filter:drop-shadow(0 0 4px rgba(0,0,0,.85)) drop-shadow(0 12px 18px rgba(0,0,0,.65)) brightness(var(--hover-brightness))}.shop-stage[data-event-bg] .shop-alcove--center .shop-alcove-sprite{filter:drop-shadow(0 0 4px rgba(0,0,0,.85)) drop-shadow(0 14px 20px rgba(0,0,0,.7)) brightness(var(--hover-brightness))}.shop-stage[data-event-bg] .shop-alcove{bottom:4%}.shop-stage[data-event-bg] .shop-alcove--left,.shop-stage[data-event-bg] .shop-alcove--right{bottom:7%}.shop-stage[data-event-bg] .shop-alcove--center .shop-alcove-sprite{height:calc(44cqh * var(--sprite-scale, 1))}.shop-stage[data-event-bg] .shop-alcove--left .shop-alcove-sprite,.shop-stage[data-event-bg] .shop-alcove--right .shop-alcove-sprite{height:calc(42cqh * var(--sprite-scale, 1))}.shop-alcove-price-coin,.shop-ware-tile-price-coin{display:inline-block;width:1em;height:1em;margin-left:3px;vertical-align:-.18em;image-rendering:-webkit-optimize-contrast;pointer-events:none;-webkit-user-select:none;user-select:none}.shop-event-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .6s ease}.shop-stage[data-event-bg] .shop-event-particles{opacity:1}.shop-particle{position:absolute;bottom:0;width:4px;height:4px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--event-accent, white) 35%,white) 0%,color-mix(in srgb,var(--event-accent, white) 15%,transparent) 60%,transparent 100%);filter:blur(.5px);will-change:transform,opacity}@keyframes shop-particle-drift{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:.55}85%{opacity:.4}to{transform:translateY(-90cqh) translate(var(--drift-x, 8px));opacity:0}}.shop-particle--1{left:14%;--drift-x: 8px;animation:shop-particle-drift 11s linear infinite;animation-delay:-2s}.shop-particle--2{left:28%;--drift-x: -6px;animation:shop-particle-drift 14s linear infinite;animation-delay:-7s}.shop-particle--3{left:42%;--drift-x: 4px;animation:shop-particle-drift 12s linear infinite;animation-delay:-4s}.shop-particle--4{left:58%;--drift-x: -8px;animation:shop-particle-drift 13s linear infinite;animation-delay:-10s}.shop-particle--5{left:72%;--drift-x: 6px;animation:shop-particle-drift 15s linear infinite;animation-delay:-1s}.shop-particle--6{left:86%;--drift-x: -4px;animation:shop-particle-drift 12s linear infinite;animation-delay:-8s}.crawl-detail-screen{display:flex;flex-direction:column;height:100%;background:var(--color-bg-primary);color:var(--color-text-primary);overflow:hidden;max-width:640px;margin:0 auto;width:100%}.cd-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.cd-loading{text-align:center;color:#fff6;padding:32px;font-size:14px}.cd-overview{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff0a;border-radius:var(--border-radius);font-size:13px}.cd-overview-rooms{font-weight:700;color:var(--color-text-primary)}.cd-overview-tiers{color:#ffffff80}.cd-overview-ilvl{margin-left:auto;color:#fff6;font-size:12px}.cd-zone-mods{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;background:#ff444414;border:1px solid rgba(255,68,68,.2);border-radius:var(--border-radius)}.cd-zone-mod-pill{font-size:12px;font-weight:700;color:#ff6b6b}.cd-zone-mod-desc{font-weight:400;color:#ffffff80}.cd-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff6}.cd-encounters{display:flex;flex-direction:column;gap:8px}.cd-encounter-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius);padding:10px 12px;border-left:3px solid rgba(255,255,255,.15)}.cd-encounter-card.cd-tier-trash{border-left-color:#fff3}.cd-encounter-card.cd-tier-elite{border-left-color:var(--color-accent)}.cd-encounter-card.cd-tier-boss{border-left-color:#f5a623}.cd-encounter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cd-encounter-name{font-size:13px;font-weight:600}.cd-tier-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:3px;background:#ffffff14;color:#ffffff80}.cd-tier-badge.cd-tier-elite{background:rgba(var(--color-accent-rgb),.12);color:var(--color-accent)}.cd-tier-badge.cd-tier-boss{background:#f5a6231f;color:#f5a623}.cd-enemy-list{display:flex;flex-direction:column;gap:4px}.cd-enemy-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.cd-enemy-name{font-weight:500;color:#fffc;min-width:100px}.cd-element-badge{font-size:11px;font-weight:600;text-transform:capitalize}.cd-campaign-briefing{display:flex;flex-direction:column;gap:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius);padding:12px}.cd-briefing-desc{font-size:13px;line-height:1.5;color:#ffffffb3;font-style:italic}.cd-briefing-elements{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.cd-briefing-label{color:#ffffff73;font-weight:600}.cd-element-more{color:#ffffff59;font-style:italic}.cd-rewards-section{display:flex;flex-direction:column;gap:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius);padding:12px}.cd-rewards-section .cd-section-title{margin-bottom:4px}.cd-reward-row{display:flex;align-items:flex-start;gap:12px;font-size:12px}.cd-reward-label{color:#ffffff73;min-width:100px;flex-shrink:0}.cd-reward-value{color:#fffc}.cd-drop-tags{display:flex;flex-wrap:wrap;gap:6px}.cd-drop-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:rgba(var(--color-accent-rgb),.1);color:var(--color-accent)}.cd-manual-note{font-size:12px;color:#ffffff59;padding:8px 0;font-style:italic}.cd-action{display:flex;justify-content:center;gap:12px;padding:8px 0}.cd-back-btn{background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.12);border-radius:var(--border-radius);padding:12px 28px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition)}.cd-back-btn:hover{background:#ffffff24;color:#fff}.cd-begin-btn{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:#fff;border:none;border-radius:var(--border-radius);padding:12px 40px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity var(--transition),box-shadow var(--transition);box-shadow:0 0 16px rgba(var(--color-accent-rgb),.3)}.cd-begin-btn:not(:disabled):hover{box-shadow:0 0 24px rgba(var(--color-accent-rgb),.5)}.cd-begin-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.cd-campaign-banner{position:relative;height:140px;border-radius:var(--border-radius);overflow:hidden;margin:-16px -16px 0}.cd-campaign-banner-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center}.cd-campaign-banner-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(24,20,16,.95) 0%,rgba(24,20,16,.4) 50%,transparent 100%)}.cd-campaign-banner-text{position:absolute;bottom:12px;left:16px;display:flex;flex-direction:column;gap:2px;z-index:1}.cd-campaign-banner-step{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent)}.cd-campaign-banner-name{font-size:18px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7)}.crawls-browser .hub-screen-bg{filter:brightness(.5) saturate(.7)}.crawls-browser .hub-screen-vignette{background:linear-gradient(180deg,#0a0806b3,#0a080673 22%,#0a080673 70%,#0a0806a6)}.crawls-browser.hub-screen>.screen-header{position:absolute;top:0;left:0;right:0;z-index:11;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;pointer-events:none;padding:12px var(--spacing-lg)}.crawls-browser .screen-header>*{pointer-events:auto}.crawls-browser .screen-title{text-shadow:0 2px 6px rgba(0,0,0,.95),0 0 18px rgba(0,0,0,.7)}.crawls-browser.hub-screen{padding-top:56px}.campaign-content{position:relative;flex:1;min-height:0;overflow-y:auto;background:transparent}.campaign-bg{position:absolute;top:0;left:0;width:100%;height:70%;object-fit:cover;object-position:top center;z-index:0}.campaign-bg-gradient{position:absolute;top:0;left:0;width:100%;height:75%;z-index:1;background:linear-gradient(to bottom,#1814101a,#18141033 30%,#1814108c 55%,#181410eb 75%,#181410)}.campaign-overlay{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100%;padding:16px 24px}.campaign-top-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.campaign-act-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fffc;text-shadow:0 1px 4px rgba(0,0,0,1),0 0 12px rgba(0,0,0,.9)}.campaign-chapter-count{font-size:12px;font-weight:600;color:#ffffffb3;text-shadow:0 1px 4px rgba(0,0,0,1),0 0 12px rgba(0,0,0,.9)}.campaign-spacer{flex:1;min-height:180px}.campaign-bottom{display:flex;flex-direction:column;gap:14px;max-width:600px}.campaign-chapter-header{display:flex;flex-direction:column;gap:4px}.campaign-chapter-step{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent)}.campaign-chapter-title{font-size:28px;font-weight:700;color:#fff;margin:0;line-height:1.15;letter-spacing:.3px}.campaign-chapter-tags{display:flex;flex-wrap:wrap;gap:6px}.campaign-chapter-desc{font-size:14px;color:#fff9;line-height:1.6;margin:0}.campaign-tag{font-size:11px;font-weight:600;padding:3px 10px;border-radius:4px;white-space:nowrap}.campaign-tag.level{background:#ffffff1a;color:#ffffffa6}.campaign-tag.encounters{background:#ffffff12;color:#ffffff80}.campaign-active-btn{align-self:stretch;padding:16px 24px;font-size:16px;font-weight:700;border:none;border-radius:8px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:#fff;cursor:pointer;font-family:inherit;letter-spacing:.3px;box-shadow:0 0 24px rgba(var(--color-accent-rgb),.35),0 2px 8px #0000004d;transition:box-shadow var(--transition),transform var(--transition)}.campaign-active-btn:hover{box-shadow:0 0 36px rgba(var(--color-accent-rgb),.5),0 4px 16px #0006;transform:translateY(-1px)}.campaign-active-btn:disabled{pointer-events:none;opacity:.6}.campaign-empty{padding:80px 24px;text-align:center;max-width:360px;margin:0 auto}.campaign-empty-title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.06em;color:#fff6;margin-bottom:10px}.campaign-empty-desc{font-size:13px;color:#ffffff40;line-height:1.5}.campaign-replay-view.hub-screen-body{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;margin:0 auto;padding:24px 32px 56px;display:flex;flex-direction:column;gap:32px;max-width:1100px;flex:1;min-height:0}.campaign-replay-header{position:relative;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.16em;color:#ffffffeb;padding-bottom:14px;border-bottom:none;text-shadow:0 1px 4px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.55)}.campaign-replay-header:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:1px;background:linear-gradient(90deg,rgba(var(--color-accent-rgb),.75),rgba(var(--color-accent-rgb),0))}.campaign-act{display:flex;flex-direction:column;gap:12px}.campaign-act-header{display:flex;align-items:baseline;gap:10px;padding-left:2px}.campaign-act-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--color-accent);opacity:.92;text-shadow:0 1px 4px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.55)}.campaign-act-subtitle{font-size:12px;color:#ffffff9e;font-style:italic;letter-spacing:.3px;text-shadow:0 1px 4px rgba(0,0,0,.9)}.campaign-act-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.chapter-card{position:relative;aspect-ratio:3 / 4;border-radius:var(--border-radius);overflow:hidden;background:#00000059;border:1px solid rgba(255,255,255,.06);padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.chapter-card--replayable{box-shadow:0 2px 6px #0000004d}.chapter-card--replayable:hover{border-color:rgba(var(--color-accent-rgb),.45);transform:translateY(-2px);box-shadow:0 6px 16px #00000073,0 0 14px rgba(var(--color-accent-rgb),.2)}.chapter-card--replayable:hover .chapter-card-replay{opacity:1;transform:translateY(0)}.chapter-card--loading{pointer-events:none;opacity:.7}.chapter-card-art{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.chapter-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease,filter .2s ease}.chapter-card-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 55%,transparent 35%,rgba(0,0,0,.35) 85%,rgba(0,0,0,.5) 100%);pointer-events:none}.chapter-card-sprite{position:absolute;left:50%;bottom:18%;transform:translate(-50%);max-height:72%;max-width:92%;width:auto;height:auto;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 0 18px rgba(var(--color-accent-rgb),.35)) drop-shadow(0 6px 12px rgba(0,0,0,.75));transition:transform .4s ease,filter .2s ease;pointer-events:none}.chapter-card-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000 40%,#0000008c 75%,#000000e6);pointer-events:none}.chapter-card--replayable:hover .chapter-card-bg{transform:scale(1.05);filter:brightness(1.08)}.chapter-card--replayable:hover .chapter-card-sprite{transform:translate(-50%) translateY(-3px);filter:drop-shadow(0 0 26px rgba(var(--color-accent-rgb),.55)) drop-shadow(0 8px 14px rgba(0,0,0,.8))}.chapter-card-badge{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#ffffffe6;background:#0000008c;padding:3px 7px;border-radius:4px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.chapter-card-body{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:2px}.chapter-card-title{font-size:13px;font-weight:700;color:#fffffff2;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.6);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chapter-card-meta{font-size:11px;font-weight:500;color:#fff9;text-shadow:0 1px 2px rgba(0,0,0,.6)}.chapter-card-replay{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--color-accent);background:#0009;border:1px solid rgba(var(--color-accent-rgb),.45);padding:3px 8px;border-radius:4px;opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.chapter-card--locked{background:#00000059;border:1px dashed rgba(255,255,255,.12);cursor:default}.chapter-card--locked .chapter-card-badge{background:#ffffff0a;color:#ffffff40;backdrop-filter:none;-webkit-backdrop-filter:none}.chapter-card-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;opacity:.15;filter:grayscale(1)}.campaign-social-badge{display:inline-block;margin-top:2px;font-size:10px;color:rgba(var(--color-accent-rgb),.85);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.6)}@media (max-width: 640px){.campaign-act-grid{gap:6px}.chapter-card-title{font-size:11px}.chapter-card-meta{font-size:9px}.chapter-card-badge{font-size:9px;padding:2px 5px}}.campaign-section{border-top:3px solid var(--color-accent)}.campaign-section.campaign-hero{padding:20px;border-color:rgba(var(--color-accent-rgb),.5);border-top-width:3px;box-shadow:0 0 24px rgba(var(--color-accent-rgb),.15),0 4px 20px #0006;gap:10px}.campaign-section.campaign-hero .crawl-label{font-size:11px;letter-spacing:1.2px;color:var(--color-accent)}.campaign-section.campaign-hero .campaign-progress{font-size:18px;font-weight:700;color:#fff}.campaign-section.campaign-hero .campaign-detail{font-size:14px;color:#fffc}.campaign-section.campaign-hero .menu-enter-btn{min-height:48px;font-size:16px;background:var(--color-accent);border-color:var(--color-accent);color:#000;margin-top:4px}.campaign-section.campaign-hero .menu-enter-btn:hover:not(:disabled){opacity:.85;background:var(--color-accent)}#hero-select-root{width:100%;height:100%}.hero-select-screen{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-bg-primary)}.hs-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:12px var(--spacing-md);padding-bottom:var(--spacing-sm);max-width:800px;margin:0 auto;width:100%}.hs-party-strip{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;position:sticky;top:0;z-index:5;background:var(--color-bg-primary);padding:4px 0 10px}.hs-party-slots{display:flex;justify-content:center;gap:16px}.hs-party-slot{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.hs-party-slot--empty{border:2px dashed rgba(255,255,255,.12);background:#ffffff05}.hs-party-slot--filled{border:2.5px solid var(--slot-element, rgba(255, 255, 255, .3));overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #0006}.hs-party-slot--filled:hover{transform:scale(1.08)}.hs-party-portrait{width:100%;height:100%;object-fit:cover;object-position:center 0%;transform:scale(1.6)}.hs-party-num{position:absolute;bottom:-3px;right:-3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#000;background:var(--color-accent);border-radius:50%;border:2px solid var(--color-bg-primary);z-index:1}.hs-party-slot--empty .hs-party-num{background:#ffffff26;color:#fff6}.hs-party-deselect{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;color:#ffffffe6;font-size:22px;line-height:1;opacity:0;transition:opacity var(--transition-fast);border-radius:50%}.hs-party-slot--filled:hover .hs-party-deselect{opacity:1}.hs-party-hint{font-size:11px;color:#ffffff4d;letter-spacing:.3px}.hs-element-brief{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:#ffffff0a;border-radius:var(--border-radius);flex-shrink:0}.hs-brief-label{font-size:12px;font-weight:600;color:#fff6}.hs-element-tag{font-size:12px;font-weight:600;text-transform:capitalize}.hs-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:8px;align-content:start}.hs-card{position:relative;aspect-ratio:2 / 3;border-radius:var(--border-radius);overflow:hidden;cursor:pointer;border:1.5px solid rgba(255,255,255,.06);background:var(--color-bg-secondary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .15s ease}.hs-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff0d;pointer-events:none;z-index:3}.hs-card:hover{border-color:#ffffff2e;transform:scale(1.03);z-index:1}.hs-card--selected{border:2px solid var(--card-element, var(--color-accent));box-shadow:0 0 0 1px var(--card-element, var(--color-accent)),0 4px 16px #00000080}.hs-card--selected:hover{box-shadow:0 0 0 1px var(--card-element, var(--color-accent)),0 4px 20px #0009}.hs-card-portrait{width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.hs-card-badge{position:absolute;top:6px;left:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#000;background:var(--color-accent);border-radius:50%;box-shadow:0 2px 6px #00000080;z-index:2}.hs-card-warn-icon{position:absolute;top:6px;left:6px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#000;background:#f0a030;border-radius:50%;box-shadow:0 1px 3px #0006;z-index:2}.hs-card-footer{position:absolute;bottom:0;left:0;right:0;padding:28px 8px 8px;background:linear-gradient(to top,color-mix(in srgb,var(--card-element, #888) 25%,rgba(0,0,0,.88)) 0%,rgba(0,0,0,.3) 60%,transparent 100%);display:flex;flex-direction:column;gap:1px;pointer-events:none}.hs-card-name{font-size:12px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hs-card-meta{font-size:10px;color:#ffffff80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hs-action{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom));display:flex;justify-content:center;gap:12px;flex-wrap:wrap;max-width:800px;margin:0 auto;width:100%}.hs-back-btn{background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.12);border-radius:var(--border-radius);padding:12px 28px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition)}.hs-back-btn:hover{background:#ffffff24;color:#fff}.hs-begin-btn{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:#fff;border:none;border-radius:var(--border-radius);padding:12px 40px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity var(--transition),box-shadow var(--transition);box-shadow:0 0 16px rgba(var(--color-accent-rgb),.3)}.hs-begin-btn:not(:disabled):hover{box-shadow:0 0 24px rgba(var(--color-accent-rgb),.5)}.hs-begin-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.hs-action-hint{flex-basis:100%;text-align:center;font-size:12px;color:#f0a030;order:3}@media (max-width: 480px){.hs-gallery{grid-template-columns:repeat(3,1fr);gap:6px}.hs-party-slot{width:48px;height:48px}.hs-card-footer{padding:20px 6px 6px}.hs-card-name{font-size:11px}.hs-card-meta{font-size:9px}}@media (min-width: 640px){.hs-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.affix-list{display:flex;flex-direction:column;gap:1px;width:100%}.affix-line{font-size:inherit;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.affix-line--implicit{color:#fff6}.affix-line--prefix{color:#8bf}.affix-line--suffix{color:#8fc}.affix-name{color:#ffffff4d;font-size:.9em}.affix-overflow{color:#ffffff4d;font-style:italic}.affix-separator{height:1px;background:#ffffff14;margin:2px 0}.presence-bar-slot{position:relative;z-index:2}.presence-bar{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:20px;margin:4px 0 0 var(--spacing-lg)}.presence-bar.hidden{display:none}.presence-avatars{display:flex;gap:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.presence-avatars::-webkit-scrollbar{display:none}.presence-avatar{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.15);overflow:hidden;cursor:pointer;padding:0;background:none;flex-shrink:0;transition:border-color var(--transition-fast)}.presence-avatar:hover{border-color:var(--color-accent)}.presence-avatar img{width:100%;height:100%;object-fit:cover;display:block}.presence-overflow{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#ffffff1a;font-size:10px;color:var(--color-text-secondary);flex-shrink:0}.presence-label{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}#inspect-root{width:100%;height:100%}.inspect-screen{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:#000;overflow:hidden}.inspect-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.inspect-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center bottom;background-size:cover;background-repeat:no-repeat;z-index:0;pointer-events:none}.inspect-header{position:absolute;top:0;left:0;right:0;z-index:11;display:flex;align-items:center;padding:12px var(--spacing-lg);pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 100%)}.inspect-header>*{pointer-events:auto}.inspect-screen .screen-title,.inspect-screen .inspect-back-btn,.inspect-screen .inspect-title-meta{text-shadow:0 2px 6px rgba(0,0,0,.9)}.inspect-stage .party-showcase{position:absolute;bottom:17%;left:4%;right:4%;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:clamp(20px,4vw,60px)}.inspect-screen .party-showcase .unit-portrait--lg{height:clamp(220px,38vh,360px)}.party-member--inspect{min-width:160px}.inspect-back-btn{background:none;border:none;color:var(--color-text-secondary);font-size:18px;font-family:inherit;cursor:pointer;padding:4px 8px;margin-right:4px;border-radius:var(--border-radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.inspect-back-btn:hover{color:var(--color-text-primary);background:#ffffff14}.inspect-title-meta{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-secondary);margin-left:6px}.inspect-loading,.inspect-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);pointer-events:none}.inspect-flyout{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto}.inspect-flyout-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.inspect-flyout-panel{position:relative;width:min(540px,92vw);max-height:70vh;margin-bottom:24px;background:#120e16f5;border:1px solid rgba(255,240,200,.18);border-radius:12px;box-shadow:0 12px 40px #000000b3;padding:18px 20px 20px;overflow-y:auto;animation:inspect-flyout-rise .22s ease-out}@keyframes inspect-flyout-rise{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.inspect-flyout-close{position:absolute;top:8px;right:10px;background:none;border:none;color:#ffffff80;font-size:22px;cursor:pointer;padding:2px 8px;line-height:1}.inspect-flyout-close:hover{color:var(--color-text-primary)}.inspect-flyout-header{margin-bottom:14px}.inspect-flyout-name{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.04em}.inspect-flyout-meta{font-size:12px;color:var(--color-text-muted);margin-top:2px;text-transform:capitalize}.inspect-flyout-section{margin-top:14px}.inspect-flyout-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#fff6;margin-bottom:6px}.inspect-flyout-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 12px}.inspect-stat-row{display:flex;justify-content:space-between;font-size:13px;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.06)}.inspect-stat-row span{color:var(--color-text-secondary)}.inspect-stat-row b{color:var(--color-text-primary);font-weight:700}.inspect-flyout-masteries,.inspect-flyout-skills{display:flex;gap:6px;flex-wrap:wrap}.inspect-flyout-mastery{font-size:12px;padding:3px 9px;background:#ffaa001f;border:1px solid rgba(255,170,0,.3);border-radius:12px;color:#ffd070}.inspect-flyout-mastery b{font-weight:700;margin-left:3px}.inspect-flyout-skill{font-size:12px;padding:3px 9px;background:#78a0ff1f;border:1px solid rgba(120,160,255,.3);border-radius:12px;color:#a8c4ff}.campaign-social-badge{display:block;font-size:11px;color:#7289da;margin-top:4px}.toast-social{border-left:3px solid #7289da;display:flex;align-items:center;gap:8px}.toast-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0}@media (max-width: 767px){.presence-avatar{width:24px;height:24px}.presence-bar{padding:3px 8px;margin-left:var(--spacing-sm)}}.codex-screen{display:flex;min-height:100%;height:100%;background:var(--color-bg-primary);color:var(--color-text-primary)}#codex-screen-root{height:100%}.codex-nav{display:flex;flex-direction:column;width:64px;min-width:64px;background:#0000004d;border-right:1px solid rgba(255,255,255,.06);padding:8px 0;gap:2px;overflow-y:auto}.codex-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px;background:none;border:none;color:#fff6;cursor:pointer;transition:color .2s ease,background .2s ease;font-size:18px;position:relative}.codex-nav-btn .codex-nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-family:inherit}.codex-nav-btn:hover{color:#ffffffb3;background:#ffffff0a}.codex-nav-btn.active{color:var(--color-accent);background:rgba(var(--color-accent-rgb),.1);border-right:2px solid var(--color-accent)}.codex-content{flex:1;overflow-y:auto;padding:16px max(16px,calc((100% - 1100px)/2));min-width:0}.codex-section{display:none}.codex-section.active{display:block}.codex-section-title{font-size:18px;font-weight:700;margin:0 0 4px;color:var(--color-text-primary)}.codex-section-subtitle{font-size:12px;color:#fff6;margin:0 0 16px}.codex-filter-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.codex-pill{padding:4px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:none;color:#ffffff80;font-size:11px;font-family:inherit;text-transform:capitalize;cursor:pointer;transition:all .15s ease}.codex-pill:hover{border-color:#ffffff40;color:#fffc}.codex-pill.active{background:var(--color-accent);border-color:var(--color-accent);color:#000;font-weight:600}.codex-filter-pills .codex-pill[class*=element-]:not(.active){border-color:color-mix(in srgb,currentColor 30%,transparent)}.codex-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.codex-card-grid--tall{grid-template-columns:repeat(2,1fr)}@media (min-width: 480px){.codex-card-grid--tall{grid-template-columns:repeat(3,1fr)}}@media (min-width: 700px){.codex-card-grid--tall{grid-template-columns:repeat(5,1fr)}}.codex-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:10px;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}.codex-card:hover{border-color:rgba(var(--color-accent-rgb),.4);background:var(--color-card-bg-hover)}.codex-card--tall{padding:6px 6px 10px}.codex-card-sprite{aspect-ratio:3 / 4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;margin-bottom:8px}.codex-sprite-img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(1px 0 0 rgba(0,0,0,.6)) drop-shadow(-1px 0 0 rgba(0,0,0,.6)) drop-shadow(0 1px 0 rgba(0,0,0,.6)) drop-shadow(0 -1px 0 rgba(0,0,0,.6))}.codex-sprite-silhouette{filter:brightness(0) drop-shadow(0 0 2px rgba(255,255,255,.05))}.codex-card.undiscovered{cursor:default;opacity:.45}.codex-card.undiscovered:hover{border-color:var(--color-card-border);background:var(--color-card-bg)}.codex-card-name{font-size:12px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codex-card-meta{font-size:10px;color:#fff6;text-transform:capitalize}.codex-back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;margin-bottom:12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:none;color:#fff9;font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s ease}.codex-back-btn:before{content:""}.codex-back-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.codex-detail-page{display:flex;flex-direction:column;gap:12px;max-width:600px;margin:0 auto}.codex-detail-hero{display:flex;gap:16px;align-items:flex-end;padding:16px;background:#00000040;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.codex-detail-sprite{flex-shrink:0;width:120px;display:flex;align-items:flex-end;justify-content:center}.codex-detail-sprite img{max-height:180px;max-width:120px;object-fit:contain;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.codex-detail-hero-info{flex:1;min-width:0;padding-bottom:4px}.codex-detail-header{display:flex;gap:12px;align-items:center;margin-bottom:4px}.codex-skill-icon{flex-shrink:0;border-radius:6px;object-fit:contain}.codex-detail-name{font-size:20px;font-weight:700;margin:0 0 6px}.codex-detail-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.codex-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#ffffff14;color:#fff9}.codex-tag.element{background:rgba(var(--color-accent-rgb),.15);color:var(--color-accent)}.codex-tag.element.element-physical{--el: var(--element-physical)}.codex-tag.element.element-steel{--el: var(--element-steel)}.codex-tag.element.element-brute{--el: var(--element-brute)}.codex-tag.element.element-finesse{--el: var(--element-finesse)}.codex-tag.element.element-fire{--el: var(--element-fire)}.codex-tag.element.element-water{--el: var(--element-water)}.codex-tag.element.element-lightning{--el: var(--element-lightning)}.codex-tag.element.element-nature{--el: var(--element-nature)}.codex-tag.element.element-wind{--el: var(--element-wind)}.codex-tag.element.element-earth{--el: var(--element-earth)}.codex-tag.element.element-holy{--el: var(--element-holy)}.codex-tag.element.element-dark{--el: var(--element-dark)}.codex-tag.element.element-astral{--el: var(--element-astral)}.codex-tag.element[class*=" element-"],.codex-tag.element.element-physical,.codex-tag.element.element-steel,.codex-tag.element.element-brute,.codex-tag.element.element-finesse,.codex-tag.element.element-fire,.codex-tag.element.element-water,.codex-tag.element.element-lightning,.codex-tag.element.element-nature,.codex-tag.element.element-wind,.codex-tag.element.element-earth,.codex-tag.element.element-holy,.codex-tag.element.element-dark,.codex-tag.element.element-astral{color:var(--el);background:color-mix(in srgb,var(--el) 18%,transparent)}.codex-detail-stats{display:flex;gap:16px}.codex-stat-block{display:flex;flex-direction:column;align-items:center}.codex-stat-num{font-size:22px;font-weight:700;line-height:1;color:var(--color-text-primary)}.codex-stat-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#fff6;margin-top:2px}.codex-detail-card{background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:14px}.codex-detail-card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff6;margin-bottom:10px}.codex-detail-line{font-size:13px;line-height:1.5;color:#fffc}.codex-detail-label{color:#ffffff80}.codex-detail-separator{height:1px;background:#ffffff0f;margin:6px 0}.codex-detail-subtitle{font-size:12px;color:#ffffff73;margin-top:2px}.codex-stat-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.04)}.codex-stat-label{color:#fff9}.codex-stat-value{font-weight:600}.codex-phase-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.codex-phase-row:last-child{border-bottom:none;padding-bottom:0}.codex-phase-row:first-child{padding-top:0}.codex-phase-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.codex-phase-sprite{width:36px;height:36px;object-fit:cover;border-radius:6px;background:#0000004d;flex-shrink:0}.codex-phase-meta{display:flex;flex-direction:column;gap:2px}.codex-phase-title{font-size:13px;font-weight:700;color:#ffffffd9}.codex-phase-band{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.6px}.codex-phase-abilities{padding-left:4px}.strand-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px 20px;background:linear-gradient(180deg,#00000059,#00000026);border-radius:10px;border:1px solid rgba(255,255,255,.06)}.strand-hero-sprite{display:flex;justify-content:center;width:220px;margin-bottom:16px}.strand-hero-sprite img{max-height:300px;max-width:220px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}.strand-hero-name{font-size:24px;font-weight:700;margin:0 0 4px;color:var(--color-text-primary)}.strand-hero-meta{font-size:13px;color:#fff6;margin-bottom:16px}.strand-hero-stats{display:flex;gap:24px;justify-content:center;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.strand-stat{display:flex;flex-direction:column;align-items:center}.strand-stat-val{font-size:22px;font-weight:700;line-height:1;color:var(--color-accent)}.strand-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#ffffff4d;margin-top:4px}.strand-mastery-row{display:flex;gap:8px;padding:4px 0;font-size:12px;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.04)}.strand-mastery-row:last-child{border-bottom:none}.strand-mastery-tier-label{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;min-width:80px;flex-shrink:0}.strand-mastery-list{color:#fff9}.strand-implicit-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.04)}.strand-implicit-row:last-child{border-bottom:none}.strand-implicit-pct{color:#ffffff59;font-size:11px;flex-shrink:0;width:36px;text-align:right}.strand-implicit-name{color:#b4c8ffd9;font-weight:500;flex-shrink:0;width:100px}.strand-implicit-desc{color:#ffffff8c;font-size:11px;flex:1;padding-left:12px}.strand-affix-subhead{color:#ffffff80;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:10px;margin-bottom:4px;font-weight:600}.strand-affix-subhead:first-child{margin-top:0}.strand-pull-quote{font-style:italic;color:#fff9;font-size:13px;text-align:center;padding:8px 16px 12px;line-height:1.5}.strand-lore-text{color:#ffffffbf;font-size:13px;line-height:1.6;margin:0}.strand-identity-row{display:flex;align-items:baseline;gap:8px;padding:4px 0}.strand-identity-label{color:#ffffff73;font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;min-width:70px}.strand-identity-pills{display:flex;flex-wrap:wrap;gap:4px}.strand-pill{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:2px 8px;font-size:11px;color:#ffffffb3}.strand-skin-browser{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 4px}.strand-skin-dots{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.strand-skin-dot{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.12);background:#0000004d;cursor:pointer;padding:0;transition:border-color .2s ease,box-shadow .2s ease}.strand-skin-dot img{width:100%;height:100%;object-fit:cover;object-position:top center}.strand-skin-dot:hover{border-color:#ffffff59}.strand-skin-dot.active{border-color:var(--color-accent);box-shadow:0 0 8px #4a9eff59}.strand-skin-dot.locked{opacity:.4}.strand-skin-dot.locked:hover{opacity:.7}.strand-skin-lock{position:absolute;bottom:-1px;right:-1px;font-size:10px;line-height:1;background:#000000b3;border-radius:50%;padding:2px}.strand-skin-label{font-size:12px;color:#fff9;min-height:18px;text-align:center}.strand-skin-not-owned{color:#ffffff4d;font-size:11px}.codex-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.codex-filter-input{flex:1;min-width:120px;padding:8px 12px;margin-bottom:10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .2s ease}.codex-filter-input:focus{border-color:var(--color-accent)}.codex-filter-select{padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--color-text-primary);font-size:13px;font-family:inherit;outline:none;cursor:pointer}.codex-filter-select:focus{border-color:var(--color-accent)}.codex-base-select{min-width:160px}.codex-level-filter{display:flex;align-items:center;gap:8px;font-size:12px;color:#fff9}.codex-level-slider{width:100px;accent-color:var(--color-accent);cursor:pointer}.codex-level-display{font-weight:600;color:var(--color-accent);min-width:28px;text-align:center}.codex-affix-columns{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 900px){.codex-affix-columns{grid-template-columns:1fr 1fr;gap:16px}}.codex-affix-column{min-width:0}.codex-affix-column-header{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent);padding-bottom:6px;border-bottom:2px solid rgba(var(--color-accent-rgb),.3);margin-bottom:8px}.codex-affix-totals-row{display:flex;align-items:center;gap:12px;padding:6px 8px;margin-bottom:8px;background:rgba(var(--color-accent-rgb),.06);border:1px solid rgba(var(--color-accent-rgb),.15);border-radius:4px;font-size:11px}.codex-affix-totals-label{font-weight:700;color:#ffffffb3;margin-right:auto}.codex-affix-totals-val{color:#ffffff80;font-weight:600}.codex-affix-empty{padding:12px;font-size:12px;color:#ffffff4d;text-align:center}.codex-empty{grid-column:1 / -1;padding:24px 16px;text-align:center;font-size:13px;color:#ffffff59}.codex-affix-implicit{margin-bottom:16px}.codex-affix-implicit .codex-affix-row-v2{padding:8px;background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:6px}.codex-affix-implicit .codex-affix-tier-values{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.codex-affix-table-v2{width:100%;border-collapse:collapse;font-size:11px}.codex-affix-table-v2 th{text-align:left;padding:5px 6px;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#ffffff59;border-bottom:1px solid rgba(255,255,255,.08)}.codex-affix-table-v2 th.col-num{text-align:right;white-space:nowrap}.codex-affix-table-v2 td{padding:6px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top}.codex-affix-table-v2 td.col-num{text-align:right;white-space:nowrap;color:#ffffff80;font-variant-numeric:tabular-nums}.codex-affix-row-main{cursor:pointer;transition:background .15s ease}.codex-affix-row-main:hover td{background:#ffffff0a}.codex-affix-row-main.expanded td{background:rgba(var(--color-accent-rgb),.04);border-bottom-color:transparent}.codex-affix-desc-name{font-weight:600;color:var(--color-text-primary);display:block;line-height:1.3}.codex-affix-desc-stat{font-size:10px;color:#ffffff73;display:block;margin-top:1px}.codex-affix-tag-pills{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.codex-affix-pill{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:capitalize}.codex-affix-pill.cat-flat_damage{background:#ff646426;color:#f88}.codex-affix-pill.cat-combat_stat{background:#64c8ff26;color:#8cf}.codex-affix-pill.cat-resistance{background:#64b4ff26;color:#8bf}.codex-affix-pill.cat-penetration{background:#ff963226;color:#fa6}.codex-affix-pill.cat-mastery,.codex-affix-pill.cat-mastery_cost_reduction{background:#b482ff26;color:#b9f}.codex-affix-pill.cat-combat_modifier{background:#ffc83226;color:#fc5}.codex-affix-pill.cat-weapon_intrinsic{background:#c8c8c826;color:#ccc}.codex-affix-pill.cat-tag_increased{background:#64ff9626;color:#8fa}.codex-affix-pill[class*=el-]{color:var(--el, #cccccc);background:color-mix(in srgb,var(--el, #cccccc) 18%,transparent)}.codex-affix-pill.el-steel{--el: var(--element-steel)}.codex-affix-pill.el-brute{--el: var(--element-brute)}.codex-affix-pill.el-finesse{--el: var(--element-finesse)}.codex-affix-pill.el-fire{--el: var(--element-fire)}.codex-affix-pill.el-water{--el: var(--element-water)}.codex-affix-pill.el-lightning{--el: var(--element-lightning)}.codex-affix-pill.el-nature{--el: var(--element-nature)}.codex-affix-pill.el-wind{--el: var(--element-wind)}.codex-affix-pill.el-earth{--el: var(--element-earth)}.codex-affix-pill.el-holy{--el: var(--element-holy)}.codex-affix-pill.el-dark{--el: var(--element-dark)}.codex-affix-pill.el-astral{--el: var(--element-astral)}.codex-affix-pill.el-physical{--el: var(--element-physical)}.codex-affix-tier-row td{padding:3px 6px 3px 16px;font-size:10px;color:#ffffff80;background:#0000001f;border-bottom:1px solid rgba(255,255,255,.02)}.codex-affix-tier-row.locked td{opacity:.35}.codex-affix-tier-label{font-weight:600;color:#fff6;margin-right:4px}.codex-tier-pill{font-size:10px;padding:2px 6px;border-radius:3px;background:#ffffff0f;color:#ffffffb3;white-space:nowrap}.codex-tier-pill.locked{opacity:.3;text-decoration:line-through}.codex-tier-lvl{color:#ffffff59;font-size:9px}.el-chip-strip{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}.el-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:#00000059;border:1px solid rgba(255,255,255,.08);border-left:2px solid var(--el-color, rgba(255,255,255,.2));border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px;color:var(--color-text-primary);transition:background .15s ease,border-color .15s ease,transform .15s ease}.el-chip:hover{background:#ffffff0d;border-color:#ffffff2e;border-left-color:var(--el-color);transform:translateY(-1px)}.el-chip .item-icon{width:18px;height:18px;flex-shrink:0}.el-chip-name{font-weight:700;font-size:11px;letter-spacing:.2px}.el-chip-counts{display:inline-flex;gap:5px;font-size:10px;font-weight:700;color:#fff6;margin-left:2px}.el-chip-weak{color:#ff6b6bd9}.el-chip-resist{color:#6baaffd9}.el-chip-self{color:#ffffff8c;margin-left:1px}.codex-element-chart{overflow-x:auto;margin-top:8px}.codex-element-grid{display:inline-grid;gap:1px;background:#ffffff0f;border-radius:6px;overflow:hidden;font-size:11px}.codex-element-cell{display:flex;align-items:center;justify-content:center;min-width:44px;height:32px;padding:2px 4px;background:var(--color-bg-primary);transition:background .15s ease}.codex-element-cell.header{font-weight:700;font-size:9px;text-transform:uppercase;color:var(--el-color, rgba(255, 255, 255, .6));background:#0000004d;letter-spacing:.3px;border-top:2px solid var(--el-color, transparent);cursor:help;transition:background .15s ease}.codex-element-cell.header:hover{background:#ffffff0f}.codex-element-cell.corner{background:#0006;font-size:8px;color:#ffffff4d;position:relative}.codex-element-cell.corner .corner-atk{position:absolute;bottom:2px;left:3px;color:#ff646480;font-weight:700}.codex-element-cell.corner .corner-def{position:absolute;top:2px;right:3px;color:#6496ff80;font-weight:700}.codex-element-cell.row-header{font-weight:700;font-size:9px;text-transform:uppercase;color:var(--el-color, rgba(255, 255, 255, .6));background:#0000004d;letter-spacing:.3px;border-left:2px solid var(--el-color, transparent);cursor:help;transition:background .15s ease}.codex-element-cell.row-header:hover{background:#ffffff0f}.codex-element-cell.weak{background:#ff444438;color:#ff6b6b;font-weight:700}.codex-element-cell.resist{background:#44aaff2e;color:#6baaff;font-weight:700}.codex-element-cell.self-resist{background:#44aaff14;color:#64aaff80;font-weight:600}.codex-element-cell.neutral{color:#ffffff26}.codex-element-cell.highlight{background:rgba(var(--color-accent-rgb),.08)}.codex-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:11px;color:#ffffff80}.codex-legend-item{display:flex;align-items:center;gap:4px}.codex-legend-swatch{width:12px;height:12px;border-radius:2px}.codex-chart-note{margin-top:12px;padding:10px;background:#ffffff08;border-radius:6px;font-size:11px;color:#ffffff80;line-height:1.5}.codex-chart-analysis{margin-top:16px}.codex-chart-totals{font-size:12px;font-weight:700;color:#fff9;margin-bottom:8px;padding:6px 10px;background:#ffffff08;border-radius:4px}.codex-chart-table{width:100%;font-size:10px;border-collapse:collapse;color:#ffffffb3}.codex-chart-table th{text-align:left;padding:4px 6px;font-weight:700;color:#fff6;text-transform:uppercase;font-size:9px;border-bottom:1px solid rgba(255,255,255,.08)}.codex-chart-table td{padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.03)}.codex-chart-table td:first-child{color:#ffffffd9}.codex-chart-table td.num{text-align:center;font-weight:700;color:#ffffff80;min-width:20px}.codex-chart-split{display:flex;gap:16px;margin-top:8px}.codex-chart-half{flex:1}.codex-chart-half-title{font-size:11px;font-weight:700;text-transform:uppercase;color:#fff6;margin-bottom:4px;letter-spacing:.5px}.codex-chart-note-small{margin-top:6px;font-size:10px;color:#ffffff4d}.codex-formula-block{margin-bottom:20px;padding:14px;background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:8px}.codex-formula-title{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--color-text-primary)}.codex-formula-code{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;padding:10px;background:#0000004d;border-radius:6px;margin:8px 0;color:var(--color-accent);overflow-x:auto;white-space:pre;line-height:1.6}.codex-formula-text{font-size:12px;color:#fff9;line-height:1.6;margin:6px 0}.codex-formula-example{font-size:11px;color:#fff6;padding:8px 10px;background:#ffffff05;border-left:2px solid rgba(var(--color-accent-rgb),.3);border-radius:0 4px 4px 0;margin-top:8px;line-height:1.5}.codex-mastery-tier{margin-bottom:10px}.codex-mastery-tier:last-child{margin-bottom:0}.codex-mastery-tier-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.codex-mastery-tier-list{display:flex;flex-wrap:wrap;gap:4px}.codex-mastery-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;border-radius:4px;background:#00000040;border:1px solid;color:#ffffffb3}.codex-pool-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.04)}.codex-pool-bar-wrap{display:flex;align-items:center;gap:8px}.codex-pool-bar{width:60px;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.codex-pool-bar-fill{height:100%;background:var(--color-accent);border-radius:2px}.codex-pool-pct{font-size:11px;color:#fff6;min-width:30px;text-align:right}.codex-prose{max-width:600px;margin:0 auto}@media (max-width: 700px){.codex-screen{flex-direction:column}.codex-nav{width:100%;min-width:0;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid rgba(255,255,255,.06);padding:4px 8px;gap:4px;flex-shrink:0;scrollbar-width:none}.codex-nav::-webkit-scrollbar{display:none}.codex-nav-btn{flex-direction:row;flex-shrink:0;padding:8px 14px;gap:6px;font-size:16px}.codex-nav-btn .codex-nav-label{font-size:11px}.codex-nav-btn.active{border-right:none;border-bottom:2px solid var(--color-accent);background:rgba(var(--color-accent-rgb),.12);border-radius:6px 6px 0 0}}@media (max-width: 480px){.codex-card-grid--tall{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.codex-content{padding:10px}.codex-detail-hero{flex-direction:column;align-items:center;text-align:center}.codex-detail-stats{justify-content:center}.codex-element-cell{min-width:36px;height:28px;font-size:9px}.codex-chart-split{flex-direction:column;gap:12px}.codex-race-entry{flex-direction:column;align-items:center;text-align:center}.codex-race-header{justify-content:center}.codex-filters{flex-direction:column}.codex-level-slider{width:80px}}.codex-world-map{display:block;width:100%;margin:0 0 18px;padding:0;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;cursor:zoom-in;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.codex-world-map:hover{border-color:color-mix(in srgb,var(--color-accent) 50%,transparent);box-shadow:0 6px 24px #00000073}.codex-world-map img{display:block;width:100%;height:auto;object-fit:cover}.codex-world-map-hint{position:absolute;top:10px;right:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:4px 10px;border-radius:4px;background:#000000a6;color:#ffffffd9;pointer-events:none;opacity:.85;transition:opacity .2s ease}.codex-world-map:hover .codex-world-map-hint{opacity:1}.codex-world-map-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out;animation:codexMapFadeIn .18s ease}@keyframes codexMapFadeIn{0%{opacity:0}to{opacity:1}}.codex-world-map-lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px #000000b3}.codex-world-map-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;font-size:28px;line-height:1;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#ffffffe6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;padding-bottom:4px}.codex-world-map-lightbox-close:hover{background:#000000d9;border-color:#fff6}.codex-faction-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px}@media (max-width: 520px){.codex-faction-grid{grid-template-columns:1fr;gap:14px}}.codex-faction-card{--faction-accent: #c8a86e;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.codex-faction-card:hover{border-color:color-mix(in srgb,var(--faction-accent) 60%,transparent);transform:translateY(-2px);box-shadow:0 6px 18px #00000059}.codex-faction-card-hero{height:220px;background-size:cover;background-position:center;position:relative}@media (max-width: 520px){.codex-faction-card-hero{height:180px}}.codex-faction-card-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 40%,#000000b3)}.codex-faction-card-info{padding:16px 18px;border-top:1px solid color-mix(in srgb,var(--faction-accent) 35%,transparent)}.codex-faction-card-name{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--color-text-primary);margin-bottom:4px}.codex-faction-card-tag{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:color-mix(in srgb,var(--faction-accent) 80%,white 0%);font-weight:600}.codex-faction-detail{--faction-accent: #c8a86e;display:flex;flex-direction:column;gap:18px}.codex-faction-hero{position:relative;height:280px;border-radius:12px;overflow:hidden;background-size:cover;background-position:center;border:1px solid color-mix(in srgb,var(--faction-accent) 30%,transparent)}.codex-faction-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 30%,#000000d9)}.codex-faction-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 22px;z-index:1}.codex-faction-hero-name{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:.05em;color:var(--color-text-primary);text-shadow:0 2px 6px rgba(0,0,0,.7);margin-bottom:4px}.codex-faction-hero-tag{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:color-mix(in srgb,var(--faction-accent) 80%,white 0%);font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.7)}.codex-faction-pullquote{font-style:italic;font-size:15px;color:#ffffffb3;line-height:1.55;padding:0 16px;border-left:3px solid var(--faction-accent);margin:4px 0}.codex-faction-section{display:flex;flex-direction:column;gap:10px}.codex-faction-section-title{font-family:var(--font-display);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--faction-accent);margin:0;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--faction-accent) 30%,transparent)}.codex-faction-prose{font-size:13.5px;line-height:1.7;color:#ffffffc7;margin:0}.codex-faction-races{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.codex-faction-race-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#00000038;border:1px solid rgba(255,255,255,.06);border-radius:6px}.codex-faction-race-sprite{flex-shrink:0;width:40px;height:56px;object-fit:contain;object-position:top center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.codex-faction-race-text{flex:1;min-width:0}.codex-faction-race-name{font-size:12px;font-weight:700;color:var(--color-text-primary);margin-bottom:2px}.codex-faction-race-role{font-size:11px;color:#ffffff8c;line-height:1.35}.codex-faction-places{display:flex;flex-direction:column;gap:10px}.codex-faction-place{display:flex;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;overflow:hidden;min-height:100px}.codex-faction-place-hero{flex-shrink:0;width:140px;background-size:cover;background-position:center}.codex-faction-place-body{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.codex-faction-place-name{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--color-text-primary)}.codex-faction-place-text{font-size:12.5px;line-height:1.55;color:#ffffffb8}@media (max-width: 600px){.codex-faction-place{flex-direction:column}.codex-faction-place-hero{width:100%;height:110px}}.codex-faction-relations{display:flex;flex-direction:column;gap:6px}.codex-faction-rel-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:8px 10px;background:#0000002e;border-radius:5px;align-items:baseline}.codex-faction-rel-name{font-size:12px;font-weight:700;color:color-mix(in srgb,var(--faction-accent) 80%,white 0%)}.codex-faction-rel-note{font-size:12px;color:#ffffffb3;line-height:1.5}@media (max-width: 600px){.codex-faction-rel-row{grid-template-columns:1fr;gap:2px}}.codex-race-entry{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;padding:16px;margin-bottom:12px;display:flex;gap:16px;align-items:flex-start}.codex-race-portrait{width:72px;height:72px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#0000004d}.codex-race-portrait img{width:140%;margin-left:-20%;margin-top:-5%;image-rendering:auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.codex-race-body{flex:1;min-width:0}.codex-race-header{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.codex-race-name{font-size:16px;font-weight:700;color:#fff}.codex-race-tag{font-size:11px;color:#ffffff73;font-style:italic}.codex-race-lore{font-size:13px;line-height:1.6;color:#ffffffbf}.codex-item-card{display:flex;align-items:center;gap:12px;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--border-radius);padding:10px 14px;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.codex-item-card:hover{border-color:rgba(var(--color-accent-rgb),.4);background:var(--color-card-bg-hover)}.codex-item-card--parked{opacity:.45;filter:grayscale(.55)}.codex-item-card--parked:hover{opacity:.7}.codex-item-icon{flex-shrink:0}.codex-item-info{flex:1;min-width:0}.codex-item-name{font-size:14px;font-weight:700;color:var(--color-text-primary)}.codex-item-meta{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.codex-item-req{font-size:11px;color:#f84;margin-top:2px}.codex-item-implicit{font-size:11px;color:#ffffff80;margin-top:1px}.codex-mastery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;padding:0 0 16px}.codex-effect-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--border-radius);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.mastery-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--border-radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.mastery-card-header{display:flex;align-items:center;gap:10px}.mastery-card-title{flex:1;min-width:0}.mastery-card-name{font-size:14px;font-weight:700;color:var(--color-text-primary)}.mastery-card-cat{font-size:11px;color:#ffffff59}.mastery-element{font-size:12px;font-weight:600}.mastery-card-bonus{font-size:11px}.mastery-rank-bonus{color:var(--color-accent);font-weight:600}.mastery-rank-bonuses{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#0000002e;border-radius:4px}.mastery-rank-bonus-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffff59;margin-bottom:1px}.mastery-rank-bonus-line{font-size:11px;font-weight:600;color:#ffffffd9;line-height:1.3}.mastery-card-desc{font-size:12px;color:#ffffff8c;line-height:1.4}.codex-mastery-strands{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.codex-mastery-strand{font-size:11px;color:#ffffff80;background:#ffffff0a;padding:1px 6px;border-radius:3px}.codex-nyi-badge{font-size:9px;font-weight:700;color:#ffffff59;background:#ffffff0f;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.bestiary-res-bar{display:flex;flex-wrap:wrap;gap:6px}.bestiary-res-chip{display:inline-flex;align-items:baseline;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.bestiary-res-chip.resist{background:#44aaff1f;border-color:#44aaff40}.bestiary-res-chip.resist-strong{background:#44aaff38;border-color:#44aaff73}.bestiary-res-chip.weak{background:#ff44441f;border-color:#ff444440}.bestiary-res-chip.weak-strong{background:#ff444438;border-color:#ff444473}.bestiary-res-chip.neutral{opacity:.55}.bestiary-res-name{text-transform:capitalize;letter-spacing:.3px}.bestiary-res-val{font-variant-numeric:tabular-nums;font-weight:700}.bestiary-res-chip.weak .bestiary-res-val,.bestiary-res-chip.weak-strong .bestiary-res-val{color:#f77}.bestiary-res-chip.resist .bestiary-res-val,.bestiary-res-chip.resist-strong .bestiary-res-val{color:#6baaff}.codex-effect-mechanic{font-size:12px;color:#ffffffb3}.codex-effect-sources{font-size:11px;color:#ffffff59;margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.codex-effect-sources-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff4d;margin-right:4px}.codex-effect-source{display:inline-block;font-size:10px;padding:2px 7px;border-radius:3px;background:#ffffff0f;color:#fff9}.codex-effect-header{display:flex;align-items:center;gap:8px}.codex-effect-header-text{display:flex;justify-content:space-between;align-items:center;flex:1;gap:6px}.codex-effect-meta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.codex-effect-duration{font-size:10px;color:#fff6}.codex-effect-kind{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px;background:#ffffff0f;color:#ffffff80}.codex-effect-kind--dot{background:#c864ff2e;color:#c87aff}.codex-effect-kind--amplifier{background:#ffaa002e;color:#fa0}.codex-effect-kind--control{background:#648cff2e;color:#6b9aff}.codex-effect-kind--buff{background:#50c85026;color:#6cc46c}.codex-effect-kind--debuff{background:#ff646426;color:#f77}.codex-pill-count{font-size:10px;opacity:.55;margin-left:2px}.codex-effect-icon{width:24px;height:24px;flex-shrink:0}.codex-skill-filters-row{display:flex;gap:8px;margin-bottom:10px}.codex-skill-filters-row .codex-filter-input{margin-bottom:0}.codex-skill-mastery-select{min-width:160px}.codex-filter-pills-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffff59;margin:4px 0}.codex-disclosure-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;margin-bottom:10px;background:none;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:#ffffff8c;font-family:inherit;font-size:11px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.codex-disclosure-btn:hover{border-color:#fff3;color:#fffc}.codex-disclosure-btn.has-active{border-color:rgba(var(--color-accent-rgb),.4);color:var(--color-accent)}.codex-disclosure-caret{font-size:8px;opacity:.6}.codex-disclosure-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent);margin-left:4px}.codex-disclosure-body{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:8px 10px;background:#0000002e;border-radius:6px}.codex-disclosure-body.hidden{display:none}@media (max-width: 480px){.codex-skill-filters-row{flex-direction:column}.codex-skill-mastery-select{min-width:0}}.codex-mechanic-section{margin-bottom:16px}.codex-mechanic-card{background:#0003;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 12px;margin-bottom:6px}.codex-mechanic-name{font-size:13px;font-weight:700;color:var(--color-accent);margin-bottom:4px}.codex-mechanic-desc{font-size:12px;color:#ffffffa6;line-height:1.5}.codex-mechanic-list{display:flex;flex-direction:column;gap:8px}.codex-mechanic-card-v2{position:relative;background:#00000038;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:12px 14px;overflow:hidden}.codex-mechanic-card-v2 .codex-mechanic-name{font-size:14px;margin-bottom:6px;padding-right:80px}.codex-mechanic-card-v2 .codex-mechanic-desc{font-size:12px;margin-bottom:0}.codex-mechanic-cat-badge{position:absolute;top:10px;right:12px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:2px 7px;border-radius:3px;color:#fff9;background:#ffffff0f}.codex-mechanic-cat-badge--tag{background:#64ff9624;color:#8fa}.codex-mechanic-cat-badge--system{background:#b482ff24;color:#b9f}.codex-mechanic-cat-badge--stat{background:#64c8ff24;color:#8cf}.codex-mechanic-cat-badge--math{background:#ffc83224;color:#fc5}.codex-mechanic-card-v2 .codex-formula-code{margin:8px 0 4px;max-width:100%}.codex-mechanic-follow{font-size:12px;color:#ffffff8c;line-height:1.5;margin:6px 0}.codex-matrix-section{margin:0 0 18px;padding:14px 14px 12px;background:#00000038;border:1px solid rgba(255,255,255,.06);border-radius:8px}.codex-matrix-title{font-size:14px;font-weight:700;color:var(--color-accent);margin-bottom:4px}.codex-matrix-subtitle{font-size:11px;color:#ffffff80;line-height:1.4;margin-bottom:10px}.codex-matrix-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:10px;font-size:11px;color:#ffffffb3}.codex-matrix-legend-item{display:inline-flex;align-items:center;gap:5px}.codex-matrix-legend-dim{color:#fff6}.codex-matrix-scroll{overflow-x:auto;margin:0 -2px}.codex-matrix-table{border-collapse:collapse;font-size:11px;width:100%;table-layout:auto}.codex-matrix-table th,.codex-matrix-table td{padding:6px 8px;border:1px solid rgba(255,255,255,.06);text-align:center;vertical-align:middle;white-space:nowrap}.codex-matrix-mastery-header,.codex-matrix-system-header{background:#ffffff0a;font-weight:700;color:#ffffffb3;font-size:11px;letter-spacing:.3px;-webkit-user-select:none;user-select:none}.codex-matrix-system-header{font-size:11px;text-transform:none}.codex-matrix-mastery-header{text-align:left}.codex-matrix-sortable{cursor:pointer;transition:background .12s ease,color .12s ease}.codex-matrix-sortable:hover{background:#ffffff14;color:#ffffffe6}.codex-matrix-mastery-name{text-align:left;font-weight:600;color:#ffffffe6}.codex-matrix-mastery-icon{margin-right:6px;display:inline-flex;vertical-align:middle;line-height:0}.codex-matrix-mastery-icon img.mastery-icon-img{width:16px;height:16px}.codex-matrix-cell{min-width:54px}.codex-matrix-row:hover td{background:#ffffff08}.codex-matrix-role{display:inline-block;padding:2px 5px;border-radius:3px;font-weight:700;font-size:10px;margin:0 1px;cursor:help;line-height:1.2}.codex-matrix-role--builder{background:#64ff9629;color:#8fa}.codex-matrix-role--spender{background:#ff826429;color:#f98}.codex-matrix-role--amp{background:#b482ff29;color:#b9f}.codex-matrix-tooltip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;max-height:82vh;overflow-y:auto}#tooltip:has(.codex-matrix-tooltip-grid){max-width:min(680px,calc(100vw - 16px))}.codex-matrix-empty{color:#ffffff2e}.codex-matrix-footer-row td{background:#ffffff08;border-top:1px solid rgba(255,255,255,.12);font-weight:600}.codex-matrix-footer-cell{color:#ffffffa6;font-size:11px}.codex-matrix-footer-num{color:#ffffffd9;font-weight:700}.codex-matrix-footer-amp{color:#b9f;font-weight:700;margin-left:4px}.codex-skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;padding:0 0 16px}.codex-skill-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--border-radius);padding:10px 12px;cursor:pointer;transition:border-color var(--transition),background var(--transition);display:flex;flex-direction:column;gap:0}.codex-skill-card:hover{border-color:rgba(var(--color-accent-rgb),.4);background:var(--color-card-bg-hover)}.codex-skill-header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px}.codex-skill-header .mastery-icon-img{flex-shrink:0}.codex-skill-card-icon{flex-shrink:0;border-radius:3px;object-fit:contain}.codex-skill-name{font-size:13px;font-weight:700;line-height:1.3}.codex-skill-rank{font-size:10px;color:#ffffff4d;flex-shrink:0;margin-left:8px}.codex-skill-reqs{font-size:11px;color:#ffffff80;line-height:1.3;margin-bottom:2px}.codex-skill-tags{font-size:10px;color:#ffffff59;line-height:1.3;margin-bottom:6px}.codex-skill-dmg-line{font-size:12px;font-weight:600;color:#ffffffd9;margin-bottom:5px;line-height:1.3}.codex-skill-dmg-line.heal{color:#0f8}.codex-skill-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.codex-skill-badge{font-size:10px;font-weight:500;padding:1px 6px;border-radius:3px;background:#ffffff0f;color:#fff9;line-height:1.4}.codex-skill-badge.debuff{background:#ff64001f;color:#f84}.codex-skill-mechanics{margin-bottom:5px}.codex-skill-mechanic{font-size:11px;color:#ffffffd9;line-height:1.4}.codex-skill-mechanic .buff,.codex-skill-mechanic strong.buff{color:#4af}.codex-skill-mechanic .debuff,.codex-skill-mechanic strong.debuff{color:#f80}.codex-skill-mechanic .heal,.codex-skill-mechanic strong.heal{color:#0f8}.codex-skill-mechanic .damage,.codex-skill-mechanic strong.damage{color:#f44}.codex-skill-mechanic .mechanic-sub{display:block;font-size:10px;font-style:italic;color:#ffffff4d;line-height:1.3;margin-top:1px}.codex-skill-costs{font-size:10px;color:#ffffff4d;display:flex;gap:10px;margin-top:auto;padding-top:4px;border-top:1px solid rgba(255,255,255,.04)}.codex-skill-card-body{display:flex;flex-direction:column;gap:0}.codex-skill-card-body .tooltip-line{font-size:11px;line-height:1.4}.codex-skill-card-body .tooltip-separator{margin:2px 0}.codex-ranks-toggle{cursor:default}.codex-ranks-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.codex-ranks-summary::-webkit-details-marker{display:none}.codex-ranks-summary:before{content:"▶";font-size:9px;color:#ffffff4d;transition:transform .2s ease}.codex-ranks-toggle[open] .codex-ranks-summary:before{transform:rotate(90deg)}.codex-ranks-count{font-weight:400;color:#ffffff4d}.codex-ranks-toggle .codex-rank-table{margin-top:10px}.codex-rank-table{width:100%;border-collapse:collapse;font-size:12px}.codex-rank-table th{text-align:left;font-size:11px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.codex-rank-table td{padding:4px 8px;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.04)}.gd-hero{display:flex;gap:14px;align-items:flex-start;padding:16px;background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:10px}.gd-icon{flex-shrink:0;border-radius:8px;border:1px solid rgba(255,255,255,.1);object-fit:contain}.gd-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.gd-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gd-mastery{font-size:12px;color:#ffffff80}.gd-target{font-size:11px;color:#ffffff59}.gd-mastery+.gd-target:before{content:"·";margin-right:8px;color:#fff3}.gd-tags{font-size:11px;color:#fff6;letter-spacing:.3px}.gd-description{display:flex;flex-direction:column}.gd-description .tooltip-line{font-size:13px;line-height:1.6}.gd-description .tooltip-separator{margin:4px 0}.gd-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffff4d;margin-bottom:8px}.gd-ranks-section{margin-top:4px}.gd-rank-list{display:flex;flex-direction:column;gap:6px}.gd-rank-card{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:8px;overflow:hidden}.gd-rank-card-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.04)}.gd-rank-badge{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#ffffff80;background:#ffffff0f;border-radius:50%}.gd-rank-card-title{font-size:11px;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px}.gd-rank-card-body{padding:10px 12px}.gd-rank-card-body .tooltip-line{font-size:12px;line-height:1.5}.gd-rank-card-body .tooltip-separator{margin:3px 0}.codex-family-group{margin-bottom:16px}.codex-family-header{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff73;padding:8px 0 4px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:6px}.codex-family-count{font-weight:400;font-size:11px;letter-spacing:0;text-transform:none;color:#ffffff4d;margin-left:4px}.codex-family-group--parked .codex-family-header{color:#ffffff4d}.codex-family-parked-badge{display:inline-block;margin-left:10px;padding:2px 8px;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#ffc882d9;background:#ffaa501f;border:1px solid rgba(255,170,80,.3);border-radius:3px;vertical-align:middle}.codex-item-detail-header{display:flex;align-items:center;gap:12px;margin:12px 0 16px}.codex-item-hero{display:flex;gap:16px;align-items:center;padding:16px;margin-bottom:16px;background:linear-gradient(180deg,#00000059,#00000026);border-radius:10px;border:1px solid rgba(255,255,255,.06)}.codex-item-hero-icon{flex-shrink:0;width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:#00000040;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.codex-item-hero-icon .item-icon{width:80px!important;height:80px!important}.codex-item-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.codex-item-hero-name{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.04em;margin:0;color:var(--color-text-primary)}.codex-item-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px}.codex-item-hero-cat{color:#ffffff8c;font-weight:600}.codex-item-hero-sep{color:#fff3}.codex-item-hero-reqs{color:#f84}.codex-item-hero-implicit{display:flex;align-items:baseline;gap:8px;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.codex-item-hero-implicit-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffff59}.codex-item-hero-implicit-line{font-size:13px;color:#ffffffd9;font-weight:600}@media (max-width: 480px){.codex-item-hero{flex-direction:column;text-align:center;align-items:center}.codex-item-hero-meta,.codex-item-hero-implicit{justify-content:center}}.codex-affix-row-compact{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.04)}.codex-affix-row-compact:hover{background:#ffffff08}.codex-affix-row-compact .codex-affix-desc-cell{flex:1;min-width:0}.codex-affix-range{font-size:13px;font-weight:600;color:#fffc;white-space:nowrap;min-width:60px;text-align:right}.codex-affix-weight{font-size:11px;color:#fff6;min-width:40px;text-align:right}.codex-affix-count{font-weight:400;color:#fff6;font-size:12px}.codex-tier-pill-info{font-size:11px;color:#ffffff59;margin-left:8px}.codex-affix-row-compact .codex-affix-desc-stat{display:block;font-size:13px;font-weight:600;color:#ffffffe6}.codex-affix-row-compact .codex-affix-desc-name{display:block;font-size:11px;font-weight:400;color:#ffffff59;font-style:italic}.pill-crit{background:#fa03;color:#fa0}.pill-speed{background:#00c8ff26;color:#00c8ff}.pill-hp{background:#ff505026;color:#ff5050}.pill-sustain{background:#00ff881f;color:#0f8}.pill-healing{background:#00ff8826;color:#0f8}.pill-focus{background:#648cff26;color:#648cff}.pill-pen{background:#ff646426;color:#ff6464}.pill-dot{background:#c864ff26;color:#c864ff}.pill-burn{background:#ff780026;color:#ff7800}.pill-bleed{background:#c8000026;color:#c33}.pill-poison{background:#00b40026;color:#00b400}.pill-decay{background:#64009626;color:#9040c0}.pill-status{background:#b4b4001f;color:#b4b400}.pill-shield{background:#64b4ff26;color:#64b4ff}.pill-impact{background:#c88c3c26;color:#c88c3c}.pill-fervor{background:#ff3c3c33;color:#f55}.pill-trap{background:#ff5a282e;color:#ff7848}.pill-charged{background:#ffdc502e;color:#ffdc50}.pill-tempo{background:#ffb34726;color:#ffb347}.pill-debuff{background:#b450b426;color:#b450b4}.pill-buff{background:#50c85026;color:#50c850}.pill-combo{background:#ffc80026;color:#ffc800}.pill-chain{background:#00b4ff26;color:#00b4ff}.pill-damage{background:#ff643226;color:#ff6432}.pill-res{background:#648cb41f;color:#6490b4}.pill-elemental{background:#ff78321f;color:#e08040}.pill-primal{background:#50b4501f;color:#50b450}.pill-cosmic{background:#9664dc1f;color:#9664dc}.codex-affix-row-compact{cursor:pointer}.codex-affix-row-compact.expanded{background:#ffffff0a;border-bottom-color:transparent}.codex-affix-tier-breakdown{padding:4px 8px 8px 16px;background:#0003;border-bottom:1px solid rgba(255,255,255,.04)}.codex-affix-tier-detail{display:flex;gap:12px;padding:3px 0;font-size:12px;color:#fff9}.codex-tier-label{font-weight:600;color:#ffffff73;min-width:28px}.codex-tier-range{font-weight:600;color:#fffc;min-width:60px}.codex-tier-lvl{color:#ffffff4d;font-size:11px}.codex-tier-wt{color:#fff6;font-size:11px;min-width:35px;text-align:right}.codex-tier-pct{color:#ffffff59;font-size:11px;min-width:45px;text-align:right}.codex-unique-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:0 0 16px}.codex-unique-card{border-color:#af602566;background:linear-gradient(180deg,#af602514,#af602505);align-items:flex-start}.codex-unique-card:hover{border-color:#af6025bf;background:linear-gradient(180deg,#af602524,#af60250a)}.codex-unique-name{color:#af6025;display:flex;align-items:center;gap:8px}.codex-unique-count{font-size:11px;font-weight:500;color:#ffffff8c;background:#af602533;padding:1px 6px;border-radius:8px}.codex-unique-flavor{font-size:11px;color:#ffdcb48c;font-style:italic;margin-top:4px;line-height:1.35}.codex-unique-affix-line{font-size:13px;color:#6baaff;padding:4px 12px}.codex-unique-flavor-detail{font-size:13px;color:#ffdcb499;font-style:italic;margin-top:20px;padding:12px;background:#af60250f;border-left:2px solid rgba(175,96,37,.5);border-radius:4px}.unique-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 16px 22px;background:linear-gradient(180deg,#af60251f,#00000040);border-radius:10px;border:1px solid rgba(175,96,37,.2)}.unique-hero-art{display:flex;justify-content:center;width:220px;margin-bottom:16px}.unique-hero-art img{max-height:300px;max-width:220px;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(175,96,37,.4)) drop-shadow(0 2px 6px rgba(0,0,0,.6))}.unique-hero-name{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.06em;color:#af6025;margin:0 0 4px}.unique-hero-meta{font-size:13px;color:#fff6;margin-bottom:4px}.unique-hero-reqs{font-size:12px;color:#ffffff59}.unique-affixes{display:flex;flex-direction:column;gap:0}.unique-affix-section{padding:4px 0}.unique-affix-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffff4d;margin-bottom:6px}.unique-affix-line{font-size:13px;color:#6baaff;line-height:1.6;padding:2px 0}.unique-affix-line.implicit{color:#ffffff73}.unique-affix-divider{height:1px;background:#ffffff0f;margin:8px 0}.unique-flavor{font-size:13px;color:#ffdcb48c;font-style:italic;line-height:1.6;padding:12px 14px;background:#af60250f;border-left:2px solid rgba(175,96,37,.4);border-radius:4px}.codex-empty-state{text-align:center;padding:40px 20px;color:#ffffff80}.codex-empty-state p{margin:6px 0;font-size:14px}.codex-empty-state .codex-empty-hint{font-size:12px;color:#ffffff59;font-style:italic}.strand-discovery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 10);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#0000;opacity:0;pointer-events:none;transition:opacity .18s ease-out,background-color .18s ease-out}.strand-discovery-overlay.is-visible{opacity:1;pointer-events:auto;background:#000000eb}.strand-discovery-card{position:relative;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;background:var(--color-card-bg);border:1px solid rgba(var(--color-accent-rgb),.2);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg),0 0 60px rgba(var(--color-accent-rgb),.08),inset 0 1px rgba(var(--color-accent-rgb),.18);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);transform:translateY(12px) scale(.94);opacity:0;transition:transform .36s cubic-bezier(.22,1,.36,1) 80ms,opacity .36s ease-out 80ms;display:flex;flex-direction:column;align-items:center;text-align:center}.strand-discovery-overlay.is-visible .strand-discovery-card{transform:translateY(0) scale(1);opacity:1}.sd-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-accent);opacity:0;transform:translateY(8px);transition:opacity .2s ease-out .12s,transform .2s ease-out .12s;margin-bottom:var(--spacing-sm)}.strand-discovery-overlay.is-visible .sd-kicker{opacity:.85;transform:translateY(0)}.sd-hero{width:100%;display:flex;justify-content:center;margin-bottom:var(--spacing-md);opacity:0;transform:translateY(8px) scale(.92);transition:opacity .4s ease-out .2s,transform .4s cubic-bezier(.22,1,.36,1) .2s}.strand-discovery-overlay.is-visible .sd-hero{opacity:1;transform:translateY(0) scale(1)}.sd-portrait{width:220px;height:220px;background:#0006;border:1px solid rgba(var(--color-accent-rgb),.15);border-radius:var(--border-radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #00000080,0 0 40px rgba(var(--color-accent-rgb),.06)}.sd-portrait img{width:100%;height:100%;object-fit:contain;object-position:center;image-rendering:auto}.sd-identity-text{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--spacing-md);opacity:0;transform:translateY(8px);transition:opacity .28s ease-out .42s,transform .28s ease-out .42s}.strand-discovery-overlay.is-visible .sd-identity-text{opacity:1;transform:translateY(0)}.sd-name{font-size:26px;font-weight:700;color:#fff;line-height:1.1;margin:0}.sd-meta{font-size:13px;font-weight:600;color:#ffffff8c;margin-top:2px}.sd-pullquote{margin-top:8px;font-size:13px;font-style:italic;line-height:1.45;color:var(--color-accent);opacity:.85}.sd-mech{width:100%;display:flex;flex-direction:column;gap:6px;padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--spacing-md);opacity:0;transform:translateY(8px);transition:opacity .22s ease-out .56s,transform .22s ease-out .56s}.strand-discovery-overlay.is-visible .sd-mech{opacity:1;transform:translateY(0)}.sd-mech-row{display:flex;align-items:baseline;gap:var(--spacing-sm)}.sd-mech-label{flex-shrink:0;width:80px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff6;text-align:right}.sd-mech-value{flex:1;font-size:13px;font-weight:500;color:#fff;line-height:1.4;word-wrap:break-word;text-align:left}.sd-mech-value .sd-stat{display:inline-block;min-width:56px}.sd-mech-value .sd-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin-left:2px}.sd-lore{width:100%;font-size:12px;line-height:1.6;color:#fff9;padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--spacing-md);text-align:left;opacity:0;transform:translateY(8px);transition:opacity .24s ease-out .68s,transform .24s ease-out .68s}.strand-discovery-overlay.is-visible .sd-lore{opacity:1;transform:translateY(0)}.sd-lore.sd-lore-placeholder{font-style:italic;color:#ffffff59;text-align:center}.sd-hint{width:100%;display:flex;flex-direction:column;gap:6px;margin-bottom:var(--spacing-md);opacity:0;transform:translateY(8px);transition:opacity .22s ease-out .8s,transform .22s ease-out .8s}.strand-discovery-overlay.is-visible .sd-hint{opacity:1;transform:translateY(0)}.sd-hint-row{display:flex;align-items:baseline;gap:var(--spacing-sm)}.sd-hint-label{flex-shrink:0;width:80px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff6;text-align:right}.sd-hint-value{flex:1;font-size:12px;font-weight:500;color:#ffffffbf;line-height:1.4;text-align:left}.sd-buttons{width:100%;display:flex;justify-content:center;opacity:0;transform:translateY(8px);transition:opacity .18s ease-out .92s,transform .18s ease-out .92s}.strand-discovery-overlay.is-visible .sd-buttons{opacity:1;transform:translateY(0)}.sd-btn{font-family:inherit;font-size:13px;font-weight:700;padding:10px 32px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform .12s ease-out;min-height:40px;min-width:120px}.sd-btn-primary{background:linear-gradient(180deg,var(--color-accent),var(--color-accent-dark));color:#1a1108;box-shadow:0 2px 8px rgba(var(--color-accent-rgb),.28)}.sd-btn-primary:hover{background:linear-gradient(180deg,var(--color-accent-hover),var(--color-accent));box-shadow:0 4px 14px rgba(var(--color-accent-rgb),.4);transform:translateY(-1px)}@media (max-width: 640px){.strand-discovery-card{padding:var(--spacing-md);max-width:92vw}.sd-portrait{width:180px;height:180px}.sd-name{font-size:22px}.sd-buttons .sd-btn{width:100%}}.npc-briefing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 10);background:#0000;opacity:0;pointer-events:none;transition:opacity .25s ease-out,background-color .25s ease-out}.npc-briefing-overlay.is-visible{opacity:1;pointer-events:auto;background:#0006}.npc-briefing-overlay,.main-menu.nb-active{user-select:none;-webkit-user-select:none}.nb-scene{position:relative;width:100%;height:100%;background-size:cover;background-position:center;overflow:hidden;container-type:size}.main-menu.nb-active .party-info{opacity:0;transition:opacity .3s ease}.nb-npc{position:absolute;right:12%;bottom:10%;z-index:3;display:flex;flex-direction:column;align-items:center;opacity:0;filter:brightness(1);transition:opacity .4s ease-out,filter .4s ease}.nb-npc.is-visible{opacity:1}.nb-npc img{height:55vh;min-height:200px;max-height:400px;width:auto;object-fit:contain;transform:scaleX(-1);filter:drop-shadow(2px 4px 16px rgba(0,0,0,.6))}.nb-npc--multi{flex-direction:row;align-items:flex-end;right:6%;gap:clamp(20px,4vw,80px)}.nb-npc--multi .nb-npc-sprite{transition:filter .3s ease;filter:brightness(.7) drop-shadow(2px 4px 16px rgba(0,0,0,.6))}.nb-npc--multi .nb-npc-sprite.is-speaking{filter:brightness(1) drop-shadow(2px 4px 16px rgba(0,0,0,.6))}.nb-party{position:absolute;left:4%;bottom:12%;z-index:3;display:flex;align-items:flex-end;gap:clamp(0px,2vw,20px);opacity:0;transition:opacity .4s ease-out}.nb-party.is-visible{opacity:1}.nb-party .unit-portrait--lg{height:45cqh;width:auto;object-fit:contain;filter:drop-shadow(2px 4px 12px rgba(0,0,0,.5));transition:filter .4s ease}.nb-party .party-info{display:none}.npc-briefing-overlay.nb-debrief.is-visible{background:#0006}.main-menu.nb-active.nb-speaker-npc .party-member,.main-menu.nb-active.nb-speaker-party .party-member{filter:brightness(.7);transition:filter .4s ease}.main-menu.nb-active.nb-speaker-party .party-member.nb-speaking{filter:brightness(1)}.main-menu.nb-active.nb-speaker-party .nb-npc{filter:brightness(.7)}.main-menu.nb-active .quest-npc,.main-menu.nb-active .party-member{pointer-events:none}.npc-briefing-overlay.nb-speaker-npc .nb-party .unit-portrait--lg{filter:brightness(.7) drop-shadow(2px 4px 12px rgba(0,0,0,.5))}.npc-briefing-overlay.nb-speaker-party .nb-npc{filter:brightness(.7)}.npc-briefing-overlay.nb-speaker-party .nb-party .unit-portrait--lg{filter:brightness(.7) drop-shadow(2px 4px 12px rgba(0,0,0,.5))}.npc-briefing-overlay.nb-speaker-party .nb-party .party-member.nb-speaking .unit-portrait--lg{filter:brightness(1) drop-shadow(2px 4px 12px rgba(0,0,0,.5))}.nb-dialogue{position:absolute;bottom:6%;left:50%;transform:translate(-50%) translateY(12px);z-index:12;width:88%;max-width:640px;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .35s ease-out .1s,transform .35s ease-out .1s,left .35s ease;background:#0c0a08ed;border:1px solid rgba(200,168,110,.25);border-top:2px solid rgba(200,168,110,.45);border-radius:10px;box-shadow:0 6px 32px #0000008c,0 0 1px #c8a86e1f,inset 0 1px #ffffff0a}.nb-dialogue.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.nb-dialogue.nb-align-npc{left:54%}.nb-dialogue.nb-align-party{left:46%}.nb-header{display:flex;align-items:center;gap:12px;padding:14px 18px 0;transition:opacity .12s ease-in}.nb-portrait{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:2px solid rgba(200,168,110,.35);overflow:hidden;background:#0006}.nb-portrait-img{width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(2.4);transform-origin:center -7%}.nb-speaker-info{display:flex;flex-direction:column;gap:2px;min-width:0}.nb-name{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.05em;color:var(--color-accent);text-transform:uppercase}.nb-name--party{color:var(--color-text-primary)}.nb-title{font-size:10px;font-weight:500;letter-spacing:.5px;color:var(--color-text-secondary);opacity:.65}.nb-body{padding:10px 18px 4px;transition:opacity .12s ease-in}.nb-text{font-size:14px;line-height:1.7;color:var(--color-text-primary);min-height:3.4em}.nb-cursor{display:inline;color:var(--color-accent);opacity:.6;animation:nb-cursor-blink .8s step-end infinite;margin-left:1px;font-weight:300}@keyframes nb-cursor-blink{0%,to{opacity:.6}50%{opacity:0}}.nb-footer{display:flex;align-items:center;justify-content:flex-end;padding:8px 18px 12px}.nb-continue{font-size:11px;font-weight:600;letter-spacing:.4px;color:#c8a86e73;opacity:0;transition:opacity .3s ease;-webkit-user-select:none;user-select:none}.nb-continue.is-visible{opacity:1;animation:nb-continue-pulse 2.2s ease-in-out infinite}@keyframes nb-continue-pulse{0%,to{opacity:.5}50%{opacity:1}}.nb-dialogue.nb-text-fade .nb-header,.nb-dialogue.nb-text-fade .nb-body{opacity:0;transition:opacity 80ms ease-out}@media (max-width: 767px){.nb-dialogue{width:94%;bottom:4%}.nb-dialogue.nb-align-npc,.nb-dialogue.nb-align-party{left:50%}.nb-portrait{width:40px;height:40px}.nb-name{font-size:12px}.nb-text{font-size:13px}}.nb-decision-center-sprite{position:absolute;left:50%;bottom:22%;transform:translate(-50%);height:55vh;min-height:240px;max-height:460px;width:auto;max-width:50vw;object-fit:contain;filter:drop-shadow(2px 4px 16px rgba(0,0,0,.6));pointer-events:none;transition:filter .2s ease-out;will-change:opacity,transform,filter}.nb-decision-bottom-stack{position:absolute;left:50%;bottom:4%;transform:translate(-50%);width:min(760px,92%);display:flex;flex-direction:column;gap:16px;z-index:12}.nb-decision-bottom-stack .nb-dialogue{position:static;left:auto;bottom:auto;transform:none;width:100%;max-width:none;cursor:default}.nb-choices-row{display:flex;gap:24px;width:100%;justify-content:center;opacity:0;transition:opacity .3s ease-out .15s;pointer-events:none}.nb-choices-row.is-visible{opacity:1;pointer-events:auto}.nb-choice-card{flex:1 1 0;min-width:0;background:#141218e0;border:1px solid rgba(255,214,150,.35);border-radius:10px;padding:18px 20px;color:var(--color-text-primary, #e8e8e8);cursor:pointer;transition:transform .16s ease-out,border-color .16s ease-out,background .16s ease-out;text-align:left;font-family:inherit}.nb-choice-card:hover,.nb-choice-card:focus-visible{transform:translateY(-2px);border-color:#ffd696bf;background:#1e1a20eb;outline:none}.nb-choice-card:disabled{opacity:.5;cursor:default;transform:none}.nb-choice-label{display:block;font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#f4e0b0;margin-bottom:6px}.nb-choice-preview{display:block;font-size:13px;line-height:1.45;font-style:italic;color:#e8e8e8d9}.nb-decision-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff8dcbf;opacity:0;pointer-events:none;z-index:4}.nb-decision-flash.is-firing{animation:nb-decision-flash .18s ease-out}@keyframes nb-decision-flash{0%,to{opacity:0}30%{opacity:1}}.nb-decision-blackout{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;z-index:6;transition:opacity .3s ease-in}.nb-decision-blackout.is-firing{opacity:1}.nb-scene.nb-decision-shake{animation:nb-decision-shake .12s linear}@keyframes nb-decision-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}}.nb-decision-center-sprite.is-executing{animation:nb-orien-execute 1.1s ease-out forwards}@keyframes nb-orien-execute{0%{opacity:1;filter:none}7%{opacity:1;filter:brightness(1.6) saturate(.7)}18%{opacity:.95;filter:saturate(1.8) brightness(.85) hue-rotate(-8deg)}45%{opacity:.65;filter:saturate(.3) brightness(.55)}to{opacity:0;filter:saturate(0) brightness(.3)}}.nb-decision-center-sprite.is-sparing{animation:nb-orien-spare .75s ease-out forwards}@keyframes nb-orien-spare{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1);filter:none}50%{opacity:.55;transform:translate(-50%) translateY(-10px) scale(.99);filter:brightness(1.08)}to{opacity:0;transform:translate(-50%) translateY(-20px) scale(.98);filter:brightness(1.15)}}.nb-decision-goldwash{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;opacity:0;pointer-events:none;z-index:3;transition:background .6s ease-out,opacity .6s ease-out}.nb-decision-goldwash.is-firing{background:#ffd28c59;opacity:1}
