*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--surface:#12121a;--surface2:#1a1a26;--border:hsla(0,0%,100%,.07);--accent:#7c6af7;--accent2:#f76a8a;--text:#f0f0f8;--muted:#6b6b8a;--success:#4af7a0;--error:#f7604a;--warning:#f7c44a;--radius:16px;--font:var(--font-syne),sans-serif;--mono:var(--font-mono),monospace}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:rgba(124,106,247,.3)}@keyframes navpulse{0%,to{box-shadow:0 0 6px var(--accent)}50%{box-shadow:0 0 16px var(--accent),0 0 32px rgba(124,106,247,.3)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:60px;padding:0 32px;justify-content:space-between;background:rgba(10,10,15,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav-logo,.navbar{display:flex;align-items:center}.nav-logo{gap:10px;font-size:1.1rem;font-weight:800;letter-spacing:-.03em;text-decoration:none;color:var(--text)}.nav-logo-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 10px var(--accent);animation:navpulse 2.5s ease-in-out infinite}.nav-right{display:flex;align-items:center;gap:12px}.nav-link{font-family:var(--mono);font-size:.78rem;color:var(--muted);text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--text)}.login-btn{display:flex;align-items:center;gap:8px;background:#5865f2;border:none;color:#fff;font-family:var(--font);font-size:.82rem;font-weight:700;padding:8px 16px;border-radius:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.login-btn:hover{background:#4752c4;transform:translateY(-1px)}.login-btn svg{width:16px;height:16px;fill:#fff}.user-btn{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.78rem;padding:5px 12px 5px 6px;border-radius:24px;cursor:pointer;transition:all .2s;position:relative}.user-btn:hover{border-color:var(--accent)}.user-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.user-avatar-placeholder{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;min-width:180px;box-shadow:0 16px 48px rgba(0,0,0,.5);opacity:0;transform:translateY(-8px) scale(.96);transition:all .18s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}.dropdown.open{opacity:1;transform:none;pointer-events:all}.dropdown-header{padding:12px 16px 10px;border-bottom:1px solid var(--border)}.dropdown-name{font-size:.88rem;font-weight:700}.dropdown-tag{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-top:2px}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-family:var(--mono);font-size:.78rem;color:var(--text);text-decoration:none;cursor:pointer;transition:background .15s;background:none;border:none;width:100%}.dropdown-item:hover{background:var(--surface2)}.dropdown-item.danger{color:var(--error)}.dropdown-item.danger:hover{background:rgba(247,96,74,.1)}.dropdown-divider{height:1px;background:var(--border);margin:4px 0}.bg-mesh{background:radial-gradient(ellipse 80% 60% at 20% 10%,rgba(124,106,247,.12) 0,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(247,106,138,.08) 0,transparent 60%),radial-gradient(ellipse 50% 40% at 60% 30%,rgba(106,247,200,.06) 0,transparent 60%)}.bg-mesh,.grid-overlay{position:fixed;inset:0;pointer-events:none;z-index:0}.grid-overlay{background-image:linear-gradient(hsla(0,0%,100%,.015) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,transparent 0);background-size:60px 60px}.home-page{position:relative;z-index:10;width:100%;max-width:860px;margin:0 auto;padding:100px 32px 80px;display:flex;flex-direction:column;gap:32px}.hero h1{font-size:clamp(2.2rem,6vw,3.8rem);font-weight:800;line-height:1.05;letter-spacing:-.04em;background:linear-gradient(135deg,#fff 30%,var(--accent) 70%,var(--accent2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{margin-top:12px;font-family:var(--mono);font-size:.85rem;color:var(--muted)}.drop-zone{border:1.5px dashed rgba(124,106,247,.35);border-radius:var(--radius);background:var(--surface);padding:56px 40px;text-align:center;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.drop-zone:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(124,106,247,.05) 0,transparent 70%);opacity:0;transition:opacity .3s}.drop-zone.drag-over:before,.drop-zone:hover:before{opacity:1}.drop-zone.drag-over,.drop-zone:hover{border-color:var(--accent);background:var(--surface2);transform:translateY(-2px);box-shadow:0 20px 60px rgba(124,106,247,.12),0 0 0 1px rgba(124,106,247,.15)}.drop-zone.drag-over{border-style:solid}.drop-icon{font-size:2.8rem;margin-bottom:14px;display:block;filter:drop-shadow(0 0 16px rgba(124,106,247,.4));transition:transform .3s}.drop-zone:hover .drop-icon{transform:translateY(-4px) scale(1.05)}.drop-zone h2{font-size:1.2rem;font-weight:700;margin-bottom:8px;letter-spacing:-.02em}.drop-zone p{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone.locked{cursor:default;opacity:.5}.options-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 24px;display:flex;align-items:center;gap:14px}.opt-label{font-size:.78rem;color:var(--muted);white-space:nowrap}.opt-label,select{font-family:var(--mono)}select{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.82rem;padding:8px 14px;outline:none;cursor:pointer;transition:border-color .2s;flex:1 1}select:focus,select:hover{border-color:var(--accent)}select option{background:var(--surface2)}.preview-section{display:flex;flex-direction:column;gap:14px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:10px;gap:10px}.preview-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative;animation:fadeUp .3s ease}.preview-item img{width:100%;height:110px;object-fit:cover;display:block}.preview-item-name{padding:6px 8px;font-family:var(--mono);font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-remove{position:absolute;top:5px;right:5px;background:rgba(0,0,0,.6);border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s}.preview-remove:hover{background:var(--error)}.upload-row{display:flex;gap:10px;align-items:center}.upload-btn{background:linear-gradient(135deg,var(--accent),#9b8cf9);border:none;color:#fff;font-family:var(--font);font-size:.95rem;font-weight:700;padding:14px 36px;border-radius:12px;cursor:pointer;transition:all .25s ease;box-shadow:0 8px 32px rgba(124,106,247,.3)}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(124,106,247,.45)}.upload-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.clear-btn{background:none;border:1px solid var(--border);color:var(--muted);font-family:var(--mono);font-size:.78rem;padding:10px 18px;border-radius:10px;cursor:pointer;transition:all .2s}.clear-btn:hover{border-color:var(--error);color:var(--error)}.progress-wrap{display:flex;flex-direction:column;gap:6px}.progress-bg{height:4px;background:var(--surface2);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:2px;transition:width .3s ease}.progress-label{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.results{display:flex;flex-direction:column;gap:10px}.result-ok{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.78rem;color:var(--success)}.result-ok:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(74,247,160,.15);font-size:.65rem}.result-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px;animation:slideIn .3s ease}.result-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}.result-info{flex:1 1;min-width:0}.result-name{font-size:.83rem;font-weight:600}.result-name,.result-url{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-url{font-size:.7rem;color:var(--accent)}.result-meta,.result-url{font-family:var(--mono);margin-top:2px}.result-meta{font-size:.65rem;color:var(--muted)}.copy-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.7rem;padding:5px 12px;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.login-cta{background:var(--surface);border:1px solid rgba(124,106,247,.25);border-radius:var(--radius);padding:32px;text-align:center}.login-cta h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}.login-cta p{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin-bottom:20px}.discord-btn{display:inline-flex;align-items:center;gap:8px;background:#5865f2;border:none;color:#fff;font-family:var(--font);font-size:.88rem;font-weight:700;padding:12px 24px;border-radius:12px;cursor:pointer;transition:all .2s}.discord-btn:hover{background:#4752c4;transform:translateY(-1px)}.discord-btn svg{width:16px;height:16px;fill:#fff}.home-footer{position:relative;z-index:10;padding:20px 32px 40px;font-family:var(--mono);font-size:.7rem;color:var(--muted);display:flex;gap:20px;align-items:center;justify-content:center}.home-footer a{color:var(--muted);text-decoration:none}.home-footer a:hover{color:var(--accent)}.login-wrap{position:relative;z-index:10;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:48px 40px;width:100%;max-width:400px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.5)}.login-logo{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.3rem;font-weight:800;letter-spacing:-.03em;margin-bottom:32px}.login-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 12px var(--accent)}.login-card h1{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:8px}.login-card p{font-size:.78rem;margin-bottom:32px;line-height:1.6}.login-card p,.login-note{font-family:var(--mono);color:var(--muted)}.login-note{margin-top:20px;font-size:.68rem}.gallery-wrap{position:relative;z-index:10;min-height:100vh;padding:80px 40px 60px}.gallery-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:28px;padding-top:20px}.gallery-toolbar h1{font-size:1.6rem;font-weight:800;letter-spacing:-.04em;flex:1 1}.toolbar-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.78rem;padding:9px 18px;border-radius:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.toolbar-btn:hover{border-color:var(--accent);color:var(--accent)}.toolbar-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.stat-chip{font-family:var(--mono);font-size:.72rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:6px 14px;border-radius:8px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px}.g-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .25s;position:relative;animation:popIn .3s ease backwards}.g-item:hover{transform:translateY(-3px);border-color:rgba(124,106,247,.4);box-shadow:0 12px 36px rgba(0,0,0,.3)}.g-item.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.g-item img{width:100%;height:160px;object-fit:cover;display:block;background:var(--surface2)}.g-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7) 0,transparent 50%);opacity:0;transition:opacity .25s;display:flex;align-items:flex-end;justify-content:flex-end;padding:10px;gap:6px}.g-item:hover .g-overlay{opacity:1}.ov-btn{background:hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.15);color:#fff;padding:4px 10px;border-radius:6px;font-family:var(--mono);font-size:.68rem;cursor:pointer;transition:all .15s}.ov-btn:hover{background:hsla(0,0%,100%,.22)}.ov-btn.del:hover{background:rgba(247,96,74,.5);border-color:var(--error)}.g-info{padding:10px 12px}.g-name{font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px}.g-meta{font-size:.65rem;display:flex;justify-content:space-between}.g-by,.g-meta{font-family:var(--mono);color:var(--muted)}.g-by{font-size:.6rem;opacity:.6;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expiry-badge{font-family:var(--mono);font-size:.6rem;background:rgba(247,196,74,.15);color:var(--warning);border:1px solid rgba(247,196,74,.25);border-radius:5px;padding:2px 7px;margin-top:4px;display:inline-block}.sel-check{position:absolute;top:8px;left:8px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.5);border:2px solid hsla(0,0%,100%,.3);display:none;align-items:center;justify-content:center;transition:all .15s}.select-mode .sel-check{display:flex}.g-item.selected .sel-check{background:var(--accent);border-color:var(--accent)}.sel-check:after{content:"✓";color:#fff;font-size:.65rem;opacity:0;transition:opacity .1s}.g-item.selected .sel-check:after{opacity:1}.empty{grid-column:1/-1;text-align:center;padding:80px 20px}.empty-icon{font-size:3rem;opacity:.25;margin-bottom:16px}.empty h3{color:var(--muted);font-weight:600;font-size:1rem}.empty p{font-size:.75rem;opacity:.6;margin-top:6px}.empty p,.spinner-wrap{font-family:var(--mono);color:var(--muted)}.spinner-wrap{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;padding:60px;font-size:.78rem}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .7s linear infinite}.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;pointer-events:none}.lb.show{opacity:1;pointer-events:all}.lb-inner{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 40px 100px rgba(0,0,0,.6);transform:scale(.95);transition:transform .25s;width:600px}.lb.show .lb-inner{transform:scale(1)}.lb-img-wrap{background:#000;max-height:55vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.lb-img-wrap img{max-height:55vh;max-width:100%;object-fit:contain}.lb-details{padding:18px 22px}.lb-name{font-size:.95rem;font-weight:700;margin-bottom:8px;letter-spacing:-.02em}.lb-url{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-family:var(--mono);font-size:.7rem;color:var(--accent);word-break:break-all;margin:8px 0}.lb-row{display:flex;justify-content:space-between;font-size:.72rem;margin-bottom:4px}.lb-counter,.lb-row{font-family:var(--mono);color:var(--muted)}.lb-counter{font-size:.68rem;text-align:center;margin-top:6px}.lb-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.lb-btn{flex:1 1;padding:9px;border-radius:10px;font-family:var(--mono);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.lb-btn:hover{border-color:var(--accent);color:var(--accent)}.lb-btn.danger{background:rgba(247,96,74,.08)}.lb-btn.danger:hover{border-color:var(--error);color:var(--error);background:rgba(247,96,74,.15)}.lb-close{position:absolute;top:18px;right:18px;background:hsla(0,0%,100%,.08);border:1px solid var(--border);color:var(--text);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.lb-close:hover{background:var(--error);border-color:var(--error)}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.08);border:1px solid var(--border);color:var(--text);width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.lb-nav:hover{background:rgba(124,106,247,.25);border-color:var(--accent);color:var(--accent)}.lb-nav:disabled{opacity:.2;cursor:not-allowed;pointer-events:none}.lb-prev{left:16px}.lb-next{right:16px}.bulk-bar{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:12px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:60;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);white-space:nowrap}.bulk-bar.show{transform:translateX(-50%) translateY(0)}.bulk-count{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.bulk-expiry-btn{background:rgba(124,106,247,.15);border:1px solid rgba(124,106,247,.3);color:var(--accent);font-family:var(--mono);font-size:.75rem;padding:7px 16px;border-radius:9px;cursor:pointer;transition:all .2s}.bulk-expiry-btn:hover{background:rgba(124,106,247,.25)}.bulk-del-btn{background:rgba(247,96,74,.15);border:1px solid rgba(247,96,74,.3);color:var(--error);font-family:var(--mono);font-size:.75rem;padding:7px 16px;border-radius:9px;cursor:pointer;transition:all .2s}.bulk-del-btn:hover{background:rgba(247,96,74,.25)}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px}.pg-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.75rem;padding:7px 14px;border-radius:9px;cursor:pointer;transition:all .2s}.pg-btn:hover{border-color:var(--accent);color:var(--accent)}.pg-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.pg-btn:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:30px;max-width:400px;width:90%;box-shadow:0 24px 60px rgba(0,0,0,.5)}.modal-card h3{font-size:1.05rem;font-weight:800;margin-bottom:6px}.modal-card p{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-bottom:18px}.expiry-opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:18px}.expiry-opt{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:9px 14px;font-family:var(--mono);font-size:.78rem;color:var(--text);cursor:pointer;transition:all .15s;text-align:center}.expiry-opt.sel,.expiry-opt:hover{border-color:var(--accent);color:var(--accent)}.expiry-opt.sel{background:rgba(124,106,247,.15)}.expiry-opt.never{grid-column:1/-1}.expiry-opt.never.sel,.expiry-opt.never:hover{border-color:var(--error);color:var(--error);background:rgba(247,96,74,.08)}.modal-footer{display:flex;gap:10px}.modal-cancel{flex:1 1;border-radius:10px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-family:var(--mono);font-size:.78rem}.modal-cancel,.modal-save{padding:10px;cursor:pointer;transition:all .2s}.modal-save{flex:2 1;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),#9b8cf9);color:#fff;font-family:var(--font);font-size:.85rem;font-weight:700}.modal-save:disabled{opacity:.4;cursor:not-allowed}.confirm-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;max-width:340px;width:90%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.5)}.confirm-card h3{font-size:1rem;font-weight:700;margin-bottom:6px}.confirm-card p{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-bottom:20px}.confirm-btns{display:flex;gap:10px}.confirm-cancel{border-radius:10px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.confirm-cancel,.confirm-ok{flex:1 1;padding:10px;font-family:var(--mono);font-size:.78rem;cursor:pointer}.confirm-ok{border-radius:10px;border:1px solid rgba(247,96,74,.4);background:rgba(247,96,74,.12);color:var(--error)}.confirm-ok:hover{background:rgba(247,96,74,.25)}.admin-wrap{position:relative;z-index:10;display:flex;min-height:100vh;padding-top:0}.sidebar{position:fixed;left:0;top:60px;bottom:0;width:230px;background:var(--surface);border-right:1px solid var(--border);padding:28px 16px;display:flex;flex-direction:column;z-index:50}.sb-logo{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:800;letter-spacing:-.03em;margin-bottom:28px;padding:0 4px}.sb-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 10px var(--accent)}.sb-label{font-family:var(--mono);font-size:.65rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 4px;margin-bottom:6px;margin-top:18px}.sb-stat{padding:9px 12px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.sb-key{font-size:.75rem;color:var(--muted)}.sb-key,.sb-val{font-family:var(--mono)}.sb-val{font-size:.85rem;font-weight:500}.sb-link{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-family:var(--mono);font-size:.75rem;color:var(--muted);cursor:pointer;transition:all .2s;text-decoration:none;margin-bottom:2px;background:none;border:none;width:100%;text-align:left}.sb-link:hover{background:var(--surface2);color:var(--text)}.sb-link.danger:hover{background:rgba(247,96,74,.1);color:var(--error)}.sb-bottom{margin-top:auto}.admin-main{margin-left:230px;padding:80px 36px 60px}.tb-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.75rem;padding:8px 16px;border-radius:10px;cursor:pointer;transition:all .2s;white-space:nowrap}.tb-btn:hover{border-color:var(--accent);color:var(--accent)}.tb-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.auth-gate{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px;width:100%;max-width:380px;box-shadow:0 32px 80px rgba(0,0,0,.5);text-align:center}.auth-card h2{font-size:1.4rem;font-weight:800;margin-bottom:6px;letter-spacing:-.03em}.auth-card p{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-bottom:24px}.auth-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:var(--mono);font-size:.88rem;padding:12px 16px;outline:none;margin-bottom:12px;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.auth-btn{width:100%;background:linear-gradient(135deg,var(--accent),#9b8cf9);border:none;color:#fff;font-family:var(--font);font-size:.95rem;font-weight:700;padding:13px;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px rgba(124,106,247,.3)}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 6px 28px rgba(124,106,247,.45)}.auth-err{color:var(--error);font-family:var(--mono);font-size:.72rem;margin-top:8px}.profile-page{position:relative;z-index:10;width:100%;max-width:720px;margin:0 auto;padding:100px 32px 80px;display:flex;flex-direction:column;gap:24px}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px;display:flex;align-items:center;gap:24px}.profile-avatar{width:72px;height:72px;border-radius:50%;border:3px solid var(--accent);box-shadow:0 0 20px rgba(124,106,247,.3);flex-shrink:0;object-fit:cover}.profile-avatar-placeholder{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:#fff;flex-shrink:0}.profile-info{flex:1 1;min-width:0}.profile-name{font-size:1.4rem;font-weight:800;letter-spacing:-.03em}.profile-tag{font-size:.78rem;margin-top:3px}.profile-id,.profile-tag{font-family:var(--mono);color:var(--muted)}.profile-id{font-size:.68rem;margin-top:6px;opacity:.6}.profile-badges{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.badge{font-family:var(--mono);font-size:.68rem;padding:3px 10px;border-radius:20px;border:1px solid}.badge.discord{background:rgba(88,101,242,.12);border-color:rgba(88,101,242,.3);color:#7289da}.badge.member{background:rgba(74,247,160,.1);border-color:rgba(74,247,160,.25);color:var(--success)}.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:12px;gap:12px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;text-align:center}.stat-val{font-size:1.8rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-lbl{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-top:4px}.section{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px}.section-title{font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.section-desc{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-bottom:20px;line-height:1.6}.key-status{display:flex;align-items:center;gap:10px;margin-bottom:18px}.key-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.key-dot.active{background:var(--success);box-shadow:0 0 8px var(--success)}.key-dot.inactive{background:var(--muted)}.key-status-text{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.key-reveal{background:var(--surface2);border:1px solid rgba(124,106,247,.3);border-radius:12px;padding:16px;margin-bottom:16px;animation:fadeUp .3s ease}.key-warning{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;color:var(--warning);margin-bottom:10px}.key-warning:before{content:"⚠"}.key-value{font-family:var(--mono);font-size:.78rem;color:var(--accent);word-break:break-all;background:var(--bg);padding:10px 14px;border-radius:8px;border:1px solid var(--border);margin-bottom:12px}.key-copy-btn{background:linear-gradient(135deg,var(--accent),#9b8cf9);border:none;color:#fff;font-family:var(--font);font-size:.82rem;font-weight:700;padding:9px 20px;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(124,106,247,.3)}.key-copy-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(124,106,247,.45)}.key-copy-btn.ok{background:linear-gradient(135deg,var(--success),#2dd97a);box-shadow:0 4px 16px rgba(74,247,160,.3)}.key-actions{display:flex;gap:10px;flex-wrap:wrap}.gen-btn{background:linear-gradient(135deg,var(--accent),#9b8cf9);border:none;color:#fff;font-family:var(--font);font-size:.85rem;font-weight:700;padding:11px 22px;border-radius:11px;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(124,106,247,.3)}.gen-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(124,106,247,.45)}.gen-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.revoke-btn{background:rgba(247,96,74,.1);border:1px solid rgba(247,96,74,.3);color:var(--error);font-family:var(--mono);font-size:.78rem;padding:11px 20px;border-radius:11px;cursor:pointer;transition:all .2s}.revoke-btn:hover{background:rgba(247,96,74,.2)}.sxcu-btn{display:inline-flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.78rem;padding:10px 18px;border-radius:10px;cursor:pointer;transition:all .2s;text-decoration:none;margin-top:12px}.sxcu-btn:hover{border-color:var(--accent);color:var(--accent)}.toast{position:fixed;bottom:28px;right:28px;z-index:9999;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.78rem;padding:10px 18px;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.4)}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--error)}.toast.warning{border-color:var(--warning)}.perm-screen{position:fixed;inset:0;z-index:200;background:var(--bg);justify-content:center}.perm-card,.perm-screen{display:flex;align-items:center}.perm-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:48px 40px;width:100%;max-width:360px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.5);flex-direction:column;gap:16px}.perm-card.denied{border-color:rgba(247,96,74,.3)}.perm-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}.perm-icon{font-size:2.5rem}.perm-title{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.perm-label{font-family:var(--mono);font-size:.78rem;color:var(--muted);line-height:1.6}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Syne_fada24;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Syne_Fallback_fada24;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_fada24{font-family:__Syne_fada24,__Syne_Fallback_fada24;font-style:normal}.__variable_fada24{--font-syne:"__Syne_fada24","__Syne_Fallback_fada24"}@font-face{font-family:__DM_Mono_d02b1f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8d0a1832fd3be0c8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Mono_d02b1f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d7df244fe7b07b95-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__DM_Mono_d02b1f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Mono_d02b1f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__DM_Mono_d02b1f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Mono_d02b1f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__DM_Mono_Fallback_d02b1f;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_d02b1f{font-family:__DM_Mono_d02b1f,__DM_Mono_Fallback_d02b1f;font-style:normal}.__variable_d02b1f{--font-mono:"__DM_Mono_d02b1f","__DM_Mono_Fallback_d02b1f"}