@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Playfair+Display:ital,wght@0,600;0,700;0,800;0,900;1,600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fdf2f8;--surface:#ffffffbf;--surface-strong:#fffffff2;--text:#1c1b1f;--muted:#9d6b7c;--primary:#be185d;--primary-hover:#9d124b;--primary-soft:#be185d14;--secondary:#ec4899;--border:#be185d26;--glass-border:#fff9;--shadow:0 20px 50px #be185d0f;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--orb-1:#be185d1f;--orb-2:#ec489914;--login-bg:radial-gradient(circle at center, #fdf2f8 0%, #fce7f3 100%);--sidebar-bg:#fffc;--table-bg:#fff6;--card-bg:#ffffffb3;--modal-bg:#fffffff2;--snackbar-bg:#fffffff2;--snackbar-border:#be185d26;--snackbar-text:#1c1b1f}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1a2e;--surface:#2d2d44b3;--surface-strong:#2d2d44e6;--text:#e6e1e5;--muted:#d4a5b5;--primary:#f48fb1;--primary-hover:#f9a8d4;--primary-soft:#f48fb126;--secondary:#f9a8d4;--border:#f48fb12e;--glass-border:#ffffff14;--shadow:0 20px 50px #00000073;--orb-1:#f48fb126;--orb-2:#f9a8d41a;--login-bg:radial-gradient(circle at center, #2d2d44 0%, #1a1a2e 100%);--sidebar-bg:#1e1e30bf;--table-bg:#1a1a2e80;--card-bg:#2d2d44a6;--modal-bg:#232337f2;--snackbar-bg:#2d2d44e6;--snackbar-border:var(--border);--snackbar-text:var(--text)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";background:radial-gradient(circle, var(--orb-1) 0%, #be185d00 70%);z-index:-1;filter:blur(100px);pointer-events:none;width:50%;height:50%;animation:25s ease-in-out infinite alternate floatOrb1;position:fixed;top:-10%;left:-10%}body:after{content:"";background:radial-gradient(circle, var(--orb-2) 0%, #ec489900 70%);z-index:-1;filter:blur(100px);pointer-events:none;width:60%;height:60%;animation:30s ease-in-out infinite alternate floatOrb2;position:fixed;bottom:-10%;right:-10%}@keyframes floatOrb1{0%{transform:translate(0)scale(1)}to{transform:translate(8%,12%)scale(1.15)}}@keyframes floatOrb2{0%{transform:translate(0)scale(1)}to{transform:translate(-8%,-12%)scale(1.15)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#be185d33;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#be185d66}.app-container{grid-template-columns:280px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-right:1px solid var(--border);z-index:10;flex-direction:column;justify-content:space-between;height:100vh;padding:36px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:14px;margin-bottom:44px;display:flex}.brand__logo-img{object-fit:cover;border:1.5px solid #fff3;border-radius:14px;width:44px;height:44px;transition:transform .3s;box-shadow:0 8px 20px #be185d59}.brand__logo-img:hover{transform:scale(1.05)}.login-logo-wrapper{justify-content:center;margin-bottom:24px;display:flex}.login-logo-img{object-fit:cover;border:2.5px solid #ffffff40;border-radius:22px;width:84px;height:84px;animation:6s ease-in-out infinite alternate pulseLogo;box-shadow:0 16px 36px #be185d73}@keyframes pulseLogo{0%{transform:scale(1);box-shadow:0 16px 36px #be185d73}to{transform:scale(1.04);box-shadow:0 20px 44px #ec489999}}.brand strong{color:var(--text);letter-spacing:-.02em;font-family:Playfair Display,serif;font-size:20px;font-weight:800}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:11px;font-weight:600;display:block}nav{flex-direction:column;flex-grow:1;gap:8px;display:flex}.nav-link{color:var(--muted);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:14px;padding:12px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.nav-link svg{width:18px;height:18px;stroke:var(--muted);fill:none;transition:stroke .25s}.nav-link:hover{color:var(--text);background:#be185d14;border-color:#be185d0d}.nav-link:hover svg{stroke:var(--text)}.nav-link.active{color:var(--text);background:linear-gradient(90deg, var(--primary-soft) 0%, #be185d05 100%);border:1px solid var(--border);box-shadow:inset 2px 0 0 var(--primary);position:relative}.nav-link.active svg{stroke:var(--primary)}.sidebar-footer{border-top:1px solid #ffffff0d;padding-top:24px}.admin-profile{align-items:center;gap:14px;margin-bottom:20px;display:flex}.admin-avatar{background:linear-gradient(135deg, var(--primary-soft) 0%, #be185d4d 100%);border:2px solid var(--border);width:42px;height:42px;color:var(--text);border-radius:50%;place-items:center;font-weight:700;display:grid;box-shadow:0 4px 10px #00000026}.admin-info strong{font-size:14px;font-weight:700;display:block}.admin-info span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.btn-logout{border-radius:var(--radius-sm);width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff0f;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.btn-logout svg{stroke:var(--muted);fill:none}.btn-logout:hover{color:#f87171;background:#ef444414;border-color:#ef444433}.btn-logout:hover svg{stroke:#f87171}.content{height:100vh;padding:44px 56px;overflow-y:auto}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:44px;display:flex}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px;font-size:12px;font-weight:800}h1{color:var(--text);letter-spacing:-.01em;margin-bottom:12px;font-family:Playfair Display,serif;font-size:42px;font-weight:900;line-height:1.1}.hero p{color:var(--muted);max-width:680px;font-size:16px;line-height:1.5}.status{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);background:#ffffff08;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 8px 32px #0000001a}.status span{border-radius:50%;width:8px;height:8px}.status.connected span{background:#10b981;box-shadow:0 0 10px #10b981}.status.loading span{background:#f59e0b;animation:1.5s ease-in-out infinite pulse;box-shadow:0 0 10px #f59e0b}.status.disconnected span{background:#ef4444;box-shadow:0 0 10px #ef4444}.grid-stats{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:44px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);flex-direction:column;justify-content:space-between;padding:26px 28px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:0 0;width:100%;height:3px;transition:background-color .3s;position:absolute;top:0;left:0}.stat-card:hover{border-color:#be185d59;transform:translateY(-6px);box-shadow:0 28px 56px #00000073}.stat-card:hover:before{background:linear-gradient(90deg, var(--primary), #ec4899)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.stat-value{color:var(--text);letter-spacing:-.01em;margin-top:10px;font-family:Playfair Display,serif;font-size:38px;font-weight:900}.stat-desc{color:var(--muted);margin-top:8px;font-size:12px;font-weight:500}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);margin-bottom:32px;padding:36px 40px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.panel-title h2{color:var(--text);font-family:Playfair Display,serif;font-size:24px;font-weight:800}.panel-title p{color:var(--muted);margin-top:4px;font-size:14px;font-weight:500}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--table-bg);overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{color:var(--text);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;background:#be185d14;padding:18px 24px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--border);color:var(--text);padding:18px 24px;font-size:14px;font-weight:500}tr:last-child td{border-bottom:0}tr:hover td{background:#be185d08}.badge{letter-spacing:.02em;border-radius:99px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-admin{color:#f472b6;background:#be185d26;border:1px solid #be185d40}.badge-user{color:#60a5fa;background:#2563eb1a;border:1px solid #2563eb33}.badge-linked{color:#34d399;background:#10b9811a;border:1px solid #10b98133}.badge-unlinked{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b33}.tabular-nums{font-variant-numeric:tabular-nums;font-family:Plus Jakarta Sans,monospace}.login-container{background:var(--login-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";filter:blur(80px);background:radial-gradient(circle,#be185d40 0%,#0000 70%);width:400px;height:400px;animation:8s ease-in-out infinite alternate pulseOrb;position:absolute;top:-10%;left:-10%}@keyframes pulseOrb{0%{transform:scale(1)translate(0)}to{transform:scale(1.15)translate(5%,5%)}}.login-card{background:var(--card-bg);-webkit-backdrop-filter:blur(35px);backdrop-filter:blur(35px);border-radius:var(--radius-lg);text-align:center;border:1px solid #be185d33;width:100%;max-width:460px;padding:56px 48px;position:relative;box-shadow:0 40px 80px #0009}.login-card:after{content:"";border-radius:var(--radius-lg);z-index:-1;pointer-events:none;background:linear-gradient(135deg,#be185d4d,#ffffff05);position:absolute;inset:-1px}.login-header{margin-bottom:40px}.login-logo{background:linear-gradient(135deg, var(--primary) 0%, #db2777 100%);color:#fff;border-radius:20px;place-items:center;width:72px;height:72px;margin-bottom:24px;font-family:Playfair Display,serif;font-size:36px;font-weight:900;display:inline-grid;position:relative;box-shadow:0 12px 28px #be185d66}.login-logo:after{content:"";background:linear-gradient(135deg, var(--primary), #ec4899);z-index:-1;filter:blur(6px);opacity:.6;border-radius:23px;position:absolute;inset:-3px}.login-card h2{color:var(--text);letter-spacing:-.01em;margin-bottom:10px;font-family:Playfair Display,serif;font-size:30px;font-weight:800}.login-card p{color:var(--muted);font-size:14px;line-height:1.6}.login-error{color:#f87171;border-radius:var(--radius-md);text-align:left;background:#ef44441a;border:1px solid #ef444440;margin-bottom:28px;padding:14px 18px;font-size:13px;font-weight:500;line-height:1.5}.btn-login{background:linear-gradient(135deg, var(--primary) 0%, #db2777 100%);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:14px;width:100%;padding:16px 28px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 8px 26px #be185d4d}.btn-login svg{fill:currentColor}.btn-login:hover{background:linear-gradient(135deg, var(--primary-hover) 0%, #db2777 100%);transform:translateY(-3px);box-shadow:0 16px 36px #be185d73}.btn-login:active{transform:translateY(0)}.login-footer{color:var(--muted);margin-top:40px;font-size:12px;font-weight:500}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}.spinner-dark{border:3px solid #be185d26;border-top-color:var(--primary);border-radius:50%;width:26px;height:26px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-sync{background:var(--primary-soft);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-sync:hover{background:#be185d38;border-color:#be185d4d}.btn-sync svg{stroke:var(--text);fill:none;transition:transform .3s}.btn-sync:hover svg{transform:rotate(180deg)}@media (width<=1120px){.grid-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.app-container{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;padding:24px;position:relative;overflow:visible}.brand{margin-bottom:24px}.content{height:auto;padding:32px 24px}.grid-stats{grid-template-columns:1fr}.hero{flex-direction:column;align-items:flex-start}}.snackbar{background:var(--snackbar-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--snackbar-border);border-radius:var(--radius-md);z-index:1000;width:340px;color:var(--snackbar-text);opacity:0;pointer-events:none;align-items:center;gap:14px;padding:16px 20px;font-size:13px;font-weight:600;transition:right .45s cubic-bezier(.16,1,.3,1),opacity .35s;display:flex;position:fixed;bottom:24px;right:-360px;box-shadow:0 24px 48px #00000040}.snackbar.show{opacity:1;pointer-events:auto;right:24px}.snackbar-icon{border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.snackbar-error .snackbar-icon{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.snackbar-success .snackbar-icon{color:#34d399;background:#10b9811f;border:1px solid #10b98133}.snackbar-info .snackbar-icon{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f633}.snackbar-close{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:2px;font-size:18px;transition:color .2s;display:flex}.snackbar-close:hover{color:var(--snackbar-text)}.pagination-bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:18px;display:flex}.btn-pagination{background:var(--primary-soft);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-pagination:hover:not(:disabled){background:#be185d38;border-color:#be185d4d;transform:translateY(-1px)}.btn-pagination:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.page-number{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--muted);border:1px solid #0000;place-items:center;font-size:13px;font-weight:600;transition:all .2s;display:grid}.page-number:hover{background:var(--primary-soft);color:var(--text)}.page-number.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #be185d59}.panel-controls{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.search-box-wrapper{flex-grow:1;max-width:400px;position:relative}.search-input{background:var(--table-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:10px 36px 10px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:all .25s}.search-input:focus{border-color:var(--primary);background:var(--surface-strong);box-shadow:0 0 0 3px var(--primary-soft)}.search-input::placeholder{color:var(--muted);opacity:.7}.search-clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;font-size:14px;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--text)}.select-wrapper{display:inline-block;position:relative}.filter-select{background:var(--table-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23be185d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px;outline:none;padding:10px 36px 10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .25s}.filter-select:focus{border-color:var(--primary);background-color:var(--surface-strong);box-shadow:0 0 0 3px var(--primary-soft)}.filter-select option{background:var(--bg);color:var(--text);font-weight:500}.probability-container{grid-template-columns:1.25fr .75fr;gap:32px;margin-top:16px;display:grid}@media (width<=960px){.probability-container{grid-template-columns:1fr}}.sliders-panel{flex-direction:column;gap:20px;display:flex}.slider-group{flex-direction:column;gap:8px;display:flex}.slider-header{justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.slider-value{background:var(--primary-soft);color:var(--primary);border-radius:6px;padding:2px 10px;font-family:monospace;font-size:13px}.range-input{-webkit-appearance:none;background:var(--border);border-radius:99px;outline:none;width:100%;height:6px;transition:background .3s}.range-input::-webkit-slider-thumb{appearance:none;border:3.5px solid var(--primary);cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s,background-color .15s;box-shadow:0 0 10px #be185d66}.range-input::-webkit-slider-thumb:hover{background-color:var(--primary);transform:scale(1.2)}.slider-common{accent-color:#10b981}.slider-uncommon{accent-color:#3b82f6}.slider-rare{accent-color:#8b5cf6}.slider-epic{accent-color:#f59e0b}.slider-legendary{accent-color:#ef4444}.validation-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;gap:20px;padding:24px;display:flex}.validation-card h3{font-family:Playfair Display,serif;font-size:18px;font-weight:700}.distribution-bar{background:var(--border);border:1px solid var(--border);border-radius:99px;height:20px;display:flex;overflow:hidden}.distribution-bar div{height:100%;transition:width .35s cubic-bezier(.4,0,.2,1)}.validation-status{flex-direction:column;gap:12px;display:flex}.status-pill{border-radius:99px;align-items:center;gap:8px;width:fit-content;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex}.status-pill.valid{color:#34d399;background:#10b9811f;border:1px solid #10b98133}.status-pill.valid .dot{background:#10b981;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #10b981}.status-pill.invalid{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.status-pill.invalid .dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite alternate pulse;box-shadow:0 0 8px #ef4444}.status-message{color:var(--muted);font-size:13px;font-weight:500;line-height:1.5}.btn-save-config{background:linear-gradient(135deg, var(--primary) 0%, #db2777 100%);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:12px 24px;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 20px #be185d40}.btn-save-config:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #be185d59}.btn-save-config:disabled{background:var(--border);color:var(--muted);box-shadow:none;cursor:not-allowed;opacity:.6}.gacha-tab-container{flex-direction:column;gap:32px;display:flex}.simulator-grid{grid-template-columns:1.15fr .85fr;gap:32px;margin-top:12px;display:grid}@media (width<=960px){.simulator-grid{grid-template-columns:1fr}}.simulation-controls-card{flex-direction:column;display:flex}.simulation-controls-card h3,.simulation-history-card h3{margin-bottom:8px;font-family:Playfair Display,serif;font-size:18px;font-weight:700}.simulator-actions{gap:12px;margin-bottom:24px;display:flex}.btn-simulator{background:var(--table-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-grow:1;padding:10px 16px;font-size:13.5px;font-weight:700;transition:all .2s}.btn-simulator:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.simulation-stats-display{border:1px solid var(--border);border-radius:var(--radius-sm);background:#be185d08;padding:18px}.simulation-stats-display h4{margin-bottom:2px;font-size:14px;font-weight:700}.stats-bars{flex-direction:column;gap:12px;margin-top:16px;display:flex}.stat-bar-row{grid-template-columns:100px 1fr 65px;align-items:center;gap:12px;display:grid}.stat-bar-label{font-size:12px;font-weight:600}.stat-bar-bg{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.stat-bar-fill{border-radius:99px;height:100%;transition:width .3s}.stat-bar-value{text-align:right;font-size:12px;font-weight:700}.stat-bar-value small{color:var(--muted);font-weight:500}.simulation-history-card{flex-direction:column;display:flex}.history-list-wrapper{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);flex-grow:1;max-height:310px;overflow-y:auto}.history-empty{text-align:center;color:var(--muted);padding:48px 24px;font-size:13.5px;font-weight:500}.history-list{flex-direction:column;display:flex}.history-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.history-row:last-child{border-bottom:0}.history-time{color:var(--muted);font-size:11px}.reset-tool-container{margin-top:12px}.reset-inputs-group{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px;display:grid}@media (width<=600px){.reset-inputs-group{grid-template-columns:1fr}}.input-field{flex-direction:column;gap:8px;display:flex}.input-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.form-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);width:100%;min-height:44px;color:var(--text);font:inherit;padding:10px 12px;font-size:14px}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.form-control:disabled{opacity:.6;cursor:not-allowed}.btn-reset-gacha{background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;padding:12px 24px;font-size:14px;font-weight:700;transition:all .25s}.btn-reset-gacha:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px #be185d40}.btn-reset-gacha:disabled{opacity:.5;cursor:not-allowed;transform:none}.battle-pass-admin{flex-direction:column;gap:32px;display:flex}.battle-pass-stats{margin-bottom:0}.battle-pass-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;padding:20px 0 8px;display:grid}.battle-pass-page-header h2{margin-bottom:8px}.battle-pass-summary-strip{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.battle-pass-summary-strip span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);min-height:34px;color:var(--text);align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.battle-pass-summary-strip strong{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.battle-pass-admin-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:32px;display:grid}.battle-pass-editor-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:stretch;gap:32px;display:grid}.battle-pass-form-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:20px;padding:24px;display:flex}.battle-pass-actions,.battle-pass-form-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.battle-pass-form-actions .btn-reset-gacha,.battle-pass-form-actions .btn-save-config{flex:180px}.battle-pass-stat-title{margin-top:14px;font-size:20px;line-height:1.25}.battle-pass-toggle{color:var(--text);cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:700;display:inline-flex}.battle-pass-toggle input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.battle-pass-current-card{min-height:100%}.battle-pass-current-list{flex-direction:column;gap:14px;display:flex}.battle-pass-current-list div{border-bottom:1px solid var(--border);grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px;padding-bottom:12px;display:grid}.battle-pass-current-list div:last-child{border-bottom:0;padding-bottom:0}.battle-pass-current-list span,.battle-pass-row-id{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.battle-pass-current-list strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:14px}.battle-pass-disable-btn{border-radius:var(--radius-sm);color:#ef4444;cursor:pointer;background:#ef44440f;border:1px solid #ef44444d;justify-content:center;align-items:center;width:100%;margin-top:4px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}[data-theme=dark] .battle-pass-disable-btn{color:#f87171;background:#ef44441a;border-color:#ef444459}.battle-pass-disable-btn:hover:not(:disabled){color:#fff;background:#ef4444;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 6px 16px #ef444440}.battle-pass-disable-btn:active:not(:disabled){transform:translateY(0)}.battle-pass-disable-btn:disabled{opacity:.5;cursor:not-allowed}.battle-pass-delete-mission-btn{border-radius:var(--radius-sm);color:#ef4444;cursor:pointer;background:#ef444414;border:1px solid #ef44446b;align-self:flex-start;min-height:44px;margin-top:2px;padding:10px 14px;font-size:13px;font-weight:800;transition:background .2s,border-color .2s,color .2s,transform .2s}.battle-pass-delete-mission-btn:hover:not(:disabled){color:#fff;background:#ef4444;border-color:#ef4444;transform:translateY(-1px)}.battle-pass-delete-mission-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-danger-action{border-radius:var(--radius-sm);color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef44446b;flex:180px;padding:12px 24px;font-size:14px;font-weight:800;transition:all .25s}.btn-danger-action:hover:not(:disabled){color:#fff;background:#ef4444;transform:translateY(-1px);box-shadow:0 8px 20px #ef444438}.btn-danger-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.battle-pass-row-id{text-transform:none;letter-spacing:0;margin-top:4px;display:block}.battle-pass-reward-grid{grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:12px;display:grid}.battle-pass-reward-editor-grid{grid-template-columns:repeat(auto-fit,minmax(620px,1fr))}.battle-pass-reward-row{background:var(--table-bg);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:44px minmax(120px,.9fr) 84px minmax(130px,1fr);align-items:center;gap:10px;padding:12px;display:grid}.battle-pass-reward-editor-row{grid-template-columns:44px minmax(90px,.5fr) minmax(110px,.6fr) 70px minmax(130px,1fr) minmax(150px,1.2fr)}.battle-pass-reward-row-readonly{grid-template-columns:44px minmax(110px,.8fr) 70px minmax(160px,1fr)}.battle-pass-reward-row-free{border-left:4px solid #94a3b8}.battle-pass-reward-row-premium{border-left:4px solid var(--primary)}.battle-pass-level-pill{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);font-variant-numeric:tabular-nums;border-radius:10px;place-items:center;font-size:14px;font-weight:800;display:grid}.battle-pass-muted{color:var(--muted);font-size:12px;font-weight:700}.battle-pass-exp-analysis{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);gap:14px;padding:18px;display:grid}.battle-pass-exp-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.battle-pass-exp-header h3{color:var(--text);margin:0 0 6px;font-size:18px;line-height:1.25}.battle-pass-exp-header p{color:var(--muted);margin:0;font-size:13px;font-weight:700;line-height:1.45}.battle-pass-exp-header strong{border-radius:var(--radius-sm);background:var(--primary-soft);min-width:74px;min-height:42px;color:var(--primary);font-variant-numeric:tabular-nums;flex:none;place-items:center;padding:8px 12px;font-size:18px;font-weight:900;display:grid}.battle-pass-exp-meter{background:var(--border);border-radius:999px;height:10px;overflow:hidden}.battle-pass-exp-meter span{border-radius:inherit;background:var(--primary);height:100%;transition:width .25s;display:block}.battle-pass-exp-short .battle-pass-exp-meter span,.battle-pass-exp-short .battle-pass-exp-header strong{color:#fff;background:#ef4444}.battle-pass-exp-ready .battle-pass-exp-meter span,.battle-pass-exp-ready .battle-pass-exp-header strong{color:#fff;background:#10b981}.battle-pass-exp-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.battle-pass-exp-metrics div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);align-content:center;gap:5px;min-height:70px;padding:11px 12px;display:grid}.battle-pass-exp-metrics span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.battle-pass-exp-metrics strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;line-height:1.2}.battle-pass-exp-breakdown{flex-wrap:wrap;gap:8px;display:flex}.battle-pass-exp-breakdown span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);color:var(--muted);padding:7px 10px;font-size:12px;font-weight:800}.battle-pass-reward-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);gap:14px;padding:18px;display:grid}.battle-pass-reward-summary-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.battle-pass-reward-summary-metrics div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);align-content:center;gap:5px;min-height:70px;padding:11px 12px;display:grid}.battle-pass-reward-summary-metrics span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.battle-pass-reward-summary-metrics strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;line-height:1.2}.battle-pass-reward-summary-list{flex-wrap:wrap;gap:8px;display:flex}.battle-pass-reward-summary-list span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);min-height:34px;color:var(--muted);align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.battle-pass-reward-summary-list strong{color:var(--text);font-size:12px}.battle-pass-flower-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:46px;padding:6px 10px;display:grid}.battle-pass-flower-preview img,.battle-pass-flower-preview>span:first-child{background:var(--surface-strong);width:34px;height:34px;color:var(--muted);object-fit:contain;border-radius:8px;place-items:center;font-size:10px;font-weight:800;display:grid}.battle-pass-flower-preview strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px}.battle-pass-track-editor{gap:12px;display:grid}.battle-pass-track-editor-header,.battle-pass-track-row{grid-template-columns:58px minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.battle-pass-track-editor-header{z-index:2;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--modal-bg);color:var(--muted);text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:900;position:sticky;top:-24px}.battle-pass-track-level{place-items:start center;padding-top:14px;display:grid}.battle-pass-track-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);gap:12px;min-width:0;padding:14px;display:grid}.battle-pass-track-card-free{border-left:5px solid #94a3b8}.battle-pass-track-card-premium{border-left:5px solid var(--primary);background:color-mix(in srgb, var(--primary-soft) 20%, var(--card-bg))}.battle-pass-track-card-empty{background:var(--table-bg);border-style:dashed;align-content:center}.battle-pass-track-card-header,.battle-pass-track-fields{grid-template-columns:minmax(0,1fr) minmax(96px,.45fr);align-items:center;gap:10px;display:grid}.battle-pass-track-card-header strong{color:var(--text);font-size:14px}.battle-pass-track-card-header span{background:var(--surface-strong);min-width:0;color:var(--muted);overflow-wrap:anywhere;border-radius:999px;justify-self:end;padding:5px 9px;font-size:11px;font-weight:900}.battle-pass-track-card label{min-width:0;color:var(--muted);text-transform:uppercase;gap:7px;font-size:11px;font-weight:900;display:grid}.battle-pass-track-card .btn-reset-gacha,.battle-pass-track-card .battle-pass-delete-mission-btn{width:auto;margin-top:0;padding:8px 10px;font-size:12px}.battle-pass-track-review{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);gap:14px;padding:18px;display:grid}.battle-pass-track-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.battle-pass-track-review-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;display:grid}.battle-pass-track-review-card>strong,.battle-pass-track-review-card p{grid-column:1/-1}.battle-pass-track-review-card>strong{color:var(--text);font-size:15px}.battle-pass-track-review-card div{gap:4px;display:grid}.battle-pass-track-review-card span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.battle-pass-track-review-card b{color:var(--text);font-variant-numeric:tabular-nums;font-size:17px}.battle-pass-track-review-card p{color:var(--muted);margin:0;font-size:12px;font-weight:800;line-height:1.45}.battle-pass-track-review-card-free{border-left:5px solid #94a3b8}.battle-pass-track-review-card-premium{border-left:5px solid var(--primary);background:color-mix(in srgb, var(--primary-soft) 22%, var(--table-bg))}.battle-pass-export-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.battle-pass-export-actions .btn-reset-gacha{width:auto;min-width:150px;margin-top:0}.battle-pass-mission-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;display:grid}.battle-pass-mission-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:18px;display:flex}.battle-pass-mission-card-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.battle-pass-mission-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.battle-pass-mission-row-2{grid-template-columns:3fr 1fr}.battle-pass-mission-row-2 .field-tracking-event{grid-column:span 2}.battle-pass-mission-editor{gap:18px;display:grid}.battle-pass-add-mission-actions{flex-wrap:wrap;gap:10px;display:flex}.battle-pass-add-mission-actions .btn-reset-gacha{flex:0 170px}.battle-pass-mission-editor-card label:not(.plant-checkbox),.battle-pass-editor-panel label:not(.plant-checkbox){color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:8px;font-size:12px;font-weight:700;display:grid}.battle-pass-mission-editor-card textarea.form-control{resize:vertical;min-height:88px;line-height:1.45}.battle-pass-table-title{margin-bottom:20px}.battle-pass-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.battle-pass-row-actions .btn-reset-gacha,.battle-pass-row-actions .btn-save-config,.battle-pass-row-actions .battle-pass-disable-btn{width:auto;margin-top:0;padding:8px 12px;font-size:12px}.battle-pass-wizard-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.battle-pass-wizard-steps button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);min-height:42px;color:var(--muted);cursor:pointer;font-weight:800}.battle-pass-wizard-steps button.active{background:var(--primary);border-color:var(--primary);color:#fff}.battle-pass-form-card label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:8px;font-size:12px;font-weight:700;display:grid}.battle-pass-modal-overlay{z-index:9998;-webkit-backdrop-filter:blur(12px);background:#180f1475;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.battle-pass-modal-content{background:var(--modal-bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;width:min(1180px,100%);max-height:min(92vh,980px);display:flex;overflow:hidden;box-shadow:0 28px 90px #24141e3d}.battle-pass-modal-content-editor{width:min(1280px,100%)}.battle-pass-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px 18px;display:flex}.battle-pass-modal-header h3{color:var(--text);margin:0 0 6px;font-size:24px;line-height:1.2}.battle-pass-modal-header span{color:var(--muted);font-size:13px;font-weight:800;display:block}.battle-pass-modal-body{padding:24px 28px 28px;overflow-y:auto}.battle-pass-modal-sections,.battle-pass-editor-panel{gap:20px;display:grid}.battle-pass-modal-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);gap:16px;padding:20px;display:grid}.battle-pass-section-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.battle-pass-section-title h3{color:var(--text);margin:0;font-size:18px;line-height:1.3}.battle-pass-section-title span{background:var(--primary-soft);min-width:32px;height:32px;color:var(--primary);border-radius:10px;place-items:center;font-size:13px;font-weight:900;display:grid}.battle-pass-modal-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.battle-pass-summary-metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.battle-pass-summary-metrics div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);align-content:center;gap:6px;min-height:72px;padding:12px 14px;display:grid}.battle-pass-summary-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.battle-pass-summary-metrics strong{color:var(--text);font-size:18px;line-height:1.2}.plant-admin{gap:24px;display:grid}.plant-admin-grid{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);align-items:start;gap:24px;display:grid}.plant-list{gap:8px;display:grid}.plant-rarity-tabs{flex-wrap:wrap;gap:10px;display:flex}.plant-rarity-tab{border:1px solid var(--border);background:var(--table-bg);min-height:42px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:9px 14px;transition:all .2s;display:inline-flex}.plant-rarity-tab span{color:inherit;font-size:13px;font-weight:800}.plant-rarity-tab strong{min-width:22px;color:inherit;font-size:12px;font-weight:900}.plant-rarity-tab:hover{border-color:var(--primary);color:var(--primary)}.plant-rarity-tab.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.plant-list-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);width:100%;color:var(--text);cursor:pointer;text-align:left;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.plant-list-row.active{border-color:var(--primary);background:var(--primary-soft)}.plant-list-row strong,.plant-list-row small{display:block}.plant-list-row small{color:var(--muted);margin-top:3px}.plant-thumb{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);width:44px;height:44px;color:var(--primary);place-items:center;font-weight:800;display:grid;overflow:hidden}.plant-thumb img{object-fit:contain;width:100%;height:100%}.plant-status{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.plant-status-published{color:#34d399;background:#10b9811f;border:1px solid #10b98138}.plant-status-draft{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b38}.plant-status-retired{color:var(--muted);background:#94a3b824;border:1px solid #94a3b838}.plant-editor-grid,.plant-assets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.plant-editor-grid label,.plant-assets-grid label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:8px;font-size:12px;font-weight:700;display:grid}.plant-assets-grid{margin-top:18px}.plant-assets-grid small{color:var(--muted);text-transform:none;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.plant-checkbox{flex-direction:row;align-self:end;align-items:center;min-height:46px;color:var(--text)!important;text-transform:none!important;letter-spacing:0!important;grid-template-columns:none!important;gap:10px!important;display:flex!important}.plant-checkbox input{width:18px;height:18px;accent-color:var(--primary)}.monetization-admin{flex-direction:column;gap:28px;display:flex}.monetization-control-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.monetization-control-copy{align-items:center;gap:18px;min-width:0;display:flex}.monetization-control-copy h3{color:var(--text);margin:0 0 6px;font-size:20px;line-height:1.25}.monetization-control-copy p{max-width:680px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.5}.monetization-status{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;min-width:118px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.monetization-status.active{color:#059669;background:#10b9811f;border:1px solid #10b98147}[data-theme=dark] .monetization-status.active{color:#34d399}.monetization-status.paused{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b52}[data-theme=dark] .monetization-status.paused{color:#fbbf24}.monetization-switch{cursor:pointer;flex:none;width:64px;height:38px;position:relative}.monetization-switch input{opacity:0;cursor:pointer;position:absolute;inset:0}.monetization-switch span{border:1px solid var(--border);background:var(--table-bg);border-radius:999px;transition:background .2s,border-color .2s;position:absolute;inset:0}.monetization-switch span:after{content:"";background:var(--surface-strong);border-radius:50%;width:28px;height:28px;transition:transform .2s;position:absolute;top:4px;left:4px;box-shadow:0 5px 14px #24141e2e}.monetization-switch input:checked+span{border-color:var(--primary);background:var(--primary)}.monetization-switch input:checked+span:after{transform:translate(26px)}.monetization-placement-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.monetization-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);flex-direction:column;gap:18px;min-width:0;padding:20px;display:flex}.monetization-card.is-enabled{box-shadow:inset 0 3px 0 var(--primary);border-color:#be185d47}.monetization-card-header{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.monetization-placement-mark{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--primary-soft);width:48px;height:48px;color:var(--primary);place-items:center;font-size:13px;font-weight:900;display:grid}.monetization-card-title{min-width:0}.monetization-card-title span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:11px;font-weight:900;display:block}.monetization-card-title h3{color:var(--text);font-size:18px;line-height:1.25}.switch-row{min-height:36px;color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.switch-row input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.monetization-card-description{color:var(--muted);font-size:13px;font-weight:700;line-height:1.5}.monetization-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.monetization-metrics div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);align-content:center;gap:5px;min-width:0;min-height:68px;padding:10px;display:grid}.monetization-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:900}.monetization-metrics strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;line-height:1.2}.monetization-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.monetization-card label:not(.switch-row):not(.monetization-switch){min-width:0;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:8px;font-size:11px;font-weight:800;display:grid}.monetization-ad-units{border-top:1px solid var(--border);gap:12px;padding-top:16px;display:grid}.monetization-ad-units .battle-pass-section-title h3{font-size:15px}.monetization-ad-units input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}@media (width<=960px){.battle-pass-page-header{grid-template-columns:1fr}.battle-pass-page-header .battle-pass-form-actions{width:100%}.battle-pass-page-header .btn-reset-gacha,.battle-pass-page-header .btn-save-config{flex:150px}.battle-pass-admin-grid,.battle-pass-editor-grid,.plant-admin-grid,.monetization-placement-grid,.battle-pass-reward-grid,.battle-pass-reward-editor-grid,.battle-pass-mission-grid,.battle-pass-wizard-steps,.battle-pass-reward-row,.battle-pass-reward-editor-row,.battle-pass-mission-fields,.monetization-fields-grid,.plant-editor-grid,.plant-assets-grid{grid-template-columns:1fr}.battle-pass-track-editor-header{display:none}.battle-pass-track-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--table-bg);grid-template-columns:1fr;padding:12px}.battle-pass-track-level{place-items:center start;padding-top:0}.battle-pass-track-card-header,.battle-pass-track-fields,.battle-pass-track-review-grid,.battle-pass-track-review-card{grid-template-columns:1fr}.battle-pass-track-card-header span{justify-self:start}.battle-pass-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-pass-modal-overlay{padding:12px}.battle-pass-modal-content{max-height:94vh}.battle-pass-modal-header,.battle-pass-modal-body{padding-left:18px;padding-right:18px}.battle-pass-modal-stats{grid-template-columns:1fr}}@media (width<=560px){.monetization-control-panel,.monetization-control-copy,.monetization-card-header{grid-template-columns:1fr;align-items:start}.monetization-control-panel{flex-direction:column}.monetization-control-copy{display:grid}.monetization-metrics,.battle-pass-summary-metrics{grid-template-columns:1fr}.battle-pass-add-mission-actions .btn-reset-gacha{flex:100%}}.telemetry-tab-container{flex-direction:column;gap:32px;display:flex}.chart-grid{grid-template-columns:1.35fr .65fr;gap:32px;margin-top:12px;display:grid}@media (width<=960px){.chart-grid{grid-template-columns:1fr}}.svg-chart-card{background:var(--table-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;position:relative;overflow:hidden}.svg-wrapper{width:100%}.telemetry-chart{width:100%;height:auto;overflow:visible}.telemetry-chart text{font-family:inherit}.telemetry-stats-card{flex-direction:column;display:flex}.telemetry-stats-card h3{margin-bottom:12px;font-family:Playfair Display,serif;font-size:18px;font-weight:700}.telemetry-stats-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex-grow:1;gap:16px;padding:24px;display:flex}.telemetry-stat-item{flex-direction:column;gap:4px;display:flex}.telemetry-stat-item span{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-size:11px;font-weight:700}.telemetry-stat-item strong{color:var(--text);font-size:24px;font-weight:800}.telemetry-details-toggle{white-space:nowrap;padding:7px 10px;font-size:12px}.telemetry-details-row td{background:var(--card-bg);padding:0 20px 20px}.telemetry-details-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--table-bg);padding:18px}.telemetry-details-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.telemetry-details-grid div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);min-width:0;padding:10px 12px}.telemetry-details-grid span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:800;display:block}.telemetry-details-grid strong{overflow-wrap:anywhere;color:var(--text);font-size:13px;display:block}.telemetry-details-json{border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 82%, #000 18%);max-height:320px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px;font-size:12px;line-height:1.55;overflow:auto}@media (width<=760px){.telemetry-details-grid{grid-template-columns:1fr}}.stats-tab-container{flex-direction:column;gap:32px;display:flex}.stats-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-top:12px;display:grid}@media (width<=1024px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--card-bg);border:1px solid var(--border);transition:transform .3s,box-shadow .3s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-progress-ring{transform:rotate(-90deg)}.progress-ring-bg{stroke:var(--border)}.progress-ring-bar{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.progress-bar-row{flex-direction:column;display:flex}.progress-bar-row span{font-size:13px}.progress-bar-row .progress-track{background:var(--border);border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.progress-bar-row .progress-fill{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.btn-sync{transition:all .2s}.btn-sync:hover{opacity:.9;transform:scale(1.02)}.btn-sync:active{transform:scale(.98)}.garden-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:9998;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:24px 32px;animation:.25s ease-out gardenModalFadeIn;display:flex;position:fixed;top:0;left:0}.garden-modal-content{background:var(--modal-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:100%;max-width:min(1280px,100vw - 64px);max-height:90vh;animation:.35s cubic-bezier(.34,1.56,.64,1) gardenModalScaleUp;display:flex;overflow-y:auto;box-shadow:0 24px 80px #00000026,0 0 0 1px #ffffff0d}.garden-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:24px 32px 16px;display:flex}.garden-modal-close{background:var(--table-bg);border:1px solid var(--border);cursor:pointer;color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s;display:flex}.garden-modal-close:hover{color:#ef4444;background:#ef444414;border-color:#ef444433;transform:scale(1.05)}.garden-modal-stats{border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:12px;padding:16px 32px;display:grid}.garden-stat-chip{background:var(--table-bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;min-width:0;padding:10px 14px;transition:all .2s;display:flex}.garden-stat-chip:hover{background:var(--primary-soft);border-color:var(--primary)}.garden-stat-icon{font-size:18px}.garden-stat-value{color:var(--text);font-size:16px;font-weight:700;line-height:1.1;display:block}.garden-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;display:block;overflow:hidden}.garden-modal-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 32px;display:flex;overflow-x:auto}.garden-modal-tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;flex:none;padding:12px 16px;font-size:13px;font-weight:600;transition:all .2s}.garden-modal-tab:hover{color:var(--text)}.garden-modal-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.garden-modal-body{flex:1;padding:24px 32px;overflow-y:auto}.garden-modal-greenhouse-layout{grid-template-columns:minmax(320px,420px) minmax(360px,1fr);align-items:start;gap:28px;display:grid}@media (width<=768px){.garden-modal-greenhouse-layout{grid-template-columns:1fr}}.garden-modal-grid-section{flex-direction:column;display:flex}.garden-modal-detail-section{background:var(--table-bg);border:1px solid var(--border);border-radius:12px;min-height:200px;padding:18px}.garden-modal-footer{border-top:1px solid var(--border);background:var(--table-bg);border-radius:0 0 20px 20px;padding:16px 32px}.garden-grid-visualizer{background:var(--table-bg);border:1px solid var(--border);border-radius:var(--radius-md);aspect-ratio:5/6;grid-template-columns:repeat(5,1fr);gap:10px;width:min(100%,380px);max-width:380px;margin:0 auto;padding:16px;display:grid;box-shadow:inset 0 2px 4px #0000000d}@media (width<=900px){.garden-modal-overlay{padding:16px}.garden-modal-content{max-width:calc(100vw - 32px)}.garden-modal-header,.garden-modal-stats,.garden-modal-body,.garden-modal-footer,.garden-modal-tabs{padding-left:18px;padding-right:18px}}.garden-cell{aspect-ratio:1;border-radius:var(--radius-sm);box-sizing:border-box;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.garden-cell.cell-empty{border:1px dashed var(--border);background:#ba185d03}.garden-cell.cell-empty:hover{background:#ba185d08}.garden-cell.cell-occupied{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm)}.garden-cell.cell-occupied:hover{box-shadow:var(--shadow-md);border-color:var(--primary);z-index:10;transform:scale(1.08)}.garden-cell.cell-occupied.active{border:2px solid var(--primary);background:var(--primary-soft);box-shadow:0 0 12px #ba185d40}.garden-cell img{object-fit:contain;filter:drop-shadow(0 2px 4px #00000014);width:80%;height:80%}.cell-water-count{color:#3b82f6;pointer-events:none;background:#3b82f61f;border:1px solid #3b82f626;border-radius:4px;padding:1px 4px;font-size:8px;font-weight:800;position:absolute;bottom:2px;right:2px}.message-quote{color:var(--text);text-shadow:0 1px #fff6;line-height:1.5}[data-theme=dark] .message-quote{text-shadow:none}.garden-modal-content::-webkit-scrollbar{width:6px}.garden-modal-body::-webkit-scrollbar{width:6px}.garden-modal-content::-webkit-scrollbar-track{background:0 0}.garden-modal-body::-webkit-scrollbar-track{background:0 0}.garden-modal-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.garden-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.garden-modal-content::-webkit-scrollbar-thumb:hover{background:var(--muted)}.garden-modal-body::-webkit-scrollbar-thumb:hover{background:var(--muted)}@keyframes gardenModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes gardenModalScaleUp{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.premium-purchases-panel{flex-direction:column;gap:18px;display:flex}.premium-purchases-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.premium-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.premium-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.premium-summary-card{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;gap:5px;min-height:96px;padding:14px 16px;display:grid}.premium-summary-card.primary{background:linear-gradient(135deg,#be185d1f,#ec48990f);border-color:#be185d47}.premium-summary-card span,.premium-row-grid span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.premium-summary-card strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:30px;line-height:1}.premium-summary-card small,.premium-row-grid small{color:var(--muted);font-size:12px}.premium-toolbar{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px;display:grid}.premium-search{min-width:0}.premium-segmented{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;align-items:center;gap:4px;padding:4px;display:inline-flex}.premium-segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 11px;font-size:12px;font-weight:800}.premium-segmented button.active{background:var(--primary-soft);color:var(--primary)}.premium-purchase-list{gap:12px;display:grid}.premium-purchase-row{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;gap:14px;padding:15px;display:grid}.premium-purchase-row.active{border-color:#10b98138}.premium-row-main{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.premium-row-title{align-items:flex-start;gap:10px;min-width:0;display:flex}.premium-row-title strong{color:var(--text);font-size:15px;line-height:1.25;display:block}.premium-row-title button,.premium-row-grid button{color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.premium-status-dot{background:var(--muted);border-radius:999px;flex:none;width:9px;height:9px;margin-top:5px}.premium-status-dot.active{background:#10b981;box-shadow:0 0 0 4px #10b9811f}.premium-status-dot.inactive{background:var(--muted)}.premium-row-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.status-badge,.source-badge,.premium-mini-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-badge.active{color:#047857;background:#10b9811f;border:1px solid #10b98138}.status-badge.inactive{color:var(--muted);border:1px solid var(--border);background:#ffffff0d}.source-badge{color:var(--primary);background:#be185d1a;border:1px solid #be185d33}.premium-mini-badge{color:var(--primary);background:#be185d1f;border:1px solid #be185d40}.premium-row-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.premium-row-grid>div{background:#ffffff08;border-radius:8px;gap:4px;min-width:0;padding:10px 11px;display:grid}.premium-row-grid strong{color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.25}.premium-empty-state{min-height:220px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.premium-empty-state .spinner-dark{margin:0}@media (width<=900px){.premium-purchases-header,.premium-row-main,.premium-toolbar{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.premium-actions,.premium-row-badges{justify-content:flex-start}.premium-row-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.premium-row-grid{grid-template-columns:1fr}.premium-segmented{width:100%}.premium-segmented button{flex:1}}
