*,:before,:after{box-sizing:border-box}:root{--bg:#161b22;--surface:#1f242c;--surface-2:#262c35;--surface-3:#2d333d;--border:#2d333d;--border-strong:#3d4451;--text:#e8eaee;--text-muted:#9aa3b2;--text-faint:#6b7280;--accent:#06b6d4;--accent-hover:#0891b2;--accent-soft:#06b6d426;--checkbox-on:#8b5cf6;--checkbox-on-soft:#8b5cf626;--success:#10b981;--success-soft:#10b98126;--warning:#f59e0b;--warning-soft:#f59e0b26;--danger:#ef4444;--danger-soft:#ef444426;--info:#3b82f6;--info-soft:#3b82f626;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:18px;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 12px 32px #00000080;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"SF Mono", Menlo, Consolas, "Roboto Mono", monospace;--ease:cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;min-height:100vh;margin:0;padding:0;font-size:15px;line-height:1.45}input,button,textarea,select{font-family:inherit;font-size:inherit;color:inherit}#app{max-width:540px;padding:16px 16px calc(28px + env(safe-area-inset-bottom));min-height:100vh;margin:0 auto}#splash{background:radial-gradient(ellipse at center, #1a2030 0%, var(--bg) 70%);z-index:9999;transition:opacity .5s var(--ease), transform .5s var(--ease);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}#splash.hide{opacity:0;pointer-events:none;transform:scale(1.06)}#splash:before{content:"";animation:gridFade 2.4s var(--ease) infinite;pointer-events:none;background-image:linear-gradient(#06b6d40d 1px,#0000 1px),linear-gradient(90deg,#06b6d40d 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000000e6 30%,#0000 70%);mask-image:radial-gradient(circle,#000000e6 30%,#0000 70%)}@keyframes gridFade{0%,to{opacity:.6}50%{opacity:1}}.splash-scan{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:3px;box-shadow:0 0 18px var(--accent), 0 0 4px #fff;pointer-events:none;animation:splashScan 1.6s var(--ease) forwards;position:absolute;top:-10px;left:0;right:0}@keyframes splashScan{0%{opacity:0;top:-10px}20%{opacity:1}80%{opacity:1}to{opacity:0;top:calc(100% + 10px)}}.splash-particles{pointer-events:none;position:absolute;inset:0}.splash-particle{background:var(--accent);width:4px;height:4px;box-shadow:0 0 10px var(--accent);opacity:0;border-radius:50%;animation:4.5s linear infinite splashParticle;position:absolute;bottom:0}.splash-particle:first-child{animation-delay:0s;left:12%}.splash-particle:nth-child(2){animation-delay:.6s;left:26%}.splash-particle:nth-child(3){width:3px;height:3px;animation-delay:1.2s;left:40%}.splash-particle:nth-child(4){animation-delay:1.8s;left:56%}.splash-particle:nth-child(5){width:3px;height:3px;animation-delay:2.4s;left:70%}.splash-particle:nth-child(6){animation-delay:3s;left:84%}.splash-particle:nth-child(7){animation-delay:3.6s;left:48%}.splash-particle:nth-child(8){width:3px;height:3px;animation-delay:4.2s;left:18%}@keyframes splashParticle{0%{opacity:0;bottom:-5%;transform:translate(0)scale(.4)}10%{opacity:1;transform:translate(0)scale(1)}50%{transform:translate(20px)scale(.9)}90%{opacity:1;transform:translate(-10px)scale(.6)}to{opacity:0;bottom:105%;transform:translate(0)scale(.3)}}.splash-glow{pointer-events:none;background:radial-gradient(circle,#06b6d452 0%,#06b6d414 38%,#0000 65%);border-radius:50%;width:460px;height:460px;animation:3s ease-in-out infinite splashGlow;position:absolute}@keyframes splashGlow{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.2)}}.splash-frame{opacity:0;width:380px;max-width:88%;height:190px;animation:frameAppear .6s var(--ease) .2s forwards, frameRotate 18s linear 1.2s infinite;pointer-events:none;position:absolute}@keyframes frameAppear{0%{opacity:0;transform:scale(.8)}to{opacity:.55;transform:scale(1)}}@keyframes frameRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash-frame-path{stroke-dasharray:900;stroke-dashoffset:900px;animation:framePath 1.6s var(--ease) .2s forwards;filter:drop-shadow(0 0 6px var(--accent))}@keyframes framePath{to{stroke-dashoffset:0}}.splash-frame-dot{opacity:0;transform-origin:50%;animation:frameDot .4s var(--ease) forwards;filter:drop-shadow(0 0 6px var(--accent))}.splash-frame-dot:first-of-type{animation-delay:.5s}.splash-frame-dot:nth-of-type(2){animation-delay:.8s}.splash-frame-dot:nth-of-type(3){animation-delay:1.1s}.splash-frame-dot:nth-of-type(4){animation-delay:1.4s}@keyframes frameDot{0%{opacity:0;r:0}60%{opacity:1;r:6}to{opacity:1;r:3}}.splash-logo{z-index:2;clip-path:inset(0 100% 0 0);opacity:0;filter:drop-shadow(0 0 24px #06b6d473);width:300px;max-width:80%;height:auto;animation:splashLogoReveal 1.1s var(--ease) .7s forwards, splashLogoBreath 3.5s ease-in-out 2s infinite;position:relative}@keyframes splashLogoReveal{0%{clip-path:inset(0 100% 0 0);opacity:0;filter:drop-shadow(0 0 8px #06b6d433)brightness(1.4);transform:scale(.92)}60%{clip-path:inset(0);opacity:1;filter:drop-shadow(0 0 40px #06b6d4)brightness(1.5);transform:scale(1.06)}to{clip-path:inset(0);opacity:1;filter:drop-shadow(0 0 24px #06b6d480)brightness();transform:scale(1)}}@keyframes splashLogoBreath{0%,to{filter:drop-shadow(0 0 18px #06b6d459);transform:scale(1)}50%{filter:drop-shadow(0 0 38px #06b6d4b3);transform:scale(1.04)}}.splash-tagline{z-index:2;font-family:var(--font-mono);letter-spacing:.4em;color:var(--accent);text-transform:uppercase;opacity:0;animation:taglineIn .6s var(--ease) 1.7s forwards, taglineBlink 2.4s ease-in-out 2.4s infinite;margin-top:16px;font-size:10px;font-weight:600;position:relative}@keyframes taglineIn{0%{opacity:0;letter-spacing:.1em;transform:translateY(6px)}to{opacity:.85;letter-spacing:.4em;transform:translateY(0)}}@keyframes taglineBlink{0%,to{opacity:.85;text-shadow:0 0 4px var(--accent)}50%{opacity:.55;text-shadow:0 0 12px var(--accent)}}.splash-loader{z-index:2;opacity:0;animation:dotsIn .4s var(--ease) 2s forwards;gap:10px;display:flex;position:absolute;bottom:10%}@keyframes dotsIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.splash-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:1.4s ease-in-out infinite both splashBounce}.splash-dot:first-child{animation-delay:0s}.splash-dot:nth-child(2){animation-delay:.16s}.splash-dot:nth-child(3){animation-delay:.32s}@keyframes splashBounce{0%,80%,to{opacity:.3;transform:scale(.3)translateY(0)}40%{opacity:1;transform:scale(1)translateY(-8px)}}.screen{animation:fadeUp .32s var(--ease);display:none}.screen.active{display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 6px #0000}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.lang-picker{background:var(--surface);border:1px solid var(--border);width:fit-content;box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;gap:6px;margin-bottom:24px;margin-left:auto;margin-right:auto;padding:4px;display:flex}.lang-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.lang-btn:active{transform:scale(.96)}.lang-btn.active{background:var(--accent);color:#fff;font-weight:600}.lang-btn-flag{font-size:15px}.login-wrap{flex-direction:column;justify-content:center;min-height:100vh;padding:24px 8px;display:flex}.brand{text-align:center;margin-bottom:32px}.brand-mark{background:var(--accent);color:#fff;width:64px;height:64px;box-shadow:var(--shadow-md);border-radius:18px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.brand-name{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.brand-tag{color:var(--text-muted);margin:4px 0 0;font-size:14px}.auth-form{flex-direction:column;gap:14px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--text-muted);padding-left:2px;font-size:13px;font-weight:500}.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text);outline:none;padding:14px 16px;font-size:15px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-pass{position:relative}.input-suffix{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.input-suffix:active{background:var(--surface-2)}.auth-meta{justify-content:space-between;align-items:center;margin:4px 2px 6px;display:flex}.checkbox{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.checkbox input{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:5px;flex-shrink:0;width:18px;height:18px;position:relative}.checkbox input:checked{background:var(--accent);border-color:var(--accent)}.checkbox input:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.divider{text-align:center;color:var(--text-faint);margin:8px 0;font-size:13px;position:relative}.divider:before,.divider:after{content:"";background:var(--border);width:calc(50% - 28px);height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.divider span{background:var(--bg);padding:0 12px}.auth-footer{text-align:center;color:var(--text-muted);margin:10px 0 0;font-size:14px}.link{color:var(--accent);font-family:inherit;font-weight:500;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.link:active{opacity:.7}.link-strong{font-weight:600}.topbar{justify-content:space-between;align-items:center;padding:4px 4px 18px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-titles{text-align:center;flex:1}.topbar-detail{padding:4px 0 18px}.topbar-greet{color:var(--text-muted);margin:0;font-size:12px}.topbar-name{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.avatar{background:var(--accent);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;width:44px;height:44px;transition:transform .18s var(--ease), box-shadow .2s;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex;position:relative}.avatar:hover{box-shadow:0 0 0 3px var(--accent-soft)}.avatar:active{box-shadow:0 0 0 5px var(--accent-soft);transform:scale(.92)}.avatar-lg{width:56px;height:56px;font-size:20px}.avatar-xl{width:96px;height:96px;box-shadow:0 0 0 4px var(--accent-soft);margin:0 auto 14px;font-size:36px}.profile-hero{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);animation:scaleIn .4s var(--ease);margin-bottom:16px;padding:28px 20px 22px;position:relative;overflow:hidden}.profile-hero:before{content:"";background:radial-gradient(ellipse at top, var(--accent-soft) 0%, transparent 60%);opacity:.6;pointer-events:none;position:absolute;inset:0}.profile-hero>*{z-index:1;position:relative}.profile-name{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:700}.profile-email{color:var(--text-muted);margin:4px 0 12px;font-size:13px}.profile-tg-badge{background:var(--info-soft);color:var(--info);border:1px solid #3b82f64d;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.profile-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.profile-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;box-shadow:var(--shadow-sm);animation:slideUpFade .4s var(--ease) backwards;padding:14px 10px}.profile-stat:first-child{animation-delay:.1s}.profile-stat:nth-child(2){animation-delay:.18s}.profile-stat:nth-child(3){animation-delay:.26s}.profile-stat-num{color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:700}.profile-stat-label{color:var(--text-muted);margin:4px 0 0;font-size:11px}.profile-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:8px 4px;font-size:11px;font-weight:700}.profile-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:16px;overflow:hidden}.profile-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.profile-row:last-child{border-bottom:none}.profile-row-label{color:var(--text-muted);flex-shrink:0;font-size:13px}.profile-row-value{text-align:right;word-break:break-word;color:var(--text);font-size:14px;font-weight:500}.profile-actions{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.profile-action{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left;width:100%;transition:background .18s var(--ease), border-color .15s, transform .1s;align-items:center;gap:12px;padding:12px 14px;display:flex}.profile-action:hover{background:var(--surface-2);border-color:var(--border-strong)}.profile-action:active{transform:scale(.99)}.profile-action-icon{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:inline-flex}.profile-action-icon-danger{background:var(--danger-soft);border-color:#ef44444d}.profile-action-body{flex:1;min-width:0}.profile-action-title{color:var(--text);margin:0;font-size:14px;font-weight:500}.profile-action-danger{color:var(--danger)}.profile-action-sub{color:var(--text-muted);margin:2px 0 0;font-size:12px}.profile-action-chev{color:var(--text-faint);transition:transform .2s var(--ease), color .18s;flex-shrink:0;font-size:20px}.profile-action:hover .profile-action-chev{color:var(--accent);transform:translate(3px)}.profile-logout{margin-top:4px;color:var(--danger)!important;border-color:#ef444466!important}.profile-logout:hover{background:var(--danger-soft)!important;border-color:var(--danger)!important}.icon-btn{background:var(--surface-2);border:1px solid var(--border-strong);cursor:pointer;width:40px;height:40px;color:var(--text);transition:background .18s var(--ease), border-color .15s, transform .12s var(--ease), color .15s;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-3);border-color:var(--accent);color:var(--accent)}.icon-btn:active{background:var(--surface-3);transform:scale(.92)}.summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);align-items:center;margin-bottom:24px;padding:18px 8px;display:flex}.summary-item{text-align:center;flex-direction:column;flex:1;gap:4px;display:flex}.summary-num{letter-spacing:-.02em;font-size:24px;font-weight:700}.summary-label{color:var(--text-muted);font-size:12px}.summary-divider{background:var(--border);width:1px;height:32px}.section-head{justify-content:space-between;align-items:baseline;padding:0 4px 12px;display:flex}.section-title{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.keys-list{flex-direction:column;gap:12px;display:flex}.key-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color .18s var(--ease), box-shadow .2s, transform .12s;animation:slideUpFade .4s var(--ease) backwards;flex-direction:column;gap:12px;padding:16px;display:flex}.key-card:first-child{animation-delay:50ms}.key-card:nth-child(2){animation-delay:.1s}.key-card:nth-child(3){animation-delay:.15s}.key-card:nth-child(4){animation-delay:.2s}.key-card:nth-child(5){animation-delay:.25s}.key-card:nth-child(n+6){animation-delay:.3s}.key-card:hover{border-color:var(--border-strong)}.key-card-title-row{align-items:flex-start;gap:10px;display:flex}.key-num{background:var(--surface-2);border:1px solid var(--border-strong);min-width:22px;height:22px;font-family:var(--font-mono);color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.key-name{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--text);word-break:break-word;flex:1;margin:0;font-size:15px;font-weight:700;line-height:1.35}.key-badge{letter-spacing:.01em;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-running{background:var(--success-soft);color:var(--success);border:1px solid #10b98159}.badge-stopped{background:var(--warning-soft);color:var(--warning);border:1px solid #f59e0b59}.badge-expired{background:var(--danger-soft);color:var(--danger);border:1px solid #ef444459}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-running .badge-dot{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.key-code-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.key-code-box code{font-family:var(--font-mono);color:var(--accent);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;overflow:hidden}.key-code-copy{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:inline-flex}.key-code-copy:hover{background:var(--surface-3);color:var(--accent)}.key-code-copy:active{transform:scale(.92)}.key-stats{grid-template-columns:1fr 1fr;gap:14px 12px;padding:2px 0;display:grid}.key-stat-label{letter-spacing:.06em;color:var(--text-faint);text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:600}.key-stat-value{color:var(--text);margin:0;font-size:14px;font-weight:600;line-height:1.3}.key-actions{gap:8px;margin-top:4px;display:flex}.key-btn{cursor:pointer;transition:background .18s var(--ease), border-color .15s, transform .1s;border:1px solid #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:13px;font-weight:600;display:inline-flex}.key-btn:active{transform:scale(.97)}.key-btn-manage{background:var(--accent-soft);color:var(--accent);border-color:#06b6d459}.key-btn-manage:hover{border-color:var(--accent);background:#06b6d438}.key-btn-extend{background:var(--checkbox-on-soft);color:var(--checkbox-on);border-color:#8b5cf659}.key-btn-extend:hover{border-color:var(--checkbox-on);background:#8b5cf638}.status-bar{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);animation:slideUpFade .35s var(--ease);align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .3s,border-color .3s,color .3s;display:flex}.status-bar-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 #0000}.status-bar.running{color:var(--success);background:#10b9811a;border-color:#10b9814d}.status-bar.running .status-bar-dot{background:var(--success);animation:1.6s infinite pulse-status}@keyframes pulse-status{0%,to{box-shadow:0 0 #10b98180}50%{box-shadow:0 0 0 8px #10b98100}}.status-bar.stopped{color:var(--warning);background:#f59e0b1a;border-color:#f59e0b4d}.status-bar.stopped .status-bar-dot{background:var(--warning)}.status-bar.expired{color:var(--danger);background:#ef44441a;border-color:#ef44444d}.status-bar.expired .status-bar-dot{background:var(--danger)}.hero-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);text-align:center;box-shadow:var(--shadow-md);animation:scaleIn .4s var(--ease);margin-bottom:16px;padding:28px 20px 20px;position:relative;overflow:hidden}.hero-card:before{content:"";background:radial-gradient(ellipse at top, var(--accent-soft) 0%, transparent 60%);opacity:.7;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.hero-card:hover:before{opacity:1}.hero-card>*{z-index:1;position:relative}.hero-icon,.hero-media{background:var(--surface);border:1px solid var(--border);width:88px;height:88px;box-shadow:var(--shadow-sm);border-radius:24px;justify-content:center;align-items:center;margin:0 auto 14px;font-size:42px;display:flex;position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:100%;display:block}.hero-status{letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;margin-bottom:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hero-status.running{background:var(--success-soft);color:var(--success)}.hero-status.stopped{background:var(--warning-soft);color:var(--warning)}.hero-status.expired{background:var(--danger-soft);color:var(--danger)}.hero-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.hero-status.running:before{animation:1.6s ease-in-out infinite pulse}.hero-name{letter-spacing:-.02em;margin-bottom:18px;font-size:18px;font-weight:700}.metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);animation:slideUpFade .4s var(--ease) backwards;transition:border-color .2s, transform .18s var(--ease);align-items:center;gap:10px;padding:12px;display:flex}.metric:first-child{animation-delay:.1s}.metric:nth-child(2){animation-delay:.18s}.metric:nth-child(3){animation-delay:.26s}.metric:hover{border-color:var(--border-strong);transform:translateY(-2px)}.metric-icon{font-size:20px}.metric-label{color:var(--text-muted);letter-spacing:.02em;margin:0;font-size:11px}.metric-value{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:13px;font-weight:600;overflow:hidden}.tabs{background:var(--surface-2);border-radius:var(--r-md);gap:4px;margin-bottom:16px;padding:4px;display:flex}.tab{color:var(--text-muted);cursor:pointer;transition:all .18s var(--ease);background:0 0;border:none;border-radius:10px;flex:1;padding:10px 8px;font-size:14px;font-weight:500}.tab.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm), 0 0 0 1px var(--accent-soft);font-weight:600}.tab:hover:not(.active){color:var(--text)}.tab-content{animation:fadeUp .22s var(--ease);display:none}.tab-content.active{display:block}.config-toolbar{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.config-search-wrap{position:relative}.config-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.config-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text);outline:none;padding:10px 12px 10px 38px;font-size:14px;transition:border-color .15s}.config-search:focus{border-color:var(--accent)}.config-search::placeholder{color:var(--text-faint)}.config-search::-webkit-search-cancel-button{-webkit-appearance:none}.config-toolbar-actions{gap:8px;display:flex}.btn-pill{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--r-md);cursor:pointer;transition:background .18s var(--ease), border-color .15s, color .15s, transform .1s;flex:1;padding:7px 12px;font-size:12px;font-weight:500}.btn-pill:hover{background:var(--surface-3);border-color:var(--accent);color:var(--accent)}.btn-pill:active{background:var(--surface-3);transform:scale(.97)}.shot-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px 14px 12px}.shot-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.shot-title{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.shot-sub{color:var(--text-muted);margin:2px 0 0;font-size:12px}.shot-stamp-label{color:var(--text-muted)}.shot-stamp-time{color:var(--accent);font-family:var(--font-mono);letter-spacing:.02em;font-size:11px}.shot-refresh{background:var(--surface-2);border:1px solid var(--border-strong);width:36px;height:36px;color:var(--accent)}.shot-refresh:hover{background:var(--accent-soft)}.shot-refresh.refreshing svg{animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shot-body{border-radius:var(--r-md);background:var(--surface-2);height:140px;position:relative;overflow:hidden}.shot-img{object-fit:cover;cursor:zoom-in;width:100%;height:100%;transition:transform .2s var(--ease);display:block}.shot-img:active{transform:scale(.985)}.shot-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex;position:absolute;inset:0}.shot-placeholder-icon{opacity:.7;font-size:32px}.shot-placeholder-title{font-size:14px;font-weight:500}.shot-placeholder-sub{color:var(--text-faint);font-size:12px}.shot-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.shot-overlay-label{color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161b22d9;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;bottom:8px;left:8px}.shot-overlay-dot{background:#6fbf7d;border-radius:50%;width:6px;height:6px;animation:2s infinite ping;box-shadow:0 0 #6fbf7db3}@keyframes ping{0%{box-shadow:0 0 #6fbf7db3}70%{box-shadow:0 0 0 6px #6fbf7d00}to{box-shadow:0 0 #6fbf7d00}}.field-select{background:var(--surface-2);width:100%;color:var(--text);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:15px;transition:border-color .15s;display:flex}.field-select:active{transform:scale(.99)}.field-select:hover{border-color:var(--accent)}.field-select-icon{flex:1;align-items:center;gap:8px;min-width:0;display:inline-flex}.field-select-flag{flex-shrink:0;font-size:18px}.field-select-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.field-select-placeholder{color:var(--text-faint)}.field-select-chev{color:var(--text-faint);flex-shrink:0;font-size:18px}.picker-sheet{padding:8px 0 calc(20px + env(safe-area-inset-bottom));flex-direction:column;max-height:80vh;display:flex}.picker-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 16px 12px;display:flex}.picker-title{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.picker-search-wrap{padding:10px 16px 8px}.picker-search{background:var(--surface-2);width:100%;color:var(--text);border:1px solid #0000;border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .15s}.picker-search:focus{border-color:var(--accent)}.picker-list{-webkit-overflow-scrolling:touch;flex:1;padding:4px 8px;overflow-y:auto}.picker-item{text-align:left;cursor:pointer;width:100%;transition:background .18s var(--ease), border-color .15s, transform .12s;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.picker-item:hover{background:var(--surface-2);border-color:var(--border-strong)}.picker-item:active{background:var(--surface-3);transform:scale(.99)}.picker-item.selected{background:var(--accent-soft);border-color:var(--accent)}.picker-item-flag{background:var(--surface);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex}.picker-item-body{flex:1;min-width:0}.picker-item-name{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:500;overflow:hidden}.picker-item-sub{color:var(--text-muted);margin:2px 0 0;font-size:12px}.picker-item-check{color:var(--accent);opacity:0;flex-shrink:0;font-size:18px;font-weight:700}.picker-item.selected .picker-item-check{opacity:1}.picker-empty{text-align:center;color:var(--text-faint);padding:32px 16px;font-size:13px}.field-select-multi{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.field-chips{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.field-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.field-chip-num{opacity:.7;font-weight:700}.field-chip-label{white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.picker-multi-toolbar{color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 16px 10px;font-size:12px;display:flex}.picker-item-order{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.picker-item-reorder{flex-shrink:0;gap:4px;display:flex}.picker-item-reorder button{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:26px;height:26px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.picker-item-reorder button:active{background:var(--surface-2)}.picker-item-reorder button:disabled{opacity:.3}.picker-footer{border-top:1px solid var(--border);padding:12px 16px 4px}.picker-footer .btn{width:100%}.lightbox{z-index:300;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.lightbox.open{animation:fadeUp .18s var(--ease);display:flex}.lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 8px 32px #0006}.lightbox-close{top:calc(12px + env(safe-area-inset-top));color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:40px;height:40px;transition:background .18s var(--ease), transform .12s;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:50%;font-size:26px;line-height:1;position:absolute;right:12px}.lightbox-close:hover{background:#fff3}.lightbox-close:active{transform:scale(.9)}.config-form{flex-direction:column;gap:8px;display:flex}.field{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;transition:border-color .15s}.field:focus-within{border-color:var(--accent)}.field[data-level="2"]{margin-left:14px}.field[data-level="3"]{margin-left:28px}.march-divider{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);grid-column:1/-1;align-items:center;gap:10px;padding:14px 4px 6px;font-size:11px;font-weight:700;display:flex}.march-divider:before,.march-divider:after{content:"";background:var(--border);flex:1;height:1px}.march-divider-num{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.sync-banner{border-radius:var(--r-md);animation:slideUpFade .35s var(--ease);border:1px solid #0000;grid-column:1/-1;align-items:center;gap:10px;margin-bottom:4px;padding:10px 14px;font-size:13px;transition:background .3s;display:flex}.sync-banner-icon{background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.sync-banner-warn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-soft)}.sync-banner-ok{background:var(--success-soft);color:var(--success);border-color:var(--success-soft)}.chip-grid{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s var(--ease), border-color .18s, color .15s, transform .1s;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.chip:hover{background:var(--surface-2);border-color:var(--checkbox-on)}.chip:active{transform:scale(.94)}.chip-box{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:background .12s,border-color .12s;position:relative}.chip.checked{background:var(--checkbox-on-soft);border-color:var(--checkbox-on);color:var(--checkbox-on);font-weight:500}.chip.checked .chip-box{background:var(--checkbox-on);border-color:var(--checkbox-on)}.chip.checked .chip-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:0;left:4px;transform:rotate(45deg)}.chip-flag{font-size:14px}.chip-empty{color:var(--text-faint);padding:6px 4px;font-size:12px}.troop-grid{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:6px;display:grid}.troop-grid .chip{justify-content:flex-start;padding:8px 10px}.config-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color .2s var(--ease), box-shadow .25s var(--ease);margin-bottom:10px;overflow:hidden}.config-section:hover{border-color:var(--border-strong)}.config-section.open{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.section-head{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface);align-items:center;gap:12px;padding:14px 16px;display:flex}.section-head:active{background:var(--surface-2)}.section-chev{width:22px;height:22px;color:var(--text-muted);transition:transform .25s var(--ease), color .18s;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.config-section.open .section-chev{color:var(--accent);transform:rotate(90deg)}.section-head-body{flex:1;min-width:0}.section-parent{align-items:center;gap:10px;display:flex}.section-parent-checkbox{border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:5px;flex-shrink:0;width:22px;height:22px;transition:background .12s,border-color .12s;position:relative}.section-parent-checkbox.on{background:var(--checkbox-on);border-color:var(--checkbox-on)}.section-parent-checkbox.on:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:6px;height:13px;position:absolute;top:1px;left:6px;transform:rotate(45deg)}.section-parent-text{flex:1;min-width:0}.section-parent-label{letter-spacing:-.01em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:600;overflow:hidden}.section-parent-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px}.section-head-title{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.section-head-sub{color:var(--text-muted);margin:2px 0 0;font-size:11px}.section-head-count{color:var(--text-faint);background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500}.section-children{background:var(--surface-2);border-top:1px solid var(--border);animation:slideUpFade .3s var(--ease);padding:4px 8px 10px;display:none}.config-section.open .section-children{display:block}.config-section.inactive .section-children{opacity:.85}.config-section.inactive .section-children:before{content:"";background:linear-gradient(to right, transparent, var(--border) 40%, var(--border) 60%, transparent);height:2px;margin:0 0 8px;display:block}.section-children>.field{background:var(--surface);margin-bottom:6px}.section-children>.field:last-child{margin-bottom:0}.field-checkbox{background:var(--surface);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s var(--ease), border-color .18s, transform .1s;border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;display:flex}.field-checkbox:hover{border-color:var(--border-strong);background:var(--surface-2)}.field-checkbox:active{transform:scale(.99)}.field-checkbox:last-child{margin-bottom:0}.field-checkbox:active{background:var(--surface-2)}.field-checkbox.checked{border-color:var(--checkbox-on);background:var(--checkbox-on-soft)}.checkbox-box{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:5px;flex-shrink:0;width:20px;height:20px;transition:background .12s,border-color .12s;position:relative}.field-checkbox.checked .checkbox-box{background:var(--checkbox-on);border-color:var(--checkbox-on)}.field-checkbox.checked .checkbox-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:11px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.checkbox-label{color:var(--text);flex:1;font-size:14px;line-height:1.3}.checkbox-hint{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.field-checkbox.disabled{opacity:.4;pointer-events:none}.field-label{color:var(--text-muted);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.field-label:after{content:":"}.field-hint{color:var(--text-faint);margin-top:6px;font-size:12px;line-height:1.4}.roster-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.roster-status{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;min-width:0;padding:4px 10px;font-size:12px;line-height:1.3;display:inline-flex}.roster-status.ok{color:var(--success);border-color:var(--success-soft)}.roster-status.warn{color:var(--warning);border-color:var(--warning-soft)}.roster-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.roster-status.warn .roster-dot{animation:2s ease-in-out infinite roster-pulse}@keyframes roster-pulse{0%,to{opacity:1}50%{opacity:.25}}.roster-refresh{color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.roster-refresh:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent)}.roster-refresh:disabled{opacity:.5;cursor:not-allowed}.roster-icon{line-height:1;display:inline-block}.roster-icon.spinning{animation:.9s linear infinite roster-spin}@keyframes roster-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.field-input,.field-number{background:var(--surface-2);width:100%;color:var(--text);border:1px solid #0000;border-radius:10px;outline:none;padding:10px 12px;font-size:15px;transition:border-color .15s}.field-input:focus,.field-number:focus{border-color:var(--accent)}.field-input:disabled,.field-number:disabled{opacity:.5}.field-toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-toggle-text{flex:1}.field-toggle-text .field-label{margin-bottom:0}.toggle-switch{background:var(--border-strong);cursor:pointer;width:48px;height:28px;transition:background .2s var(--ease);border-radius:14px;flex-shrink:0;position:relative}.toggle-switch:after{content:"";width:22px;height:22px;transition:transform .2s var(--ease);background:#e8eaee;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0006}.toggle-switch.on{background:var(--accent)}.toggle-switch.on:after{transform:translate(20px)}.form-actions{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);z-index:5;box-shadow:var(--shadow-md);align-items:center;gap:10px;margin-top:16px;padding:10px 14px;display:flex;position:sticky;bottom:0}.form-actions .btn{flex:none}.form-actions-status{color:var(--success);flex:1;font-size:12px;line-height:1.3}.form-actions.dirty .form-actions-status{color:var(--warning)}.bot-hint{background:var(--info-soft);color:var(--info);border-radius:var(--r-md);align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.bot-hint .link{color:var(--info);text-decoration:underline}.logs-toolbar{justify-content:space-between;align-items:center;padding:0 4px 8px;display:flex}.logs-count{color:var(--text-muted);font-size:12px}.logs-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-height:420px;box-shadow:var(--shadow-sm);padding:8px;overflow-y:auto}.log-entry{font-size:12px;line-height:1.5;font-family:var(--font-mono);border-radius:8px;gap:10px;padding:8px 12px;display:flex}.log-entry:hover{background:var(--surface-2)}.log-time{color:var(--text-faint);white-space:nowrap;flex-shrink:0;padding-top:1px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px}.log-message{color:var(--text);word-break:break-word;flex:1}.log-empty{text-align:center;color:var(--text-faint);padding:32px 16px;font-size:13px}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;overflow:hidden}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted);flex-shrink:0;font-size:13px}.info-row>span:not(.info-label){text-align:right;font-size:14px;font-weight:500}.info-code-wrap{align-items:center;gap:10px;display:flex}.info-code-wrap code{background:var(--surface-2);border-radius:6px;padding:4px 8px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.region-pill{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 12px;font-size:12px;display:inline-flex}.offers-list{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.offer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:16px;transition:border-color .15s,transform .1s;display:flex}.offer-card:active{transform:scale(.985)}.offer-thumb{background:var(--accent-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex;overflow:hidden}.offer-thumb img{object-fit:cover;width:100%;height:100%}.offer-card.selected{border-color:var(--accent);background:var(--accent-soft)}.offer-radio{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:22px;height:22px;transition:border-color .15s;position:relative}.offer-card.selected .offer-radio{border-color:var(--accent)}.offer-card.selected .offer-radio:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:3px}.offer-info{flex:1;min-width:0}.offer-name{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.offer-desc{color:var(--text-muted);margin:3px 0 0;font-size:12px}.offer-price{color:var(--text);letter-spacing:-.01em;font-size:17px;font-weight:700}.buy-cta-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-sm);padding:16px}.pay-options{flex-direction:column;gap:12px;margin-top:12px;display:flex}.pay-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:border-color .18s var(--ease), transform .12s, box-shadow .2s;box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.pay-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.pay-card:active{transform:scale(.99)}.pay-card-head{align-items:center;gap:14px;display:flex}.pay-card-flag{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:inline-flex}.pay-card-title{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.pay-card-sub{color:var(--text-muted);margin:2px 0 0;font-size:12px}.pay-card-url{text-align:center;font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.02em;margin:0;font-size:11px}.buy-cta-text{color:var(--text-muted);margin:0 0 12px;font-size:13px}.buy-cta-sub{color:var(--text-faint);margin:10px 0 0;font-size:11px}.btn{background:var(--accent);color:#fff;cursor:pointer;transition:background .18s var(--ease), border-color .15s, transform .12s var(--ease), opacity .15s, box-shadow .2s;letter-spacing:-.005em;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:hover:not(:disabled):not(:active){transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.btn-lg{border-radius:14px;padding:14px 22px;font-size:16px}.btn:after{content:"";opacity:0;pointer-events:none;transition:transform .4s var(--ease), opacity .4s;background:radial-gradient(circle,#ffffff40 0%,#0000 60%);position:absolute;inset:0;transform:scale(0)}.btn:active:after{opacity:1;transition:transform,opacity;transform:scale(1.5)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:active){background:var(--accent-hover)}.btn-primary:active{background:var(--accent-hover);box-shadow:0 0 0 4px var(--accent-soft)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:active){background:var(--surface-3);border-color:var(--text-muted)}.btn-secondary:active{background:var(--surface-3)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:active){background:#f87171}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:active){background:#34d399}.toggle-btn.running{background:var(--danger);color:#fff;border-color:#0000}.toggle-btn.running:hover:not(:active){background:#f87171}.toggle-btn.running:active{background:#dc2626}.toggle-btn.stopped{background:var(--success);color:#fff;border-color:#0000}.toggle-btn.stopped:hover:not(:active){background:#34d399}.toggle-btn.stopped:active{background:#059669}.toggle-btn.expired{background:var(--accent);color:#fff}.empty-state{text-align:center;padding:48px 16px}.empty-illu{opacity:.6;margin-bottom:12px;font-size:56px}.empty-title{margin:0 0 4px;font-size:17px;font-weight:600}.empty-sub{color:var(--text-muted);margin:0 0 20px;font-size:13px}.sheet-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:90;background:#000000a6;transition:opacity .2s;position:fixed;inset:0}.sheet-overlay.open{opacity:1;pointer-events:auto}.sheet{background:var(--bg);padding:8px 16px calc(20px + env(safe-area-inset-bottom));transition:transform .28s var(--ease);z-index:100;box-shadow:var(--shadow-lg);border-radius:22px 22px 0 0;max-width:540px;margin:0 auto;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet.open{transform:translateY(0)}.sheet-handle{background:var(--border-strong);border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.sheet-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:8px;padding:0 4px 18px;display:flex}.sheet-name{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.sheet-email{color:var(--text-muted);margin:2px 0 0;font-size:13px}.sheet-list{flex-direction:column;gap:2px;display:flex}.sheet-item{cursor:pointer;text-align:left;transition:background .18s var(--ease), transform .12s;background:0 0;border:none;border-radius:10px;align-items:center;gap:14px;padding:12px 8px;display:flex}.sheet-item:hover{background:var(--surface-2)}.sheet-item:hover .sheet-item-chev{color:var(--accent);transform:translate(3px)}.sheet-item:active{background:var(--surface-2);transform:scale(.99)}.sheet-item-chev{transition:transform .2s var(--ease), color .18s}.sheet-item-icon{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;display:inline-flex}.sheet-item-body{flex:1;min-width:0}.sheet-item-title{color:var(--text);margin:0;font-size:15px;font-weight:500}.sheet-item-sub{color:var(--text-muted);margin:2px 0 0;font-size:12px}.sheet-item-chev{color:var(--text-faint);font-size:22px;font-weight:300}.sheet-item-danger .sheet-item-title{color:var(--danger)}.sheet-item-danger .sheet-item-icon{background:var(--danger-soft);color:var(--danger);border-color:#0000}.toast{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);opacity:0;pointer-events:none;transition:opacity .2s, transform .25s var(--ease);z-index:200;box-shadow:var(--shadow-lg);border-radius:999px;max-width:90%;padding:11px 18px;font-size:13px;font-weight:500;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{opacity:1;animation:toastIn .4s var(--ease);transform:translate(-50%)translateY(0)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(40px)scale(.95)}60%{opacity:1;transform:translate(-50%)translateY(-2px)scale(1.02)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.hidden{display:none!important}.preset-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:12px;padding:12px}.preset-bar:empty{display:none}.preset-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.preset-head .btn-pill{flex:none}.preset-head .btn-pill:disabled{opacity:.45;pointer-events:none}.preset-title{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.preset-title svg{color:var(--accent);flex-shrink:0}.preset-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.preset-chip{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);align-items:center;gap:2px;padding:4px 6px;display:inline-flex}.preset-apply{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 6px;font-size:13px;font-weight:600;display:inline-flex}.preset-apply:active{transform:scale(.96)}.preset-act{color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 5px;display:inline-flex}.preset-act:active{transform:scale(.9)}.preset-del{color:var(--danger);opacity:.75}.preset-chip button:disabled{opacity:.4;pointer-events:none}.preset-empty{color:var(--text-faint);margin:10px 0 0;font-size:12px;line-height:1.5}.preset-add-row{gap:8px;margin-top:10px;display:flex}.preset-add-row .btn-pill{flex:none}.preset-name-input{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:0;color:var(--text);font-size:13px;font-family:var(--font);outline:none;flex:1;padding:7px 10px}.preset-name-input:focus{border-color:var(--accent)}.preset-save-btn{color:var(--accent);border-color:var(--accent)}.sched-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin:12px 0 0;overflow:hidden}.sched-head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.sched-titles{min-width:0}.sched-title{color:var(--text);margin:0;font-size:13px;font-weight:600}.sched-sub{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;overflow:hidden}.sched-chev{color:var(--text-faint);transition:transform .2s var(--ease);flex-shrink:0}.sched-chev.open{transform:rotate(180deg)}.sched-body{border-top:1px solid var(--border);padding:0 14px 14px}.sched-enable-row{color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:12px 0 4px;font-size:13px;display:flex}.sched-enable-row input{accent-color:var(--accent);width:16px;height:16px}.sched-rows{transition:opacity .15s}.sched-rows.disabled{opacity:.45}.sched-row{justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.sched-row-label{color:var(--text-muted);font-size:13px}.sched-row-start:before{content:"▶ ";color:var(--success);font-size:10px}.sched-row-stop:before{content:"■ ";color:var(--danger);font-size:10px}.sched-time{align-items:center;gap:5px;display:inline-flex}.sched-select{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);color:var(--text);font-family:var(--font-mono);outline:none;padding:6px 8px;font-size:14px}.sched-select:disabled{opacity:.5}.sched-colon{color:var(--text-faint);font-family:var(--font-mono)}.sched-utc{color:var(--text-faint);font-size:11px;font-family:var(--font-mono)}.sched-clear{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px}.sched-local{color:var(--text-faint);margin:4px 0 0;font-size:11px}.sched-actions{margin-top:10px}.sched-actions .btn:disabled{opacity:.45;pointer-events:none}.sched-hint{color:var(--text-faint);margin:10px 0 0;font-size:11px;line-height:1.5}.sched-window{border-bottom:1px dashed var(--border);margin-bottom:6px;padding-bottom:6px}.sched-window:last-child{border-bottom:none;margin-bottom:0}.sched-remove{color:var(--danger);opacity:.8;cursor:pointer;background:0 0;border:none;padding:2px 0 4px;font-size:11px}.sched-add{width:100%;margin-top:8px}.sched-add.hidden{display:none!important}.sched-select-preset{width:100%;max-width:220px}.sched-add-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.sched-add-row .sched-add{flex:1;width:auto;margin-top:0}.sched-count{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);white-space:nowrap}.sched-jitter{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0 2px;font-size:13px;display:flex}.sched-jitter input{width:68px;font-size:13px;font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 8px}.sched-jitter input:disabled{opacity:.45}.sched-jitter-approx{color:var(--text-faint);font-size:11px;font-family:var(--font-mono)}.sched-jitter-msg{color:var(--text-faint);margin:4px 0 0;font-size:11px;line-height:1.5}.sched-jitter-msg.err{color:var(--danger)}.sched-resolved{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);margin:4px 0 0}.live-screen{background:var(--bg);color:var(--text)}.live-screen__banner{border-radius:var(--r-md);background:var(--warning-soft);color:var(--warning);align-items:center;gap:8px;margin:10px 12px 0;padding:10px 12px;font-size:12.5px;line-height:1.4;display:flex}.live-screen__banner-icon{flex-shrink:0;font-size:14px}.live-screen__header{align-items:center;gap:10px;margin:10px 12px 0;display:flex}.live-screen__header .live-screen__status{flex:1;margin:0}.live-screen__status{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:4px;margin:10px 12px 0;padding:10px 14px;display:flex}.live-screen__status-row{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.live-screen__status-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-screen__status-dot.live{background:var(--success);animation:1.6s infinite pulse-status}.live-screen__status-dot.connecting,.live-screen__status-dot.reconnecting{background:var(--warning);animation:1.1s infinite pulse-status}.live-screen__status-dot.error{background:var(--danger)}.live-screen__status-code{color:var(--text-muted);font-weight:500}.live-screen__hold{color:var(--text-faint);padding-left:16px;font-size:12px}.live-screen__hold.held{color:var(--success)}.live-screen__hold.refused{color:var(--danger)}.live-screen__stage{border-radius:var(--r-md);background:#000;flex:1;justify-content:center;align-items:center;min-height:0;margin:10px 12px 0;display:flex;overflow:hidden}.live-screen__stage canvas{max-width:100%;max-height:100%}.live-screen__keys{gap:8px;margin-top:auto;padding:12px;display:flex}.live-screen__keys .btn{flex:1}.screen-loading{justify-content:center;align-items:center;min-height:40vh;display:flex}
