/* Extracted shell CSS — static only. Fonts stay inline in index.html for ?v= bust. */
/* Pre–July 31 stacks: Noto body sitewide; FOTK only on brand title. Same-origin files (no CDN font force). */





:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-card:#1a2236;--bg-card-hover:#1f2a42;--bg-input:#0d1321;--bg-modal:#141c2e;--border-color:#2a3654;--border-accent:#3b5998;--text-primary:#f0f2f7;--text-secondary:#b4bfd4;--text-muted:#8494ae;--accent-blue:#4a90d9;--accent-cyan:#00d4ff;--accent-gold:#ffd700;--accent-orange:#ff9500;--accent-red:#ff4757;--accent-green:#2ed573;--accent-purple:#a855f7;--shadow-surface-inset:inset 0 1px 0 rgba(255,255,255,.02);--shadow-surface-drop:0 1px 0 rgba(0,0,0,.25);--shadow-surface:var(--shadow-surface-inset),var(--shadow-surface-drop);--shadow-lg:var(--shadow-surface),0 8px 30px rgba(0,0,0,.6);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--transition:border-color 0.2s cubic-bezier(0.2,0,0,1),color 0.2s cubic-bezier(0.2,0,0,1),background 0.2s cubic-bezier(0.2,0,0,1),background-color 0.2s cubic-bezier(0.2,0,0,1),box-shadow 0.2s cubic-bezier(0.2,0,0,1),transform 0.2s cubic-bezier(0.2,0,0,1),opacity 0.2s cubic-bezier(0.2,0,0,1),filter 0.2s cubic-bezier(0.2,0,0,1);--list-thead-sticky-top:124px;--dvh:100dvh;--app-vh:100dvh;--layout-vh:100vh;--visual-vv-offset-top:0px;--cmp-browser-inset-bottom:0px;--toggle-depth-inset:var(--shadow-surface-inset);--toggle-depth-rim:var(--shadow-surface-drop);--toggle-depth-active-inset:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(255,255,255,.04);--brand-title-optical-x:1px;--brand-emblem-optical-x:0.5px;--brand-logo-optical-x:1px;--brand-logo-optical-y:-1px;--icon-optical-y:-0.5px;--icon-close-optical-x:-0.35px;--icon-close-optical-y:-0.35px;--portrait-optical-y:-1px;--ability-ex-inner-mask:url('/static/images/UI/UI_CharaAbilities_Tmb_Square_Normal_Base.webp');color-scheme:dark}
/* EN: Roboto/system (+ OS CJK for JP names) — no multi-MB CJK download on EN.
   JA/TW/HK: pre-perf stacks (Noto + ShinGo / UDShinGo). Brand = FOTK Latin WOFF2 subset. */
html{--font-body:'RobotoMediumNumbers',-apple-system,BlinkMacSystemFont,'Segoe UI','Yu Gothic UI','Yu Gothic','Meiryo',sans-serif;--font-tag-ui:var(--font-body);--font-brand:'FOTK Yoon Gothic 780 JP','ShinGoPr6DeBold',var(--font-body)}
html[data-ui-lang="JA"],html[data-ui-lang="JP"]{--font-body:'Noto Sans JP','ShinGoPr6DeBold','RobotoMediumNumbers',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-tag-ui:var(--font-body);--font-brand:'FOTK Yoon Gothic 780 JP','ShinGoPr6DeBold',var(--font-body)}
html[data-ui-lang="TW"],html[data-ui-lang="HK"]{--font-body:'Noto Sans JP','UDShinGoStdTCMed','RobotoMediumNumbers','ShinGoPr6DeBold',-apple-system,BlinkMacSystemFont,'PingFang TC','Microsoft JhengHei UI','Microsoft JhengHei',sans-serif;--font-tag-ui:'Noto Sans JP','UDShinGoStdTCMed','RobotoMediumNumbers','ShinGoPr6DeBold',-apple-system,BlinkMacSystemFont,'PingFang TC','Microsoft JhengHei UI','Microsoft JhengHei',sans-serif;--font-brand:'FOTK Yoon Gothic 780 JP',var(--font-body)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;background-color:var(--bg-primary)}
button,a,.nav-tab,.page-btn,.role-filter-btn,.role-filter-dd-btn,.rarity-filter-btn,.tag-unit-item{cursor:pointer;-webkit-tap-highlight-color:rgba(0,212,255,0.2)}
body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;min-height:100dvh;overflow-x:visible;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea,optgroup{font-family:inherit}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}
.bg-pattern{position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--bg-primary);background-image:radial-gradient(ellipse at 18% 16%,rgba(0,212,255,0.055) 0%,transparent 52%),radial-gradient(ellipse at 82% 78%,rgba(201,169,98,0.045) 0%,transparent 50%)}
.app-header{background-color:#111827;background-image:linear-gradient(180deg,#111827,#0a0e17);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;isolation:isolate;box-shadow:var(--shadow-surface-drop)}
.header-inner{max-width:1600px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.header-brand{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:1;min-width:0;max-width:100%}.header-brand:hover .brand-text{color:var(--accent-cyan)}.header-brand:hover .brand-title-row::before{opacity:.92}
.brand-logo{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;aspect-ratio:1/1}.brand-logo img{width:100%;height:100%;object-fit:contain;object-position:calc(50% + var(--brand-logo-optical-x)) calc(50% + var(--brand-logo-optical-y))}
.brand-copy{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;max-width:100%;width:max-content;line-height:1.05;overflow:visible}
/* Brand title: smaller type + hard-step drop shadow for readable 3D */
.brand-title-row{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:1px 2px 2px;isolation:isolate;max-width:100%;width:max-content;box-sizing:border-box;overflow:visible}
.brand-title-row::before{content:'';position:absolute;left:50%;top:50%;width:78px;height:42px;transform:translate(calc(-50% + var(--brand-emblem-optical-x)),-58%);background:url('/static/images/UI/brand-emblem-panel.webp') center/contain no-repeat;opacity:.72;mix-blend-mode:lighten;pointer-events:none;z-index:0;transition:var(--transition)}
.brand-text{position:relative;z-index:1;margin:0;font-size:clamp(10px,1.5vw + 6px,16px);font-weight:500;font-family:var(--font-brand);letter-spacing:.03em;color:var(--text-primary);transition:color .2s ease,text-shadow .2s ease;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:.2em;row-gap:.04em;line-height:1.2;max-width:100%;box-sizing:border-box;text-align:center;overflow:visible;font-synthesis:none;-webkit-font-smoothing:antialiased;transform:translateX(var(--brand-title-optical-x));text-shadow:0 1px 0 rgba(255,255,255,.28),0 -1px 0 rgba(0,0,0,.45),1px 1px 0 rgba(0,0,0,.7),2px 2px 0 rgba(0,0,0,.55),3px 3px 0 rgba(0,0,0,.4),4px 5px 10px rgba(0,0,0,.75)}
.brand-word{display:inline-block;white-space:nowrap;flex:0 1 auto;max-width:100%;overflow:visible;text-shadow:inherit}.brand-word-ggen{margin-right:0}.brand-word-db{letter-spacing:.04em}.brand-word-db.brand-frame-3{margin-left:0}
@keyframes brand-title-nudge-l{0%,100%{transform:translateX(0)}50%{transform:translateX(-2px)}}
@keyframes brand-title-nudge-r{0%,100%{transform:translateX(0)}50%{transform:translateX(2px)}}
@keyframes brand-title-nudge-r-far{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.brand-frame-1,.brand-frame-2,.brand-frame-3{transition:transform .2s ease-out}
@media(hover:hover){.header-brand:hover .brand-text{text-shadow:0 1px 0 rgba(210,245,255,.4),0 -1px 0 rgba(0,0,0,.4),1px 1px 0 rgba(0,40,60,.65),2px 2px 0 rgba(0,30,50,.5),3px 3px 0 rgba(0,20,40,.35),4px 6px 12px rgba(0,0,0,.7),0 0 14px rgba(0,212,255,.35)}.header-brand:hover .brand-frame-1{animation:brand-title-nudge-l .4s ease-in-out}.header-brand:hover .brand-frame-2{animation:brand-title-nudge-r .4s ease-in-out .1s}.header-brand:hover .brand-frame-3{animation:brand-title-nudge-r-far .4s ease-in-out .2s}}
@media(prefers-reduced-motion:reduce){.header-brand:hover .brand-frame-1,.header-brand:hover .brand-frame-2,.header-brand:hover .brand-frame-3{animation:none}}
.brand-sub{font-size:clamp(8px,1.1vw + 4px,11px);font-family:var(--font-brand);font-weight:500;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:1px;padding:0;text-align:center;font-synthesis:none;transform:translateX(calc(var(--brand-title-optical-x)*.65));max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.14),1px 1px 0 rgba(0,0,0,.65),2px 2px 0 rgba(0,0,0,.4),3px 4px 8px rgba(0,0,0,.55)}
.header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-lang-col{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.header-lang-kofi-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:min(calc(100% - 32px),520px)}
.header-support-btns{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.header-lang-col .alipayhk-header-btn,.header-lang-col .kofi-header-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:3px 9px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;line-height:1;max-width:100%;white-space:nowrap;box-sizing:border-box;vertical-align:middle}
@media(max-width:768px){
  .header-controls{flex-shrink:1;min-width:0}
  .header-lang-col{min-width:0;max-width:100%}
  .header-lang-kofi-row{max-width:100%;align-items:flex-start;gap:6px 10px}
  .header-support-btns{flex-direction:column;align-items:stretch;align-self:flex-start;gap:6px;max-width:min(calc(100vw - 120px),280px);min-width:0}
  .header-lang-col .header-support-btns .alipayhk-header-btn,.header-lang-col .header-support-btns .kofi-header-link{justify-content:center;white-space:normal;text-align:center;line-height:1.2}
}
.header-lang-col .alipayhk-header-btn{margin:0;background:linear-gradient(135deg,rgba(0,200,255,.12),rgba(140,70,200,.14));border:1px solid rgba(100,170,255,.5);color:#e8f0ff!important;cursor:pointer;box-shadow:0 0 0 1px rgba(80,140,220,.35),0 2px 8px rgba(0,0,0,.25);transition:box-shadow .2s ease,border-color .2s ease;-webkit-appearance:none;appearance:none}.header-lang-col .alipayhk-header-btn:hover{box-shadow:0 0 0 1px rgba(0,220,255,.5),0 0 12px rgba(120,80,200,.3);border-color:rgba(0,212,255,.6)}
.header-lang-col .kofi-header-link{background:rgba(69,128,230,.15);border:1px solid rgba(69,128,230,.45);color:#e8f0ff!important;text-decoration:none!important;cursor:pointer;box-shadow:0 0 0 1px rgba(69,128,230,.4),0 2px 8px rgba(0,0,0,.25);transition:box-shadow .2s ease,border-color .2s ease}.header-lang-col .kofi-header-link:hover{box-shadow:0 0 0 1px rgba(0,212,255,.45),0 0 12px rgba(69,128,230,.25);border-color:rgba(0,212,255,.55)}
.header-lang-col .alipayhk-header-ic,.header-lang-col .kofi-header-ic{width:18px;height:18px;min-width:18px;min-height:18px;object-fit:contain;object-position:center;flex-shrink:0;display:block}
.alipayhk-modal-card.whats-new-card{max-width:min(420px,96vw);min-height:0}
.alipayhk-modal-body{padding:0 20px 20px;text-align:center}
.alipayhk-modal-qr{width:100%;max-width:340px;height:auto;display:block;margin:0 auto;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.35)}
.alipayhk-modal-hint{margin:14px 0 0;font-size:14px;color:var(--text-muted);line-height:1.45}
.lang-selector{position:relative;display:inline-block}.lang-btn{padding:4px 10px 4px 11px;background:linear-gradient(180deg,rgba(30,41,68,.95) 0%,rgba(13,19,33,.98) 100%);border:1px solid rgba(74,144,217,.5);border-radius:999px;color:var(--text-primary);font-size:12px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;min-width:3.25em;box-shadow:0 0 0 1px rgba(0,212,255,.1),inset 0 1px 0 rgba(255,255,255,.07)}.lang-btn:hover{border-color:rgba(0,212,255,.55);box-shadow:0 0 0 1px rgba(0,212,255,.22),0 0 14px rgba(74,144,217,.22),inset 0 1px 0 rgba(255,255,255,.09)}.lang-btn:focus-visible{outline:2px solid rgba(0,212,255,.45);outline-offset:2px}.lang-btn-caret{display:inline-block;font-size:9px;line-height:1;opacity:.85;margin-left:1px;transform:translateY(1px)}
.whats-new-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;background:rgba(0,40,80,.35);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition);max-width:100%;position:relative}
.whats-new-btn:hover{border-color:var(--accent-cyan);color:var(--text-primary);background:rgba(0,212,255,.08)}
.whats-new-ic{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.bt-gacha-hub{margin:0 0 16px;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:rgba(0,0,0,.22)}
.bt-gacha-hub-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit}
.bt-gacha-hub-toggle:focus-visible{outline:2px solid rgba(0,212,255,.55);outline-offset:3px;border-radius:4px}
.bt-gacha-hub-title{margin:0;font-size:15px;font-weight:800;color:var(--accent-cyan);letter-spacing:.02em}
.bt-gacha-hub-caret{width:8px;height:8px;border-right:2px solid var(--accent-cyan);border-bottom:2px solid var(--accent-cyan);transform:rotate(45deg);transition:transform .2s ease;flex-shrink:0;margin-right:4px}
.bt-gacha-hub.is-collapsed .bt-gacha-hub-caret{transform:rotate(-45deg);margin-top:2px}
.bt-gacha-hub.is-collapsed{padding-bottom:10px}
.bt-gacha-hub-body{margin-top:8px}
.bt-gacha-hub.is-collapsed .bt-gacha-hub-body{display:none}
.bt-gacha-hub-hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--text-secondary)}
.bt-gacha-hub-grid{display:flex;flex-direction:column;gap:10px}
.bt-gacha-hub-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-card-hover);border:1px solid var(--border-color)}
.bt-gacha-hub-card-head{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 200px}
.bt-gacha-hub-thumb{width:56px;height:32px;object-fit:cover;border-radius:4px;flex-shrink:0;background:rgba(0,0,0,.3)}
.bt-gacha-hub-card-title{font-size:13px;font-weight:700;line-height:1.3;color:var(--text-primary)}
.bt-gacha-preview-wrap--compact{margin-top:0}
#panel-banner_timeline .bt-gacha-preview-wrap{margin-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
#panel-banner_timeline .bt-gacha-bonus-lbl{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
#panel-banner_timeline .bt-gacha-preview-btn{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card-hover);color:var(--accent-cyan);font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition)}
#panel-banner_timeline .bt-gacha-preview-btn:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,.08)}
.bt-gacha-preview-wrap--regular{flex-direction:column;align-items:stretch;width:100%}
.bt-gacha-pick-row{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px}
.bt-gacha-pick-lbl{font-size:11px;color:var(--text-secondary);display:flex;flex-direction:column;gap:3px;min-width:120px;flex:1 1 140px}
.bt-gacha-pick{padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:11px;max-width:100%}
.unit-portrait-wrap{position:relative;overflow:visible}
.modal-content.unit-detail .detail-portrait-stack{overflow:visible}
.modal-content.unit-detail .unit-portrait-wrap{padding:0 6px 8px 0;box-sizing:border-box}
.modal-content.unit-detail .unit-portrait-wrap:has(#unitLbVideoBtnSlot .unit-lb-video-btn),
.modal-content.unit-detail .unit-portrait-wrap:has(#unitLbVideoBtnSlot .unit-gacha-pull-video-btn){padding-bottom:26px}
.modal-content.unit-detail .unit-portrait-wrap:has(#unitLbVideoBtnSlot .unit-lb-video-btn) #unitLbVideoBtnSlot,
.modal-content.unit-detail .unit-portrait-wrap:has(#unitLbVideoBtnSlot .unit-gacha-pull-video-btn) #unitLbVideoBtnSlot{bottom:4px;right:8px}
#unitLbVideoBtnSlot{position:absolute;right:10px;bottom:28px;z-index:4;line-height:0;padding:4px;pointer-events:none;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}
#unitLbVideoBtnSlot .unit-lb-video-btn,
#unitLbVideoBtnSlot .unit-gacha-pull-video-btn{pointer-events:auto}
@media(prefers-reduced-motion:reduce){.unit-lb-video-btn:hover,.unit-lb-video-btn:active,.unit-gacha-pull-video-btn:hover,.unit-gacha-pull-video-btn:active{transform:none}.unit-gacha-pull-video-btn::before{animation:none}}
.media-video-overlay{position:fixed;inset:0;width:100%;height:100%;min-height:100dvh;min-height:-webkit-fill-available;background:#000;z-index:10000;display:none;align-items:center;justify-content:center;overscroll-behavior:none;touch-action:manipulation;isolation:isolate}
.media-video-overlay.active{display:flex}
.media-video-stage{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#000;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
.media-video-stage video{width:100%;height:100%;object-fit:contain;background:#000}
.media-video-stage.media-video-stage--ping{position:relative}
.media-video-stage.media-video-stage--ping video{position:absolute;inset:0;margin:auto;width:100%;height:100%;object-fit:contain;background:#000}
.media-video-stage video.media-video-loop-buffer{opacity:0;visibility:hidden;pointer-events:none;z-index:0}
.media-video-stage video.media-video-loop-visible{opacity:1;visibility:visible;z-index:1}
.media-video-close{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:5;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;line-height:0;font-size:0;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.5);color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;--ui-close-icon-size:17px;transition:opacity .25s ease,visibility .25s ease,background .25s ease,border-color .25s ease}
.media-video-close:hover{background:rgba(255,71,87,.55);border-color:rgba(255,71,87,.65)}
@media(hover:hover) and (pointer:fine){
.media-video-close{opacity:0;visibility:hidden;pointer-events:none}
.media-video-overlay.active.is-controls-visible .media-video-close{opacity:1;visibility:visible;pointer-events:auto}
}
.media-video-assault{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);z-index:3;padding:12px 28px;border-radius:999px;border:2px solid rgba(255,255,255,.6);background:rgba(200,40,40,.75);color:#fff;font-size:16px;font-weight:800;letter-spacing:.06em;cursor:pointer;text-transform:uppercase}
.media-video-controls{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;display:flex;gap:10px}
.media-video-controls button{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.45);color:#fff;font-size:13px;cursor:pointer}
.media-video-status{position:absolute;left:12px;bottom:16px;z-index:3;max-width:min(92vw,520px);padding:8px 12px;border-radius:var(--radius-sm);background:rgba(0,0,0,.55);color:#ddd;font-size:12px;line-height:1.35;pointer-events:none}
.media-video-status.is-error{color:#ffb4b4;border:1px solid rgba(255,100,100,.35)}
.media-video-spinner{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:2;pointer-events:none;color:#fff;font-size:14px;letter-spacing:.04em;background:rgba(0,0,0,.35)}
.media-video-overlay.is-loading .media-video-spinner{display:flex}
.media-video-toolbar{position:absolute;right:12px;bottom:12px;z-index:4;display:none;flex-direction:row;align-items:flex-end;gap:8px;padding:0;border:none;background:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
.media-video-overlay.active .media-video-toolbar{display:flex}
.media-video-overlay.active.is-controls-visible .media-video-toolbar{opacity:1;visibility:visible;pointer-events:auto}
.media-video-toolbar-btn{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.45);color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.media-video-toolbar-btn:hover{background:rgba(255,255,255,.12)}
.media-video-volume-wrap{position:relative;display:flex;align-items:center;justify-content:center}
.media-video-volume-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;padding:8px 6px;border-radius:10px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.18);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.media-video-volume-wrap:hover .media-video-volume-pop,.media-video-volume-wrap:focus-within .media-video-volume-pop{opacity:1;visibility:visible;pointer-events:auto}
.media-video-volume-pop input[type=range]{writing-mode:vertical-lr;direction:rtl;width:28px;height:88px;margin:0;padding:0;accent-color:var(--accent-cyan,#5ec8e8);cursor:pointer}
.media-video-stage:fullscreen,.media-video-stage:-webkit-full-screen{width:100vw;height:100vh;max-width:none;max-height:none;padding:0}
.media-video-stage:fullscreen video,.media-video-stage:-webkit-full-screen video{width:100%;height:100%;max-height:100vh;object-fit:contain}
@media(orientation:portrait){
.media-video-stage.media-video-stage--landscape-fs:fullscreen,.media-video-stage.media-video-stage--landscape-fs:-webkit-full-screen,.media-video-overlay.media-video-overlay--pseudo-fs .media-video-stage.media-video-stage--landscape-fs{position:fixed;top:50%;left:50%;width:100vh;height:100vw;max-width:none;max-height:none;margin:0;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center}
.media-video-stage.media-video-stage--landscape-fs:fullscreen video,.media-video-stage.media-video-stage--landscape-fs:-webkit-full-screen video,.media-video-overlay.media-video-overlay--pseudo-fs .media-video-stage.media-video-stage--landscape-fs video{width:100%;height:100%;object-fit:contain}
}
.media-video-overlay.media-video-overlay--pseudo-fs{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;z-index:10000;align-items:center;justify-content:center}
html.media-video-open-lock,html.media-video-open-lock body{overflow:hidden!important;height:100%;overscroll-behavior:none;touch-action:none}
html.media-video-open-lock .bg-pattern{visibility:hidden}
html.media-video-pseudo-fs-lock,html.media-video-pseudo-fs-lock body{overflow:hidden;height:100%;overscroll-behavior:none}
@media(max-width:768px){
.media-video-overlay.active .media-video-stage{max-width:100%;max-height:100%;width:100%;height:100%}
.media-video-close{top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px))}
.media-video-toolbar{bottom:max(12px,env(safe-area-inset-bottom,0px));right:max(12px,env(safe-area-inset-right,0px))}
}
.whats-new-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(4px);z-index:560;display:flex;align-items:center;justify-content:center;padding:16px;visibility:hidden;opacity:0;pointer-events:none}
.whats-new-overlay.active{visibility:visible;opacity:1;pointer-events:auto}
.whats-new-card{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:min(1400px,98vw);width:100%;max-height:min(92vh,1200px);min-height:320px;overflow:hidden;display:flex;flex-direction:column;position:relative}
.whats-new-card .modal-close{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:2}
.whats-new-head{padding:18px 44px 14px 20px;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,.25)}
.whats-new-head h2{margin:0;font-size:22px;font-weight:700;color:var(--accent-cyan);display:flex;align-items:center;gap:10px}
.whats-new-head .whats-new-ic{width:28px;height:28px}
.whats-new-body{padding:18px clamp(16px,3vw,32px) 28px;overflow-y:auto;overflow-x:auto;font-size:14px;line-height:1.55;color:var(--text-primary);flex:1;min-height:0}
.whats-new-date-wrap{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.whats-new-date-label{font-size:13px;font-weight:800;color:var(--accent-orange);letter-spacing:.02em;white-space:nowrap}
.whats-new-date-select{
  min-width:min(100%,280px);max-width:100%;
  padding:10px 36px 10px 14px;border-radius:var(--radius-sm);
  border:1px solid var(--border-color);
  background-color:var(--bg-input);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath stroke='%23ff9500' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:14px;
  color:var(--text-primary);-webkit-text-fill-color:var(--text-primary);
  font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  accent-color:var(--accent-orange);color-scheme:dark;
  font-synthesis:none;text-shadow:none;-webkit-font-smoothing:antialiased;
}
.whats-new-date-select:hover{border-color:rgba(255,149,0,.45);background-color:var(--bg-card)}
.whats-new-date-select:focus{outline:none;border-color:var(--accent-orange);box-shadow:0 0 0 1px rgba(255,149,0,.28)}
.whats-new-date-select option,.whats-new-date-select optgroup{background:var(--bg-secondary);color:var(--text-primary)}
.whats-new-tab-panel{display:none}
.whats-new-tab-panel.active{display:block}
.whats-new-tab-empty{color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}
.whats-new-block{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.whats-new-block:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}
.whats-new-block .wn-label{display:block;font-weight:800;color:var(--accent-orange);margin:0 0 10px;font-size:15px;letter-spacing:.02em}
.whats-new-block .wn-date-row{font-size:15px;margin-bottom:6px}
.whats-new-block .wn-date-row .wn-label{display:inline;margin:0 8px 0 0;font-size:15px}
.whats-new-block ul.wn-added-list{margin:8px 0 0;padding:0;list-style:none}
.whats-new-block ul.wn-added-list li{margin:8px 0;padding:0;background:transparent;border:none}
.whats-new-block ul.wn-added-list li.wn-added-li--plain{padding:8px 12px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);border-left:3px solid var(--accent-cyan)}
.wn-added-btn{display:block;width:100%;text-align:left;padding:10px 14px;margin:0;background:rgba(0,0,0,.22);border:1px solid var(--border-color);border-radius:var(--radius-sm);border-left:3px solid var(--accent-cyan);color:var(--text-primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}
.wn-added-btn:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,.1);color:var(--accent-cyan)}
.wn-added-btn .wn-added-name{font-weight:700;color:var(--text-primary)}
.wn-change-card--link{cursor:pointer;transition:var(--transition)}
.wn-change-card--link:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,.06)}
.whats-new-change-ol{margin:10px 0 0;padding:0 0 0 1.35em;list-style:decimal}
.whats-new-change-ol>li{margin:0 0 22px;padding-left:4px}
.whats-new-change-ol>li:last-child{margin-bottom:0}
.wn-change-card{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px clamp(12px,2vw,20px) 18px;background:rgba(0,0,0,.22)}
.wn-change-head{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.4}
.wn-kbadge{display:inline-block;font-size:11px;font-weight:800;color:var(--accent-orange);text-transform:uppercase;letter-spacing:.04em;margin-right:8px;vertical-align:middle}
.wn-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wn-slot-table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.wn-slot-table th{text-align:left;padding:8px 10px;background:rgba(0,212,255,.08);color:var(--accent-cyan);font-weight:800;border:1px solid var(--border-color);white-space:nowrap}
.wn-slot-table td{padding:10px;border:1px solid rgba(255,255,255,.08);vertical-align:top}
.wn-slot-table td.wn-s-num{width:48px;text-align:center;font-weight:800;color:var(--text-secondary)}
.wn-slot-table .wn-name{font-weight:600;color:var(--text-primary)}
.wn-slot-table .wn-detail{margin-top:6px;font-size:12px;line-height:1.45;color:var(--text-muted);white-space:normal;word-break:break-word}
.wn-diff-grid{display:flex;flex-direction:column;width:100%;min-width:0;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:rgba(0,0,0,.12)}
.wn-diff-header-row,.wn-diff-body-row{display:grid;grid-template-columns:minmax(48px,56px) minmax(0,1fr) minmax(0,1fr);column-gap:clamp(14px,2.2vw,26px);row-gap:0;align-items:stretch;padding:0}
.wn-diff-header-row{background:rgba(0,212,255,.1);color:var(--accent-cyan);font-weight:800;font-size:13px;border-bottom:1px solid var(--border-color)}
.wn-diff-h-slot,.wn-diff-h-before,.wn-diff-h-after{padding:12px 10px 12px 12px;text-align:left}
.wn-diff-h-slot{text-align:center;padding-left:8px;padding-right:8px;border-right:1px solid rgba(255,255,255,.12)}
.wn-diff-h-before,.wn-diff-h-after{padding-bottom:14px}
.wn-diff-body-row{border-bottom:1px solid rgba(255,255,255,.08)}
.wn-diff-body-row:last-child{border-bottom:none}
.wn-diff-body-row:nth-child(even){background:rgba(0,0,0,.08)}
.wn-diff-slot{padding:16px 8px 18px;text-align:center;font-weight:800;color:var(--text-secondary);font-size:13px;border-right:1px solid rgba(255,255,255,.12);align-self:stretch;display:flex;align-items:flex-start;justify-content:center;padding-top:18px}
.wn-diff-pre-col{padding:16px clamp(14px,2vw,22px) 20px;min-width:0;border-radius:var(--radius-sm);box-sizing:border-box}
.wn-diff-pre-col.wn-diff-pre--before{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1);border-right:2px solid rgba(0,212,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.wn-diff-pre-col.wn-diff-pre--after{background:rgba(0,48,88,.22);border:1px solid rgba(0,212,255,.22);box-shadow:inset 0 1px 0 rgba(0,212,255,.06)}
.wn-diff-pre{white-space:pre-line;font-size:13.5px;line-height:1.68;letter-spacing:.015em;color:var(--text-primary);word-break:break-word;overflow-wrap:anywhere;padding:2px 0 4px}
@media (max-width:640px){
  .wn-diff-header-row,.wn-diff-body-row{grid-template-columns:minmax(40px,44px) minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:10px;align-items:stretch}
  .wn-diff-h-slot{grid-row:1/span 2;grid-column:1;align-self:stretch;display:flex;align-items:flex-start;justify-content:center;padding-top:14px;border-right:1px solid rgba(255,255,255,.12)}
  .wn-diff-h-before{grid-column:2;grid-row:1;padding:10px 12px 6px 0;border-bottom:1px dashed rgba(0,212,255,.25)}
  .wn-diff-h-after{grid-column:2;grid-row:2;padding:6px 12px 10px 0}
  .wn-diff-slot{grid-row:1/span 2;grid-column:1;padding:14px 6px;border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:flex-start;justify-content:center;padding-top:16px}
  .wn-diff-pre-col.wn-diff-pre--before{grid-column:2;grid-row:1;border-right:none;border:1px solid rgba(255,255,255,.1)}
  .wn-diff-pre-col.wn-diff-pre--after{grid-column:2;grid-row:2;border:1px solid rgba(0,212,255,.22)}
  .wn-diff-pre-col.wn-diff-pre--before,.wn-diff-pre-col.wn-diff-pre--after{margin:0}
}
.wn-fromto-block{font-size:13px;line-height:1.5;color:var(--text-primary)}
.whats-new-fromto{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.whats-new-fromto .w-from{color:var(--text-muted);text-decoration:line-through;opacity:.9}
.whats-new-fromto .w-arrow{color:var(--accent-cyan);font-weight:700}
.whats-new-fromto .w-to{color:var(--text-primary)}
.lang-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);min-width:100%;width:max-content;max-width:min(100vw - 32px,320px);box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:200;display:none;text-align:center}.lang-dropdown.active{display:block}
.lang-option{padding:8px 18px;cursor:pointer;font-size:16px;font-weight:600;transition:var(--transition);white-space:nowrap;text-align:center}.lang-option:hover{background:var(--bg-card-hover);color:var(--accent-cyan)}.lang-option.selected{color:var(--accent-cyan)}
.nav-tabs-shell{position:relative;max-width:1600px;margin:0 auto;width:100%;min-height:48px}
.nav-tabs{display:flex;gap:0;max-width:1600px;margin:0 auto;padding:0 24px;flex-wrap:wrap;align-items:stretch}
.nav-tabs-shell .nav-tabs{max-width:none;margin:0;width:100%}
.nav-tab{padding:12px 28px;background:none;border:none;color:var(--text-secondary);font-size:18px;font-weight:600;cursor:pointer;position:relative;transition:var(--transition);letter-spacing:0.3px;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.2}
a.nav-tab:any-link{color:var(--text-secondary)}
a.nav-tab:visited{color:var(--text-secondary)}
a.nav-tab.active:any-link,a.nav-tab.active:visited{color:var(--accent-cyan)}
a.nav-tab:any-link:hover:not(.active),a.nav-tab:visited:hover:not(.active){color:var(--text-primary)}
.nav-tab::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--accent-cyan);border-radius:2px;transition:width 0.3s ease}
.nav-tab:hover{color:var(--text-primary)}.nav-tab:hover::after{width:60%}.nav-tab.active{color:var(--accent-cyan)}.nav-tab.active::after{width:80%}
.main-content{max-width:1600px;margin:0 auto;padding:20px 24px 40px;flex:1;min-width:0;width:100%}
.tab-panel{display:none;position:relative;min-height:calc(100vh - 200px)}.tab-panel.active{display:block}
.tab-panel::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.15;border-radius:var(--radius-lg)}
#panel-characters::before,#panel-supporters::before{background-image:url('/static/images/Background/obg_022_office.webp')}
#panel-units::before,#panel-stages::before{background-image:url('/static/images/Background/obg_011_garage.webp')}
#panel-ranking::before{background-image:url('/static/images/UI/UI_Home_Campaign_Image_01.webp')}
.nav-tab .nav-tab-icon{width:24px;height:24px;object-fit:contain;margin-right:8px;flex-shrink:0;vertical-align:middle;border-radius:4px;transform:translateY(var(--icon-optical-y))}
.nav-tab .nav-tab-icon--svg{width:24px;height:24px;flex-shrink:0;margin-right:8px;display:block;color:#fff;transform:translateY(var(--icon-optical-y))}
.ranking-top-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 12px;position:relative;z-index:1}
.ranking-mode-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:520px;border-radius:var(--radius-md);border:1px solid var(--border-color);overflow:hidden;background:var(--bg-secondary)}
.ranking-mode-btn{padding:9px 18px;border:none;background:transparent;color:var(--text-secondary);font-weight:700;font-size:15px;cursor:pointer;transition:var(--transition)}
.ranking-mode-btn:hover{color:var(--text-primary)}
.ranking-mode-btn.active{background:var(--bg-card);color:var(--accent-cyan)}
.ranking-head-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;min-width:0}
.ranking-head-trailing{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}
.ranking-head-view-wrap{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:0;padding:3px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;box-sizing:border-box;align-self:center}
#panel-ranking .ranking-head-view-wrap .ranking-view-toggle{border:none;background:transparent;padding:0;margin:0}
#panel-ranking .ranking-head-view-wrap .ranking-dir-btn{border:none;background:transparent;border-radius:0;margin:0;box-shadow:none;border-left:1px solid rgba(90,104,132,.65);padding:0 2px 0 6px;min-width:42px}
#panel-ranking .ranking-head-view-wrap .ranking-dir-btn:hover{background:rgba(0,212,255,.06);border-left-color:rgba(0,212,255,.35)}
.ranking-sort-row{display:flex;flex-wrap:wrap;flex:1 1 auto;align-items:flex-start;column-gap:8px;row-gap:6px;min-width:0;width:auto}
.ranking-stat-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;position:relative;overflow:visible}
#rankingStatPills.ranking-stat-pills{align-items:flex-end;padding:2px 2px 6px;gap:4px;--rank-dock-t:0.24s;--rank-dock-ease:cubic-bezier(0.22,1,0.36,1);--rank-prox-min-scale:0.88;--rank-prox-max-scale:1.14;--rank-prox-min-y:1px;--rank-prox-max-y:-4px}
#rankingStatPills.ranking-stat-pills .ranking-stat-pill{transform-origin:bottom center;transform:scale(var(--rank-prox-scale,1)) translateY(var(--rank-prox-y,0));filter:brightness(var(--rank-prox-bright,1))}
#rankingStatPills.ranking-stat-pills.is-prox-active .ranking-stat-pill{transition:transform .12s linear,filter .15s ease,box-shadow .15s ease,color .15s ease,border-color .15s ease}
@media(hover:hover) and (pointer:fine){
#rankingStatPills.ranking-stat-pills:not(.is-prox-active) .ranking-stat-pill{transition:transform var(--rank-dock-t) var(--rank-dock-ease),color var(--rank-dock-t) ease,border-color var(--rank-dock-t) ease,box-shadow var(--rank-dock-t) ease}
#rankingStatPills.ranking-stat-pills:not(.is-prox-active):has(.ranking-stat-pill:hover) .ranking-stat-pill:not(:hover){transform:scale(0.88) translateY(1px)}
#rankingStatPills.ranking-stat-pills:not(.is-prox-active) .ranking-stat-pill:hover{transform:scale(1.14) translateY(-4px);z-index:3;box-shadow:0 8px 20px rgba(0,0,0,.35)}
#rankingStatPills.ranking-stat-pills:not(.is-prox-active):has(.ranking-stat-pill:hover) .ranking-stat-pill:hover + .ranking-stat-pill,
#rankingStatPills.ranking-stat-pills:not(.is-prox-active):has(.ranking-stat-pill:hover) .ranking-stat-pill:has(+ .ranking-stat-pill:hover){transform:scale(1.05) translateY(-2px);z-index:2}
}
.ranking-tail-controls{display:inline-flex;align-items:flex-start;gap:10px;margin-left:0}
.ranking-view-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;border-radius:var(--radius-sm);border:none;background:transparent}
.ranking-exp-controls{display:inline-flex;align-items:center}
.ranking-exp-switches{display:inline-flex;gap:6px}
.ranking-exp-switch{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:999px;padding:3px 7px;min-width:73px;cursor:pointer;transition:var(--transition);box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim)}
.ranking-exp-switch.active{border-color:rgba(34,211,238,.55);color:#a5f3fc;background:rgba(34,211,238,.08);box-shadow:var(--toggle-depth-active-inset),var(--toggle-depth-rim),0 0 12px rgba(34,211,238,.14)}
.ranking-exp-switch-text{font-size:11px;font-weight:800;letter-spacing:.02em;min-width:0;flex:1 1 auto;text-align:center;display:inline-flex;align-items:center;justify-content:center}
.ranking-exp-switch-track{position:relative;width:28px;height:16px;border-radius:999px;background:rgba(90,104,132,.55);transition:background .3s ease,box-shadow .3s ease;box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim)}
.ranking-exp-switch-track.active{background:linear-gradient(90deg,rgba(56,189,248,.7),rgba(45,212,191,.72));box-shadow:var(--toggle-depth-active-inset),var(--toggle-depth-rim)}
.ranking-exp-switch-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#f8fafc;box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim),0 1px 4px rgba(0,0,0,.28);transition:left .4s cubic-bezier(.34,1.56,.64,1),transform .4s cubic-bezier(.34,1.56,.64,1),background .3s ease,box-shadow .22s ease}
.ranking-exp-switch-track.active .ranking-exp-switch-thumb{left:14px;transform:scale(1.03)}
.ranking-view-btn{width:40px;height:34px;padding:0;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}
.ranking-view-btn.active{background:rgba(255,149,0,.14);border-color:var(--accent-orange);color:var(--accent-orange)}
.ranking-view-icon{width:20px;height:20px;display:block;object-fit:contain}
.ranking-view-svg{width:20px;height:20px;display:block}
.ranking-view-svg rect{fill:currentColor}
.ranking-view-txt{display:none}
.ranking-stat-pill{padding:8px 12px;min-height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}
.ranking-stat-pill:hover{color:var(--text-primary);border-color:rgba(0,212,255,.35)}
.ranking-stat-pill.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:rgba(0,212,255,.10)}
.ranking-dir-btn{width:42px;height:36px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:15px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box}
.ranking-dir-btn:hover{border-color:var(--accent-cyan)}
.ranking-dir-icon{width:29px;height:29px;display:block;object-fit:contain}
.ranking-list-shell{position:relative;min-height:220px;z-index:1;margin-top:4px}
#panel-ranking .list-toolbar-left--browse>.browse-toolbar-top-row{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;flex:1 1 100%;width:100%;max-width:100%;box-sizing:border-box;justify-content:flex-start}
#panel-ranking .browse-toolbar-top-row .browse-toolbar-leading{flex:0 1 auto;min-width:0;max-width:100%}
#panel-ranking .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic{flex:0 0 min(21ch,23vw);width:min(21ch,23vw);max-width:min(21ch,23vw);min-width:min(13ch,100%);position:relative;z-index:2}
#panel-ranking .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic .filter-input--organic{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;field-sizing:fixed}
#panel-ranking .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic:focus-within{z-index:55;transform:translateZ(0)}
#panel-ranking .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic:focus-within .filter-input--organic{box-shadow:0 0 0 1px rgba(0,212,255,.35),0 12px 40px rgba(0,0,0,.5),0 0 48px rgba(0,212,255,.12);background:linear-gradient(180deg,rgba(14,20,36,.98),rgba(10,14,26,.96));border-color:rgba(0,212,255,.45)}
#panel-ranking #rankingCharToolbarHost .browse-toolbar-leading .filter-input-wrap--organic,
#panel-ranking #rankingUnitToolbarHost .browse-toolbar-leading .filter-input-wrap--organic{display:none!important}
.ranking-list-inner{display:flex;flex-direction:column;gap:8px}
.ranking-list-inner--matrix{gap:2px}
.ranking-row{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;text-align:left;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-surface)}
.ranking-row:hover{border-color:rgba(0,212,255,.45);box-shadow:var(--shadow-surface),0 4px 16px rgba(0,0,0,.25)}
.ranking-rank-num{font-weight:800;color:var(--accent-gold);min-width:2.6em;font-variant-numeric:tabular-nums}
.ranking-row-thumb{flex-shrink:0;display:flex;align-items:center}
.ranking-row-name{flex:1;min-width:0;font-weight:600;font-size:15px}
.ranking-row-stat{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:100px}
.ranking-stat-val{font-variant-numeric:tabular-nums;font-weight:800;font-size:14px}
.ranking-bar-track{display:block;width:min(128px,28vw);height:6px;border-radius:3px;background:var(--bg-secondary);overflow:hidden}
.ranking-bar-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,rgba(0,212,255,.25),var(--accent-cyan));min-width:2px}
.ranking-matrix-row{display:grid;grid-template-columns:clamp(150px,28vw,280px) minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:3px 0;border:none;border-radius:0;background:transparent;color:var(--text-primary);cursor:pointer}
.ranking-matrix-row:hover .ranking-matrix-track{box-shadow:0 0 0 1px rgba(34,211,238,.35),0 0 16px rgba(34,211,238,.16)}
.ranking-matrix-track{position:relative;height:22px;border-radius:999px;background:rgba(84,102,140,.14);overflow:visible}
.ranking-matrix-fill{position:absolute;left:0;top:3px;bottom:3px;border-radius:999px;background:linear-gradient(90deg,rgba(167,139,250,.86),rgba(34,211,238,.95))}
.ranking-matrix-start{display:inline-flex;align-items:center;gap:6px;min-width:0}
.ranking-matrix-dot{width:40px;height:40px;border:none;border-radius:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:1000;letter-spacing:.15px;line-height:1;color:#cbd5e1;background-color:transparent;background-image:radial-gradient(circle at 50% 48%,rgba(5,8,16,.68) 0%,rgba(5,8,16,.52) 44%,rgba(5,8,16,0) 72%),url('/static/images/UI/UI_Home_Menu_Icon_Shop.webp');background-repeat:no-repeat;background-size:contain,contain;background-position:center,center;box-shadow:none;font-variant-numeric:tabular-nums;-webkit-text-stroke:1px rgba(0,0,0,.98);paint-order:stroke fill;text-shadow:0 2px 8px rgba(0,0,0,.88),0 0 4px rgba(0,0,0,.96);flex-shrink:0}
.ranking-matrix-row:nth-child(1) .ranking-matrix-dot{color:#ffe08a}
.ranking-matrix-row:nth-child(2) .ranking-matrix-dot{color:#edf2fb}
.ranking-matrix-row:nth-child(3) .ranking-matrix-dot{color:#f7bf94}
.ranking-matrix-end{display:inline-flex;align-items:center;gap:6px;justify-self:end;justify-content:flex-end;min-width:0;padding-right:2px}
.ranking-matrix-thumb{display:flex;align-items:center}
.ranking-matrix-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(200px,30vw);text-align:left;color:#dbeafe}
.ranking-matrix-val{font-size:13px;font-weight:800;color:#67e8f9;font-variant-numeric:tabular-nums;white-space:nowrap}
.ranking-matrix-diff{font-size:11px;font-weight:800;padding:1px 6px;border-radius:999px;border:1px solid transparent;font-variant-numeric:tabular-nums;line-height:1.45}
.ranking-matrix-diff.is-pos{color:#86efac;border-color:rgba(22,163,74,.55);background:rgba(22,163,74,.15)}
.ranking-matrix-diff.is-neg{color:#fca5a5;border-color:rgba(220,38,38,.55);background:rgba(220,38,38,.15)}
.ranking-list-inner--matrix{position:relative}
.ranking-matrix-row.is-compare-base{outline:1px solid rgba(34,211,238,.9);box-shadow:0 0 0 1px rgba(34,211,238,.55) inset,0 0 26px rgba(34,211,238,.42);transform:scale(1.012);position:relative}
.ranking-matrix-row.is-compare-base .ranking-matrix-start::after{content:'Compare from';display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.03em;color:#a5f3fc;border:1px solid rgba(34,211,238,.55);background:rgba(8,47,73,.55)}
.ranking-matrix-row.is-compare-target{outline:1px solid rgba(34,197,94,.72);box-shadow:0 0 0 1px rgba(34,197,94,.38) inset,0 0 18px rgba(34,197,94,.28);transform:scale(1.006)}
.ranking-list-inner--matrix.ranking-matrix-compare-active .ranking-matrix-row{opacity:.36;transition:opacity .2s ease}
.ranking-list-inner--matrix.ranking-matrix-compare-active .ranking-matrix-row.is-compare-base,.ranking-list-inner--matrix.ranking-matrix-compare-active .ranking-matrix-row.is-compare-target{opacity:1}
.ranking-podium-board--dashboard.ranking-matrix-compare-active .ranking-dash-card{opacity:.38;transition:opacity .2s ease}
.ranking-podium-board--dashboard.ranking-matrix-compare-active .ranking-dash-card.is-compare-base,.ranking-podium-board--dashboard.ranking-matrix-compare-active .ranking-dash-card.is-compare-target{opacity:1}
.ranking-dash-card.is-compare-base{outline:1px solid rgba(34,211,238,.9);box-shadow:0 0 0 1px rgba(34,211,238,.55) inset,0 0 24px rgba(34,211,238,.38)}
.ranking-dash-card.is-compare-target{outline:1px solid rgba(34,197,94,.72);box-shadow:0 0 0 1px rgba(34,197,94,.35) inset,0 0 16px rgba(34,197,94,.25)}
.ranking-dash-card.is-compare-base::before{content:'Compare from';position:absolute;top:6px;right:6px;z-index:2;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.03em;color:#a5f3fc;border:1px solid rgba(34,211,238,.55);background:rgba(8,47,73,.65)}
.ranking-compare-layer{position:absolute;inset:0;pointer-events:none;display:none;z-index:4}
.ranking-compare-layer.active{display:block}
.ranking-compare-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ranking-compare-path{fill:none;stroke-width:2.9;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s ease,stroke-dashoffset .5s ease;filter:drop-shadow(0 0 5px rgba(0,0,0,.38))}
.ranking-compare-path.is-pos{stroke:#34d399;filter:drop-shadow(0 0 8px rgba(16,185,129,.34))}
.ranking-compare-path.is-neg{stroke:#fb7185;filter:drop-shadow(0 0 8px rgba(244,63,94,.32))}
.ranking-compare-labels{position:absolute;inset:0}
.ranking-compare-label{position:absolute;transform:translate(-50%,-50%);padding:3px 8px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.01em;line-height:1.2;white-space:nowrap;opacity:0;box-shadow:0 2px 8px rgba(0,0,0,.42);backdrop-filter:blur(2px);animation:rankingCompareLabelIn .38s ease forwards}
.ranking-compare-label.is-pos{color:#86efac;background:rgba(20,83,45,.86);border:1px solid rgba(34,197,94,.65)}
.ranking-compare-label.is-neg{color:#fecaca;background:rgba(127,29,29,.86);border:1px solid rgba(244,63,94,.66)}
@keyframes rankingCompareLabelIn{from{opacity:0;transform:translate(-50%,-58%)}to{opacity:1;transform:translate(-50%,-50%)}}
.ranking-list-inner--podium{display:block}
.ranking-podium-board--dashboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ranking-dash-card{position:relative;border:1px solid rgba(255,255,255,.2);background-color:rgba(9,16,30,.86);background-position:center;background-repeat:no-repeat;background-size:cover;border-radius:10px;padding:10px 8px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-primary);cursor:pointer;min-height:140px;overflow:hidden;isolation:isolate}
.ranking-dash-card::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(7,12,24,.5),rgba(7,12,24,.72));pointer-events:none}
.ranking-dash-card::after{content:'';position:absolute;inset:0;z-index:0;opacity:0;background:radial-gradient(ellipse at 15% 10%,rgba(255,255,255,.46) 0%,rgba(255,240,180,.24) 24%,rgba(255,182,72,.12) 42%,rgba(0,0,0,0) 72%);mix-blend-mode:screen;pointer-events:none}
.ranking-dash-card>*{position:relative;z-index:1}
.ranking-dash-card:hover{border-color:rgba(0,212,255,.5)}
.ranking-dash-badge{position:absolute;top:4px;left:4px;width:40px;height:40px;border:none;border-radius:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:1000;letter-spacing:.15px;line-height:1;color:#cbd5e1;background-color:transparent;background-image:radial-gradient(circle at 50% 48%,rgba(5,8,16,.68) 0%,rgba(5,8,16,.52) 44%,rgba(5,8,16,0) 72%),url('/static/images/UI/UI_Home_Menu_Icon_Shop.webp');background-repeat:no-repeat;background-size:contain,contain;background-position:center,center;box-shadow:none;padding-top:0;-webkit-text-stroke:1px rgba(0,0,0,.98);paint-order:stroke fill;text-shadow:0 2px 8px rgba(0,0,0,.88),0 0 4px rgba(0,0,0,.96)}
.ranking-dash-card.tier-1{background-image:url('/static/images/UI/UI_Shop_ItemBG_UR.webp')}
.ranking-dash-card.tier-2{background-image:url('/static/images/UI/UI_Shop_ItemBG_SSR.webp')}
.ranking-dash-card.tier-3{background-image:url('/static/images/UI/UI_Shop_ItemBG_SR.webp')}
.ranking-dash-card.tier-4{background-image:url('/static/images/UI/UI_Shop_ItemBG_R.webp')}
.ranking-dash-card.tier-5{background-image:url('/static/images/UI/UI_Shop_ItemBG_N.webp')}
.ranking-dash-card.tier-1 .ranking-dash-badge{color:#ffe08a}
.ranking-dash-card.tier-2 .ranking-dash-badge{color:#edf2fb}
.ranking-dash-card.tier-3 .ranking-dash-badge{color:#f7bf94}
.ranking-dash-card.tier-4 .ranking-dash-badge{color:#bfdbfe}
.ranking-dash-card.tier-5 .ranking-dash-badge{color:#cbd5e1}
.ranking-dash-card.tier-1,.ranking-dash-card.tier-2,.ranking-dash-card.tier-3{min-height:176px}
.ranking-dash-card.tier-1{transform:translateY(-4px);border-color:rgba(255,226,120,.95);box-shadow:0 0 0 1px rgba(255,240,173,.38) inset,0 16px 34px rgba(255,170,40,.48)}
.ranking-dash-card.tier-2{transform:translateY(-2px);border-color:rgba(230,239,255,.92);box-shadow:0 0 0 1px rgba(241,246,255,.34) inset,0 14px 30px rgba(171,186,214,.42)}
.ranking-dash-card.tier-3{transform:translateY(-1px);border-color:rgba(255,198,142,.92);box-shadow:0 0 0 1px rgba(255,218,184,.32) inset,0 12px 28px rgba(201,118,62,.38)}
.ranking-dash-card.tier-1::after,.ranking-dash-card.tier-2::after,.ranking-dash-card.tier-3::after{opacity:.52;animation:none}
.ranking-dash-card.tier-1::after{background:radial-gradient(ellipse at 16% 8%,rgba(255,252,220,.9) 0%,rgba(255,229,122,.62) 23%,rgba(255,166,45,.34) 46%,rgba(0,0,0,0) 72%)}
.ranking-dash-card.tier-2::after{background:radial-gradient(ellipse at 16% 8%,rgba(255,255,255,.88) 0%,rgba(232,241,255,.56) 23%,rgba(146,166,196,.34) 46%,rgba(0,0,0,0) 72%)}
.ranking-dash-card.tier-3::after{background:radial-gradient(ellipse at 16% 8%,rgba(255,242,228,.88) 0%,rgba(255,198,140,.56) 23%,rgba(201,118,62,.34) 46%,rgba(0,0,0,0) 72%)}
.ranking-dash-card.tier-1 .ranking-dash-thumb,.ranking-dash-card.tier-2 .ranking-dash-thumb,.ranking-dash-card.tier-3 .ranking-dash-thumb{margin-top:20px}
.ranking-dash-card.tier-1 .ranking-dash-badge,.ranking-dash-card.tier-2 .ranking-dash-badge,.ranking-dash-card.tier-3 .ranking-dash-badge{font-size:13px}
.ranking-dash-thumb{display:flex;align-items:center;justify-content:center;margin-top:8px}
.ranking-dash-thumb .list-thumb-composite{width:81px!important;height:81px!important}
.ranking-dash-name{font-size:12px;font-weight:700;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.ranking-dash-val{font-size:14px;font-weight:900;color:#93c5fd;font-variant-numeric:tabular-nums}
.ranking-dash-diff{font-size:11px;font-weight:800;padding:1px 7px;border-radius:999px;border:1px solid transparent;font-variant-numeric:tabular-nums;line-height:1.4}
.ranking-dash-diff.is-pos{color:#86efac;border-color:rgba(22,163,74,.55);background:rgba(22,163,74,.15)}
.ranking-dash-diff.is-neg{color:#fca5a5;border-color:rgba(220,38,38,.55);background:rgba(220,38,38,.15)}
@media(max-width:900px){
#panel-ranking .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic .filter-input--organic{width:100%!important;min-width:0;max-width:none!important}
.ranking-top-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 8px}
.ranking-mode-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%;justify-self:stretch;min-width:0}
.ranking-mode-btn{min-height:42px;font-size:14px}
#panel-ranking .ranking-head-row{width:100%;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;overflow:visible}
#panel-ranking .ranking-sort-row{flex:1 1 0;min-width:0;width:auto;max-width:none;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;overflow:visible}
#panel-ranking .ranking-head-trailing{margin-left:0;flex-shrink:0;align-self:center}
#panel-ranking .ranking-stat-pills{min-width:0;flex:1 1 auto;width:auto;max-width:100%;justify-content:flex-start;align-self:center;margin:0;flex-wrap:nowrap;overflow:visible}
#panel-ranking .ranking-top-controls{overflow:visible}
.ranking-tail-controls{display:inline-flex}
.ranking-stat-pill{min-height:34px}
.ranking-sort-label{display:none}
.ranking-stat-pills .ranking-stat-pill{flex:0 0 auto}
}
@media(max-width:480px){
#panel-ranking #rankingStatPills.ranking-stat-pills .ranking-stat-pill{padding:6px 7px;font-size:12px;min-height:32px}
}
@media(min-width:769px){
  #panel-ranking .ranking-top-controls{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    column-gap:16px;
    row-gap:8px;
    margin-bottom:12px;
  }
  #panel-ranking .ranking-mode-toggle{
    flex:0 0 auto;
    width:auto;
    min-width:min(480px,max(260px,calc((100% - 16px) / 2)));
    max-width:520px;
  }
  #panel-ranking .ranking-head-row{
    flex:1 1 280px;
    min-width:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }
  #panel-ranking .ranking-sort-row{
    flex:1 1 auto;
    min-width:0;
    width:auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
  }
  #panel-ranking .ranking-stat-pills{flex:1 1 auto;min-width:0}
  #panel-ranking .ranking-head-trailing{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}
  #panel-ranking .ranking-dir-btn{flex-shrink:0}
  #panel-ranking #rankingUnitToolbarHost .list-toolbar-left--browse>.ranking-tail-controls,
  #panel-ranking #rankingCharToolbarHost .list-toolbar-left--browse>.ranking-tail-controls{
    flex:1 1 100%;
    justify-content:flex-end;
    align-items:center;
    align-self:stretch;
    margin-left:0;
  }
}
#panel-ranking .pagination-bar-wrap,
#panel-ranking .pagination-footer-links{display:none !important}
@media(max-width:768px){
.ranking-top-controls{row-gap:4px}
.ranking-mode-btn{min-height:44px}
#panel-ranking .ranking-head-row{width:100%;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;overflow:visible}
#panel-ranking .ranking-sort-row{flex:1 1 0;min-width:0;width:auto;max-width:none;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;overflow:visible}
#panel-ranking .ranking-head-trailing{margin-left:0;flex-shrink:0;align-self:center}
#panel-ranking .ranking-stat-pills{margin:0;min-width:0;flex:1 1 auto;width:auto;max-width:100%;justify-content:flex-start;flex-wrap:nowrap;align-items:flex-end;overflow:visible}
#panel-ranking .ranking-top-controls{overflow:visible}
.ranking-view-toggle{display:inline-flex;align-items:center}
.ranking-row{flex-wrap:wrap}
.ranking-row-stat{width:100%;align-items:stretch;min-width:0}
.ranking-bar-track{width:100%}
.ranking-list-inner--matrix{gap:4px}
.ranking-matrix-row{grid-template-columns:minmax(0,1fr);gap:4px;padding:2px 0}
.ranking-matrix-start{grid-column:1 / -1}
.ranking-matrix-track{grid-column:1 / -1}
.ranking-matrix-end{grid-column:1 / -1;justify-self:stretch;justify-content:space-between;padding-right:0;gap:5px}
.ranking-matrix-thumb .list-thumb-composite{width:32px!important;height:32px!important}
.ranking-matrix-name{max-width:none;flex:1;font-size:11px}
.ranking-matrix-val{font-size:11px}
.ranking-matrix-dot{width:34px;height:34px;font-size:11px}
.ranking-matrix-diff{font-size:10px;padding:1px 5px}
.ranking-podium-board--dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ranking-dash-card{min-height:164px;padding:8px 7px 8px;gap:5px}
.ranking-dash-card.tier-1,.ranking-dash-card.tier-2,.ranking-dash-card.tier-3{min-height:168px;transform:none}
.ranking-dash-card.tier-1 .ranking-dash-thumb,.ranking-dash-card.tier-2 .ranking-dash-thumb,.ranking-dash-card.tier-3 .ranking-dash-thumb{margin-top:14px}
.ranking-dash-card .ranking-dash-thumb .list-thumb-composite{width:56px!important;height:56px!important}
.ranking-dash-name{font-size:11px;min-height:2.2em;-webkit-line-clamp:2}
.ranking-dash-val{font-size:12px}
.ranking-dash-card.tier-1 .ranking-dash-badge,.ranking-dash-card.tier-2 .ranking-dash-badge,.ranking-dash-card.tier-3 .ranking-dash-badge{width:40px;height:40px;font-size:12px;top:3px;left:3px}
.modal-content.unit-detail.detail-ranking-view .lb-control-row--ranking-overlay{bottom:8px}
}
@media(max-width:768px){
.modal-content.char-detail .char-detail-head-main .detail-meta{width:100%;justify-content:center;text-align:center}
.modal-content.char-detail .char-detail-head-main .detail-role-label{justify-content:center}
.modal-content.char-detail .detail-series-row{justify-content:flex-start}
.modal-content.char-detail .detail-limited-banner-wrap{display:flex;justify-content:flex-start;align-self:flex-start;width:100%;max-width:100%;overflow:hidden}
.modal-content.char-detail .detail-limited-banner{max-width:calc(100% - 8px);overflow:hidden}
}
@media(max-width:768px) and (max-height:760px){
.modal-content.char-detail{overflow-x:hidden;overflow-y:auto}
.modal-content.char-detail .detail-header{overflow:visible}
}
#panel-latest_release::before{background-image:url('/static/images/Background/obg_013_garage.webp')}
#panel-banner_timeline::before,#panel-master_league::before{background-image:url('/static/images/Background/obg_013_garage.webp')}
.bt-wrap{max-width:100%;width:100%;margin:0;padding:4px 0 28px;position:relative;z-index:1}
.bt-toolbar{margin-bottom:16px}
.bt-root{min-height:120px}
.bt-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);max-height:min(78vh,calc(100vh - 220px));position:relative;background:var(--bg-secondary)}
#panel-banner_timeline .bt-table-wrap{max-height:none;overflow:visible;-webkit-overflow-scrolling:auto}
#panel-banner_timeline .bt-table-wrap thead th{position:sticky;top:var(--list-thead-sticky-top);z-index:55;background:var(--bg-card);box-shadow:0 3px 4px -1px rgba(0,0,0,.45);background-clip:padding-box;color:var(--text-secondary);cursor:default;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.25;font-weight:700;-webkit-user-select:none;user-select:none;white-space:normal;overflow:visible}
#panel-banner_timeline .bt-table-wrap thead th:hover{color:var(--text-secondary)!important}
#panel-banner_timeline .bt-table-wrap table.data-table thead th:not(.sort-active){cursor:default}
#panel-banner_timeline .bt-th-banner.bt-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none}
#panel-banner_timeline .bt-th-banner.bt-th-sortable:hover{color:var(--accent-cyan)!important}
#panel-banner_timeline .bt-sort-ind{font-size:11px;color:var(--accent-gold);margin-left:2px;font-weight:800}
.bt-table thead .bt-th-combo{font-weight:700;padding:12px 10px 12px 8px;line-height:1.35;text-align:left;overflow:visible}
#panel-banner_timeline .bt-table thead .bt-th-combo{position:sticky;top:var(--list-thead-sticky-top);z-index:56}
#panel-banner_timeline .bt-table thead .bt-th-banner{position:sticky;top:var(--list-thead-sticky-top);z-index:56}
.bt-th-combo-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.bt-th-combo-label{flex-shrink:0}
.bt-th-combo-vote-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1;min-width:0;margin-left:auto}
.bt-vote-mode-caption{margin:0;font-size:12px;font-weight:600;line-height:1.35;color:var(--accent-cyan);text-align:right;max-width:min(320px,48vw)}
.bt-vote-mode-caption[hidden]{display:none!important}
.bt-vote-mode-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(100,170,255,.45);border-radius:var(--radius-sm);background:rgba(12,20,36,.85);cursor:pointer;transition:var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.bt-vote-mode-btn img{width:26px;height:26px;object-fit:contain;display:block}
.bt-vote-mode-btn:hover,.bt-vote-mode-btn[aria-pressed="true"]{border-color:rgba(0,212,255,.65);box-shadow:0 0 0 1px rgba(0,212,255,.35),0 0 12px rgba(69,128,230,.25)}
.bt-vote-mode-btn[aria-pressed="true"]{background:rgba(0,212,255,.12)}
.ui-notice-anchor{position:relative;display:inline-flex;vertical-align:middle;overflow:visible}
.ui-notice-flare{position:absolute;top:-4px;right:-4px;width:22px;height:22px;pointer-events:none;z-index:5;display:none;line-height:0;overflow:visible}
.nav-tab .ui-notice-flare{top:4px;right:8px;width:24px;height:24px}
.has-ui-notice>.ui-notice-flare,.has-ui-notice .ui-notice-flare{display:block}
.ui-notice-flare::before,.ui-notice-flare::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,71,87,.72);pointer-events:none;opacity:0;z-index:0;box-sizing:border-box}
.ui-notice-flare::after{border-color:rgba(255,149,0,.55)}
.has-ui-notice .ui-notice-flare::before,.has-ui-notice .ui-notice-flare::after,.has-ui-notice>.ui-notice-flare::before,.has-ui-notice>.ui-notice-flare::after{animation:ui-notice-pulse-ring 2.8s ease-out infinite}
.has-ui-notice .ui-notice-flare::after,.has-ui-notice>.ui-notice-flare::after{animation-delay:1.4s}
.ui-notice-flare-img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 6px rgba(255,40,40,.85));transform-origin:center center;position:relative;z-index:1}
@keyframes ui-notice-pulse-ring{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.has-ui-notice .ui-notice-flare::before,.has-ui-notice .ui-notice-flare::after,.has-ui-notice>.ui-notice-flare::before,.has-ui-notice>.ui-notice-flare::after{animation:none}}
.whats-new-btn.ui-notice-anchor,.site-footer-links a.has-ui-notice{position:relative;display:inline-flex}
.whats-new-btn .ui-notice-flare{top:-5px;right:0;width:20px;height:20px}
.site-footer-links a .ui-notice-flare{top:-2px;right:0;width:18px;height:18px}
.nav-tabs-edge-hint{display:none}
@media(max-width:768px){
.nav-tabs-edge-hint{position:absolute;top:0;bottom:0;z-index:3;display:flex;align-items:center;width:52px;border:none;cursor:pointer;color:var(--text-muted);opacity:0;pointer-events:none;transition:opacity .18s ease}
.nav-tabs-edge-hint--right{right:0;justify-content:flex-end;padding:0 8px 0 22px;background:linear-gradient(90deg,transparent 0%,rgba(8,12,24,.72) 42%,rgba(8,12,24,.94) 100%)}
.nav-tabs-edge-hint--left{left:0;justify-content:flex-start;padding:0 22px 0 8px;background:linear-gradient(270deg,transparent 0%,rgba(8,12,24,.72) 42%,rgba(8,12,24,.94) 100%)}
.nav-tabs-shell--scroll-right .nav-tabs-edge-hint--right:not([hidden]){opacity:1;pointer-events:auto}
.nav-tabs-shell--scroll-left .nav-tabs-edge-hint--left:not([hidden]){opacity:1;pointer-events:auto}
.nav-tabs-edge-flare-wrap{position:relative;width:26px;height:26px;flex-shrink:0;display:none}
.nav-tabs-edge-hint--right .nav-tabs-edge-flare-wrap{margin-right:2px}
.nav-tabs-edge-hint--left .nav-tabs-edge-flare-wrap{margin-left:2px}
.nav-tabs-shell--hidden-notice-right .nav-tabs-edge-hint--right .nav-tabs-edge-flare-wrap.has-ui-notice{display:block}
.nav-tabs-shell--hidden-notice-right .nav-tabs-edge-hint--right .nav-tabs-edge-flare-wrap.has-ui-notice>.ui-notice-flare{display:block}
.nav-tabs-shell--hidden-notice-left .nav-tabs-edge-hint--left .nav-tabs-edge-flare-wrap.has-ui-notice{display:block}
.nav-tabs-shell--hidden-notice-left .nav-tabs-edge-hint--left .nav-tabs-edge-flare-wrap.has-ui-notice>.ui-notice-flare{display:block}
.nav-tabs-edge-chevron{font-size:20px;font-weight:700;line-height:1;opacity:.75;flex-shrink:0}
.nav-tabs-shell--hidden-notice-right .nav-tabs-edge-hint--right .nav-tabs-edge-chevron{color:var(--accent-cyan);opacity:1}
.nav-tabs-shell--hidden-notice-left .nav-tabs-edge-hint--left .nav-tabs-edge-chevron{color:var(--accent-cyan);opacity:1}
}
.bt-vote-mode-anchor .ui-notice-flare{top:-7px;right:-7px}
.stage-source-toggle-btn.ui-notice-anchor{position:relative;overflow:visible}
.stage-source-toggle-btn .ui-notice-flare{top:-6px;right:-6px;width:18px;height:18px}
.stage-source-toggle-btn--esim-logo .ui-notice-flare{top:-7px;right:-8px;width:20px;height:20px}
.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--brand{padding:6px 12px 7px;min-height:40px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);background-color:transparent;background-repeat:no-repeat;background-size:100% 100%;background-position:center;color:var(--text-secondary);box-shadow:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;font-family:Roboto,'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif,'Noto Sans JP';font-weight:800!important;font-synthesis:weight;font-variation-settings:'wght' 800;letter-spacing:.02em}
.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--brand:hover{filter:brightness(1.07);border-color:rgba(255,255,255,.18);color:var(--text-primary)}
.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--brand.active{border-color:var(--accent-cyan);box-shadow:0 0 0 1px var(--accent-cyan),0 0 10px rgba(0,212,255,.2);color:var(--accent-cyan);filter:brightness(1.1)}
.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--brand .stage-source-brand-label{position:relative;display:inline-block;text-align:center;font-size:12px;font-family:inherit;font-weight:800!important;font-synthesis:weight;font-variation-settings:'wght' 800;letter-spacing:inherit;line-height:1.2;padding:0 4px 5px;color:inherit;-webkit-text-fill-color:inherit;-webkit-font-smoothing:antialiased;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.stage-npc-thumb-hit>.stage-npc-thumb-overlay{position:absolute;top:0;right:0;left:auto;bottom:auto;z-index:6}
.stage-source-brand-label::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;pointer-events:none;border-radius:1px}
.stage-source-toggle-btn--eternal .stage-source-brand-label::after{background:linear-gradient(90deg,transparent 0%,rgba(186,104,255,.55) 20%,rgba(186,104,255,.98) 50%,rgba(186,104,255,.55) 80%,transparent 100%)}
.stage-source-toggle-btn--challenge .stage-source-brand-label::after{background:linear-gradient(90deg,transparent 0%,rgba(255,71,87,.52) 20%,rgba(255,71,87,.98) 50%,rgba(255,71,87,.52) 80%,transparent 100%)}
.stage-source-toggle-btn--tower .stage-source-brand-label::after{background:linear-gradient(90deg,transparent 0%,rgba(74,144,217,.52) 20%,rgba(74,144,217,.98) 50%,rgba(74,144,217,.52) 80%,transparent 100%)}
.stage-source-toggle-btn--score .stage-source-brand-label::after{background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.5) 20%,rgba(255,215,0,.98) 50%,rgba(255,215,0,.5) 80%,transparent 100%)}
.stage-source-toggle-btn--brand-icon,.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--esim-logo{padding:2px 8px;min-height:40px;min-width:72px;display:inline-flex;align-items:center;justify-content:center;background-image:none!important;line-height:1}
.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--brand-icon{padding:2px 8px;min-height:40px;min-width:72px;display:inline-flex;align-items:center;justify-content:center;background-image:none!important;line-height:1}
.stage-source-toggle-wrap .stage-source-toggle-btn.stage-source-toggle-btn--special.stage-source-toggle-btn--brand-icon{padding:0 4px;min-height:40px;height:40px;min-width:108px;max-width:176px;overflow:hidden}
.stage-source-toggle-btn--special .stage-source-brand-icon{height:40px;width:auto;min-width:100px;max-width:168px;display:block;object-fit:contain;object-position:center;vertical-align:middle;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.stage-source-esim-logo{height:36px;width:auto;max-width:140px;display:block;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.bt-vote-submit-wrap{position:absolute;right:10px;bottom:10px;z-index:3}
.bt-vote-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:148px;min-height:52px;padding:10px 26px 12px;border:none;border-radius:0;background:transparent;cursor:pointer;transition:filter .2s ease}
.bt-vote-submit-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;display:block}
.bt-vote-submit-label{position:relative;z-index:1;color:#fff;font-size:15px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.45)}
.bt-vote-submit:disabled{opacity:.5;cursor:not-allowed}
.bt-vote-submit:disabled .bt-vote-submit-bg{filter:grayscale(.4) brightness(.85)}
.bt-vote-submit:not(:disabled):hover .bt-vote-submit-bg{filter:brightness(1.1)}
#panel-banner_timeline .bt-strip .lr-card.bt-vote-tile{padding-bottom:8px!important}
#panel-banner_timeline .bt-strip .lr-card.bt-vote-tile .lr-card-name{margin-top:5px;padding:0 2px;line-height:1.2!important;position:relative;z-index:1}
.bt-vote-thumb-wrap{position:relative;width:100%;flex-shrink:0}
.bt-vote-thumb-wrap .lr-card-thumb{margin-bottom:0;display:flex;justify-content:center;align-items:center;padding-top:2px}
.bt-vote-thumb-target{position:relative;display:inline-flex;align-items:center;gap:5px;vertical-align:top}
.bt-vote-thumb-target .list-thumb-composite{position:relative;z-index:1;display:block;flex-shrink:0}
.bt-vote-thumb-target .bt-vote-select{position:relative;inset:auto;left:auto;top:auto;transform:none;width:34px;height:34px;max-width:34px;max-height:34px;flex-shrink:0;align-self:center}
.bt-vote-select{position:relative;width:34px;height:34px;z-index:2;pointer-events:none;flex-shrink:0}
.bt-vote-select .bt-vote-cursor{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}
.bt-vote-select .bt-vote-check{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42%;height:42%;max-width:20px;max-height:20px;object-fit:contain;display:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8));right:auto;bottom:auto}
.bt-vote-tile.is-vote-selected .bt-vote-check{display:block}
.bt-vote-tile.is-vote-selected{outline:2px solid rgba(0,212,255,.55);outline-offset:1px}
.bt-vote-extra-thumb{width:clamp(115px,min(158px,31vw),168px)!important;max-width:min(168px,53vw)!important;min-height:115px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;padding:8px 6px 7px!important;box-sizing:border-box!important;background:var(--bg-card-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;position:relative}
.bt-vote-extra-thumb.bt-vote-extra--skip .bt-vote-extra-ic{filter:grayscale(1) brightness(.72);opacity:.88}
.bt-vote-extra-ic-wrap{position:relative;width:auto;height:auto;min-height:58px;margin-top:5px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 2px}
.bt-vote-extra-ic-wrap .bt-vote-extra-ic{width:58px;height:58px;object-fit:contain;display:block;position:relative;z-index:1;flex-shrink:0}
.bt-vote-extra-ic-wrap .bt-vote-select{width:34px;height:34px;max-width:34px;max-height:34px}
.bt-vote-extra-thumb .lr-card-name{margin-top:7px;font-size:13px!important;line-height:1.2!important;text-align:center;padding:0 2px}
.bt-vote-results{margin-top:10px;padding-top:10px;border-top:1px solid rgba(100,170,255,.22);width:100%}
.bt-vote-results-total{text-align:center;font-size:11px;font-weight:800;color:var(--accent-cyan);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.bt-vote-result-row{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}
.bt-vote-result-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;line-height:1.25}
.bt-vote-result-label{font-weight:700;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-vote-result-pct{font-weight:800;color:var(--accent-gold);font-variant-numeric:tabular-nums;flex-shrink:0}
.bt-vote-result-count{font-size:9px;color:var(--text-muted);font-variant-numeric:tabular-nums}
.bt-vote-result-bar{height:8px;border-radius:999px;background:rgba(15,23,42,.9);border:1px solid rgba(100,170,255,.25);overflow:hidden}
.bt-vote-result-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1d4ed8 0%,#0ea5e9 55%,#22d3ee 100%);min-width:2px;transition:width .35s ease}
.bt-vote-result-row--winner .bt-vote-result-bar{border-color:rgba(168,85,247,.52)}
.bt-vote-result-row--winner .bt-vote-result-bar>i{background:linear-gradient(90deg,#4338ca 0%,#6366f1 16%,#9333ea 34%,#e879f9 50%,#22d3ee 66%,#818cf8 82%,#4338ca 100%);background-size:200% 100%;filter:saturate(1.18);animation:btVoteWinnerBarGlow 4s ease-in-out infinite}
@keyframes btVoteWinnerBarGlow{0%,100%{background-position:0% 50%;filter:saturate(1.18) brightness(1.04);box-shadow:none}50%{background-position:100% 50%;filter:saturate(1.28) brightness(1.12);box-shadow:0 0 10px rgba(168,85,247,.38),0 0 4px rgba(34,211,238,.22)}}
@media (prefers-reduced-motion:reduce){.bt-vote-result-row--winner .bt-vote-result-bar>i{animation:none;filter:saturate(1.22) brightness(1.08);box-shadow:0 0 6px rgba(168,85,247,.28)}.bt-vote-result-row--winner .bt-vote-result-bar{border-color:rgba(168,85,247,.48)}.bt-vote-result-row--winner .bt-vote-result-bar>i{background-position:50% 50%}}
.bt-mobile-vote-bar{display:none!important}
.bt-table:not(.bt-vote-mode-on) .bt-feat-block--vote-extras{display:none!important}
.bt-table:not(.bt-vote-mode-on) .bt-vote-select{display:none!important}
.bt-table:not(.bt-vote-mode-on) .bt-vote-tile.is-vote-selected{outline:none!important}
#panel-banner_timeline table.data-table.bt-table{table-layout:fixed;width:100%;min-width:0}
@media (min-width:769px){
#panel-banner_timeline table.data-table.bt-table{min-width:520px}
#panel-banner_timeline .bt-table .bt-th-banner{min-width:180px}
}
#panel-banner_timeline .bt-table .bt-th-banner{width:32%;min-width:0}
#panel-banner_timeline .bt-table .bt-th-combo{width:68%}
.bt-feat-stack-cell{vertical-align:top;position:relative}
#panel-banner_timeline .bt-table.bt-vote-mode-on .bt-feat-stack-cell{padding-bottom:10px}
#panel-banner_timeline .bt-table.bt-vote-mode-on .bt-feat-stack-cell.bt-vote-row--disabled{padding-bottom:0!important}
.bt-feat-stack{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;min-width:0}
.bt-feat-block{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-width:0}
.bt-feat-sub{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}
.bt-banner-sched{display:flex;flex-direction:column;gap:3px;margin-top:4px;width:100%}
.bt-banner-sched-row{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;line-height:1.35}
.bt-banner-sched-k{font-weight:700;color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;min-width:4.75rem}
.bt-banner-sched-v{font-size:12px;color:var(--text-secondary);word-break:break-word}
.bt-strip-empty{color:var(--text-muted)}
#panel-banner_timeline .bt-strip{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;margin:0;padding:0;max-width:100%!important}
#panel-banner_timeline .bt-strip .lr-card{flex:0 0 auto!important;display:flex!important;margin:0!important;width:clamp(115px,min(158px,31vw),168px)!important;max-width:min(168px,53vw)!important;min-height:115px!important;padding:8px 6px!important;box-sizing:border-box!important}
@media (min-width:769px){
#panel-banner_timeline .bt-strip .lr-card{width:clamp(140px,min(188px,18vw),200px)!important;max-width:min(200px,100%)!important}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable{width:clamp(156px,min(204px,20vw),216px)!important;max-width:min(216px,100%)!important}
#panel-banner_timeline .bt-strip .bt-drop-tab,
#panel-banner_timeline .bt-strip .bt-exchange-tab{font-size:11px;padding:6px 8px 7px}
}
#panel-banner_timeline .bt-strip .lr-card .lr-card-name{font-size:13px!important;line-height:1.2!important;-webkit-line-clamp:2}
@keyframes btLimitedSweep{0%{transform:translate(-18%,-8%) rotate(28deg)}100%{transform:translate(52%,14%) rotate(28deg)}}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited{position:relative!important;overflow:hidden!important;border-width:2px!important;border-style:solid!important;border-color:transparent!important;background:linear-gradient(var(--bg-card-hover),var(--bg-card-hover)) padding-box,linear-gradient(128deg,#db2777 0%,#a855f7 42%,#2563eb 100%) border-box!important;box-shadow:0 4px 18px rgba(168,85,247,.18),inset 0 1px 0 rgba(255,255,255,.08)!important}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--lt-character{background:linear-gradient(var(--bg-card-hover),var(--bg-card-hover)) padding-box,linear-gradient(125deg,#3d1b6e 0%,#7c3aed 45%,#c026d3 100%) border-box!important;box-shadow:0 4px 18px rgba(124,58,237,.2),inset 0 1px 0 rgba(255,255,255,.07)!important}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--lt-supporter{background:linear-gradient(var(--bg-card-hover),var(--bg-card-hover)) padding-box,linear-gradient(125deg,#0d4f5c 0%,#0e7490 38%,#c9a962 95%) border-box!important;box-shadow:0 4px 18px rgba(14,116,144,.22),inset 0 1px 0 rgba(255,255,255,.07)!important}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .bt-limited-shimmer{position:absolute!important;inset:-55%;z-index:0;pointer-events:none;background:linear-gradient(118deg,transparent 38%,rgba(255,255,255,.2) 49%,transparent 60%);mix-blend-mode:screen;opacity:.55;animation:btLimitedSweep 5.2s ease-in-out infinite}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .bt-limited-topbar,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .lr-card-thumb,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .lr-card-name,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .bt-drop-tab,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .bt-exchange-tab{position:relative;z-index:1}
#panel-banner_timeline .bt-strip .bt-drop-tab,
#panel-banner_timeline .bt-strip .bt-exchange-tab{
  display:block;
  margin:6px 0 0;
  padding:5px 6px 6px;
  box-sizing:border-box;
  width:100%;
  border-radius:0 0 6px 6px;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.25;
  text-align:center;
  white-space:normal;
  overflow:visible;
  word-break:break-word;
  hyphens:auto;
}
#panel-banner_timeline .bt-strip .bt-drop-tab .bt-drop-tab-main{display:block}
#panel-banner_timeline .bt-strip .bt-drop-tab .bt-drop-tab-sub{display:block;margin-top:1px;font-size:.92em;font-weight:700;opacity:.92}
#panel-banner_timeline .bt-strip .bt-drop-tab{
  background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(217,119,6,.24));
  border:1px solid rgba(251,191,36,.42);
  border-top-color:rgba(251,191,36,.22);
  color:#fde68a;
}
#panel-banner_timeline .bt-strip .bt-exchange-tab{
  background:linear-gradient(135deg,rgba(0,212,255,.2),rgba(69,128,230,.26));
  border:1px solid rgba(0,212,255,.38);
  border-top-color:rgba(0,212,255,.22);
  color:#b8f0ff;
}
#panel-banner_timeline .bt-table .bt-strip .bt-drop-tab,
#panel-banner_timeline .bt-table .bt-strip .bt-exchange-tab{font-size:10px;padding:5px 5px 6px;margin-top:0}
@media (min-width:769px){
#panel-banner_timeline .bt-table .bt-strip .bt-drop-tab,
#panel-banner_timeline .bt-table .bt-strip .bt-exchange-tab{font-size:11px;padding:6px 8px 7px}
}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
  overflow:hidden;
  flex-direction:column!important;
  align-items:stretch!important;
}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta > .bt-vote-thumb-wrap,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta > .lr-card-thumb,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta > .lr-card-name,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable > .bt-vote-thumb-wrap,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable > .lr-card-thumb,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable > .lr-card-name{
  margin-left:6px;
  margin-right:6px;
}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--has-meta > .bt-vote-thumb-wrap,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--has-meta > .lr-card-thumb,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--has-meta > .lr-card-name,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--exchangeable > .bt-vote-thumb-wrap,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--exchangeable > .lr-card-thumb,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--exchangeable > .lr-card-name{
  margin-left:4px;
  margin-right:4px;
}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta .lr-card-name,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable .lr-card-name{margin-bottom:6px}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta .bt-drop-tab,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta .bt-exchange-tab,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable .bt-exchange-tab{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  align-self:stretch;
  flex-shrink:0;
  border-left:none;
  border-right:none;
  border-bottom:none;
  border-radius:0;
  box-sizing:border-box;
}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta .bt-drop-tab{margin-top:0!important;border-top:1px solid rgba(251,191,36,.28)}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta .bt-drop-tab + .bt-exchange-tab{border-top:1px solid rgba(0,212,255,.28)}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta > .bt-drop-tab:last-child,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--has-meta > .bt-exchange-tab:last-child,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--exchangeable > .bt-exchange-tab:last-child{
  border-radius:0 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px);
}
#panel-banner_timeline .bt-banner-sched-row--drop .bt-banner-sched-v{
  font-size:11px;
  line-height:1.35;
  white-space:normal;
}
#panel-banner_timeline .bt-drop-pity{
  margin-top:6px;
  padding:8px 9px;
  border-radius:8px;
  border:1px solid rgba(251,191,36,.28);
  background:linear-gradient(160deg,rgba(120,53,15,.22),rgba(15,23,42,.55));
  display:flex;
  flex-direction:column;
  gap:5px;
}
#panel-banner_timeline .bt-drop-pity-title{
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fbbf24;
}
#panel-banner_timeline .bt-drop-pity-line{font-size:11px;line-height:1.4;color:var(--text-secondary)}
#panel-banner_timeline .bt-drop-pity-line--guaranteed .bt-drop-pity-badge{
  display:inline-block;
  font-weight:800;
  color:#fde68a;
  background:rgba(245,158,11,.16);
  border:1px solid rgba(251,191,36,.35);
  border-radius:999px;
  padding:2px 8px;
}
#panel-banner_timeline .bt-drop-pity-line--featured{
  display:flex;
  flex-direction:column;
  gap:2px;
}
#panel-banner_timeline .bt-drop-pity-k{font-weight:700;color:#fcd34d}
#panel-banner_timeline .bt-drop-pity-v{color:var(--text-secondary);word-break:break-word}
#panel-banner_timeline .bt-drop-pity-v strong{color:#fff;font-weight:800}
#panel-banner_timeline .bt-drop-pity-sep{color:var(--text-muted);font-weight:600}
#panel-banner_timeline .bt-drop-pity-line--other{opacity:.95;font-size:10.5px;color:var(--text-muted)}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited{padding-top:0!important;padding-left:6px!important;padding-right:6px!important;padding-bottom:8px!important;gap:6px!important;align-items:stretch!important}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--has-meta,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--exchangeable{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .bt-limited-topbar{z-index:2;width:calc(100% + 12px)!important;margin:0 -6px 6px -6px!important;padding:5px 5px 6px!important;box-sizing:border-box;text-align:center;border-radius:calc(var(--radius-md) - 2px) calc(var(--radius-md) - 2px) 0 0!important;box-shadow:0 2px 10px rgba(0,0,0,.4);flex-shrink:0}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--has-meta > .bt-limited-topbar,
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--exchangeable > .bt-limited-topbar{
  width:100%!important;
  margin:0 0 6px 0!important;
}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited{padding-top:0!important;padding-left:6px!important;padding-right:6px!important;padding-bottom:8px!important;gap:6px!important;align-items:stretch!important}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited > .bt-limited-topbar{width:calc(100% + 12px)!important;margin:0 -6px 6px -6px!important;flex-shrink:0}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--lt-unit > .bt-limited-topbar{background:linear-gradient(95deg,#be185d 0%,#a855f7 55%,#1d4ed8 100%)}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--lt-character > .bt-limited-topbar{background:linear-gradient(95deg,#4c1d95 0%,#7c3aed 50%,#c026d3 100%)}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--lt-supporter > .bt-limited-topbar{background:linear-gradient(95deg,#0e7490 0%,#155e75 45%,#b8954a 100%)}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited .bt-limited-topbar-inner{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.88);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited:hover{border-color:transparent!important;box-shadow:0 6px 22px rgba(0,212,255,.14),0 4px 20px rgba(168,85,247,.25),inset 0 1px 0 rgba(255,255,255,.1)!important}
#panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--lt-supporter:hover{box-shadow:0 6px 22px rgba(0,212,255,.16),0 4px 20px rgba(201,169,98,.22),inset 0 1px 0 rgba(255,255,255,.1)!important}
@media (prefers-reduced-motion:reduce){ #panel-banner_timeline .bt-strip .lr-card.bt-lr-tile--limited > .bt-limited-shimmer{animation:none;opacity:.22;inset:-20%;transform:none}}
.bt-banner-cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;vertical-align:top}
.bt-banner-thumb{max-width:min(260px,min(52vw,100%));width:100%;border-radius:var(--radius-sm);overflow:hidden;background:rgba(0,0,0,.25);border:1px solid var(--border-color)}
.bt-banner-thumb img{display:block;width:100%;height:auto;vertical-align:top}
.bt-banner-title{font-size:15px;font-weight:800;color:var(--text-primary);line-height:1.28;text-align:left;max-width:min(520px,100%);word-break:break-word}
.bt-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:flex-start;max-width:520px}
#panel-banner_timeline .bt-table td,#panel-banner_timeline .bt-table thead th{vertical-align:top}
#panel-banner_timeline table.data-table.bt-table tbody td{border-bottom:none}
.bt-date-cell{font-size:clamp(11px,.85rem,13px);line-height:1.4;color:var(--text-secondary);vertical-align:top;padding-top:10px!important}
.bt-date-cell--sched{white-space:normal;word-break:break-word;hyphens:auto}
.bt-date-cell--dur{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.bt-empty{padding:48px 20px;text-align:center;color:var(--text-muted)}
.bt-timeline-shell.bt-vtl-flow{overflow:visible;padding:6px 0 18px;width:100%;touch-action:auto;position:relative;max-width:1100px;margin:0 auto}
.bt-vtl-flow::before{display:none}
.bt-vtl-monthlabel{font-size:13px;font-weight:800;color:var(--accent-cyan);margin:14px 0 12px;padding:0 0 6px 2px;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:.02em}
.bt-vtl-solo-wrap{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:10px 6px;align-items:start;margin-bottom:14px}
.bt-vtl-solo-wrap .bt-vtl-card--solo{grid-column:1;max-width:100%;margin:0}
.bt-vtl-pair{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:10px 6px;align-items:stretch;margin-bottom:12px}
.bt-vtl-spine-gutter{border-radius:999px;background:linear-gradient(180deg,rgba(0,212,255,.45),rgba(201,169,98,.42));width:100%;max-width:8px;margin:0 auto;min-height:80px;height:100%;align-self:stretch}
.bt-vtl-slot{min-width:0;display:flex;flex-direction:column}
.bt-vtl-slot--left{align-items:flex-end}
.bt-vtl-slot--right{align-items:flex-start}
.bt-vtl-card{width:100%;max-width:100%;margin:0;display:flex;flex-direction:row;align-items:flex-start;gap:0;padding:0}
.bt-vtl-card--east{flex-direction:row;justify-content:flex-end;text-align:right}
.bt-vtl-card--east .bt-vtl-body{order:-1;text-align:left}
.bt-vtl-card--west{flex-direction:row;justify-content:flex-start;text-align:left}
.bt-vtl-card--solo{max-width:640px;margin:0 auto 14px;padding-bottom:0!important}
.bt-vtl-solo-wrap .bt-vtl-card--solo{margin-bottom:0}
.bt-vtl-marker{flex:0 0 22px;width:22px;min-height:22px;align-self:flex-start;flex-shrink:0;margin-top:4px;position:relative;z-index:1;cursor:help;touch-action:manipulation}
.bt-vtl-card--solo .bt-vtl-marker{margin-top:8px;margin-right:6px}
.bt-vtl-card--east .bt-vtl-marker{margin-left:10px;margin-top:8px}
.bt-vtl-card--west .bt-vtl-marker{margin-right:10px;margin-top:8px}
.bt-vtl-marker::before{content:'';position:absolute;left:4px;top:4px;width:14px;height:14px;border-radius:50%;background:linear-gradient(145deg,var(--accent-cyan),rgba(201,169,98,.95));border:3px solid var(--bg-secondary);box-shadow:0 0 0 1px rgba(0,212,255,.4);transition:box-shadow .2s ease,transform .15s ease}
.bt-vtl-marker:hover::before{box-shadow:0 0 0 2px rgba(0,212,255,.55),0 0 12px rgba(0,212,255,.2);transform:scale(1.05)}
.bt-vtl-body{flex:1;min-width:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px!important;box-shadow:var(--shadow-surface),0 3px 16px rgba(0,0,0,.2);transition:border-color .2s ease,opacity .45s ease,transform .45s cubic-bezier(.2,.85,.25,1);opacity:0;transform:translateY(10px)}
.bt-vtl-card.bt-vtl-card--visible .bt-vtl-body{opacity:1;transform:translateY(0)}
.bt-vtl-body:hover{border-color:rgba(0,212,255,.35)}
.bt-vtl-head{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.bt-vtl-title{font-size:clamp(14px,1rem + .4vw,17px);font-weight:800;color:var(--text-primary);margin:0;line-height:1.22;word-break:break-word}
.bt-vtl-thumb{max-width:100%;max-height:120px;margin:0;display:flex;justify-content:center;align-items:center;overflow:hidden;border-radius:var(--radius-sm)}
.bt-vtl-thumb img{max-height:120px;max-width:100%;width:auto;height:auto;display:block}
.bt-vtl-meta-compact{font-size:10.5px;line-height:1.45;color:var(--text-secondary)}
.bt-vtl-mk{font-weight:700;color:var(--text-muted);text-transform:uppercase;font-size:9px;letter-spacing:.03em;margin-right:2px}
.bt-vtl-msep{color:rgba(255,255,255,.25);margin:0 5px;font-weight:700}
.bt-vtl-dur-inline{font-weight:700;color:var(--accent-gold);font-variant-numeric:tabular-nums;font-size:11px}
.bt-vtl-blocks{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.bt-vtl-block{display:flex;flex-direction:column;gap:5px}
.bt-vtl-sub{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}
.bt-vtl-strip-wrap{min-width:0}
#panel-banner_timeline .bt-vtl-flow .bt-strip{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;align-items:flex-start!important;justify-content:flex-start!important;margin:0;max-width:100%!important;width:100%!important}
#panel-banner_timeline .bt-vtl-flow .bt-strip .lr-card{width:clamp(110px,min(151px,29vw),163px)!important;max-width:min(163px,50vw)!important;min-height:110px!important}
@media (max-width:768px){
#panel-banner_timeline .bt-th-combo-inner{flex-wrap:nowrap;align-items:center;gap:8px}
#panel-banner_timeline .bt-th-combo-label{flex:0 1 auto;min-width:0}
#panel-banner_timeline .bt-th-combo-vote-tools{flex:0 0 auto;justify-content:flex-end;margin-left:auto;min-width:0;gap:6px}
#panel-banner_timeline .bt-table thead .bt-th-combo .bt-vote-mode-caption{display:none!important}
#panel-banner_timeline .bt-table thead .bt-th-combo{padding:10px 8px}
#panel-banner_timeline .bt-vote-mode-btn{width:40px;height:40px;min-width:40px;min-height:40px}
#panel-banner_timeline .bt-table .bt-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;width:100%!important;max-width:100%!important}
#panel-banner_timeline .bt-table .bt-strip .lr-card,#panel-banner_timeline .bt-table .bt-strip .bt-vote-extra-thumb{width:100%!important;max-width:100%!important;min-width:0!important;min-height:104px!important;padding:6px 4px!important;box-sizing:border-box!important}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited{padding:0 4px 6px!important;gap:6px!important;align-items:stretch!important}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--has-meta,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--exchangeable{
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited > .bt-limited-topbar{width:calc(100% + 8px)!important;margin:0 -4px 4px -4px!important;border-radius:calc(var(--radius-md) - 2px) calc(var(--radius-md) - 2px) 0 0!important}
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--has-meta > .bt-limited-topbar,
#panel-banner_timeline .bt-table .bt-strip .lr-card.bt-lr-tile--limited.bt-lr-tile--exchangeable > .bt-limited-topbar{
  width:100%!important;
  margin:0 0 4px 0!important;
}
#panel-banner_timeline .bt-table .bt-strip .lr-card .lr-card-name,#panel-banner_timeline .bt-table .bt-strip .bt-vote-extra-thumb .lr-card-name{font-size:11px!important;line-height:1.15!important}
#panel-banner_timeline .bt-table .bt-strip .bt-vote-extra-ic{width:50px;height:50px}
#panel-banner_timeline .bt-table .bt-strip .bt-vote-extra-ic-wrap{min-height:50px;margin-top:2px}
#panel-banner_timeline .bt-table .bt-strip .list-thumb-composite{width:58px!important;height:58px!important}
#panel-banner_timeline .bt-table .bt-strip .bt-vote-select{width:28px;height:28px;max-width:28px;max-height:28px}
#panel-banner_timeline .bt-table .bt-strip .bt-vote-thumb-target .bt-vote-select{width:28px;height:28px;max-width:28px;max-height:28px}
#panel-banner_timeline .bt-vote-submit-wrap{position:static;display:flex;justify-content:center;width:100%;margin-top:10px;padding:0 6px 6px;box-sizing:border-box}
#panel-banner_timeline .bt-vote-submit{width:100%;max-width:220px;min-width:0;min-height:48px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
}
@media (prefers-reduced-motion:reduce){.bt-vtl-card .bt-vtl-body{opacity:1;transform:none;transition:none}}
.bt-timeline-shell.bt-ig-shell{overflow:visible;padding:10px 0 32px;width:100%;max-width:960px;margin:0 auto;position:relative;touch-action:auto}
.bt-ig-spine-line{position:absolute;left:50%;top:10px;bottom:20px;width:5px;margin-left:-2.5px;border-radius:999px;background:linear-gradient(180deg,rgba(96,106,126,.55),rgba(0,212,255,.42),rgba(201,169,98,.48));box-shadow:0 0 22px rgba(0,212,255,.16);z-index:0;pointer-events:none}
.bt-ig-list{position:relative;z-index:1}
.bt-ig-monthlabel{font-size:15px;font-weight:800;color:var(--accent-cyan);margin:22px 0 18px;text-align:center;letter-spacing:.03em;padding:0 10px;line-height:1.35;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.bt-ig-step{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:12px 10px;align-items:start;margin-bottom:26px}
.bt-ig-zone--blank{min-height:12px}
.bt-ig-zone--card{min-width:0}
.bt-ig-zone--card.bt-ig-zone--card-row{width:100%;display:flex;flex-direction:column;align-items:stretch}
.bt-ig-cards-row{display:flex;flex-flow:row wrap;gap:12px;align-items:flex-start;justify-content:flex-start;width:100%;min-width:0}
.bt-ig-cards-row > .bt-ig-card-skin{flex:1 1 min(360px,calc(50% - 6px));min-width:min(280px,100%);max-width:100%;box-sizing:border-box}
@media (max-width:700px){.bt-ig-cards-row > .bt-ig-card-skin{flex:1 1 100%;min-width:0}}
.bt-ig-rail-slot{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:6px}
.bt-ig-node{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;border:3px solid var(--bg-secondary);box-shadow:0 0 0 2px rgba(0,212,255,.32),0 6px 16px rgba(0,0,0,.38);z-index:2;transition:transform .15s ease,box-shadow .2s ease}
.bt-ig-node:hover{transform:scale(1.06);box-shadow:0 0 0 3px rgba(0,212,255,.42),0 8px 20px rgba(0,212,255,.15)}
.bt-ig-num{font-size:8.5px;font-weight:900;color:#fff;letter-spacing:0;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.85);pointer-events:none}
.bt-ig-node--pal-0{background:linear-gradient(145deg,#ff6b9d,#ff8eab)}
.bt-ig-node--pal-1{background:linear-gradient(145deg,#e8c036,#ffc857)}
.bt-ig-node--pal-2{background:linear-gradient(145deg,#56d8ff,#2eb5ff)}
.bt-ig-node--pal-3{background:linear-gradient(145deg,#ff6b5c,#ff9578)}
.bt-ig-node--pal-4{background:linear-gradient(145deg,#de5dff,#b84dff)}
.bt-ig-node--pal-5{background:linear-gradient(145deg,#a78bfa,#7c5cf0)}
.bt-ig-node--pal-6{background:linear-gradient(145deg,#54d38c,#2eb870)}
.bt-ig-card-skin .bt-vtl-body{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.85,.25,1),border-color .2s ease}
.bt-ig-step.bt-vtl-card--visible .bt-ig-card-skin .bt-vtl-body{opacity:1;transform:translateY(0)}
#panel-banner_timeline .bt-ig-shell .bt-strip{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;align-items:flex-start!important;justify-content:flex-start!important;margin:0;max-width:100%!important;width:100%!important}
#panel-banner_timeline .bt-ig-shell .bt-strip .lr-card{width:clamp(110px,min(151px,29vw),163px)!important;max-width:min(163px,50vw)!important;min-height:110px!important}
@media (max-width:700px){.bt-ig-step{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px}.bt-ig-node{width:22px;height:22px}.bt-ig-num{font-size:7.5px}}
@media (prefers-reduced-motion:reduce){.bt-ig-step .bt-ig-card-skin .bt-vtl-body{opacity:1;transform:none;transition:none}}
@keyframes scroll-top-fab-jump{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px)}70%{transform:translateY(-1px)}85%{transform:translateY(-2px)}}
.scroll-top-fab,.banner-timeline-scroll-top-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:356;width:50px;height:50px;border-radius:50%;border:1px solid var(--border-color);background:linear-gradient(145deg,var(--bg-card),var(--bg-secondary));box-shadow:0 6px 24px rgba(0,0,0,.45);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0;padding:0;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,opacity .2s ease}
.scroll-top-fab[hidden],.banner-timeline-scroll-top-fab[hidden]{display:none!important}
.scroll-top-fab-ic,.banner-timeline-scroll-top-fab-ic{width:30px;height:30px;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transform:translate(0,calc(var(--icon-optical-y) - 0.5px))}
@media(hover:hover) and (pointer:fine){
.scroll-top-fab:hover .scroll-top-fab-ic,.scroll-top-fab:focus-visible .scroll-top-fab-ic,.banner-timeline-scroll-top-fab:hover .banner-timeline-scroll-top-fab-ic,.banner-timeline-scroll-top-fab:focus-visible .banner-timeline-scroll-top-fab-ic{animation:scroll-top-fab-jump 1.35s ease-in-out infinite}
.scroll-top-fab:hover,.scroll-top-fab:focus-visible,.banner-timeline-scroll-top-fab:hover,.banner-timeline-scroll-top-fab:focus-visible{border-color:var(--accent-cyan);background:var(--bg-card-hover);outline:none;box-shadow:0 0 0 2px rgba(0,212,255,.25)}
}
@media(prefers-reduced-motion:reduce){
.scroll-top-fab:hover .scroll-top-fab-ic,.banner-timeline-scroll-top-fab:hover .banner-timeline-scroll-top-fab-ic{animation:none}
}
body.detail-modal-open .scroll-top-fab,body.detail-modal-open .banner-timeline-scroll-top-fab,body.search-spotlight-open .scroll-top-fab,body.search-spotlight-open .banner-timeline-scroll-top-fab,html.page-scroll-lock .scroll-top-fab,html.page-scroll-lock .banner-timeline-scroll-top-fab{display:none!important}
body:has(.search-recall-fab.visible) .scroll-top-fab,body:has(.search-recall-fab.visible) .banner-timeline-scroll-top-fab{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
html.cmp-bar-open:has(#cmpFloat.visible) .scroll-top-fab,html.cmp-bar-open:has(#cmpFloat.visible) .banner-timeline-scroll-top-fab{bottom:calc(68px + env(safe-area-inset-bottom,0px))}
html.cmp-bar-open:has(#cmpFloat.visible) body:has(.search-recall-fab.visible) .scroll-top-fab,html.cmp-bar-open:has(#cmpFloat.visible) body:has(.search-recall-fab.visible) .banner-timeline-scroll-top-fab{bottom:calc(144px + env(safe-area-inset-bottom,0px))}
.lr-root{max-width:100%;width:100%;margin:0;padding:4px 0 24px;position:relative;z-index:1;text-align:left}
.lr-page-title{font-size:17px;font-weight:800;color:var(--accent-gold);margin-bottom:22px;letter-spacing:.02em;text-align:left}
.lr-section{margin-bottom:32px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
.lr-section:last-child{border-bottom:none;margin-bottom:0}
.lr-date{font-size:clamp(18px,2.5vw,24px);font-weight:800;color:var(--accent-cyan);margin:0 0 14px;letter-spacing:.02em;line-height:1.3;text-align:left}
.lr-row{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:12px;width:100%}
.lr-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 10px;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;contain:layout style;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-height:0;flex:0 0 auto;width:188px;max-width:min(188px,100%);box-shadow:var(--shadow-surface)}
.lr-card:hover{border-color:var(--accent-gold);background:var(--bg-card-hover);box-shadow:var(--shadow-surface),0 4px 16px rgba(0,0,0,.25)}
.lr-card-type{font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.lr-card-thumb{width:100%;display:flex;justify-content:center;align-items:center}
.lr-card-name{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
.lr-card-thumb{position:relative}
.lr-load-more-wrap{display:flex;justify-content:center;margin:22px 0 10px;width:100%}
.lr-load-more-btn{padding:10px 24px;background:transparent;border:1px solid var(--accent-cyan);color:var(--accent-cyan);font-weight:800;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;transition:var(--transition)}
.lr-load-more-btn:hover{background:rgba(0,212,255,.12);box-shadow:0 0 14px rgba(0,212,255,.2)}
.lr-locked-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 18px;background:rgba(0,0,0,.35);border:1px solid rgba(0,212,255,.35);border-radius:var(--radius-md);max-width:100%}
.lr-locked-icon{font-size:20px;line-height:1}
.lr-locked-text{flex:1;min-width:200px;color:var(--text-secondary);font-size:14px;line-height:1.45}
.lr-unlock-inline-btn{padding:8px 18px;background:var(--accent-cyan);color:#0a0e1a;border:none;border-radius:var(--radius-sm);font-weight:800;cursor:pointer;font-size:14px}
.lr-unlock-inline-btn:hover{filter:brightness(1.06)}
.lr-lock-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);z-index:550;display:none;align-items:center;justify-content:center;padding:20px}
.lr-lock-modal{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px 28px;max-width:400px;width:100%;box-shadow:var(--shadow-lg)}
.lr-lock-modal h3{font-size:20px;color:var(--accent-cyan);margin-bottom:8px}
.lr-lock-modal p{color:var(--text-secondary);font-size:14px;margin-bottom:14px}
.lr-lock-modal input[type=password]{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:16px;margin-bottom:12px;box-sizing:border-box}
.lr-lock-modal .lr-lock-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lr-lock-modal button.lr-unlock-btn{padding:10px 20px;background:var(--accent-cyan);color:#0a0e1a;border:none;border-radius:var(--radius-sm);font-weight:800;cursor:pointer}
.lr-lock-modal button.lr-unlock-btn:hover{filter:brightness(1.05)}
.lr-lock-err{color:#ff6b6b;font-size:14px;margin-top:8px;min-height:1.2em}
.stage-locked-pill{display:inline-block;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;background:rgba(255,180,0,.2);color:#ffc46b;border:1px solid rgba(255,180,0,.35);vertical-align:middle}
.stage-thum-locked{display:flex;align-items:center;justify-content:center;font-size:28px;opacity:.9;background:rgba(0,0,0,.22)}
.stage-browse-thumb{position:relative;display:block;width:152px;aspect-ratio:5/3;border-radius:4px;overflow:hidden;background:linear-gradient(128deg,#a61f1f 0%,#5c0c0c 48%,#1f0404 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.4),0 2px 10px rgba(0,0,0,.35);flex-shrink:0;text-align:left}
.stage-browse-thumb--grid{width:100%;max-width:100%;height:100%;min-height:200px;aspect-ratio:auto;border-radius:6px 6px 0 0}
.stage-browse-thumb--compact{width:96px;aspect-ratio:16/10;min-height:0}
.stage-browse-thumb--special{background:linear-gradient(128deg,#1a4a8f 0%,#0f2d5c 48%,#081628 100%)}
.stage-browse-thumb--special .stage-browse-thumb__stripes{opacity:.32;background:repeating-linear-gradient(-45deg,rgba(0,0,0,.12) 0 5px,rgba(80,160,255,.14) 5px 10px)}
.stage-browse-thumb--special .stage-browse-thumb__bg{background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(90,160,255,.2),transparent 58%),radial-gradient(ellipse 120% 80% at 20% 80%,rgba(0,0,0,.25),transparent 50%)}
.stage-browse-thumb--special .stage-browse-thumb__ui,.stage-browse-thumb--tower .stage-browse-thumb__ui{text-shadow:0 1px 4px rgba(0,0,0,.65)}
.stage-capturable-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.stage-capturable-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px solid var(--border-color);background:rgba(255,255,255,.03)}
.stage-capturable-card--pickup{border-color:rgba(251,191,36,.65);background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(255,255,255,.03));box-shadow:0 0 0 1px rgba(251,191,36,.2) inset}
.stage-capturable-pickup-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fbbf24;margin-top:2px}
.stage-browse-thumb__bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 72% 55%,rgba(255,80,60,.22),transparent 55%),radial-gradient(ellipse 120% 80% at 20% 80%,rgba(0,0,0,.45),transparent 50%);pointer-events:none;z-index:0}
.stage-browse-thumb__stripes{position:absolute;inset:0;opacity:.28;background:repeating-linear-gradient(-45deg,rgba(0,0,0,.15) 0 5px,rgba(255,60,60,.12) 5px 10px);pointer-events:none;z-index:1}
.stage-browse-thumb__shade{position:absolute;inset:0;background:linear-gradient(102deg,rgba(55,6,6,.94) 0%,rgba(55,6,6,.62) 38%,rgba(20,4,4,.15) 62%,transparent 78%);pointer-events:none;z-index:2}
.stage-browse-thumb__portrait--unit{position:absolute;right:2%;bottom:0;width:65%;height:88%;max-width:65%;max-height:88%;min-width:65%;min-height:88%;object-fit:contain;object-position:right bottom;z-index:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55));pointer-events:none}
.stage-browse-thumb--grid .stage-browse-thumb__portrait--unit{width:135px;height:135px;max-width:135px;max-height:135px;min-width:135px;min-height:135px;right:0;bottom:0}
.stage-browse-thumb__portrait--poster{position:absolute;right:auto;bottom:auto;left:50%;top:58%;transform:translate(-50%,-50%);width:125px;height:125px;max-width:125px;max-height:125px;min-width:125px;min-height:125px;object-fit:contain;object-position:center center;z-index:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));pointer-events:none}
.stage-browse-thumb--grid .stage-browse-thumb__portrait--poster{width:130px;height:130px;max-width:130px;max-height:130px;min-width:130px;min-height:130px}
.stage-browse-thumb__portrait--banner{position:absolute;left:0;right:0;top:58px;bottom:0;width:100%;height:calc(100% - 58px);max-width:100%;max-height:calc(100% - 58px);min-width:100%;min-height:0;transform:none;object-fit:contain;object-position:center center;z-index:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));pointer-events:none}
.stage-browse-thumb--grid .stage-browse-thumb__portrait--banner{top:58px;height:calc(100% - 58px);max-height:calc(100% - 58px)}
.stage-browse-thumb__ph{position:absolute;right:12%;bottom:8%;font-size:22px;opacity:.35;z-index:1;line-height:1;pointer-events:none}
.stage-browse-thumb__ph--unit{right:8%;bottom:6%;font-size:26px}
.stage-browse-thumb__ph--poster{right:auto;bottom:auto;left:50%;top:58%;transform:translate(-50%,-50%);font-size:28px}
.stage-browse-thumb__ph--banner{left:0;right:0;top:58px;bottom:0;width:100%;height:calc(100% - 58px);display:flex;align-items:center;justify-content:center;transform:none;font-size:32px}
.stage-browse-thumb__lock{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;font-size:26px;background:rgba(0,0,0,.5);text-shadow:0 2px 8px rgba(0,0,0,.8)}
.stage-browse-thumb--locked .stage-browse-thumb__portrait{opacity:.12;filter:grayscale(1) brightness(.7)}
.stage-browse-thumb__ui{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:flex-start;height:100%;min-height:0;padding:6px 7px 8px;box-sizing:border-box}
.stage-browse-thumb__head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:0 0 auto;min-height:0;overflow:hidden;width:100%}
.stage-browse-thumb__head .stage-browse-thumb__diff{display:inline-block;max-width:100%;padding:2px 10px;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;line-height:1.35;border-radius:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(0,0,0,.22);box-shadow:0 1px 0 rgba(255,255,255,.2)}
.stage-browse-thumb__title{font-size:9px;font-weight:800;color:#fff;line-height:1.25;text-shadow:0 1px 5px rgba(0,0,0,.85);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;width:100%}
.stage-browse-thumb__title b{font-weight:900}
.stage-browse-thumb__subtitle{font-size:8px;font-weight:700;color:rgba(190,220,255,.92);line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.75);letter-spacing:.02em}
.stage-browse-thumb--grid .stage-browse-thumb__title{font-size:11px;-webkit-line-clamp:3}
.stage-browse-thumb--grid .stage-browse-thumb__head .stage-browse-thumb__diff{font-size:9px;padding:3px 12px;border-radius:2px}
.stage-browse-thumb--grid .stage-browse-thumb__subtitle{font-size:9px}
.stage-browse-thumb--grid .stage-browse-thumb__head{min-height:58px;max-height:58px}
.stage-browse-thumb__hard-badge{display:inline-block;padding:2px 8px;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;line-height:1.35;border-radius:2px;color:#fff;background:#ff9a3d;border:1px solid rgba(0,0,0,.22);box-shadow:0 1px 0 rgba(255,255,255,.2);pointer-events:none}
.stage-browse-thumb__head--hard{padding-top:2px;gap:3px}
.stage-browse-thumb__hard-badge--inline{position:static;display:inline-block;margin:0 0 2px;max-width:100%}
.stage-browse-thumb--grid .stage-browse-thumb__hard-badge--inline{font-size:9px;padding:3px 10px}
#stageChallengeSeriesWrap.rarity-filter-wrap{width:max-content;max-width:100%;flex:0 0 auto;align-self:flex-start}
#stageChallengeSeriesFilterPanel.stage-challenge-series-filter-panel{width:max-content!important;min-width:0!important;max-width:min(340px,calc(100vw - 24px))!important;padding:4px 0}
#stageChallengeSeriesFilterPanel .stage-challenge-series-row{align-items:center;gap:10px;padding:6px 12px;width:100%;box-sizing:border-box}
#stageChallengeSeriesFilterPanel .stage-challenge-series-row-label{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1}
#stageChallengeSeriesFilterPanel .stage-challenge-series-row .series-filter-opt-icon{width:24px;height:24px;flex-shrink:0}
#stageChallengeSeriesFilterPanel .stage-challenge-series-row .filter-long-label{white-space:normal;line-height:1.25;font-size:13px;font-weight:600}
#stageDiffWrap.rarity-filter-wrap,#stageChallengeSeriesWrap.rarity-filter-wrap{width:max-content;max-width:100%;flex:0 0 auto;align-self:flex-start}
#stageDiffFilterPanel.stage-diff-filter-panel.filter-dropdown-panel{width:max-content!important;min-width:0!important;max-width:min(220px,calc(100vw - 24px))!important;align-items:flex-start;box-sizing:border-box}
#stageDiffFilterPanel .stage-diff-filter-row{width:100%;box-sizing:border-box}
#stageDiffFilterPanel .filter-panel-clear-wrap{align-self:stretch;width:100%;box-sizing:border-box}
.stage-diff-filter-panel .stage-diff-filter-row{align-items:center;gap:10px}
.stage-diff-filter-panel .diff-pill,#stageDiffFilterLabel .diff-pill{display:inline-block;padding:3px 12px;border-radius:2px;font-weight:900;font-size:11px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-align:center;min-width:4.75em;border:1px solid rgba(0,0,0,.22);box-shadow:0 1px 0 rgba(255,255,255,.15)}
.stage-diff-filter-panel .diff-pill-normal,#stageDiffFilterLabel .diff-pill-normal{background:linear-gradient(180deg,#3b82f6 0%,#1d4ed8 100%)}
.stage-diff-filter-panel .diff-pill-hard,#stageDiffFilterLabel .diff-pill-hard{background:linear-gradient(180deg,#d97706 0%,#92400e 100%)}
.stage-diff-filter-panel .diff-pill-expert,#stageDiffFilterLabel .diff-pill-expert{background:linear-gradient(180deg,#ef4444 0%,#991b1b 100%)}
.list-grid-card--locked{opacity:.92}
.dc-stage-hit--locked{opacity:.85}
.dc-stage-lock-msg{margin-top:10px;padding:8px 12px;font-size:12px;line-height:1.45;color:var(--text-secondary);border-left:3px solid rgba(255,180,0,.45);background:rgba(0,0,0,.22);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.er-stage-lock-box{margin-top:12px;padding:16px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);max-width:420px}
.er-stage-lock-hint{color:var(--text-secondary);font-size:14px;line-height:1.45;margin:0 0 12px}
.er-stage-blackout{min-height:280px;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,rgba(5,8,16,.92) 70%);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.06)}
.er-stage-blackout-inner{max-width:400px;width:100%;text-align:center}
.er-stage-blackout-icon{font-size:56px;line-height:1;margin-bottom:16px;opacity:.9;filter:grayscale(.2)}
.er-stage-blackout-title{font-size:18px;font-weight:800;color:var(--text-secondary);letter-spacing:.04em;margin-bottom:8px}
.er-stage-redacted-cell{color:var(--text-muted);font-style:italic}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.list-toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-toolbar-right{display:flex;align-items:center;gap:12px}
.filter-input-wrap{position:relative;display:inline-flex;vertical-align:middle;max-width:100%}.filter-input{padding:9px 36px 9px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:16px;outline:none;width:260px;max-width:100%;transition:width .22s ease,max-width .22s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-surface)}.filter-input::placeholder{color:var(--text-muted)}.filter-input:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-surface),0 0 0 2px rgba(74,144,217,0.1)}
.filter-input-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);z-index:2;width:24px;height:24px;padding:0;margin:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none}.filter-input-clear:hover,.filter-input-clear:focus-visible{color:var(--text-primary);background:rgba(255,255,255,.08);outline:none}.filter-input-wrap.has-value .filter-input-clear{display:inline-flex}
.search-hint-popover{position:absolute;left:0;top:calc(100% + 10px);z-index:130;width:min(380px,calc(100vw - 48px));padding:12px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 10px 32px rgba(0,0,0,.5);font-size:13px;line-height:1.55;color:var(--text-secondary);pointer-events:none;opacity:0;visibility:hidden;display:none;transition:opacity .18s ease,visibility .18s ease;text-align:left}.search-hint-inner strong{color:var(--accent-cyan);font-weight:800}.search-hint-inner code{font-size:12px;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.25);padding:1px 6px;border-radius:4px;color:var(--text-primary);font-weight:600}.filter-input-wrap.show-hint:not(.hint-suppressed) .search-hint-popover{opacity:0;visibility:hidden}
.search-recall-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:355;width:52px;height:52px;border-radius:50%;border:1px solid var(--border-color);background:linear-gradient(145deg,var(--bg-card),var(--bg-secondary));box-shadow:0 6px 24px rgba(0,0,0,.45);cursor:pointer;display:none;align-items:center;justify-content:center;font-size:22px;line-height:1;padding:0;transition:var(--transition)}.search-recall-fab.visible{display:flex}.search-recall-fab:hover,.search-recall-fab:focus-visible{border-color:var(--accent-cyan);background:var(--bg-card-hover);outline:none;box-shadow:0 0 0 2px rgba(0,212,255,.25)}body.detail-modal-open .search-recall-fab{display:none!important}
html.page-scroll-lock{overflow:hidden!important;height:100%;overscroll-behavior:none}
html.page-scroll-lock body{overflow:hidden!important}
body.search-spotlight-open .search-recall-fab{opacity:0;pointer-events:none;transform:scale(.85);transition:opacity .25s ease,transform .35s cubic-bezier(.2,.85,.25,1)}
.search-spotlight-overlay{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));pointer-events:none}
.search-spotlight-overlay.active{display:flex;pointer-events:auto}
.search-spotlight-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse 90% 70% at 50% 45%,rgba(0,212,255,.12),transparent 55%),rgba(5,8,14,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .4s cubic-bezier(.2,.85,.25,1)}
.search-spotlight-overlay.active .search-spotlight-backdrop{opacity:1}
.search-spotlight-card{position:relative;width:100%;max-width:560px;padding:32px 28px 24px;border-radius:calc(var(--radius-lg) + 4px);background:linear-gradient(165deg,rgba(22,30,48,.97) 0%,rgba(14,18,30,.94) 100%);border:1px solid rgba(0,212,255,.28);box-shadow:0 0 0 1px rgba(0,212,255,.1),0 8px 32px rgba(0,0,0,.45),0 0 80px rgba(0,212,255,.12),inset 0 1px 0 rgba(255,255,255,.06);transform:scale(.9) translateY(24px);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease;overflow-x:hidden;overflow-y:visible}
.search-spotlight-overlay.active .search-spotlight-card{transform:scale(1) translateY(0);opacity:1}
.search-spotlight-glow{position:absolute;top:-40%;left:-20%;width:80%;height:80%;background:radial-gradient(circle,rgba(0,212,255,.16) 0%,transparent 65%);pointer-events:none;opacity:.78;transform:none;animation:none}
.search-spotlight-close{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));width:40px;height:40px;min-width:40px;min-height:40px;padding:0;line-height:0;font-size:0;border-radius:var(--radius-sm);border:1px solid transparent;background:rgba(255,255,255,.04);color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;--ui-close-icon-size:16px;transition:var(--transition);z-index:2}
.search-spotlight-close:hover,.search-spotlight-close:focus-visible{border-color:rgba(0,212,255,.4);color:var(--accent-cyan);background:rgba(0,212,255,.08);outline:none}
.search-spotlight-icon{font-size:36px;line-height:1;margin-bottom:10px;filter:drop-shadow(0 0 12px rgba(0,212,255,.45));animation:searchSpotIconPop .6s cubic-bezier(.34,1.56,.64,1) .05s both}
@keyframes searchSpotIconPop{from{transform:scale(.3) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.search-spotlight-title{font-size:clamp(22px,4vw,28px);font-weight:800;color:var(--text-primary);letter-spacing:.02em;margin-bottom:4px;position:relative;z-index:1}
.search-spotlight-tabline{font-size:14px;font-weight:600;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px;opacity:.95;position:relative;z-index:1}
.search-spotlight-field-wrap{position:relative;z-index:1;margin-bottom:14px}
.search-spotlight-input{width:100%;padding:16px 18px;font-size:18px;font-weight:600;border-radius:var(--radius-md);border:1px solid rgba(0,212,255,.35);background:rgba(8,12,22,.85);color:var(--text-primary);outline:none;box-shadow:inset 0 2px 12px rgba(0,0,0,.35),0 0 0 0 rgba(0,212,255,.2);transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}
.search-spotlight-input::placeholder{color:var(--text-muted);font-weight:500}
.search-spotlight-input:focus{border-color:rgba(0,212,255,.75);box-shadow:inset 0 2px 12px rgba(0,0,0,.25),0 0 0 3px rgba(0,212,255,.2),0 0 28px rgba(0,212,255,.15)}
.search-spotlight-hint{font-size:12px;line-height:1.55;color:var(--text-secondary);max-height:min(38vh,220px);overflow-y:auto;padding-right:4px;position:relative;z-index:1}
.search-spotlight-hint .search-hint-inner strong{color:var(--accent-cyan)}
.search-spotlight-hint .search-hint-inner code{font-size:11px}
.search-spotlight-foot{margin-top:14px;font-size:12px;color:var(--text-muted);letter-spacing:.02em;position:relative;z-index:1}
.search-spotlight-results{margin-top:10px;max-height:min(42vh,280px);overflow-y:auto;border-radius:var(--radius-md);border:1px solid rgba(0,212,255,.22);background:rgba(8,12,22,.55);position:relative;z-index:1}
.search-spotlight-results[hidden]{display:none!important}
.search-spotlight-row{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;border-bottom:1px solid rgba(42,54,84,.45);transition:background .15s ease;text-align:left}
.search-spotlight-row:last-child{border-bottom:none}
.search-spotlight-row:hover,.search-spotlight-row:focus-visible{background:rgba(0,212,255,.1);outline:none}
.search-spotlight-row .list-thumb-composite{flex-shrink:0}
.search-spotlight-row-text{min-width:0;flex:1}
.search-spotlight-row-name{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-spotlight-row-meta{font-size:12px;color:var(--text-muted);margin-top:2px}
.search-spotlight-results-empty,.search-spotlight-results-loading{padding:18px 16px;font-size:13px;line-height:1.5;color:var(--text-muted);text-align:center}.search-spotlight-results-empty{font-weight:600;color:var(--text-secondary)}
button.search-spotlight-row{margin:0;border:none;background:transparent;font:inherit;color:inherit;width:100%;text-align:left;padding:10px 12px;display:flex;align-items:center;gap:12px;cursor:pointer;border-radius:0}
button.search-spotlight-row:focus-visible{outline:2px solid rgba(0,212,255,.5);outline-offset:-2px}
.search-spotlight-stage-thumb{flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:transparent}
.search-spotlight-stage-thumb .stage-browse-thumb{box-shadow:0 2px 8px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:reduce){.search-spotlight-card,.search-spotlight-backdrop,.search-spotlight-glow,.search-spotlight-icon{animation:none!important;transition-duration:.01ms!important}.search-spotlight-overlay.active .search-spotlight-card{transform:none;opacity:1}}
.filter-select{padding:9px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:16px;outline:none;cursor:pointer}.filter-select option{background:var(--bg-secondary)}
.result-count{font-size:16px;color:var(--text-muted)}.result-count span{color:var(--accent-cyan);font-weight:600}
.rarity-filter-wrap,.role-filter-wrap,.source-filter-wrap,.lineage-filter-wrap,.series-filter-wrap,.terrain-filter-wrap,.debuff-filter-wrap,.mechanism-filter-wrap,.skill-filter-wrap,.ability-filter-wrap{position:relative;display:inline-flex;align-items:stretch;flex:0 1 auto;min-width:0;max-width:100%}.source-filter-wrap{gap:6px}.stage-source-toggle-wrap{display:inline-flex;gap:4px;align-items:stretch;flex-shrink:0;flex-wrap:wrap}.stage-source-toggle-wrap .stage-source-toggle-btn{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;min-height:40px;white-space:nowrap;transition:var(--transition)}.stage-source-toggle-wrap .stage-source-toggle-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.stage-source-toggle-wrap .stage-source-toggle-btn.active{border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:0 0 0 1px var(--accent-cyan)}.stage-source-toggle-btn--tower-logo{padding:2px 8px;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:40px;line-height:1}.stage-source-tower-logo{height:36px;width:auto;display:block;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.browse-filters-clear-btn{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;min-height:40px;white-space:nowrap;flex-shrink:0;transition:var(--transition)}.browse-filters-clear-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.source-filter-row-label{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.source-filter-all-row{gap:4px}.source-filter-all-suffix{font-size:14px;font-weight:600;margin-left:2px}.source-filter-btn-all-icons{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;max-width:min(220px,48vw)}.source-filter-opt-icon{height:22px;width:auto;object-fit:contain;vertical-align:middle}.source-filter-btn-plain{font-size:14px;font-weight:600}.rarity-filter-btn,.role-filter-dd-btn{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);-webkit-text-fill-color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px;max-width:min(220px,48vw);min-height:40px;font-synthesis:none;text-shadow:none;-webkit-font-smoothing:antialiased}.rarity-filter-btn:hover,.role-filter-dd-btn:hover{border-color:var(--accent-blue);color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)}.rarity-filter-btn.active,.role-filter-dd-btn.active{border-color:var(--accent-cyan);color:var(--accent-cyan);-webkit-text-fill-color:var(--accent-cyan);background:rgba(0,212,255,0.1)}.rarity-filter-caret{font-size:10px;opacity:.85;flex-shrink:0}.filter-btn-label-inner{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;min-height:22px;color:inherit;-webkit-text-fill-color:inherit}.filter-inline-icon.rarity-filter-chip,.filter-inline-icon.role-filter-chip{height:22px;width:auto;object-fit:contain;vertical-align:middle;display:inline-block}.series-filter-toolbar-icons{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:min(200px,46vw);justify-content:flex-start}.series-filter-toolbar-ic{height:24px;width:auto;max-width:76px;object-fit:contain;display:block;flex-shrink:0}.series-filter-toolbar-fallback{display:inline-block;width:22px;height:22px;border-radius:4px;background:rgba(255,255,255,.12);flex-shrink:0}.filter-all-icons-row{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.rarity-filter-panel,.role-filter-panel{position:absolute;left:0;top:calc(100% + 4px);width:max-content;max-width:min(280px,92vw);min-width:0;max-height:min(70vh,400px);overflow-y:auto;z-index:120;background:var(--bg-card);border:1px solid rgba(0,212,255,.22);border-radius:var(--radius-sm);box-shadow:0 0 0 1px rgba(0,212,255,.06),0 8px 24px rgba(0,0,0,.4);padding:6px 0}.lineage-filter-panel,.series-filter-panel{left:0;width:min(92vw,580px);max-width:min(92vw,580px);max-height:none;overflow:visible;padding:0;box-sizing:border-box}.lineage-filter-panel .filter-panel-scroll,.series-filter-panel .filter-panel-scroll{max-height:none;overflow:visible;padding:8px 10px 10px}.filter-dd-search{width:100%;box-sizing:border-box;margin:0 0 8px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:15px}.filter-panel-scroll-inner{max-height:min(70vh,480px);overflow-y:auto;padding:4px 0 2px}.filter-panel-grid.browse-lineage-grid,.filter-panel-grid.browse-series-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:start}.list-filter-tag-item{display:block;position:relative;margin:0;cursor:pointer}.list-filter-tag-item .list-filter-sr{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.list-filter-tag-composite.tag-composite{width:100%;min-width:0;min-height:28px;height:auto;align-items:stretch;cursor:pointer;box-sizing:border-box}.list-filter-tag-item:hover .list-filter-tag-composite.tag-composite{border-color:var(--accent-cyan)}.browse-lineage-grid .list-filter-tag-item:has(input:checked) .list-filter-tag-composite.tag-composite{border-color:var(--accent-cyan);background:linear-gradient(135deg,rgba(0,212,255,0.22),rgba(0,212,255,0.06));box-shadow:0 0 0 1px rgba(0,212,255,0.45)}.browse-lineage-grid .list-filter-tag-item:has(input:checked) .tag-part-value{color:var(--accent-cyan);font-weight:800}.browse-lineage-grid .list-filter-tag-item:has(input:checked) .tag-part-icon{background:linear-gradient(135deg,rgba(0,180,230,0.45),rgba(0,90,130,0.55));border-right-color:rgba(0,212,255,0.5)}.filter-panel--combine-and-or .browse-lineage-grid .list-filter-tag-item.browse-combine-priority-a:has(input:checked) .list-filter-tag-composite.tag-composite{border-color:rgba(168,120,255,.78);background:linear-gradient(135deg,rgba(168,120,255,.32),rgba(168,120,255,.1));box-shadow:0 0 0 1px rgba(168,120,255,.55),0 0 12px rgba(168,120,255,.2)}.filter-panel--combine-and-or .browse-lineage-grid .list-filter-tag-item.browse-combine-priority-a:has(input:checked) .tag-part-value{color:rgba(232,220,255,.98);font-weight:800}.filter-panel--combine-and-or .browse-lineage-grid .list-filter-tag-item.browse-combine-priority-a:has(input:checked) .tag-part-icon{background:linear-gradient(135deg,rgba(168,120,255,.52),rgba(100,60,180,.58));border-right-color:rgba(168,120,255,.58)}.filter-panel--combine-and-or .browse-lineage-grid .list-filter-tag-item.browse-combine-priority-a:has(input:checked) .tag-icon-fg{filter:drop-shadow(0 0 4px rgba(168,120,255,.45))}.browse-series-grid .list-filter-tag-item:has(input:checked) .list-filter-tag-composite.tag-composite{border-color:var(--accent-cyan);background:linear-gradient(135deg,rgba(0,212,255,0.22),rgba(0,212,255,0.06));box-shadow:0 0 0 1px rgba(0,212,255,0.45)}.browse-series-grid .list-filter-tag-item:has(input:checked) .tag-part-value{color:var(--accent-cyan);font-weight:800}.browse-series-grid .list-filter-tag-item:has(input:checked) .tag-part-icon{background:linear-gradient(135deg,rgba(0,180,230,0.45),rgba(0,90,130,0.55));border-right-color:rgba(0,212,255,0.5)}.list-filter-tag-item .tag-part-icon{flex-shrink:0;align-self:stretch;display:flex;align-items:center;justify-content:center}.list-filter-tag-item .tag-part-value{font-size:11px;padding:4px 6px;height:auto;min-height:24px;white-space:normal;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;align-items:flex-start}.list-filter-btn-mini{display:inline-flex;align-items:center;gap:4px;max-width:100%}.tag-part-icon-series-all{display:flex;align-items:center;justify-content:center;width:24px;min-height:24px;background:linear-gradient(135deg,#3b5998,#2a437c);border-right:1px solid rgba(74,144,217,0.3)}.series-all-glyph{font-size:12px;font-weight:700;color:#c8d6e8;opacity:.9}.list-filter-series-row .tag-part-icon img.tag-icon-fg{width:22px;height:22px;object-fit:contain}.series-icon-fallback{display:inline-block;width:15px;height:15px;opacity:.4}.filter-panel-scroll{max-height:min(70vh,520px);overflow-y:auto;padding:4px 0}.series-filter-row{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:13px;color:var(--text-primary);user-select:none}.series-filter-row:hover{background:rgba(0,212,255,.08)}.series-filter-row input{accent-color:var(--accent-cyan);width:15px;height:15px;flex-shrink:0}.series-filter-opt-icon{width:28px;height:28px;object-fit:contain;flex-shrink:0;border-radius:4px;background:rgba(0,0,0,.15)}.filter-long-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.lineage-filter-panel .rarity-filter-row{padding:6px 10px}.rarity-filter-row,.role-filter-row{display:flex;align-items:center;gap:7px;padding:5px 10px;cursor:pointer;font-size:13px;color:var(--text-primary);user-select:none}.rarity-filter-row:hover,.role-filter-row:hover{background:rgba(0,212,255,.12)}.rarity-filter-row:has(input:checked),.role-filter-row:has(input:checked){background:rgba(0,212,255,.14);color:var(--accent-cyan)}.rarity-filter-row:focus-within,.role-filter-row:focus-within{background:rgba(0,212,255,.1);outline:none;box-shadow:inset 0 0 0 1px rgba(0,212,255,.35)}.rarity-filter-row input,.role-filter-row input{accent-color:var(--accent-cyan);width:15px;height:15px;flex-shrink:0}.role-filter-row .role-filter-type-label{font-size:13px;font-weight:600;color:var(--text-primary)}.role-filter-row-label{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;flex-wrap:nowrap}.role-filter-row-label .role-filter-type-label{flex:0 1 auto}.role-filter-row .role-filter-all-label{color:var(--text-secondary);font-weight:600;font-size:13px}.rarity-filter-row .rarity-filter-all-label{font-size:13px;font-weight:600;color:var(--text-primary)}.rarity-filter-panel .rarity-row-one-icon,.role-filter-panel .rarity-row-one-icon{min-width:20px;min-height:18px}.rarity-filter-panel .rarity-row-one-icon .filter-inline-icon.rarity-filter-chip,.role-filter-panel .rarity-row-one-icon .filter-inline-icon.role-filter-chip,.role-filter-panel .filter-all-icons-row .filter-inline-icon.role-filter-chip{height:20px;width:auto;object-fit:contain}.diff-pill{display:inline-block;padding:4px 14px;border-radius:999px;font-weight:700;font-size:12px;line-height:1.25;color:#fff;text-align:center;min-width:5em;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.diff-pill-normal{background:linear-gradient(180deg,#3b82f6 0%,#1d4ed8 100%);border:1px solid rgba(0,0,0,.2)}.diff-pill-hard{background:linear-gradient(180deg,#d97706 0%,#92400e 100%);border:1px solid rgba(0,0,0,.2)}.diff-pill-expert{background:linear-gradient(180deg,#ef4444 0%,#991b1b 100%);border:1px solid rgba(0,0,0,.2)}.stage-diff-btn-plain{font-size:13px;font-weight:600;color:var(--text-secondary)}.stage-diff-filter-panel .rarity-filter-row{align-items:center}.rarity-filter-row-icon{height:24px;width:auto;object-fit:contain;flex-shrink:0}.rarity-row-one-icon{display:inline-flex;align-items:center;justify-content:flex-start;min-width:24px;min-height:22px;flex-shrink:0}.rarity-row-one-icon .filter-inline-icon.rarity-filter-chip,.rarity-row-one-icon .filter-inline-icon.role-filter-chip{display:block;height:22px;width:auto;object-fit:contain}.role-filter-btn{padding:8px 14px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px}.role-filter-btn:hover{border-color:var(--accent-blue);color:var(--text-primary)}.role-filter-btn.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:rgba(0,212,255,0.1)}
.data-table-wrapper{overflow:visible;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);max-width:100%}
.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:16px;table-layout:fixed}
.data-table thead th{background:var(--bg-card);padding:12px 6px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color);white-space:nowrap;position:sticky;top:var(--list-thead-sticky-top);z-index:40;cursor:pointer;user-select:none;transition:var(--transition);font-size:15px;text-transform:uppercase;letter-spacing:0.5px;overflow:hidden;box-shadow:0 3px 4px -1px rgba(0,0,0,.45);background-clip:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.list-view-area{position:relative;width:100%;min-height:280px}
.list-toolbar>.list-view-area{flex:1 1 100%;min-width:0}
.data-table thead th:hover{color:var(--accent-cyan)}.data-table thead th.sort-active{color:var(--accent-cyan)}
.sort-arrow{margin-left:4px;font-size:12px;opacity:0.4}.sort-active .sort-arrow{opacity:1}
.sort-priority-lock{
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:4px;vertical-align:middle;
  position:relative;width:18px;height:18px;flex:0 0 18px;
}
.sort-priority-ic{
  width:18px;height:18px;object-fit:contain;display:block;
  filter:drop-shadow(0 0 2px rgba(255,71,87,.55));
}
.sort-priority-exp{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  margin:0;padding:0;pointer-events:none;
  font-size:11px;font-weight:900;line-height:1;color:#fff;
  text-shadow:0 0 2px #000,0 1px 2px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.8);
  font-variant-numeric:tabular-nums;font-style:normal;
}
.data-table thead th.sort-priority-on{color:#ffb4b4;overflow:visible}
.data-table thead th.sort-priority-on.sort-active{color:var(--accent-cyan)}
@media(max-width:720px){
  .sort-priority-lock{width:20px;height:20px;flex-basis:20px}
  .sort-priority-ic{width:20px;height:20px}
  .sort-priority-exp{font-size:12px}
}
.sort-priority-band-note{color:var(--text-muted);font-weight:500;margin-left:.35em;white-space:nowrap}
.data-table tbody tr{transition:var(--transition);cursor:pointer}.data-table tbody tr:hover{background:var(--bg-card-hover)}.data-table tbody td{border-bottom:1px solid rgba(42,54,84,0.3)}
.data-table tbody td{padding:8px 6px;vertical-align:middle;overflow:hidden}
.data-table tbody td.col-thum{overflow:visible;text-align:center}
#charTable .col-thum{width:100px}#charTable .col-name{width:20%}#charTable .col-stat{width:15%;text-align:center}
#unitTable .col-thum{width:100px}#unitTable .col-name{width:20%}#unitTable .col-stat{width:12%;text-align:center}
#suppTable .col-thum{width:100px;min-width:72px}#suppTable .col-name{width:21%;min-width:7rem}#suppTable .col-tag{width:28%;min-width:0}#suppTable .col-boost{width:35%;min-width:0}#suppTable .col-skill{width:16%;min-width:7.5rem;text-align:center;vertical-align:middle}
#suppTable thead th{white-space:normal;line-height:1.25;overflow:visible;word-break:keep-all;hyphens:manual;padding:10px 5px;vertical-align:bottom}
#suppTable thead th .sort-arrow{white-space:nowrap}
#suppTable tbody td{overflow:visible}
#suppTable td.col-name{vertical-align:top}
#suppTable .col-name .name-text{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;word-break:break-word;display:block}
#suppTable td.col-skill{vertical-align:middle}
@media (min-width:481px) and (max-width:1200px){
#suppTable .col-skill{min-width:8rem}
#suppTable thead th{font-size:clamp(11px,1.9vw,14px);letter-spacing:0.02em}
}
#suppTable .col-tag .detail-tags-row,#suppTable .col-boost .skill-summary{overflow:visible}
#modTable .col-thum{width:72px;min-width:48px;text-align:center;vertical-align:middle}#modTable .col-name{width:22%;min-width:0}#modTable .col-tag{width:26%;min-width:0}#modTable .col-details{min-width:0}#modTable thead th{white-space:normal;line-height:1.25;padding:10px 5px;vertical-align:bottom}#modTable tbody td{overflow:visible;vertical-align:top}#modTable .col-tag .detail-tags-row{overflow:visible}
#suppGrid .list-grid-card-name{display:block;-webkit-line-clamp:unset;overflow:visible;word-break:break-word;overflow-wrap:anywhere;max-height:none}
#stageTable{table-layout:fixed}#stageTable .col-thum{width:168px;min-width:168px;max-width:168px;vertical-align:middle;padding:6px 4px;overflow:visible}#stageTable .col-thum .stage-thum-wrap{display:flex;align-items:center;justify-content:center;width:100%;max-width:152px;margin:0 auto;overflow:visible;flex-shrink:0}#stageTable .col-thum .stage-browse-thumb{width:152px;max-width:100%}#stageTable .col-diff{width:12%;text-align:center}#stageTable .col-number{width:10%;text-align:center}#stageTable .col-name{width:36%}#stageTable .col-cp{width:20%;text-align:center}#stageTable .col-terrain{width:14%;text-align:center}
.row-thum{width:90px;height:90px;border-radius:var(--radius-sm);object-fit:contain;background:var(--bg-input);border:1px solid var(--border-color)}
.row-thum-placeholder{width:90px;height:90px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:32px}
.list-thumb-composite{position:relative;width:90px;height:90px;flex-shrink:0;margin:0 auto;overflow:hidden;border:none;outline:none;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent}
/* Base in .list-thumb-back; frame is a sibling after portrait so z-index can stack frame above portrait (bottom border covers art). */
.list-thumb-composite.list-thumb-has-frame{--thumb-frame-nudge-y:1px}
.list-thumb-back{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.list-thumb-back .list-thumb-base{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:contain;object-position:center bottom;display:block;border:0;outline:none;-webkit-user-drag:none;z-index:0}
.list-thumb-composite.list-thumb-has-frame>.list-thumb-frame{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:contain;object-position:center bottom;display:block;border:0;outline:none;-webkit-user-drag:none;z-index:2;pointer-events:none;transform:translateY(var(--thumb-frame-nudge-y));transform-origin:center bottom}
.list-thumb-composite:not(.list-thumb-has-frame)>.list-thumb-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:0;display:block;border:0;outline:none;-webkit-user-drag:none}
.list-thumb-portrait-wrap{position:absolute;top:7px;left:7px;right:7px;bottom:7px;display:flex;align-items:center;justify-content:center;z-index:1;overflow:hidden;box-sizing:border-box}
.list-thumb-has-frame .list-thumb-portrait-wrap{top:8px;left:8px;right:8px;bottom:10px;align-items:center;justify-content:center}
.list-thumb-portrait-wrap .list-thumb-portrait{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center calc(50% + var(--portrait-optical-y));flex-shrink:1;display:block}
.list-thumb-has-frame .list-thumb-portrait-wrap .list-thumb-portrait{max-width:94%;max-height:94%}
/* Option parts: icon fully inside rarity plate, centered (same inset family as char/unit frames). */
.list-thumb-composite--mod.list-thumb-has-frame{
  --thumb-portrait-inset-top:8%;
  --thumb-portrait-inset-side:8%;
  --thumb-portrait-inset-bottom:10%;
  --thumb-frame-nudge-y:0px;
  overflow:hidden;
}
.list-thumb-composite--mod.list-thumb-has-frame .list-thumb-portrait-wrap{
  top:var(--thumb-portrait-inset-top);
  left:var(--thumb-portrait-inset-side);
  right:var(--thumb-portrait-inset-side);
  bottom:var(--thumb-portrait-inset-bottom);
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-sizing:border-box;
  -webkit-mask-image:var(--thumb-inner-mask,url("/static/images/UI/UI_Common_Tmb_Square_UR_Base.webp"));
  mask-image:var(--thumb-inner-mask,url("/static/images/UI/UI_Common_Tmb_Square_UR_Base.webp"));
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
}
.list-thumb-composite--mod .list-thumb-portrait-wrap .list-thumb-portrait,
.list-thumb-composite--mod.list-thumb-has-frame .list-thumb-portrait-wrap .list-thumb-portrait{
  width:auto;
  height:auto;
  max-width:86%;
  max-height:86%;
  object-fit:contain;
  object-position:center center;
  flex-shrink:1;
  display:block;
}
.list-thumb-portrait-wrap .list-thumb-placeholder{width:100%;height:100%;object-fit:contain;background:var(--bg-input);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:28px}
.list-thumb-icons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:2px}
.list-thumb-icon-wrap{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;overflow:hidden}
.list-thumb-icon-wrap img{width:100%!important;height:100%!important;object-fit:contain;display:block}
.name-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.name-text{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.mod-name{color:var(--accent-cyan)}.mod-details-cell{color:var(--text-secondary);font-size:13px;line-height:1.4}.mod-icon{width:40px;height:40px;object-fit:contain}.mod-browse-row{cursor:pointer}.modal-content.option-part-detail .option-part-detail-header .detail-portrait-wrap{width:112px;height:112px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.modal-content.option-part-detail .option-part-detail-header .mod-detail-portrait,.modal-content.option-part-detail .option-part-detail-header .detail-portrait-placeholder{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md)}.mod-details-cell--detail{white-space:pre-wrap;display:block;-webkit-line-clamp:unset;max-height:none;font-size:14px}
.name-special-icons{display:flex;gap:4px;flex-shrink:0}.name-special-icon{width:25px;height:25px}
.rarity-icon-cell{height:30px;display:block;margin:0 auto}.role-icon-cell{height:32px;display:block;margin:0 auto}
.stat-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.stat-value.stat-boosted{color:var(--accent-cyan);font-weight:700;text-shadow:0 0 10px rgba(0,212,255,.35)}
.skill-summary{font-size:14px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
.rarity-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:14px;font-weight:800;color:#000;letter-spacing:0.5px}
.rarity-UR{background:linear-gradient(135deg,#ff6b35,#ffd700,#ff6b35);text-shadow:0 0 4px rgba(255,215,0,0.5)}.rarity-SSR{background:linear-gradient(135deg,#ffd700,#ffed4a)}.rarity-SR{background:linear-gradient(135deg,#a855f7,#c084fc);color:#fff}.rarity-R{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.rarity-N{background:linear-gradient(135deg,#6b7280,#9ca3af);color:#fff}
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:0;flex-wrap:wrap}
.pagination-bar-wrap{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:22px;width:100%;box-sizing:border-box}
.pagination-bar-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;min-height:0}
.pagination-bar-main .pagination-bar-spacer{min-width:0}
.pagination-bar-main .pagination{grid-column:2;justify-self:center;margin:0}
.pagination-bar-main .filter-select.pagination-per-page{grid-column:3;justify-self:end;margin:0;padding:7px 10px;font-size:14px;min-height:38px;box-sizing:border-box}
.pagination-footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-top:0}
@media(max-width:768px){.pagination-bar-main{grid-template-columns:1fr;gap:8px}.pagination-bar-main .pagination-bar-spacer{display:none}.pagination-bar-main .pagination{grid-column:1;justify-self:center;width:100%}.pagination-bar-main .filter-select.pagination-per-page{grid-column:1;justify-self:center;max-width:100%}.pagination-footer-links{align-items:center;align-self:center}}
.page-btn{padding:7px 13px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);min-width:38px;text-align:center;box-shadow:var(--shadow-surface)}.page-btn:hover:not(.disabled):not(.active){border-color:var(--accent-blue);color:var(--text-primary)}.page-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;box-shadow:var(--shadow-surface-inset),0 1px 0 rgba(0,0,0,.35)}.page-btn.disabled{opacity:0.35;cursor:not-allowed}
.page-info{font-size:16px;color:var(--text-muted);margin:0 8px}
.stage-diff-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:800;color:#fff;letter-spacing:.4px}.stage-diff-normal{background:#55c7ff}.stage-diff-hard{background:#ff9a3d}.stage-diff-expert{background:#ff4b4b}.stage-diff-unknown{background:#667085}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(6px);z-index:300;display:none;align-items:flex-start;justify-content:center;padding:30px 20px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-overlay.active{display:flex}
.modal-content{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:1100px;width:100%;position:relative;overflow:hidden;overflow-x:hidden}
.modal-content.char-detail,.modal-content.supporter-detail{background:linear-gradient(135deg,rgba(20,28,46,0.97),rgba(20,28,46,0.92)),url('/static/images/Background/obg_031.webp');background-size:cover;background-position:center}
.modal-content.unit-detail,.modal-content.stage-detail,.modal-content.profile-title-detail{background:linear-gradient(135deg,rgba(20,28,46,0.97),rgba(20,28,46,0.92)),url('/static/images/Background/obg_012_garage.webp');background-size:cover;background-position:center}
.modal-content.char-detail:not(.detail-ranking-view) .detail-header,.modal-content.unit-detail:not(.detail-ranking-view) .detail-header{overflow:visible}
.modal-content.char-detail,.modal-content.unit-detail{overflow-x:clip;overflow-y:auto}
.modal-top-label{position:absolute;top:14px;left:28px;font-size:14px;font-weight:700;color:var(--accent-cyan);letter-spacing:1px;text-transform:uppercase;background:rgba(0,212,255,0.1);padding:4px 13px 4px 15px;border-radius:20px;border:1px solid rgba(0,212,255,0.3);z-index:100}
.modal-entity-id{position:absolute;top:20px;right:60px;font-size:16px;font-weight:700;color:var(--text-muted);letter-spacing:1px;z-index:100}
.modal-entity-id-flag{margin-left:8px;font-size:12px;font-weight:600;color:var(--accent-orange);letter-spacing:.3px;white-space:nowrap}
.name-id-flag{margin-top:2px;font-size:11px;font-weight:600;color:var(--accent-orange);letter-spacing:.2px;line-height:1.25}
.ui-close-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none;line-height:0}
.ui-close-icon svg{display:block;width:var(--ui-close-icon-size,17px);height:var(--ui-close-icon-size,17px);flex-shrink:0;transform:translate(var(--icon-close-optical-x),var(--icon-close-optical-y))}
.modal-close{position:absolute;top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));width:36px;height:36px;min-width:36px;min-height:36px;padding:0;line-height:0;font-size:0;letter-spacing:0;background:var(--bg-input);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;--ui-close-icon-size:17px;transition:var(--transition);z-index:1000;flex-shrink:0}
.modal-close:hover,.modal-close:active{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}
.modal-close:focus-visible{outline:2px solid rgba(0,212,255,.45);outline-offset:2px}
.modal-close--inline{position:static;top:auto;right:auto;width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}
.modal-close--chrome{position:static;top:auto;right:auto;flex-shrink:0}
#detailModal .modal-content{--modal-detail-gutter:14px;container-type:inline-size;container-name:modal-detail}
#detailModal .modal-content.char-detail,#detailModal .modal-content.unit-detail{--modal-detail-gutter:14px}
.modal-detail-chrome{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:max(10px,env(safe-area-inset-top,0px)) max(var(--modal-detail-gutter,14px),env(safe-area-inset-right,0px)) 10px max(var(--modal-detail-gutter,14px),env(safe-area-inset-left,0px));border-bottom:1px solid rgba(42,54,84,.55);background:var(--bg-modal);position:sticky;top:0;z-index:100;min-height:44px;box-sizing:border-box;flex-shrink:0}
.modal-detail-chrome-start{display:flex;align-items:center;min-width:0;flex:1 1 auto}
.modal-detail-chrome-end{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;min-width:0}
.modal-detail-chrome-id{display:flex;align-items:center;min-width:0;max-width:min(240px,42vw);overflow:hidden;transition:opacity .15s ease,max-width .15s ease,margin .15s ease}
.modal-detail-chrome--scrolled .modal-detail-chrome-id{opacity:0;max-width:0;margin:0;pointer-events:none}
.modal-detail-chrome .modal-top-label{position:static;top:auto;left:auto;margin:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;padding:4px 11px 4px 13px}
.modal-detail-chrome .modal-entity-id{position:static;top:auto;right:auto;margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(240px,42vw)}
.modal-content--has-chrome .detail-back-strip{padding:10px var(--modal-detail-gutter,14px) 0;background:rgba(0,0,0,0.12)}
.modal-content--has-chrome .detail-header{padding-top:16px;padding-left:var(--modal-detail-gutter,14px);padding-right:var(--modal-detail-gutter,14px)}
.modal-content--has-chrome.char-detail:not(.detail-ranking-view) .detail-header,.modal-content--has-chrome.unit-detail:not(.detail-ranking-view) .detail-header{padding-top:14px!important;padding-left:var(--modal-detail-gutter,14px)!important;padding-right:var(--modal-detail-gutter,14px)!important}
.modal-content--has-chrome .detail-body{padding-left:var(--modal-detail-gutter,14px);padding-right:var(--modal-detail-gutter,14px)}
.modal-content.profile-title-detail.modal-content--has-chrome .profile-title-detail-body{padding-top:0;margin-top:0}
@container modal-detail (max-width:820px){.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--desktop,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--desktop{display:none!important}}
.modal-content--rec-collision.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--desktop,.modal-content--rec-collision.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--desktop{display:none!important}
.modal-content--rec-collision.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile,.modal-content--rec-collision.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile{display:flex!important}
.modal-content--has-chrome .supporter-detail-header{padding-top:24px;padding-left:var(--modal-detail-gutter,14px);padding-right:var(--modal-detail-gutter,14px)}
.modal-content--has-chrome.stage-detail .detail-header{padding-top:16px;padding-left:var(--modal-detail-gutter,14px);padding-right:var(--modal-detail-gutter,14px)}
.modal-content--has-chrome.option-part-detail .detail-header{padding-top:16px;padding-left:var(--modal-detail-gutter,14px);padding-right:var(--modal-detail-gutter,14px)}
.detail-back-strip{padding:52px 28px 0;background:rgba(0,0,0,0.12)}
.detail-header.char-detail-header--tight-top,.detail-header.unit-detail-header--tight-top{padding-top:12px}
.detail-back-btn{font-size:13px;font-weight:700;padding:8px 16px;border-radius:10px;border:1px solid rgba(148,163,184,.45);background:rgba(15,23,42,.55);color:var(--text-secondary);cursor:pointer;line-height:1.2}
.detail-back-btn:hover{color:var(--accent-cyan);border-color:rgba(34,211,238,.55);background:rgba(15,23,42,.75)}
.detail-header{display:flex;gap:28px;padding:52px 28px 24px;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,0.2);overflow:hidden;position:relative}
.detail-portrait-wrap{flex-shrink:0;width:300px;max-width:100%;position:relative}.detail-portrait{width:100%;max-width:300px;height:400px;object-fit:contain;object-position:center calc(50% + var(--portrait-optical-y));border-radius:var(--radius-md);border:2px solid var(--border-color);background:rgba(13,19,33,0.8)}
.stage-portrait{width:240px;height:240px;object-fit:contain;border-radius:var(--radius-md);border:2px solid var(--border-color);background:rgba(13,19,33,0.8)}
.supporter-portrait{border:none;background:transparent;filter:drop-shadow(0 4px 8px rgba(0,0,0,0.6));pointer-events:none;display:block}
.supporter-detail-header{gap:28px;padding:56px 28px 24px;align-items:flex-start}
.supporter-portrait-wrap{flex-shrink:0;position:relative;width:450px;max-width:100%}
.supporter-portrait-wrap .supporter-portrait{width:100%;height:auto;display:block;object-fit:contain;aspect-ratio:900/504}
.supporter-title-area{justify-content:center;z-index:6;overflow:visible;flex:0 1 auto}
.supporter-detail-header{overflow:visible}
.supporter-title-area .detail-name{font-size:26px;margin-bottom:10px}
.supporter-portrait-placeholder{width:150px;height:200px;font-size:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border-color);background:rgba(13,19,33,0.8)}
.supporter-control-row{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;margin-bottom:16px;padding:0}
.supporter-control-group{display:flex;flex-direction:column;gap:6px}
.supporter-control-label{font-size:11px;color:var(--text-muted);font-weight:600}
.supporter-level-control{display:flex;align-items:center;gap:10px}
.supporter-level-control input[type="range"]{width:140px;accent-color:var(--accent-cyan)}
.supporter-level-control #suppLevelVal{min-width:28px;font-weight:700;color:var(--accent-cyan)}
.detail-portrait-placeholder{width:100%;max-width:300px;height:400px;border-radius:var(--radius-md);border:2px solid var(--border-color);background:rgba(13,19,33,0.8);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:80px}
.detail-title-area{flex:1;min-width:0;display:flex;flex-direction:column;z-index:10;overflow:hidden}.modal-content.unit-detail .detail-header,.modal-content.char-detail .detail-header{overflow:visible}.unit-detail-title-area,.char-detail-title-area{overflow:visible}.unit-detail-head-row,.char-detail-head-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;width:100%}.unit-detail-head-main,.char-detail-head-main{flex:1;min-width:min(100%,200px)}
.detail-limited-banner-wrap{margin-top:10px;margin-bottom:4px;display:inline-block;width:fit-content;max-width:100%}
.detail-limited-banner{display:inline-block;position:relative;padding:9px 18px 11px 12px;border:1px solid rgba(255,255,255,.92);border-radius:4px 2px 2px 4px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 10px 24px -8px rgba(255,255,255,.28) inset;white-space:nowrap;max-width:100%}
.detail-limited-banner--unit{background:linear-gradient(98deg,#db2777 0%,#a855f7 45%,#2563eb 100%);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 100%,0 100%)}
.detail-limited-banner--character{background:linear-gradient(98deg,#3d1b6e 0%,#5b21b6 35%,#9333ea 62%,#c026d3 100%);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 100%,0 100%)}
.detail-limited-banner-inner{display:block;font-family:inherit;font-weight:800;font-size:clamp(11px,2.9vw,14px);letter-spacing:.04em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 1px rgba(0,0,0,.6);text-align:center;line-height:1.2}
.detail-portrait-stack{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-shrink:0}
.modal-content.char-detail .detail-portrait-stack>.detail-portrait-wrap,.modal-content.unit-detail .detail-portrait-stack>.detail-portrait-wrap{order:1;width:100%}
.modal-content.char-detail .detail-portrait-stack>.detail-rec-shortcut--mobile,.modal-content.unit-detail .detail-portrait-stack>.detail-rec-shortcut--mobile{order:2;width:100%}
.detail-rec-shortcut--mobile{display:none}.detail-rec-shortcut--mobile:empty{display:none!important}
.modal-content.char-detail .detail-rec-shortcut--desktop,.modal-content.unit-detail .detail-rec-shortcut--desktop{display:flex;flex-direction:column;align-items:center}
.rarity-filter-row-lt,.rarity-filter-row-nlt{align-items:center;padding:8px 10px;border-top:1px solid rgba(255,255,255,.06);margin-top:2px}
.rarity-row-limited-cell,.rarity-row-nlt-cell{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.rarity-nlt-banner-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:26px;padding:0 12px;max-width:100%;vertical-align:middle;border:1px solid rgba(148,163,184,.85);border-radius:6px;background:rgba(30,41,59,.9);box-shadow:0 1px 0 rgba(255,255,255,.12) inset}
.rarity-nlt-banner-chip-inner{display:block;font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.04em;color:#e2e8f0;text-shadow:0 1px 2px rgba(0,0,0,.75);white-space:nowrap;line-height:1}
.rarity-nlt-banner-chip.rarity-nlt-toolbar-chip{min-height:22px;padding:0 10px}
.rarity-filter-btn .rarity-nlt-toolbar-chip{margin-left:4px}
.rarity-filter-btn .rarity-nlt-toolbar-chip .rarity-nlt-banner-chip-inner{font-size:10px}
.detail-rec-link-card .detail-rec-limited-wrap{margin-top:4px;width:100%;display:flex;justify-content:center}
.detail-rec-link-card .detail-rec-limited-wrap .detail-limited-banner-wrap{margin-top:0;margin-bottom:0}
.detail-rec-link-card .detail-rec-limited-wrap .detail-limited-banner{padding:5px 12px 6px 9px}
.detail-rec-link-card .detail-rec-limited-wrap .detail-limited-banner-inner{font-size:10px}
.rarity-row-hit{flex:1;min-width:0;cursor:pointer;display:flex;align-items:center;border-radius:4px}
.rarity-row-hit:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}
.role-row-hit,.source-filter-row-hit{flex:1;min-width:0}
.rarity-filter-lt-row{display:inline-flex;align-items:center;min-width:0;flex:1}
.rarity-lt-banner-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:26px;padding:0 12px 0 10px;max-width:100%;vertical-align:middle;border:1px solid rgba(255,255,255,.9);border-radius:4px 2px 2px 4px;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 100%,0 100%);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 16px -6px rgba(0,0,0,.35) inset}
.rarity-lt-banner-chip.rarity-lt-banner--unit{background:linear-gradient(98deg,#db2777 0%,#a855f7 45%,#2563eb 100%)}
.rarity-lt-banner-chip.rarity-lt-banner--char{background:linear-gradient(98deg,#3d1b6e 0%,#5b21b6 35%,#9333ea 62%,#c026d3 100%)}
.rarity-lt-banner-chip-inner{display:block;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.06em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85);white-space:nowrap;line-height:1}
.rarity-lt-banner-chip.rarity-lt-toolbar-chip{min-height:22px;padding:0 10px 0 7px;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 100%,0 100%)}
.rarity-filter-btn .rarity-lt-toolbar-chip .rarity-lt-banner-chip-inner{font-size:10px;letter-spacing:.05em}
/* Char/unit detail mobile: portrait + recommend card side-by-side (desktop-like header row) */
@media(max-width:768px){
.modal-content.char-detail:not(.detail-ranking-view) .detail-header,.modal-content.unit-detail:not(.detail-ranking-view) .detail-header{flex-direction:row!important;align-items:flex-start!important;text-align:left!important;gap:12px!important;padding:44px 14px 14px!important}
.modal-content.char-detail:not(.detail-ranking-view) .detail-header>.detail-rank-toggle-slot,.modal-content.unit-detail:not(.detail-ranking-view) .detail-header>.detail-rank-toggle-slot{left:14px;bottom:14px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--desktop,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--desktop{display:none!important}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;flex-shrink:0}
.modal-content.char-detail:not(.detail-ranking-view) .detail-portrait-stack,.modal-content.unit-detail:not(.detail-ranking-view) .detail-portrait-stack{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start;gap:8px;width:min(132px,36vw);max-width:min(132px,36vw);flex-shrink:0}
.modal-content.char-detail:not(.detail-ranking-view) .detail-portrait-wrap,.modal-content.unit-detail:not(.detail-ranking-view) .detail-portrait-wrap{width:100%!important;max-width:100%!important;height:auto!important;flex-shrink:0}
.modal-content.char-detail:not(.detail-ranking-view) .detail-portrait,.modal-content.unit-detail:not(.detail-ranking-view) .detail-portrait,.modal-content.char-detail:not(.detail-ranking-view) .detail-portrait-placeholder,.modal-content.unit-detail:not(.detail-ranking-view) .detail-portrait-placeholder{width:100%;max-width:100%;height:auto;aspect-ratio:3/4}
.modal-content.char-detail:not(.detail-ranking-view) .detail-title-area,.modal-content.unit-detail:not(.detail-ranking-view) .detail-title-area{flex:1 1 0;min-width:0;width:auto;align-self:stretch}
.modal-content.char-detail:not(.detail-ranking-view) .char-detail-head-main .detail-meta,.modal-content.char-detail:not(.detail-ranking-view) .char-detail-head-main .detail-role-label{justify-content:flex-start;text-align:left}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-card,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-card{width:100%!important;max-width:100%!important;padding:8px 6px 10px!important;box-sizing:border-box}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-thumb-wrap,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-thumb-wrap{padding:6px 4px 8px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-thumb-wrap .list-thumb-composite,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-thumb-wrap .list-thumb-composite{width:64px!important;height:64px!important}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-label,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-label{font-size:9px;margin-bottom:4px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-name,.modal-content.unit-detail:not(.detail-ranking-view) .detail-rec-shortcut--mobile .detail-rec-link-name{font-size:10px;max-width:100px;margin-top:2px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-series-row,.modal-content.char-detail:not(.detail-ranking-view) .detail-tags-row,.modal-content.char-detail:not(.detail-ranking-view) .header-terrain-row,.modal-content.unit-detail:not(.detail-ranking-view) .detail-series-row,.modal-content.unit-detail:not(.detail-ranking-view) .detail-tags-row,.modal-content.unit-detail:not(.detail-ranking-view) .header-terrain-row{justify-content:flex-start!important}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:visible;padding-right:0}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .stats-grid,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .stats-grid{width:100%;max-width:100%;min-width:0}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-control-row,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-control-row{justify-content:stretch;width:100%;max-width:100%;min-width:0;overflow:visible;margin-bottom:8px}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-btn-group,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-btn-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:100%;min-width:0;overflow:visible;border-radius:var(--radius-sm);background-clip:padding-box;isolation:isolate}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn{min-width:0;padding:4px 3px;gap:1px}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn img,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn img{width:14px;height:14px}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn.active,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn.active{box-shadow:none}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn:last-child.active,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .lb-icon-btn:last-child.active{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
}
@media(max-width:480px){
.modal-content.char-detail:not(.detail-ranking-view) .detail-header,.modal-content.unit-detail:not(.detail-ranking-view) .detail-header{padding-left:12px!important;padding-right:12px!important}
.modal-content.char-detail:not(.detail-ranking-view) .detail-header>.detail-rank-toggle-slot,.modal-content.unit-detail:not(.detail-ranking-view) .detail-header>.detail-rank-toggle-slot{left:12px;bottom:12px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-body,.modal-content.unit-detail:not(.detail-ranking-view) .detail-body{padding-left:12px;padding-right:12px}
.modal-content.char-detail:not(.detail-ranking-view) .header-stats-wrapper .stats-grid,.modal-content.unit-detail:not(.detail-ranking-view) .header-stats-wrapper .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-body .detail-section>.section-title,.modal-content.unit-detail:not(.detail-ranking-view) .detail-body .detail-section>.section-title{padding:10px 12px}
.modal-content.char-detail:not(.detail-ranking-view) .detail-body .detail-section>.ability-list,.modal-content.unit-detail:not(.detail-ranking-view) .detail-body .detail-section>.ability-list,.modal-content.char-detail:not(.detail-ranking-view) .detail-body .detail-section>.weapon-list,.modal-content.unit-detail:not(.detail-ranking-view) .detail-body .detail-section>.weapon-list{padding:10px}
}
.detail-rec-link-card{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0;padding:14px 12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:rgba(13,19,33,0.75);cursor:pointer;transition:var(--transition);max-width:min(184px,40vw);min-width:0;overflow:visible;box-sizing:border-box}.detail-rec-link-card:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,0.08);box-shadow:0 0 0 1px rgba(0,212,255,0.2)}.detail-rec-link-card:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.detail-rec-link-label{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:0.06em;text-align:center;text-transform:uppercase;width:100%;margin:0 0 10px;padding:0 2px;flex-shrink:0}.detail-rec-link-thumb-wrap{display:flex;justify-content:center;align-items:center;padding:10px 12px 14px;overflow:visible;box-sizing:border-box;width:100%;min-height:0}.detail-rec-link-thumb-wrap .list-thumb-composite{width:96px!important;height:96px!important;max-width:100%;flex-shrink:0;overflow:visible}.detail-rec-link-thumb-wrap .list-thumb-back{overflow:visible}.detail-rec-link-name{font-size:12px;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.25;max-width:160px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 2px;margin-top:8px}.detail-name{font-size:32px;font-weight:700;margin-bottom:10px;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,0.5);word-break:break-word}
.detail-meta{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.detail-rarity-icon{height:50px}.detail-role-label{font-size:18px;color:var(--text-secondary);font-weight:600;padding:0;background:transparent;border:none;display:flex;align-items:center;gap:8px}.detail-role-label img{height:35px}.detail-meta-icon{height:30px;vertical-align:middle;background:transparent;border:none;object-fit:contain}
.char-extra-info-wrap{display:inline-grid;grid-template-columns:auto;gap:5px;margin:2px 0 8px 0;padding:8px 10px;border-radius:12px;border:1px solid rgba(125,211,252,.32);background:rgba(8,19,36,.5);width:fit-content;max-width:100%}
.char-extra-info-row{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;column-gap:8px;row-gap:0}
.char-extra-info-label{font-size:12px;font-weight:800;letter-spacing:.02em;color:#c7e7ff;white-space:nowrap;min-width:104px}
.char-extra-info-icons{display:flex;align-items:center;gap:6px;min-height:22px}
.char-extra-info-icon{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.char-extra-info-none{font-size:12px;color:var(--text-muted)}
.detail-special-icon{background:transparent;border:none;object-fit:contain}
.detail-model{font-size:16px;color:var(--text-muted);margin-bottom:8px}.detail-special-icons{display:flex;gap:6px;margin-bottom:10px}.detail-special-icon{width:35px;height:35px}
.detail-series-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}.series-icon-img{height:55px;max-width:250px;object-fit:contain;filter:brightness(1.1);transition:var(--transition)}.series-icon-img:hover{filter:brightness(1.3)}.series-icon-img.series-icon-clickable{cursor:pointer;border-radius:8px}.series-icon-img.series-icon-clickable:hover{filter:brightness(1.35);box-shadow:0 0 0 2px rgba(0,212,255,.35)}.series-text-fallback{padding:5px 14px;background:rgba(200,160,255,0.2);border:1px solid rgba(200,160,255,0.5);border-radius:20px;font-size:16px;color:#dcc5ff;font-weight:600}.series-text-fallback.series-icon-clickable{cursor:pointer;transition:var(--transition)}.series-text-fallback.series-icon-clickable:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,0.12)}
.series-icon-hitbox{border:none;background:transparent;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;max-width:100%;font:inherit;line-height:0}
.series-icon-hitbox:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px;border-radius:10px}
.series-icon-hitbox .series-icon-img{pointer-events:none}
.series-icon-hitbox .series-text-fallback{pointer-events:none}
.support-stat-badge{background:rgba(26,34,54,0.8);padding:4px 10px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,0.1);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:4px}.support-hp{color:var(--accent-green);border-color:rgba(46,213,115,0.3)}.support-atk{color:var(--accent-red);border-color:rgba(255,71,87,0.3)}
/* supporter-addon #4 combat power badge */
.support-cp{color:var(--accent-cyan);border-color:rgba(74,144,217,0.35)}
/* supporter-addon #3 gacha obtained quote */
.supporter-gacha-quote .ability-detail{opacity:.92}
.supporter-meta-row .supporter-lb-group{flex-shrink:0}
.detail-tags-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.tag-composite{display:inline-flex;align-items:center;height:24px;border-radius:4px;overflow:hidden;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5));background:linear-gradient(135deg,#2a3a5c,#1e2d4a);border:1px solid rgba(74,144,217,0.3);cursor:pointer;transition:var(--transition)}.tag-composite:hover{border-color:var(--accent-cyan);transform:translateY(-2px)}
.tag-part-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,#3b5998,#2a437c);border-right:1px solid rgba(74,144,217,0.3)}.tag-icon-fg{width:15px;height:15px;object-fit:contain;filter:brightness(1.3)}
.tag-part-value{font-family:var(--font-tag-ui);font-size:12px;font-weight:700;height:24px;display:flex;align-items:center;padding:0 8px;white-space:nowrap;color:#c8d6e8;letter-spacing:.3px}
.header-terrain-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}.header-terrain-item.ssp-enhanced{border-color:rgba(255,215,0,.5);background:rgba(255,215,0,.08)}.header-terrain-item{display:flex;align-items:center;gap:4px;background:rgba(26,34,54,0.7);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:5px 8px}.header-terrain-type-icon{width:22px;height:22px;object-fit:contain}.header-terrain-level-icon{width:20px;height:20px;object-fit:contain}.dimmer-terrain{opacity:.35;filter:grayscale(.8)}
.sp-toggle-btn{padding:4px;background:rgba(13,19,33,.8);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);height:32px;width:45px;box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim)}.sp-toggle-btn img{height:24px;object-fit:contain;filter:grayscale(1) opacity(.4);transition:var(--transition)}.sp-toggle-btn:hover{border-color:var(--accent-gold)}.sp-toggle-btn.active{border-color:var(--accent-gold);background:rgba(255,215,0,.15);box-shadow:var(--toggle-depth-active-inset),var(--toggle-depth-rim),0 0 10px rgba(255,215,0,.28)}.sp-toggle-btn.active img{filter:grayscale(0) opacity(1)}.list-stat-toggle-wrap{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-left:6px;vertical-align:middle}.list-stat-toggle-wrap .sp-toggle-btn,.list-stat-toggle-wrap .list-cond-toggle{flex-shrink:0}@keyframes cpWordBorderPulse{0%,100%{border-color:rgba(168,85,247,.52);box-shadow:0 0 6px rgba(168,85,247,.42)}50%{border-color:rgba(233,212,255,.92);box-shadow:0 0 16px rgba(192,132,252,.75)}}.list-cond-toggle{padding:2px;background:rgba(13,19,33,.8);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);height:32px;width:45px;line-height:1;box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim)}.list-cond-toggle:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.list-cond-toggle:hover{border-color:rgba(137,148,173,.92)}.list-cond-toggle .cp-word-pad{padding:2px 4px;display:inline-flex;align-items:baseline;border-radius:4px;border:1px solid transparent;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.list-cond-toggle .cp-wide{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:800;font-style:italic;letter-spacing:-.03em;font-size:24px;line-height:1;display:inline-flex;align-items:baseline;color:#888;transition:color .22s ease,filter .22s ease,text-shadow .22s ease}.list-cond-toggle .cp-wide-c{font-size:1.15em}.list-cond-toggle.active{border-color:rgba(168,85,247,.55);background:rgba(168,85,247,.1);box-shadow:var(--toggle-depth-active-inset),var(--toggle-depth-rim),0 0 8px rgba(168,85,247,.18)}.list-cond-toggle.active .cp-wide{color:#d8b4fe;filter:drop-shadow(0 0 8px rgba(192,132,252,.75))}.list-cond-toggle.active .cp-word-pad{border-color:rgba(192,132,252,.88);background:rgba(168,85,247,.08);animation:cpWordBorderPulse 1.28s ease-in-out infinite}
.lb-control-row{display:flex;align-items:center;justify-content:flex-end;margin-bottom:8px;gap:8px}.lb-btn-group{display:flex;align-items:center;background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border-color);overflow:hidden}.lb-icon-btn{display:flex;align-items:center;justify-content:center;gap:2px;padding:4px 8px;background:transparent;border:none;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color)}.lb-icon-btn:last-child{border-right:none}.lb-icon-btn:hover{background:rgba(74,144,217,.15)}.lb-icon-btn.active{background:var(--accent-blue);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}.lb-icon-btn img{width:16px;height:16px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}
.modal-content.unit-detail.detail-ranking-view .lb-control-row--ranking-overlay{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);margin:0;z-index:3;justify-content:center}
.modal-content.unit-detail.detail-ranking-view .lb-control-row--ranking-overlay .lb-btn-group{background:rgba(8,14,25,.72);border-color:rgba(255,255,255,.22);box-shadow:0 4px 12px rgba(0,0,0,.35)}
.modal-content.unit-detail.detail-ranking-view .lb-icon-btn--ranking-fixed{cursor:default;pointer-events:none;border-right:none;padding:4px 10px}
.header-stats-wrapper{margin-top:auto;padding-top:18px;display:flex;flex-direction:column}
.modal-content.char-detail .detail-header>.detail-rank-toggle-slot,.modal-content.unit-detail .detail-header>.detail-rank-toggle-slot{position:absolute;left:28px;bottom:24px;z-index:25;display:flex;justify-content:flex-start;align-items:flex-end;margin:0;padding:0;pointer-events:none;width:auto}
.modal-content.char-detail .detail-header>.detail-rank-toggle-slot .detail-rank-toggle-btn,.modal-content.unit-detail .detail-header>.detail-rank-toggle-slot .detail-rank-toggle-btn{pointer-events:auto}
@media(min-width:769px){
.modal-content.char-detail:not(.detail-ranking-view) .detail-header.char-detail-header:has(.detail-rank-toggle-btn){overflow:visible;padding-bottom:80px;z-index:2}
.modal-content.char-detail:not(.detail-ranking-view) .detail-header.char-detail-header:has(.detail-rank-toggle-btn)>.detail-rank-toggle-slot{bottom:28px;z-index:30}
}
.modal-content.char-detail .header-stats-wrapper .lb-control-row,.modal-content.unit-detail .header-stats-wrapper .lb-control-row{overflow:visible;max-width:100%;min-width:0}
.modal-content.char-detail .header-stats-wrapper .lb-btn-group,.modal-content.unit-detail .header-stats-wrapper .lb-btn-group{overflow:visible;flex-shrink:0;border-radius:var(--radius-sm);background-clip:padding-box}
.modal-content.char-detail .header-stats-wrapper .lb-icon-btn.active,.modal-content.unit-detail .header-stats-wrapper .lb-icon-btn.active{box-shadow:none}
.modal-content.char-detail .header-stats-wrapper .lb-icon-btn:last-child.active,.modal-content.unit-detail .header-stats-wrapper .lb-icon-btn:last-child.active{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
.detail-rank-toggle-btn,.unit-lb-video-btn,.unit-gacha-pull-video-btn{position:relative;z-index:1;width:52px;height:52px;border:2px solid rgba(34,211,238,.7);border-radius:14px;background:linear-gradient(145deg,rgba(15,30,54,.96),rgba(8,19,36,.94));display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0;flex-shrink:0;padding:0;box-shadow:0 6px 18px rgba(0,0,0,.45),0 0 16px rgba(34,211,238,.28),inset 0 0 0 1px rgba(125,211,252,.2);transition:var(--transition)}
.detail-rank-toggle-btn:hover,.unit-lb-video-btn:hover,.unit-gacha-pull-video-btn:hover{border-color:rgba(103,232,249,.95);box-shadow:0 8px 22px rgba(0,0,0,.5),0 0 22px rgba(34,211,238,.42),inset 0 0 0 1px rgba(186,230,253,.34);transform:translateY(-1px)}
.unit-lb-video-btn:active,.unit-gacha-pull-video-btn:active{transform:translateY(0)}
.unit-gacha-pull-video-btn{border-color:transparent;background:linear-gradient(145deg,rgba(15,30,54,.96),rgba(8,19,36,.94));overflow:visible;isolation:isolate}
.unit-gacha-pull-video-btn::before{content:'';position:absolute;inset:-3px;border-radius:16px;padding:2px;background:linear-gradient(120deg,#ff4d4d,#ffb347,#ffe066,#7dff7d,#47d1ff,#b47dff,#ff4d4d);background-size:300% 300%;animation:unit-gacha-pull-rainbow 3.5s linear infinite;z-index:-2;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.unit-gacha-pull-video-btn::after{content:'';position:absolute;inset:0;border-radius:12px;background:linear-gradient(145deg,rgba(15,30,54,.96),rgba(8,19,36,.94));z-index:-1;pointer-events:none}
.unit-gacha-pull-video-btn:hover{box-shadow:0 8px 22px rgba(0,0,0,.5),0 0 24px rgba(168,85,247,.35),0 0 18px rgba(34,211,238,.28),inset 0 0 0 1px rgba(255,255,255,.12)}
@keyframes unit-gacha-pull-rainbow{0%{background-position:0% 50%}100%{background-position:300% 50%}}
.detail-rank-toggle-btn.active{border-color:rgba(103,232,249,1);background:linear-gradient(145deg,rgba(14,56,78,.96),rgba(10,30,54,.94));box-shadow:0 8px 24px rgba(0,0,0,.52),0 0 28px rgba(34,211,238,.52),inset 0 0 0 1px rgba(186,230,253,.42)}
.detail-rank-toggle-icon,.unit-lb-video-btn-icon,.unit-gacha-pull-video-btn-icon{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(34,211,238,.5))}
.unit-gacha-pull-video-btn-icon{filter:drop-shadow(0 2px 8px rgba(168,85,247,.55))}
@media(max-width:768px){.detail-rank-toggle-btn,.unit-lb-video-btn,.unit-gacha-pull-video-btn{width:48px;height:48px}.detail-rank-toggle-icon,.unit-lb-video-btn-icon,.unit-gacha-pull-video-btn-icon{width:30px;height:30px}}
.stat-inline-rank{--rad-size:74px;position:relative;margin-top:6px;width:var(--rad-size);height:var(--rad-size);display:grid;place-items:center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
.stat-inline-rank::after{content:'';position:absolute;inset:9px;border-radius:50%;pointer-events:none;opacity:0}
.stat-inline-rank.leak-shadow-soft::after{animation:leakShadowPulseSoft 3.8s ease-in-out infinite}
.stat-inline-rank.leak-shadow::after{animation:leakShadowPulse 3.4s ease-in-out infinite}
.stat-inline-rank.leak-shadow-strong::after{animation:leakShadowPulseStrong 2.5s ease-in-out infinite}
.radial-svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}
.progress-circle{fill:none;stroke:#334155;stroke-width:8}
.progress-fill{fill:none;color:var(--rank-tone,#22d3ee);stroke:var(--rank-tone,#22d3ee);stroke-width:8;stroke-linecap:round;stroke-dasharray:var(--sir-c,157.08);stroke-dashoffset:var(--sir-c,157.08);transition:stroke-dashoffset 2.8s cubic-bezier(.25,.1,.25,1)}
.inner-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:#0f172a;border-radius:50%;display:grid;place-items:center;text-align:center;box-shadow:0 7px 18px rgba(0,0,0,.6),inset 0 0 0 1px rgba(103,232,249,.22)}
.rank-wrap{line-height:1}
.rank-label{font-size:6px;color:var(--rank-tone,#67e8f9);font-weight:700;letter-spacing:.8px;margin-bottom:1px}
.rank-text{font-size:13px;font-weight:900;color:var(--rank-tone,#fff);line-height:1}
.percentile{font-size:7px;font-weight:800;margin-top:2px;animation:fadeIn .9s ease .45s forwards;opacity:0}
.percentile{color:var(--rank-tone,#67e8f9)}
.total{color:#94a3b8;font-size:7px;font-weight:700;margin-top:1px}
@keyframes fadeIn{to{opacity:1}}
.progress-fill.pulse{transform-box:fill-box;transform-origin:center;animation:ringPulse 4s ease-in-out infinite}
.progress-fill.pulse-strong{transform-box:fill-box;transform-origin:center;animation:ringPulseStrong 2.5s ease-in-out infinite}
.rank-text.pulse,.percentile.pulse{animation:textPulse 4s ease-in-out infinite}
.rank-text.pulse-strong,.percentile.pulse-strong{animation:textPulseStrong 2.5s ease-in-out infinite}
@keyframes ringPulse{0%,100%{stroke-width:8;opacity:1}50%{stroke-width:9.6;opacity:.95}}
@keyframes ringPulseStrong{0%,100%{stroke-width:8.2;opacity:1}50%{stroke-width:11;opacity:.92}}
@keyframes textPulse{0%,100%{text-shadow:0 0 0 rgba(0,0,0,0)}50%{text-shadow:0 0 10px var(--rank-tone,#22d3ee)}}
@keyframes textPulseStrong{0%,100%{text-shadow:0 0 0 rgba(0,0,0,0)}50%{text-shadow:0 0 14px var(--rank-tone,#fbbf24)}}
@keyframes leakShadowPulseSoft{0%,100%{opacity:.2;box-shadow:0 0 0 1px color-mix(in srgb,var(--rank-tone,#22d3ee) 28%,transparent),0 0 8px color-mix(in srgb,var(--rank-tone,#22d3ee) 24%,transparent),0 0 14px color-mix(in srgb,var(--rank-tone,#22d3ee) 14%,transparent)}50%{opacity:.42;box-shadow:0 0 0 1px color-mix(in srgb,var(--rank-tone,#22d3ee) 45%,transparent),0 0 12px color-mix(in srgb,var(--rank-tone,#22d3ee) 36%,transparent),0 0 20px color-mix(in srgb,var(--rank-tone,#22d3ee) 22%,transparent)}}
@keyframes leakShadowPulse{0%,100%{opacity:.32;box-shadow:0 0 0 1px color-mix(in srgb,var(--rank-tone,#22d3ee) 42%,transparent),0 0 10px color-mix(in srgb,var(--rank-tone,#22d3ee) 35%,transparent),0 0 18px color-mix(in srgb,var(--rank-tone,#22d3ee) 20%,transparent)}50%{opacity:.62;box-shadow:0 0 0 1px color-mix(in srgb,var(--rank-tone,#22d3ee) 70%,transparent),0 0 16px color-mix(in srgb,var(--rank-tone,#22d3ee) 55%,transparent),0 0 28px color-mix(in srgb,var(--rank-tone,#22d3ee) 35%,transparent)}}
@keyframes leakShadowPulseStrong{0%,100%{opacity:.38;box-shadow:0 0 0 1px color-mix(in srgb,var(--rank-tone,#fbbf24) 55%,transparent),0 0 14px color-mix(in srgb,var(--rank-tone,#fbbf24) 45%,transparent),0 0 26px color-mix(in srgb,var(--rank-tone,#fbbf24) 28%,transparent)}50%{opacity:.78;box-shadow:0 0 0 1px color-mix(in srgb,var(--rank-tone,#fbbf24) 85%,transparent),0 0 22px color-mix(in srgb,var(--rank-tone,#fbbf24) 72%,transparent),0 0 38px color-mix(in srgb,var(--rank-tone,#fbbf24) 48%,transparent)}}
.radial-loading{font-size:11px;font-weight:800;color:rgba(125,211,252,.9);letter-spacing:.06em}
@media(max-width:768px){.stat-inline-rank{--rad-size:66px}.inner-circle{width:44px;height:44px}.rank-text{font-size:11px}.rank-label{font-size:5.5px}.percentile,.total{font-size:6.2px}}
.detail-body{padding:24px 28px 28px;background:rgba(0,0,0,.15);overflow-x:hidden;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.modal-content.profile-title-detail .modal-top-label{top:8px}.modal-content.profile-title-detail .profile-title-detail-body{margin-top:0;padding-top:54px}.modal-content.profile-title-detail #detailInner{position:relative}.detail-section{margin-bottom:28px}.detail-body>div:last-child .detail-section:last-child{margin-bottom:0}
.detail-body .detail-section{background:rgba(26,34,54,.9);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;margin-bottom:28px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.detail-body .detail-section>.section-title{margin:0;padding:12px 16px;width:100%;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:rgba(13,19,33,.88)}.detail-body .detail-section>.ability-list,.detail-body .detail-section>.weapon-list{padding:12px;width:100%;box-sizing:border-box}.detail-body .detail-section>.ability-list>.ability-item,.detail-body .detail-section>.weapon-list>.weapon-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.detail-body .detail-section>:not(.section-title):not(.ability-list):not(.weapon-list):not(.stage-restriction-block){padding:12px;box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.section-title{font-size:19px;font-weight:700;color:var(--text-primary);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:space-between;gap:12px}
.conditional-toggle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-muted);text-transform:none;letter-spacing:0}.conditional-toggle .toggle-clickable{cursor:pointer;display:flex;align-items:center;gap:8px;user-select:none}
.toggle-switch{width:44px;height:24px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;position:relative;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;pointer-events:none;--ui-toggle-thumb-left:2px;--ui-toggle-ox:0px;touch-action:none}.toggle-switch::after{content:'';position:absolute;top:2px;left:calc(var(--ui-toggle-thumb-left,2px) + var(--ui-toggle-ox,0px));width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:none;box-shadow:0 1px 3px rgba(0,0,0,.25)}.toggle-switch.ui-toggle-snap::after{transition:left var(--ui-spring-snap,var(--ui-spring-dur,.5s)) var(--ui-spring,cubic-bezier(.34,1.56,.64,1)),background .3s ease,box-shadow .3s ease}.conditional-toggle .toggle-clickable.active .toggle-switch{background:var(--accent-purple);border-color:var(--accent-purple);--ui-toggle-thumb-left:22px}.conditional-toggle .toggle-clickable.active .toggle-switch::after{background:#fff}.toggle-label{color:var(--text-secondary);transition:color .3s ease}.conditional-toggle .toggle-clickable.active .toggle-label{color:var(--accent-purple)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;width:100%;align-items:stretch;box-sizing:border-box}.stat-card{min-width:0;max-width:100%;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 4px;text-align:center;transition:var(--transition);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px}.stat-card.has-cond-bonus{border-color:var(--accent-purple);background:rgba(168,85,247,.05)}.stat-card.has-cond-bonus--gold{border-color:rgba(250,204,21,.92);background:rgba(234,179,8,.1)}.stat-card.has-cond-penalty{border-color:var(--accent-red);background:rgba(255,71,87,.06)}.has-bonus-val--gold{color:#fde047!important;text-shadow:0 0 10px rgba(234,179,8,.5)!important}.stat-card-label{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.stat-card-value{font-size:24px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;text-shadow:0 2px 4px rgba(0,0,0,.8);transition:var(--transition);min-width:0;max-width:100%;line-height:1.15;white-space:nowrap;overflow-wrap:normal;word-break:normal}.has-bonus-val{color:#4a90d9!important;text-shadow:0 0 8px rgba(74,144,217,.4)!important}.has-penalty-val{color:#f87171!important;text-shadow:0 0 8px rgba(248,113,113,.35)!important}.ssp-highlight-val{color:#ffd700!important;text-shadow:0 0 8px rgba(255,215,0,.4)!important}.stat-card-bonus{font-size:12px;color:var(--accent-green);font-weight:700;margin-top:0;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.stat-card-bonus.stat-card-penalty{color:var(--accent-red)}.stat-card-bonus.stat-card-bonus--supporter-flat,#panel-calculator .dc-atk-ers .stat-card-bonus.stat-card-bonus--supporter-flat{color:var(--accent-orange)!important;text-shadow:0 0 8px rgba(255,149,0,.4)}.stat-card-value-row{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:100%;min-width:0}.strategy-hint-badge--stat-value{position:static!important;top:auto!important;left:auto!important;width:22px;height:22px;flex-shrink:0;margin:0;z-index:1}
.stats-grid--ranking-list{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}
.stat-card--ranking{padding:10px 12px;gap:5px;align-items:stretch;text-align:left;background:rgba(8,18,35,.7);border:1px solid rgba(34,211,238,.22);width:100%;min-width:0;overflow:hidden;box-sizing:border-box}
.stat-rank-head{display:grid;grid-template-columns:minmax(52px,auto) minmax(72px,1fr) minmax(64px,auto);align-items:center;gap:9px;width:100%;min-width:0}
.stat-rank-label{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.stat-rank-bar{height:10px;background:rgba(34,211,238,.16);border-radius:999px;overflow:hidden}
.stat-rank-fill{display:block;height:100%;background:linear-gradient(90deg,#22d3ee,#06b6d4,#0ea5e9);border-radius:999px;min-width:2px}
.stat-rank-pos{font-size:14px;font-weight:700;color:var(--accent-cyan);font-variant-numeric:tabular-nums;white-space:nowrap}
.stat-rank-pos.is-split{display:inline-flex;align-items:baseline;justify-self:end;gap:2px}
.stat-rank-pos-main{font-size:1.08em;font-weight:800;line-height:1}
.stat-rank-pos-total{font-size:.78em;font-weight:600;opacity:.9;line-height:1}
.stat-card--ranking.is-loading .stat-rank-fill{background:linear-gradient(90deg,rgba(34,211,238,.32),rgba(125,211,252,.95),rgba(34,211,238,.32));background-size:220% 100%;animation:statRankLoadingPulse 1.1s ease-in-out infinite}
.stat-rank-pos.is-loading{color:rgba(125,211,252,.78);letter-spacing:.06em}
@keyframes statRankLoadingPulse{0%{background-position:100% 0}100%{background-position:0 0}}
.stat-rank-value{font-size:28px;line-height:1.08}
@media(max-width:768px){.stats-grid--ranking-list{gap:8px}.stat-card--ranking{padding:8px 8px}.stat-rank-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'label pos' 'bar bar';gap:6px}.stat-rank-label{grid-area:label;font-size:12px;line-height:1.2}.stat-rank-pos{grid-area:pos;font-size:13px;justify-self:end;max-width:100%;overflow:hidden;text-overflow:ellipsis}.stat-rank-pos.is-split{gap:1px}.stat-rank-pos-main{font-size:1.03em}.stat-rank-pos-total{font-size:.74em}.stat-rank-bar{grid-area:bar;width:100%}.stat-rank-value{font-size:22px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.ability-list{display:flex;flex-direction:column;gap:12px}.ability-item{display:flex;gap:14px;padding:16px;background:rgba(26,34,54,.9);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);backdrop-filter:blur(4px);box-shadow:var(--shadow-craft-card,var(--shadow-surface))}.ability-item:hover{border-color:var(--border-accent)}.ability-item-clickable{cursor:pointer}.ability-item-clickable:hover{border-color:var(--accent-cyan);box-shadow:var(--shadow-craft-card-hover,0 14px 36px rgba(0,0,0,.34))}.detail-clickable-item{cursor:pointer}.detail-clickable-item:hover{border-color:var(--accent-cyan);box-shadow:var(--shadow-craft-card-hover,0 14px 36px rgba(0,0,0,.34))}.ability-icon-wrap{flex-shrink:0;width:70px;height:70px;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}.ability-icon-wrap--char-skill{width:70px;height:auto;min-height:70px;flex-direction:column;gap:5px;align-items:center;justify-content:flex-start;align-self:flex-start}.ability-icon-stack{position:relative;width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.char-skill-sp-cost{font-size:11px;font-weight:800;letter-spacing:.03em;color:#fff;text-align:center;line-height:1.1;white-space:nowrap;padding-top:2px}.ability-icon{width:56px;height:56px;border-radius:0;object-fit:contain;background:transparent;border:none;z-index:1}.mech-icon{width:60px;height:60px;object-fit:contain;background:transparent;z-index:1}.ability-frame-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;pointer-events:none;object-fit:contain;z-index:2}.strategy-hint-badge{position:absolute;top:2px;left:2px;width:22px;height:22px;object-fit:contain;z-index:7;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}.strategy-hint-badge--weapon{top:0;left:0;width:20px;height:20px;z-index:8}
/* EX ability icons — must stay in shell CSS (detail modal); not craft_ui (lazy) */
.ability-icon-stack--ex{--ability-ex-inset-top:11.43%;--ability-ex-inset-right:5.43%;--ability-ex-inset-bottom:4.29%;--ability-ex-inset-left:5.43%;display:block;overflow:visible}
.ability-icon-stack--ex .ability-icon-inner{position:absolute;top:var(--ability-ex-inset-top);right:var(--ability-ex-inset-right);bottom:var(--ability-ex-inset-bottom);left:var(--ability-ex-inset-left);z-index:1;overflow:hidden;box-sizing:border-box;-webkit-mask-image:var(--ability-ex-inner-mask,url("/static/images/UI/UI_CharaAbilities_Tmb_Square_Normal_Base.webp"));mask-image:var(--ability-ex-inner-mask,url("/static/images/UI/UI_CharaAbilities_Tmb_Square_Normal_Base.webp"));-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.ability-icon-stack--ex .ability-icon-inner .ability-icon-base{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:fill;object-position:center bottom;display:block;border:0;z-index:0}
.ability-icon-stack--ex .ability-icon-inner .ability-icon{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;max-height:none;object-fit:contain;object-position:center bottom;display:block;background:transparent;border:none;z-index:1}
.ability-icon-stack--ex .ability-frame-overlay{position:absolute;inset:0;width:100%!important;height:100%!important;margin:0;transform:none!important;object-fit:contain;object-position:center bottom;z-index:2;pointer-events:none}
.ability-icon-wrap:has(.ability-icon-stack--ex),.ability-item:has(.ability-icon-stack--ex){overflow:visible}
.ability-icon-placeholder{width:60px;height:60px;border-radius:0;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:25px}.ability-info{flex:1;min-width:0}.ability-name{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.ability-detail{font-size:16px;color:var(--text-secondary);line-height:1.6;margin-bottom:6px;white-space:pre-wrap}.ability-detail-chunk{display:flex;flex-direction:column;margin-bottom:12px;width:100%;min-width:0}.ability-detail-chunk:last-child{margin-bottom:0}.ability-detail-block{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:15px;color:var(--text-primary);line-height:1.55;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow-wrap:anywhere;word-break:break-word}.ability-detail-block-inner{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.ability-detail-text{white-space:pre-line}.ability-detail-block .ability-conditions{margin-top:0}.ability-conditions{display:flex;flex-direction:column;gap:8px}.ability-condition-group:only-child .ability-condition-tags{margin-top:0}.ability-conditions--after-text{margin-top:0}.ability-condition-group{display:flex;flex-direction:column;gap:6px}.ability-condition-label{font-size:13px;font-weight:700;color:#cdd7ee;opacity:.95}.ability-condition-tags{display:flex;flex-wrap:wrap;gap:6px}
.weapon-list{display:flex;flex-direction:column;gap:12px}.weapon-card{background:rgba(26,34,54,.9);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition);box-shadow:var(--shadow-craft-card,var(--shadow-surface))}.weapon-card:hover{border-color:var(--border-accent)}.weapon-card-header{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border-color)}.weapon-header-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.weapon-header-trail{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.weapon-attribute-set{white-space:nowrap;font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em;line-height:1.25;padding:0}.weapon-level-selector{display:flex;gap:4px;flex-shrink:0}.w-lv-btn{padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;font-weight:700;border-radius:4px;cursor:pointer;transition:var(--transition)}.w-lv-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.w-lv-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}
.weapon-icon-wrap{width:50px;height:50px;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent}.ssp-weapon-portrait{width:50px;height:50px;border-radius:50%;background:transparent;border:none;object-fit:contain;z-index:1;filter:brightness(1.25) saturate(1.5)}.ssp-weapon-badge,.ssp-enhance-badge{position:absolute;top:-8px;left:-8px;width:22px;z-index:4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.ssp-enhance-badge{z-index:6}.preemptive-badge{position:absolute;top:-8px;right:-8px;width:22px;height:22px;z-index:5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.weapon-icon-img{width:100%;height:100%;object-fit:contain;border-radius:50%;background:transparent;filter:brightness(1.25) saturate(1.5)}.weapon-icon-fallback{width:50px;height:50px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;letter-spacing:.6px;color:var(--accent-blue);text-transform:uppercase}.weapon-icon-mask{width:100%;height:100%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:1;filter:brightness(1.25) saturate(1.5) contrast(1.5)}.weapon-icon-mask.color-green{background-color:#4ade80}.weapon-icon-mask.color-yellow{background-color:#ffd700}.weapon-icon-mask.color-orange{background-color:#ff8c00}.weapon-icon-mask.color-purple{background-color:#c084fc;-webkit-mask-mode:alpha;mask-mode:alpha;filter:brightness(1.12) saturate(1.55) contrast(1.08)}.weapon-overlay{position:absolute;top:-6px;right:-6px;width:24px;height:24px;opacity:1!important;z-index:3;filter:brightness(1.25) saturate(1.5)}.weapon-icon-wrap-no-vivid .weapon-icon-img,.weapon-icon-wrap-no-vivid .weapon-overlay,.weapon-icon-wrap-no-vivid .weapon-icon-fallback,.weapon-icon-wrap-no-vivid .ssp-weapon-portrait{filter:none}
.weapon-name-area{flex:1;min-width:0}.weapon-name-text{font-size:18px;font-weight:700;color:var(--text-primary)}.weapon-attack-types{display:flex;gap:4px;margin-top:4px;align-items:center}.weapon-attack-type-icon{width:24px;height:24px;object-fit:contain;background:transparent;border:none;display:block;vertical-align:middle;filter:brightness(1.25) saturate(1.5)}
.weapon-card-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1px;background:rgba(0,0,0,.2)}.weapon-stat-item{padding:10px 8px;text-align:center}.weapon-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.weapon-stat-value{font-size:18px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.weapon-stat-value.highlight{color:var(--accent-blue)}.weapon-stat-value.weapon-acc-boost{color:#5d9cec!important;font-weight:800;text-shadow:0 0 10px rgba(93,156,236,.45)}.weapon-stat-value.weapon-en-increased{color:#e74c3c!important;font-weight:800;text-shadow:0 0 10px rgba(231,76,60,.4)}.weapon-stat-value.weapon-en-reduced{color:#3ecf7a!important;font-weight:800;text-shadow:0 0 10px rgba(62,207,122,.4)}.weapon-stat-value .weapon-en-delta{font-size:.78em;font-weight:700;margin-left:2px;opacity:.95}
.weapon-card-body{padding:14px 18px}.weapon-trait-item{display:flex;flex-direction:column;gap:4px;padding:0;font-size:15px;color:var(--text-secondary)}.weapon-trait-line{line-height:1.45}.dc-wpn-trait-line--pow{padding:3px 6px;margin:2px 0;border-radius:4px;border-left:3px solid rgba(74,222,128,.85);background:rgba(74,222,128,.1);color:var(--text-primary);font-weight:600}.weapon-restrictions-list{margin-top:8px}.weapon-restriction-item{font-size:14px;color:var(--accent-orange);font-weight:500;padding:3px 0;display:flex;align-items:center;gap:6px}.weapon-restriction-item::before{content:'⚠';font-size:12px}
.map-grid-container{margin-top:12px;display:none;justify-content:center;align-items:flex-start;padding:10px 12px;background:rgba(0,0,0,.3);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);overflow:auto;max-height:min(90vh,820px);scroll-behavior:smooth;width:100%;box-sizing:border-box}.map-grid-container.active{display:flex}
.stage-map-viewport{display:flex;align-items:flex-start;gap:10px;width:max-content;max-width:100%;margin:0 auto}
.stage-map-viewport--escape{width:max-content;max-width:none;align-items:flex-start}
.stage-map-grid-wrap{position:relative;flex:0 0 auto}
.stage-map-grid-wrap--escape{/* parent overlay floats over map corner — no extra layout height */}
.stage-map-parent-overlay{position:absolute;top:4px;left:4px;right:auto;z-index:26;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:5px 8px;background:rgba(8,12,22,.82);border:1px solid rgba(129,140,248,.28);border-radius:8px;pointer-events:none;box-sizing:border-box;max-width:min(96%,680px);backdrop-filter:blur(4px)}
.stage-map-parent-overlay-label{font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);line-height:1;pointer-events:none;white-space:nowrap;padding-right:2px}
.stage-map-parent-overlay-row{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:6px 10px;pointer-events:none}
.stage-map-parent-overlay .stage-map-parent-slot{pointer-events:auto}
.stage-map-parent-slot{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-width:0;max-width:100%;padding:0 2px;box-sizing:border-box}
.stage-map-parent-slot--click{cursor:pointer;touch-action:manipulation}
.stage-map-parent-thumb-stack{position:relative;width:var(--parent-thumb-w,36px);height:var(--parent-thumb-h,36px);border-radius:7px;overflow:visible;display:flex;align-items:center;justify-content:center;background:rgba(255,75,75,.92);box-shadow:0 0 6px rgba(255,75,75,.35);outline:2px solid rgba(255,75,75,.65);flex-shrink:0}
.stage-map-parent-thumb-stack.guest,.stage-map-parent-thumb-stack.ally-guest{background:rgba(34,197,94,.92);box-shadow:0 0 6px rgba(34,197,94,.35);outline:2px solid rgba(34,197,94,.65)}
.stage-map-parent-thumb-stack.friendly,.stage-map-parent-thumb-stack.friendly-force{background:rgba(56,189,248,.92);box-shadow:0 0 6px rgba(56,189,248,.35);outline:2px solid rgba(56,189,248,.65)}
.stage-map-parent-thumb{width:100%;height:100%;object-fit:cover;border-radius:5px;display:block}
.stage-map-parent-ph{font-size:12px;font-weight:900;color:#fff;line-height:1}
.stage-map-parent-name{font-size:8px;font-weight:700;line-height:1.15;max-width:calc(var(--parent-thumb-w,36px) + 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--text-secondary)}
/* Stage MAP weapon range — clip icons in their shells, not the cell (2×2 units overflow origin). */
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range{
  overflow:visible;
  contain:none;
  position:relative;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range.map-cell--unit-origin,
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range.large-fill,
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range.npc-clickable{
  overflow:visible!important;
  contain:none!important;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .map-cell-marker-shell,
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-shell{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
  padding:0;
  margin:0;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-shell--wide{z-index:1}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-shell--white{z-index:2}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-shell--point{z-index:4;overflow:visible}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-shell--yellow{z-index:5;overflow:visible}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range.map-cell--map-weapon-impact{
  overflow:visible!important;
  contain:none!important;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-shell img,
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .map-cell-marker-shell>img{
  display:block;
  margin:0;
  padding:0;
  flex:none;
  box-sizing:border-box;
  object-fit:contain!important;
  object-position:center!important;
  opacity:.92;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-ic--wide{
  width:92%!important;
  height:92%!important;
  max-width:92%!important;
  max-height:92%!important;
  opacity:.88;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-ic--impact-white{
  width:auto!important;
  height:auto!important;
  max-width:28%!important;
  max-height:48%!important;
  opacity:.95;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-ic--impact-point{
  width:22%!important;
  height:22%!important;
  max-width:22%!important;
  max-height:22%!important;
  justify-self:center;
  align-self:center;
  opacity:1;
  z-index:1;
}
.map-grid--map-weapon .map-cell.map-cell--map-weapon-range .stage-map-cell-map-weapon-ic--impact-yellow{
  width:auto!important;
  height:90%!important;
  max-width:36%!important;
  max-height:none!important;
  opacity:.98;
  transform:translateY(-30%);
  animation:stage-map-impact-yellow-bob 1.35s ease-in-out infinite;
}
.map-grid--map-weapon .map-cell.map-cell--unit-origin .map-unit-dot,
.map-grid--map-weapon .map-cell.map-cell--unit-origin .map-unit-dot--footprint{z-index:5}
.stage-map-map-weapon-slider{background:#334155}
.stage-map-map-weapon-toggle .stage-map-map-weapon-ic-wrap{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;line-height:0}
.stage-map-map-weapon-toggle .stage-map-map-weapon-toggle-ic{width:22px;height:22px;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:filter .35s ease,opacity .35s ease}
.stage-map-map-weapon-toggle .stage-map-reinf-toggle-input:checked + .stage-map-map-weapon-slider{background:#cd3333}
.stage-map-map-weapon-toggle .stage-map-reinf-toggle-input:checked ~ .stage-map-reinf-text{color:#fca5a5;text-shadow:0 0 8px rgba(205,51,51,.45)}
.stage-map-map-weapon-toggle .stage-map-reinf-toggle-input:checked ~ .stage-map-map-weapon-ic-wrap .stage-map-map-weapon-toggle-ic{filter:drop-shadow(0 0 8px rgba(205,51,51,.7)) drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.stage-map-map-weapon-toggle .stage-map-reinf-toggle-input:not(:checked) ~ .stage-map-map-weapon-ic-wrap .stage-map-map-weapon-toggle-ic{opacity:.78}
@keyframes stage-map-impact-yellow-bob{0%,100%{transform:translateY(calc(-30% - 2px))}50%{transform:translateY(calc(-30% + 2px))}}
@media(prefers-reduced-motion:reduce){.map-cell .stage-map-cell-map-weapon-ic--impact-yellow{animation:none;transform:translateY(-30%)}}
.stage-map-escape-units-layer{position:absolute;inset:0;pointer-events:none;z-index:15;overflow:visible}
.stage-map-reinf-units-layer{position:absolute;inset:0;pointer-events:none;z-index:16;overflow:visible}
.stage-map-escape-unit{position:absolute;pointer-events:auto;overflow:visible;box-sizing:border-box}
.stage-map-escape-unit--click{cursor:pointer;touch-action:manipulation}
.stage-map-escape-unit .map-unit-dot{position:absolute;inset:0;width:100%;height:100%}
.stage-map-escape-unit .map-unit-dot--footprint{inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important}
.stage-map-escape-unit--overlap{overflow:visible}
.stage-map-escape-unit--overlap .map-unit-dot{transition:transform .55s cubic-bezier(.34,1.56,.64,1);transform-origin:center center}
.stage-map-escape-unit--overlap-back .map-unit-dot{transform:translateY(7px) scale(.93)}
.stage-map-escape-unit--overlap-front .map-unit-dot{transform:translateY(0) scale(1)}
.stage-map-escape-overlap-stack-hover.stage-map-escape-unit--overlap-front .map-unit-dot{transform:translateY(-14px) rotate(-5deg) scale(1)}
.stage-map-escape-overlap-stack-hover.stage-map-escape-unit--overlap-back .map-unit-dot{transform:translateY(14px) rotate(5deg) scale(.93)}
.stage-map-escape-overlap-host{position:absolute;pointer-events:none;z-index:60;overflow:visible;box-sizing:border-box}
.stage-map-escape-overlap-host .stage-map-escape-overlap-switch{pointer-events:auto}
.stage-map-escape-overlap-switch{position:absolute;top:6px;right:6px;left:auto;bottom:auto;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;margin:0;border:1px solid rgba(129,140,248,.55);border-radius:7px;background:rgba(8,12,22,.9);cursor:pointer;opacity:0;transform:scale(.4);transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease,background .2s ease,border-color .2s ease;box-shadow:0 2px 10px rgba(0,0,0,.45);pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;overflow:hidden;line-height:0}
.stage-map-escape-overlap-switch img{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important;object-fit:contain;display:block;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.stage-map-escape-overlap-host--show-switch .stage-map-escape-overlap-switch,.stage-map-escape-overlap-switch:focus-visible{opacity:1;transform:scale(1);transition-delay:.05s}
.stage-map-escape-overlap-switch:hover{background:rgba(15,23,42,.96);border-color:rgba(165,180,252,.75)}
@media(hover:none),(max-width:768px){
.stage-map-escape-overlap-host--show-switch .stage-map-escape-overlap-switch{opacity:1;transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){
.stage-map-escape-unit--overlap .map-unit-dot{transition:opacity .2s ease}
.stage-map-escape-overlap-stack-hover.stage-map-escape-unit--overlap-front .map-unit-dot,.stage-map-escape-overlap-stack-hover.stage-map-escape-unit--overlap-back .map-unit-dot{transform:none}
.stage-map-escape-overlap-switch{transition:opacity .2s ease}
}
.stage-map-reinf-overlap-host .stage-map-reinf-overlap-switch{border-color:rgba(192,132,252,.65)}
.stage-map-reinf-overlap-host .stage-map-reinf-overlap-switch:hover{border-color:rgba(216,180,254,.85);background:rgba(40,20,60,.96)}
.map-cell.map-cell--reinf-stack-cell{box-shadow:inset 0 0 0 1px rgba(192,132,252,.28);background:transparent!important}
.map-cell.map-cell--escape-spawn-cell{box-shadow:inset 0 0 0 1px rgba(129,140,248,.22);background:transparent!important}
.map-grid--reinf,.map-grid--has-bg.map-grid--reinf{overflow:visible}
.stage-map-grid-wrap--reinf{position:relative;overflow:visible}
.stage-map-viewport--reinf{width:max-content;max-width:none;align-items:flex-start}
.stage-map-reinf-stack-unit--locate-flash,.stage-map-escape-unit--locate-flash{outline:2px solid #fbbf24;outline-offset:2px;box-shadow:0 0 0 3px rgba(251,191,36,.45);animation:stage-map-npc-locate-pulse 1.6s ease-out 1;z-index:40}
.stage-map-reinf-stack-unit{overflow:visible}
.map-grid-container:has(.weapon-map-grid-wrap[data-map-span="s"]){max-height:min(93vh,920px);padding:12px 14px}
.map-grid-container:has(.weapon-map-grid-wrap[data-map-span="l"]){max-height:min(92vh,900px);padding:8px 10px}
.map-grid-container:has(.weapon-map-high-vis){background:rgba(6,182,212,.06);border-color:rgba(56,189,248,.22)}
.weapon-map-grid-wrap{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;box-sizing:border-box;position:relative;padding-top:0}
.weapon-map-grid-wrap>.weapon-map-grid,.weapon-map-grid-wrap>.weapon-map-legend{align-self:center;max-width:100%}
.weapon-map-toolbar{display:flex;justify-content:flex-end;align-items:center;width:100%;flex-shrink:0;padding:0 2px 2px;min-height:40px;box-sizing:border-box}
.weapon-map-theme-toggle{position:relative;top:auto;right:auto;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border-color);border-radius:10px;background:rgba(26,34,54,.85);color:var(--text-primary);cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px rgba(0,0,0,.25);flex-shrink:0;-webkit-tap-highlight-color:transparent}
.weapon-map-theme-toggle:hover{border-color:rgba(0,212,255,.45);background:rgba(6,182,212,.12)}
.weapon-map-theme-toggle svg{width:20px;height:20px;display:block;opacity:.92}
.weapon-map-high-vis .weapon-map-grid{background:radial-gradient(ellipse 120% 80% at 50% 40%,#0f172a 0%,#020617 100%);border:2px solid rgba(56,189,248,.55);box-shadow:0 0 0 1px rgba(0,0,0,.6),0 8px 28px rgba(0,0,0,.55);--map-gap:3px;gap:var(--map-gap);padding:10px}
.weapon-map-high-vis.weapon-map-grid-wrap{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;max-width:100%}
.weapon-map-high-vis .weapon-map-grid .map-cell--pou-origin .map-cell-marker-shell,
.weapon-map-high-vis .weapon-map-grid .map-cell--pou-origin .map-pou-2x2-marker{z-index:6}
.weapon-map-high-vis .weapon-map-grid .map-cell--pou-origin .map-cell-marker-shell>img:not(.map-cell-step-marker){max-width:min(32px,calc(var(--map-cell,24px)*0.92))!important;max-height:min(32px,calc(var(--map-cell,24px)*0.92))!important;filter:brightness(1.75) contrast(1.12) saturate(1.08) drop-shadow(0 0 2px #fff) drop-shadow(0 0 10px rgba(56,189,248,.95)) drop-shadow(0 0 4px rgba(0,0,0,.9))!important}
.weapon-map-high-vis .weapon-map-grid .map-cell--pou-origin>.weapon-map-cell-tile{max-width:min(32px,calc(var(--map-cell,24px)*0.92))!important;max-height:min(32px,calc(var(--map-cell,24px)*0.92))!important;width:auto!important;height:auto!important;box-sizing:border-box!important}
.weapon-map-high-vis .weapon-map-grid .map-cell--pou-origin .map-pou-2x2-marker img{filter:brightness(1.65) contrast(1.12) drop-shadow(0 0 2px #fff) drop-shadow(0 0 10px rgba(56,189,248,.92)) drop-shadow(0 0 4px rgba(0,0,0,.85))!important}
.weapon-map-high-vis .weapon-map-grid .map-cell.map-cell--pou-origin::after{display:none}
.weapon-map-high-vis .weapon-map-grid .map-cell{border-radius:3px;background:rgba(15,23,42,.5)}
.weapon-map-high-vis .weapon-map-grid .map-cell--posi{background:rgba(14,165,233,.28);box-shadow:inset 0 0 0 2px rgba(56,189,248,.95)}
.weapon-map-high-vis .weapon-map-grid .map-cell--nega{background:rgba(244,63,94,.22);box-shadow:inset 0 0 0 2px rgba(251,113,133,.92)}
.weapon-map-high-vis .weapon-map-grid .map-cell--moving{background:rgba(234,179,8,.2);box-shadow:inset 0 0 0 2px rgba(250,204,21,.85)}
.weapon-map-high-vis .weapon-map-grid .map-cell--normal{background:rgba(30,41,59,.65);box-shadow:inset 0 0 0 1px rgba(148,163,184,.28)}
.weapon-map-high-vis .weapon-map-grid .map-cell--normal>img:first-of-type{filter:invert(1) hue-rotate(180deg) brightness(1.06) contrast(1.14) saturate(1.06)!important}
.weapon-map-high-vis .weapon-map-grid .map-cell:not(.map-cell--normal)>img:first-of-type{filter:brightness(1.32) contrast(1.22) saturate(1.28)!important}
.weapon-map-high-vis .weapon-map-grid .map-cell>img:not(:first-of-type){filter:brightness(1.15) contrast(1.3) drop-shadow(0 0 3px rgba(0,0,0,.9))!important}
.weapon-map-high-vis .weapon-map-theme-toggle{background:rgba(15,23,42,.95);border-color:rgba(56,189,248,.5);color:#e2e8f0}
.weapon-map-high-vis .weapon-map-theme-toggle:hover{border-color:rgba(125,211,252,.75);background:rgba(30,41,59,.98);color:#f8fafc}
.weapon-map-high-vis .weapon-map-legend{color:#e2e8f0;font-weight:700;font-size:12px}
.weapon-map-high-vis .weapon-map-legend .weapon-map-legend-item>span[aria-hidden="true"]:first-child{color:#7dd3fc!important}
.weapon-map-high-vis .weapon-map-legend .map-legend-sel-img{filter:brightness(1.15) contrast(1.08) drop-shadow(0 0 2px rgba(0,0,0,.5))}
.weapon-map-high-vis .weapon-map-legend .map-legend-use-img{filter:brightness(1.12) contrast(1.06) drop-shadow(0 0 2px rgba(0,0,0,.45))}
.weapon-map-high-vis .weapon-map-grid .map-sel-crosshair .map-sel-marker-img{filter:brightness(1.15) contrast(1.3) drop-shadow(0 0 3px rgba(0,0,0,.9))!important}
.weapon-map-grid .map-cell .map-sel-crosshair{z-index:6}
.weapon-map-grid{display:grid;gap:var(--map-gap,2px);background:#0c1220;padding:10px;border-radius:12px;position:relative;align-content:start;justify-content:center;width:max-content;max-width:100%;margin:0 auto;box-sizing:border-box;--map-cell:24px;--map-gap:2px;grid-auto-rows:var(--map-cell)}
.weapon-map-grid .map-cell.map-cell--pou-origin{contain:layout style!important;overflow:visible!important;z-index:1}
.weapon-map-grid .map-cell{box-sizing:border-box;flex-shrink:0;aspect-ratio:1;overflow:hidden;position:relative;z-index:0;contain:paint;isolation:isolate}
.weapon-map-grid .map-cell.map-cell--pou-2x2-anchor{overflow:visible!important;contain:none!important;z-index:4}
.weapon-map-grid .map-pou-2x2-marker{position:absolute;left:0;top:0;width:calc(var(--map-cell,24px) * 2 + var(--map-gap,2px));height:calc(var(--map-cell,24px) * 2 + var(--map-gap,2px));display:grid;place-items:center;pointer-events:none;z-index:4;box-sizing:border-box}
.weapon-map-grid .map-pou-2x2-marker img{width:auto;height:auto;max-width:min(56px,calc((var(--map-cell,24px) * 2 + var(--map-gap,2px)) * 0.72));max-height:min(56px,calc((var(--map-cell,24px) * 2 + var(--map-gap,2px)) * 0.72));object-fit:contain;object-position:center;display:block;margin:0;padding:0;filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 1px rgba(0,0,0,.55))}
.weapon-map-high-vis .weapon-map-grid .map-pou-2x2-marker img{filter:brightness(1.15) contrast(1.3) drop-shadow(0 0 3px rgba(0,0,0,.9))!important}
.weapon-map-grid .map-cell>img.weapon-map-cell-tile{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;max-width:100%;max-height:100%;box-sizing:border-box;object-fit:contain!important;object-position:center!important;display:block;z-index:0}
/* Grid + min-size 0 centers marker art in small MAP cells better than flex + fixed square img box. */
.map-cell-marker-shell{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2;box-sizing:border-box;padding:0;margin:0;min-width:0;min-height:0}
.map-cell-marker-shell--step{z-index:1}
.weapon-map-grid .map-cell-marker-shell>img{width:auto;height:auto;max-width:min(32px,calc(var(--map-cell,24px)*0.92));max-height:min(32px,calc(var(--map-cell,24px)*0.92));object-fit:contain;object-position:center;display:block;margin:0;padding:0;box-sizing:border-box}
.weapon-map-grid .map-cell-step-marker{filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 0 6px rgba(255,255,255,.55)) brightness(1.35) contrast(1.35)}
.weapon-map-high-vis .weapon-map-grid .map-cell-marker-shell>img:not(.map-cell-step-marker){filter:brightness(1.15) contrast(1.3) drop-shadow(0 0 3px rgba(0,0,0,.9))!important}
.weapon-map-high-vis .weapon-map-grid .map-cell-marker-shell>img.map-cell-step-marker{filter:brightness(1.12) contrast(1.25) drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 0 5px rgba(255,255,255,.5)) brightness(1.3) contrast(1.28)!important}
.weapon-map-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:11px;color:var(--text-secondary);justify-content:center;max-width:100%;padding:0 8px}
.weapon-map-legend-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.map-sel-crosshair{position:absolute;inset:0;z-index:5;pointer-events:none;box-sizing:border-box;overflow:visible;display:grid;place-items:center;padding:0;margin:0;min-width:0;min-height:0}
.map-sel-crosshair .map-sel-marker-img{width:auto;height:auto;max-width:min(32px,calc(var(--map-cell,24px)*0.92));max-height:min(32px,calc(var(--map-cell,24px)*0.92));object-fit:contain;object-position:center;display:block;margin:0;padding:0;filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 1px rgba(0,0,0,.6))}
.map-cell-pou-moving{position:absolute;inset:0;z-index:3;pointer-events:none;display:grid;place-items:center;padding:0;margin:0;min-width:0;min-height:0}
.map-cell-pou-moving img{width:auto;height:auto;max-width:min(32px,calc(var(--map-cell,24px)*0.92));max-height:min(32px,calc(var(--map-cell,24px)*0.92));object-fit:contain;object-position:center;display:block;margin:0;padding:0;filter:drop-shadow(0 0 1px rgba(255,255,255,.85)) drop-shadow(0 0 1px rgba(0,0,0,.55))}
.weapon-map-high-vis .map-cell-pou-moving img{filter:brightness(1.12) contrast(1.12) drop-shadow(0 0 2px rgba(0,0,0,.8))}
.map-grid{display:grid;gap:2px;background:#0c1220;padding:15px;border-radius:12px;position:relative;--cell:50px;overflow:hidden}
.map-grid--has-bg,.map-grid--escape{gap:0;padding:12px;background-color:#060910;overflow:visible;background-origin:content-box}
.map-grid--has-bg::before{content:"";position:absolute;inset:12px;border-radius:2px;background:rgba(6,10,18,.32);pointer-events:none;z-index:0}
.map-grid--has-bg>.map-cell{z-index:1}
.map-grid--has-bg .map-cell{background:transparent!important;border-color:rgba(236,244,255,.5);box-shadow:inset 0 0 0 1px rgba(6,10,18,.62)}
.map-grid--has-bg .map-cell.map-cell--playable{background:transparent!important;border-color:rgba(236,244,255,.56);box-shadow:inset 0 0 0 1px rgba(6,10,18,.58)}
.map-grid--has-bg .map-cell.enemy:not(.map-cell--unit-origin){background:transparent!important}
.map-grid--has-bg .map-cell.enemy.map-cell--unit-origin{background:rgba(58,24,32,.28)!important;border-color:rgba(255,168,168,.58);box-shadow:inset 0 0 0 1px rgba(6,10,18,.55)}
.map-grid--has-bg .map-cell.ally,.map-grid--has-bg .map-cell.ally-guest,.map-grid--has-bg .map-cell.guest,.map-grid--has-bg .map-cell.friendly{background:transparent!important}
.map-grid--has-bg .map-cell.ally.map-cell--unit-origin,.map-grid--has-bg .map-cell.guest.map-cell--unit-origin,.map-grid--has-bg .map-cell.friendly.map-cell--unit-origin{background:rgba(23,32,51,.28)!important;border-color:rgba(186,210,255,.55);box-shadow:inset 0 0 0 1px rgba(6,10,18,.55)}
.map-grid--has-bg .map-cell.gimmick{background:transparent!important}
.map-grid--has-bg .map-cell.gimmick.map-cell--unit-origin{background:rgba(30,40,56,.28)!important;border-color:rgba(200,214,236,.5);box-shadow:inset 0 0 0 1px rgba(6,10,18,.55)}
.map-grid--has-bg .map-cell.enemy.map-cell--enemy-stack-reinf-on,.map-grid--has-bg .map-cell.enemy.map-cell--enemy-stack-escape-on{background-image:inherit!important}
.map-grid--escape .map-cell.enemy:not(.map-cell--unit-origin):not(.map-cell--escape-spawn-cell){background:transparent!important}
.map-grid--escape.map-grid--has-bg .map-cell.map-cell--escape-spawn-cell{background:transparent!important;border-color:rgba(165,180,252,.55);box-shadow:inset 0 0 0 1px rgba(6,10,18,.55)}
.map-cell{width:var(--cell);height:var(--cell);position:relative;background:#0f1628;border:1px solid rgba(255,255,255,.04)}.map-cell.map-cell--playable{background:#172033;border-color:rgba(255,255,255,.08)}.map-cell.enemy{background:#3a1820}.map-cell.ally{background:#172033}.map-cell.ally-guest{background:#1a2e1f}.map-cell.guest{background:#1a2e1f}.map-cell.friendly{background:#162a3a}.map-cell.large-fill{background:#3a1820}.map-cell.large-fill.ally{background:#172033}.map-cell.large-fill.ally-guest{background:#1a2e1f}.map-cell.large-fill.guest{background:#1a2e1f}.map-cell.large-fill.friendly{background:#162a3a}.map-cell.enemy.map-cell--enemy-stack-reinf-on{background:linear-gradient(145deg,#f0abfc 0%,#c084fc 38%,#a855f7 72%,#7e22ce 100%);border-color:rgba(216,180,254,.92);box-shadow:inset 0 0 0 2px rgba(192,132,252,.88),inset 0 0 20px rgba(139,92,246,.48),0 0 12px rgba(168,85,247,.35)}.map-cell.enemy.map-cell--enemy-stack-reinf-on.map-cell.large-fill{background:linear-gradient(145deg,#f0abfc 0%,#c084fc 38%,#a855f7 72%,#7e22ce 100%)}
.map-cell.enemy.map-cell--enemy-stack-escape-on{background:linear-gradient(145deg,#c7d2fe 0%,#818cf8 38%,#6366f1 72%,#4f46e5 100%);border-color:rgba(165,180,252,.92);box-shadow:inset 0 0 0 2px rgba(129,140,248,.88),inset 0 0 20px rgba(99,102,241,.42),0 0 12px rgba(129,140,248,.35)}
.map-cell.enemy.map-cell--enemy-stack-escape-on.map-cell.large-fill{background:linear-gradient(145deg,#c7d2fe 0%,#818cf8 38%,#6366f1 72%,#4f46e5 100%)}
.map-cell.enemy.map-cell--score-boss{box-shadow:inset 0 0 0 2px rgba(250,204,21,.95),0 0 14px rgba(234,179,8,.45)}
.map-cell.enemy.map-cell--story-boss{box-shadow:inset 0 0 0 2px rgba(244,114,182,.9),0 0 12px rgba(236,72,153,.4)}
.map-cell.map-cell--event-area{background:repeating-linear-gradient(-45deg,rgba(99,102,241,.12),rgba(99,102,241,.12) 6px,rgba(99,102,241,.22) 6px,rgba(99,102,241,.22) 12px);outline:1px dashed rgba(129,140,248,.65)}
.stage-reward-subhead{margin:12px 0 8px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}
.stage-reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.stage-missions-grid{align-items:stretch}
.stage-mission-reward-cell{display:flex;flex-direction:column;gap:8px;min-width:0}
.stage-mission-reward-title{font-size:12px;font-weight:600;line-height:1.4;color:var(--text-secondary)}
.stage-mission-reward-cell .ability-item{height:100%}
.map-cell.map-cell--unit-origin{position:relative;overflow:visible;z-index:4}
.map-cell-step-badge{position:absolute;top:2px;left:2px;z-index:6;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:linear-gradient(180deg,#f97316,#ea580c);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.45);pointer-events:none}
.map-unit-dot.enemy,.map-unit-dot.guest,.map-unit-dot.friendly,.map-unit-dot.gimmick{overflow:visible}
.map-unit-dot .map-unit-thumb-stack{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;border-radius:inherit}
.map-unit-dot>.map-unit-thumb-overlay{position:absolute;top:0;right:0;left:auto;bottom:auto;z-index:8;display:flex;flex-direction:column;align-items:flex-end;gap:1px;pointer-events:none;transform:translate(42%,-42%)}
.map-unit-thumb-stack,.stage-npc-thumb-stack{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.map-unit-thumb-stack .map-unit-thumb,.stage-npc-thumb-stack .stage-npc-thumb-img{width:100%;height:100%;object-fit:contain;display:block}
.map-unit-thumb-stack .map-unit-thumb-fallback,.stage-npc-thumb-stack .stage-npc-thumb-ph{position:relative;z-index:0}
.stage-npc-thumb-overlay,.stage-npc-thumb-hit>.stage-npc-thumb-overlay{position:absolute;top:0;right:0;left:auto;bottom:auto;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:1px;pointer-events:none;transform:translate(42%,-42%)}
.map-cell.map-cell--escape-spawn{box-shadow:inset 0 0 0 1px rgba(99,102,241,.35)}
.map-cell.large-fill{overflow:visible}
@media(max-width:768px){
.stage-map-viewport--escape{align-items:flex-start;width:max-content;max-width:none}
.stage-map-parent-overlay{left:3px;max-width:min(94%,520px)}
.map-unit-dot>.map-unit-thumb-overlay{top:auto;bottom:0;right:0;left:auto;transform:translate(10%,38%);flex-direction:row;align-items:center;gap:3px}
.stage-npc-thumb-overlay,.stage-npc-thumb-hit>.stage-npc-thumb-overlay{top:auto;bottom:0;right:0;left:auto;transform:translate(8%,32%);flex-direction:row;align-items:center;gap:3px}
.map-unit-support-badge,.stage-npc-support-badge{padding:2px 4px 2px 3px;gap:2px;border-radius:6px;background:rgba(8,12,22,.94);border-color:rgba(255,255,255,.28)}
.map-unit-support-badge img,.stage-npc-support-badge img{width:13px;height:13px}
.map-unit-support-badge-count,.stage-npc-support-badge-count{font-size:10px;font-weight:900;letter-spacing:.02em}
}
.map-unit-support-badge,.stage-npc-support-badge{position:relative;display:inline-flex;align-items:center;gap:1px;padding:0 2px 0 1px;border-radius:5px;background:rgba(8,12,22,.9);border:1px solid rgba(255,255,255,.2);pointer-events:none;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.55);flex-shrink:0}
.map-unit-support-badge img,.stage-npc-support-badge img{width:10px;height:10px;object-fit:contain;display:block}
.map-unit-support-badge-count,.stage-npc-support-badge-count{font-size:8px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85)}
.map-cell.map-cell--npc-locate-flash{outline:2px solid #fbbf24;box-shadow:0 0 0 3px rgba(251,191,36,.45),inset 0 0 12px rgba(251,191,36,.25);z-index:12;animation:stage-map-npc-locate-pulse 1.6s ease-out 1}
@keyframes stage-map-npc-locate-pulse{0%{outline-color:#fde68a;box-shadow:0 0 0 6px rgba(251,191,36,.55),inset 0 0 14px rgba(251,191,36,.35)}100%{outline-color:#fbbf24;box-shadow:0 0 0 2px rgba(251,191,36,.2),inset 0 0 8px rgba(251,191,36,.12)}}
.stage-npc-compact-tile{cursor:pointer}
.stage-npc-support-badge img{width:12px;height:12px}
.stage-npc-support-badge-count{font-size:9px}
.stage-npc-escape-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:6px;padding:7px 10px;border:1px solid var(--border-color);border-radius:8px;background:rgba(26,34,54,.92);color:var(--text-secondary);font-size:10px;font-weight:700;line-height:1.2;cursor:pointer;touch-action:manipulation;transition:var(--transition)}
.stage-npc-escape-btn-ic{width:30px;height:30px;object-fit:contain;flex-shrink:0;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.stage-npc-escape-btn-label{min-width:0;text-align:center}
.stage-npc-escape-btn:hover{border-color:var(--accent-cyan);color:var(--text-primary);background:rgba(31,42,66,.96);box-shadow:0 0 10px rgba(0,212,255,.12)}
.stage-npc-escape-btn:hover .stage-npc-escape-btn-ic{filter:drop-shadow(0 0 6px rgba(129,140,248,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.stage-map-reinf-step-hint{margin:0 0 10px;padding:8px 12px;font-size:12px;line-height:1.4;color:var(--text-secondary);background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.25);border-radius:var(--radius-sm)}
.stage-npc-compact-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:6px}
.stage-npc-meta-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.06);color:var(--text-secondary);border:1px solid var(--border-color)}
.stage-npc-meta-badge--step{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.45);color:#fdba74}
.stage-npc-meta-badge--boss{background:rgba(236,72,153,.12);border-color:rgba(236,72,153,.4);color:#f9a8d4}
.page-footer{display:flex;justify-content:center;align-items:center;padding:24px 20px 32px;margin-top:auto}
.site-footer-links{text-align:center;padding:12px 16px 28px;margin:0 auto;margin-top:auto;max-width:1600px;width:100%;min-width:0;box-sizing:border-box;font-size:12px;color:var(--text-muted);line-height:1.5;flex-shrink:0;overflow-x:clip}
.site-footer-links nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px}
.site-footer-links a{color:var(--text-secondary);text-decoration:none;font-weight:600}
.site-footer-links a:hover{color:var(--accent-cyan);text-decoration:underline}
.site-footer-links .site-footer-sep{opacity:0.45;user-select:none}
.site-footer-disclaimer{display:block;margin:10px auto 0;max-width:42rem;padding:0 8px;font-size:10px;line-height:1.45;color:var(--text-muted);opacity:0.92}
.footer-logo-wrap{position:relative;display:flex;flex-direction:column;align-items:center;max-width:120px}
.footer-logo{height:80px;width:auto;object-fit:contain;mix-blend-mode:multiply;filter:brightness(0.95) contrast(1.1)}
.footer-logo-m{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-family:Georgia,'Times New Roman',serif;font-size:15px;font-weight:400;font-style:italic;letter-spacing:1.5px;color:rgba(212,175,55,0.5);text-shadow:0 0 8px rgba(212,175,55,0.3);pointer-events:none}
.map-cell.npc-clickable{cursor:pointer;outline:2px solid transparent;transition:var(--transition);touch-action:manipulation;position:relative;z-index:1}
.map-cell.npc-clickable.map-cell--unit-origin{z-index:4;overflow:visible}
.map-cell .map-stage-reach-flag-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(82%,52px);height:min(82%,52px);max-width:50px;max-height:50px;object-fit:contain;z-index:9;pointer-events:none;animation:stage-map-reach-flag-pulse 3.5s ease-in-out infinite}
@keyframes stage-map-reach-flag-pulse{0%,100%{opacity:.94;filter:drop-shadow(0 0 10px rgba(103,246,255,.82)) drop-shadow(0 0 20px rgba(34,211,238,.45)) brightness(1.04);transform:translate(-50%,-50%) scale(1)}50%{opacity:1;filter:drop-shadow(0 0 16px rgba(255,253,226,.78)) drop-shadow(0 0 28px rgba(56,239,246,.52)) brightness(1.1);transform:translate(-50%,-50%) scale(1.08)}}
.map-unit-dot.npc-strategy-hint-pulse{outline:none!important;transform-box:border-box;transform-origin:center center;animation:stage-map-unit-hint-breathe 3.4s ease-in-out infinite!important}
@keyframes stage-map-unit-hint-breathe{0%,100%{transform:scale(1);filter:brightness(1.03) saturate(1.04) drop-shadow(0 0 3px rgba(56,239,246,.32))}50%{transform:scale(1.04);filter:brightness(1.08) saturate(1.08) drop-shadow(0 0 7px rgba(56,239,246,.48))}}
.map-unit-dot.npc-strategy-hint-pulse.ally-loc,.map-unit-dot.npc-strategy-hint-pulse.guest.ally-loc,.map-unit-dot.npc-strategy-hint-pulse.friendly.ally-loc{animation:none!important}
.map-unit-dot.npc-strategy-hint-pulse.ally-loc .map-unit-thumb,.map-unit-dot.npc-strategy-hint-pulse.guest.ally-loc .map-unit-thumb,.map-unit-dot.npc-strategy-hint-pulse.friendly.ally-loc .map-unit-thumb{transform-box:border-box;transform-origin:center center;animation:stage-map-unit-hint-thumb-breathe 3.4s ease-in-out infinite;}
@keyframes stage-map-unit-hint-thumb-breathe{0%,100%{transform:scale(1);filter:drop-shadow(0 2px 3px rgba(0,0,0,.9)) brightness(1.04) saturate(1.04) drop-shadow(0 0 3px rgba(56,239,246,.32))}50%{transform:scale(1.04);filter:drop-shadow(0 2px 3px rgba(0,0,0,.86)) brightness(1.1) saturate(1.08) drop-shadow(0 0 7px rgba(56,239,246,.5))}}
@media (prefers-reduced-motion:reduce){.map-cell .map-stage-reach-flag-icon,.map-unit-dot.npc-strategy-hint-pulse,.map-unit-dot.npc-strategy-hint-pulse .map-unit-thumb{animation:none!important}}
.map-cell.npc-clickable.large-fill:not(.map-cell--unit-origin){z-index:0}
.map-cell.npc-clickable:hover{outline-color:rgba(0,212,255,.55)}
.map-cell.npc-clickable .map-unit-dot,.map-cell.npc-clickable .map-unit-dot *{pointer-events:none}
.map-grid>.map-cell:not(.npc-clickable){z-index:0}
.map-cell.map-cell--buff-blue{background:rgba(56,189,248,.32)!important;box-shadow:inset 0 0 0 2px rgba(56,189,248,.72)}
.map-cell.map-cell--buff-red{background:rgba(244,63,94,.3)!important;box-shadow:inset 0 0 0 2px rgba(251,113,133,.78)}
.map-cell.map-cell--buff-purple{background:rgba(168,85,247,.34)!important;box-shadow:inset 0 0 0 2px rgba(192,132,252,.82)}
.map-cell.gimmick{background:#1e2838}
.map-cell.gimmick.map-cell--unit-origin{z-index:5}
.map-unit-dot.gimmick .map-unit-thumb{filter:drop-shadow(0 2px 6px rgba(0,0,0,.75)) brightness(1.08)}
.map-cell.map-cell--buff-area{cursor:help;overflow:visible;z-index:2}
.map-cell.map-cell--buff-area:hover{z-index:30}
.map-cell-buff-hover{display:none;position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);z-index:40;pointer-events:none;min-width:max-content;max-width:min(240px,70vw)}
.map-cell.map-cell--buff-area:hover .map-cell-buff-hover{display:block}
.map-cell-buff-hover-card{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:rgba(15,23,42,.96);border:1px solid rgba(148,163,184,.45);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.25)}
.map-cell-buff-hover-icon{width:36px;height:36px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.map-cell-buff-hover-body{min-width:0;text-align:left}
.map-cell-buff-hover-name{font-size:12px;font-weight:800;color:#f1f5f9;line-height:1.25;margin-bottom:4px}
.map-cell-buff-hover-detail{font-size:11px;font-weight:600;color:#cbd5e1;line-height:1.35}
.map-cell-buff-hover-detail+.map-cell-buff-hover-detail{margin-top:3px}
@media (max-width:768px){.map-cell-buff-hover{left:50%;right:auto;transform:translateX(-50%)}}
.npc-card-highlight{box-shadow:0 0 0 2px rgba(0,212,255,.78),0 0 22px rgba(0,212,255,.4);border-radius:var(--radius-lg);animation:npc-card-highlight-pulse-cyan 1.15s ease-in-out 4}
.npc-card-highlight.npc-card-highlight--from-stage-map{animation:npc-card-highlight-pulse-cyan 1.15s ease-in-out 12}
.npc-card-highlight.npc-card-highlight--stack-reinf{box-shadow:0 0 0 2px rgba(216,180,254,.94),0 0 26px rgba(192,132,252,.62),0 0 46px rgba(168,85,247,.48);animation:npc-card-highlight-pulse-purple 1.15s ease-in-out 4}
.npc-card-highlight.npc-card-highlight--unit-cond-cp{box-shadow:0 0 0 2px rgba(250,204,21,.95),0 0 24px rgba(234,179,8,.5);animation:npc-card-highlight-pulse-gold 1.15s ease-in-out 6}
.detail-rec-link-card--unit-cond-target{box-shadow:0 0 0 2px rgba(250,204,21,.92),0 0 18px rgba(234,179,8,.42)}
.detail-rec-link-card--pilot-cond-target{box-shadow:0 0 0 2px rgba(192,132,252,.92),0 0 20px rgba(168,85,247,.48);animation:npc-card-highlight-pulse-purple 1.15s ease-in-out 8}
.ability-detail-block--pilot-cond-highlight{box-shadow:0 0 0 2px rgba(192,132,252,.92),0 0 18px rgba(168,85,247,.45);border-radius:var(--radius-sm);animation:npc-card-highlight-pulse-purple 1.15s ease-in-out 8}
.detail-pilot-ep-chip{position:relative;width:44px;height:34px;padding:2px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.detail-pilot-ep-char-main{width:26px;height:26px;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.detail-pilot-ep-badge{position:absolute;top:-3px;right:-5px;display:inline-flex;align-items:baseline;line-height:1;padding:2px 4px 3px;border-radius:4px;font-size:11px;font-weight:800;font-style:italic;letter-spacing:-.02em;background:rgba(13,19,33,.94);border:1px solid rgba(168,85,247,.68);color:#e9d5ff;box-shadow:0 0 8px rgba(168,85,247,.35);pointer-events:none}
.detail-pilot-ep-badge .detail-pilot-ep-e{margin-right:-1px}
.detail-pilot-ep-toggle .toggle-clickable{display:inline-flex;align-items:center;gap:8px;padding:0}
.detail-pilot-ep-toggle .toggle-clickable.active .detail-pilot-ep-chip{animation:cpWordBorderPulse 2.25s infinite ease-in-out}
.list-pilot-ep-btn{position:relative;padding:2px}.list-pilot-ep-btn .list-pilot-ep-char-main{width:22px;height:22px;object-fit:contain;display:block;filter:grayscale(1) opacity(.45);transition:var(--transition)}.list-pilot-ep-btn .list-pilot-ep-badge{position:absolute;top:-2px;right:-4px;display:inline-flex;align-items:baseline;line-height:1;padding:1px 3px 2px;border-radius:3px;font-size:9px;font-weight:800;font-style:italic;letter-spacing:-.02em;background:rgba(13,19,33,.94);border:1px solid rgba(168,85,247,.52);color:#e9d5ff;box-shadow:0 0 6px rgba(168,85,247,.28);pointer-events:none;opacity:.72;transition:var(--transition)}.list-pilot-ep-btn .list-pilot-ep-e{margin-right:-1px}.list-pilot-ep-btn.active{border-color:rgba(168,85,247,.72);background:rgba(168,85,247,.12);animation:cpWordBorderPulse 2.25s infinite ease-in-out}.list-pilot-ep-btn.active .list-pilot-ep-char-main{filter:grayscale(0) opacity(1)}.list-pilot-ep-btn.active .list-pilot-ep-badge{opacity:1;border-color:rgba(168,85,247,.85)}
.detail-cond-toggle-stack{display:flex;flex-direction:column;align-items:stretch;width:100%;margin-bottom:8px;gap:8px}
.detail-cond-toggle-stack>.conditional-toggle,.detail-cond-toggle-stack>.detail-pilot-ep-block{display:flex;flex-direction:column;align-items:flex-end;width:100%;margin:0}
.detail-cond-toggle-stack .toggle-clickable{display:inline-flex!important;align-items:center;gap:8px;max-width:100%}
.detail-cond-toggle-stack .toggle-control-slot{flex:0 0 44px;width:44px;display:inline-flex;align-items:center;justify-content:center}
.detail-cond-toggle-stack .detail-pilot-ep-block{gap:0}
.detail-pilot-ep-label-col{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1 1 auto}
.detail-pilot-ep-label-col .toggle-label{align-self:flex-start}
.detail-pilot-ep-label-col .detail-pilot-stack-row{align-self:stretch;width:100%;padding:0;margin-top:0;justify-content:flex-start}
.weapon-card-header--pilot-ep-boost{animation:npc-card-highlight-pulse-purple 1.15s ease-in-out 8;box-shadow:inset 0 0 0 2px rgba(192,132,252,.72),0 0 18px rgba(168,85,247,.38)}
.weapon-trait-pep-note{margin-top:4px;font-size:13px;font-weight:700;color:#5d9cec;font-style:italic;line-height:1.35}
.weapon-trait-line--pilot-boost .weapon-trait-pep-note{display:block}
.detail-pilot-ep-block{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:0;gap:6px;width:100%}
.detail-pilot-ep-block .detail-pilot-ep-toggle{margin-bottom:0}
.detail-pilot-ep-toggle .toggle-clickable.active .toggle-label{color:var(--accent-purple)}
.weapon-trait-line .weapon-acc-boost{color:#5d9cec!important;font-weight:800;text-shadow:0 0 10px rgba(93,156,236,.45)}
.detail-pilot-stack-row{display:flex;align-items:center;gap:8px;justify-content:flex-end;width:min(100%,200px);padding:0 6px 0 0;margin-top:6px}
.detail-pilot-stack-row--enter{animation:detailPilotStackIn .24s ease-out both}
.detail-pilot-stack-slider{flex:1;min-width:0;width:100%;height:4px;margin:0;accent-color:rgba(168,85,247,.9);cursor:pointer}
.detail-pilot-stack-val{font-size:11px;font-weight:700;color:#c4b5fd;min-width:2.75em;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums;line-height:1}
.detail-unit-cp-block{display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:100%}
.detail-unit-cp-stack-slot{align-self:stretch;width:100%;display:flex;justify-content:flex-end}
.detail-unit-cp-stack-slot .detail-unit-cond-stack-row{width:min(100%,140px);margin-top:0}
.detail-unit-cond-stack-row{width:min(100%,140px);margin-top:8px}
.detail-unit-cond-stack-row .detail-pilot-stack-slider{flex:0 0 100px;width:100px;max-width:100px;touch-action:pan-x}
.dc-picked-controls .detail-unit-cond-stack-row{width:140px;max-width:140px;margin-top:4px;justify-content:flex-start}
.detail-unit-hp-tier-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.detail-unit-hp-tier-btn{font-size:11px;line-height:1.25;padding:6px 8px}
.ability-item--unit-cond-active{box-shadow:inset 0 0 0 1px rgba(96,165,250,.75),0 0 12px rgba(59,130,246,.18)}
@keyframes detailPilotStackIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.stat-card.has-cond-bonus--pilot{box-shadow:inset 0 0 0 1px rgba(168,85,247,.45)}
.stat-card.has-cond-bonus--pilot .stat-card-value.has-bonus-val--pilot{color:#e9d5ff;text-shadow:0 0 10px rgba(192,132,252,.45)}
@media (prefers-reduced-motion:reduce){.detail-rec-link-card--pilot-cond-target,.ability-detail-block--pilot-cond-highlight,.detail-pilot-ep-toggle .toggle-clickable.active .detail-pilot-ep-chip,.detail-pilot-stack-row--enter,.weapon-card-header--pilot-ep-boost{animation:none}}
.npc-unit-cond-targets-section{margin:10px 0 4px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid rgba(250,204,21,.35);background:rgba(234,179,8,.08)}
.npc-unit-cond-targets-label{font-size:12px;font-weight:700;color:#facc15;margin-bottom:8px}
.npc-unit-cond-targets-row{display:flex;flex-wrap:wrap;gap:10px}
.map-cell.map-cell--unit-cond-cp-target{box-shadow:inset 0 0 0 2px rgba(250,204,21,.95),0 0 12px rgba(234,179,8,.4)}
.map-cell.enemy.map-cell--unit-cond-cp-target{background:linear-gradient(145deg,#fef9c3 0%,#fde047 38%,#eab308 72%,#ca8a04 100%);border-color:rgba(253,224,71,.92)}
.npc-unit-cond-target-stats{margin-top:8px;display:flex;flex-direction:column;gap:4px;width:100%}
.npc-unit-cond-target-stat{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px;font-size:12px;font-variant-numeric:tabular-nums}
.npc-unit-cond-target-stat-label{font-weight:700;color:var(--text-muted);text-transform:uppercase;font-size:10px}
.npc-unit-cond-target-stat-base{color:var(--text-secondary);text-decoration:line-through;opacity:.85}
.npc-unit-cond-target-stat-arrow{color:#facc15}
.npc-unit-cond-target-stat-cond{color:#fde047;font-weight:800;text-shadow:0 0 8px rgba(234,179,8,.45)}
.npc-unit-cond-target-stat-delta{color:#facc15;font-weight:700;font-size:11px}
@keyframes npc-card-highlight-pulse-gold{0%,100%{box-shadow:0 0 0 2px rgba(250,204,21,.88),0 0 20px rgba(234,179,8,.38)}50%{box-shadow:0 0 0 4px rgba(253,224,71,.98),0 0 36px rgba(250,204,21,.58)}}
@keyframes npc-card-highlight-pulse-cyan{0%,100%{box-shadow:0 0 0 2px rgba(0,212,255,.7),0 0 18px rgba(0,212,255,.32)}50%{box-shadow:0 0 0 4px rgba(34,211,238,.88),0 0 38px rgba(56,189,248,.52)}}
@keyframes npc-card-highlight-pulse-purple{0%,100%{box-shadow:0 0 0 2px rgba(216,180,254,.88),0 0 22px rgba(168,85,247,.42)}50%{box-shadow:0 0 0 4px rgba(233,213,255,.95),0 0 42px rgba(192,132,252,.72),0 0 52px rgba(139,92,246,.42)}}
@media (prefers-reduced-motion:reduce){.npc-card-highlight,.npc-card-highlight.npc-card-highlight--stack-reinf,.npc-card-highlight.npc-card-highlight--from-stage-map,.npc-card-highlight.npc-card-highlight--unit-cond-cp{animation:none}}
.npc-card .detail-title-area{min-width:0;max-width:100%;overflow:visible;box-sizing:border-box}
.npc-card .stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr));gap:10px}
.npc-card .stat-card-value{font-size:clamp(13px,2.2vw + 0.35rem,20px);overflow:visible;max-width:none}
.npc-card .stat-card-bonus{overflow:visible;text-overflow:clip;white-space:normal;text-align:center;line-height:1.2}
@media(max-width:640px){.npc-card .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.npc-card .stat-card-value{font-size:clamp(13px,3.8vw,19px)}}
.modal-content.stage-detail .detail-body:has(.npc-card){overflow-x:visible}
#detailNpcContainer{min-width:0;max-width:100%}
.map-unit-dot{position:absolute;inset:2px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#fff;text-align:center;line-height:1.1;padding:2px;overflow:hidden;z-index:2}.map-unit-dot.map-unit-dot--footprint{padding:3px;border-radius:12px;z-index:6;box-sizing:border-box}.map-unit-dot.map-unit-dot--footprint .map-unit-thumb{object-fit:contain;border-radius:8px}.map-unit-dot.enemy{background:#ff4b4b;box-shadow:0 0 8px rgba(255,75,75,0.4);outline:2px solid rgba(255,75,75,0.65)}.map-unit-dot.ally{background:#4a90d9;box-shadow:0 0 8px rgba(74,144,217,0.4);outline:2px solid rgba(74,144,217,0.7)}.map-unit-dot.ally.ally-guest{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,0.4);outline:2px solid rgba(34,197,94,0.7)}.map-unit-dot.guest{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,0.4);outline:2px solid rgba(34,197,94,0.7)}.map-unit-dot.friendly{background:#38bdf8;box-shadow:0 0 8px rgba(56,189,248,0.45);outline:2px solid rgba(56,189,248,0.75)}.map-unit-dot.large{width:calc(var(--cell) * 2 - 2px);height:calc(var(--cell) * 2 - 2px);top:2px;left:2px;inset:auto;z-index:5;border-radius:12px}.map-unit-dot.large.enemy{background:rgba(255,75,75,0.92)}.map-unit-dot.large.ally{background:rgba(74,144,217,0.92)}.map-unit-dot.large.ally.ally-guest{background:rgba(34,197,94,0.92)}.map-unit-dot.large.guest{background:rgba(34,197,94,0.92)}.map-unit-dot.large.friendly{background:rgba(56,189,248,0.92)}.map-unit-thumb{width:100%;height:100%;object-fit:cover;border-radius:6px}
.map-unit-dot.ally.ally-loc{background:transparent;box-shadow:none;outline:none;padding:0}
.map-unit-dot.ally.ally-loc .map-unit-thumb{border-radius:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}
.map-unit-dot.ally.ally-guest.ally-loc{background:transparent;box-shadow:none;outline:none}
.map-unit-dot.ally.ally-guest.ally-loc .map-unit-thumb{border-radius:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}
.map-unit-dot.guest.ally-loc{background:transparent;box-shadow:none;outline:none}
.map-unit-dot.guest.ally-loc .map-unit-thumb{border-radius:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}
.map-unit-dot.friendly.ally-loc{background:transparent;box-shadow:none;outline:none}
.map-unit-dot.friendly.ally-loc .map-unit-thumb{border-radius:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}

 
.toggle-map-btn{margin-top:10px;padding:8px 16px;background:rgba(0,212,255,.15);border:1px solid rgba(0,212,255,.4);color:var(--accent-cyan);border-radius:var(--radius-sm);cursor:pointer;font-weight:700;font-size:15px;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}.toggle-map-btn:hover{background:var(--accent-cyan);color:#000}
.stage-map-controls{display:flex;flex-direction:column;gap:12px;margin-top:10px;align-items:stretch;max-width:100%}
.stage-map-controls-row--reinf{padding:8px 0 4px;border-bottom:1px solid rgba(148,163,184,.12)}
.stage-map-controls-row--toggles{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:8px 0 4px;border-bottom:1px solid rgba(148,163,184,.12)}
.stage-map-map-toggle{flex-shrink:0}
.stage-map-buff-toggle .stage-map-reinf-toggle-input:checked + .stage-map-buff-slider{background:#38bdf8}
.stage-map-buff-toggle .stage-map-reinf-toggle-input:checked ~ .stage-map-reinf-text{color:#7dd3fc;text-shadow:0 0 8px rgba(125,211,252,.4)}
.stage-map-escape-toggle .stage-map-escape-mech-ic-wrap{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;line-height:0}
.stage-map-escape-toggle .stage-map-escape-mech-ic{width:28px;height:28px;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:filter .35s ease}
.stage-map-escape-toggle .stage-map-reinf-toggle-input:checked + .stage-map-escape-mech-ic-wrap + .stage-map-escape-slider{background:#6366f1}
.stage-map-escape-toggle .stage-map-reinf-toggle-input:checked ~ .stage-map-reinf-text{color:#c7d2fe;text-shadow:0 0 8px rgba(129,140,248,.35)}
.stage-map-escape-toggle .stage-map-reinf-toggle-input:checked ~ .stage-map-escape-mech-ic-wrap .stage-map-escape-mech-ic{filter:drop-shadow(0 0 8px rgba(129,140,248,.65)) drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.stage-map-escape-toggle .stage-map-reinf-toggle-input:not(:checked) ~ .stage-map-escape-mech-ic-wrap .stage-map-escape-mech-ic{opacity:.78}
.stage-map-controls-row--viewport{padding-top:4px}
.stage-map-reinf-toggle{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;user-select:none;margin:0;position:relative;width:fit-content;max-width:100%}
.stage-map-reinf-toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}
.stage-map-reinf-slider{position:relative;width:44px;height:24px;flex-shrink:0;background:#334155;border-radius:9999px;transition:background .4s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);--ui-toggle-base:0px;--ui-toggle-ox:0px;touch-action:none}
.stage-map-reinf-slider::before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transform:translateX(calc(var(--ui-toggle-base,0px) + var(--ui-toggle-ox,0px)));transition:none;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.stage-map-reinf-slider.ui-toggle-snap::before{transition:transform var(--ui-spring-snap,var(--ui-spring-dur,.5s)) var(--ui-spring,cubic-bezier(.34,1.56,.64,1))}
.stage-map-reinf-toggle-input:focus-visible + .stage-map-reinf-slider,
.stage-map-reinf-toggle-input:focus-visible + .stage-map-escape-mech-ic-wrap + .stage-map-escape-slider{outline:2px solid var(--accent-cyan);outline-offset:2px}
.stage-map-reinf-text{color:#64748b;transition:color .4s ease,text-shadow .4s ease}
.stage-map-reinf-toggle-input:checked + .stage-map-reinf-slider{--ui-toggle-base:20px;background:#22c55e}
.stage-map-reinf-toggle-input:checked + .stage-map-escape-mech-ic-wrap + .stage-map-escape-slider{--ui-toggle-base:20px}
.stage-map-reinf-toggle-input:checked ~ .stage-map-reinf-text{color:#86efac;text-shadow:0 0 8px rgba(134,239,172,.45)}
.stage-map-viewport-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);border-radius:12px;max-width:100%;box-sizing:border-box}
.stage-map-viewport-quick{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}
.stage-map-viewport-quick .stage-map-viewport-cmd{margin-top:0;padding:5px 11px;font-size:12px;font-weight:700;min-height:30px;line-height:1.2}
.stage-map-viewport-af{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:800;color:var(--text-secondary);margin:0}
.stage-map-viewport-af input{width:18px;height:18px;accent-color:var(--accent-cyan);cursor:pointer;margin:0}
.stage-map-viewport-zoom{display:inline-flex;align-items:center;gap:10px;flex:1;min-width:min(100%,220px)}
.stage-map-viewport-zoom-label{font-size:12px;color:var(--text-muted);font-weight:700;letter-spacing:.3px;flex-shrink:0}
.stage-map-viewport-zoom input[type=range]{flex:1;min-width:100px;max-width:220px}
.stage-map-viewport-zoom-pct{min-width:48px;text-align:right;font-size:12px;color:var(--text-secondary);font-weight:800;flex-shrink:0}
.stage-map-viewport-zoom input[type=range]:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:540px){.stage-map-viewport-zoom{flex-basis:100%}.stage-map-viewport-zoom input[type=range]{max-width:none}}
.stage-npc-group{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:12px;background:rgba(0,0,0,.12);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.stage-npc-group:first-of-type{margin-top:0}
.stage-npc-group-summary{cursor:pointer;padding:12px 14px;font-weight:800;color:var(--accent-cyan);list-style:none;display:flex;align-items:center;gap:10px;user-select:none}
.stage-npc-summary-title{flex:1;min-width:0}
.stage-npc-count{margin-left:auto;flex-shrink:0}
.stage-npc-group-summary::-webkit-details-marker{display:none}
.stage-npc-group-summary::after{content:'▾';font-size:12px;opacity:.65;transition:transform .2s ease;flex-shrink:0}
.stage-npc-group[open] .stage-npc-group-summary::after{transform:rotate(-180deg)}
.stage-npc-count{color:var(--text-secondary);font-weight:600;font-size:13px}
.stage-npc-tab-wrap{padding:0 12px 14px}
.stage-npc-tablist{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}
.stage-npc-tab-btn{padding:7px 11px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:rgba(26,34,54,.55);color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer;max-width:100%;text-align:left;line-height:1.25}
.stage-npc-tab-btn:hover{border-color:rgba(0,212,255,.45);color:var(--text-primary)}
.stage-npc-tab-btn.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:rgba(0,212,255,.08)}
.stage-npc-tab-panel.hidden{display:none!important}
.stage-npc-compact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:0 12px 14px}
.stage-npc-compact-tile{border:1px solid var(--border-color);border-radius:var(--radius-md);background:rgba(26,34,54,.45);padding:10px;transition:var(--transition)}
.stage-npc-compact-tile:hover{border-color:rgba(0,212,255,.45);box-shadow:0 0 0 1px rgba(0,212,255,.2)}
.stage-npc-compact-pair{display:flex;flex-direction:row;gap:8px;align-items:stretch;justify-content:center}
.stage-npc-thumb-hit{flex:1;min-width:0;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);background:rgba(0,0,0,.25);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:visible;transition:var(--transition);position:relative}
.stage-npc-thumb-stack{border-radius:inherit;overflow:hidden}
.stage-npc-thumb-hit--has-hint{border-color:rgba(56,189,248,.42)}
.stage-npc-thumb-hit--pulse{animation:stage-npc-thumb-border-pulse 2.1s ease-in-out infinite}
.stage-npc-thumb-hint{position:absolute;top:3px;left:3px;width:22px;height:22px;z-index:2;pointer-events:none;display:flex;align-items:center;justify-content:center;line-height:0}
.stage-npc-thumb-hint img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}
.stage-npc-thumb-hint--pulse{transform-origin:center center;animation:stage-npc-thumb-hint-pulse 2.1s ease-in-out infinite}
@keyframes stage-npc-thumb-border-pulse{0%,100%{box-shadow:0 0 0 rgba(56,189,248,.15);border-color:rgba(56,189,248,.5)}50%{box-shadow:0 0 18px rgba(56,189,248,.85);border-color:rgba(125,249,255,1)}}
@keyframes stage-npc-thumb-hint-pulse{0%,100%{transform:scale(.88);filter:drop-shadow(0 1px 2px rgba(0,0,0,.85)) drop-shadow(0 0 6px rgba(56,189,248,.55)) brightness(1.05)}50%{transform:scale(1.28);filter:drop-shadow(0 1px 2px rgba(0,0,0,.78)) drop-shadow(0 0 18px rgba(255,253,226,.95)) drop-shadow(0 0 22px rgba(56,189,248,1)) brightness(1.18)}}
@media (prefers-reduced-motion:reduce){.stage-npc-thumb-hint--pulse,.stage-npc-thumb-hit--pulse{animation:none}}
.stage-npc-thumb-hit:hover:not(:disabled){border-color:var(--accent-cyan);box-shadow:0 0 8px rgba(0,212,255,.25)}
.stage-npc-thumb-hit:disabled{opacity:.45;cursor:not-allowed}
.stage-npc-thumb-img{width:100%;height:100%;object-fit:cover}
.stage-npc-thumb-ph{font-size:28px;line-height:1;opacity:.75}
.stage-npc-compact-caption{margin-top:8px;font-size:12px;font-weight:700;color:var(--text-secondary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:center}
.stage-detail-head-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px;width:100%}
.stage-detail-head-main{flex:1;min-width:min(100%,200px)}
.stage-release-sched{flex:0 0 auto;max-width:min(100%,300px);align-self:flex-start;padding:10px 12px;background:rgba(26,34,54,.85);border:1px solid var(--border-color);border-radius:var(--radius-md)}
.stage-release-sched-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}
.stage-release-sched .bt-banner-sched{margin-top:0}
.stage-meta-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(26,34,54,.8);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-weight:700;font-size:14px;color:var(--text-primary)}
.stage-meta-terrain-ic{width:18px;height:18px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.stage-condition-box{background:rgba(26,34,54,.9);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px}.stage-condition-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin-bottom:8px}.stage-condition-title-ic{width:22px;height:22px;max-width:22px;max-height:22px;object-fit:contain;flex-shrink:0;display:block}.stage-condition-title.victory{color:#4ade80;text-shadow:0 0 8px rgba(74,222,128,0.6)}.stage-condition-title.branch{color:#fbbf24;text-shadow:0 0 8px rgba(251,191,36,0.55)}.stage-condition-title.defeat{color:#ff4b4b;text-shadow:0 0 8px rgba(255,75,75,0.6)}.stage-condition-item{font-size:15px;color:#e8eaf0;padding:4px 0;white-space:pre-wrap;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,0.5)}.stage-condition-grid{min-width:0}@media(max-width:768px){.stage-condition-grid{grid-template-columns:1fr !important}}
.stage-restriction-block{background:rgba(26,34,54,.9);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:12px;overflow:hidden}.stage-restriction-group-title{position:relative;display:flex;align-items:center;justify-content:center;min-height:38px;margin:-14px -16px 14px;padding:8px 16px;overflow:hidden;background:#141414;box-shadow:inset 0 0 0 1px rgba(0,0,0,.45);isolation:isolate}.stage-restriction-tape{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.stage-restriction-tape-layer{position:absolute;top:-30%;left:0;width:300%;height:160%;background:repeating-linear-gradient(-45deg,#f0c832 0 10px,#141414 10px 20px);background-size:28.28px 28.28px;transform:translate3d(0,0,0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.stage-restriction-group-title::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.05);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(0,0,0,.4);pointer-events:none;z-index:1}.stage-restriction-group-title-text{position:relative;z-index:2;display:inline-block;padding:5px 12px;border-radius:6px;color:#fff;font-size:15px;font-weight:900;letter-spacing:.05em;line-height:1.2;text-align:center;background:rgba(0,0,0,.82);box-shadow:0 2px 10px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.18);text-shadow:0 1px 0 rgba(0,0,0,.9),0 0 10px rgba(255,255,255,.22)}.stage-restriction-split{display:flex;align-items:stretch;gap:0}.stage-restriction-split-vrule{flex:0 0 1px;width:1px;align-self:stretch;margin:12px 0;background:linear-gradient(180deg,transparent 0%,rgba(136,150,179,.55) 16%,rgba(136,150,179,.55) 84%,transparent 100%)}.stage-restriction-split-col{flex:1 1 0;min-width:0;padding:0 14px;text-align:center}.stage-restriction-split-col:first-child{padding-left:0;padding-right:14px}.stage-restriction-split-col:last-child{padding-right:0;padding-left:14px}.stage-restriction-part{margin-bottom:0}.stage-restriction-part-head{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}.stage-restriction-part-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0}.stage-restriction-part-label{font-size:14px;color:var(--accent-gold);font-weight:700;line-height:1.25}.stage-restriction-part .stage-tags-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.stage-restriction-no-limit{font-size:13px;font-weight:600;color:var(--text-muted);font-style:italic}.stage-restriction-row{margin-bottom:10px}.stage-restriction-row:last-child{margin-bottom:0}.stage-restriction-applies{font-size:14px;color:var(--accent-gold);font-weight:700;margin-bottom:6px}.stage-tags-wrap{display:flex;flex-wrap:wrap;gap:6px}.stage-tags-wrap .stage-sortie-series-hitbox .stage-sortie-series-logo{height:38px;max-width:220px;width:auto;object-fit:contain}.stage-tags-wrap .stage-sortie-series-hitbox{align-items:center;min-height:28px}
.loading-overlay{display:flex;align-items:center;justify-content:center;padding:60px 20px}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--accent-cyan);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted);max-width:28rem;margin-left:auto;margin-right:auto}.empty-state-icon{font-size:40px;margin-bottom:10px;opacity:.85;line-height:1}.empty-state-text{font-size:16px;font-weight:600;color:var(--text-secondary);line-height:1.5}
.tag-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(4px);z-index:400;display:none;align-items:center;justify-content:center;padding:20px}.tag-modal-overlay.active{display:flex}.tag-modal-content{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:800px;width:100%;max-height:85vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.tag-modal-header{padding:18px 24px;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,.3);display:flex;flex-direction:column;gap:12px}.tag-modal-title-row{display:flex;justify-content:space-between;align-items:center;width:100%}.tag-modal-title{font-size:22px;font-weight:700;color:var(--accent-cyan);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tag-modal-nav{display:flex;gap:10px}.tag-nav-btn{padding:8px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.tag-nav-btn:hover{color:var(--text-primary);border-color:var(--accent-blue)}.tag-nav-btn.active{background:rgba(0,212,255,.1);color:var(--accent-cyan);border-color:var(--accent-cyan)}.tag-modal-body{padding:20px 24px;overflow-y:auto;background:var(--bg-secondary);flex:1}.tag-rarity-filter{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-card);padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);overflow-x:auto}.tag-rarity-btn{background:transparent;border:1px solid transparent;padding:4px 10px;border-radius:20px;cursor:pointer;font-weight:bold;font-size:14px;color:var(--text-secondary);transition:var(--transition);white-space:nowrap}.tag-rarity-btn:hover{color:var(--text-primary);background:rgba(255,255,255,.05)}.tag-rarity-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.tag-role-group{margin-bottom:24px}.tag-role-group:last-child{margin-bottom:0}.tag-role-title{font-size:16px;font-weight:700;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.tag-role-title img{height:20px}.tag-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.tag-unit-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:8px;border-radius:var(--radius-sm);border:1px solid transparent;transition:var(--transition);text-align:center}.tag-unit-item:hover{background:var(--bg-card-hover);border-color:var(--border-accent);transform:translateY(-2px)}.tag-unit-icon-wrapper{position:relative;width:64px;height:64px;margin-bottom:6px;display:flex;align-items:center;justify-content:center;margin:0 auto}.tag-unit-icon-wrapper .tmb-inner{position:absolute;top:4px;left:6px;right:6px;width:auto;height:auto;max-width:calc(100% - 12px);max-height:calc(100% - 10px);object-fit:contain;border-radius:4px;background:var(--bg-input);z-index:1}.tag-unit-icon-wrapper .tmb-frame{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;object-fit:contain;object-position:center bottom;z-index:2;transform:translateY(3px);transform-origin:center bottom}.tag-unit-item--ex-pair{position:relative;border-color:transparent;background:rgba(13,19,33,0.55);overflow:visible}.tag-unit-item--ex-pair::before{content:'';position:absolute;inset:-2px;border-radius:calc(var(--radius-sm) + 2px);padding:2px;background:linear-gradient(120deg,rgba(0,212,255,.95),rgba(34,211,238,.75),rgba(56,189,248,.9),rgba(0,212,255,.95));background-size:200% 200%;animation:tag-affinity-ex-pair-cyan 2.8s ease-in-out infinite;z-index:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.tag-unit-item--ex-pair>*{position:relative;z-index:1}.tag-unit-item--ex-pair:hover{transform:translateY(-2px);box-shadow:0 0 16px rgba(0,212,255,.42)}@keyframes tag-affinity-ex-pair-cyan{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.ability-detail-block--ex-pair-highlight{box-shadow:0 0 0 2px rgba(0,212,255,.78),0 0 18px rgba(0,212,255,.32);border-radius:var(--radius-sm);animation:npc-card-highlight-pulse-cyan 1.15s ease-in-out 4}.tag-composite--affinity-ex-pair{box-shadow:0 0 0 2px rgba(0,212,255,.78),0 0 12px rgba(0,212,255,.32);border-color:var(--accent-cyan);border-radius:var(--radius-sm)}.detail-rec-link-card--affinity-ex-pair{box-shadow:0 0 0 2px rgba(0,212,255,.78),0 0 18px rgba(0,212,255,.32);animation:npc-card-highlight-pulse-cyan 1.15s ease-in-out 4}
@media(max-width:1024px){.detail-header{gap:20px;padding:48px 20px 20px}.detail-portrait-wrap{width:220px}.detail-portrait,.detail-portrait-placeholder{width:220px;height:293px;max-width:100%}.detail-name{font-size:28px}.modal-content{max-width:100%}}
@media(max-width:768px){.supporter-detail-header .detail-title-area,.supporter-title-area{overflow:visible !important;flex:0 1 auto !important}.supporter-detail-header{overflow:visible !important}#detailModal .modal-content{--modal-detail-gutter:12px}.modal-detail-chrome .modal-top-label{font-size:12px;padding:3px 10px}.modal-detail-chrome .modal-entity-id{font-size:13px;max-width:min(180px,36vw)}body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);overflow-x:clip;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.app-header{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding-left:0;padding-right:0}.header-inner{padding:10px 12px;gap:8px}.brand-logo{width:36px;height:36px}.header-brand{gap:10px}.brand-title-row{min-height:0;padding:2px 6px 4px;--brand-title-optical-x:0px}.brand-title-row::before{width:70px;height:38px;opacity:.7}.brand-text{font-size:clamp(10px,2vw + 5px,14px)}.brand-sub{display:block;font-size:9px;letter-spacing:.4px;line-height:1.2;margin-top:1px}.nav-tabs{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 12px;gap:0;flex-wrap:nowrap;justify-content:flex-start}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{padding:12px 16px;font-size:15px;flex-shrink:0;min-height:44px}.main-content{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:12px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.list-toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px}#panel-stages .list-toolbar-left{flex-direction:column;align-items:stretch;gap:10px;justify-content:flex-start;width:100%}#panel-stages .browse-toolbar-leading{width:100%;max-width:100%;min-width:0}#panel-stages #stageSourceToggleWrap{width:100%;max-width:100%;min-width:0;flex:1 1 auto;justify-content:flex-start;gap:6px;flex-wrap:wrap}.list-toolbar-left,.list-toolbar-right{width:100%;justify-content:space-between}.filter-input-wrap{width:100%}.filter-input{width:100%;min-width:0;font-size:16px;-webkit-appearance:none}.search-hint-popover{left:0;right:0;width:auto;max-width:none}.filter-select,.role-filter-btn{min-height:44px}.result-count{font-size:14px}.data-table-wrapper{overflow:visible;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);margin:0 -4px}.data-table{font-size:14px;table-layout:fixed;width:100%;min-width:0}.data-table thead th{padding:10px 6px;font-size:12px;white-space:nowrap}.data-table tbody td{padding:10px 6px}.data-table tbody tr{min-height:44px}.row-thum,.row-thum-placeholder{width:56px;height:56px;font-size:24px}.list-thumb-composite{width:64px;height:64px}.list-thumb-composite.list-thumb-has-frame .list-thumb-portrait-wrap{top:6px;left:6px;right:6px;bottom:8px;align-items:center;justify-content:center}.list-thumb-composite:not(.list-thumb-has-frame) .list-thumb-portrait-wrap{top:5px;left:5px;right:5px;bottom:5px}.list-thumb-composite .list-thumb-icon-wrap{width:16px;height:16px}#charTable .col-thum,#unitTable .col-thum,#suppTable .col-thum,#stageTable .col-thum,#modTable .col-thum{width:64px;min-width:64px}#stageTable .col-thum{width:128px;min-width:128px;max-width:128px;padding:4px 2px}#stageTable .col-thum .stage-thum-wrap{max-width:120px}#stageTable .col-thum .stage-browse-thumb{width:120px}.modal-overlay{padding:8px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom));align-items:flex-start}.modal-content{max-width:100%;border-radius:var(--radius-md);max-height:calc(100vh - 16px);overflow-y:auto;overflow-x:hidden}.modal-close{width:40px;height:40px;min-width:40px;min-height:40px;top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));--ui-close-icon-size:17px}.modal-top-label{top:10px;left:16px;font-size:12px;padding:4px 10px}.modal-entity-id{top:16px;right:50px;font-size:14px}.detail-header{flex-direction:column;align-items:center;text-align:center;padding:44px 16px 16px !important;gap:16px}.detail-portrait-wrap{width:200px !important;max-width:60vw !important;height:auto !important}.detail-portrait{width:100%;max-width:200px;height:auto;aspect-ratio:3/4}.detail-portrait-placeholder{width:100%;max-width:200px;height:auto;aspect-ratio:3/4;font-size:56px}.stage-portrait{width:160px;height:160px}.supporter-portrait-wrap{width:100%;max-width:320px}.detail-name{font-size:22px}.detail-body{padding:14px 16px}.detail-section{margin-bottom:20px}.section-title{font-size:17px;margin-bottom:12px}.detail-series-row,.detail-tags-row,.header-terrain-row{justify-content:center}.detail-rarity-icon{height:36px}.detail-role-label img{height:28px}.series-icon-img{height:40px;max-width:100%}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stat-card-label{font-size:11px}.stat-card-value{font-size:18px}.ability-item{flex-direction:column;align-items:flex-start;padding:12px;gap:10px}.ability-item:has(.ability-icon-wrap--char-skill){flex-direction:row;align-items:flex-start;gap:12px}.ability-icon-wrap{width:56px;height:56px}.ability-icon-wrap--char-skill{width:56px;height:auto;min-height:56px;gap:5px}.ability-icon-wrap--char-skill .ability-icon-stack{width:56px;height:56px}.ability-icon,.mech-icon{width:48px;height:48px}.ability-frame-overlay{width:64px;height:64px}.ability-name{font-size:16px}.ability-detail{font-size:14px}.weapon-card-header{flex-direction:column;align-items:flex-start;padding:12px 14px;gap:10px}.weapon-header-left{width:100%}.weapon-header-trail{width:100%;max-width:100%;margin-left:0;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 8px;box-sizing:border-box;min-width:0}.weapon-attribute-set{flex:1 1 auto;min-width:0;text-align:right}.weapon-level-selector{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:100%;min-width:0;flex-shrink:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px}.w-lv-btn{flex-shrink:0;padding:4px 6px;font-size:11px;min-height:32px}.weapon-icon-wrap{width:44px;height:44px}.weapon-name-text{font-size:16px}.weapon-card-stats{grid-template-columns:repeat(3,1fr)}.weapon-card-body{padding:12px 14px}.weapon-stat-value{font-size:16px}.weapon-stat-label{font-size:10px}.weapon-trait-item{font-size:14px}.lb-control-row{justify-content:flex-start}.lb-icon-btn{padding:6px 10px}.lb-icon-btn img{width:14px;height:14px}.page-btn{min-width:44px;min-height:44px;padding:10px 14px}.pagination{gap:4px;margin-top:16px}.tag-modal-overlay{padding:12px}.tag-modal-content{max-height:90vh}.tag-modal-header{padding:14px 16px}.tag-modal-body{padding:14px 16px}.tag-unit-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px}.tag-unit-icon-wrapper{width:56px;height:56px}.tag-unit-icon-wrapper .tmb-inner{width:46px;height:46px}.map-grid-container{max-height:60vh;padding:12px}.map-grid{--cell:40px;padding:10px}.map-unit-dot{font-size:11px}.stage-condition-box,.stage-restriction-block{padding:12px}.stage-condition-title,.stage-restriction-group-title-text{font-size:14px}.modal-content.stage-detail .detail-portrait-wrap{width:160px !important}.modal-content.stage-detail .stage-portrait{width:160px;height:160px}.modal-content.stage-detail .detail-portrait-placeholder{width:160px !important;height:160px !important;font-size:50px !important}.loading-overlay,.empty-state{padding:40px 16px}.empty-state-icon{font-size:48px}.empty-state-text{font-size:17px}}
@media(max-width:480px){.header-inner{padding:8px 10px}.brand-text{font-size:clamp(9px,2.2vw + 4px,13px)}.header-brand{gap:8px}.brand-title-row{min-height:0;padding:2px 4px 3px;--brand-title-optical-x:0px}.brand-title-row::before{width:64px;height:34px}.brand-sub{font-size:10px;letter-spacing:.2px}.brand-logo{width:32px;height:32px}.nav-tab{padding:10px 12px;font-size:14px}.main-content{padding:10px}.list-toolbar{gap:10px}.data-table{font-size:13px;table-layout:fixed;width:100%;min-width:0}.row-thum,.row-thum-placeholder{width:48px;height:48px;font-size:20px}.list-thumb-composite{width:56px;height:56px}.list-thumb-composite.list-thumb-has-frame .list-thumb-portrait-wrap{top:5px;left:5px;right:5px;bottom:7px;align-items:center;justify-content:center}.list-thumb-composite:not(.list-thumb-has-frame) .list-thumb-portrait-wrap{top:4px;left:4px;right:4px;bottom:4px}.list-thumb-composite .list-thumb-icon-wrap{width:14px;height:14px}#charTable .col-thum,#unitTable .col-thum,#suppTable .col-thum,#modTable .col-thum{width:56px;min-width:56px}#stageTable .col-thum{width:104px;min-width:104px;max-width:104px;padding:3px 2px}#stageTable .col-thum .stage-thum-wrap{max-width:96px}#stageTable .col-thum .stage-browse-thumb{width:96px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card-value{font-size:20px}.weapon-card-stats{grid-template-columns:repeat(2,1fr)}.weapon-card-header{padding:10px 12px;gap:8px}.weapon-header-trail{flex-direction:column;align-items:stretch;gap:6px}.weapon-attribute-set{text-align:center}.weapon-level-selector{justify-content:center;overflow-x:visible}.w-lv-btn{padding:3px 5px;font-size:10px;min-height:30px}.detail-header{flex-direction:row !important;align-items:flex-start !important;text-align:left !important;padding:40px 12px 12px !important;gap:12px}.detail-portrait-wrap{width:110px !important;max-width:30vw !important;flex-shrink:0 !important}.detail-portrait,.detail-portrait-placeholder{max-width:110px;height:auto !important;aspect-ratio:3/4}.detail-title-area{min-width:0;flex:1}.supporter-detail-header .detail-title-area,.supporter-detail-header .supporter-title-area{flex:0 1 auto !important}.detail-name{font-size:18px}.detail-meta{gap:8px}.detail-rarity-icon{height:30px !important}.detail-role-label{font-size:14px !important}.detail-role-label img{height:22px !important}.detail-series-row,.detail-tags-row,.header-terrain-row{justify-content:flex-start !important}.detail-series-row{margin-top:8px}.series-icon-img{height:30px !important;max-width:120px}.supporter-detail-header{flex-direction:column !important;align-items:center !important;text-align:center !important}.supporter-portrait-wrap{max-width:280px !important;width:100% !important;flex-shrink:0 !important}.supporter-portrait-wrap .supporter-portrait{aspect-ratio:900/504;width:100%;height:auto}.modal-content.stage-detail .detail-portrait-wrap{width:100px !important}.modal-content.stage-detail .stage-portrait{width:100px;height:100px}.modal-entity-id{font-size:12px;top:12px;right:44px}.modal-top-label{font-size:11px;top:8px;left:12px;padding:3px 8px}.modal-close{width:36px;height:36px;min-width:36px;min-height:36px;top:max(8px,env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));--ui-close-icon-size:15px}.ability-icon-wrap{width:48px;height:48px}.ability-icon-wrap--char-skill{width:48px;height:auto;min-height:48px;gap:4px}.ability-icon-wrap--char-skill .ability-icon-stack{width:48px;height:48px}.ability-icon,.mech-icon{width:40px;height:40px}.section-title{font-size:16px}.stage-restriction-split{flex-direction:column;align-items:stretch;gap:10px}.stage-restriction-split-vrule{flex:0 0 1px;width:calc(100% - 24px);height:1px;margin:0 auto;align-self:center;background:linear-gradient(90deg,transparent 0%,rgba(136,150,179,.55) 10%,rgba(136,150,179,.55) 90%,transparent 100%)}.stage-restriction-split-col{padding:0 !important}.map-grid{--cell:36px}}
@media(max-width:768px){
html{overflow-x:clip;width:100%;max-width:100%}
.tab-panel.active{min-width:0;max-width:100%;box-sizing:border-box}
#charTable,#unitTable,#stageTable,#modTable{table-layout:fixed}
#charTable .col-thum,#unitTable .col-thum{width:64px;min-width:64px;max-width:64px;box-sizing:border-box}
#charTable .col-name{width:26%;min-width:0}
#charTable .col-stat{width:14.8%;min-width:0;box-sizing:border-box;padding-left:4px;padding-right:4px}
#unitTable .col-name{width:20%;min-width:0}
#unitTable .col-stat{width:11.4%;min-width:0;box-sizing:border-box;padding-left:3px;padding-right:3px}
#suppTable .col-name{min-width:0!important}
#suppTable .col-tag{min-width:0}
#suppTable .col-boost{min-width:0!important}
#suppTable .col-skill{min-width:0!important}
#modTable .col-name{min-width:0!important}
#modTable .col-tag{min-width:0}
#modTable .col-details{min-width:0!important}
.data-table .col-name .name-text{word-break:break-word}
}
@media(max-width:480px){
#charTable .col-thum,#unitTable .col-thum{width:56px;min-width:56px;max-width:56px}
#charTable .col-stat{width:14.5%}
#unitTable .col-stat{width:11%}
}
@media(max-width:768px) and (max-height:500px){.detail-header{flex-direction:row !important;text-align:left !important;align-items:flex-start !important;gap:16px}.detail-portrait-wrap{width:140px !important;max-width:30vw !important}.detail-portrait,.detail-portrait-placeholder{max-width:140px;aspect-ratio:3/4}.detail-series-row,.detail-tags-row,.header-terrain-row{justify-content:flex-start}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px}}
@media(max-width:768px){
.modal-content.char-detail.detail-ranking-view .stats-grid.stats-grid--ranking-list,
.modal-content.unit-detail.detail-ranking-view .stats-grid.stats-grid--ranking-list{
display:flex !important;
flex-direction:column !important;
grid-template-columns:1fr !important;
gap:8px !important;
}
.modal-content.char-detail.detail-ranking-view .stat-card--ranking,
.modal-content.unit-detail.detail-ranking-view .stat-card--ranking{
width:100%;
min-width:0;
}
.modal-content.char-detail.detail-ranking-view .stat-rank-pos,
.modal-content.unit-detail.detail-ranking-view .stat-rank-pos{
font-size:12px;
max-width:none;
}
}
@media(max-width:768px){
#panel-stages .list-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:12px!important}
#panel-stages .list-toolbar-left{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;gap:10px!important;justify-content:flex-start!important;box-sizing:border-box!important}
#panel-stages .browse-toolbar-leading{width:100%!important;max-width:100%!important;min-width:0!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;box-sizing:border-box!important}
#panel-stages #stageSourceToggleWrap{display:flex!important;flex-flow:row wrap!important;width:100%!important;max-width:100%!important;min-width:0!important;flex-shrink:1!important;box-sizing:border-box!important;justify-content:flex-start!important;gap:6px!important}
}
@media(max-width:480px){
.modal-content.char-detail.detail-ranking-view .detail-header,
.modal-content.unit-detail.detail-ranking-view .detail-header{
flex-direction:column !important;
align-items:center !important;
text-align:center !important;
gap:12px !important;
}
.modal-content.char-detail.detail-ranking-view .detail-portrait-wrap,
.modal-content.unit-detail.detail-ranking-view .detail-portrait-wrap{
width:140px !important;
max-width:52vw !important;
}
.modal-content.char-detail.detail-ranking-view .detail-title-area,
.modal-content.unit-detail.detail-ranking-view .detail-title-area{
width:100%;
min-width:0;
}
.modal-content.char-detail.detail-ranking-view .detail-series-row,
.modal-content.char-detail.detail-ranking-view .detail-tags-row,
.modal-content.char-detail.detail-ranking-view .header-terrain-row,
.modal-content.unit-detail.detail-ranking-view .detail-series-row,
.modal-content.unit-detail.detail-ranking-view .detail-tags-row,
.modal-content.unit-detail.detail-ranking-view .header-terrain-row{
justify-content:center !important;
}
}
.cmp-cb-cell{width:32px;min-width:32px;max-width:32px;vertical-align:middle !important;padding:4px !important;cursor:pointer;box-sizing:border-box;text-align:center;overflow:visible}
.cmp-cb-cell .cmp-cb-inner{display:flex;align-items:center;justify-content:center;width:100%;min-width:24px;min-height:21px;box-sizing:border-box;margin:0 auto}
/* Legacy fixed-header clone (old mobile bundle) — hide and restore real thead */
.browse-table-sticky-bar{display:none!important;visibility:hidden!important;pointer-events:none!important}
.data-table.is-browse-head-pinned thead{visibility:visible!important}
.cmp-cb,.cmp-cb-grid{cursor:pointer;flex-shrink:0;width:21px;height:21px;border:none;padding:0;margin:0;background:transparent center/contain no-repeat;background-image:url('/static/images/UI/UI_Common_Carousel_Nega.webp');appearance:none;-webkit-appearance:none;accent-color:transparent}
.cmp-cb:checked,.cmp-cb-grid:checked{background-image:url('/static/images/UI/UI_Common_Carousel_Posi.webp')}
.cmp-cb:disabled,.cmp-cb-grid:disabled{opacity:.45;cursor:not-allowed}
.cmp-cb:focus-visible,.cmp-cb-grid:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:4px}
.cmp-float{position:fixed;bottom:0;left:0;right:0;z-index:350;background:rgba(10,14,26,.95);border-top:2px solid var(--accent-cyan);padding:10px 20px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:none;align-items:center;justify-content:center;gap:16px;visibility:hidden;pointer-events:none;backdrop-filter:blur(6px);box-sizing:border-box;max-height:0;overflow:hidden;opacity:0;border:none}
.cmp-float.visible{display:flex;max-height:none;overflow:visible;opacity:1;border-top:2px solid var(--accent-cyan);visibility:visible;pointer-events:auto}
#cmpFloat:not(.visible),#cmpFloat[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important;max-height:0!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:none!important;overflow:hidden!important;clip-path:inset(100%)!important;bottom:-120px!important;transform:none!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.cmp-float[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.cmp-mobile-pick-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;padding:0;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer;flex-shrink:0;box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim);transition:var(--transition)}
.cmp-mobile-pick-toggle:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}
.cmp-mobile-pick-toggle.is-on{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.12);color:var(--accent-cyan);box-shadow:var(--toggle-depth-active-inset),var(--toggle-depth-rim),0 0 12px rgba(34,211,238,.16)}
html:not(.cmp-mobile-pick) .list-grid-cmp-wrap{display:none!important}
html:not(.cmp-mobile-pick) #charTable .cmp-cb-cell,html:not(.cmp-mobile-pick) #unitTable .cmp-cb-cell{display:none!important}
html:not(.cmp-page-active) #cmpFloat,html:not(.cmp-mobile-pick) #cmpFloat{display:none!important;bottom:-120px!important;transform:none!important;visibility:hidden!important;pointer-events:none!important;background:transparent!important;opacity:0!important}
html.cmp-mobile-pick .list-grid-card--cmp.cmp-is-selected{position:relative;z-index:1;border-color:var(--border-accent);background:var(--bg-card-hover);box-shadow:var(--shadow-surface);transform:none}
html.cmp-mobile-pick .list-grid-card--cmp.cmp-is-selected:hover{border-color:var(--accent-blue);background:var(--bg-card-hover);box-shadow:var(--shadow-surface),0 4px 14px rgba(0,0,0,.22)}
html.cmp-mobile-pick .list-grid-card--cmp.cmp-is-selected .list-thumb-portrait,html.cmp-mobile-pick .list-grid-card--cmp.cmp-is-selected .list-thumb-composite{filter:none}
#charTable tbody tr.cmp-is-selected,#unitTable tbody tr.cmp-is-selected{position:relative;z-index:2;background:transparent!important;box-shadow:none}
#charTable tbody tr.cmp-is-selected td,#unitTable tbody tr.cmp-is-selected td{background:var(--bg-card-hover)!important;border-top:1px solid var(--border-accent);border-bottom:1px solid var(--border-accent);border-left:none;border-right:none;box-shadow:none!important}
#charTable tbody tr.cmp-is-selected td:first-child,#unitTable tbody tr.cmp-is-selected td:first-child{border-left:1px solid var(--border-accent);border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}
#charTable tbody tr.cmp-is-selected td:last-child,#unitTable tbody tr.cmp-is-selected td:last-child{border-right:1px solid var(--border-accent);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
#charTable tbody tr.cmp-is-selected:hover td,#unitTable tbody tr.cmp-is-selected:hover td{background:var(--bg-card-hover)!important}
#charTable tbody tr.cmp-is-selected .list-thumb-portrait,#unitTable tbody tr.cmp-is-selected .list-thumb-portrait{filter:none}
html.cmp-bar-open:has(#cmpFloat.visible) .main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
@media(max-width:768px){
.cmp-mobile-pick-toggle{width:34px;height:30px}
}
.cmp-float-count{color:var(--accent-cyan);font-weight:700;font-size:16px}
.cmp-float-btn{padding:8px 24px;background:var(--accent-cyan);color:#0a0e1a;font-weight:800;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;transition:var(--transition)}
.cmp-float-btn:hover{background:#00b8d4}
.cmp-float-btn:disabled{opacity:.4;cursor:not-allowed}
.cmp-float-clear{padding:8px 16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:var(--transition)}
.cmp-float-clear:hover{color:var(--text-primary);border-color:var(--text-secondary)}
.cmp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(4px);z-index:500;display:none;align-items:flex-start;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.cmp-overlay.active{display:flex}
.cmp-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:1000px;width:100%;position:relative;margin:20px auto}
.cmp-modal-close{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));width:36px;height:36px;min-width:36px;min-height:36px;padding:0;line-height:0;font-size:0;background:rgba(255,255,255,.08);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;--ui-close-icon-size:16px;z-index:10;transition:var(--transition);flex-shrink:0}
.cmp-modal-close:hover{color:#fff;background:rgba(255,75,75,.5);border-color:#ff4b4b}
.cmp-title{font-size:20px;font-weight:800;color:var(--accent-cyan);padding:20px 24px 0;display:flex;align-items:center;gap:8px}
.cmp-title::before{content:'⚔';font-size:18px}
.cmp-header{display:flex;gap:16px;padding:20px 24px;justify-content:center;flex-wrap:wrap}
.cmp-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:120px;flex:1;max-width:200px;position:relative}
.cmp-card-thum-wrap{width:72px;height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cmp-card-thum-wrap .list-thumb-composite.list-thumb-has-frame .list-thumb-portrait-wrap{top:5px;left:5px;right:5px;bottom:7px;align-items:center;justify-content:center}.cmp-card-thum-wrap .list-thumb-composite:not(.list-thumb-has-frame) .list-thumb-portrait-wrap{top:5px;left:5px;right:5px;bottom:5px}
.cmp-card-thum-wrap .list-thumb-icon-wrap{width:16px;height:16px}
.cmp-card-thum-wrap .list-thumb-icon-wrap img{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important}
.cmp-card-thum{width:72px;height:72px;border-radius:0;object-fit:contain;background:transparent;border:none}
.cmp-card-thum-placeholder{width:72px;height:72px;border-radius:0;background:transparent;border:none;display:flex;align-items:center;justify-content:center;font-size:28px}
.cmp-card-name{font-size:13px;font-weight:700;color:var(--text-primary);text-align:center;line-height:1.2;max-width:160px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:calc(2 * 1.2em);box-sizing:border-box;align-self:stretch}
.cmp-card-remove{padding:4px 10px;background:transparent;border:1px solid rgba(255,75,75,.4);color:#ff6b6b;font-size:12px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}
.cmp-card-remove:hover{background:rgba(255,75,75,.15);border-color:#ff4b4b}
.cmp-card-transform{margin:0;padding:4px;width:36px;height:36px;flex-shrink:0}
.cmp-card-transform img{width:22px;height:22px;object-fit:contain;display:block}
.cmp-add-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:120px;flex:1;max-width:200px;min-height:140px;border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);transition:var(--transition);padding:16px}
.cmp-add-slot:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);background:rgba(0,212,255,.03)}
.cmp-add-slot-icon{font-size:28px}
.cmp-add-slot-text{font-size:13px;font-weight:600}
.cmp-section{padding:0 24px 20px}
.cmp-section-title{font-size:16px;font-weight:800;color:var(--accent-gold);margin-bottom:14px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.cmp-radar-wrap{display:flex;justify-content:center;padding:10px 24px 20px}
.cmp-radar-wrap canvas{max-width:100%}
.cmp-stat-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cmp-stat-table th,.cmp-stat-table td{padding:8px 6px;text-align:center;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;vertical-align:middle}
.cmp-stat-table th:first-child,.cmp-stat-table td:first-child{text-align:right;color:var(--text-secondary);font-weight:700;width:96px;max-width:96px;box-sizing:border-box}
.cmp-stat-table th:not(:first-child),.cmp-stat-table td:not(:first-child){width:auto;min-width:0}
.cmp-stat-table th{color:var(--text-muted);font-weight:600;font-size:12px}
.cmp-stat-table td{font-family:'RobotoMediumNumbers',monospace;font-weight:800;font-size:15px}
.cmp-stat-cell{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;box-sizing:border-box;padding:4px 4px}
.cmp-stat-bar{width:4px;height:18px;border-radius:2px;flex-shrink:0}
.cmp-stat-val{min-width:0;text-align:center;flex:1}
.cmp-stat-cell.best .cmp-stat-val{color:var(--accent-gold);font-weight:800}
.cmp-stat-cell.best{background:rgba(255,215,0,.15);border-radius:6px}
.cmp-stat-table .cmp-col-label{width:100px}
.cmp-stat-table .cmp-col-val{width:calc((100% - 100px) / var(--cmp-n,3))}
.cmp-card-lb{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:6px;width:100%;max-width:168px}
.cmp-card-lb-label{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.02em}
.cmp-lb-details{position:relative;width:100%;max-width:156px;z-index:5}
.cmp-lb-summary{display:flex;align-items:center;justify-content:center;gap:3px;list-style:none;cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-color);min-height:38px;box-sizing:border-box;transition:var(--transition)}
.cmp-lb-summary::-webkit-details-marker{display:none}
.cmp-lb-summary::marker{content:''}
.cmp-lb-summary:hover{border-color:var(--accent-gold);background:rgba(255,215,0,.06)}
.cmp-lb-summary:focus{outline:2px solid rgba(0,212,255,.35);outline-offset:1px}
.cmp-lb-summary img{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.cmp-lb-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);padding:6px;display:flex;flex-direction:column;gap:4px;background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:40}
.cmp-lb-opt{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-primary);transition:var(--transition)}
.cmp-lb-opt:hover,.cmp-lb-opt:focus{background:rgba(0,212,255,.1);outline:none}
.cmp-lb-opt.is-active{background:rgba(255,215,0,.18);box-shadow:inset 0 0 0 1px rgba(255,215,0,.35)}
.cmp-lb-opt img{width:20px;height:20px;object-fit:contain;flex-shrink:0}
.cmp-lb-opt-num{font-size:11px;font-weight:800;color:var(--text-muted);min-width:14px;text-align:center}
.cmp-legend{display:flex;gap:16px;justify-content:center;padding:12px 24px;flex-wrap:wrap}
.cmp-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary)}
.cmp-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.cmp-terrain-table{width:100%;border-collapse:collapse}
.cmp-terrain-table th,.cmp-terrain-table td{padding:8px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px}
.cmp-terrain-table th{color:var(--text-muted);font-weight:600;font-size:12px}
.cmp-terrain-table td:first-child,.cmp-terrain-table th:first-child{text-align:left;color:var(--accent-gold);font-weight:700}
.cmp-terrain-symbol{font-size:16px}.cmp-terrain-symbol.level-3{color:#4ade80}.cmp-terrain-symbol.level-2{color:#4ade80}.cmp-terrain-symbol.level-1{color:#facc15}.cmp-terrain-symbol.level-0{color:var(--text-muted)}
.cmp-wpn-grid{display:grid;gap:20px}
.cmp-wpn-grid.cols-2{grid-template-columns:1fr 1fr}
.cmp-wpn-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.cmp-wpn-col-title{font-size:14px;font-weight:800;text-align:center;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.cmp-wpn-item{font-size:13px;line-height:1.5;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.cmp-wpn-name{font-weight:700}
.cmp-wpn-attr{font-size:12px;color:var(--text-secondary)}
.cmp-reset-wrap{display:flex;justify-content:center;padding:20px 24px 24px}
.cmp-reset-btn{padding:10px 32px;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;transition:var(--transition)}
.cmp-reset-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}
.cmp-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;display:none;align-items:center;justify-content:center;padding:20px}
.cmp-picker-overlay.active{display:flex}
.cmp-picker{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:70vh;display:flex;flex-direction:column}
.cmp-picker-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;gap:12px;align-items:center}
.cmp-picker-header input{flex:1;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);font-size:14px}
.cmp-picker-header input:focus{outline:none;border-color:var(--accent-cyan)}
.cmp-picker-close{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;line-height:0;font-size:0;background:rgba(255,255,255,.08);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;--ui-close-icon-size:14px;flex-shrink:0;transition:var(--transition)}
.cmp-picker-close:hover,.dc-modal-close:hover,.cmp-modal-close:hover{color:#fff;background:rgba(255,75,75,.5);border-color:#ff4b4b}
.cmp-picker-body{overflow-y:auto;padding:12px}
.cmp-picker-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid transparent}
.cmp-picker-item:hover{background:var(--bg-card-hover);border-color:var(--border-accent)}
.cmp-picker-item.already{opacity:.35;pointer-events:none}
.cmp-picker-item img{width:48px;height:48px;border-radius:6px;object-fit:contain;background:var(--bg-input)}
.cmp-picker-item-name{font-size:14px;font-weight:600;color:var(--text-primary)}
.cmp-picker-item-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cmp-picker-item-badges img{height:20px}
.cmp-picker-badge-text{font-size:11px;color:var(--text-muted);background:rgba(255,255,255,.08);padding:2px 6px;border-radius:4px}
.cmp-toggles{display:flex;gap:8px;align-items:center;justify-content:center;padding:8px 24px 4px}
.cmp-toggle-btn{padding:4px 8px;background:rgba(13,19,33,.8);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);height:32px;min-width:45px}
.cmp-toggle-btn img{height:24px;object-fit:contain;filter:grayscale(1) opacity(.4);transition:var(--transition)}
.cmp-toggle-btn:hover{border-color:var(--accent-gold)}
.cmp-toggle-btn.active{border-color:var(--accent-gold);background:rgba(255,215,0,.15);box-shadow:0 0 10px rgba(255,215,0,.3)}
.cmp-toggle-btn.active img{filter:grayscale(0) opacity(1)}
.cmp-toggle-btn .list-cond-toggle,.cmp-toggle-btn .detail-pilot-ep-chip{pointer-events:none;border:0;background:transparent;box-shadow:none;height:24px;width:auto;padding:0;margin:0}
.cmp-toggle-btn--cp.active,.cmp-toggle-btn--pep.active{border-color:rgba(168,85,247,.55);background:rgba(168,85,247,.12);box-shadow:0 0 10px rgba(168,85,247,.28)}
.cmp-toggle-label{font-size:13px;color:var(--text-muted);font-weight:600}
.cmp-abil-grid{display:grid;gap:20px}
.cmp-abil-grid.cols-2{grid-template-columns:1fr 1fr}
.cmp-abil-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.cmp-abil-col-title{font-size:14px;font-weight:800;text-align:center;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.cmp-abil-item{font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);line-height:1.4}
.cmp-abil-name{font-weight:700;display:flex;align-items:center;gap:4px}
.cmp-abil-name img{height:16px;object-fit:contain}
.cmp-abil-detail{font-size:12px;color:var(--text-secondary);margin-top:2px}
@media(max-width:768px){.cmp-modal{margin:10px}.cmp-header{gap:10px;padding:16px}.cmp-card{min-width:90px}.cmp-card-thum-wrap{width:56px;height:56px}.cmp-card-thum-wrap .list-thumb-composite{width:56px!important;height:56px!important}.cmp-card-thum-wrap .list-thumb-composite.list-thumb-has-frame .list-thumb-portrait-wrap{top:4px;left:4px;right:4px;bottom:6px;align-items:center;justify-content:center}.cmp-card-thum-wrap .list-thumb-composite:not(.list-thumb-has-frame) .list-thumb-portrait-wrap{top:4px;left:4px;right:4px;bottom:4px}.cmp-card-thum-wrap .list-thumb-icon-wrap{width:14px;height:14px}.cmp-card-thum-wrap .list-thumb-icon-wrap img{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;max-width:14px!important;max-height:14px!important}.cmp-card-thum,.cmp-card-thum-placeholder{width:56px;height:56px}.cmp-card-name{font-size:12px}.cmp-section{padding:0 14px 16px}.cmp-stat-label{width:48px;font-size:12px}.cmp-stat-val{font-size:12px;min-width:48px}.cmp-wpn-grid.cols-2,.cmp-wpn-grid.cols-3{grid-template-columns:1fr}.cmp-abil-grid.cols-2,.cmp-abil-grid.cols-3{grid-template-columns:1fr}.cmp-title{font-size:17px;padding:16px 16px 0}.cmp-legend{padding:8px 14px}.cmp-toggles{padding:8px 14px 4px}}
.dc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(4px);z-index:500;display:none;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}
.dc-overlay.active{display:flex}
.dc-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:1100px;width:100%;position:relative;margin:20px auto}
.dc-modal-close{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));width:36px;height:36px;min-width:36px;min-height:36px;padding:0;line-height:0;font-size:0;background:rgba(255,255,255,.08);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;--ui-close-icon-size:16px;z-index:10;transition:var(--transition);flex-shrink:0}
.dc-modal-close:hover{color:#fff;background:rgba(255,75,75,.5);border-color:#ff4b4b}
.dc-title{font-size:20px;font-weight:800;color:var(--accent-cyan);padding:20px 24px 12px;display:flex;align-items:center;gap:8px}
.dc-title::before{content:'⚔';font-size:18px}
.dc-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 24px 16px}
.dc-panel{background:rgba(26,34,54,.5);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;gap:16px}
.dc-panel-title{font-size:15px;font-weight:800;color:var(--accent-gold);margin-bottom:4px}
.dc-panel-section{background:rgba(0,0,0,.15);border-radius:var(--radius-sm);padding:12px;margin-top:4px}
.dc-pick-btn{padding:10px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;text-align:center;transition:var(--transition)}
.dc-pick-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}
.dc-picked{display:flex;align-items:center;gap:12px;padding:8px;background:rgba(0,0,0,.2);border-radius:var(--radius-sm);border:1px solid var(--border-color)}
.dc-picked img.dc-thum{width:48px;height:48px;border-radius:6px;object-fit:contain;background:var(--bg-input)}
.dc-picked .list-thumb-composite--picker{flex-shrink:0}
.dc-picked-info{flex:1;min-width:0}
.dc-picked-name{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-picked-badges{display:flex;gap:4px;align-items:center;margin-top:2px}
.dc-picked-badges img{height:20px}
.dc-picked-controls{flex:1 1 140px;min-width:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px}
.dc-dc-cond-toggle{margin:0!important;justify-content:flex-end}
.dc-dc-cond-toggle .toggle-label{font-size:11px;font-weight:600;max-width:min(160px,28vw);text-align:right;line-height:1.25}
.dc-dc-cond-toggle .toggle-label.toggle-label--cp-chip{display:inline-flex;align-items:center;justify-content:center;max-width:none;min-height:28px;line-height:1;margin:0;padding:0;background:transparent;border:none;pointer-events:none}
.dc-dc-cond-toggle .toggle-label.toggle-label--cp-chip .list-cond-toggle.dc-dc-cp-chip{cursor:inherit;pointer-events:none;width:43px;height:28px;padding:2px;margin:0;flex-shrink:0}
.dc-dc-cond-toggle .toggle-label.toggle-label--cp-chip .list-cond-toggle.dc-dc-cp-chip .cp-wide{font-size:15px;line-height:1;font-style:italic}
.dc-dc-cond-toggle .toggle-clickable.active .toggle-label.toggle-label--cp-chip .list-cond-toggle.dc-dc-cp-chip{animation:cpWordBorderPulse 2.25s infinite ease-in-out}
#panel-calculator .dc-picked-controls .toggle-label--cp-short{display:none}
.dc-dc-cond-toggle .toggle-switch{width:38px;height:22px;border-radius:11px;--ui-toggle-thumb-left:2px}
.dc-dc-cond-toggle .toggle-switch::after{width:16px;height:16px;top:2px}
.dc-dc-cond-toggle .toggle-clickable.active .toggle-switch{--ui-toggle-thumb-left:18px}
.dc-sheet-buff-wrap{max-width:100%;box-sizing:border-box}
@media(min-width:769px){
  /* Keep DC sheet buff toggles symmetric on desktop (avoid viewport-based vw widths). */
  .dc-sheet-buff-wrap{align-items:flex-end}
  .dc-sheet-buff-wrap .dc-dc-cond-toggle{width:fit-content;max-width:100%}
  .dc-sheet-buff-wrap .toggle-clickable{min-height:28px;justify-content:flex-end}
  .dc-sheet-buff-wrap .toggle-label{max-width:220px;white-space:nowrap}
}
.dc-picked-change{padding:4px 8px;font-size:11px;background:transparent;border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0}
.dc-picked-change:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}
.dc-picked-change.dc-picked-change--static{border:none;cursor:default}
.dc-picked-change.dc-picked-change--static:hover{border-color:transparent;color:var(--text-muted)}
.dc-atk-char-wrap{display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;align-items:stretch}
.dc-atk-char-ex-tier{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;box-sizing:border-box;padding:0;margin:0}
.dc-stats-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
#panel-calculator .dc-def-ers.stats-grid,#panel-calculator .dc-atk-ers.stats-grid{margin-top:6px}
#panel-calculator .dc-def-ers .stat-card,#panel-calculator .dc-atk-ers .stat-card{background:rgba(0,0,0,.22);border-radius:6px;padding:6px 4px;border:1px solid transparent}
#panel-calculator .dc-def-ers .stat-card-value,#panel-calculator .dc-atk-ers .stat-card-value{font-size:17px;font-weight:700;line-height:1.15}
#panel-calculator .dc-def-ers .stat-card-label,#panel-calculator .dc-atk-ers .stat-card-label{font-size:10px;letter-spacing:.04em;color:var(--text-muted);font-weight:600;text-transform:none}
#panel-calculator .dc-def-ers .stat-card-bonus,#panel-calculator .dc-atk-ers .stat-card-bonus{font-size:11px}
#panel-calculator .dc-atk-ers .stat-card-value{display:flex;flex-direction:column;align-items:center;white-space:normal;gap:2px}
#panel-calculator .dc-atk-ers .stat-card-bonus{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;max-width:100%}
.dc-stat-mini{text-align:center;padding:8px;background:rgba(0,0,0,.2);border-radius:6px}
.dc-stat-mini-label{font-size:10px;color:var(--text-muted);font-weight:600}
.dc-stat-mini-val{font-size:15px;font-weight:800;color:var(--text-primary);font-family:'RobotoMediumNumbers',monospace}
.dc-wpn-select,.dc-npc-select,.dc-input-sm{width:100%;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer}
.dc-wpn-select:focus,.dc-npc-select:focus,.dc-input-sm:focus{outline:none;border-color:var(--accent-cyan)}
.dc-stage-dd-wrap{position:relative;width:100%;margin-bottom:8px}
.dc-stage-dd-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;font-family:inherit}
.dc-stage-dd-btn::after{content:'▾';flex-shrink:0;font-size:12px;opacity:.75}
.dc-stage-dd-panel{position:absolute;left:0;right:0;z-index:25;margin-top:4px;padding:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.dc-stage-search{margin-bottom:6px;width:100%}
.dc-stage-list{max-height:220px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input)}
.dc-stage-hit{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:none;border-bottom:1px solid rgba(148,163,184,.12);background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;font-family:inherit}
.dc-stage-hit:last-child{border-bottom:none}
.dc-stage-hit:hover,.dc-stage-hit:focus{background:rgba(56,189,248,.08)}
.dc-stage-hit.is-active{background:rgba(56,189,248,.14);box-shadow:inset 0 0 0 1px rgba(56,189,248,.25)}
.dc-stage-hit-name{flex:1;min-width:0}
.dc-stage-hit-meta{font-size:11px;color:var(--text-muted);font-weight:600}
.dc-er-diff-icon{flex-shrink:0;width:18px;height:18px;object-fit:contain;vertical-align:middle}
.dc-er-diff-icon--normal{filter:none}
.dc-er-diff-icon--hard{filter:hue-rotate(-38deg) saturate(1.25) brightness(1.05)}
.dc-er-diff-icon--expert{filter:hue-rotate(-95deg) saturate(1.35) brightness(1.02)}
.dc-er-diff-icon--unknown{opacity:.55}
.dc-er-diff-fallback{display:inline-block;width:14px;height:14px;border-radius:50%;flex-shrink:0}
.dc-er-diff-fallback--normal{background:#55c7ff}
.dc-er-diff-fallback--hard{background:#ff9a3d}
.dc-er-diff-fallback--expert{background:#ff4b4b}
.dc-er-diff-fallback--unknown{background:#667085}
.dc-stage-select-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip:rect(0,0,0,0)}
.dc-supporter-ctrl-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.dc-supporter-lv-input{min-width:4.75rem!important;width:auto!important;max-width:120px!important;padding:4px 10px!important;font-size:13px!important;min-height:30px!important;height:auto!important;line-height:1.2!important;box-sizing:border-box;cursor:text;font-variant-numeric:tabular-nums}
.dc-supporter-item .dc-supporter-lb-group{flex-shrink:0;display:inline-flex;align-items:center;background:rgba(13,19,33,.65);border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.dc-supporter-item .dc-supporter-lb-group .lb-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:1px;padding:3px 5px;min-height:0;border-right:1px solid rgba(255,255,255,.08)}
.dc-supporter-item .dc-supporter-lb-group .lb-icon-btn:last-child{border-right:none}
.dc-supporter-item .dc-supporter-lb-group .lb-icon-btn img{width:11px;height:11px;max-width:11px;max-height:11px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 1px rgba(0,0,0,.75))}
.dc-supporter-item .dc-supporter-lb-group .lb-icon-btn:hover{background:rgba(74,144,217,.12)}
.dc-supporter-item .dc-supporter-lb-group .lb-icon-btn.active{background:rgba(59,130,246,.35);box-shadow:inset 0 0 0 1px rgba(56,189,248,.35)}
.dc-wpn-info{display:flex;gap:12px;flex-wrap:wrap;padding:8px;background:rgba(0,0,0,.15);border-radius:4px;font-size:12px;color:var(--text-secondary)}
.dc-wpn-info span{display:flex;align-items:center;gap:4px}
.dc-wpn-info .val{color:var(--text-primary);font-weight:700;font-family:'RobotoMediumNumbers',monospace}
.dc-controls{padding:0 24px 16px}
.dc-controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.dc-ctrl-group{display:flex;flex-direction:column;gap:4px;min-width:0}
.dc-ctrl-label{font-size:11px;color:var(--text-muted);font-weight:600;font-family:inherit}
.dc-ctrl-label .dc-tip{font-size:inherit;font-weight:inherit;letter-spacing:inherit}
.dc-ctrl-toggle{display:flex;flex-wrap:wrap;gap:6px}
.dc-ctrl-btn{padding:5px 10px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition)}
.dc-ctrl-btn.active{background:rgba(0,212,255,.1);color:var(--accent-cyan);border-color:var(--accent-cyan)}
.dc-ctrl-btn:hover{border-color:var(--accent-cyan)}
.dc-support-counter-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.dc-support-counter-top{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;width:100%}
.dc-support-counter-top .dc-support-counter-title{flex:0 1 auto;min-width:0;margin:0}
.dc-support-counter-top .dc-support-counter-toggle.dc-dc-cond-toggle{justify-content:flex-start;flex-shrink:0}
.dc-support-counter-desc{margin:0;font-size:11px;line-height:1.4;color:var(--text-muted);padding:8px 10px;border-radius:8px;border:1px solid transparent;transition:var(--transition);width:100%;box-sizing:border-box}
.dc-support-counter-wrap.is-active .dc-support-counter-desc{color:#a5f3fc;background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.32);box-shadow:0 0 0 1px rgba(34,211,238,.08)}
.dc-support-counter-pilot-note{font-size:10px;color:var(--text-muted);margin-top:10px;line-height:1.35;padding:8px 10px;border-radius:8px;border:1px solid transparent;transition:var(--transition)}
.dc-support-counter-pilot-note.is-highlighted{color:#a5f3fc;background:rgba(34,211,238,.1);border-color:rgba(34,211,238,.32);box-shadow:0 0 0 1px rgba(34,211,238,.08)}
.dc-support-counter-wrap.is-disabled .dc-support-counter-toggle{opacity:.65;pointer-events:none}
.dc-result{padding:0 24px 24px}
.dc-result-box{background:rgba(26,34,54,.7);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;text-align:center}
.dc-battle-stats-overlay{position:fixed;inset:0;z-index:200;background:#0f172a;display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 12px;overflow-y:auto;box-sizing:border-box}
.dc-battle-stats-panel{position:relative;max-width:min(1280px,96vw);width:100%;background:#1e293b;border:1px solid var(--border-color);border-radius:12px;padding:20px 20px 24px;box-shadow:0 24px 48px rgba(0,0,0,.55);margin:20px auto;opacity:1}
.dc-battle-stats-title{font-size:18px;font-weight:800;font-family:var(--font-body);color:var(--accent-cyan);margin:0 0 16px;padding-right:40px}
.dc-battle-stats-body{font-size:13px;line-height:1.55;color:var(--text-primary);font-family:var(--font-body)}
.dc-battle-stats-attackers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;align-items:start;margin-bottom:18px}
.dc-battle-stats-section{margin-bottom:18px;min-width:0;padding:10px;border-radius:8px;border:1px solid transparent;background:rgba(15,23,42,.35)}
.dc-battle-stats-attackers-grid .dc-battle-stats-section{margin-bottom:0;height:100%;box-sizing:border-box}
.dc-battle-stats-section--active{border-color:rgba(56,189,248,.35);background:rgba(56,189,248,.06)}
.dc-battle-stats-section h3{font-size:12px;font-weight:700;font-family:var(--font-body);color:var(--accent-gold);margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em}
.dc-battle-stats-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid rgba(148,163,184,.2);font-family:var(--font-body)}
.dc-battle-stats-lab{color:var(--text-secondary);flex:1;min-width:0;font-size:13px;font-weight:500}
.dc-battle-stats-val{font-weight:600;color:var(--text-primary);text-align:right;flex-shrink:0;max-width:55%;font-family:var(--font-body);font-size:13px;line-height:1.35;word-break:break-word}
.dc-battle-stats-val--num{font-family:'RobotoMediumNumbers',monospace;font-weight:700;font-size:14px}
.dc-battle-stats-row--diff-pos{background:linear-gradient(90deg,rgba(20,83,45,.08),transparent)}
.dc-battle-stats-row--diff-neg{background:linear-gradient(90deg,rgba(127,29,29,.12),transparent)}
.dc-bs-delta{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;vertical-align:middle}
.dc-bs-delta--pos{color:#86efac;background:rgba(22,163,74,.2);border:1px solid rgba(74,222,128,.35)}
.dc-bs-delta--neg{color:#fda4af;background:rgba(190,24,93,.16);border:1px solid rgba(251,113,133,.35)}
.dc-battle-stats-block{margin:8px 0 12px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.22)}
.dc-battle-stats-section>.dc-battle-stats-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.dc-battle-stats-block-label{font-size:11px;font-weight:700;font-family:var(--font-body);color:var(--accent-gold);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.dc-battle-stats-block-body{font-size:12px;line-height:1.5;color:var(--text-primary);font-family:var(--font-body)}
.dc-battle-stats-footer{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.25);display:flex;flex-direction:column;align-items:center;gap:8px}
.dc-battle-stats-copy-btn{font-size:12px;padding:8px 18px}
.dc-battle-stats-copy-msg{text-align:center;font-size:11px;color:#22c55e;min-height:1.2em}
.dc-bs-item{margin-top:10px}
.dc-bs-item:first-child{margin-top:0}
.dc-bs-item-detail{font-size:11px;color:var(--text-muted);margin-top:4px;white-space:pre-wrap;word-break:break-word}
.dc-bs-item-flat{font-size:11px;color:var(--accent-cyan);margin-top:4px;font-weight:700;font-family:'RobotoMediumNumbers',monospace}
.dc-bs-tag{display:inline-block;margin-right:6px;padding:1px 5px;border-radius:3px;background:rgba(251,191,36,.15);color:#fbbf24;font-size:10px;font-weight:600}
.dc-result-row{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-bottom:16px}
.dc-result-item{text-align:center}
.dc-result-label{font-size:12px;color:var(--text-muted);font-weight:600;margin-bottom:4px}
.dc-result-val{font-size:32px;font-weight:900;font-family:'RobotoMediumNumbers',monospace}
.dc-result-multi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;text-align:left}
.dc-result-multi-col{background:rgba(0,0,0,.12);border:1px solid rgba(148,163,184,.2);border-radius:12px;padding:14px 12px 16px;min-width:0;display:flex;flex-direction:column}
.dc-result-multi-col.is-compare-base{border-color:rgba(34,211,238,.45);box-shadow:0 0 0 1px rgba(34,211,238,.18)}
.dc-result-multi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:32px;margin-bottom:10px;line-height:1.3}
.dc-result-multi-head-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-cyan);flex:1;min-width:0}
.dc-result-slot-badge{flex-shrink:0;align-self:flex-start;font-size:10px;font-weight:700;line-height:1.2;padding:3px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.28);color:#94a3b8;background:rgba(148,163,184,.08);white-space:nowrap}
.dc-result-slot-badge.is-base{color:#a5f3fc;border-color:rgba(34,211,238,.42);background:rgba(34,211,238,.12)}
.dc-result-slot-badge.is-spacer{visibility:hidden;pointer-events:none}
.dc-result-multi-compare-canvas{position:relative;display:block;width:100%}
.dc-result-multi-grid.dc-result-multi-grid--pct-compare{padding-top:4px;padding-bottom:8px}
.dc-result-multi-col .dc-result-item--cmp-up,.dc-result-multi-col .dc-result-item--cmp-down{padding:8px 6px;margin:-4px -2px;border-radius:10px;box-sizing:border-box}
.dc-result-item--cmp-up{background:rgba(34,197,94,.07)}
.dc-result-item--cmp-down{background:rgba(248,113,113,.06)}
.dc-dmg-cmp-delta{display:flex;align-items:center;justify-content:center;min-height:20px;margin-top:6px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;font-family:'RobotoMediumNumbers',monospace;line-height:1.2}
.dc-dmg-cmp-delta.is-ref{color:#64748b;font-size:12px;font-weight:700}
.dc-dmg-cmp-delta.is-pos{color:#4ade80}
.dc-dmg-cmp-delta.is-neg{color:#f87171}
.dc-result-multi-col .dc-result-row{margin-bottom:12px;gap:16px}
.dc-result-multi-col .dc-result-val{font-size:26px}
.dc-result-multi-col .dc-result-val.hit{font-size:22px}
.dc-result-multi-col .dc-result-hp--compact{max-width:none;margin-top:12px}
.dc-result-multi-col .dc-hp-mini{padding:10px 10px 12px}
.dc-result-multi-col .dc-hp-mini-fraction{font-size:12px}
.dc-result-multi-col .dc-hp-mini-pct{font-size:10px;letter-spacing:.02em}
.dc-attacker-panel-head,.dc-defender-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:48px;padding:0 0 10px;margin:0 0 12px;border-bottom:1px solid var(--border-color);box-sizing:border-box}
.dc-attacker-panel-title,.dc-defender-panel-title{margin:0;padding:0;line-height:1.2;font-size:16px;font-weight:700}
.dc-attacker-panel-title{color:var(--accent-cyan)}
.dc-defender-panel-title{color:#ef4444}
.dc-defender-head-spacer{min-width:min(200px,calc(3*38px + 2*6px + 10px + 44px));height:44px;flex-shrink:0;pointer-events:none;visibility:hidden;justify-self:end}
.dc-atk-slot-tools{display:flex;align-items:center;gap:10px;flex-shrink:0;justify-self:end}
.dc-atk-slot-pills{display:inline-flex;gap:6px;align-items:center}
.dc-atk-slot-pill{min-width:38px;height:38px;padding:0 10px;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;border-radius:10px;border:1px solid rgba(0,212,255,.38);background:rgba(0,212,255,.07);color:var(--accent-cyan);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;line-height:1}
.dc-atk-slot-pill:hover{border-color:rgba(0,212,255,.65);background:rgba(0,212,255,.14)}
.dc-atk-slot-pill.is-active{background:rgba(0,212,255,.22);border-color:var(--accent-cyan);box-shadow:0 0 0 1px rgba(0,212,255,.35)}
.dc-atk-slot-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:8px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;flex-shrink:0;transition:var(--transition)}
.dc-atk-slot-toggle:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,.08)}
.dc-atk-slot-toggle img{display:block;width:28px;height:28px;object-fit:contain}
.dc-atk-panel-shuffle-root{transform-origin:50% 20%;will-change:transform}
@keyframes dc-atk-shuffle{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(-2deg)}60%{transform:translateY(5px) rotate(1.5deg)}100%{transform:translateY(0) rotate(0)}}
.dc-atk-panel-shuffle-root.dc-atk-panel-shuffle{animation:dc-atk-shuffle .48s cubic-bezier(.45,.02,.2,1) both}
@media (prefers-reduced-motion:reduce){.dc-atk-panel-shuffle-root.dc-atk-panel-shuffle{animation:none}}
.dc-tab-panel.dc-attacker-tab-panel,.dc-tab-panel.dc-defender-tab-panel{align-self:start}
.dc-result-val.normal{color:#4ade80}
.dc-result-val.crit{color:#f59e0b}
.dc-result-val.hit{color:#4ade80;font-size:28px}
.dc-result-hp{margin-top:18px;text-align:left}
.dc-result-hp--compact{margin-top:16px;max-width:480px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:520px){.dc-result-hp--compact{grid-template-columns:1fr;max-width:100%}}
.dc-hp-mini{background:linear-gradient(165deg,rgba(15,23,42,.92),rgba(26,34,54,.75));border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:10px 12px 12px;box-shadow:0 4px 14px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
.dc-hp-mini--normal{border-color:rgba(74,222,128,.28)}
.dc-hp-mini--crit{border-color:rgba(245,158,11,.32)}
.dc-hp-mini-top{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.dc-hp-mini-tag{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1.2}
.dc-hp-mini--normal .dc-hp-mini-tag{color:#86efac}
.dc-hp-mini--crit .dc-hp-mini-tag{color:#fcd34d}
.dc-hp-mini-val{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.3;word-break:normal;min-width:0}
.dc-hp-mini-fraction{white-space:nowrap}
.dc-hp-mini-sep{opacity:.45;font-weight:600;margin:0 2px}
.dc-hp-mini-pct{font-weight:700;font-size:11px;opacity:.92;line-height:1.2;margin-left:0}
.dc-hp-mini-track{height:7px;border-radius:999px;background:rgba(0,0,0,.45);overflow:hidden;border:1px solid rgba(255,255,255,.07)}
.dc-result-hp-row{margin-bottom:12px}
.dc-result-hp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;font-size:12px;color:var(--text-muted);font-weight:600}
.dc-result-hp-val{font-weight:600;font-variant-numeric:tabular-nums}
.dc-hp-bar-track{height:10px;border-radius:999px;background:rgba(0,0,0,.35);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.dc-hp-bar-fill{height:100%;border-radius:999px;transition:width .2s ease}
.dc-hp-bar-fill--normal{background:#7f1d1d}
.dc-hp-bar-fill--crit{background:#b45309}
.dc-hp-bar-wrap{max-width:400px;margin:0 auto}
.dc-hp-bar-label{font-size:11px;color:var(--text-muted);margin-bottom:4px;display:flex;justify-content:space-between}
.dc-hp-bar{height:14px;background:rgba(255,255,255,.08);border-radius:7px;overflow:hidden;position:relative}
.dc-hp-bar-fill{height:100%;border-radius:7px;transition:width .3s ease}
.dc-hp-bar-dmg{height:100%;position:absolute;top:0;border-radius:7px;transition:width .3s ease}
.dc-range-ok{color:#4ade80;font-weight:700;font-size:13px}
.dc-range-bad{color:#ff4b4b;font-weight:700;font-size:13px}
.dc-section-label{font-size:12px;font-weight:700;color:var(--text-muted);margin-top:8px;margin-bottom:4px}
.dc-stat-grid-5{grid-template-columns:repeat(5,1fr)}
.dc-stat-grid-4{grid-template-columns:repeat(4,1fr)}
.dc-debuff-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}
.dc-debuff-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(0,0,0,.2);border-radius:6px;font-size:12px}
.dc-debuff-item select{flex:1;min-width:0;padding:4px 6px;font-size:11px}
.dc-debuff-item input{width:60px;padding:4px 6px;font-size:11px}
.dc-debuff-add{padding:6px 12px;font-size:12px;background:var(--bg-input);border:1px dashed var(--border-color);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:var(--transition)}
.dc-debuff-add:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}
.dc-supporter-list,.dc-option-list{display:flex;flex-direction:column;gap:6px;max-height:120px;overflow-y:auto}
.dc-applicable-grid-wrap{margin-top:8px;min-height:0}
.dc-applicable-grid-msg{padding:10px 8px;font-size:12px;color:var(--text-muted);text-align:center;line-height:1.4}
.dc-applicable-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:min(320px,42vh);overflow-y:auto;padding:2px}
.dc-applicable-card{text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color);background:rgba(0,0,0,.18);cursor:pointer;transition:var(--transition);font-size:12px;line-height:1.35}
.dc-applicable-card:hover{border-color:rgba(0,212,255,.45);background:rgba(0,212,255,.06)}
.dc-applicable-card--selected{border-color:var(--accent-cyan);box-shadow:0 0 0 1px rgba(0,212,255,.25);background:rgba(0,212,255,.08)}
.dc-applicable-card .dc-applicable-name{font-weight:700;color:var(--text-primary);display:block;margin-bottom:2px}
.dc-applicable-card .dc-applicable-meta{font-size:10px;color:var(--text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:900px){.dc-applicable-grid{grid-template-columns:1fr}}
.dc-supporter-item,.dc-option-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(0,0,0,.2);border-radius:6px;font-size:12px}
.dc-supporter-item img:not(.dc-dc-mod-thumb),.dc-option-item img:not(.dc-dc-mod-thumb){width:28px;height:28px;object-fit:contain}
.dc-option-item img.dc-dc-mod-thumb,.dc-supporter-item img.dc-dc-mod-thumb{width:48px!important;height:48px!important;max-width:48px;max-height:48px;object-fit:contain!important;object-position:center center;border-radius:6px;background:var(--bg-input);flex-shrink:0}
.dc-supporter-item.dc-supporter-item--layout{flex-direction:column;align-items:stretch;gap:8px}
.dc-supporter-item--layout .dc-supporter-item-main{display:flex;align-items:center;gap:8px;min-width:0;width:100%}
.dc-supporter-item--layout .dc-supporter-item-text{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.dc-supporter-item--layout .dc-supporter-item-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;margin-left:auto}
.dc-supporter-item--layout .dc-supp-remove-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:4px;border:0;background:transparent;cursor:pointer;border-radius:6px}
.dc-supporter-item--layout .dc-supp-remove-btn img{width:22px;height:22px;object-fit:contain;opacity:.85}
.dc-supporter-item--layout .dc-supp-remove-btn:hover img{opacity:1}
.dc-option-item.dc-option-item--layout{flex-direction:column;align-items:stretch;gap:8px}
.dc-option-item--layout .dc-option-item-main{display:flex;align-items:center;gap:8px;min-width:0;width:100%}
.dc-option-item--layout .dc-option-item-text{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.dc-option-item--layout .dc-option-item-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;margin-left:auto}
.dc-option-item--layout .dc-option-item-actions .dc-picked-change{flex:0 0 auto}
.dc-option-item--layout .dc-op-remove-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:4px;border:0;background:transparent;cursor:pointer;border-radius:6px}
.dc-option-item--layout .dc-op-remove-btn img{width:22px;height:22px;object-fit:contain;opacity:.85}
.dc-option-item--layout .dc-op-remove-btn:hover img{opacity:1}
.dc-supporter-item .remove,.dc-option-item:not(.dc-option-item--layout) .remove{padding:2px 6px;font-size:10px;cursor:pointer;color:var(--text-muted)}
.dc-supporter-item .remove:hover,.dc-option-item:not(.dc-option-item--layout) .remove:hover{color:var(--accent-red)}
.tb-buff-toggles{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:8px}
.tb-buff-toggles .tb-buff-toggle{font-size:12px;font-weight:500}
.tb-buff-toggles .conditional-toggle .toggle-label{max-width:min(100vw - 48px,22rem);white-space:normal;line-height:1.3}
.dc-lb-row{display:flex;gap:4px;align-items:center}
.dc-lb-btn{padding:3px 6px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:11px;color:var(--text-secondary);font-weight:700}
.dc-lb-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}
.dc-lb-dd-row{display:flex;align-items:center;justify-content:flex-start;margin-top:2px}
.dc-lb-inline-wrap{flex-shrink:0;align-self:center}
.dc-lb-inline-wrap .cmp-lb-summary{min-height:36px;padding:4px 10px}
.dc-lb-tier-details{max-width:min(200px,100%)}
.dc-lb-inline-wrap .dc-lb-tier-details{max-width:none}
#dcAtkUnitArea{position:relative;z-index:30;overflow:visible}
#dcAtkPresetWrap,#dcAtkPanelShuffle,.dc-attacker-tab-panel .dc-picked{overflow:visible}
#dcAtkUnitArea .dc-lb-inline-wrap{flex-shrink:0}
#dcAtkUnitArea .cmp-lb-details.dc-lb-tier-details,#dcDefDbUnitSlot .cmp-lb-details.dc-lb-tier-details{width:max-content;min-width:148px;max-width:none;z-index:50}
#dcAtkUnitArea .cmp-lb-menu{left:0;right:auto;min-width:100%;width:max-content;box-sizing:border-box;z-index:100}
#dcAtkUnitArea details.cmp-lb-details.dc-lb-tier-details{overflow:visible}
.dc-atk-unit-below-portrait{display:contents}
.dc-atk-char-below-portrait{display:contents}
#dcDefDbUnitSlot{position:relative;z-index:29;overflow:visible}
#dcDefDatabaseWrap .dc-picked{overflow:visible}
#dcDefDbUnitSlot .cmp-lb-menu{left:0;right:auto;min-width:100%;width:max-content;box-sizing:border-box;z-index:100}
#dcDefDbUnitSlot details.cmp-lb-details.dc-lb-tier-details{overflow:visible}
@media(max-width:640px){
#dcDefDbUnitSlot .dc-picked{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;column-gap:12px;row-gap:8px}
#dcDefDbUnitSlot .dc-picked>.dc-thum{grid-column:1;grid-row:1}
#dcDefDbUnitSlot .dc-picked>.dc-picked-info{grid-column:2;grid-row:1;min-width:0}
#dcDefDbUnitSlot .dc-picked>.dc-picked-change{grid-column:3;grid-row:1;align-self:start}
#dcDefDbUnitSlot .dc-picked>.dc-unit-lb-stat-cluster{grid-column:1/-1;grid-row:2;width:100%;min-width:0;justify-content:flex-start}
#dcDefDbUnitSlot .dc-picked>.dc-unit-lb-stat-cluster .dc-lb-inline-wrap{width:100%;max-width:100%}
#dcDefDbUnitSlot .dc-picked>.dc-unit-lb-stat-cluster .cmp-lb-details.dc-lb-tier-details{width:100%!important;min-width:0;max-width:100%}
#dcDefDbUnitSlot .dc-picked>.dc-unit-lb-stat-cluster .cmp-lb-summary{width:100%;box-sizing:border-box;justify-content:center}
#dcAtkUnitArea .dc-picked{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;column-gap:12px;row-gap:8px}
#dcAtkUnitArea .dc-picked>.list-thumb-composite--picker{grid-column:1;grid-row:1}
#dcAtkUnitArea .dc-picked>.dc-thum{grid-column:1;grid-row:1}
#dcAtkUnitArea .dc-picked>.dc-picked-info{grid-column:2;grid-row:1;min-width:0}
#dcAtkUnitArea .dc-picked>.dc-picked-change{grid-column:3;grid-row:1;align-self:start}
#dcAtkUnitArea .dc-picked>.dc-atk-unit-below-portrait{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;justify-content:flex-start;grid-column:1/-1;grid-row:2;width:100%;min-width:0;box-sizing:border-box}
#dcAtkUnitArea .dc-picked>.dc-atk-unit-below-portrait .dc-picked-controls{flex:0 1 auto;min-width:0;align-items:flex-start;justify-content:flex-start}
#dcAtkUnitArea .dc-picked>.dc-atk-unit-below-portrait .dc-unit-lb-stat-cluster{flex:1 1 100%;min-width:0;justify-content:flex-start}
#dcAtkUnitArea .dc-picked>.dc-atk-unit-below-portrait .dc-lb-inline-wrap{width:100%;max-width:100%}
#dcAtkUnitArea .dc-picked>.dc-atk-unit-below-portrait .cmp-lb-details.dc-lb-tier-details{width:100%!important;min-width:0;max-width:100%}
#dcAtkUnitArea .dc-picked>.dc-atk-unit-below-portrait .cmp-lb-summary{width:100%;box-sizing:border-box;justify-content:center}
#dcAtkCharArea .dc-picked{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;column-gap:12px;row-gap:8px}
#dcAtkCharArea .dc-picked>.list-thumb-composite--picker{grid-column:1;grid-row:1}
#dcAtkCharArea .dc-picked>.dc-thum{grid-column:1;grid-row:1}
#dcAtkCharArea .dc-picked>.dc-picked-info{grid-column:2;grid-row:1;min-width:0}
#dcAtkCharArea .dc-picked>.dc-picked-change{grid-column:3;grid-row:1;align-self:start}
#dcAtkCharArea .dc-picked>.dc-atk-char-below-portrait{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;justify-content:flex-start;grid-column:1/-1;grid-row:2;width:100%;min-width:0;box-sizing:border-box}
#dcAtkCharArea .dc-picked>.dc-atk-char-below-portrait .dc-picked-controls{flex:0 1 auto;min-width:0;align-items:flex-start;justify-content:flex-start}
#dcAtkCharArea .dc-picked>.dc-atk-char-below-portrait .dc-dc-cond-toggle .toggle-label{max-width:none;text-align:left;white-space:normal}
}
.dc-wlv-row{display:flex;gap:4px;align-items:center}
.dc-wlv-btn{padding:3px 8px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:11px;color:var(--text-secondary);font-weight:700}
.dc-wlv-btn.active{background:var(--accent-gold);color:#0a0e1a;border-color:var(--accent-gold)}
.dc-wpn-info .val,.dc-wpn-info .dc-wpn-attr-pill{font-family:inherit;font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:normal}
.dc-wpn-attr-pill{display:inline}
.dc-wpn-atk-icons{display:inline-flex;align-items:center;gap:3px;margin-right:8px;flex-shrink:0;vertical-align:middle}
.dc-wpn-atk-type-icon{width:18px;height:18px;object-fit:contain;vertical-align:middle;display:inline-block;filter:brightness(1.15) saturate(1.2)}
.dc-manual-atk-hint{font-size:11px;color:var(--text-muted);padding:4px 0 8px;line-height:1.35}
.dc-damage-factors{margin:0 0 12px;padding:0}
.dc-damage-factors-summary{cursor:pointer;font-size:13px;color:var(--accent-cyan);font-weight:600;list-style:none}
.dc-damage-factors summary::-webkit-details-marker{display:none}
.dc-damage-factors-body{padding:10px 0 4px}
.dc-damage-factors-list{margin:0;padding-left:1.15rem;font-size:12px;line-height:1.65;color:var(--text-secondary)}
.dc-damage-factors-list li{margin-bottom:4px}
@media(max-width:768px){.dc-tab-panels{grid-template-columns:1fr!important}}
@media(max-width:900px){
#panel-calculator .dc-tab-wrap{padding:12px 10px!important}
}
@media(max-width:520px){
#panel-calculator .dc-stats-mini[style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(2,1fr)!important}
#panel-calculator .dc-stats-mini[style*="grid-template-columns:repeat(5"]{grid-template-columns:repeat(2,1fr)!important}
#panel-calculator .stats-grid.dc-atk-ers.dc-stat-grid-4{grid-template-columns:repeat(2,1fr)!important}
#panel-calculator .stats-grid.dc-atk-ers.dc-stat-grid-5{grid-template-columns:repeat(2,1fr)!important}
#panel-calculator .dc-picked{flex-wrap:wrap}
#panel-calculator .dc-picked .dc-picked-change{margin-left:auto}
#panel-calculator .dc-picked-controls .toggle-label--cp-long{display:none}
#panel-calculator .dc-picked-controls .toggle-label--cp-short{display:inline;max-width:none;white-space:nowrap}
}
.dc-result--top{padding-left:0;padding-right:0}
.dc-tab-header{display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.dc-tab-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.dc-credit-link{font-size:13px;font-weight:600;color:var(--accent-gold);text-decoration:none;white-space:nowrap;transition:var(--transition)}
.dc-credit-link:hover{color:var(--accent-cyan);text-decoration:underline}
.dc-compare-switch-wrap{display:inline-flex;align-items:center}
.dc-compare-switch{min-width:73px}
.dc-compare-switch[disabled]{opacity:.5;cursor:not-allowed}
.dc-tip{cursor:help;text-decoration:underline dotted;text-underline-offset:2px;color:var(--text-muted)}
.dc-def-dtu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dc-dtu-row{border-radius:8px;padding:6px 8px;margin:-4px -4px 4px;transition:background .15s,border-color .15s,box-shadow .15s}
.dc-dtu-row--on.dc-dtu--beam{background:rgba(56,189,248,.16);box-shadow:0 0 0 2px rgba(56,189,248,.75),0 0 16px rgba(56,189,248,.28),inset 0 0 24px rgba(56,189,248,.08)}
.dc-dtu-row--on.dc-dtu--beam .dc-ctrl-label{color:#7dd3fc;font-weight:800}
.dc-dtu-row--on.dc-dtu--beam .dc-input-sm{border-color:rgba(56,189,248,.55)!important;box-shadow:0 0 0 1px rgba(56,189,248,.2)}
.dc-dtu-row--on.dc-dtu--physical{background:rgba(251,146,60,.18);box-shadow:0 0 0 2px rgba(251,146,60,.78),0 0 18px rgba(251,146,60,.25),inset 0 0 26px rgba(251,146,60,.1)}
.dc-dtu-row--on.dc-dtu--physical .dc-ctrl-label{color:#fdba74;font-weight:800}
.dc-dtu-row--on.dc-dtu--physical .dc-input-sm{border-color:rgba(251,146,60,.58)!important;box-shadow:0 0 0 1px rgba(251,146,60,.22)}
.dc-dtu-row--on.dc-dtu--special{background:rgba(192,132,252,.17);box-shadow:0 0 0 2px rgba(192,132,252,.78),0 0 18px rgba(168,85,247,.28),inset 0 0 26px rgba(168,85,247,.09)}
.dc-dtu-row--on.dc-dtu--special .dc-ctrl-label{color:#d8b4fe;font-weight:800}
.dc-dtu-row--on.dc-dtu--special .dc-input-sm{border-color:rgba(192,132,252,.58)!important;box-shadow:0 0 0 1px rgba(192,132,252,.22)}
.dc-stat-val--buffed{color:#4ade80!important;font-weight:700}
.dc-stat-val--penalized{color:#f87171!important;font-weight:700}
.dc-stats-mini.dc-stats-mini--ml-buff,.stats-grid.dc-atk-ers.dc-stats-mini--ml-buff{padding:8px 6px;border-radius:8px;background:rgba(167,139,250,.08);box-shadow:0 0 0 2px rgba(167,139,250,.45),0 0 18px rgba(139,92,246,.18)}
.dc-stats-mini.dc-stats-mini--ml-buff .dc-stat-mini-val,.dc-stats-mini.dc-stats-mini--ml-buff .dc-stat-mini-val span,.stats-grid.dc-atk-ers.dc-stats-mini--ml-buff .stat-card-value,.stats-grid.dc-atk-ers.dc-stats-mini--ml-buff .stat-card-value span{color:#86efac!important;font-weight:800}
.stats-grid.dc-atk-ers.dc-stats-mini--ml-buff .stat-card-value span.dc-stat-val--penalized,.dc-stats-mini.dc-stats-mini--ml-buff .dc-stat-mini-val span.dc-stat-val--penalized{color:#f87171!important;font-weight:800}
.dc-unit-lb-stat-cluster{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}
.dc-unit-stat-mode-row,.dc-char-stat-mode-row{margin:0;flex-shrink:0}
.dc-stats-mini.dc-stat-visual--sp,.stats-grid.dc-atk-ers.dc-stat-visual--sp{background:rgba(251,191,36,.07);border-radius:8px;padding:6px 4px;box-shadow:0 0 0 1px rgba(251,191,36,.45),0 0 14px rgba(251,191,36,.18)}
.dc-stats-mini.dc-stat-visual--ssp,.stats-grid.dc-atk-ers.dc-stat-visual--ssp{background:rgba(168,85,247,.09);border-radius:8px;padding:6px 4px;box-shadow:0 0 0 1px rgba(192,132,252,.55),0 0 16px rgba(168,85,247,.22)}
.dc-stats-mini.dc-stat-visual--sp .dc-stat-mini,.stats-grid.dc-atk-ers.dc-stat-visual--sp .stat-card{box-shadow:inset 0 0 0 1px rgba(251,191,36,.5),inset 0 0 12px rgba(251,191,36,.12)}
.dc-stats-mini.dc-stat-visual--ssp .dc-stat-mini,.stats-grid.dc-atk-ers.dc-stat-visual--ssp .stat-card{box-shadow:inset 0 0 0 1px rgba(192,132,252,.5),inset 0 0 12px rgba(168,85,247,.12)}
.dc-stats-mini .dc-stat-mini.dc-stat-mini--cp,.stats-grid.dc-atk-ers .stat-card.dc-stat-mini--cp{background:rgba(45,212,191,.06);box-shadow:inset 4px 0 0 0 rgba(45,212,191,.85),inset 0 0 0 1px rgba(45,212,191,.35)}
.dc-stats-mini.dc-stat-visual--sp .dc-stat-mini.dc-stat-mini--cp,.stats-grid.dc-atk-ers.dc-stat-visual--sp .stat-card.dc-stat-mini--cp{box-shadow:inset 0 0 0 1px rgba(251,191,36,.5),inset 4px 0 0 0 rgba(45,212,191,.85),inset 0 0 12px rgba(251,191,36,.1)}
.dc-stats-mini.dc-stat-visual--ssp .dc-stat-mini.dc-stat-mini--cp,.stats-grid.dc-atk-ers.dc-stat-visual--ssp .stat-card.dc-stat-mini--cp{box-shadow:inset 0 0 0 1px rgba(192,132,252,.5),inset 4px 0 0 0 rgba(45,212,191,.85),inset 0 0 12px rgba(168,85,247,.1)}
.dc-stats-mini .dc-stat-mini.dc-stat-mini--cp-penalty,.stats-grid.dc-atk-ers .stat-card.dc-stat-mini--cp-penalty{background:rgba(255,71,87,.07);box-shadow:inset 4px 0 0 0 rgba(248,113,113,.88),inset 0 0 0 1px rgba(248,113,113,.38)}
.dc-stats-mini.dc-stat-visual--sp .dc-stat-mini.dc-stat-mini--cp-penalty,.stats-grid.dc-atk-ers.dc-stat-visual--sp .stat-card.dc-stat-mini--cp-penalty{box-shadow:inset 0 0 0 1px rgba(251,191,36,.5),inset 4px 0 0 0 rgba(248,113,113,.88),inset 0 0 12px rgba(251,191,36,.1)}
.dc-stats-mini.dc-stat-visual--ssp .dc-stat-mini.dc-stat-mini--cp-penalty,.stats-grid.dc-atk-ers.dc-stat-visual--ssp .stat-card.dc-stat-mini--cp-penalty{box-shadow:inset 0 0 0 1px rgba(192,132,252,.5),inset 4px 0 0 0 rgba(248,113,113,.88),inset 0 0 12px rgba(168,85,247,.1)}
.dc-stats-mini .dc-stat-mini.dc-stat-mini--cp-penalty.dc-stat-mini--skill,.stats-grid.dc-atk-ers .stat-card.dc-stat-mini--cp-penalty.dc-stat-mini--skill{background:linear-gradient(135deg,rgba(248,113,113,.11),rgba(251,191,36,.12));box-shadow:inset 4px 0 0 0 rgba(248,113,113,.9),inset 0 0 0 1px rgba(251,191,36,.45),0 0 14px rgba(251,191,36,.1)}
.dc-stats-mini.dc-stat-visual--sp .dc-stat-mini.dc-stat-mini--cp-penalty.dc-stat-mini--skill,.stats-grid.dc-atk-ers.dc-stat-visual--sp .stat-card.dc-stat-mini--cp-penalty.dc-stat-mini--skill{box-shadow:inset 0 0 0 1px rgba(251,191,36,.5),inset 4px 0 0 0 rgba(248,113,113,.9),inset 0 0 12px rgba(251,191,36,.12)}
.dc-stats-mini.dc-stat-visual--ssp .dc-stat-mini.dc-stat-mini--cp-penalty.dc-stat-mini--skill,.stats-grid.dc-atk-ers.dc-stat-visual--ssp .stat-card.dc-stat-mini--cp-penalty.dc-stat-mini--skill{box-shadow:inset 0 0 0 1px rgba(192,132,252,.5),inset 4px 0 0 0 rgba(248,113,113,.9),inset 0 0 12px rgba(168,85,247,.12)}
.dc-stats-mini .dc-stat-mini.dc-stat-mini--skill,.stats-grid.dc-atk-ers .stat-card.dc-stat-mini--skill{background:rgba(251,191,36,.1);box-shadow:inset 4px 0 0 0 rgba(251,191,36,.8),inset 0 0 0 1px rgba(251,191,36,.38)}
.dc-stats-mini.dc-stat-visual--sp .dc-stat-mini.dc-stat-mini--skill,.stats-grid.dc-atk-ers.dc-stat-visual--sp .stat-card.dc-stat-mini--skill{box-shadow:inset 0 0 0 1px rgba(251,191,36,.45),inset 4px 0 0 0 rgba(251,191,36,.85),inset 0 0 10px rgba(251,191,36,.15)}
.dc-stats-mini.dc-stat-visual--ssp .dc-stat-mini.dc-stat-mini--skill,.stats-grid.dc-atk-ers.dc-stat-visual--ssp .stat-card.dc-stat-mini--skill{box-shadow:inset 0 0 0 1px rgba(192,132,252,.45),inset 4px 0 0 0 rgba(251,191,36,.82),inset 0 0 12px rgba(168,85,247,.12)}
.dc-stats-mini .dc-stat-mini.dc-stat-mini--cp.dc-stat-mini--skill,.stats-grid.dc-atk-ers .stat-card.dc-stat-mini--cp.dc-stat-mini--skill{background:linear-gradient(135deg,rgba(45,212,191,.1),rgba(251,191,36,.12));box-shadow:inset 4px 0 0 0 rgba(45,212,191,.88),inset 0 0 0 1px rgba(251,191,36,.45),0 0 14px rgba(251,191,36,.1)}
.dc-pilot-bonus-row{opacity:1;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-family:inherit;font-size:12px;line-height:1.45;color:var(--text-primary)}
.dc-pilot-bonus-row>input{flex-shrink:0;margin-top:3px}
.dc-pilot-bonus-line{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.dc-pilot-bonus-main{font-family:inherit;font-size:12px;font-weight:700;color:var(--text-primary)}
.dc-pilot-bonus-detail{font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted)}
.dc-pilot-bonus-tag{font-family:inherit;font-size:11px;font-weight:600}
.dc-pilot-bonus-tag--cond{color:#f59e0b}
.dc-pilot-bonus-tag--match{color:#4ade80}
.dc-pilot-bonus-row.dc-pilot-bonus--off{opacity:.45}
.dc-pilot-bonus-row.dc-pilot-bonus--off .dc-pilot-bonus-main{color:var(--text-muted)!important}
.dc-pilot-bonus-row.dc-pilot-bonus--locked{cursor:default;opacity:.68;pointer-events:none;padding-left:2px}
.dc-pilot-bonus-row.dc-pilot-bonus--locked .dc-pilot-bonus-main{color:var(--text-secondary)}
.dc-pilot-bonus-tag--incl{color:var(--text-muted);font-weight:600}
.dc-stat-mini-bonus{font-size:11px;color:var(--accent-green);font-weight:700;margin-top:2px;line-height:1.1;font-variant-numeric:tabular-nums}
.dc-pilot-bonus-list{display:flex;flex-direction:column;gap:6px;line-height:1.5}
.dc-pilot-bonus-row--unit-combat-stack{flex-direction:column;align-items:stretch;gap:6px;cursor:default;pointer-events:auto;padding-left:2px}
.dc-pilot-bonus-row--unit-combat-stack .dc-unit-cond-stack-row,
.dc-pilot-bonus-row--unit-combat-stack .dc-unit-hp-tier-row{width:min(100%,140px);max-width:140px;margin-top:0;justify-content:flex-start}
.dc-squad-buff-sources{display:flex;flex-direction:column;gap:8px}
.dc-squad-buff-src{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color);background:rgba(26,34,54,.55);box-sizing:border-box;font-family:inherit;font-size:12px;line-height:1.45;color:var(--text-primary)}
.dc-squad-buff-src--hi{border-color:rgba(34,211,238,.32);background:rgba(34,211,238,.07)}
.dc-squad-buff-src--ex{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.12);box-shadow:inset 0 0 0 1px rgba(34,211,238,.18)}
.dc-squad-buff-src-icon{flex-shrink:0;width:44px;height:44px;position:relative}
.dc-squad-buff-src-icon .ability-icon-stack{width:44px;height:44px;position:relative}
.dc-squad-buff-src-icon .ability-icon-stack:not(.ability-icon-stack--ex) .ability-icon{width:44px;height:44px;object-fit:contain;display:block}
.dc-squad-buff-src-icon .ability-icon-placeholder{width:44px;height:44px;font-size:16px;display:flex;align-items:center;justify-content:center}
.dc-squad-buff-src-icon .strategy-hint-badge{width:14px;height:14px;right:-2px;top:-2px}
.dc-squad-buff-src-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-family:inherit}
.dc-squad-buff-src-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.45;color:var(--text-primary)}
.dc-squad-buff-ex-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;background:rgba(34,211,238,.15);color:var(--accent-cyan);font-family:inherit;font-size:11px;font-weight:600;letter-spacing:normal;line-height:1.3}
.dc-squad-buff-src-pct{font-family:inherit;font-size:12px;font-weight:700;line-height:1.45;color:var(--text-secondary)}
.dc-squad-buff-src-tip{font-family:inherit;font-size:12px;font-weight:500;line-height:1.45;color:var(--text-muted);margin-top:2px}
.dc-pilot-skill-desc{font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted)}
.dc-def-mini--map-bonus{border:1px solid rgba(168,85,247,.35);border-radius:6px;padding:4px 2px;background:rgba(168,85,247,.06)}
.dc-def-stat-num{font-variant-numeric:tabular-nums}
.dc-input-sm.dc-input--def-debuff{border-color:#f87171!important;box-shadow:0 0 0 1px rgba(248,113,113,.35)}
@media(max-width:900px){.dc-def-dtu-grid{grid-template-columns:1fr}}
@media(max-width:768px){.dc-panels{grid-template-columns:1fr}.dc-modal{margin:10px}.dc-title{font-size:17px;padding:16px 16px 8px}.dc-controls{padding:0 14px 12px}.dc-result{padding:0 14px 16px}.dc-result-val{font-size:26px}.dc-result-row{gap:20px}}
.mod-effect-filter-row .mod-effect-opt-inner{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.mod-effect-filter-row .mod-effect-opt-inner>.mod-effect-all-icons{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;flex-shrink:0}
.mod-effect-filter-row .mod-effect-opt-inner>.mod-effect-all-icons .mod-effect-all-chip{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.mod-effect-filter-row .mod-effect-opt-inner>img{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.mod-effect-filter-label .mod-effect-btn-all-icons{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;margin-right:6px;vertical-align:middle}
.mod-effect-filter-label .mod-effect-btn-all-icons .mod-effect-btn-all-chip{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.mod-effect-filter-label .mod-effect-btn-icon{width:22px;height:22px;object-fit:contain;vertical-align:middle;margin-right:6px}
.mod-effect-filter-btn.active{border-color:var(--accent-cyan)}.mod-effect-wrap .mod-effect-filter-btn{max-width:min(300px,92vw)}
.list-view-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-color);flex-shrink:0}
.view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;padding:0;border-radius:8px;background:var(--bg-input);border:1px solid var(--border-color);color:#6b7a9a;cursor:pointer;transition:var(--transition);box-shadow:var(--toggle-depth-inset),var(--toggle-depth-rim)}
.view-toggle-btn:hover{color:var(--text-secondary);border-color:var(--border-accent)}
.view-toggle-btn.active{background:rgba(255,149,0,0.14);border-color:var(--accent-orange);color:var(--accent-orange);box-shadow:var(--toggle-depth-active-inset),var(--toggle-depth-rim),0 0 0 1px rgba(255,149,0,0.45)}
.view-toggle-btn .view-toggle-svg{width:18px;height:18px;display:block}.view-toggle-btn svg rect{fill:currentColor}
.view-toggle-with-badge{position:relative;display:inline-flex;align-items:center;justify-content:center}
.view-toggle-with-badge .view-toggle-btn{position:relative}
.view-grid-variant-badge{position:absolute;bottom:1px;right:1px;min-width:14px;height:14px;padding:0 3px;border-radius:4px;border:1px solid rgba(0,212,255,.5);background:rgba(10,14,23,.92);color:var(--accent-cyan);font-size:9px;font-weight:900;line-height:12px;pointer-events:none;z-index:2}
.view-toggle-with-badge .view-toggle-btn:hover .view-grid-variant-badge{background:rgba(0,212,255,.15)}
.list-toolbar-left--browse{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0}
.browse-toolbar-leading{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;flex:0 1 auto;max-width:100%}
.browse-toolbar-top-row .list-toolbar-right{margin-left:auto;flex-shrink:0}
.list-toolbar-result-count{font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;line-height:1.25;min-height:1.25em}.list-toolbar-result-count .result-count-num{color:var(--accent-cyan);font-variant-numeric:tabular-nums}
.filter-input-wrap--compact{flex:0 1 auto;min-width:0;max-width:100%;transition:box-shadow .45s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}
.filter-input-wrap--compact .filter-input{width:100%;min-width:0;transition:border-color .28s ease,box-shadow .45s cubic-bezier(.22,1,.36,1)}
.filter-input-wrap--organic{position:relative;display:inline-flex;max-width:100%;align-items:stretch}
.filter-input-wrap--organic .filter-input-sizer{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;white-space:pre;overflow:hidden;height:0;font-size:16px;font-weight:400;padding:9px 36px 9px 14px;font-family:inherit;box-sizing:border-box;border:1px solid transparent}
#panel-characters .filter-input-wrap--organic .filter-input--organic,
#panel-units .filter-input-wrap--organic .filter-input--organic{width:11ch;min-width:11ch;max-width:min(96ch,96vw);box-sizing:border-box}
@supports (field-sizing: content){
#panel-characters .filter-input-wrap--organic .filter-input--organic,
#panel-units .filter-input-wrap--organic .filter-input--organic{field-sizing:content;width:auto;min-width:11ch;max-width:min(96ch,96vw)}
}
@media (min-width:769px){
#panel-characters .list-toolbar-left--browse>.browse-toolbar-top-row,
#panel-units .list-toolbar-left--browse>.browse-toolbar-top-row{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;flex:1 1 100%;width:100%;max-width:100%;box-sizing:border-box;justify-content:flex-start}
#panel-characters .browse-toolbar-top-row .browse-toolbar-leading,
#panel-units .browse-toolbar-top-row .browse-toolbar-leading{flex:0 1 auto;min-width:0;max-width:100%}
#panel-characters .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic,
#panel-units .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic{flex:0 0 min(21ch,23vw);width:min(21ch,23vw);max-width:min(21ch,23vw);min-width:min(13ch,100%);position:relative;z-index:2}
#panel-characters .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic .filter-input--organic,
#panel-units .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic .filter-input--organic{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;field-sizing:fixed}
#panel-characters .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic:focus-within,
#panel-units .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic:focus-within{z-index:55;transform:translateZ(0)}
#panel-characters .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic:focus-within .filter-input--organic,
#panel-units .browse-toolbar-top-row .browse-toolbar-leading .filter-input-wrap--organic:focus-within .filter-input--organic{box-shadow:0 0 0 1px rgba(0,212,255,.35),0 12px 40px rgba(0,0,0,.5),0 0 48px rgba(0,212,255,.12);background:linear-gradient(180deg,rgba(14,20,36,.98),rgba(10,14,26,.96));border-color:rgba(0,212,255,.45)}
#panel-characters .list-toolbar>.list-toolbar-left--browse:first-child,
#panel-units .list-toolbar>.list-toolbar-left--browse:first-child{width:100%;max-width:100%;flex:1 1 100%;min-width:0;box-sizing:border-box}
}
.list-toolbar-left:not(.list-toolbar-left--browse)>.filter-input-wrap:focus-within{display:flex;justify-content:center;z-index:25;max-width:100%;width:100%;transition:max-width .22s ease}
.list-toolbar-left:not(.list-toolbar-left--browse)>.filter-input-wrap:focus-within .filter-input{width:min(640px,100%);max-width:min(640px,100%)}
@media (prefers-reduced-motion:reduce){.filter-input-wrap--compact,.filter-input-wrap--compact .filter-input{transition:none!important}}
.filter-panel-clear-wrap{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 10px 10px;border-top:1px solid rgba(255,255,255,.08);background:rgba(8,14,30,.96);position:sticky;bottom:0;z-index:3;box-shadow:0 -10px 14px -12px rgba(0,0,0,.55)}
.filter-panel-footer-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}
.filter-panel-footer-right{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;margin-left:auto}
.filter-panel-esc-btn{padding:6px 10px;background:rgba(26,34,54,.75);border:1px solid rgba(0,212,255,.35);border-radius:var(--radius-sm);color:var(--accent-cyan);-webkit-text-fill-color:var(--accent-cyan);font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition);font-synthesis:none;text-shadow:none}
.filter-panel-esc-btn:hover{border-color:var(--accent-cyan);background:rgba(6,182,212,.12)}
.browse-filter-combine-toggle{display:inline-flex;align-items:center;justify-content:center;padding:5px;border-radius:10px;border:1px solid var(--border-color);background:rgba(20,26,42,.72);cursor:pointer;font:inherit;color:var(--text-secondary);-webkit-text-fill-color:var(--text-secondary);transition:border-color .2s ease,box-shadow .2s ease;text-shadow:none;-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-sizing:border-box;box-shadow:0 2px 8px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);overflow:visible}
.browse-filter-combine-toggle:hover{border-color:rgba(0,212,255,.4);background:rgba(26,36,56,.82);box-shadow:0 4px 14px rgba(0,0,0,.32),0 2px 4px rgba(0,0,0,.2),0 0 18px rgba(0,212,255,.08),inset 0 1px 0 rgba(255,255,255,.06)}
.browse-filter-combine-toggle:focus-visible{outline:2px solid rgba(0,212,255,.5);outline-offset:2px}
.browse-filter-combine-toggle--or{border-color:rgba(255,149,0,.42);box-shadow:0 2px 8px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.18),0 0 0 1px rgba(255,149,0,.08),inset 0 1px 0 rgba(255,255,255,.05)}
.browse-filter-combine-toggle--or:hover{box-shadow:0 4px 14px rgba(0,0,0,.32),0 2px 4px rgba(0,0,0,.2),0 0 20px rgba(255,149,0,.12),inset 0 1px 0 rgba(255,255,255,.06)}
.browse-filter-combine-toggle--and-or{border-color:rgba(168,120,255,.42);box-shadow:0 2px 8px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.18),0 0 0 1px rgba(168,120,255,.1),inset 0 1px 0 rgba(255,255,255,.05)}
.browse-filter-combine-toggle--and-or:hover{box-shadow:0 4px 14px rgba(0,0,0,.32),0 2px 4px rgba(0,0,0,.2),0 0 20px rgba(168,120,255,.14),inset 0 1px 0 rgba(255,255,255,.06)}
.browse-combine-seg-toggle{position:relative;display:flex;width:min(198px,calc(100vw - 120px));min-width:148px;height:31px;padding:4px;border-radius:8px;background:rgba(8,11,22,.92);border:1px solid rgba(255,255,255,.08);box-sizing:border-box;gap:4px;overflow:visible;box-shadow:inset 0 2px 5px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04),0 1px 0 rgba(255,255,255,.03)}
.browse-combine-seg-thumb{position:absolute;top:4px;left:4px;width:calc((100% - 8px - 8px)/3);height:calc(100% - 8px);border-radius:6px;background:linear-gradient(180deg,rgba(0,212,255,.34),rgba(0,212,255,.12));box-shadow:0 0 0 1px rgba(0,212,255,.4),0 3px 10px rgba(0,0,0,.38),0 1px 3px rgba(0,0,0,.28),0 6px 16px rgba(0,212,255,.14),inset 0 1px 0 rgba(255,255,255,.14);transition:transform .34s cubic-bezier(.4,0,.2,1),background .28s ease,box-shadow .28s ease;z-index:1;pointer-events:none;will-change:transform}
.browse-filter-combine-toggle--and-or .browse-combine-seg-thumb{transform:translateX(calc(100% + 4px));background:linear-gradient(180deg,rgba(168,120,255,.36),rgba(168,120,255,.14));box-shadow:0 0 0 1px rgba(168,120,255,.45),0 3px 10px rgba(0,0,0,.38),0 1px 3px rgba(0,0,0,.28),0 6px 16px rgba(168,120,255,.16),inset 0 1px 0 rgba(255,255,255,.14)}
.browse-filter-combine-toggle--or .browse-combine-seg-thumb{transform:translateX(calc(200% + 8px));background:linear-gradient(180deg,rgba(255,149,0,.38),rgba(255,149,0,.14));box-shadow:0 0 0 1px rgba(255,149,0,.45),0 3px 10px rgba(0,0,0,.38),0 1px 3px rgba(0,0,0,.28),0 6px 16px rgba(255,149,0,.16),inset 0 1px 0 rgba(255,255,255,.14)}
.browse-combine-seg{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;pointer-events:none;line-height:0}
.browse-combine-venn{display:block;width:34px;height:22px;flex-shrink:0;color:rgba(142,154,174,.42)}
.browse-combine-venn--and circle,.browse-combine-venn--or path{vector-effect:non-scaling-stroke}
.browse-filter-combine-toggle:not(.browse-filter-combine-toggle--or):not(.browse-filter-combine-toggle--and-or) .browse-combine-seg--and .browse-combine-venn{color:rgba(210,238,251,.94);filter:drop-shadow(0 0 5px rgba(0,212,255,.28))}
.browse-filter-combine-toggle:not(.browse-filter-combine-toggle--or):not(.browse-filter-combine-toggle--and-or) .browse-combine-seg--and-or .browse-combine-venn,.browse-filter-combine-toggle:not(.browse-filter-combine-toggle--or):not(.browse-filter-combine-toggle--and-or) .browse-combine-seg--or .browse-combine-venn{color:rgba(142,154,174,.42);filter:none}
.browse-filter-combine-toggle--and-or .browse-combine-seg--and-or .browse-combine-venn{color:rgba(232,220,255,.95);filter:drop-shadow(0 0 5px rgba(168,120,255,.32))}
.browse-filter-combine-toggle--and-or .browse-combine-seg--and .browse-combine-venn,.browse-filter-combine-toggle--and-or .browse-combine-seg--or .browse-combine-venn{color:rgba(142,154,174,.42);filter:none}
.browse-filter-combine-toggle--or .browse-combine-seg--or .browse-combine-venn{color:rgba(255,236,216,.94);filter:drop-shadow(0 0 5px rgba(255,149,0,.32))}
.browse-filter-combine-toggle--or .browse-combine-seg--and .browse-combine-venn,.browse-filter-combine-toggle--or .browse-combine-seg--and-or .browse-combine-venn{color:rgba(142,154,174,.42);filter:none}
@media (prefers-reduced-motion:reduce){.browse-combine-seg-thumb{transition-duration:1ms!important}}
.filter-panel-ssp-ex-btn{padding:6px 10px;margin-right:6px;background:rgba(26,34,54,.75);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);-webkit-text-fill-color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;transition:var(--transition);font-synthesis:none;text-shadow:none;white-space:nowrap;max-width:46vw}
.filter-panel-ssp-ex-btn:hover{border-color:rgba(255,149,0,.45);color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)}
.filter-panel-ssp-ex-btn--active{border-color:rgba(0,212,255,.55);background:rgba(6,182,212,.18);color:var(--accent-cyan);-webkit-text-fill-color:var(--accent-cyan);box-shadow:0 0 0 1px rgba(0,212,255,.15)}
.filter-panel-clear-btn{padding:6px 10px;background:rgba(26,34,54,.75);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);-webkit-text-fill-color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition);font-synthesis:none;text-shadow:none}
.filter-panel-clear-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);-webkit-text-fill-color:var(--accent-cyan)}
.unit-terrain-grid{display:flex;flex-direction:column;gap:6px}
.unit-terrain-grid-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.unit-terrain-item{display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;column-gap:8px;padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;background:rgba(26,34,54,.6);cursor:pointer;color:var(--text-primary);-webkit-text-fill-color:var(--text-primary);font-synthesis:none;text-shadow:none;-webkit-font-smoothing:antialiased;font-size:13px;font-weight:600;line-height:1.25}
.unit-terrain-item>.source-filter-opt-icon{grid-column:1;justify-self:start}
.unit-terrain-item>span:not(.unit-terrain-lv-wrap){grid-column:2;min-width:0;text-align:left;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-word;padding-right:4px}
.unit-terrain-item.is-active{border-color:var(--accent-cyan);background:rgba(6,182,212,.12)}
.unit-terrain-item.filter-opt-unavailable,.unit-debuff-item.filter-opt-unavailable{opacity:.42;cursor:not-allowed;pointer-events:none;filter:grayscale(.75);border-color:rgba(255,255,255,.1);background:rgba(26,34,54,.32);color:var(--text-muted);-webkit-text-fill-color:var(--text-muted)}
.unit-terrain-item.filter-opt-unavailable.is-active{border-color:rgba(255,255,255,.12);background:rgba(26,34,54,.32);box-shadow:none}
.unit-terrain-item.filter-opt-unavailable .source-filter-opt-icon,.unit-debuff-item.filter-opt-unavailable .source-filter-opt-icon{opacity:.5}
.unit-terrain-lv-wrap{grid-column:3;width:30px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;justify-self:end;margin-left:2px}
.unit-terrain-item .unit-terrain-lv-wrap img.source-filter-opt-icon{height:auto!important;max-height:22px;width:auto!important;max-width:22px;object-fit:contain;display:block}
.unit-terrain-item .unit-terrain-lv-wrap--hyphen img.source-filter-opt-icon{max-width:14px!important;max-height:6px!important;width:14px!important;opacity:.88;filter:none}
.filter-inline-icon.filter-inline-icon--terrain-hyphen{height:auto!important;max-height:6px!important;max-width:14px!important;width:14px!important;opacity:.88;object-fit:contain;vertical-align:middle}
#unitTerrainFilterPanel,#rankUnitTerrainFilterPanel{min-width:min(96vw,560px);max-width:min(96vw,640px)}
.unit-debuff-grid{display:flex;flex-direction:column;gap:6px}
.unit-debuff-grid-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.unit-debuff-item{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;background:rgba(26,34,54,.6);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;text-align:center;color:var(--text-primary);-webkit-text-fill-color:var(--text-primary);font-synthesis:none;text-shadow:none;-webkit-font-smoothing:antialiased}
.unit-debuff-item span{display:block;width:100%;white-space:normal;word-break:break-word;hyphens:auto;color:inherit;-webkit-text-fill-color:inherit}
.unit-debuff-item.is-active{border-color:var(--accent-cyan);background:rgba(6,182,212,.12)}
.unit-debuff-item.filter-opt-unavailable.is-active{border-color:rgba(255,255,255,.12);background:rgba(26,34,54,.32);box-shadow:none}
.unit-debuff-item--map-wrt{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;column-gap:6px;text-align:left;padding:6px 8px;min-width:0}
.unit-debuff-item--map-wrt>span{display:block;width:auto;text-align:left;white-space:normal;word-break:break-word;font-size:11px;line-height:1.25}
.unit-debuff-grid--map-wrt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.map-wrt-type-block{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;background:rgba(26,34,54,.6);overflow:hidden;min-width:0}
.map-wrt-type-block.is-active{border-color:var(--accent-cyan);background:rgba(6,182,212,.12)}
.map-wrt-type-block .map-wrt-type-main{border:none;border-radius:0;background:transparent;width:100%}
.map-wrt-type-block .map-wrt-type-main.is-active{border:none;background:transparent;box-shadow:none}
.map-wrt-type-subs{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;pointer-events:none}
.map-wrt-type-subs.is-open{grid-template-rows:1fr;opacity:1;pointer-events:auto;animation:map-wrt-subs-in .28s ease forwards}
.map-wrt-type-subs-inner{min-height:0;overflow:hidden}
.map-wrt-type-sub{border:none!important;border-top:1px dashed rgba(56,189,248,.28)!important;border-radius:0!important;background:rgba(26,34,54,.45)!important;width:100%;padding:5px 8px!important;font-size:11px;display:flex!important;align-items:center;justify-content:center;gap:6px;text-align:center}
.map-wrt-type-sub.is-active{background:rgba(6,182,212,.18)!important}
.map-wrt-type-sub>span{text-align:center;width:auto}
.unit-debuff-item--map-wrt-sub .unit-map-sub-filter-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.unit-debuff-item--map-wrt-span{grid-column:1 / -1}
@keyframes map-wrt-subs-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.map-wrt-type-subs.is-open{animation:none}}
.unit-debuff-grid--map-wrt .map-wrt-filter-icon-preview{width:46px;min-width:46px;height:42px}
.unit-debuff-grid--map-wrt .map-wrt-am-filter-icon{width:30px;height:30px}
.map-wrt-filter-icon-preview{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:58px;min-width:58px;height:52px;overflow:hidden;line-height:0;pointer-events:none}
.map-wrt-filter-icon-preview--toolbar{width:40px;min-width:40px;height:40px}
.map-wrt-filter-icon-preview .map-wrt-filter-icon-grid-wrap{padding:0;gap:0;width:max-content;max-width:none;overflow:visible}
.map-wrt-filter-icon-preview .weapon-map-grid{padding:4px;margin:0;border-radius:8px;--map-gap:1px}
.map-wrt-filter-icon-preview .map-cell-marker-shell>img,.map-wrt-filter-icon-preview .map-pou-2x2-marker img{max-width:min(24px,calc(var(--map-cell,8px)*1.05))!important;max-height:min(24px,calc(var(--map-cell,8px)*1.05))!important}
.map-wrt-filter-icon-preview .map-wrt-am-filter-icon{width:36px;height:36px;object-fit:contain;display:block}
.map-wrt-filter-icon-preview--toolbar .map-wrt-am-filter-icon{width:28px;height:28px}
.map-wrt-filter-toolbar-label{display:inline-flex;align-items:center;gap:6px;max-width:min(240px,52vw)}
.map-weapon-filter-toolbar-ic{width:20px;height:20px;object-fit:contain;flex-shrink:0;display:block;transition:opacity .2s ease,filter .2s ease}
.map-weapon-filter-toolbar-ic.is-dim{opacity:.38;filter:grayscale(.55) brightness(.85);pointer-events:none}
.map-weapon-filter-toolbar-ic:not(.is-dim){cursor:pointer}
.rarity-filter-btn.active .map-weapon-filter-toolbar-ic:not(.is-dim){opacity:1;filter:none}
.unit-debuff-fill{display:block;min-height:42px;border-radius:8px;visibility:hidden;pointer-events:none;box-sizing:border-box}
#unitWeaponDebuffFilterPanel,#rankUnitWeaponDebuffFilterPanel,#unitWeaponRangeNonMapFilterPanel,#rankUnitWeaponRangeNonMapFilterPanel,#unitMapWeaponRangeFilterPanel,#rankUnitMapWeaponRangeFilterPanel{min-width:min(96vw,500px);max-width:min(96vw,560px)}
.weapon-range-non-map-panel,.map-wrt-filter-panel{min-width:min(96vw,360px)!important;max-width:min(96vw,360px)}
.map-wrt-filter-panel:not([hidden]){overflow-y:visible;max-height:none}
.unit-map-preview{display:flex;align-items:center;gap:10px;margin-top:8px;padding:6px 8px;border-radius:8px;border:1px solid rgba(56,189,248,.22);background:rgba(15,23,42,.55);max-width:max-content;opacity:0;transform:translateY(6px);animation:unit-map-preview-in .38s ease forwards}
.unit-map-preview-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;max-width:max-content}
.unit-map-preview-stack .unit-map-preview{margin-top:0}
.unit-map-preview-ammo{display:inline-flex;align-items:baseline;gap:4px;font-size:11px;line-height:1.2;color:var(--text-secondary)}
.unit-map-preview-ammo-val{font-family:'RobotoMediumNumbers',monospace;font-weight:700;color:var(--accent-cyan);font-size:13px}
.list-grid-card--map-preview .unit-map-preview{margin-top:6px;max-width:100%}
.list-grid-card--map-preview .unit-map-preview-stack{margin-top:6px;max-width:100%}
@keyframes unit-map-preview-in{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.unit-map-preview{animation:none;opacity:1;transform:none}}
.skill-filter-panel{min-width:min(92vw,420px);max-width:min(92vw,480px)}
.skill-filter-panel.ability-filter-panel{min-width:min(96vw,560px);max-width:min(96vw,640px)}
.skill-filter-panel:has(.filter-panel-scroll-inner .skill-filter-grid-browse){overflow:visible;max-height:none}
.skill-filter-panel .filter-panel-scroll-inner:has(.skill-filter-grid-browse){overflow:visible;max-height:none;padding:0}
.skill-filter-grid-browse{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;max-height:min(50vh,360px);overflow-y:auto;padding:4px 2px 8px}
.skill-filter-grid-browse .list-filter-tag-item{font-size:12px}
.skill-filter-grid-browse .skill-browse-all-row{grid-column:1/-1}
.skill-filter-grid-browse .skill-browse-row .tag-composite{align-items:center;gap:8px;min-width:0;text-align:left}
.skill-filter-grid-browse .skill-browse-row .tag-part-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.skill-browse-ic{width:20px;height:20px;object-fit:contain;display:block}
.skill-browse-all-label{font-family:var(--font-tag-ui);font-size:12px;font-weight:700;color:var(--text-secondary);letter-spacing:.3px;line-height:1.25}
.skill-filter-toolbar-label{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.skill-filter-toolbar-ic{width:18px;height:18px;object-fit:contain;flex-shrink:0;display:block}
.skill-filter-grid-browse .skill-browse-row .tag-composite.list-filter-tag-composite{background:transparent!important;border:none!important;filter:none!important;box-shadow:none!important;border-radius:0}
.skill-filter-grid-browse .skill-browse-row .tag-composite.list-filter-tag-composite:hover{transform:none;border-color:transparent}
.skill-filter-grid-browse .skill-browse-row .tag-part-icon{background:transparent!important;border:none!important;width:auto;min-width:20px;height:auto;min-height:20px;padding:0}
.skill-filter-grid-browse .skill-browse-row .tag-part-value{height:auto;min-height:0;padding:0 0 0 6px;background:transparent!important;white-space:normal;align-items:center;color:var(--text-secondary)}
.skill-filter-grid-browse .skill-browse-all-row:has(.skill-filter-all:checked){background:rgba(0,212,255,.1)!important;border:1px solid rgba(0,212,255,.45)!important;border-radius:8px;box-shadow:0 0 0 1px rgba(0,212,255,.2)}
.skill-filter-grid-browse .skill-browse-row:has(.skill-browse-item:checked){background:rgba(255,149,0,.12)!important;border:1px solid rgba(255,149,0,.5)!important;border-radius:8px;box-shadow:0 0 0 1px rgba(255,149,0,.2)}
.skill-filter-grid-browse .skill-browse-row:has(.skill-browse-item:checked) .tag-part-value{color:var(--text-primary);font-weight:600}
.skill-filter-grid-browse .skill-browse-row:has(.skill-browse-item:checked) .skill-browse-ic{filter:drop-shadow(0 0 4px rgba(255,149,0,.45))}
.list-grid-card--skills{align-items:stretch;width:100%;text-align:left}
.list-grid-card--skills .list-grid-card-name{text-align:left}
.list-grid-card--skills .list-grid-card-meta{justify-content:flex-start}
.list-grid-card--skills .list-grid-card-main-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px;width:100%;min-width:0}
.list-grid-card--skills .list-grid-card-thumb{flex-shrink:0}
.list-grid-card--skills .list-grid-card-body{flex:1;min-width:0}
.list-grid-card-skills-rail{flex:0 0 44%;max-width:48%;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:stretch;max-height:140px;overflow-y:auto;padding:2px 0;text-align:left}
.list-grid-skill-chip{display:flex;align-items:center;gap:4px;padding:3px 4px;border-radius:4px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:600;color:var(--text-secondary);line-height:1.2;cursor:default}
.list-grid-skill-chip:hover{border-color:rgba(0,212,255,.35);background:rgba(0,212,255,.06)}
.list-grid-skill-ic{width:16px;height:16px;object-fit:contain;flex-shrink:0}
.list-grid-skill-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.list-grid-card--char-skills-v2 .list-grid-card-main-row,.list-grid-card--unit-skills-v2 .list-grid-card-main-row{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;width:100%;min-width:0}
.list-grid-card--char-skills-v2 .list-grid-card-char-col,.list-grid-card--unit-skills-v2 .list-grid-card-char-col{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:100%;flex-shrink:0}
.list-grid-card--char-skills-v2 .list-grid-card-thumb,.list-grid-card--unit-skills-v2 .list-grid-card-thumb{width:100%;max-width:108px}
.list-grid-card-skills-hr{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;gap:6px;width:100%;max-width:108px;margin:0 auto;padding:0 1px;box-sizing:border-box}
.list-grid-skill-icon-cell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1);box-sizing:border-box;cursor:default;transition:border-color .15s ease,background .15s ease}
.list-grid-skill-icon-cell:hover{border-color:rgba(0,212,255,.4);background:rgba(0,212,255,.08)}
.list-grid-skill-ic-only{width:22px;height:22px;object-fit:contain;display:block}
.list-grid-skill-ic-fallback{width:18px;height:18px;border-radius:3px;background:rgba(255,255,255,.12)}
.list-grid-card--char-skills-v2 .list-grid-card-body,.list-grid-card--unit-skills-v2 .list-grid-card-body{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 4px;box-sizing:border-box}
.list-grid-card--char-skills-v2 .list-grid-card-name,.list-grid-card--unit-skills-v2 .list-grid-card-name{-webkit-line-clamp:3;text-align:center;width:100%}
.list-grid-card--unit-skills-v2.list-grid-card--skills{text-align:center}
@media(max-width:768px){.browse-toolbar-leading{flex:1 1 100%;width:100%;min-width:0}.filter-input-wrap--compact{flex:1 1 100%;max-width:none}#panel-characters .filter-input-wrap--organic .filter-input--organic,#panel-units .filter-input-wrap--organic .filter-input--organic{width:100%!important;min-width:0;max-width:none!important}.list-grid-card-skills-rail{max-height:120px}}
.list-grid-wrap{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);padding:14px 12px 18px;box-sizing:border-box;min-height:240px}
.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;align-items:stretch;min-height:200px}
.list-grid-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;cursor:pointer;transition:var(--transition);min-height:0;box-shadow:var(--shadow-surface)}
.list-grid-card:hover{border-color:var(--accent-orange);background:var(--bg-card-hover);box-shadow:var(--shadow-surface),0 4px 18px rgba(0,0,0,.28)}
#unitGrid .list-grid-card.list-detail-active{border-color:var(--border-accent);background:var(--bg-card-hover);box-shadow:var(--shadow-surface)}
#unitGrid .list-grid-card.list-detail-active:hover{border-color:var(--accent-blue);background:var(--bg-card-hover)}
#unitBody tr.list-detail-active{position:relative;z-index:2;background:transparent!important;box-shadow:none}
#unitBody tr.list-detail-active td{background:var(--bg-card-hover)!important;border-top:1px solid var(--border-accent);border-bottom:1px solid var(--border-accent);border-left:none;border-right:none;box-shadow:none!important}
#unitBody tr.list-detail-active td:first-child{border-left:1px solid var(--border-accent);border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}
#unitBody tr.list-detail-active td:last-child{border-right:1px solid var(--border-accent);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
#unitBody tr.list-detail-active:hover td{background:var(--bg-card-hover)!important}
.list-grid-card-thumb{width:100%;display:flex;justify-content:center;align-items:center;min-height:0}
.list-grid-card-thumb .list-thumb-composite{margin:0 auto}
#modGrid .list-grid-card--mod .list-grid-card-thumb{width:auto;max-width:60px;flex:0 0 auto}
.list-grid-card-body{width:100%;min-width:0;display:flex;flex-direction:column;gap:6px}
.list-grid-card-name{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list-grid-card-stats{font-size:12px;color:var(--text-secondary);line-height:1.45;word-break:break-word}
.list-grid-card-stats .list-grid-stat{display:inline}
.list-grid-card-stats--char{display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:center}
.list-grid-stat-l{font-weight:700;color:var(--text-muted);font-size:11px}
#stageGrid .list-grid-card--stage{padding:0;overflow:hidden;align-items:stretch;gap:0;border-radius:var(--radius-md);display:flex;flex-direction:column;height:100%;min-height:0}
#stageGrid .list-grid-card--stage .list-grid-card-thumb{width:100%;display:block;flex:0 0 200px;height:200px;min-height:200px;max-height:200px;overflow:hidden}
#stageGrid .list-grid-card--stage .list-grid-card-body{padding:8px 10px 10px;width:100%;box-sizing:border-box;flex:0 0 auto;min-height:52px;display:flex;align-items:center;justify-content:center}
#stageGrid .list-grid-card--stage .list-grid-card-stats{margin:0;text-align:center;line-height:1.35}
#stageGrid{align-items:stretch}
.list-grid-card--stage .list-grid-card-name{text-align:center}
.list-grid-card-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;font-size:12px;color:var(--text-secondary)}
.list-grid-card .mod-name{font-size:14px}
.list-grid-card .mod-details-cell{font-size:12px;-webkit-line-clamp:4;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.list-grid-card--cmp{position:relative}.list-grid-card--cmp .list-grid-card-body{flex:1 1 auto;min-height:0;width:100%}
.list-grid-cmp-wrap{flex-shrink:0;align-self:stretch;width:100%;display:flex;justify-content:center;align-items:center;margin-top:auto;padding:6px 4px 2px;box-sizing:border-box;pointer-events:auto}
.list-grid-cmp-inner{display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;background:transparent;border:none;box-shadow:none}.list-grid-cmp-wrap .cmp-cb-grid{margin:0}
@media(max-width:768px){.list-view-toggle{order:0}.list-toolbar-right{flex-wrap:wrap;justify-content:flex-end}}

/* --- Browse tables: phones & narrow tablets (table view) --- */
@media (max-width: 1024px) {
  .th-full{display:none}
  .th-mob{display:inline}
  #panel-characters .list-toolbar,#panel-units .list-toolbar,#panel-supporters .list-toolbar{overflow:visible}
  #charTable,#unitTable,#suppTable{table-layout:fixed!important;width:100%!important;min-width:0!important}
  #charTable .cmp-cb-cell,#unitTable .cmp-cb-cell{width:28px!important;min-width:28px!important;max-width:28px!important;padding:4px 2px!important;box-sizing:border-box!important;text-align:center!important;overflow:visible!important}
  html.cmp-mobile-pick #charTable .cmp-cb-cell .cmp-cb-inner,html.cmp-mobile-pick #unitTable .cmp-cb-cell .cmp-cb-inner{width:24px!important;min-width:24px!important;max-width:24px!important;margin-left:auto!important;margin-right:auto!important}
  html.cmp-mobile-pick #charTable thead .cmp-cb-cell .cmp-cb-inner,html.cmp-mobile-pick #unitTable thead .cmp-cb-cell .cmp-cb-inner{font-size:14px;line-height:1;white-space:nowrap}
  #charTable .col-thum,#unitTable .col-thum,#suppTable .col-thum{width:48px!important;min-width:48px!important;max-width:48px!important;box-sizing:border-box!important}
  #charTable .col-name,#unitTable .col-name{width:24%!important;min-width:3.25rem!important}
  #charTable .col-stat,#unitTable .col-stat{width:10.5%!important;min-width:1.85rem!important;padding-left:2px!important;padding-right:2px!important;box-sizing:border-box!important;text-align:center}
  #suppTable .col-name{width:26%!important;min-width:0!important}
  #suppTable .col-tag{width:24%!important;min-width:0!important}
  #suppTable .col-boost{width:32%!important;min-width:0!important}
  #suppTable .col-skill{width:14%!important;min-width:2rem!important;text-align:center}
  #panel-characters .list-view-area .data-table-wrapper,#panel-units .list-view-area .data-table-wrapper,#panel-supporters .list-view-area .data-table-wrapper,#panel-stages .list-view-area .data-table-wrapper,#panel-modifications .list-view-area .data-table-wrapper{max-width:100%}
  .list-view-area{overflow:visible}
  /* Single page scroll — no nested table viewport (no double scrollbar) */
  #panel-characters .list-view-area .data-table-wrapper,#panel-units .list-view-area .data-table-wrapper,#panel-supporters .list-view-area .data-table-wrapper,#panel-stages .list-view-area .data-table-wrapper,#panel-modifications .list-view-area .data-table-wrapper{overflow:visible!important;max-height:none!important}
  #panel-characters .list-toolbar,#panel-units .list-toolbar,#panel-supporters .list-toolbar,#panel-stages .list-toolbar,#panel-modifications .list-toolbar,#panel-characters .list-view-area,#panel-units .list-view-area,#panel-supporters .list-view-area,#panel-stages .list-view-area,#panel-modifications .list-view-area{overflow:visible!important}
  .list-view-area .data-table-wrapper>.data-table thead th{position:sticky;top:var(--list-thead-sticky-top);z-index:40}
  .data-table thead th{overflow:visible!important;text-overflow:clip;padding:8px 3px!important;font-size:11px!important;line-height:1.25!important;white-space:nowrap;text-transform:none!important;letter-spacing:0!important;vertical-align:middle}
  .data-table thead th .sort-arrow{font-size:9px;margin-left:1px}
  #suppTable thead th{white-space:normal;line-height:1.15;font-size:clamp(9px,2.4vw,12px)!important;padding:8px 3px!important;vertical-align:bottom}
  #charTable tbody td.col-thum,#unitTable tbody td.col-thum,#suppTable tbody td.col-thum,#modTable tbody td.col-thum{overflow:visible;vertical-align:middle;text-align:center;padding:4px 2px!important}
  #charTable tbody td.col-thum .list-thumb-composite,#unitTable tbody td.col-thum .list-thumb-composite,#suppTable tbody td.col-thum .list-thumb-composite{width:48px!important;height:48px!important;max-width:48px;max-height:48px;display:block!important;margin-left:auto;margin-right:auto;flex-shrink:0}
  #modTable tbody td.col-thum .row-thum,#modTable tbody td.col-thum .row-thum-placeholder{width:48px!important;height:48px!important;display:block!important;margin-left:auto;margin-right:auto}
}

/* --- Responsive stat column labels (full vs abbreviated) --- */
.th-mob{display:none}

/* ========== Mobile / iPhone Safari Enhancements ========== */

@media(max-width:768px){
  /* Browse toolbar 4-column grid: mobile_layout.css (--mobile-grid-*) */
  .list-toolbar-left--browse>.browse-toolbar-top-row{
    width:100%;
    max-width:none;
    min-width:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--mobile-grid-gutter,16px);
  }
  .list-toolbar-left--browse>.browse-toolbar-top-row>.browse-toolbar-leading{
    grid-column:1/-1;
    width:100%;
    max-width:none;
    min-width:0;
    flex-wrap:wrap;
  }
  .list-toolbar-left--browse>.browse-toolbar-top-row>.browse-toolbar-leading>.filter-input-wrap--compact{
    flex:1 1 100%;
    width:100%;
    max-width:none;
    min-width:0;
  }
  .list-toolbar-left--browse>.list-stat-toggle-wrap{
    margin-left:0;
  }
  #panel-ranking .list-toolbar-left--browse>#rankUnitListStatToggles.list-stat-toggle-wrap,
  #panel-ranking .list-toolbar-left--browse>#rankCharListStatToggles.list-stat-toggle-wrap{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  #panel-ranking #rankUnitListStatToggles .ranking-tail-controls,
  #panel-ranking #rankCharListStatToggles .ranking-tail-controls{
    margin-left:auto;
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
    gap:6px;
  }
  .list-toolbar-left--browse>.rarity-filter-wrap,
  .list-toolbar-left--browse>.role-filter-wrap,
  .list-toolbar-left--browse>.source-filter-wrap{
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:calc(var(--mobile-grid-gutter,16px)*0.375);
    box-sizing:border-box;
  }
  /* Wraps that host filter-dropdown-panel shrink to trigger width (:has supported on current mobile browsers) */
  .list-toolbar-left--browse>.rarity-filter-wrap:has(.filter-dropdown-panel),
  .list-toolbar-left--browse>.role-filter-wrap:has(.filter-dropdown-panel),
  .list-toolbar-left--browse>.source-filter-wrap:has(.filter-dropdown-panel),
  #panel-supporters .list-toolbar>.list-toolbar-left>.rarity-filter-wrap:has(.filter-dropdown-panel){
    width:max-content;
    max-width:100%;
    justify-self:start;
    overflow:visible;
  }
  #panel-modifications .mod-effect-wrap:has(.filter-dropdown-panel),
  #panel-modifications .lineage-filter-wrap:has(.filter-dropdown-panel){
    width:100%;
    max-width:100%;
    overflow:visible;
    flex:0 0 auto;
    align-self:stretch;
  }
  #panel-stages #stageDiffWrap:has(.filter-dropdown-panel){
    width:max-content;
    max-width:100%;
    overflow:visible;
    flex:0 0 auto;
    align-self:flex-start;
  }
  #panel-modifications .mod-effect-wrap .mod-effect-filter-btn,
  #panel-modifications .lineage-filter-wrap .rarity-filter-btn{
    max-width:100%!important;
  }
  /* Supporter / Modifications / Stages toolbars need visible overflow when dropdown anchored */
  #panel-supporters .list-toolbar-left,
  #panel-modifications .list-toolbar-left,
  #panel-stages .list-toolbar-left{
    overflow:visible;
  }
  .list-toolbar-left--browse .rarity-filter-btn,
  .list-toolbar-left--browse .role-filter-dd-btn{
    max-width:none!important;
    flex:1 1 auto;
    min-width:0;
  }
  .list-toolbar-left--browse .browse-filters-clear-btn{flex:0 0 auto}
  .list-toolbar-right{gap:8px}

  /* --- Compact filter buttons --- */
  .rarity-filter-btn,.role-filter-dd-btn{padding:6px 10px;font-size:13px;max-width:min(180px,44vw)}
  .filter-btn-label-inner{gap:2px}
  .filter-inline-icon.rarity-filter-chip,.filter-inline-icon.role-filter-chip{height:18px}
  .source-filter-opt-icon{height:18px}
  .source-filter-btn-all-icons{max-width:min(160px,40vw);gap:3px}
  .browse-filters-clear-btn{padding:6px 8px;font-size:12px}

  /* --- Stat toggles --- */
  .list-stat-toggle-wrap{margin-left:0;gap:4px}
  .sp-toggle-btn{height:30px;width:40px}
  .sp-toggle-btn img{height:20px}
  .list-cond-toggle{height:30px;width:40px;padding:2px}.list-cond-toggle .cp-wide{font-size:22px}

  /* --- Small-option filter lists (.filter-dropdown-panel): anchored under trigger; width ~= button; Clear scrolls with safe-area inset --- */
  .list-toolbar #stageDiffFilterPanel.filter-dropdown-panel:not([hidden]){
    position:absolute!important;
    left:0!important;
    right:auto!important;
    top:calc(100% + 4px)!important;
    transform:none!important;
    width:max-content!important;
    min-width:0!important;
    max-width:min(220px,calc(100vw - 24px))!important;
    align-items:flex-start;
  }
  .list-toolbar .filter-dropdown-panel:not([hidden]){
    position:absolute;
    left:0;
    right:auto;
    top:calc(100% + 4px);
    transform:none;
    width:max-content;
    min-width:100%;
    max-width:min(92vw,calc(100vw - max(16px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px))))!important;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    max-height:min(72vh,calc(100dvh - 120px));
    overflow-x:hidden;
    overflow-y:auto;
    padding-bottom:max(14px,calc(8px + env(safe-area-inset-bottom,0px)));
    -webkit-overflow-scrolling:touch;
    z-index:250;
    box-shadow:0 10px 36px rgba(0,0,0,.52);
    border-radius:var(--radius-md)
  }
  .list-toolbar .map-wrt-filter-panel.filter-dropdown-panel:not([hidden]){max-height:none;overflow-y:visible}
  /* --- Large grids / long panels: viewport sheet — exclude .filter-dropdown-panel (:not prevents [hidden]/display bleed) --- */
  .list-toolbar .rarity-filter-panel:not([hidden]):not(.filter-dropdown-panel),
  .list-toolbar .role-filter-panel:not([hidden]):not(.filter-dropdown-panel),
  .list-toolbar .source-filter-panel:not([hidden]):not(.filter-dropdown-panel),
  .list-toolbar .skill-filter-panel:not([hidden]){
    position:fixed;
    left:max(8px,env(safe-area-inset-left,0px));
    right:max(8px,env(safe-area-inset-right,0px));
    top:max(8px, env(safe-area-inset-top, 0px));
    bottom:auto;
    transform:none;
    width:auto;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    max-height:min(92vh, calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px));
    max-height:min(92vh, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px));
    overflow-x:hidden;
    overflow-y:auto;
    padding-bottom:max(12px, env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling:touch;
    z-index:250;
    box-shadow:0 12px 40px rgba(0,0,0,.65);
    border-radius:var(--radius-md)
  }
  .list-toolbar .rarity-filter-panel .filter-panel-clear-wrap,
  .list-toolbar .role-filter-panel .filter-panel-clear-wrap,
  .list-toolbar .source-filter-panel .filter-panel-clear-wrap,
  .list-toolbar .skill-filter-panel .filter-panel-clear-wrap,
  .list-toolbar .lineage-filter-panel .filter-panel-clear-wrap,
  .list-toolbar .series-filter-panel .filter-panel-clear-wrap,
  .list-toolbar #unitTerrainFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #unitWeaponDebuffFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #unitMechanismFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #rankUnitTerrainFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #rankUnitWeaponDebuffFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #unitWeaponRangeNonMapFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #rankUnitWeaponRangeNonMapFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #unitMapWeaponRangeFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #rankUnitMapWeaponRangeFilterPanel .filter-panel-clear-wrap,
  .list-toolbar #rankUnitMechanismFilterPanel .filter-panel-clear-wrap{
    flex-shrink:0;
    align-self:stretch;
    position:sticky;
    bottom:0;
    padding-bottom:max(10px,calc(8px + env(safe-area-inset-bottom,0px)));
    z-index:4
  }
  .list-toolbar .role-filter-panel .role-filter-row-label{
    flex-wrap:wrap;
    white-space:normal;
    gap:10px;
    align-items:flex-start;
    line-height:1.35
  }
  .list-toolbar .rarity-filter-panel .rarity-filter-row,
  .list-toolbar .rarity-filter-panel .role-filter-row,
  .list-toolbar .role-filter-panel .role-filter-row,
  .list-toolbar .source-filter-panel .rarity-filter-row{
    align-items:flex-start;
    min-height:48px;
    padding-top:11px;
    padding-bottom:11px;
    box-sizing:border-box
  }
  .list-toolbar .source-filter-panel .role-filter-row-label,
  .list-toolbar .source-filter-panel .source-filter-row-label{
    align-items:flex-start;
    gap:10px;
    white-space:normal;
    line-height:1.35
  }
  .list-toolbar .skill-filter-panel:not([hidden]):has(.filter-panel-scroll-inner .skill-filter-grid-browse),
  .list-toolbar .skill-filter-panel:not([hidden]):has(.skill-filter-grid-browse){
    overflow-x:hidden;
    overflow-y:auto!important;
    overflow:hidden auto!important
  }
  .skill-filter-grid-browse{max-height:min(48vh,300px)}

  /* --- Filter panels: legacy max-width --- */
  .rarity-filter-panel,.role-filter-panel,.source-filter-panel{max-width:min(280px,calc(100vw - 24px))}
  #stageDiffFilterPanel.stage-diff-filter-panel{max-width:min(220px,calc(100vw - 24px))!important}
  #unitWeaponRangeNonMapFilterPanel.rarity-filter-panel,#rankUnitWeaponRangeNonMapFilterPanel.rarity-filter-panel,#unitMapWeaponRangeFilterPanel.rarity-filter-panel,#rankUnitMapWeaponRangeFilterPanel.rarity-filter-panel{max-width:min(400px,calc(100vw - 24px))}
  .lineage-filter-panel,.series-filter-panel{left:0;right:0;width:auto;max-width:calc(100vw - 24px);transform:none}
  .skill-filter-panel{max-width:calc(100vw - 24px)}
  #unitTerrainFilterPanel,#rankUnitTerrainFilterPanel{max-width:min(calc(100vw - 24px),640px)}
  /* Weapon debuff panel: absolute + wide min-width extends past viewport when body is overflow-x:hidden — pin to viewport like other large menus */
  #unitWeaponDebuffFilterPanel:not([hidden]),
  #rankUnitWeaponDebuffFilterPanel:not([hidden]),
  #unitWeaponRangeNonMapFilterPanel:not([hidden]),
  #rankUnitWeaponRangeNonMapFilterPanel:not([hidden]),
  #unitMapWeaponRangeFilterPanel:not([hidden]),
  #rankUnitMapWeaponRangeFilterPanel:not([hidden]){
    position:fixed;
    left:max(8px, env(safe-area-inset-left, 0px));
    right:max(8px, env(safe-area-inset-right, 0px));
    top:max(8px, env(safe-area-inset-top, 0px));
    bottom:auto;
    transform:none;
    width:auto;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    max-height:min(92vh, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px));
    max-height:min(92vh, calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px));
    padding-bottom:max(12px, env(safe-area-inset-bottom, 0px));
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    z-index:250;
    box-shadow:0 12px 40px rgba(0,0,0,.6);
    border-radius:var(--radius-md);
  }
  .unit-debuff-grid-row{grid-template-columns:1fr;gap:8px}
  .unit-terrain-item{grid-template-columns:auto minmax(0,1fr) 28px;column-gap:7px;padding:8px 9px;font-size:12px}
  .unit-terrain-lv-wrap{width:28px}

  /* --- Grid wrap --- */
  .list-grid-wrap{padding:10px 8px 14px}

  /* --- Source wrap on browse: allow clear button to wrap with source btn --- */
  .list-toolbar-left--browse .source-filter-wrap{flex-wrap:wrap;align-items:stretch}

  /* --- Abbreviated stat column headers --- */
  .th-full{display:none}
  .th-mob{display:inline}

  #charTable tbody td.col-thum,#unitTable tbody td.col-thum,#suppTable tbody td.col-thum{overflow:visible;vertical-align:middle}
  #charTable tbody td.col-thum .list-thumb-composite,#unitTable tbody td.col-thum .list-thumb-composite,#suppTable tbody td.col-thum .list-thumb-composite{display:block!important;margin-left:auto;margin-right:auto}
  #charTable thead th.col-stat,#unitTable thead th.col-stat{text-transform:none;letter-spacing:0;line-height:1.2;text-align:center;vertical-align:middle;white-space:nowrap;overflow:visible}
  #unitTable thead th.col-name{line-height:1.2;white-space:nowrap}
}

@media(max-width:480px){
  /* --- Filter buttons: phone compact --- */
  .list-toolbar-left--browse .rarity-filter-btn,.list-toolbar-left--browse .role-filter-dd-btn{max-width:none!important}
  .rarity-filter-btn,.role-filter-dd-btn{padding:5px 8px;font-size:12px;min-height:36px;max-width:min(160px,42vw);gap:4px}
  .rarity-filter-caret{font-size:8px}
  .filter-btn-label-inner{min-height:18px}
  .browse-filters-clear-btn{padding:5px 7px;font-size:11px;min-height:36px}

  /* Grid gap stays 16px (mobile_layout.css) */

  /* --- Stat toggles smaller --- */
  .sp-toggle-btn{height:26px;width:34px}
  .sp-toggle-btn img{height:16px}
  .list-cond-toggle{height:26px;width:34px;padding:1px}.list-cond-toggle .cp-wide{font-size:18px}
  .list-stat-toggle-wrap{gap:3px}

  /* --- Result count --- */
  .result-count{font-size:13px}

  /* --- Per-page select --- */
  .filter-select{min-height:38px;font-size:13px}

  /* --- View toggle --- */
  .list-view-toggle{gap:1px;padding:2px}
  .view-toggle-btn{width:34px;height:30px}

  /* Grid cards: 4-column layout in mobile_layout.css */
  .list-grid-card{padding:10px 8px;gap:8px}
  .list-grid-card-name{font-size:13px}
  .list-grid-card-stats{font-size:11px}

  /* --- Pagination --- */
  .pagination{gap:3px}
  .page-btn{min-width:38px;min-height:38px;padding:8px 10px;font-size:14px}

  /* Filter menus: layout from @media (max-width:768px); avoid re-enabling unbounded skill panels */

  /* --- Filter panel rows: bigger touch targets --- */
  .rarity-filter-row,.role-filter-row{padding:8px 10px;min-height:40px}
  .rarity-filter-row input,.role-filter-row input{width:18px;height:18px}

  /* --- Terrain tier grid: dedicated label column + tier column (no overlap on phones) --- */
  #unitTerrainFilterPanel,#rankUnitTerrainFilterPanel{max-width:calc(100vw - 16px);min-width:0}
  .unit-terrain-grid-row{gap:5px}
  .unit-terrain-item{grid-template-columns:auto minmax(0,1fr) 26px;column-gap:6px;padding:9px 8px;min-height:44px;font-size:11px;font-weight:700}
  .unit-terrain-item>span:not(.unit-terrain-lv-wrap){-webkit-line-clamp:3;padding-right:6px}
  .unit-terrain-lv-wrap{width:26px;height:26px;margin-left:0;justify-self:end}
}

@media(max-width:390px){
  /* Narrow phones — keep 16px page margin / gutter (iOS grid); typography & table density only */
  .list-toolbar-left--browse .rarity-filter-btn,.list-toolbar-left--browse .role-filter-dd-btn{max-width:none!important}
  .rarity-filter-btn,.role-filter-dd-btn{padding:4px 8px;font-size:11px;max-width:min(140px,40vw)}
  .browse-filters-clear-btn{padding:4px 8px;font-size:10px}

  .data-table{font-size:12px}
  .data-table thead th{font-size:11px;padding:8px 4px}
  .data-table tbody td{padding:8px 4px}
  .row-thum,.row-thum-placeholder{width:44px;height:44px;font-size:18px}
  .list-thumb-composite{width:50px;height:50px}
  .list-thumb-composite.list-thumb-has-frame .list-thumb-portrait-wrap{top:4px;left:4px;right:4px;bottom:6px}
  .list-thumb-composite:not(.list-thumb-has-frame) .list-thumb-portrait-wrap{top:3px;left:3px;right:3px;bottom:3px}
  .list-thumb-composite .list-thumb-icon-wrap{width:12px;height:12px}
  #charTable .col-thum,#unitTable .col-thum,#suppTable .col-thum,#modTable .col-thum{width:50px;min-width:50px;max-width:50px}
  #stageTable .col-thum{width:118px;min-width:118px;max-width:118px;padding:4px 2px}
  #stageTable .col-thum .stage-thum-wrap{max-width:108px}
  #stageTable .col-thum .stage-browse-thumb{width:108px}

  .nav-tab{padding:10px 12px;font-size:13px}
  .brand-text{font-size:clamp(9px,2.5vw + 3px,12px)}
  .brand-title-row{min-height:0;padding:1px 2px 3px;--brand-title-optical-x:0px}.brand-title-row::before{width:58px;height:30px}
  .brand-logo{width:30px;height:30px}
  .header-inner{padding:7px 8px;gap:6px}
}

/* --- iOS Safari specific fixes --- */
@supports(-webkit-touch-callout:none){
  .filter-input{font-size:16px}
  .filter-select{font-size:16px}
  .data-table-wrapper{-webkit-overflow-scrolling:touch}
  .nav-tabs{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x}
  .nav-tabs-shell{min-height:48px}
  .modal-content{-webkit-overflow-scrolling:touch}
  html{scroll-padding-bottom:env(safe-area-inset-bottom,0px);min-height:var(--layout-vh,100vh);background-color:var(--bg-primary)}
  html.cmp-bar-open:has(#cmpFloat.visible){scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 56px)}
  html.cmp-bar-open:has(#cmpFloat.visible) .main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  html.cmp-bar-open:has(#cmpFloat.visible) .site-footer-links{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
  body{min-height:var(--layout-vh,100vh);background-color:var(--bg-primary)}
  .app-header{top:0}
  .bg-pattern{
    top:calc(-1 * var(--visual-vv-offset-top,0px));
    height:calc(var(--layout-vh,100vh) + var(--visual-vv-offset-top,0px));
    min-height:calc(var(--layout-vh,100vh) + var(--visual-vv-offset-top,0px));
    max-height:none;
  }
}

/* --- Team Builder --- */
.tb-wrap{max-width:1400px;margin:0 auto;padding:16px 20px 32px;width:100%;box-sizing:border-box}
.tb-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;position:relative}
.tb-title{color:var(--accent-cyan);font-size:22px;margin:0}
.tb-terrain-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}
.tb-terrain-row select{background:var(--bg-modal,#141c2e);border:1px solid var(--border-color);color:var(--text-primary,#e2e8f0);padding:6px 10px;border-radius:6px;font-size:13px;color-scheme:dark}
.tb-terrain-row select option{background-color:#141c2e;color:var(--text-primary,#e2e8f0)}
.tb-main{display:block;max-width:100%}
.tb-dual-squads{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:16px;justify-content:center}
.tb-squad-panel{flex:1;min-width:min(100%,300px);max-width:100%}
.tb-grid-map-row{display:block}
.tb-slots-wrap{background:rgba(15,23,42,.5);border:1px solid var(--border-color);border-radius:10px;padding:12px;width:100%;box-sizing:border-box}
.tb-slots-label{font-size:11px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.tb-deploy-block{margin-bottom:12px}
.tb-deploy-block:last-child{margin-bottom:0}
.tb-deploy-lbl{font-size:11px;color:var(--text-muted);text-align:center;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.tb-slot-row--rear{justify-content:center}
.tb-slot-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:flex-start}
.tb-slot-col{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 auto;flex-shrink:0;width:min(20vw,124px);min-width:92px;max-width:min(20vw,124px);box-sizing:border-box}
.tb-slot{position:relative;width:100%;min-width:0;aspect-ratio:10/16;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .15s;background:#0b1020;box-sizing:border-box}
.tb-slot.tb-slot--terrain-blocked{border-color:rgba(248,113,113,.78);box-shadow:0 0 0 1px rgba(248,113,113,.25) inset}
.tb-slot.tb-slot--terrain-penalty{border-color:rgba(250,204,21,.72);box-shadow:0 0 0 1px rgba(250,204,21,.2) inset}
.tb-slot-lb-outside{width:100%;max-width:100%;display:flex;justify-content:center;align-items:stretch;min-height:0;box-sizing:border-box;position:relative;z-index:4}
.tb-slot-lb-details.cmp-lb-details{width:100%;max-width:100%}
.tb-slot-lb-details .cmp-lb-summary{min-height:32px;padding:4px 8px;font-size:10px}
.tb-slot-lb-details .cmp-lb-summary img{width:16px;height:16px}
.tb-slot-lb-details .cmp-lb-menu{left:0;right:0;width:100%;min-width:0;box-sizing:border-box;z-index:50}
.tb-slot-lb-details .cmp-lb-opt img{width:16px;height:16px}
.tb-slot-stat-mode{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;width:100%;max-width:100%;margin-top:3px;box-sizing:border-box}
.tb-slot-stat-mode-btn{font-size:8px;line-height:1;padding:3px 5px;border-radius:5px;border:1px solid rgba(148,163,184,.35);background:rgba(0,0,0,.35);color:var(--text);cursor:pointer;min-width:0}
.tb-slot-stat-mode-btn.is-active{border-color:rgba(34,211,238,.65);background:rgba(34,211,238,.12);color:var(--accent-cyan);font-weight:600}
.tb-slot-stat-mode-btn:hover{border-color:rgba(148,163,184,.55)}
.tb-slot-cp-row{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:center;width:100%;margin-top:3px}
.tb-slot-cp-btn{appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;line-height:0;border-radius:4px}
.tb-slot-cp-btn:hover{filter:brightness(1.12)}
.tb-slot-cp-btn .dc-dc-cp-chip,.tb-slot-cp-btn .list-cond-toggle{pointer-events:none}
.tb-supp-lb-icons{display:inline-flex;flex-wrap:wrap;gap:3px;align-items:center}
.tb-supp-lb-ic{display:inline-flex;align-items:center;justify-content:center;padding:2px 3px;border-radius:6px;border:1px solid transparent;background:rgba(0,0,0,.42);cursor:pointer;line-height:0}
.tb-supp-lb-ic:hover{background:rgba(0,0,0,.58)}
.tb-supp-lb-ic--sel{border-color:rgba(34,211,238,.65)}
.tb-supp-lb-ic img{width:11px;height:11px;object-fit:contain;display:block}
.tb-slot-op-outside{width:100%;max-width:100%;margin-top:4px;box-sizing:border-box}
.tb-op-box--under-slot{margin:0;padding:5px 6px;border-radius:6px;background:rgba(15,23,42,.92);border:1px solid rgba(148,163,184,.35);max-height:120px;overflow-y:auto;box-sizing:border-box}
.tb-op-box--under-slot .tb-op-head{margin-bottom:4px;gap:4px}
.tb-op-box--under-slot .tb-op-title{font-size:9px}
.tb-op-box--under-slot .tb-op-add{min-width:26px;height:24px;font-size:14px;padding:0}
.tb-op-box--under-slot .tb-op-row{padding:3px 4px;margin-bottom:3px;font-size:9px}
.tb-op-box--under-slot .tb-op-row--pick-row{margin-bottom:3px;position:relative;align-items:flex-start;padding-right:30px;min-height:26px}
.tb-op-box--under-slot .tb-op-row--pick-row .tb-op-clear{position:absolute;top:0;right:0;flex-shrink:0;width:24px;height:24px;border-radius:6px}
.tb-op-box--under-slot .tb-op-row--pick-row .tb-op-clear img{width:14px;height:14px}
.tb-op-box--under-slot .tb-op-empty{font-size:9px}
.tb-op-row--rich{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-start}
.tb-op-row--pick{cursor:pointer;border-radius:6px;padding:2px 0;margin-bottom:3px;border:1px solid transparent;transition:border-color .12s,background .12s}
.tb-op-row--pick:hover{border-color:rgba(148,163,184,.35);background:rgba(0,0,0,.2)}
.tb-op-row--rich .tb-op-sum{font-size:8px;line-height:1.2;color:var(--accent-cyan);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-op-box--under-slot .tb-op-row--rich .tb-op-sum{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;flex:1 1 auto;min-width:48px}
.tb-op-row--pick-row{display:flex;align-items:center;gap:3px;width:100%;min-width:0}
.tb-op-row-hit.tb-op-row--pick{flex:1;min-width:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-start;cursor:pointer;border-radius:6px;padding:2px 4px;margin-bottom:0;border:1px solid transparent;transition:border-color .12s,background .12s}
.tb-op-row-hit.tb-op-row--pick:hover{border-color:rgba(148,163,184,.35);background:rgba(0,0,0,.2)}
.tb-op-clear{flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid var(--border-color);background:rgba(15,23,42,.55);color:var(--text-muted);border-radius:8px;cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.tb-op-clear:hover{color:#f87171;border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.1)}
.tb-op-clear:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}
.tb-op-clear img{width:18px;height:18px;object-fit:contain;display:block}
.tb-op-thum{width:20px;height:20px;object-fit:contain;flex-shrink:0;border-radius:4px;background:rgba(0,0,0,.25)}
.tb-op-limiter-tag{font-size:7px;font-weight:600;color:var(--text-muted);padding:1px 4px;border-radius:4px;background:rgba(148,163,184,.15);flex-shrink:0}
.tb-op-row-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.tb-op-name--sub{font-size:7px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-supp-portrait-only{border-radius:10px;overflow:visible;background:rgba(0,0,0,.35);border:1px solid rgba(148,163,184,.28);flex-shrink:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.tb-supp-portrait-only--empty{color:var(--text-muted);font-size:22px}
.tb-supp-portrait-only-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center center;display:block}
.tb-picker-option-list{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;box-sizing:border-box}
.tb-picker-option-list .tb-picker-item.cmp-picker-item{width:100%;box-sizing:border-box}
.tb-supp-tb-composite{position:relative;overflow:hidden;border-radius:10px;margin:0;flex-shrink:0;-webkit-tap-highlight-color:transparent;align-self:flex-start;--tb-supp-side-w:27%;--tb-supp-end-h:8.52%;--tb-supp-end-w:88%;--tb-supp-portrait-x:14%}
.tb-supp-tb-back{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.tb-supp-tb-back .list-thumb-base{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:contain;object-position:center;display:block;border:0}
.tb-supp-tb-composite .tb-supp-tb-portrait-wrap{z-index:1;top:var(--tb-supp-end-h);left:var(--tb-supp-portrait-x);right:var(--tb-supp-portrait-x);bottom:var(--tb-supp-end-h);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tb-supp-tb-composite .tb-supp-tb-portrait-wrap .list-thumb-portrait{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center center;display:block}
.tb-supp-tb-side{position:absolute;top:0;bottom:0;width:var(--tb-supp-side-w);height:100%;z-index:2;pointer-events:none;object-fit:fill;object-position:center;margin:0;border:0;display:block}
.tb-supp-tb-side--left{left:0;object-position:left center}
.tb-supp-tb-side--right{right:0;transform:scaleX(-1);object-position:right center}
.tb-supp-tb-end{position:absolute;left:50%;width:var(--tb-supp-end-w);height:var(--tb-supp-end-h);z-index:3;pointer-events:none;object-fit:fill;margin:0;border:0;display:block;transform:translateX(-50%)}
.tb-supp-tb-top{top:0;transform:translateX(-50%) scaleY(-1);transform-origin:center center;object-position:center center}
.tb-supp-tb-bottom{bottom:0;object-position:center bottom}
.tb-supp-tb-composite .list-thumb-icons{position:absolute;inset:0;z-index:4;pointer-events:none}
.tb-supp-tb-composite .tb-supp-tb-side picture,.tb-supp-tb-composite .tb-supp-tb-end picture{display:block;width:100%;height:100%;margin:0 auto}
.tb-supp-tb-composite .tb-supp-tb-side img,.tb-supp-tb-composite .tb-supp-tb-end img{width:100%;height:100%;object-fit:fill;object-position:inherit;display:block;border:0;vertical-align:middle}
.tb-supp-tb-composite .tb-supp-tb-side img{object-fit:contain}
.tb-long-card--empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}
.tb-long-card--empty .tb-slot-add-ms{position:relative;inset:auto;flex:1;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.72);min-height:0}
.tb-slot.is-sel{border-color:var(--accent-cyan)}
.tb-slot.is-rearrange-pending{outline:2px solid #eab308;outline-offset:2px}
.tb-long-portrait-wrap--rearrange-unlinked{pointer-events:auto}
.tb-rearrange-ms-zone{position:absolute;inset:0;z-index:1;cursor:pointer}
.tb-long-portrait-wrap--rearrange-unlinked .tb-long-pilot-corner{z-index:2;pointer-events:auto;cursor:pointer}
.tb-rearrange-ms-zone.is-rearrange-pending-zone,.tb-long-pilot-corner.is-rearrange-pending-zone{outline:2px solid #eab308;outline-offset:-2px;border-radius:6px}
.tb-long-card--rearrange-empty.is-rearrange-pending{outline:2px solid #eab308;outline-offset:2px;border-radius:8px}
.tb-long-card{position:absolute;inset:0;display:flex;flex-direction:column}
.tb-long-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top;pointer-events:none;z-index:0}
.tb-long-portrait-wrap{position:absolute;inset:0;z-index:1;display:block;overflow:hidden;pointer-events:none}
.tb-long-portrait-wrap .tb-long-pilot-corner{pointer-events:auto}
.tb-long-portrait{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 26%;pointer-events:none;display:block}
.tb-long-portrait--sd{object-position:50% 40%}
.tb-long-portrait--face-balance{object-position:55% 26%}
.tb-long-role{position:absolute;left:6px;top:6px;width:26px;height:26px;z-index:7;border-radius:50%;overflow:hidden}
.tb-long-role img{width:100%;height:100%;object-fit:cover}
.tb-long-pilot-corner{position:absolute;right:2px;bottom:2px;z-index:8;display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-end;gap:3px;flex-wrap:nowrap;max-width:calc(100% - 4px)}
.tb-long-pilot{position:relative;right:auto;bottom:auto;width:clamp(61px,76%,112px);max-width:112px;aspect-ratio:1;flex-shrink:0;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.35);box-shadow:0 2px 6px rgba(0,0,0,.5)}
.tb-long-pilot.tb-long-pilot--click{border:none;box-shadow:none;background:transparent}
.tb-long-pilot--click{cursor:pointer}
.tb-long-pilot img{width:100%;height:100%;object-fit:cover}
.tb-long-pilot-corner .tb-slot-rec-pilot{width:clamp(61px,71.5%,101px);max-width:101px;min-width:47px}
.tb-long-pilot-corner .tb-slot-add-pilot--corner{position:relative;right:auto;bottom:auto;width:clamp(61px,71.5%,101px);max-width:101px;min-width:47px;aspect-ratio:1;font-size:23px;font-weight:700}
.tb-long-lb{position:absolute;left:4px;bottom:4px;right:4px;z-index:6;display:flex;align-items:center;justify-content:center;gap:2px;font-size:9px;color:#e2e8f0;text-shadow:0 1px 2px #000}
.tb-long-lb--interactive{cursor:pointer;padding:3px 4px;border-radius:6px;background:rgba(0,0,0,.5);user-select:none}
.tb-long-lb--interactive:hover{background:rgba(0,0,0,.65)}
.tb-long-pilot-actions{position:absolute;left:4px;bottom:4px;right:auto;display:flex;flex-direction:row;align-items:flex-end;gap:3px;z-index:8}
.tb-slot-rec-pilot{position:relative;right:auto;bottom:auto;width:28%;max-width:36px;min-width:26px;aspect-ratio:1}
.tb-slot-add-pilot--mini{width:22%;max-width:30px;min-width:22px;aspect-ratio:1;font-size:12px}
.tb-long-lv{position:absolute;left:4px;bottom:20px;z-index:6;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}
.tb-long-supporter-buff{position:absolute;right:4px;top:4px;z-index:9;display:flex;flex-direction:column;align-items:center;gap:0;line-height:0;pointer-events:none}
.tb-long-supporter-buff .tb-long-supporter-buff-img{width:20px;height:20px;object-fit:contain;display:block;filter:drop-shadow(0 0 6px rgba(74,222,128,1)) drop-shadow(0 0 3px rgba(34,197,94,1)) brightness(1.12) saturate(1.15);animation:tb-leader-pulse 1.8s ease-in-out infinite}
@keyframes tb-leader-pulse{0%,100%{opacity:.88}50%{opacity:1}}
.tb-slot-add-ms{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;background:rgba(15,23,42,.72)}
.tb-slot-add-ms img{width:40%;max-width:44px;opacity:.85}
.tb-slot-add-pilot{position:absolute;right:2px;bottom:2px;width:28%;max-width:36px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;z-index:8;border-radius:6px;border:1px solid rgba(255,255,255,.45);background:rgba(15,23,42,.5);cursor:pointer}
.tb-long-pilot-actions .tb-slot-add-pilot{position:relative;right:auto;bottom:auto;flex-shrink:0}
.tb-slot-add-pilot img{width:70%;opacity:.85}
.tb-deploy-map{display:grid;grid-template-rows:auto auto;gap:8px;padding:8px;background:rgba(15,23,42,.6);border:1px solid var(--border-color);border-radius:10px;font-size:11px;font-weight:700;color:var(--text-muted)}
.tb-deploy-squad-lbl{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:2px 0 0}
.tb-rearrange-dual{display:flex;flex-direction:row;gap:18px;align-items:flex-start;justify-content:center;flex-wrap:nowrap;width:100%}
.tb-rearrange-squad{flex:1;min-width:0;max-width:calc(50% - 9px);margin-bottom:0}
.tb-rearrange-squad+.tb-rearrange-squad{margin-top:0}
@media(max-width:900px){.tb-rearrange-dual{flex-direction:column;align-items:stretch}.tb-rearrange-squad{max-width:100%}}
.tb-deploy-row{display:flex;gap:4px;justify-content:center}
.tb-deploy-cell{flex:1;min-height:32px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(148,163,184,.35);border-radius:6px;color:var(--text-secondary);font-size:10px;padding:2px;text-align:center;line-height:1.2}
.tb-head-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tb-head-actions button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text);cursor:pointer;font-size:13px}
.tb-head-actions button:hover{border-color:var(--accent-cyan)}
.tb-head-actions img.tb-toolbar-ic{width:22px;height:22px}
.tb-head-title-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.tb-rearrange-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:520;display:none;align-items:center;justify-content:center;padding:16px}
.tb-rearrange-overlay.active{display:flex}
.tb-rearrange-card{background:var(--bg-modal,#141c2e);border:1px solid var(--border-color);border-radius:12px;max-width:min(1100px,100%);width:100%;max-height:92vh;overflow:auto;padding:16px;box-shadow:0 16px 48px rgba(0,0,0,.55);isolation:isolate}
.tb-rearrange-banner{text-align:center;padding:8px;margin-bottom:12px;background:rgba(6,182,212,.12);border:1px solid rgba(6,182,212,.35);border-radius:8px;font-size:13px;color:var(--accent-cyan)}
.tb-supp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 14px;align-items:start}
@media(max-width:700px){.tb-supp-row{grid-template-columns:1fr}}
@media(max-width:768px){
.tb-dual-squads{flex-direction:column;align-items:stretch}
.tb-squad-panel{min-width:0;width:100%;max-width:100%}
.tb-slot-row{justify-content:center;gap:6px;width:100%;flex-wrap:wrap}
.tb-slot-col{flex:0 0 auto;width:min(19vw,118px);min-width:80px;max-width:min(19vw,118px)}
.tb-slot-col:only-child{flex:0 0 auto;width:min(45vw,168px);max-width:min(45vw,168px)}
}
.tb-supp-col{display:flex;flex-direction:column;gap:6px;min-width:0}
.tb-supp-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;min-width:0}
.tb-supp-col-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:0}
.tb-squad-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;min-width:0}
.tb-clear-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid var(--border-color);background:rgba(15,23,42,.55);cursor:pointer;box-sizing:border-box}
.tb-clear-btn:hover{border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.1)}
.tb-clear-btn:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}
.tb-clear-btn img{width:20px;height:20px;object-fit:contain;display:block}
.tb-supp-card{position:relative;min-height:100px;border-radius:10px;overflow:visible;background:rgba(15,23,42,.6);border:1px solid var(--border-color);cursor:pointer}
.tb-supp-card-stack{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:6px 8px 8px;width:100%;box-sizing:border-box}
.tb-supp-card-stack--full{min-height:0}
.tb-supp-card-stack .tb-supp-frames{padding:0;margin:0;min-height:0;flex:0 0 auto}
.tb-supp-frames{display:flex;align-items:flex-start;justify-content:flex-start;gap:0;padding:0;position:relative;min-height:88px}
.tb-supp-frames--left{margin-right:auto;margin-left:0;align-self:flex-start}
.tb-supp-card-meta-in{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-self:stretch;justify-content:flex-start;padding:2px 0 0}
.tb-supp-card-name{font-size:13px;color:var(--text);line-height:1.25;display:block;overflow:hidden;text-overflow:ellipsis}
.tb-supp-meta-line--in-card{margin-bottom:0;align-items:center;gap:6px;flex-wrap:wrap}
.tb-supp-side{width:22%;max-width:56px;object-fit:contain}
.tb-supp-side.mirror{transform:scaleX(-1)}
.tb-supp-portrait{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:42%;max-width:72px;aspect-ratio:1;border-radius:6px;overflow:hidden}
.tb-supp-portrait img{width:100%;height:100%;object-fit:cover}
.tb-supp-bottom{position:absolute;left:15%;right:15%;bottom:4px;height:18%;object-fit:fill;width:70%;pointer-events:none}
.tb-supp-placeholder{display:flex;align-items:center;justify-content:center;min-height:100px;font-size:12px;color:var(--text-muted);text-align:center;padding:8px}
.tb-supp-detail{font-size:11px;line-height:1.45;color:var(--text-secondary);margin-top:4px;min-height:0}
.tb-supp-detail strong{display:block;margin-bottom:6px;font-size:14px;color:var(--text)}
.tb-supp-meta-line{font-size:12px;color:var(--text-secondary);margin-bottom:6px}
.tb-supp-lb-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}
.tb-supp-inline-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.tb-supp-lb-pips{display:inline-flex;align-items:center}
.tb-supp-boost{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.tb-supp-sec{margin-top:10px;padding-top:8px;border-top:1px solid rgba(148,163,184,.2)}
.tb-supp-sec-title{font-size:11px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;letter-spacing:.04em}
.tb-supp-leader-item{margin-bottom:10px;font-size:12px;line-height:1.45}
.tb-supp-leader-desc{color:var(--text-secondary)}
.tb-supp-na{color:var(--text-muted);font-size:11px;margin-left:4px}
.tb-supp-act-item{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;font-size:12px}
.tb-supp-act-ic{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.tb-supp-act-name{font-weight:600}
.tb-supp-act-desc{color:var(--text-muted);font-size:11px;margin-top:2px;white-space:pre-wrap}
.tb-op-box{margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color)}
.tb-op-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.tb-op-title{font-size:12px;font-weight:700;color:var(--accent-cyan)}
.tb-op-add{min-width:36px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text);cursor:pointer;font-size:18px;line-height:1}
.tb-op-add:disabled{opacity:.45;cursor:not-allowed}
.tb-op-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.2);margin-bottom:6px;font-size:12px}
.tb-op-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-op-rm{border:none;background:rgba(239,68,68,.25);color:#fecaca;border-radius:6px;width:28px;height:28px;cursor:pointer;line-height:1;font-size:14px}
.tb-op-empty{font-size:12px;color:var(--text-muted)}
.tb-long-op{position:absolute;left:2px;right:2px;bottom:2px;max-height:42%;z-index:12;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;box-sizing:border-box}
.tb-long-op .tb-op-box{pointer-events:auto;margin:0;padding:5px 6px;border:none;border-radius:6px;background:rgba(15,23,42,.92);border:1px solid rgba(148,163,184,.35);max-height:100%;overflow-y:auto;box-sizing:border-box}
.tb-long-op .tb-op-head{margin-bottom:4px;gap:4px}
.tb-long-op .tb-op-title{font-size:9px}
.tb-long-op .tb-op-add{min-width:26px;height:24px;font-size:14px;padding:0}
.tb-long-op .tb-op-row{padding:3px 4px;margin-bottom:3px;font-size:9px}
.tb-long-op .tb-op-rm{width:22px;height:22px;font-size:11px}
.tb-long-op .tb-op-empty{font-size:9px}
.tb-supp-meta-line--lvl{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:8px;max-width:100%;white-space:nowrap}
.tb-supp-meta-line--lvl .tb-supp-lvl-txt{flex-shrink:0;white-space:nowrap;display:inline}
.tb-supp-lvl-slider-row{display:flex;align-items:center;gap:8px;margin-top:6px;width:auto;max-width:100%;align-self:flex-start;box-sizing:border-box;flex-wrap:nowrap}
.tb-supp-lvl-slider-lbl{font-size:10px;font-weight:600;color:var(--text-muted);flex-shrink:0;line-height:1.25;max-width:80px}
.tb-supp-lvl-slider-row input[type=range]{width:128px;max-width:42vw;flex:0 0 auto;height:6px;accent-color:var(--accent-cyan,#22d3ee);cursor:pointer}
.tb-supp-lvl-slider-val{font-size:11px;font-weight:700;color:var(--text);min-width:26px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}
.tb-supp-lb-select{flex-shrink:0;font-size:11px;padding:2px 6px;border-radius:6px;background:var(--card-bg);color:var(--text);border:1px solid var(--border-color);min-width:0;max-width:100%}
.tb-stats-all{margin-top:4px;width:100%;overflow-x:visible}
.tb-stats-all-inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:8px 10px;align-items:stretch;padding:2px 0;width:100%;box-sizing:border-box}
.tb-stats-all.tb-stats-all--squads{display:flex;flex-direction:column;gap:14px;width:100%}
.tb-stats-squad-h{font-size:11px;font-weight:700;color:var(--accent-cyan);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;line-height:1.3}
.tb-stats-squad-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 10px;width:100%;box-sizing:border-box}
@media(max-width:720px){.tb-stats-squad-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.tb-stats-squad-cols{grid-template-columns:1fr}}
.tb-stats-unit-col{min-width:0;padding:8px;border-radius:8px;border:1px solid rgba(148,163,184,.28);background:rgba(0,0,0,.22);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.tb-stats-unit-col:hover{border-color:rgba(148,163,184,.45)}
.tb-stats-unit-col.is-sel{border-color:rgba(34,211,238,.7);box-shadow:0 0 0 1px rgba(34,211,238,.22)}
.tb-stats-unit-col:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}
.tb-stats-unit-name{font-weight:600;font-size:10px;line-height:1.25;margin-bottom:6px;max-height:2.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.tb-stats-unit-name--empty{color:var(--text-muted);text-align:center;font-weight:500}
.tb-stats-unit-warn{font-size:10px;line-height:1.35;color:#f87171;font-weight:600}
.tb-stats-unit-rows{display:flex;flex-direction:column;gap:3px}
.tb-stats-unit-row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:4px;font-size:10px;line-height:1.3}
.tb-stats-unit-row .tb-sul{color:var(--text-muted);flex-shrink:0}
.tb-stats-unit-row .tb-suv-wrap{text-align:right;min-width:0;font-variant-numeric:tabular-nums}
.tb-stats-unit-row .tb-suv{font-weight:700}
.tb-stat-plus{color:#4ade80;font-weight:600;font-size:9px;white-space:nowrap}
.tb-stat-minus{color:#f87171;font-weight:700;font-size:9px;white-space:nowrap}
.tb-stats-unit-row--neg .tb-suv{color:#f87171;font-weight:600}
.tb-slot-rec-pilot{border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.45);cursor:pointer;background:rgba(15,23,42,.5)}
.tb-stats-panel{margin-top:12px;padding:10px 12px;background:rgba(15,23,42,.45);border:1px solid var(--border-color);border-radius:10px;font-size:12px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
@media(max-width:720px){.tb-stats-panel{padding:8px 10px;font-size:11px;margin-top:10px}}
.tb-stats-panel .tb-stats-unit-name{word-break:break-word;overflow-wrap:anywhere}
@media(max-width:720px){.tb-stats-unit-name{max-height:none;overflow:visible;-webkit-line-clamp:unset}}
.tb-stats-hint{font-size:11px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}
.tb-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
@media(max-width:600px){.tb-stats-grid{grid-template-columns:repeat(2,1fr)}}
.tb-stat-cell{background:rgba(0,0,0,.2);padding:8px;border-radius:6px;text-align:center}
.tb-stat-lbl{font-size:10px;color:var(--text-muted)}
.tb-stat-val{font-size:15px;font-weight:700;color:var(--text)}
.tb-form-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:530;display:none;align-items:center;justify-content:center;padding:16px}
.tb-form-overlay.active{display:flex}
.tb-form-card{background:var(--bg-modal,#141c2e);border:1px solid var(--border-color);border-radius:12px;padding:16px;max-width:min(720px,100%);width:100%;max-height:85vh;overflow:auto;box-shadow:0 16px 48px rgba(0,0,0,.55);isolation:isolate}
.tb-form-head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tb-form-title{font-weight:700;font-size:17px;margin:0;line-height:1.25}
.tb-form-actions{display:flex;flex-wrap:wrap;gap:8px}
.tb-form-actions button{padding:6px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input,#0d1321);color:var(--text-primary);cursor:pointer;font-size:12px}
.tb-form-actions button:hover{border-color:var(--accent-cyan)}
.tb-form-subtitle{font-size:11px;font-weight:700;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 8px}
.tb-fpv-root{padding:12px;border-radius:10px;background:var(--bg-secondary,#111827);border:1px solid rgba(148,163,184,.28);margin-bottom:4px}
.tb-fpv-squad{margin-bottom:16px}
.tb-fpv-squad:last-of-type{margin-bottom:0}
.tb-fpv-squad-head{margin-bottom:8px}
.tb-fpv-name-input{width:100%;max-width:320px;padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg);color:var(--text);font-size:13px;box-sizing:border-box}
.tb-fpv-squad-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px;overflow-x:auto;padding-bottom:4px}
.tb-fpv-pairs{display:flex;gap:6px;flex:1;min-width:0;justify-content:flex-start}
.tb-fpv-pair{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 auto;width:52px}
.tb-fpv-cell{width:48px;height:48px;border-radius:8px;overflow:hidden;background:rgba(0,0,0,.35);border:1px solid rgba(148,163,184,.3);display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.tb-fpv-unit,.tb-fpv-pilot{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tb-fpv-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:18px;font-weight:600}
.tb-fpv-empty--sm{font-size:14px}
.tb-fpv-supp{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding-left:4px;border-left:1px solid rgba(148,163,184,.2)}
.tb-fpv-supp-lbl{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.tb-fpv-supp-empty{width:72px;height:72px;border-radius:10px;border:1px dashed rgba(148,163,184,.35);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px}
.tb-fpv-supp .tb-supp-portrait-only{border:none;background:transparent;overflow:hidden;border-radius:8px}
.tb-fpv-opsec{margin-top:12px;padding-top:10px;border-top:1px solid rgba(148,163,184,.22)}
.tb-fpv-opsec--squad:first-of-type{margin-top:8px}
.tb-fpv-op-title{font-size:11px;font-weight:700;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.tb-fpv-op-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tb-fpv-op-li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text)}
.tb-fpv-op-thum{width:24px;height:24px;object-fit:contain;border-radius:4px;background:rgba(0,0,0,.25);flex-shrink:0}
.tb-fpv-op-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-form-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.tb-form-row--saved{flex-wrap:wrap;align-items:stretch}
.tb-form-slot-idx{min-width:22px;font-weight:700;flex-shrink:0;line-height:32px}
.tb-form-row--saved input[type=text]{flex:1 1 160px;min-width:0;max-width:100%}
.tb-form-row input[type=text]{flex:1;padding:6px 8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input,#0d1321);color:var(--text-primary)}
.tb-form-row button{flex-shrink:0}
.tb-form-row--saved .tb-form-row-action{font-size:12px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-input,#0d1321);color:var(--text-primary);cursor:pointer}
.tb-form-row--saved .tb-form-row-action:hover{border-color:var(--accent-cyan)}
.tb-picker-overlay{position:fixed;inset:0;z-index:540;display:none;padding:48px 16px;overflow-y:auto;align-items:flex-start;justify-content:center;background:transparent}
.tb-picker-overlay.active{display:flex}
.tb-picker-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);cursor:pointer}
.tb-picker-dialog{position:relative;z-index:1;background:var(--card-bg,#0f172a);border:1px solid var(--border-color);border-radius:12px;width:min(920px,calc(100vw - 32px));max-height:78vh;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.5);isolation:isolate}
.tb-picker-head{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--border-color);align-items:center;background:var(--card-bg,#0f172a)}
.tb-picker-head input{flex:1;min-width:0;padding:8px 10px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg,#1e293b);color:var(--text)}
.tb-picker-head button{background:var(--card-bg,#0f172a);color:var(--text);border:1px solid var(--border-color);border-radius:6px}
.tb-picker-body{overflow-y:auto;padding:10px;min-height:120px;max-height:min(56vh,calc(78vh - 56px));background:var(--card-bg,#0f172a)}
.tb-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:var(--card-bg,#0f172a);padding:4px;border-radius:8px}
.tb-picker-item{padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--border-color);display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;background:var(--bg,#1e293b)}
.tb-picker-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.tb-picker-role-inline{flex-shrink:0;display:flex;align-items:center}
.tb-picker-role-ic{width:22px;height:22px;object-fit:contain;display:block}
.list-thumb-composite--picker .list-thumb-icons:empty{display:none}
#panel-team_builder #tbPickerBody .list-thumb-composite--picker.list-thumb-has-frame .list-thumb-portrait-wrap,
#dcPickerBody .list-thumb-composite--picker.list-thumb-has-frame .list-thumb-portrait-wrap{top:5px;left:5px;right:5px;bottom:5px;display:flex;align-items:center;justify-content:center}
#panel-team_builder #tbPickerBody .list-thumb-composite--picker .list-thumb-portrait-wrap .list-thumb-portrait,
#dcPickerBody .list-thumb-composite--picker .list-thumb-portrait-wrap .list-thumb-portrait{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center top;flex:1}
#panel-team_builder #tbPickerBody .list-thumb-composite--picker.list-thumb-has-frame .list-thumb-portrait-wrap .list-thumb-portrait,
#dcPickerBody .list-thumb-composite--picker.list-thumb-has-frame .list-thumb-portrait-wrap .list-thumb-portrait{max-width:100%;max-height:100%}
#dcPickerBody .tb-picker-grid{background:transparent}
#dcPickerOverlay .cmp-picker{max-width:min(920px,calc(100vw - 40px))}
#dcPickerBody .dc-picker-mod-thum,#panel-team_builder #tbPickerBody .dc-picker-mod-thum,.tb-picker-body .dc-picker-mod-thum{display:block;border-radius:6px;background:var(--bg-input);object-fit:contain}
#dcPickerBody .dc-picker-mod-thum--ph,#panel-team_builder #tbPickerBody .dc-picker-mod-thum--ph,.tb-picker-body .dc-picker-mod-thum--ph{display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg-input);color:var(--text-muted);font-size:22px;line-height:1;flex-shrink:0}
#dcPickerBody .tb-picker-option-list--rich,#panel-team_builder #tbPickerBody .tb-picker-option-list--rich,.tb-picker-body .tb-picker-option-list--rich{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;box-sizing:border-box}
#dcPickerBody .tb-picker-option-list--rich .tb-picker-item,#panel-team_builder #tbPickerBody .tb-picker-option-list--rich .tb-picker-item,.tb-picker-body .tb-picker-option-list--rich .tb-picker-item{width:100%;box-sizing:border-box}
#dcPickerBody .tb-picker-item--rich,#panel-team_builder #tbPickerBody .tb-picker-item--rich,.tb-picker-body .tb-picker-item--rich{align-items:flex-start;flex-wrap:nowrap}
#dcPickerBody .tb-picker-item--rich .tb-picker-item-body,#panel-team_builder #tbPickerBody .tb-picker-item--rich .tb-picker-item-body,.tb-picker-body .tb-picker-item--rich .tb-picker-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left}
#dcPickerBody .tb-picker-item--rich .tb-picker-item-name,#panel-team_builder #tbPickerBody .tb-picker-item--rich .tb-picker-item-name,.tb-picker-body .tb-picker-item--rich .tb-picker-item-name{flex:0 1 auto;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.25}
#dcPickerBody .tb-picker-item-meta,#panel-team_builder #tbPickerBody .tb-picker-item-meta,.tb-picker-body .tb-picker-item-meta{font-size:11px;line-height:1.35;color:var(--text-muted);white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;width:100%}
#dcPickerBody .tb-picker-item-tags,#panel-team_builder #tbPickerBody .tb-picker-item-tags,.tb-picker-body .tb-picker-item-tags{width:100%;margin-top:1px}
#dcPickerBody .tb-picker-item-tags .detail-tags-row,#panel-team_builder #tbPickerBody .tb-picker-item-tags .detail-tags-row,.tb-picker-body .tb-picker-item-tags .detail-tags-row{flex-wrap:wrap;gap:4px;justify-content:flex-start;margin:0}
#dcPickerBody .tb-picker-grid--rich .tb-picker-item,#panel-team_builder #tbPickerBody .tb-picker-grid--rich .tb-picker-item,.tb-picker-body .tb-picker-grid--rich .tb-picker-item{align-items:flex-start}
.tb-picker-item--supp{align-items:center;overflow:hidden;min-width:0}
.tb-picker-supp-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center;overflow:hidden}
.tb-picker-item--supp .tb-picker-item-name{flex:0 0 auto;width:100%;max-width:100%}
.tb-picker-supp-meta{display:flex;align-items:center;gap:6px;min-width:0;width:100%;overflow:hidden}
.tb-picker-supp-tags{flex:1 1 auto;min-width:0;margin:0!important;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px;max-height:28px;overflow:hidden}
.tb-picker-supp-tags .tag-composite{flex:0 1 auto;min-width:0;max-width:100%}
.tb-picker-supp-tags .tag-composite:hover{transform:none}
.tb-picker-supp-tags .tag-part-value{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-picker-supp-active{flex:0 0 auto;display:flex;align-items:center;justify-content:center;line-height:0}
.tb-picker-supp-active-ic,.tb-picker-supp-active img,.tb-picker-supp-active picture{width:28px;height:28px;object-fit:contain;display:block}
.tb-picker-toolbar{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border-color);background:var(--card-bg,#0f172a)}
.tb-picker-toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.tb-picker-toolbar-lbl{font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0}
.tb-picker-sort-btns,.tb-picker-attr-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.tb-picker-sort-btn,.tb-picker-attr-chip{font-family:inherit;font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input,rgba(15,23,42,.85));color:var(--text-secondary);cursor:pointer}
.tb-picker-sort-btn.active,.tb-picker-attr-chip.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:rgba(34,211,238,.1)}
.tb-slot-rec-pilot img{width:100%;height:100%;object-fit:cover;display:block}
.tb-slot-rec-pilot:focus{outline:2px solid var(--accent-cyan);outline-offset:1px}
.tb-slot-op-mini{font-size:9px;color:var(--text-muted);position:absolute;left:4px;top:30px;z-index:8;max-width:90%;line-height:1.2;text-shadow:0 1px 2px #000}
