:root{--bg:#0b1116;--panel:#121a22;--panel-2:#0f151c;--accent:#3cd2a5;--accent-2:#58a6ff;--text:#e8eef5;--muted:#9bb0c3;--danger:#ff6b6b;--gold:#f7d377;--ur:#d7b2ff;--sr:#73d0ff;--r:#c3d3df;--shadow:0 10px 30px rgba(0,0,0,0.35);--grid:rgba(88,166,255,0.08);--gacha-banner-aspect:720 / 150;}*{box-sizing:border-box;}body{margin:0;font-family:"Segoe UI","Segoe UI Variable","Trebuchet MS",Tahoma,sans-serif;color:var(--text);background:radial-gradient(circle at top,#18212a,#0b1116 60%);min-height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;user-select:none;}.bg-grid{position:fixed;inset:0;background-image:linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(0deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;opacity:0.6;pointer-events:none;}*{scrollbar-color:rgba(88,166,255,0.55) rgba(12,18,24,0.6);scrollbar-width:thin;}*::-webkit-scrollbar{width:8px;height:8px;}*::-webkit-scrollbar-thumb{background:rgba(88,166,255,0.55);border-radius:999px;}*::-webkit-scrollbar-track{background:rgba(12,18,24,0.6);border-radius:999px;}.topbar{display:flex;justify-content:flex-start;align-items:center;padding:16px 28px;position:sticky;top:0;z-index:5;overflow:hidden;background:linear-gradient(90deg,rgba(12,18,24,0.92),rgba(12,18,24,0.82));backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,0.04);gap:18px;flex-wrap:nowrap;}.topbar > *{position:relative;z-index:1;}.logo{display:flex;gap:14px;align-items:center;padding-left:3.8em;position:relative;z-index:1;flex:0 1 auto;min-width:0;}.logo-copy{min-width:0;}.logo::before{content:"";position:absolute;left:0;top:50%;width:3em;height:3em;transform:translateY(-50%);background-image:url("assets/icon.webp");background-repeat:no-repeat;background-position:center;background-size:contain;opacity:0.75;pointer-events:none;}.logo::after{content:"";position:absolute;left:0;top:50%;height:3.1em;width:12.5em;transform:translateY(-50%);background:linear-gradient(90deg,rgba(12,18,24,0) 0%,rgba(12,18,24,0.5) 60%,rgba(12,18,24,0.9) 100%);pointer-events:none;z-index:-1;}.logo-mark{width:0;height:0;opacity:0;}.logo-title{font-weight:700;letter-spacing:0.12em;text-transform:uppercase;font-size:0.9rem;}.logo-sub{color:var(--muted);font-size:0.75rem;white-space:nowrap;}.tab-bar{display:flex;gap:10px;flex-wrap:nowrap;flex:0 1 auto;min-width:0;}.tab-btn{border:1px solid rgba(255,255,255,0.08);background:rgba(16,22,29,0.8);color:var(--text);padding:8px 14px;border-radius:10px;cursor:pointer;font-weight:700;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.16em;}.tab-btn.active{background:linear-gradient(135deg,rgba(60,210,165,0.35),rgba(88,166,255,0.4));border-color:rgba(88,166,255,0.6);}.top-stats{display:flex;gap:16px;margin-left:auto;flex-wrap:nowrap;min-width:0;}.stat{background:var(--panel);padding:6px 12px;border-radius:10px;display:grid;gap:4px;min-width:64px;box-shadow:var(--shadow);}.topbar-account{position:relative;flex:0 0 auto;--account-rarity:rgba(155,176,195,0.65);--account-rarity-soft:rgba(155,176,195,0.2);--account-rarity-glow:rgba(155,176,195,0.28);}.topbar-brand{display:grid;gap:2px;min-width:0;flex:0 1 auto;}.topbar-account-toggle{width:42px;height:42px;border-radius:999px;border:1px solid var(--account-rarity);background:rgba(10,16,22,0.85);padding:0;display:grid;place-items:center;overflow:hidden;cursor:pointer;box-shadow:0 0 0 1px var(--account-rarity-soft),0 0 16px var(--account-rarity-glow);}.topbar-account-toggle img{width:100%;height:100%;object-fit:cover;display:none;}.topbar-account-toggle span{width:100%;height:100%;display:grid;place-items:center;font-size:0.68rem;font-weight:700;letter-spacing:0.12em;color:var(--text);}.topbar-account-panel{position:absolute;left:0;top:calc(100% + 8px);min-width:170px;background:rgba(10,16,22,0.96);border:1px solid var(--account-rarity);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,0.45),0 0 24px var(--account-rarity-glow);padding:10px;display:none;gap:8px;z-index:124;overflow:hidden;}.topbar-account-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--account-rarity),transparent);opacity:0.9;pointer-events:none;}.topbar-account.open .topbar-account-panel{display:grid;}.account-operator{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;color:var(--text);text-shadow:0 0 10px var(--account-rarity-glow);}.account-row{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:0.7rem;color:var(--muted);}.account-row span{min-width:64px;white-space:nowrap;}.account-row strong{color:var(--text);letter-spacing:0.03em;margin-left:auto;}.topbar-account-panel .account-row input{flex:1;min-width:0;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,0.14);background:rgba(8,13,18,0.9);color:var(--text);padding:0 10px;font-size:0.72rem;letter-spacing:0.02em;outline:none;transition:border-color 120ms ease,box-shadow 120ms ease,background 120ms ease;}.topbar-account-panel .account-row input::placeholder{color:rgba(201,213,225,0.5);}.topbar-account-panel .account-row input:focus{border-color:var(--account-rarity);background:rgba(10,16,22,0.96);box-shadow:0 0 0 3px var(--account-rarity-soft);}.topbar-account-panel .account-row button{flex:1;min-width:0;height:30px;padding:0 10px;border-radius:8px;font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;}.topbar-account-panel .account-row button:focus-visible{outline:2px solid var(--account-rarity);outline-offset:1px;}.account-auth-msg{margin-top:2px;min-height:16px;font-size:0.66rem;line-height:1.3;color:var(--muted);}.account-auth-msg[data-tone="error"]{color:#ff9b9b;}.account-auth-msg[data-tone="success"]{color:#92e7c5;}.account-auth-user,.account-auth-guest{display:grid;gap:8px;}.topbar-account[data-rarity="R"]{--account-rarity:rgba(195,211,223,0.62);--account-rarity-soft:rgba(195,211,223,0.2);--account-rarity-glow:rgba(195,211,223,0.2);}.topbar-account[data-rarity="SR"]{--account-rarity:rgba(115,208,255,0.8);--account-rarity-soft:rgba(115,208,255,0.25);--account-rarity-glow:rgba(115,208,255,0.3);}.topbar-account[data-rarity="SSR"]{--account-rarity:rgba(247,211,119,0.85);--account-rarity-soft:rgba(247,211,119,0.28);--account-rarity-glow:rgba(247,211,119,0.35);}.topbar-account[data-rarity="UR"]{--account-rarity:rgba(215,178,255,0.9);--account-rarity-soft:rgba(215,178,255,0.3);--account-rarity-glow:rgba(170,210,255,0.38);}.topbar-menu{position:relative;margin-left:8px;display:none;}.topbar-menu-toggle{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,0.14);background:rgba(10,16,22,0.82);color:var(--text);display:grid;place-items:center;padding:0;cursor:pointer;}.topbar-menu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}.topbar-menu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:176px;background:rgba(10,16,22,0.96);border:1px solid rgba(255,255,255,0.1);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,0.45);padding:8px;display:none;gap:6px;}.topbar-menu.open .topbar-menu-panel{display:grid;}.topbar-menu-panel .tab-btn{width:100%;text-align:left;letter-spacing:0.1em;}.topbar.topbar-no-icon .logo{padding-left:0;}.topbar.topbar-no-icon .logo::before,.topbar.topbar-no-icon .logo::after{display:none;}.topbar.topbar-no-tagline .logo-sub{display:none;}.topbar.topbar-use-burger .tab-bar{display:none;}.topbar.topbar-use-burger .topbar-menu{display:block;}.stat span{font-size:0.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.12em;}.levelup-container{position:fixed;top:110px;left:50%;transform:translateX(-50%);display:grid;gap:10px;z-index:30;pointer-events:none;justify-items:center;}.levelup-pop{background:linear-gradient(135deg,rgba(88,166,255,0.2),rgba(60,210,165,0.25));border:1px solid rgba(255,255,255,0.18);border-radius:12px;padding:14px 22px;box-shadow:0 12px 30px rgba(0,0,0,0.35);text-transform:uppercase;letter-spacing:0.14em;font-size:0.85rem;color:var(--text);animation:levelPop 1.4s ease forwards;backdrop-filter:blur(6px);}.levelup-pop strong{font-size:1.1rem;letter-spacing:0.2em;}.levelup-pop.ssr{background:linear-gradient(135deg,rgba(255,197,124,0.25),rgba(255,116,76,0.25));}.rebirth-overlay{position:fixed;inset:0;background:rgba(6,9,12,0.7);display:none;align-items:center;justify-content:center;z-index:30;backdrop-filter:blur(6px);}.rebirth-overlay.active{display:flex;}.rebirth-modal{width:min(520px,90vw);background:rgba(12,18,24,0.95);border-radius:16px;border:1px solid rgba(255,255,255,0.08);padding:18px 20px;display:grid;gap:12px;box-shadow:0 20px 60px rgba(0,0,0,0.45);}.rebirth-title{font-weight:700;letter-spacing:0.16em;text-transform:uppercase;font-size:0.85rem;}.rebirth-text{color:var(--muted);font-size:0.85rem;line-height:1.4;}.rebirth-actions{display:flex;justify-content:flex-end;gap:10px;}.tab-panels{flex:1;min-height:0;height:auto;padding:14px 24px 18px;}.panel{background:linear-gradient(180deg,rgba(18,26,34,0.95),rgba(11,17,22,0.95));border-radius:18px;padding:16px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,0.05);height:100%;overflow:hidden;display:none;}.panel.active{display:block;}.panel.gacha{overflow-y:auto;overflow-x:hidden;}.panel.gacha .gacha-layout{height:auto;min-height:100%;align-content:start;}.ops{display:none;}.ops.active{display:grid;grid-template-rows:auto 1fr;gap:6px;}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px;}.panel-header h2{margin:0;font-size:1.05rem;}.panel-subheader{margin-top:12px;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--muted);}.inventory-block .panel-subheader{margin-top:0;}.last-pull-block .panel-subheader{margin-top:0;}.gacha-left .panel-subheader + .gacha-result{margin-top:0;}.chip{font-size:0.65rem;letter-spacing:0.1em;color:var(--muted);background:var(--panel-2);padding:6px 10px;border-radius:999px;}.gacha-layout{display:grid;grid-template-columns:1.05fr 0.95fr;gap:16px;height:100%;}.gacha-layout.solo{grid-template-columns:1fr;}.team-layout{display:grid;grid-template-columns:1.05fr 0.95fr;gap:16px;height:100%;min-height:0;margin-top:10px;}.team-left,.team-right{display:flex;flex-direction:column;gap:10px;min-height:0;}.team-right{align-self:start;}.gacha-left,.gacha-right{display:flex;flex-direction:column;gap:10px;min-height:0;}.last-pull-block{display:grid;grid-template-rows:auto 1fr;gap:2px;min-height:0;align-self:start;}.inventory-block,.team-block{display:flex;flex-direction:column;gap:4px;min-height:0;}.inventory-block{flex:1 1 auto;align-content:start;gap:4px;}.team-block{flex:1 1 auto;margin-top:4px;grid-template-rows:auto minmax(0,1fr);overflow:visible;}.banner{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;background:linear-gradient(135deg,rgba(60,210,165,0.15),rgba(88,166,255,0.2));border-radius:14px;padding:10px;min-height:190px;position:relative;width:100%;}.banner-stack{display:grid;gap:10px;align-content:start;align-self:start;width:100%;}.banner-card{display:none;width:100%;}.banner-card.active{display:grid;}.banner-header{align-items:center;}.banner-meta{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;}.banner-info-btn{position:absolute;top:10px;right:10px;width:34px;height:34px;border:none;background:transparent;display:grid;place-items:center;padding:0;}.banner-info-btn svg{width:20px;height:20px;fill:none;stroke:rgba(214,226,235,0.9);stroke-width:1.8;}.banner-sub{margin-top:0;display:grid;gap:4px;}.banner-sub h3{margin:0 0 2px;}.banner-sub p{margin:0;}.banner-name{margin:0;font-family:"Cinzel","Trajan Pro","Georgia",serif;font-size:clamp(1.22rem,0.9rem + 0.7vw,1.7rem);font-weight:700;line-height:1.05;letter-spacing:0.09em;text-transform:uppercase;color:#f5fbff;text-shadow:0 2px 12px rgba(80,190,255,0.25),0 0 18px rgba(150,230,255,0.22);}.banner-subtitle{font-size:0.84rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:#b9defc;text-shadow:0 0 12px rgba(110,190,255,0.25);}.banner-tabs{display:inline-flex;gap:6px;margin-bottom:6px;}.banner-tab{border:1px solid rgba(255,255,255,0.12);background:rgba(10,16,22,0.6);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:0.2s ease;}.banner-tab.active{color:var(--text);border-color:rgba(88,166,255,0.65);background:linear-gradient(135deg,rgba(60,210,165,0.25),rgba(88,166,255,0.35));}.banner-art{width:100%;aspect-ratio:var(--banner-aspect,var(--gacha-banner-aspect));--banner-radius:10px;border-radius:var(--banner-radius);background:radial-gradient(circle at 25% 20%,rgba(88,166,255,0.6),transparent 55%),linear-gradient(135deg,#0f151c,#19232c);position:relative;overflow:hidden;isolation:isolate;contain:paint;clip-path:inset(0 round var(--banner-radius));}.banner-art::after{content:"";position:absolute;inset:-20%;background:radial-gradient(140px 90px at 50% 25%,rgba(255,245,210,0.85),rgba(255,245,210,0) 72%),radial-gradient(120px 120px at calc(50% + var(--flare-dirx,0) * 10%) calc(25% + var(--flare-diry,1) * 10%),rgba(255,230,170,0.55),rgba(255,230,170,0) 72%),radial-gradient(180px 180px at calc(50% + var(--flare-dirx,0) * 24%) calc(25% + var(--flare-diry,1) * 24%),rgba(255,218,150,0.35),rgba(255,218,150,0) 74%),radial-gradient(120px 120px at calc(50% + var(--flare-dirx,0) * 40%) calc(25% + var(--flare-diry,1) * 40%),rgba(255,210,130,0.22),rgba(255,210,130,0) 74%);opacity:calc(var(--glowAlpha,0.6) * 0.8);mix-blend-mode:screen;filter:saturate(1.2);}.banner-card[data-banner="call-of-the-sea"] .banner-art::after{opacity:0;}.banner-card[data-banner="armory-overdrive"] .banner-art::after{opacity:0;}.banner-card[data-banner="call-of-the-sea"] .banner-art::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(180px 140px at 24% 38%,rgba(88,166,255,0.42),transparent 60%),radial-gradient(220px 160px at 72% 62%,rgba(120,230,255,0.38),transparent 62%),linear-gradient(95deg,rgba(88,200,255,0.18),rgba(88,200,255,0) 55%);opacity:0.9;mix-blend-mode:screen;filter:blur(2px) saturate(1.2);transform-origin:center;transform:scale(1.18);animation:seaPulse 6s ease-in-out infinite;pointer-events:none;will-change:transform,opacity;}.banner-card[data-banner="armory-overdrive"] .banner-art::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(180px 140px at 24% 38%,rgba(255,110,214,0.42),transparent 60%),radial-gradient(220px 160px at 72% 62%,rgba(255,170,236,0.36),transparent 62%),linear-gradient(95deg,rgba(255,120,210,0.18),rgba(255,120,210,0) 55%);opacity:0.9;mix-blend-mode:screen;filter:blur(2px) saturate(1.25);transform-origin:center;transform:scale(1.2);animation:armoryPulse 7.4s ease-in-out -1.6s infinite;pointer-events:none;will-change:transform,opacity;}.banner-card[data-banner="call-of-the-sea"] .banner-art{transition:box-shadow 0.35s ease;}.banner-card[data-banner="armory-overdrive"] .banner-art{transition:box-shadow 0.35s ease;}.banner-card[data-banner="call-of-the-sea"]:hover .banner-art{box-shadow:inset 0 0 26px rgba(80,180,255,0.35),inset 0 0 60px rgba(40,120,200,0.25);}.banner-card[data-banner="armory-overdrive"]:hover .banner-art{box-shadow:inset 0 0 26px rgba(255,116,214,0.36),inset 0 0 60px rgba(185,70,156,0.26);}.banner-card[data-banner="call-of-the-sea"]:hover .banner-art::before{opacity:1;filter:blur(1px) saturate(1.35);}.banner-card[data-banner="armory-overdrive"]:hover .banner-art::before{opacity:1;filter:blur(1px) saturate(1.4);}@keyframes armoryPulse{0%{transform:translateX(1.5%) translateY(-0.5%) scale(1.2) rotate(0.8deg);opacity:0.52;}50%{transform:translateX(-2.5%) translateY(1%) scale(1.24) rotate(-1.1deg);opacity:0.88;}100%{transform:translateX(1.5%) translateY(-0.5%) scale(1.2) rotate(0.8deg);opacity:0.52;}}@keyframes seaPulse{0%{transform:translateX(-2%) translateY(0%) scale(1.18) rotate(-1deg);opacity:0.55;}50%{transform:translateX(2%) translateY(-1%) scale(1.22) rotate(1deg);opacity:0.85;}100%{transform:translateX(-2%) translateY(0%) scale(1.18) rotate(-1deg);opacity:0.55;}}.banner-info h3{margin:0 0 6px;}.banner-info{display:flex;flex-direction:column;min-height:100%;}.banner-info p{margin:0;font-size:0.78rem;color:var(--muted);}.banner-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;}.action-card{background:rgba(10,16,22,0.6);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:10px;display:grid;align-content:center;}.action-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;}.pull-card{display:grid;gap:6px;text-align:center;}.pull-card button,.alloy-pull button{width:100%;}.pull-price{font-size:0.7rem;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;}.banner-pity{margin-top:10px;text-align:center;}.banner-info-overlay{position:fixed;inset:0;background:rgba(6,9,12,0.7);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity 0.2s ease;z-index:20;}.banner-info-overlay.active{opacity:1;pointer-events:auto;}.banner-info-panel{width:min(720px,92vw);max-height:min(70vh,560px);background:rgba(12,18,24,0.95);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:16px;display:grid;gap:12px;box-shadow:0 22px 60px rgba(0,0,0,0.45);}.banner-info-header{display:flex;justify-content:space-between;gap:12px;align-items:center;}.banner-info-title{font-weight:700;letter-spacing:0.08em;text-transform:uppercase;font-size:0.85rem;}.banner-info-sub{color:var(--muted);font-size:0.72rem;}.banner-info-close{padding:6px 12px;}.banner-info-list{display:grid;gap:6px;overflow:auto;padding-right:6px;max-height:420px;}.banner-info-group{display:grid;gap:6px;padding:6px;border-radius:12px;background:rgba(10,16,22,0.5);border:1px solid rgba(255,255,255,0.04);}.banner-info-group-head{display:flex;justify-content:space-between;align-items:center;background:rgba(14,20,26,0.8);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:8px 10px;font-size:0.78rem;}.banner-info-group .banner-info-row{background:rgba(8,12,18,0.75);}@media (min-width:901px){.banner-card{display:grid;}.banner-tabs{display:none;}.last-pull-block{max-height:none;}.last-pull-block .gacha-result{height:auto;min-height:120px;overflow:visible;}.banner-stack{margin-bottom:6px;}}.banner-info-row{display:grid;grid-template-columns:80px 1fr 110px;gap:8px;align-items:center;background:rgba(10,16,22,0.65);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:8px 10px;font-size:0.78rem;}.banner-info-row .rarity{font-weight:700;letter-spacing:0.08em;}.banner-info-row .prob{text-align:right;font-variant-numeric:tabular-nums;}.sigils-line{font-size:1rem;font-weight:700;letter-spacing:0.03em;}.alloy-pull{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;width:100%;}.alloy-pull-btn{width:100%;}.alloy-price{font-size:0.72rem;letter-spacing:0.08em;}button{border:none;background:var(--panel-2);color:var(--text);padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600;transition:transform 0.2s ease,box-shadow 0.2s ease;}.alloy-pull-btn{padding:10px 14px;}button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,0.3);}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#071116;}button.primary-blue{background:linear-gradient(135deg,rgba(88,166,255,0.85),rgba(88,200,255,0.9));color:#071116;}button.danger{background:linear-gradient(135deg,rgba(255,107,107,0.9),rgba(255,71,87,0.8));color:#220709;}button:disabled{opacity:0.5;cursor:not-allowed;}.pity{margin-top:8px;font-size:0.72rem;color:var(--muted);}.gacha-result{min-height:0;height:100%;margin-top:0;overflow:visible;}.result-card{background:var(--panel-2);border-radius:12px;padding:10px;height:100%;display:grid;place-items:center;color:var(--muted);}.result-card.reveal{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;color:var(--text);}.result-card .portrait{width:110px;height:120px;border-radius:12px;object-fit:cover;}.result-card .portrait.fallback{display:block;}.inventory-meta{margin-top:0;display:flex;justify-content:space-between;font-size:0.7rem;color:var(--muted);}.inventory-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:0;}.inventory-tab{border:1px solid rgba(255,255,255,0.12);background:rgba(10,16,22,0.6);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:0.2s ease;}.inventory-tab.active{color:var(--text);border-color:rgba(88,166,255,0.65);background:linear-gradient(135deg,rgba(60,210,165,0.25),rgba(88,166,255,0.35));}.inventory-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:0;margin-bottom:0;padding-bottom:0;}.inventory-page{font-size:0.65rem;color:var(--muted);}.inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0;align-content:start;min-height:0;flex:1 1 auto;}.inventory-controls + .inventory{margin-top:0;}.inventory-empty{grid-column:1 / -1;background:rgba(10,16,22,0.6);border:1px dashed rgba(255,255,255,0.12);border-radius:12px;padding:16px;color:var(--muted);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;text-align:center;}.inventory-card{background:var(--panel-2);border-radius:12px;padding:10px;display:grid;gap:8px;position:relative;}.inventory-card.is-draggable{cursor:grab;touch-action:none;}.inventory-card.is-draggable:active{cursor:grabbing;}.inventory-card.dragging{opacity:0.55;}.inventory-main{display:grid;grid-template-columns:128px 1fr;gap:12px;align-items:start;}.portrait-wrap{position:relative;border-radius:12px;overflow:hidden;background:#0b1116;display:grid;place-items:center;}.portrait-wrap img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto;transform:translateZ(0);backface-visibility:hidden;position:relative;z-index:1;}.inventory-portrait-wrap{width:128px;height:198px;}.inventory-portrait{border-radius:10px;background:#111821;}.inventory-info{display:grid;gap:6px;}.inventory-header{display:grid;gap:2px;}.inventory-card.locked{opacity:0.35;}.inventory-card .row{display:flex;justify-content:space-between;align-items:center;font-size:0.65rem;color:var(--muted);}.inventory-card .actions{display:flex;gap:6px;}.inventory-card button{padding:6px 8px;font-size:0.6rem;}.team-builder{margin-top:8px;display:grid;gap:8px;overflow-y:hidden;overflow-x:visible;scrollbar-gutter:stable both-edges;min-height:0;padding:10px 18px 36px 18px;height:100%;overscroll-behavior:contain;align-content:stretch;}.team-slot{display:grid;grid-template-columns:136px 1fr 220px;gap:8px;align-items:stretch;background:var(--panel-2);border-radius:12px;padding:10px;border:1px solid transparent;box-sizing:border-box;margin:0 2px;transform-origin:center;min-height:0;}.team-builder.drag-active .team-slot{border-color:rgba(88,166,255,0.3);}.team-slot.drag-over{border-color:rgba(88,166,255,0.85);box-shadow:0 0 18px rgba(88,166,255,0.35);}.team-slot.dragging{opacity:0.55;}body.team-dragging,body.team-dragging *{user-select:none !important;}body.team-dragging{cursor:grabbing;}.team-drag-ghost{position:fixed;top:0;left:0;z-index:1400;pointer-events:none;width:190px;background:linear-gradient(165deg,rgba(20,31,44,0.96),rgba(9,14,21,0.94));border:1px solid rgba(255,255,255,0.24);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,0.45);overflow:hidden;}.team-drag-ghost-art{height:126px;background:#0b1116;}.team-drag-ghost-art img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;user-select:none;}.inventory-portrait,.team-slot img,.portrait-wrap img{-webkit-user-drag:none;user-select:none;}.team-drag-ghost-meta{display:grid;gap:2px;padding:8px 10px 10px;}.team-drag-ghost-meta strong{font-size:0.78rem;letter-spacing:0.03em;}.team-drag-ghost-meta span{font-size:0.65rem;color:var(--muted);letter-spacing:0.07em;text-transform:uppercase;}.team-slot.active{border-color:rgba(88,166,255,0.8);box-shadow:0 0 14px rgba(88,166,255,0.35);}.team-portrait-wrap{width:100%;height:100%;min-height:0;}.team-slot img,.team-slot .slot-fallback{border-radius:10px;object-fit:cover;background:#111821;image-rendering:auto;transform:translateZ(0);backface-visibility:hidden;}.team-loadout{display:grid;gap:8px;align-content:start;min-height:0;}.team-loadout-title{font-size:0.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.12em;}.team-loadout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}.team-loadout-slot{background:rgba(9,13,18,0.7);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:6px 8px;display:grid;gap:4px;min-height:52px;}.team-loadout-slot.weapon-slot{border-color:rgba(88,166,255,0.28);}.team-loadout-slot.weapon-slot.filled{background:linear-gradient(165deg,rgba(13,23,34,0.94),rgba(10,16,24,0.9));cursor:grab;touch-action:none;}.team-loadout-slot.weapon-slot em{font-size:0.62rem;color:#8bc6ff;letter-spacing:0.07em;font-style:normal;}.team-loadout-slot.weapon-slot.weapon-drag-over{border-color:rgba(88,166,255,0.9);box-shadow:0 0 14px rgba(88,166,255,0.35);}.team-loadout-slot.weapon-slot.dragging{opacity:0.6;}.team-loadout-slot span{font-size:0.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.12em;}.team-loadout-slot strong{font-size:0.75rem;letter-spacing:0.04em;}.team-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;margin-top:4px;}.team-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:0.65rem;color:var(--muted);}.team-stat-row strong{color:var(--text);font-size:0.67rem;}.team-slot .slot-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:2px;}.ops-layout{display:grid;grid-template-columns:1fr 260px;gap:12px;margin-top:0;height:auto;flex:1;min-height:0;align-items:start;}.canvas-wrap{position:relative;height:auto;min-height:0;overflow:hidden;border-radius:16px;width:100%;aspect-ratio:16 / 9;max-height:85vh;max-width:calc(85vh * 16 / 9);}canvas{width:100%;height:100%;background:#0c141b;border-radius:16px;border:1px solid rgba(255,255,255,0.06);display:block;aspect-ratio:16 / 9;max-height:100%;}.canvas-overlay{position:absolute;top:12px;left:12px;display:grid;gap:6px;}.ops-skill-btn{position:absolute;right:12px;bottom:18px;z-index:2;padding:10px 14px;border-radius:999px;letter-spacing:0.12em;text-transform:uppercase;font-size:0.7rem;background:linear-gradient(135deg,rgba(60,210,165,0.85),rgba(88,166,255,0.85));color:#041015;box-shadow:0 10px 22px rgba(0,0,0,0.35);display:inline-flex;align-items:center;justify-content:center;}.ops-skill-btn:hover{transform:none;}.ops-skill-btn:disabled{background:rgba(16,22,29,0.9);color:var(--muted);box-shadow:none;transform:none;}.overlay-row{background:rgba(12,18,24,0.72);border-radius:8px;padding:6px 10px;font-size:0.72rem;display:flex;justify-content:space-between;gap:8px;min-width:120px;}.ops-side{display:grid;gap:8px;height:100%;align-content:start;grid-auto-rows:min-content;}.ops-card{background:var(--panel-2);border-radius:12px;padding:8px 10px;display:grid;gap:4px;align-content:start;}.deploy{display:grid;gap:4px;}.deploy-meta{font-size:0.65rem;color:var(--muted);}.deploy-status{font-size:0.7rem;color:var(--text);padding:4px 8px;border-radius:8px;background:rgba(12,18,24,0.6);}.ops-card h3{margin:0;}.squad{margin-top:0;}.ops-tip{background:rgba(16,22,29,0.85);border-radius:10px;padding:6px 8px;display:grid;gap:2px;font-size:0.68rem;color:var(--muted);}.ops-tip strong{color:var(--text);}.ops-reset{background:rgba(16,22,29,0.9);border:1px solid rgba(255,255,255,0.08);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;}.ops-rebirth{background:linear-gradient(135deg,rgba(255,197,124,0.2),rgba(255,116,76,0.2));border:1px solid rgba(255,197,124,0.45);font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;}.ops-rebirth:disabled{opacity:0.4;}.dev-shell{position:fixed;right:18px;bottom:18px;z-index:40;width:52px;height:52px;pointer-events:auto;}.dev-goo{position:absolute;inset:auto 0 0 auto;width:64px;height:64px;border-radius:999px;background:radial-gradient(circle at 30% 30%,rgba(88,166,255,0.4),rgba(12,18,24,0.85));filter:blur(10px);opacity:0.9;transform-origin:var(--dev-ox,50%) var(--dev-oy,50%);transform:translate(var(--dev-x,0px),var(--dev-y,0px)) scale(0.7);transition:transform 0.45s cubic-bezier(0.22,1,0.36,1),opacity 0.3s ease;z-index:0;}.dev-shell.left .dev-goo{inset:auto auto 0 0;transform-origin:0% 100%;}.dev-shell.open .dev-goo{width:100%;height:100%;border-radius:24px;opacity:0.65;transform:translate(var(--dev-x,0px),var(--dev-y,0px)) scale(1.02);}.dev-fab{position:absolute;right:0;bottom:0;width:52px;height:52px;border-radius:50%;border:1px solid rgba(88,166,255,0.6);background:radial-gradient(circle at 30% 30%,rgba(88,166,255,0.6),rgba(12,18,24,0.85));color:var(--text);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;display:grid;place-items:center;z-index:2;box-shadow:0 18px 40px rgba(0,0,0,0.45);transform-origin:50% 50%;transition:transform 0.35s cubic-bezier(0.22,1,0.36,1),opacity 0.2s ease;pointer-events:auto;}.dev-shell.left .dev-fab{left:0;right:auto;transform-origin:0% 100%;}.dev-shell.open .dev-fab{transform:scale(0.4);opacity:0;pointer-events:none;}.dev-fab span{font-size:0.65rem;}.dev-float{position:absolute;left:0;bottom:0;width:min(320px,88vw);background:rgba(12,18,24,0.96);border-radius:14px;border:1px solid rgba(88,166,255,0.35);box-shadow:0 22px 60px rgba(0,0,0,0.5);display:grid;flex-direction:column;gap:10px;padding:12px;z-index:1;backdrop-filter:blur(8px);transform-origin:var(--dev-ox,50%) var(--dev-oy,50%);transform:translate(var(--dev-x,0px),var(--dev-y,0px)) scale(0.6);opacity:0;pointer-events:none;transition:transform 0.45s cubic-bezier(0.22,1,0.36,1),opacity 0.3s ease;}.dev-shell.open .dev-float{transform:translate(var(--dev-x,0px),var(--dev-y,0px)) scale(1);opacity:1;pointer-events:auto;}.dev-float-header{display:flex;justify-content:space-between;align-items:center;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);touch-action:none;user-select:none;}.dev-collapse{padding:4px 8px;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;}.dev-float-body{display:grid;gap:8px;}.dev-float input{width:100%;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,0.08);background:rgba(8,12,18,0.7);color:var(--text);font-size:0.7rem;}.dev-float input::placeholder{color:rgba(155,176,195,0.8);}.dev-toggle{display:flex;align-items:center;gap:8px;font-size:0.68rem;color:var(--muted);}.dev-toggle input{width:14px;height:14px;accent-color:var(--accent-2);}.dev-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}.squad{display:grid;gap:8px;}.squad-slot{display:flex;align-items:center;gap:10px;padding:6px 8px;background:rgba(255,255,255,0.03);border-radius:8px;}.log{max-height:170px;overflow:hidden;display:grid;gap:6px;font-size:0.7rem;color:var(--muted);}.factory-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,0.65fr);gap:14px;height:calc(100% - 36px);min-height:0;width:100%;}.factory-board{display:grid;grid-template-rows:auto 1fr auto;gap:10px;height:100%;min-height:0;min-width:0;}.factory-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:0.72rem;color:var(--muted);}.factory-legend{display:inline-flex;gap:10px;font-size:0.62rem;text-transform:uppercase;letter-spacing:0.12em;color:rgba(214,226,235,0.7);}.factory-grid-wrap{position:relative;background:rgba(9,14,20,0.7);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:10px;min-height:0;display:grid;place-items:center;height:100%;max-height:none;overflow:hidden;width:100%;}.factory-grid{width:100%;max-width:100%;display:grid;gap:4px;}.factory-cell{background:rgba(12,18,24,0.75);border-radius:6px;border:1px solid rgba(255,255,255,0.05);position:relative;overflow:hidden;transition:border-color 0.15s ease,box-shadow 0.15s ease;cursor:pointer;}.factory-cell:hover{border-color:rgba(88,166,255,0.5);box-shadow:0 0 10px rgba(88,166,255,0.18);}.factory-cell.belt{background:rgba(15,22,30,0.95);}.factory-cell.belt::before{content:none;}.factory-cell.belt::after{content:none;}.factory-cell.belt.dir-n::before,.factory-cell.belt.dir-s::before{content:none;}.factory-cell.belt.dir-n::after{content:none;}.factory-cell.belt.dir-s::after{content:none;}.factory-cell.belt.dir-w::after{content:none;}.factory-cell.splitter{background:rgba(16,24,32,0.95);}.factory-cell.splitter::before,.factory-cell.splitter::after{content:none;}.splitter-seg{position:absolute;opacity:0;border-radius:999px;background:rgba(88,166,255,0.25);transition:opacity 0.2s ease,background 0.2s ease,box-shadow 0.2s ease;}.splitter-seg.in{opacity:1;background:rgba(88,166,255,0.85);box-shadow:0 0 8px rgba(88,166,255,0.6);}.splitter-seg.out{opacity:1;background:rgba(60,210,165,0.85);box-shadow:0 0 8px rgba(60,210,165,0.55);}.splitter-seg.in.out{background:linear-gradient(90deg,rgba(88,166,255,0.9),rgba(60,210,165,0.9));}.splitter-seg.dir-n,.splitter-seg.dir-s{width:6px;height:42%;left:50%;transform:translateX(-50%);}.splitter-seg.dir-n{top:6%;}.splitter-seg.dir-s{bottom:6%;}.splitter-seg.dir-e,.splitter-seg.dir-w{height:6px;width:42%;top:50%;transform:translateY(-50%);}.splitter-seg.dir-e{right:6%;}.splitter-seg.dir-w{left:6%;}.belt-seg{position:absolute;opacity:0.9;border-radius:999px;transition:opacity 0.2s ease,background 0.2s ease,box-shadow 0.2s ease;}.belt-seg.in{background:rgba(88,166,255,0.75);box-shadow:0 0 8px rgba(88,166,255,0.5);}.belt-seg.out{background:rgba(60,210,165,0.8);box-shadow:0 0 8px rgba(60,210,165,0.55);}.belt-seg.out.invalid{background:rgba(244,88,88,0.85);box-shadow:0 0 8px rgba(244,88,88,0.6);}.splitter-seg.out.invalid{background:rgba(244,88,88,0.88);box-shadow:0 0 8px rgba(244,88,88,0.58);}.belt-seg.dir-n,.belt-seg.dir-s{width:6px;height:40%;left:50%;transform:translateX(-50%);}.belt-seg.dir-n{top:8%;}.belt-seg.dir-s{bottom:8%;}.belt-seg.dir-e,.belt-seg.dir-w{height:6px;width:40%;top:50%;transform:translateY(-50%);}.belt-seg.dir-e{right:8%;}.belt-seg.dir-w{left:8%;}.factory-cell.machine{background:linear-gradient(135deg,rgba(60,210,165,0.15),rgba(20,28,36,0.95));border:1px solid rgba(60,210,165,0.35);}.factory-cell.machine::after{content:"";position:absolute;inset:18%;border-radius:8px;border:1px solid rgba(60,210,165,0.55);background:rgba(10,16,22,0.6);z-index:1;}.factory-cell.machine.directional::before{content:"";position:absolute;width:0;height:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent rgba(66,226,185,0.95);left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 6px rgba(66,226,185,0.65));z-index:2;}.factory-cell.machine.directional.dir-n::before{transform:translate(-50%,-50%) rotate(-90deg);}.factory-cell.machine.directional.dir-s::before{transform:translate(-50%,-50%) rotate(90deg);}.factory-cell.machine.directional.dir-w::before{transform:translate(-50%,-50%) rotate(180deg);}.factory-cell.storage{background:linear-gradient(135deg,rgba(247,211,119,0.2),rgba(16,22,30,0.95));border:1px solid rgba(247,211,119,0.4);}.factory-cell.storage::after{content:"";position:absolute;inset:20% 24%;border-radius:6px;border:1px solid rgba(247,211,119,0.6);background:rgba(10,16,22,0.6);z-index:1;}.factory-label{position:absolute;left:6px;top:6px;font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(232,238,245,0.8);background:rgba(10,16,22,0.7);border:1px solid rgba(255,255,255,0.12);padding:2px 4px;border-radius:6px;z-index:2;pointer-events:none;}.factory-cell.input{border:1px dashed rgba(109,220,207,0.6);box-shadow:inset 0 0 12px rgba(109,220,207,0.3);}.factory-item{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:999px;transform:translate(-50%,-50%) translate(var(--item-x,0px),var(--item-y,0px));box-shadow:0 0 10px rgba(255,255,255,0.2);}.factory-item.ore{background:#f29f45;box-shadow:0 0 8px rgba(242,159,69,0.7);}.factory-item.alloy{background:#8a6cff;box-shadow:0 0 8px rgba(138,108,255,0.7);}.factory-item.energy{background:#49ff6a;box-shadow:0 0 8px rgba(73,255,106,0.7);}.factory-hint{font-size:0.7rem;color:var(--muted);}.factory-side{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto auto;gap:8px;min-height:0;align-content:start;min-width:0;overflow:visible;}.build-menu{display:grid;align-content:start;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable;}.build-menu::-webkit-scrollbar{width:8px;}.build-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:999px;}.build-tile{display:grid;gap:4px;background:var(--panel-2);padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,0.06);color:var(--text);text-align:left;cursor:pointer;min-height:56px;}.build-tile strong{font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;}.build-tile .build-meta{font-size:0.62rem;color:var(--muted);}.build-tile:hover{border-color:rgba(88,166,255,0.35);box-shadow:0 0 8px rgba(88,166,255,0.15);}.build-tile:disabled{opacity:0.5;cursor:not-allowed;}.build-tile.active{border:1px solid rgba(88,166,255,0.6);box-shadow:0 0 12px rgba(88,166,255,0.25);}.factory-tools{display:grid;gap:8px;margin-top:6px;}.factory-tool-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:6px;}.factory-tool-row-danger .factory-tool-btn{border-color:rgba(255,107,107,0.25);}.factory-tool-row-danger .factory-tool-btn:hover{box-shadow:0 0 12px rgba(255,107,107,0.2);}.factory-tool-btn{position:relative;display:grid;place-items:center;height:44px;min-width:44px;padding:6px;border-radius:12px;border:1px solid rgba(255,255,255,0.06);background:rgba(20,28,38,0.8);color:var(--text);}.factory-tool-btn:hover{transform:translateY(-1px);}.factory-tool-btn.active{border-color:rgba(88,166,255,0.6);box-shadow:0 0 12px rgba(88,166,255,0.25);}.factory-tool-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;}.factory-tool-btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);padding:6px 8px;border-radius:8px;background:rgba(10,16,22,0.95);border:1px solid rgba(88,166,255,0.2);color:var(--text);font-size:0.62rem;letter-spacing:0.03em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.15s ease,transform 0.15s ease;z-index:2;}.factory-tool-btn[data-tooltip]:hover::after,.factory-tool-btn[data-tooltip]:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(0);}.factory-tool-status{font-size:0.7rem;color:var(--muted);}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.factory-cell.selected{border-color:rgba(88,166,255,0.8);box-shadow:0 0 0 2px rgba(88,166,255,0.35);}.factory-cell.paste-preview-valid{border-color:rgba(88,166,255,0.88);box-shadow:inset 0 0 0 1px rgba(88,166,255,0.8),0 0 10px rgba(88,166,255,0.28);}.factory-cell.paste-preview-invalid{border-color:rgba(244,88,88,0.9);box-shadow:inset 0 0 0 1px rgba(244,88,88,0.8),0 0 10px rgba(244,88,88,0.28);}.factory-production{background:rgba(10,16,22,0.65);border:1px solid rgba(255,255,255,0.06);border-radius:12px;padding:10px;display:grid;grid-template-columns:minmax(120px,0.45fr) minmax(0,1fr);gap:10px;align-items:center;}.factory-production canvas{width:100%;height:120px;display:block;}.production-legend{display:grid;gap:6px;font-size:0.68rem;color:var(--muted);}.production-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}.production-swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto;}.factory-upgrade-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;}.factory-emergency{display:grid;gap:6px;height:100%;}.factory-upgrades{display:grid;gap:6px;margin-top:0;height:100%;}.factory-upgrade-note{font-size:0.7rem;color:var(--muted);}.factory-emergency-note{font-size:0.7rem;color:var(--muted);}.legend-swatch.ore{background:#89a8ff;}.legend-swatch.alloy{background:#f7c873;}.legend-swatch.energy{background:#83f1b2;}.footer{display:none;}.gacha-overlay{position:fixed;inset:0;--gacha-h:100dvh;--gacha-w:100vw;height:var(--gacha-h);background:radial-gradient(circle at 50% -10%,rgba(20,34,48,0.65),rgba(6,9,12,0.95));display:none;align-items:center;justify-content:center;z-index:20;backdrop-filter:blur(8px);overflow:hidden;}.dev-shell.left .dev-float{left:0;right:auto;transform-origin:0% 100%;}.gacha-overlay.active{display:block;}.gacha-overlay.cinematic{background:radial-gradient(circle at 30% 20%,rgba(120,210,255,0.12),transparent 60%),radial-gradient(circle at 70% 70%,rgba(210,160,255,0.1),transparent 65%),linear-gradient(140deg,#05070b,#0a1219 40%,#05070b 100%);backdrop-filter:none;}.gacha-overlay.cinematic .gacha-modal.fullscreen{background:transparent;}.gacha-overlay.cinematic .gacha-vfx >:not(#gacha-canvas){display:none;}.gacha-overlay.cinematic .gacha-vignette{display:block;opacity:0.7;}.gacha-overlay.cinematic .trail-sequence{display:none;}.gacha-overlay.reveal .gacha-sky,.gacha-overlay.reveal .gacha-arc,.gacha-overlay.reveal .gacha-portal,.gacha-overlay.reveal .gacha-chroma,.gacha-overlay.reveal .gacha-bloom,.gacha-overlay.reveal .gacha-shockwave,.gacha-overlay.summary .gacha-sky,.gacha-overlay.summary .gacha-arc,.gacha-overlay.summary .gacha-portal,.gacha-overlay.summary .gacha-chroma,.gacha-overlay.summary .gacha-bloom,.gacha-overlay.summary .gacha-shockwave{display:block;}.gacha-overlay.reveal #gacha-canvas,.gacha-overlay.summary #gacha-canvas{display:none;}.zoom-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:25;background:radial-gradient(circle at 50% 10%,rgba(20,34,48,0.65),rgba(6,9,12,0.92));backdrop-filter:blur(8px);}.zoom-overlay.active{display:flex;}.zoom-stage{width:min(760px,88vw);perspective:2000px;display:grid;place-items:center;}.zoom-float{transform-style:preserve-3d;}.zoom-card{width:min(720px,88vw);background:rgba(6,9,12,0.86);border-radius:26px;padding:22px 24px;display:grid;grid-template-columns:320px 1fr;gap:22px;border:1px solid rgba(255,255,255,0.12);box-shadow:0 40px 90px rgba(0,0,0,0.5);will-change:transform;}.zoom-card .portrait-wrap{width:100%;height:440px;border-radius:18px;}.zoom-info{display:grid;gap:10px;align-content:center;z-index:1;}.zoom-info h3{margin:0;font-size:1.6rem;}.zoom-info .meta{font-size:0.85rem;color:var(--muted);}.zoom-stats{display:grid;gap:8px;font-size:0.85rem;}.zoom-stats .row{display:flex;justify-content:space-between;color:var(--muted);}@keyframes zoomIn{from{opacity:0;transform:translateY(12px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}@keyframes floatCard{0%,100%{transform:translateZ(16px) translateY(0);}50%{transform:translateZ(26px) translateY(-10px);}}@keyframes zoomOut{from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(12px) scale(0.96);}}.zoom-overlay.active .zoom-float{animation:zoomIn 0.18s ease-out,floatCard 2.8s ease-in-out infinite;}.zoom-overlay.closing .zoom-float{animation:zoomOut 0.16s ease-in forwards;}.gacha-overlay.ssr{background:radial-gradient(circle at 50% -10%,rgba(60,40,12,0.78),rgba(6,9,12,0.95));}.gacha-overlay.ur{background:radial-gradient(circle at 20% -10%,rgba(170,120,255,0.6),transparent 45%),radial-gradient(circle at 80% -20%,rgba(120,220,255,0.55),transparent 50%),radial-gradient(circle at 50% 10%,rgba(255,220,140,0.45),transparent 55%),rgba(6,9,12,0.95);}.gacha-vfx{position:fixed;inset:0;width:var(--gacha-w);height:var(--gacha-h);pointer-events:none;z-index:1;}.gacha-vignette{position:absolute;inset:-8%;pointer-events:none;opacity:0;display:none;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,0) 45%,rgba(3,6,10,0.85) 85%);}#gacha-canvas{position:absolute;inset:0;width:var(--gacha-w);height:var(--gacha-h);display:block;z-index:2;border-radius:0;border:none;background:transparent;aspect-ratio:auto;max-height:none;}#gacha-particles{position:absolute;inset:0;width:var(--gacha-w);height:var(--gacha-h);display:block;z-index:2;border-radius:0;border:none;background:transparent;pointer-events:none;}.gacha-sky{position:absolute;inset:-15% -10%;background:radial-gradient(circle at 30% 20%,rgba(88,166,255,0.25),transparent 45%),radial-gradient(circle at 70% 25%,rgba(60,210,165,0.2),transparent 50%),radial-gradient(circle at 50% 60%,rgba(255,255,255,0.08),transparent 55%);opacity:0.85;filter:blur(2px);animation:slowDrift 12s ease-in-out infinite;}.gacha-arc{position:absolute;inset:-20% -20% auto -20%;height:120%;border-radius:50%;background:conic-gradient(from 130deg,rgba(88,166,255,0.45),transparent 45%,rgba(60,210,165,0.35));opacity:0.5;filter:blur(8px);animation:slowSpin 18s linear infinite;}.gacha-portal{position:absolute;width:clamp(560px,80vmin,1080px);height:clamp(560px,80vmin,1080px);left:50%;top:50%;margin-left:calc(-0.5 * clamp(560px,80vmin,1080px));margin-top:calc(-0.5 * clamp(560px,80vmin,1080px));border-radius:50%;background:radial-gradient(circle at 50% 55%,rgba(255,255,255,0.5),transparent 12%),radial-gradient(circle at 50% 55%,rgba(88,166,255,0.4),transparent 25%),radial-gradient(circle at 50% 55%,rgba(60,210,165,0.25),transparent 40%),conic-gradient(from 120deg,rgba(88,166,255,0.4),transparent 35%,rgba(60,210,165,0.35));opacity:0;filter:blur(2px);mix-blend-mode:screen;transform:scale(0.6);}.gacha-chroma{position:absolute;inset:-10%;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle at 45% 40%,rgba(255,90,210,0.18),transparent 55%),radial-gradient(circle at 55% 60%,rgba(90,200,255,0.18),transparent 55%),radial-gradient(circle at 50% 50%,rgba(255,230,120,0.16),transparent 55%);filter:blur(6px) saturate(1.1);transform:translate3d(0,0,0);}.gacha-bloom{position:absolute;width:clamp(520px,75vmin,980px);height:clamp(520px,75vmin,980px);left:50%;top:50%;margin-left:calc(-0.5 * clamp(520px,75vmin,980px));margin-top:calc(-0.5 * clamp(520px,75vmin,980px));border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.2),transparent 65%);opacity:0;mix-blend-mode:screen;}.gacha-shockwave{position:absolute;width:clamp(560px,82vmin,1120px);height:clamp(560px,82vmin,1120px);left:50%;top:50%;margin-left:calc(-0.5 * clamp(560px,82vmin,1120px));margin-top:calc(-0.5 * clamp(560px,82vmin,1120px));border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.4),transparent 45%);opacity:0;mix-blend-mode:screen;transform:scale(0.5);}.gacha-overlay.impact .gacha-bloom{animation:impactBloom 0.5s ease-out;}.gacha-overlay.impact .gacha-shockwave{animation:shockwave 0.7s ease-out;}.gacha-overlay.impact-ssr .gacha-bloom{animation:impactBloom 0.7s ease-out;}.gacha-overlay.impact-ssr .gacha-shockwave{animation:shockwave 0.9s ease-out;}.gacha-overlay.impact-ur .gacha-bloom{animation:impactBloom 0.9s ease-out;}.gacha-overlay.impact-ur .gacha-shockwave{animation:shockwave 1.05s ease-out;}.gacha-overlay.portal .gacha-portal{animation:portalOpen 0.7s ease-out;}.gacha-overlay.portal-ssr .gacha-portal{animation:portalOpenSSR 0.9s ease-out;}.gacha-overlay.portal-ur .gacha-portal{animation:portalOpenUR 1.05s ease-out;}.gacha-overlay.ssr .gacha-chroma{opacity:1;animation:chromaDrift 2.2s ease-in-out infinite;}.gacha-overlay.ur .gacha-chroma{opacity:1;animation:chromaDrift 1.8s ease-in-out infinite;filter:blur(4px) saturate(1.4);}.gacha-modal{position:relative;z-index:2;}.gacha-modal.fullscreen{position:absolute;inset:0;width:100%;height:var(--gacha-h);min-height:100vh;min-height:100svh;padding:26px 48px 40px;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:stretch;gap:12px;background:radial-gradient(circle at 50% 10%,rgba(18,28,38,0.45),transparent 60%),linear-gradient(180deg,rgba(6,9,12,0.15),rgba(6,9,12,0.35));}.gacha-hud{display:grid;gap:4px;text-transform:uppercase;letter-spacing:0.18em;font-size:0.65rem;color:var(--muted);}.gacha-title{font-size:0.9rem;color:var(--text);letter-spacing:0.22em;}.gacha-sub{font-size:0.6rem;}.gacha-skip{position:absolute;top:22px;right:38px;padding:6px 4px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:0;font-size:0.9rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(225,236,248,0.9);text-shadow:0 0 14px rgba(120,210,255,0.2);z-index:3;position:absolute;}.gacha-skip::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:linear-gradient(90deg,rgba(120,210,255,0),rgba(120,210,255,0.7),rgba(120,210,255,0));transform:scaleX(0);transform-origin:center;transition:transform 0.2s ease;}.gacha-skip:hover{color:rgba(255,255,255,0.95);}.gacha-skip:hover::after{transform:scaleX(1);}.gacha-stage{display:grid;place-items:center;min-height:0;overflow:visible;perspective:1100px;transform-style:preserve-3d;height:100%;align-self:stretch;}.trail-sequence{display:grid;gap:8px;text-align:center;padding:20px 26px;border-radius:18px;background:rgba(6,9,12,0.55);border:1px solid rgba(255,255,255,0.12);box-shadow:0 30px 70px rgba(0,0,0,0.45);min-width:min(420px,80vw);}.trail-title{font-weight:700;letter-spacing:0.22em;text-transform:uppercase;font-size:0.85rem;}.trail-sub{font-size:0.7rem;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;}.trail-dots{display:inline-flex;gap:10px;align-items:center;justify-content:center;margin-top:6px;}.trail-dots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,0.7);animation:trailDot 1.2s ease-in-out infinite;}.trail-dots span:nth-child(2){animation-delay:0.2s;}.trail-dots span:nth-child(3){animation-delay:0.4s;}.reveal-card{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;padding:22px 24px;border-radius:22px;background:rgba(6,9,12,0.7);border:1px solid rgba(255,255,255,0.12);animation:popIn 0.35s ease,cardFloat 2.6s ease-in-out infinite;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,0.45);transform:translateZ(10px);}.reveal-card.ssr{box-shadow:0 0 40px rgba(247,211,119,0.35),0 0 120px rgba(247,211,119,0.12);animation:popIn 0.35s ease,ssrPulse 1.6s ease-in-out infinite;}.reveal-card.ur{box-shadow:0 0 50px rgba(205,150,255,0.35),0 0 140px rgba(130,210,255,0.18);animation:popIn 0.35s ease,urPulse 1.4s ease-in-out infinite;}.reveal-card.sr{box-shadow:0 0 18px rgba(115,208,255,0.25);}.reveal-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(88,166,255,0.35),transparent 55%);opacity:0.7;}.reveal-card.ssr::after{background:radial-gradient(circle at 20% 20%,rgba(247,211,119,0.45),transparent 55%);}.reveal-card.ur::after{background:radial-gradient(circle at 20% 20%,rgba(190,120,255,0.5),transparent 55%),radial-gradient(circle at 80% 30%,rgba(120,220,255,0.35),transparent 55%);}.reveal-portrait-wrap{width:230px;height:340px;border-radius:18px;}.reveal-portrait{border-radius:16px;object-fit:cover;border:2px solid rgba(255,255,255,0.1);box-shadow:0 0 24px rgba(88,166,255,0.2);image-rendering:auto;transform:translateZ(0);backface-visibility:hidden;}.reveal-card.ssr .reveal-portrait{box-shadow:0 0 30px rgba(247,211,119,0.45);}.reveal-card.ur .reveal-portrait{box-shadow:0 0 36px rgba(190,120,255,0.5);}.reveal-info{display:grid;gap:10px;font-size:0.95rem;z-index:1;}.reveal-rarity{font-size:1.2rem;font-weight:700;letter-spacing:0.18em;}.reveal-name{font-size:1.8rem;font-weight:700;}.reveal-fx{position:absolute;inset:-40% -20% auto -20%;height:200%;background:conic-gradient(from 120deg,rgba(88,166,255,0.6),transparent 40%,rgba(60,210,165,0.4));animation:spin 2.6s linear infinite;opacity:0.4;pointer-events:none;mix-blend-mode:screen;}.reveal-fx.ssr{background:conic-gradient(from 120deg,rgba(247,211,119,0.75),transparent 35%,rgba(255,171,64,0.5));opacity:0.6;}.reveal-fx.ur{background:conic-gradient( from 120deg,rgba(190,120,255,0.7),rgba(120,220,255,0.6),rgba(255,210,140,0.6),transparent 45% );opacity:0.75;}.reveal-burst{position:absolute;inset:-30% -10% auto -10%;height:220%;background:radial-gradient(circle,rgba(247,211,119,0.45),transparent 60%);opacity:0.9;animation:ssrBurst 1.2s ease-out;pointer-events:none;mix-blend-mode:screen;}.reveal-card.ur .reveal-burst{background:radial-gradient(circle,rgba(190,120,255,0.5),transparent 60%);}.reveal-card::before{content:"";position:absolute;inset:-35% -15% auto -15%;height:180%;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,0.22),transparent 50%),radial-gradient(circle at 20% 60%,rgba(88,166,255,0.18),transparent 60%);opacity:0.6;mix-blend-mode:screen;}.reveal-card.ssr::before{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,0.35),transparent 50%),radial-gradient(circle at 20% 60%,rgba(247,211,119,0.3),transparent 60%);opacity:0.8;}.reveal-card.ur::before{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,0.4),transparent 50%),radial-gradient(circle at 20% 60%,rgba(190,120,255,0.3),transparent 60%),radial-gradient(circle at 80% 60%,rgba(120,220,255,0.26),transparent 60%);opacity:0.9;}.reveal-shards{position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,236,186,0.25) 50%,transparent 60%),linear-gradient(260deg,transparent 45%,rgba(247,211,119,0.18) 55%,transparent 65%);opacity:0.8;mix-blend-mode:screen;animation:ssrShards 1.6s ease-out;pointer-events:none;}.reveal-card.ur .reveal-shards{background:linear-gradient(110deg,transparent 40%,rgba(190,120,255,0.25) 50%,transparent 60%),linear-gradient(260deg,transparent 45%,rgba(120,220,255,0.2) 55%,transparent 65%);}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;width:100%;max-height:none;overflow:visible;padding:6px;}.result-grid.multi{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}.result-grid.fixed-four{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}.result-grid.popup{display:flex;gap:12px;overflow-x:auto;overflow-y:visible;padding:8px 6px 16px;scroll-snap-type:x mandatory;}.result-grid.popup .result-item{min-width:180px;scroll-snap-align:start;margin-top:6px;}.result-item{background:rgba(13,18,24,0.9);border-radius:12px;padding:8px;display:grid;gap:6px;text-align:center;}.tilt-card{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:transform 0.12s ease,box-shadow 0.12s ease;will-change:transform;}.tilt-card:hover{box-shadow:0 14px 28px rgba(0,0,0,0.35);}.result-item.horizontal{grid-template-columns:112px 1fr;align-items:center;gap:10px;text-align:left;}.result-item.horizontal .portrait-wrap{width:112px;height:162px;}.ssr-shine{position:relative;overflow:hidden;isolation:isolate;}.ssr-shine::before{content:"";position:absolute;inset:-25%;background:radial-gradient(180px 140px at var(--mx,50%) var(--my,50%),rgba(255,244,210,0.45),transparent 62%),linear-gradient(140deg,rgba(255,205,120,0.25),transparent 60%);opacity:0;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:2;mix-blend-mode:screen;filter:blur(8px) saturate(1.1);}.ssr-shine::after{content:"";position:absolute;inset:-20%;background:radial-gradient(140px 100px at var(--mx2,50%) var(--my2,50%),rgba(255,224,160,0.25),transparent 60%),linear-gradient(140deg,rgba(255,196,110,0.16),transparent 55%);opacity:0;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:2;mix-blend-mode:screen;filter:blur(12px) saturate(1.1);}.ssr-shine .shine-border{position:absolute;inset:0;padding:2px;border-radius:inherit;background:conic-gradient( from 120deg at var(--mx,50%) var(--my,50%),rgba(255,245,210,0.9),rgba(255,213,132,0.7),rgba(255,182,92,0.75),rgba(255,245,210,0.9) );-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.6;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:3;}.ssr-shine:hover::before,.ssr-shine:hover::after{opacity:0.75;transform:scale(1.01);}.ssr-shine:hover .shine-border{opacity:1;transform:scale(1.01);}.ssr-shine.is-hover::before,.ssr-shine.is-hover::after{opacity:0.75;transform:scale(1.01);}.ssr-shine.is-hover .shine-border{opacity:1;transform:scale(1.01);}.ssr-shine::after{content:"";position:absolute;inset:0;padding:2px;border-radius:inherit;background:conic-gradient( from 120deg at var(--mx,50%) var(--my,50%),rgba(255,245,210,0.9),rgba(255,213,132,0.7),rgba(255,182,92,0.75),rgba(255,245,210,0.9) );-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.7;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:1;}.ur-shine{position:relative;overflow:hidden;isolation:isolate;}.ur-shine::before{content:"";position:absolute;inset:-25%;background:radial-gradient(180px 140px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.32),transparent 62%),conic-gradient( from 120deg at var(--mx,50%) var(--my,50%),rgba(255,122,217,0.28),rgba(122,252,255,0.28),rgba(254,255,156,0.3),rgba(186,255,201,0.28),rgba(255,122,217,0.28) );opacity:0;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:2;mix-blend-mode:screen;filter:blur(8px) saturate(1.15);}.ur-shine::after{content:"";position:absolute;inset:-20%;background:radial-gradient(140px 100px at var(--mx2,50%) var(--my2,50%),rgba(122,252,255,0.2),transparent 60%),linear-gradient(140deg,rgba(255,122,217,0.1),transparent 55%);opacity:0;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:2;mix-blend-mode:screen;filter:blur(12px) saturate(1.1);}.ur-shine .shine-border{position:absolute;inset:0;padding:2px;border-radius:inherit;background:conic-gradient( from 120deg at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.85),rgba(255,122,217,0.6),rgba(122,252,255,0.6),rgba(254,255,156,0.65),rgba(186,255,201,0.6),rgba(255,255,255,0.85) );-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0.6;transition:opacity 0.2s ease,transform 0.2s ease;pointer-events:none;z-index:3;}.ur-shine:hover::before,.ur-shine:hover::after{opacity:0.8;transform:scale(1.01);}.ur-shine:hover .shine-border{opacity:1;transform:scale(1.01);}.ur-shine.is-hover::before,.ur-shine.is-hover::after{opacity:0.8;transform:scale(1.01);}.ur-shine.is-hover .shine-border{opacity:1;transform:scale(1.01);}@keyframes popIn{from{transform:scale(0.92) translateZ(-40px);opacity:0;}to{transform:scale(1) translateZ(0);opacity:1;}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes ssrBurst{from{transform:scale(0.7);opacity:0;}to{transform:scale(1.05);opacity:0.9;}}@keyframes ssrPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.02);}}@keyframes urPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.03);}}@keyframes ssrShards{from{opacity:0;transform:translateY(8px);}to{opacity:0.8;transform:translateY(0);}}@keyframes slowSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes slowDrift{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(2%,-3%,0);}}@keyframes impactBloom{0%{opacity:0;transform:scale(0.7);}35%{opacity:0.65;}100%{opacity:0;transform:scale(2.1);}}@keyframes shockwave{0%{opacity:0.8;transform:scale(0.5);}100%{opacity:0;transform:scale(3.2);}}@keyframes cardFloat{0%,100%{transform:translateZ(10px) translateY(0);}50%{transform:translateZ(16px) translateY(-6px);}}@keyframes trailDot{0%,100%{transform:translateY(0);opacity:0.4;}50%{transform:translateY(-6px);opacity:1;}}@keyframes levelPop{0%{opacity:0;transform:translateY(-8px) scale(0.96);}20%{opacity:1;transform:translateY(0) scale(1);}80%{opacity:1;}100%{opacity:0;transform:translateY(10px) scale(0.98);}}@keyframes portalOpen{0%{opacity:0;transform:scale(0.5);}40%{opacity:0.85;}100%{opacity:0;transform:scale(1.8);}}@keyframes portalOpenSSR{0%{opacity:0;transform:scale(0.45);}40%{opacity:1;}100%{opacity:0;transform:scale(2.2);}}@keyframes portalOpenUR{0%{opacity:0;transform:scale(0.4);}40%{opacity:1;}100%{opacity:0;transform:scale(2.5);}}@keyframes chromaDrift{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(1.5%,-1%,0);}}@media (max-width:1100px){.topbar{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"logo tabs" "stats stats";align-items:center;justify-content:stretch;}.logo{grid-area:logo;}.tab-bar{grid-area:tabs;justify-content:flex-end;width:auto;}.top-stats{grid-area:stats;margin-left:0;width:100%;}.tab-panels{flex:1;min-height:0;height:auto;}.gacha-layout,.ops-layout,.factory-layout,.team-layout{grid-template-columns:1fr;height:auto;}.panel.team{overflow-y:auto;padding-bottom:28px;}.team-builder{height:auto;overflow:visible;padding:8px 10px 24px;margin-bottom:12px;align-content:start;grid-auto-rows:min-content;}.team-builder::after{content:"";display:block;height:24px;}.team-slot{height:auto;}.team-portrait-wrap{width:96px;height:120px;}.inventory{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.inventory-card{padding:8px;gap:6px;}.inventory-main{grid-template-columns:96px 1fr;gap:8px;}.inventory-portrait-wrap{width:96px;height:120px;}.inventory-info{gap:4px;}.factory-toolbar{flex-direction:column;align-items:flex-start;}.ops-layout{height:auto;}.gacha-modal.fullscreen{padding:18px 18px 32px;}.reveal-card{grid-template-columns:1fr;text-align:center;}.reveal-portrait-wrap{width:210px;height:300px;margin:0 auto;}.zoom-card{grid-template-columns:1fr;text-align:center;}.zoom-card .portrait-wrap{height:360px;}}@media (min-width:1101px){.team-right{align-self:stretch;}.team-builder{grid-template-rows:repeat(4,minmax(0,1fr));height:calc(100% - 18px);}.team-slot{height:100%;}.team-slot .slot-actions{margin-top:auto;}}@media (max-width:980px){.topbar{padding:12px 18px;gap:12px;}.top-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}.stat{min-width:0;}.tab-bar{width:auto;justify-content:flex-end;}.tab-panels{padding:10px 14px 14px;}.banner{grid-template-columns:1fr;height:auto;}.banner-art{aspect-ratio:var(--gacha-banner-aspect);}.inventory{grid-template-columns:repeat(2,minmax(0,1fr));}.inventory-card{padding:8px;gap:6px;}.inventory-main{grid-template-columns:104px 1fr;}.inventory-portrait-wrap{width:104px;height:160px;}.team-slot{grid-template-columns:104px 1fr;padding:8px;min-height:0;}.team-portrait-wrap{width:94px;height:110px;}.team-builder{gap:6px;}.team-loadout{grid-column:1 / -1;}.ops-layout{grid-template-columns:1fr;}.ops-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;}.ops-tip,.ops-reset,.ops-rebirth{grid-column:1 / -1;}.factory-layout{grid-template-columns:1fr;height:auto;}.factory-side{grid-template-rows:auto;overflow:visible;}.build-menu{max-height:28vh;}}@media (max-width:720px),(max-height:700px){body{overflow:hidden;}.tab-panels{height:calc(100dvh - 190px);}.panel{overflow:auto;}.panel.gacha{padding-bottom:22px;}.gacha-layout{height:auto;}.logo-title{font-size:0.8rem;}.logo-sub{font-size:0.68rem;}.tab-btn{padding:8px 10px;font-size:0.68rem;}.top-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.banner-actions{grid-template-columns:1fr;}.inventory{grid-template-columns:repeat(2,minmax(0,1fr));}.result-card.reveal{grid-template-columns:84px 1fr;}.result-grid.multi,.result-grid.fixed-four{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}.zoom-card{padding:16px;}.zoom-card .portrait-wrap{height:320px;}.canvas-wrap{max-height:48vh;}canvas{max-height:100%;}.canvas-overlay{gap:4px;}.overlay-row{font-size:0.65rem;padding:4px 8px;min-width:100px;}.ops-side{grid-template-columns:1fr;}.log{max-height:140px;}.factory-grid-wrap{max-height:none;}}@media (max-height:760px){.inventory{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}.inventory-card{padding:8px;gap:6px;}.inventory-main{grid-template-columns:96px 1fr;}.inventory-portrait-wrap{width:96px;height:148px;}.team-builder{gap:6px;}.team-slot{grid-template-columns:96px 1fr;padding:8px;min-height:0;}.team-portrait-wrap{width:86px;height:100px;}.team-loadout{grid-column:1 / -1;}}@media (max-width:520px){.tab-panels{height:calc(100dvh - 210px);}.inventory-main{grid-template-columns:1fr;}.inventory-portrait-wrap{width:100%;height:120px;}.team-slot{grid-template-columns:1fr;gap:6px;}.team-slot .slot-actions{grid-auto-flow:column;justify-content:flex-start;}.team-loadout{grid-column:1 / -1;}.canvas-wrap{max-height:42vh;}canvas{max-height:100%;}}@media (orientation:portrait) and (max-width:900px){.topbar{padding:10px 14px;gap:10px;}.logo{padding-left:0;}.logo::before,.logo::after{display:none;}.logo-sub{display:none;}.top-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.stat{padding:6px 10px;}.tab-panels{padding:8px 12px 12px;}.panel{padding:12px;}.panel.team{padding-bottom:28px;}.panel.gacha{padding-bottom:22px;}.gacha-layout{height:auto;}.banner{gap:8px;}.banner-art{aspect-ratio:var(--gacha-banner-aspect);}.inventory{gap:6px;}.team-builder{gap:6px;}.team-slot{padding:6px;}.team-loadout{grid-column:1 / -1;}.canvas-wrap{max-height:40vh;}canvas{max-height:100%;}.log{max-height:1.6em;min-height:1.6em;overflow:hidden;}.log > *{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6em;}.ops-team-card{display:none;}.ops-deploy-card{margin-top:-6px;}.ops-log-card{margin-top:6px;}.log{display:block;max-height:1.8em;min-height:1.8em;}}.ops-skill-btn{bottom:12px;}.cinema-editor-open{overflow:hidden;}.cinema-editor{position:fixed;inset:0;z-index:1200;background:radial-gradient(circle at top,rgba(20,38,60,0.35),transparent 60%),#05070c;display:flex;align-items:stretch;justify-content:stretch;}.cinema-editor[hidden]{display:none;}.cinema-editor canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;}.cinema-editor-hud{position:absolute;z-index:2;width:min(420px,88vw);max-height:calc(100vh - 32px);overflow:auto;top:16px;left:16px;margin:0;padding:16px 16px 14px;background:rgba(7,12,20,0.66);border:1px solid rgba(120,170,210,0.2);border-radius:18px;backdrop-filter:blur(12px);box-shadow:0 16px 40px rgba(5,10,18,0.6);pointer-events:auto;}.cinema-editor-header{display:flex;align-items:center;justify-content:space-between;gap:16px;}.cinema-editor-title{font-size:20px;font-weight:700;letter-spacing:0.02em;}.cinema-editor-sub{font-size:13px;color:rgba(200,220,245,0.72);margin-top:4px;}.cinema-editor-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}.cinema-editor-toolbar button{background:rgba(20,32,48,0.85);border:1px solid rgba(120,170,210,0.3);color:#d6e2f3;padding:6px 12px;border-radius:10px;font-size:12px;text-transform:uppercase;letter-spacing:0.08em;transition:transform 0.2s ease,border-color 0.2s ease;}.cinema-editor-toolbar button.primary{background:linear-gradient(135deg,rgba(75,156,220,0.9),rgba(100,210,255,0.95));color:#0a1624;font-weight:700;}.cinema-editor-toolbar button:hover{transform:translateY(-1px);border-color:rgba(160,210,255,0.6);}.cinema-editor-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px;}.cinema-editor-card{background:rgba(12,20,30,0.72);border:1px solid rgba(120,170,210,0.18);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;}.cinema-editor-card-title{font-size:12px;text-transform:uppercase;letter-spacing:0.14em;color:rgba(160,190,225,0.75);}.cinema-editor-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;}.cinema-editor-row.inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.cinema-editor-row.inputs input{width:100%;background:rgba(9,16,26,0.8);border:1px solid rgba(120,170,210,0.3);border-radius:8px;color:#d6e2f3;padding:6px 8px;font-size:12px;}.cinema-editor-row.slider input[type="range"]{flex:1;margin:0 8px;}.cinema-editor-toggle{display:flex;align-items:center;gap:8px;font-size:13px;}.cinema-editor-help{font-size:12px;color:rgba(190,210,235,0.7);line-height:1.4;}.cinema-editor-status{margin-top:12px;font-size:12px;color:rgba(180,210,240,0.8);padding:6px 10px;border-radius:8px;background:rgba(10,16,26,0.4);border:1px solid rgba(120,170,210,0.15);transition:transform 0.2s ease,border-color 0.2s ease,color 0.2s ease;}.cinema-editor-status.flash{transform:translateY(-2px);border-color:rgba(160,220,255,0.5);}.cinema-editor-status[data-tone="success"]{color:rgba(190,245,210,0.9);border-color:rgba(120,220,160,0.4);}.cinema-editor-status[data-tone="error"]{color:rgba(255,188,188,0.9);border-color:rgba(255,140,140,0.5);}@media (max-width:980px){.cinema-editor-hud{left:12px;right:12px;width:auto;max-height:calc(100vh - 24px);}}.topbar{display:flex !important;flex-wrap:nowrap !important;align-items:center;overflow:visible !important;z-index:10;isolation:isolate;}.topbar:not(.topbar-no-icon) .logo::before,.topbar:not(.topbar-no-icon) .logo::after{display:block;}.topbar:not(.topbar-no-tagline) .logo-sub{display:block;}.topbar .tab-bar{display:flex;position:static;transform:none;margin:0 10px;justify-content:center;}.topbar.topbar-tabs-centered .tab-bar{position:absolute;left:50%;transform:translateX(-50%);margin:0;}.topbar .top-stats{display:flex !important;flex-wrap:nowrap !important;width:auto !important;margin-left:auto !important;min-width:0;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none;}.topbar .top-stats::-webkit-scrollbar{display:none;}.topbar .stat{flex:0 0 auto;white-space:nowrap;}.topbar.topbar-use-burger .tab-bar{display:none;}.topbar.topbar-use-burger .topbar-menu{display:block;}.topbar-menu-panel{z-index:120;}.topbar .topbar-menu{z-index:121;}.topbar .topbar-menu-panel{z-index:122;}.topbar.topbar-use-burger .top-stats{margin-left:0 !important;flex:1 1 auto;}.topbar.topbar-use-burger .topbar-menu-panel{right:0;}.topbar.topbar-use-burger .topbar-menu{margin-left:8px;}@media (max-width:980px){.topbar{padding:10px 12px !important;gap:8px !important;}.top-stats{gap:8px;}.stat{min-width:52px;padding:5px 8px;}.stat span{font-size:0.54rem;}.stat strong{font-size:0.74rem;}}@media (max-width:1400px){.topbar .logo-sub{display:none !important;}}