.meerkat-svg-container{position:relative;width:180px;height:207px;display:flex;align-items:center;justify-content:center}.meerkat-svg{display:block}.meerkat-svg-breathe{animation:meerkat-svg-breathe 3s ease-in-out infinite;transform-origin:bottom center}.meerkat-svg-breathe-slow{animation:meerkat-svg-breathe 4.5s ease-in-out infinite;transform-origin:bottom center}@keyframes meerkat-svg-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.012)}}.meerkat-svg-float-heart{animation:meerkat-svg-float 2s ease-in-out infinite}.meerkat-svg-float-delay{animation-delay:.7s}@keyframes meerkat-svg-float{0%{opacity:.8;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}to{opacity:.8;transform:translateY(0)}}.meerkat-svg-zzz{animation:meerkat-svg-zzz 2s ease-in-out infinite}@keyframes meerkat-svg-zzz{0%{opacity:.3;transform:translate(0) scale(.8)}50%{opacity:.8;transform:translate(5px,-10px) scale(1.1)}to{opacity:.3;transform:translate(10px,-20px) scale(.8)}}.meerkat-svg-sweat{animation:meerkat-svg-sweat 1.5s ease-in infinite}@keyframes meerkat-svg-sweat{0%{opacity:.7;transform:translateY(0)}80%{opacity:.3;transform:translateY(12px)}to{opacity:0;transform:translateY(15px)}}.meerkat-svg-anger{animation:meerkat-svg-anger .8s ease-in-out infinite}@keyframes meerkat-svg-anger{0%,to{transform:scale(1) translate(145px,28px)}50%{transform:scale(1.15) translate(145px,28px)}}.buddy-container{position:relative;width:192px;height:264px}.buddy-canvas{width:192px;height:264px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;-ms-interpolation-mode:nearest-neighbor;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.buddy-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.buddy-overlay-top{position:absolute;top:-10px;right:0;pointer-events:none}.buddy-float-heart{position:absolute;font-size:18px;animation:buddy-heart-float 2s ease-in-out infinite}.buddy-float-heart:first-child{top:10%;left:5%}.buddy-float-delay{top:5%;right:10%;left:auto;animation-delay:.7s}@keyframes buddy-heart-float{0%,to{opacity:0;transform:translateY(0)}50%{opacity:1;transform:translateY(-15px)}}.buddy-zzz{position:absolute;top:5%;right:5%;font-size:20px;color:#fff;opacity:.7;animation:buddy-zzz 2s ease-in-out infinite}@keyframes buddy-zzz{0%,to{opacity:0;transform:translateY(0) scale(.8)}50%{opacity:.7;transform:translateY(-12px) scale(1.2)}}.buddy-anger-mark{font-size:16px;animation:buddy-anger .8s ease-in-out infinite}@keyframes buddy-anger{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.buddy-question{font-size:22px;color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5);animation:buddy-question 1.8s ease-in-out infinite}@keyframes buddy-question{0%,to{opacity:.5;transform:translateY(0) rotate(-5deg)}50%{opacity:1;transform:translateY(-5px) rotate(5deg)}}.buddy-thought{font-size:18px;animation:buddy-thought 2.5s ease-in-out infinite}@keyframes buddy-thought{0%,to{opacity:.3;transform:scale(.8) translateY(0)}50%{opacity:.7;transform:scale(1.1) translateY(-5px)}}.buddy-confetti{position:absolute;font-size:16px;animation:buddy-confetti 1.5s ease-in-out infinite}.buddy-confetti-1{top:5%;left:10%;animation-delay:0s}.buddy-confetti-2{top:0;right:10%;animation-delay:.4s}@keyframes buddy-confetti{0%{opacity:0;transform:translateY(0) rotate(0) scale(.5)}30%{opacity:1;transform:translateY(-10px) rotate(15deg) scale(1.1)}to{opacity:0;transform:translateY(-25px) rotate(30deg) scale(.8)}}.pet-container{display:flex;flex-direction:column;align-items:center;transform-origin:bottom center;transition:transform .3s ease}.pet-name{margin-top:4px;font-size:12px;font-weight:700;color:#ffffffd9;text-transform:uppercase;letter-spacing:2px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.pet-idle{animation:breathe-realistic 4s ease-in-out infinite,idle-sway 6s ease-in-out infinite}.pet-sleep{animation:breathe 4s ease-in-out infinite;opacity:.7}.pet-happy{animation:bounce .5s ease infinite alternate}.pet-hyped{animation:shake .3s ease infinite}.pet-angry{animation:shake .2s ease infinite}.pet-shocked{animation:pop .6s ease}.pet-love{animation:heartbeat .8s ease infinite}.pet-laugh{animation:shake .15s ease infinite}.pet-sad{animation:droop 2s ease-in-out infinite}.pet-confused{animation:confused-tilt 1.5s ease-in-out infinite}.pet-smug{animation:breathe-realistic 4s ease-in-out infinite}.pet-thinking{animation:breathe-realistic 4s ease-in-out infinite,thinking-tilt 3s ease-in-out infinite}.pet-celebrate{animation:bounce .4s ease infinite alternate}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes breathe-realistic{0%,to{transform:scaleY(1) scaleX(1)}40%{transform:scaleY(1.02) scaleX(1)}60%{transform:scaleY(1.02) scaleX(1)}}@keyframes idle-sway{0%,to{transform:rotate(0) translate(0)}30%{transform:rotate(0) translate(1px)}70%{transform:rotate(0) translate(-1px)}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.1)}30%{transform:scale(1)}45%{transform:scale(1.07)}}@keyframes droop{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes confused-tilt{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes thinking-tilt{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(2deg) translateY(-2px)}}.cat-mouth-speaking{animation:speak .25s ease-in-out infinite alternate;transform-origin:center;transform-box:fill-box}@keyframes speak{0%{transform:scaleY(.3)}to{transform:scaleY(1.3)}}.cat-float-heart{animation:float-up 2s ease-in-out infinite}.cat-float-delay{animation-delay:.7s}@keyframes float-up{0%,to{opacity:0;transform:translateY(0)}50%{opacity:1;transform:translateY(-15px)}}.cat-zzz{animation:zzz 2s ease-in-out infinite}@keyframes zzz{0%,to{opacity:0;transform:translateY(0) scale(.8)}50%{opacity:.7;transform:translateY(-12px) scale(1.2)}}.meerkat-pet{position:relative;width:180px;height:225px}.meerkat-canvas{position:absolute;top:0;left:0;width:180px;image-rendering:pixelated;image-rendering:crisp-edges;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.meerkat-img{position:absolute;top:0;left:0;width:180px;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.meerkat-img-active{opacity:1;pointer-events:auto}.meerkat-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.meerkat-float-heart{position:absolute;font-size:18px;animation:meerkat-heart-float 2s ease-in-out infinite}.meerkat-float-heart:first-child{top:10%;left:5%}.meerkat-float-heart:last-child{top:5%;right:5%}.meerkat-float-delay{animation-delay:.7s}@keyframes meerkat-heart-float{0%,to{opacity:0;transform:translateY(0)}50%{opacity:1;transform:translateY(-20px)}}.meerkat-zzz{position:absolute;top:10%;right:5%;font-size:22px;font-weight:700;color:#fff;opacity:.7;animation:meerkat-zzz 2s ease-in-out infinite}@keyframes meerkat-zzz{0%,to{opacity:0;transform:translateY(0) scale(.8)}50%{opacity:.7;transform:translateY(-15px) scale(1.2)}}.meerkat2d-container{position:relative;width:160px;height:304px}.meerkat2d-svg{width:160px;height:304px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.meerkat2d-svg ellipse,.meerkat2d-svg circle,.meerkat2d-svg path,.meerkat2d-svg line{transition:all .3s ease-in-out}.meerkat2d-breathe{animation:meerkat2d-breathe 3s ease-in-out infinite}@keyframes meerkat2d-breathe{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.008) translateY(-1px)}}.meerkat2d-breathe-slow{animation:meerkat2d-breathe-slow 4s ease-in-out infinite}@keyframes meerkat2d-breathe-slow{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.012) translateY(-2px)}}.meerkat2d-float-heart{animation:meerkat2d-heart-float 2s ease-in-out infinite}.meerkat2d-float-delay{animation-delay:.7s}@keyframes meerkat2d-heart-float{0%,to{opacity:0;transform:translateY(0)}50%{opacity:1;transform:translateY(-15px)}}.meerkat2d-zzz{animation:meerkat2d-zzz 2s ease-in-out infinite}@keyframes meerkat2d-zzz{0%,to{opacity:0;transform:translateY(0) scale(.8)}50%{opacity:.7;transform:translateY(-12px) scale(1.2)}}.meerkat2d-sweat{animation:meerkat2d-sweat 1.5s ease-in-out infinite}@keyframes meerkat2d-sweat{0%,to{opacity:0;transform:translateY(0)}30%{opacity:.7;transform:translateY(0)}80%{opacity:0;transform:translateY(10px)}}.speech-bubble{position:relative;background:#16213eeb;border:2px solid rgba(124,138,255,.4);border-radius:16px;padding:10px 16px;max-width:260px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeInUp .3s ease-out}.speech-bubble-text{font-size:15px;font-weight:500;color:#fff;line-height:1.4;text-align:center}.speech-bubble-tail{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(22,33,62,.92)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.speech-bubble-gift{display:block;width:42px;height:42px;object-fit:contain;margin:0 auto 4px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.live2d-canvas-container{position:relative;background:transparent;transition:opacity .5s ease-in}.live2d-canvas-container[data-loading=true]{opacity:0}.live2d-canvas-container canvas{display:block;background:transparent!important}.overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent!important;pointer-events:none;overflow:hidden}body:has(.overlay-root){background:transparent!important}.overlay-pet-wrapper{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.admin-root{min-height:100vh;padding:24px;max-width:1200px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.admin-header h1{font-size:24px;color:var(--text-bright)}.admin-status{font-size:14px;color:var(--text-dim)}.status-emotion{color:var(--accent-yellow);font-weight:600;text-transform:uppercase}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-lg)}.admin-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl);box-shadow:var(--shadow-card);transition:box-shadow .2s ease}.admin-card:hover{box-shadow:var(--shadow-card-hover)}.admin-card-primary{border-color:var(--border-bright)}.admin-card-wide{grid-column:1 / -1}.admin-card h2{font-size:16px;margin-bottom:14px;color:var(--text-bright);font-weight:600}.admin-card label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:10px}.admin-card input[type=text],.admin-card input[type=password],.admin-card select{width:100%;padding:8px 12px;margin-top:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none}.admin-card input[type=text]:focus,.admin-card input[type=password]:focus,.admin-card select:focus{border-color:var(--primary)}.admin-card input[type=range]{width:100%;margin-top:6px;accent-color:var(--primary)}.input-group{display:flex;gap:8px;margin-top:4px}.input-group input{flex:1;margin-top:0!important}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}button{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}button:hover{background:var(--primary-dim);box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.button-grid{display:flex;flex-wrap:wrap;gap:8px}.hint{font-size:12px;color:var(--text-dim);margin-top:8px;font-style:italic}.event-log{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.event-entry{display:flex;gap:8px;align-items:center;padding:8px 12px;background:#ffffff05;border-radius:var(--radius-sm);font-size:13px;transition:background .15s ease}.event-entry:hover{background:#ffffff0a}.event-type{background:rgba(var(--primary-rgb),.15);color:var(--primary);padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;min-width:50px;text-align:center}.event-platform{color:var(--text-dim);font-size:11px}.event-user{color:var(--accent-yellow);font-weight:600}.event-msg{color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.rule-row{display:flex;gap:6px;align-items:center;padding:8px 10px;background:#ffffff08;border-radius:8px;border:1px solid var(--border)}.rule-toggle{margin-bottom:0!important;flex-shrink:0}.rule-input{padding:6px 10px!important;margin-top:0!important;font-size:13px!important;min-width:0}.rule-keyword{flex:1;max-width:180px}.rule-emotion{width:110px!important;flex-shrink:0}.rule-response{flex:2}.rule-tts{margin-bottom:0!important;flex-shrink:0;font-size:12px!important;white-space:nowrap}.rule-delete{padding:4px 10px!important;background:#e74c3c!important;font-size:12px!important;flex-shrink:0;min-width:unset}.rule-delete:hover{background:#c0392b!important}.rule-add{align-self:flex-start;padding:6px 14px;background:var(--bg-input);color:var(--primary);border:1px dashed var(--primary);font-size:13px;margin-top:4px}.rule-add:hover{background:var(--primary);color:#fff}.admin-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--primary);font-size:18px}.page-header{margin-bottom:var(--space-xl)}.page-header h1{margin-bottom:8px}.page-header-desc{font-size:14px;color:var(--text-dim);line-height:1.6;margin:0;max-width:640px}.section-desc{font-size:13px;color:var(--text-dim);line-height:1.6;margin:-4px 0 16px}.alert-box{padding:var(--space-sm) var(--space-md);border-radius:8px;font-size:13px;line-height:1.5;margin-bottom:var(--space-md)}.alert-box-info{background:#8b5cf614;border:1px solid rgba(139,92,246,.15);color:var(--text)}.alert-box-success{background:#2ecc7114;border:1px solid rgba(46,204,113,.15);color:var(--accent-green)}.alert-box-warning{background:#ffd93d14;border:1px solid rgba(255,217,61,.15);color:var(--accent-yellow)}.alert-box-error{background:#e74c3c14;border:1px solid rgba(231,76,60,.15);color:var(--accent-red)}.alert-box strong{display:block;font-weight:600;margin-bottom:2px}.alert-box-inline{margin-top:10px;margin-bottom:0}.empty-state{text-align:center;padding:32px 20px;color:var(--text-dim)}.empty-state-icon{font-size:32px;margin-bottom:12px;opacity:.5;display:block}.empty-state-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px}.empty-state-desc{font-size:13px;color:var(--text-dim);margin:0 0 16px;line-height:1.5}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-dot-online{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}.status-dot-offline{background:var(--accent-red)}.status-dot-connecting{background:var(--accent-yellow);animation:pulse-dot 1s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.status-dot-warning{background:var(--accent-yellow)}.card-section{padding-top:var(--space-md);margin-top:var(--space-md);border-top:1px solid var(--border)}.card-section:first-child{padding-top:0;margin-top:0;border-top:none}.status-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 10px;border-radius:10px;white-space:nowrap}.status-badge-trial{background:#ffd93d26;color:var(--accent-yellow)}.status-badge-active{background:#2ecc7126;color:var(--accent-green)}.status-badge-expired{background:#e74c3c1f;color:var(--accent-red)}.status-badge-suspended{background:#e74c3c33;color:var(--accent-red)}.status-badge-lg{font-size:13px;padding:4px 14px}.status-badge-channel{background:#8b5cf626;color:var(--accent-purple)}.status-badge-pending{background:#eab30826;color:#ca8a04}.status-badge-admin{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.admin-card-header h2{margin-bottom:0}.readonly-field{padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-dim);margin-top:4px}.btn-secondary{background:transparent!important;color:var(--primary)!important;border:1px solid var(--primary)!important}.btn-secondary:hover{background:var(--primary)!important;color:#fff!important}.btn-ghost{background:transparent!important;color:var(--text-dim)!important;border:1px solid var(--border)!important}.btn-ghost:hover{color:var(--text)!important;border-color:var(--text-dim)!important}.context-hint{display:flex;gap:10px;padding:14px 16px;background:#8b5cf60d;border:1px solid rgba(139,92,246,.1);border-radius:var(--radius);font-size:13px;color:var(--text-dim);line-height:1.6}.context-hint-icon{flex-shrink:0;font-size:16px;margin-top:1px}.layout-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:start}.layout-main-side{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-lg)}@media(max-width:900px){.layout-two-col,.layout-main-side{grid-template-columns:1fr}}.text-dim{color:var(--text-dim)}.text-sm{font-size:13px;line-height:1.5}.text-xs{font-size:12px;line-height:1.5}.text-dim-sm{font-size:13px;color:var(--text-dim);line-height:1.6}.field-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.card-heading{font-size:14px;font-weight:600;color:var(--text);margin-bottom:var(--space-sm)}.display-box{display:flex;align-items:center;gap:0;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;overflow:hidden}.display-box-value{flex:1;font-size:12px;padding:10px 12px;word-break:break-all;color:var(--primary);-webkit-user-select:all;user-select:all}.display-box-action{padding:10px 14px;border-radius:0;border:none;border-left:1px solid var(--border);background:var(--primary);color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.display-box-action:hover{background:var(--primary-dim)}.btn-link{display:inline-block;padding:8px 16px;background:var(--primary);color:#fff;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600}.btn-link:hover{background:var(--primary-dim)}.btn-lg{padding:10px 20px!important;font-size:14px!important}.flex-center{display:flex;align-items:center}.flex-center-gap{display:flex;align-items:center;gap:var(--space-xs)}.section-heading{font-size:13px;margin-bottom:var(--space-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.btn-warning{background:var(--accent-yellow)!important;color:#000!important;border:none;font-weight:600}.btn-warning:hover{opacity:.85}.restricted-list{line-height:1.8;padding-left:20px;margin:0 0 14px}.discord-status-card{margin-bottom:var(--space-lg)}.discord-status-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.discord-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;background:#ffffff0d;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.discord-pill-ok{background:#2ecc7114;border-color:#2ecc7140;color:var(--accent-green)}.discord-pill-warn{background:#ffd93d14;border-color:#ffd93d40;color:var(--accent-yellow)}.discord-pill-error{background:#e74c3c14;border-color:#e74c3c40;color:var(--accent-red)}.discord-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.discord-bot-preview{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff08;border:1px solid var(--border);border-radius:10px;margin-bottom:14px}.discord-bot-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;overflow:hidden;flex-shrink:0}.discord-bot-avatar img{width:100%;height:100%;object-fit:cover}.discord-bot-preview-name{font-size:14px;font-weight:600;color:var(--text)}.discord-bot-preview-meta{font-size:10px;font-weight:700;letter-spacing:.5px;color:#5865f2;text-transform:uppercase;margin-top:2px}.discord-layout-grid{grid-template-columns:5fr 6fr!important}@media(max-width:860px){.discord-layout-grid{grid-template-columns:1fr!important}}.section-step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#5865f2;color:#fff;font-size:12px;font-weight:700;margin-right:8px;vertical-align:middle}.discord-avatar-upload{margin-top:10px;padding:12px;border:1px dashed var(--border-color, rgba(255, 255, 255, .15));border-radius:8px;background:#ffffff05}.discord-avatar-upload-label{font-size:13px;font-weight:600;margin-bottom:8px}.discord-avatar-upload-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn-ghost-danger{background:transparent;border:1px solid rgba(255,80,80,.35);color:#ff8080;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px}.btn-ghost-danger:hover:not(:disabled){background:#ff505014;border-color:#ff50508c}.btn-ghost-danger:disabled{opacity:.5;cursor:not-allowed}.discord-channel-picker{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);padding:6px 10px;display:flex;flex-direction:column;gap:2px}.discord-channel-picker-row{padding:4px 2px;font-size:13px;margin-bottom:0!important}.discord-channel-picker-row:hover{color:var(--text)}.discord-source-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.discord-source-row:last-of-type{border-bottom:none}.discord-source-label{font-size:13px;opacity:.75}.discord-source-value{font-size:13px;font-weight:500}.discord-placeholder-legend{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.discord-placeholder-chip{background:#5865f21f;border:1px solid rgba(88,101,242,.35);color:#c7ccff;padding:3px 8px;border-radius:999px;font-size:12px;cursor:pointer;transition:background .15s}.discord-placeholder-chip:hover{background:#5865f240}.discord-placeholder-chip code{background:transparent;padding:0;font-size:12px;color:inherit}.discord-template-label{display:block;margin-top:14px}.discord-template-label:first-of-type{margin-top:0}.discord-template-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.discord-template-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#5865f226;color:#c7ccff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.discord-template-textarea{width:100%;min-height:110px;font-family:var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);font-size:13px;line-height:1.6;resize:vertical}.card-stack>.admin-card+.admin-card,.card-stack>.layout-two-col+.admin-card,.card-stack>*+.layout-two-col,.card-stack>*+.layout-main-side,.page-compact>.admin-card+.admin-card,.page-compact>.layout-two-col+.admin-card,.page-compact>*+.layout-two-col,.page-compact>*+.layout-main-side,.page-wide>.admin-card+.admin-card,.page-wide>.layout-two-col+.admin-card,.page-wide>*+.layout-two-col,.page-wide>*+.layout-main-side,.page-wide>section+.layout-two-col,.page-wide>.layout-two-col+section{margin-top:var(--space-lg)}.billing-page .layout-two-col{align-items:stretch}.billing-page .layout-two-col>.admin-card{display:flex;flex-direction:column}.billing-page .layout-two-col>.admin-card>*:last-child{margin-top:auto}.coin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:12px}.coin-stat-tile{background:#ffffff08;border-radius:8px;padding:12px 14px}.coin-stat-value{font-size:18px;font-weight:600}.coin-stat-value-lg{font-size:22px;font-weight:700}.coin-stat-label{font-size:11px;color:var(--text-dim);margin-top:2px}.coin-packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.coin-package-card{background:#ffffff08;border-radius:8px;padding:14px;text-align:center;border:1px solid var(--border)}.coin-package-amount{font-size:20px;font-weight:700}.coin-package-unit{font-size:11px;color:var(--text-dim);margin-bottom:8px}.coin-package-price{font-size:15px;font-weight:600;margin-bottom:10px}.coin-package-card .btn-primary{width:100%;font-size:13px;padding:6px 0}.progress-bar-wrap{margin-bottom:8px}.progress-bar-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.progress-bar-track{height:8px;border-radius:4px;background:#ffffff14;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-bar-fill-green{background:#22c55e}.progress-bar-fill-yellow{background:#eab308}.progress-bar-fill-red{background:#ef4444}.progress-bar-fill-neutral{background:#ffffff1f}.coin-ledger{font-size:13px}.coin-ledger-entry{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}.coin-ledger-entry:last-child{border-bottom:none}.coin-ledger-label{font-weight:500}.coin-ledger-date{font-size:11px;color:var(--text-dim);margin-top:2px}.coin-ledger-amount{font-weight:600;font-size:14px;white-space:nowrap}.coin-ledger-positive{color:#22c55e}.coin-ledger-negative{color:#ef4444}.info-list{font-size:13px;line-height:1.8;color:var(--text-dim);padding-left:18px;margin:0}.admin-card-muted{opacity:.8}.behavior-slot{padding:14px 0;border-bottom:1px solid var(--border)}.behavior-slot:last-child{border-bottom:none}.behavior-slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.behavior-slot-label{font-size:14px;font-weight:600;color:var(--text)}.behavior-slot-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.behavior-slot-badge-custom{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.behavior-slot-badge-default{background:#7a7a9026;color:var(--text-dim)}.behavior-slot-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--text-dim)}.behavior-slot-default{font-size:12px;color:var(--text-dim);white-space:pre-wrap;background:var(--bg-input);padding:8px 10px;border-radius:6px;margin-top:6px;line-height:1.5}.behavior-slot-reset{background:none;border:none;font-size:12px;color:var(--text-dim);cursor:pointer;padding:4px 8px}.behavior-slot-reset:hover:not(:disabled){color:var(--primary)}.behavior-slot-reset:disabled{opacity:.4;cursor:not-allowed}.behavior-save-bar{position:sticky;bottom:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:var(--space-lg);z-index:10}.behavior-status-msg{font-size:13px;font-weight:500}.behavior-status-success{color:#22c55e}.behavior-status-error{color:#ef4444}.behavior-mode-toggle{display:inline-flex;gap:4px;padding:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-lg)}.behavior-mode-btn{padding:7px 22px!important;font-size:13px!important;font-weight:600;background:transparent!important;color:var(--text-dim)!important;border:none!important;border-radius:var(--radius-xs)!important;cursor:pointer;transition:all .15s ease}.behavior-mode-btn:hover{color:var(--text)!important}.behavior-mode-btn.active{background:var(--primary)!important;color:#fff!important}.behavior-example{font-size:12.5px;line-height:1.6;color:var(--text-dim);background:#ffffff05;border-left:2px solid var(--border-bright);border-radius:0 6px 6px 0;padding:8px 12px;margin-top:10px}.behavior-example strong{color:var(--text)}.behavior-slot-desc{font-size:12.5px;line-height:1.6;color:var(--text-dim);margin:2px 0 8px}.behavior-preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.behavior-preset-label{font-size:12px;color:var(--text-dim);margin-right:2px}.behavior-preset-btn{padding:5px 12px!important;font-size:12px!important;font-weight:500;background:var(--bg-input)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:999px!important;cursor:pointer;transition:all .15s ease}.behavior-preset-btn:hover{border-color:var(--primary)!important;color:var(--primary)!important}.behavior-choice-row{display:flex;gap:8px;margin-bottom:4px;flex-wrap:wrap}.behavior-choice-btn{flex:1;min-width:90px;padding:10px 16px!important;font-size:13px!important;font-weight:600;background:var(--bg-input)!important;color:var(--text-dim)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;cursor:pointer;transition:all .15s ease}.behavior-choice-btn:hover{border-color:var(--border-bright)!important;color:var(--text)!important}.behavior-choice-btn.active{background:rgba(var(--primary-rgb),.12)!important;border-color:var(--primary)!important;color:var(--primary)!important}.admin-card textarea{width:100%;padding:8px 12px;margin-top:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;outline:none;resize:vertical;min-height:60px;box-sizing:border-box}.admin-card textarea:focus{border-color:var(--primary)}.btn-primary{display:inline-block;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--primary-dim)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.public-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.public-header{border-bottom:1px solid var(--border);background:var(--bg-sidebar);position:sticky;top:0;z-index:100;padding:0}.public-header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:14px 32px}.public-header-logo{text-decoration:none;display:flex;align-items:center;flex-shrink:0}.public-header-logo-img{height:28px;width:auto;display:block}.public-header-nav{display:flex;align-items:center;gap:24px}.public-header-nav a{color:var(--text-dim);text-decoration:none;font-size:14px;font-weight:500;transition:color .15s}.public-header-nav a:hover,.public-header-nav a.active{color:var(--text)}.public-header-nav .btn-login{padding:8px 20px;background:transparent;color:var(--primary);border:1px solid var(--primary);border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}.public-header-nav .btn-login:hover{background:var(--primary);color:#fff}.public-header-nav .btn-register{padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s}.public-header-nav .btn-register:hover{background:var(--primary-dim)}.public-footer{border-top:1px solid var(--border);padding:0;background:var(--bg-sidebar);color:var(--text-dim);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:56px;max-width:960px;margin:0 auto;padding:56px 32px 40px}.footer-brand{max-width:320px}.footer-logo{display:inline-block;margin-bottom:12px;text-decoration:none}.footer-logo-img{height:24px;width:auto;display:block}.footer-tagline{font-size:14px;color:var(--text-dim);line-height:1.7;margin:0}.footer-links{display:flex;gap:56px}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col h4{font-size:12px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.8px;margin:0 0 6px}.footer-col a{font-size:14px;color:var(--text-dim);text-decoration:none;transition:color .15s}.footer-col a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);text-align:center;padding:20px 32px;font-size:13px;color:var(--text-dim)}.public-content{flex:1}.landing-hero{text-align:center;padding:80px 32px 60px;max-width:800px;margin:0 auto}.landing-hero h1{font-size:48px;font-weight:800;color:var(--text);margin-bottom:20px;line-height:1.15}.landing-hero h1 span{color:var(--primary)}.landing-hero p{font-size:18px;color:var(--text-dim);max-width:560px;margin:0 auto 36px;line-height:1.6}.landing-cta{display:flex;gap:16px;justify-content:center}.landing-cta .btn-primary{padding:14px 32px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s}.landing-cta .btn-primary:hover{background:var(--primary-dim)}.landing-cta .btn-secondary{padding:14px 32px;background:transparent;color:var(--text);border:1px solid var(--border-bright);border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;transition:all .15s}.landing-cta .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto;padding:0 32px 80px}.landing-feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;box-shadow:var(--shadow-card)}.landing-feature-icon{font-size:32px;margin-bottom:14px;display:block}.landing-feature-card h3{font-size:16px;color:var(--text);margin-bottom:8px;font-weight:700}.landing-feature-card p{font-size:14px;color:var(--text-dim);line-height:1.5}.features-page{max-width:900px;margin:0 auto;padding:60px 32px}.features-page h1{font-size:36px;font-weight:800;color:var(--text);margin-bottom:12px;text-align:center}.features-page .features-subtitle{font-size:16px;color:var(--text-dim);text-align:center;margin-bottom:48px}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.feature-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.feature-item h3{font-size:16px;color:var(--primary);margin-bottom:8px;font-weight:700}.feature-item p{font-size:14px;color:var(--text-dim);line-height:1.5}.feature-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-bottom:10px;text-transform:uppercase}.feature-badge.free{background:#2ecc7126;color:var(--accent-green)}.feature-badge.pro{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.faq-page{max-width:700px;margin:0 auto;padding:60px 32px}.faq-page h1{font-size:36px;font-weight:800;color:var(--text);margin-bottom:40px;text-align:center}.faq-item{border-bottom:1px solid var(--border);padding:20px 0}.faq-question{font-size:16px;font-weight:600;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:none;width:100%;text-align:left;padding:0}.faq-question:hover{color:var(--primary);background:none}.faq-arrow{font-size:14px;color:var(--text-dim);transition:transform .2s;flex-shrink:0}.faq-arrow.open{transform:rotate(180deg)}.faq-answer{font-size:14px;color:var(--text-dim);line-height:1.6;margin-top:12px;padding-right:24px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 130px);padding:32px}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:420px;box-shadow:var(--shadow-card)}.auth-card .login-logo{text-align:center;margin-bottom:24px}.auth-card .login-logo-img{height:28px;width:auto}.auth-card h2{font-size:18px;color:var(--text);margin-bottom:8px;text-align:center}.auth-card .auth-subtitle{font-size:13px;color:var(--text-dim);text-align:center;margin-bottom:20px}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card label{display:block;font-size:13px;color:var(--text-dim)}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{width:100%;padding:10px 14px;margin-top:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;box-sizing:border-box}.auth-card input:focus{border-color:var(--primary)}.auth-card button[type=submit]{margin-top:8px;padding:12px;font-size:15px}.auth-error{color:var(--accent-red);font-size:13px;text-align:center;margin:0}.auth-success{color:var(--accent-green);font-size:13px;text-align:center;margin:0}.auth-links{text-align:center;margin-top:16px;font-size:13px;color:var(--text-dim)}.auth-links a{color:var(--primary);text-decoration:none}.auth-links a:hover{text-decoration:underline}.status-banner{padding:10px 20px;font-size:13px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.status-banner.trial{background:#ffd93d1a;color:var(--accent-yellow);border-bottom:1px solid rgba(255,217,61,.2)}.status-banner.expired{background:#e74c3c1a;color:var(--accent-red);border-bottom:1px solid rgba(231,76,60,.2)}.status-banner.suspended{background:#e74c3c26;color:var(--accent-red);border-bottom:1px solid rgba(231,76,60,.3)}.dashboard-flow{display:flex;flex-direction:column;gap:var(--space-lg)}.dashboard-status-section{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.dashboard-status-section-full{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}.status-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl);box-shadow:var(--shadow-card);transition:box-shadow .2s ease}.status-card:hover{box-shadow:var(--shadow-card-hover)}.status-card h3{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:12px;font-weight:700}.status-card .status-value{font-size:20px;font-weight:700;color:var(--text)}.status-card .status-value.trial{color:var(--accent-yellow)}.status-card .status-value.active{color:var(--accent-green)}.status-card .status-value.expired,.status-card .status-value.suspended{color:var(--accent-red)}.status-detail{font-size:12px;color:var(--text-dim);margin-top:4px}.live-link-display{display:flex;align-items:center;gap:8px;margin-top:8px}.live-link-url{flex:1;font-size:12px;color:var(--primary);background:var(--bg-input);padding:8px 12px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-link-copy{padding:8px 14px!important;font-size:12px!important;flex-shrink:0}.features-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.feature-tag{font-size:11px;padding:3px 10px;border-radius:12px;font-weight:600}.feature-tag.enabled:before{content:"✓ "}.feature-tag.disabled:before{content:"✕ "}.feature-tag.enabled{background:#2ecc7126;color:var(--accent-green)}.feature-tag.disabled{background:#7a7a901a;color:var(--text-dim)}.pricing-page{max-width:900px;margin:0 auto;padding:60px 32px}.pricing-page h1{font-size:36px;font-weight:800;color:var(--text);margin-bottom:12px;text-align:center}.pricing-subtitle{font-size:16px;color:var(--text-dim);text-align:center;margin-bottom:48px}.pricing-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:60px}.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-card)}.pricing-card-highlight{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),0 8px 32px rgba(var(--primary-rgb),.1)}.pricing-card-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:4px 16px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.pricing-card-header{text-align:center;margin-bottom:28px}.pricing-card-header h2{font-size:22px;font-weight:700;color:var(--text);margin-bottom:12px}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:4px}.pricing-amount{font-size:42px;font-weight:800;color:var(--text)}.pricing-period{font-size:14px;color:var(--text-dim)}.pricing-features{list-style:none;padding:0;margin:0 0 28px;flex:1}.pricing-features li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text-dim);padding:9px 0;line-height:1.45}.pricing-check{color:var(--accent-green);font-weight:700;flex-shrink:0;margin-top:1px}.pricing-cta{display:block;text-align:center;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;transition:all .15s}.pricing-cta-primary{background:var(--primary);color:#fff}.pricing-cta-primary:hover{background:var(--primary-dim)}.pricing-cta-secondary{background:transparent;color:var(--text);border:1px solid var(--border-bright)}.pricing-cta-secondary:hover{border-color:var(--primary);color:var(--primary)}.pricing-faq{max-width:600px;margin:0 auto}.pricing-faq h3{font-size:22px;font-weight:700;color:var(--text);text-align:center;margin-bottom:28px}.pricing-faq-item{margin-bottom:20px}.pricing-faq-item strong{display:block;font-size:15px;color:var(--text);margin-bottom:6px}.pricing-faq-item p{font-size:14px;color:var(--text-dim);line-height:1.5;margin:0}.upgrade-banner{background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),rgba(var(--primary-rgb),.02));border:1px solid rgba(var(--primary-rgb),.25);border-radius:var(--radius);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.upgrade-banner-text{flex:1}.upgrade-banner-text h4{font-size:14px;font-weight:700;color:var(--text);margin:0 0 4px}.upgrade-banner-text p{font-size:13px;color:var(--text-dim);margin:0;line-height:1.4}.upgrade-banner-btn{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s}.upgrade-banner-btn:hover{background:var(--primary-dim)}.feature-locked{position:relative}.feature-locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;border-radius:var(--radius);pointer-events:none;z-index:1}.feature-lock-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;background:rgba(var(--primary-rgb),.15);color:var(--primary);text-transform:uppercase;margin-left:8px}html{scroll-behavior:smooth;scroll-padding-top:70px}.public-header-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.public-header-hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:1px;transition:transform .2s,opacity .2s}.public-header-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.public-header-hamburger.open span:nth-child(2){opacity:0}.public-header-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.op-hero{text-align:center;padding:100px 32px 80px;max-width:840px;margin:0 auto}.op-hero-eyebrow{font-size:12px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:24px}.op-hero h1{font-size:54px;font-weight:800;color:var(--text);margin-bottom:24px;line-height:1.12;letter-spacing:-.5px}.op-hero h1 span{color:var(--primary)}.op-hero-desc{font-size:18px;color:var(--text-dim);max-width:580px;margin:0 auto 44px;line-height:1.7}.op-hero-cta{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.op-hero-cta .btn-primary,.op-steps-cta .btn-primary,.op-cta-section .btn-primary,.op-cta-btn{padding:16px 36px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-block}.op-hero-cta .btn-primary:hover,.op-steps-cta .btn-primary:hover,.op-cta-section .btn-primary:hover,.op-cta-btn:hover{background:var(--primary-dim);transform:translateY(-1px)}.op-hero-cta .btn-secondary{padding:16px 32px;background:transparent;color:var(--text);border:1px solid var(--border-bright);border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;transition:all .15s}.op-hero-cta .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.op-hero-trust{font-size:13px;color:var(--text-dim);letter-spacing:.2px}.op-hero-preview{margin:40px auto 0;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px 32px 20px;display:flex;align-items:center;gap:20px;box-shadow:0 8px 32px #0003}.op-hero-preview-pet{width:64px;height:64px;flex-shrink:0}.op-hero-preview-pet img{width:100%;height:100%;object-fit:contain}.op-hero-preview-bubble{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:12px;padding:10px 16px;font-size:13px;color:var(--text-dim);line-height:1.5;position:relative}.op-hero-preview-bubble:before{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:7px solid var(--border)}.op-hero-preview-label{text-align:center;font-size:11px;color:var(--text-dim);margin-top:12px;letter-spacing:.5px;opacity:.6}.op-section{padding:96px 32px}.op-section-alt{background:var(--bg-sidebar)}.op-container{max-width:960px;margin:0 auto}.op-container-narrow{max-width:720px}.op-section-title{font-size:36px;font-weight:800;color:var(--text);text-align:center;margin-bottom:14px}.op-section-subtitle{font-size:17px;color:var(--text-dim);text-align:center;margin-bottom:52px;line-height:1.55}.op-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.op-feature-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 28px 26px;transition:border-color .2s,box-shadow .2s}.op-feature-item:hover{border-color:var(--border-bright);box-shadow:0 4px 20px #00000026}.op-feature-pro{border-color:rgba(var(--primary-rgb),.2)}.op-feature-pro:hover{border-color:rgba(var(--primary-rgb),.4)}.op-feature-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.op-feature-item h3{font-size:17px;color:var(--text);margin:0;font-weight:700}.op-feature-item p{font-size:14px;color:var(--text-dim);line-height:1.65;margin:0}.op-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center;position:relative}.op-step{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px 32px}.op-step-num{width:56px;height:56px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;background:var(--primary);border-radius:50%;box-shadow:0 4px 16px rgba(var(--primary-rgb),.25)}.op-step h3{font-size:20px;font-weight:700;color:var(--text);margin-bottom:10px}.op-step p{font-size:15px;color:var(--text-dim);line-height:1.6;margin:0}.op-step-connector{display:none}.op-steps-cta{text-align:center;margin-top:48px}.op-faq-list .faq-item{border-bottom:1px solid var(--border);padding:20px 0}.op-faq-list .faq-item:first-child{border-top:1px solid var(--border)}.op-faq-list .faq-question{font-size:16px;font-weight:600}.op-faq-list .faq-answer{font-size:15px;line-height:1.65;margin-top:14px;padding-right:32px}.op-cta-section{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-sidebar) 100%);padding:96px 32px}.op-cta-title{font-size:34px;font-weight:800;color:var(--text);margin-bottom:14px}.op-cta-text{font-size:17px;color:var(--text-dim);margin-bottom:36px;line-height:1.5}@media(max-width:768px){.op-hero{padding:72px 20px 56px}.op-hero h1{font-size:34px}.op-hero-desc{font-size:16px}.op-hero-cta{flex-direction:column;align-items:center}.op-hero-cta .btn-primary,.op-hero-cta .btn-secondary{width:100%;max-width:320px;text-align:center}.op-features-grid{grid-template-columns:1fr}.op-steps{grid-template-columns:1fr;gap:20px}.op-step{padding:28px 24px 24px}.op-section{padding:64px 20px}.op-section-title{font-size:28px}.op-section-subtitle{font-size:15px;margin-bottom:40px}.op-cta-title{font-size:26px}.public-header-hamburger{display:flex}.public-header-nav{display:none;position:fixed;top:56px;left:0;right:0;background:var(--bg-sidebar);border-bottom:1px solid var(--border);flex-direction:column;padding:16px 20px;gap:12px;z-index:99}.public-header-nav.nav-open{display:flex}.public-header{position:relative}.public-header-inner{padding:12px 16px}.pricing-cards{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:32px;padding:32px 20px 24px}.footer-links{gap:32px}.dashboard-status-section{grid-template-columns:1fr}.upgrade-banner{flex-direction:column;text-align:center}.landing-hero h1{font-size:32px}.landing-features,.features-grid{grid-template-columns:1fr}.landing-cta{flex-direction:column;align-items:center}.public-header-nav a{gap:12px}.legal-page-inner{padding:40px 20px 60px!important}}.legal-page{flex:1}.legal-page-inner{max-width:740px;margin:0 auto;padding:56px 32px 80px}.legal-page-title{font-size:32px;font-weight:800;color:var(--text);margin-bottom:8px;line-height:1.2}.legal-page-date{font-size:13px;color:var(--text-dim);margin-bottom:36px}.legal-page-loading{color:var(--text-dim);font-size:14px;padding:60px 0;text-align:center}.legal-page-content{font-size:15px;line-height:1.75;color:var(--text)}.legal-page-content h2{font-size:22px;font-weight:700;color:var(--text);margin:40px 0 16px}.legal-page-content h3{font-size:18px;font-weight:700;color:var(--text);margin:32px 0 12px}.legal-page-content h4{font-size:16px;font-weight:700;color:var(--text);margin:24px 0 10px}.legal-page-content p{margin:0 0 16px}.legal-page-content ul,.legal-page-content ol{margin:0 0 16px;padding-left:24px}.legal-page-content li{margin-bottom:6px}.legal-page-content a{color:var(--primary);text-decoration:underline}.legal-page-content a:hover{text-decoration:none}.legal-page-content hr{border:none;border-top:1px solid var(--border);margin:32px 0}.legal-page-content strong,.legal-page-content b{font-weight:700}.rich-text-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-input, var(--bg-card))}.rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg-sidebar, var(--bg))}.rte-btn{padding:4px 10px;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .1s;line-height:1.4}.rte-btn:hover{background:var(--bg-hover, rgba(255,255,255,.05));color:var(--text)}.rte-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.rte-separator{width:1px;height:20px;background:var(--border);margin:0 4px;align-self:center}.rte-content{padding:12px 16px;min-height:240px;font-size:14px;line-height:1.65;color:var(--text);outline:none;direction:ltr;text-align:left;unicode-bidi:normal;writing-mode:horizontal-tb}.rte-content:focus{box-shadow:inset 0 0 0 1px var(--primary)}.rte-content p{margin:0 0 12px}.rte-content h2,.rte-content h3,.rte-content h4{margin:20px 0 8px;font-weight:700;color:var(--text)}.rte-content h2{font-size:20px}.rte-content h3{font-size:17px}.rte-content h4{font-size:15px}.rte-content ul,.rte-content ol{padding-left:20px;margin:0 0 12px}.rte-content a{color:var(--primary);text-decoration:underline}.rte-content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.admin-table{border-collapse:collapse}.admin-table th{text-align:left;font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;border-bottom:1px solid var(--border)}.admin-table td{font-size:13px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.admin-table tr:last-child td{border-bottom:none}.admin-layout{display:flex;min-height:100vh;background:var(--bg)}.admin-sidebar{width:240px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}.sidebar-header{padding:22px 20px;border-bottom:1px solid var(--border)}.sidebar-logo-img{height:26px;width:auto;display:block}.sidebar-nav{padding:12px 0;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 20px;color:var(--text-dim);text-decoration:none;font-size:14px;font-weight:400;transition:all .2s ease;border-left:3px solid transparent;letter-spacing:.01em}.sidebar-link:hover{background:rgba(var(--primary-rgb),.06);color:var(--text)}.sidebar-link.active{color:var(--primary);background:rgba(var(--primary-rgb),.08);border-left-color:var(--primary);font-weight:600}.sidebar-icon{font-size:16px;width:22px;text-align:center;opacity:.8}.sidebar-link.active .sidebar-icon{opacity:1}.sidebar-spacer{flex:1}.sidebar-nav-bottom{border-top:1px solid var(--border);padding-top:10px;margin-top:8px}.sidebar-group{display:flex;flex-direction:column}.sidebar-group-header{background:none;border:none;border-left:3px solid transparent;width:100%;text-align:left;font-family:inherit;font-size:14px;cursor:pointer;font-weight:400}.sidebar-group-header.has-active-child{color:var(--text)}.sidebar-group-caret{margin-left:auto;font-size:10px;color:var(--text-dim);transition:transform .15s ease;transform:rotate(-90deg)}.sidebar-group-caret.open{transform:rotate(0)}.sidebar-group-children{display:flex;flex-direction:column;gap:2px;padding:2px 0}.sidebar-sub-link{padding-left:44px;font-size:13px}.sidebar-sub-link .sidebar-icon{font-size:13px}.admin-main{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh}.admin-topbar{height:60px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--bg);position:sticky;top:0;z-index:50}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-user{font-size:14px;color:var(--text);font-weight:500}.topbar-logout{padding:7px 16px!important;font-size:12px!important;background:rgba(var(--primary-rgb),.08)!important;color:var(--text-dim)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;transition:all .2s ease!important}.topbar-logout:hover{color:var(--primary)!important;border-color:var(--primary)!important;background:rgba(var(--primary-rgb),.12)!important}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-platform{position:relative}.topbar-platform-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:12px;cursor:pointer;transition:border-color .15s,color .15s}.topbar-platform-btn:hover{border-color:var(--text);color:var(--text)}.topbar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-online{background:#2ecc71;box-shadow:0 0 4px #2ecc7180}.dot-connecting{background:#f39c12;animation:dot-pulse 1.2s ease-in-out infinite}.dot-offline{background:#666}.dot-error{background:#e74c3c}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.topbar-platform-label{font-weight:500}.topbar-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:var(--card-bg, #1a1a2e);border:1px solid var(--border);border-radius:8px;padding:10px;z-index:100;box-shadow:0 4px 16px #0006}.topbar-dropdown-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px}.topbar-dropdown-action{width:100%;padding:6px 12px;font-size:12px;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.topbar-dropdown-action:hover{opacity:.85}.overlay-panel-compact{padding:12px 14px}.pet-quick-info{display:flex;flex-direction:column;gap:6px}.pet-quick-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.pet-quick-label{color:var(--text-dim)}.pet-quick-value{color:var(--text);font-weight:500}.pet-quick-link{display:inline-block;margin-top:6px;font-size:12px;color:var(--primary);text-decoration:none}.pet-quick-link:hover{text-decoration:underline}.admin-content{flex:1;padding:var(--space-2xl) 40px;max-width:1400px;width:100%;margin:0 auto}.admin-content:has(.page-compact){max-width:960px}.admin-content:has(.page-wide){max-width:1400px}.admin-content:has(.overlay-page-full){max-width:100%;padding:0}.admin-content h1{font-size:24px;color:var(--text-bright);margin-bottom:20px;font-weight:700;letter-spacing:-.3px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease;position:relative;overflow:hidden}.dash-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.dash-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),#f2718c);opacity:.6}.dash-card:nth-child(2):after{background:linear-gradient(90deg,var(--accent-pink),#f472b6)}.dash-card:nth-child(3):after{background:linear-gradient(90deg,var(--accent-green),#4ade80)}.dash-card:nth-child(4):after{background:linear-gradient(90deg,var(--accent-orange),#fb923c)}.dash-card-label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.dash-card-value{font-size:22px;font-weight:700;color:var(--text-bright)}.status-online{color:var(--accent-green)!important}.status-offline{color:var(--accent-red)!important}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-lg)}.page-compact .settings-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-lg)}.settings-col-stack{display:flex;flex-direction:column;gap:var(--space-lg)}.connection-status{font-size:16px;font-weight:600;padding:8px 0}.overlay-link-bar{display:flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}.overlay-link-label{font-size:13px;color:var(--text-dim);white-space:nowrap}.overlay-link-url{flex:1;font-size:13px;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-controls{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.view-toggle{display:flex;gap:4px}.view-toggle button{padding:6px 14px!important;font-size:12px!important;background:var(--bg-card)!important;color:var(--text-dim)!important;border:1px solid var(--border)!important}.view-toggle button.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.overlay-settings-inline{display:flex;gap:16px;align-items:flex-end}.overlay-settings-inline label{font-size:13px;color:var(--text-dim)}.overlay-settings-inline select,.overlay-settings-inline input[type=range]{margin-top:4px}.overlay-preview-frame{display:flex;justify-content:center;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-height:500px}.overlay-preview-frame.phone .phone-mockup{width:280px;height:498px;border:3px solid var(--border-bright);border-radius:24px;overflow:hidden;position:relative;background:#000}.overlay-preview-frame.desktop .phone-mockup{width:640px;height:360px;border:3px solid var(--border-bright);border-radius:8px;overflow:hidden;position:relative;background:#000}.overlay-iframe{width:100%;height:100%;border:none}.api-key-status{padding:8px 0;font-size:14px;font-weight:600;margin-bottom:8px}.btn-danger{background:var(--accent-red)!important}.btn-danger:hover{background:#c0392b!important}.page-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-dim)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:36px;width:100%;max-width:400px;box-shadow:var(--shadow-card)}.login-logo{text-align:center;margin-bottom:24px}.login-logo-img{height:28px;width:auto}.login-card h2{font-size:18px;color:var(--text);margin-bottom:16px;text-align:center}.login-hint{font-size:13px;color:var(--text-dim);text-align:center;margin-bottom:16px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card label{display:block;font-size:13px;color:var(--text-dim)}.login-card input[type=text],.login-card input[type=password]{width:100%;padding:10px 14px;margin-top:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;box-sizing:border-box}.login-card input:focus{border-color:var(--primary)}.login-card button[type=submit]{margin-top:8px;padding:12px;font-size:15px}.login-error{color:var(--accent-red);font-size:13px;text-align:center;margin:0}.overlay-page-full{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden}.overlay-top-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.overlay-top-left{display:flex;align-items:center;gap:10px}.tiktok-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.tiktok-status-dot.online{background:var(--accent-green, #27ae60);box-shadow:0 0 6px var(--accent-green, #27ae60)}.tiktok-status-dot.offline{background:var(--accent-red, #e74c3c)}.tiktok-status-dot.connecting{background:var(--accent-yellow, #ffd93d);animation:pulse-dot 1s ease-in-out infinite}.tiktok-status-label.connecting{color:var(--accent-yellow, #ffd93d)}.tiktok-status-name{font-size:14px;font-weight:600;color:var(--text)}.tiktok-status-label{font-size:12px;font-weight:500;padding:2px 8px;border-radius:10px}.tiktok-status-label.online{color:var(--accent-green, #27ae60);background:#27ae601f}.tiktok-status-label.offline{color:var(--accent-red, #e74c3c);background:#e74c3c1f}.overlay-top-right{display:flex;align-items:center;gap:12px}.overlay-copy-link-btn{padding:6px 16px!important;font-size:12px!important;background:var(--primary)!important;color:#fff!important;border:none!important;border-radius:6px!important;cursor:pointer}.overlay-copy-link-btn:hover{opacity:.9}.overlay-three-col{display:grid;grid-template-columns:280px 1fr 340px;flex:1;overflow:hidden}.overlay-col-left,.overlay-col-right{overflow-y:auto;padding:16px;border-right:1px solid var(--border)}.overlay-col-right{border-right:none;border-left:1px solid var(--border)}.overlay-col-center-wrap{display:flex;flex-direction:column;overflow:hidden;min-width:0}.overlay-col-center{flex:1;overflow:hidden;position:relative;padding:16px;min-height:0;background-image:linear-gradient(45deg,#1a1a2e 25%,transparent 25%),linear-gradient(-45deg,#1a1a2e 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a2e 75%),linear-gradient(-45deg,transparent 75%,#1a1a2e 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#141425}.overlay-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-card)}.overlay-panel h3{font-size:13px;font-weight:700;color:var(--text);margin:0 0 12px;text-transform:uppercase;letter-spacing:.4px}.overlay-panel-highlight{border-color:var(--primary);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.15)}.overlay-panel-info{font-size:12px;color:var(--text-dim);margin:0 0 12px;line-height:1.5}.overlay-panel-secondary{opacity:.88}.overlay-panel-secondary:hover{opacity:1}.overlay-btn-primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;font-weight:600}.overlay-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px;color:var(--text-dim)}.overlay-field input[type=text],.overlay-field input[type=password],.overlay-field select{width:100%;padding:8px 10px;background:var(--bg-input, #1a1a2e);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none;box-sizing:border-box}.overlay-field input:focus,.overlay-field select:focus{border-color:var(--primary)}.overlay-field input[type=range]{width:100%;margin-top:4px}.overlay-input-row{display:flex;gap:6px}.overlay-input-row input{flex:1;padding:8px 10px;background:var(--bg-input, #1a1a2e);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none}.overlay-input-row button{padding:8px 12px!important;font-size:12px!important;white-space:nowrap}.overlay-hint{font-size:11px;color:var(--text-dim);margin:4px 0 0;opacity:.7}.overlay-preview-scaled{position:absolute;top:16px;left:16px;border:2px solid var(--border);border-radius:4px;overflow:hidden}.overlay-preview-iframe{width:100%;height:100%;border:none;background:transparent}.overlay-link-display{display:block;font-size:11px;color:var(--primary);word-break:break-all;margin-bottom:8px;padding:6px 8px;background:var(--bg-input, #1a1a2e);border-radius:4px}.overlay-copy-btn-small{width:100%;padding:6px 12px!important;font-size:12px!important;background:var(--bg-input, #1a1a2e)!important;color:var(--primary)!important;border:1px solid var(--primary)!important;border-radius:6px!important;cursor:pointer}.overlay-copy-btn-small:hover{background:var(--primary)!important;color:#fff!important}.overlay-link-field{display:flex;align-items:center;gap:0;background:var(--bg-input, #1a1a2e);border:1px solid var(--border);border-radius:6px;overflow:hidden}.overlay-link-text{flex:1;font-size:12px;color:var(--primary);padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;-webkit-user-select:all;user-select:all}.overlay-link-copy-btn{padding:8px 14px!important;font-size:12px!important;font-weight:600;background:var(--primary)!important;color:#fff!important;border:none!important;border-left:1px solid var(--border)!important;border-radius:0!important;cursor:pointer;white-space:nowrap}.overlay-link-copy-btn:hover{opacity:.9}.overlay-disconnect-btn{width:100%;margin-top:8px;padding:8px 12px!important;font-size:12px!important;background:transparent!important;color:var(--accent-red, #e74c3c)!important;border:1px solid var(--accent-red, #e74c3c)!important;border-radius:6px!important;cursor:pointer}.overlay-disconnect-btn:hover{background:var(--accent-red, #e74c3c)!important;color:#fff!important}.overlay-reset-btn{width:100%;margin-top:4px;padding:6px 12px!important;font-size:11px!important;background:transparent!important;color:var(--text-dim)!important;border:1px solid var(--border)!important;border-radius:6px!important;cursor:pointer}.overlay-reset-btn:hover{color:var(--text)!important;border-color:var(--text-dim)!important}.overlay-position-buttons{display:flex;gap:4px}.overlay-pos-btn{flex:1;padding:6px 10px!important;font-size:12px!important;background:var(--bg-input, #1a1a2e)!important;color:var(--text-dim)!important;border:1px solid var(--border)!important;border-radius:6px!important;cursor:pointer;transition:all .15s}.overlay-pos-btn:hover{border-color:var(--primary)!important;color:var(--text)!important}.overlay-pos-btn.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;cursor:pointer}.toggle-label{font-size:13px;color:var(--text-dim)}.toggle-switch{width:40px;height:22px;background:var(--bg-input, #1a1a2e);border:1px solid var(--border);border-radius:11px;position:relative;cursor:pointer;transition:background .2s,border-color .2s;flex-shrink:0}.toggle-switch.active{background:var(--primary);border-color:var(--primary);box-shadow:0 0 8px rgba(var(--primary-rgb),.3)}.toggle-knob{width:16px;height:16px;background:var(--text-dim);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s,background .15s}.toggle-switch.active .toggle-knob{transform:translate(18px);background:#fff}.voice-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-dim);margin-right:4px;vertical-align:middle}.voice-status-dot.listening{background:#4ade80;box-shadow:0 0 6px #4ade80;animation:voice-pulse 1.5s ease-in-out infinite}.voice-status-dot.awaiting{background:#facc15;box-shadow:0 0 8px #facc15;animation:voice-pulse .5s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.4}}.voice-transcript{font-style:italic;opacity:.7}.overlay-preview-label{position:absolute;top:6px;left:16px;right:16px;font-size:11px;color:var(--text-dim);opacity:.6;z-index:2;pointer-events:none;text-align:center}.overlay-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;text-align:center;flex:1}.overlay-empty-title{font-size:13px;font-weight:600;color:var(--text-dim);margin:0 0 4px}.overlay-empty-hint{font-size:11px;color:var(--text-dim);opacity:.7;margin:0;line-height:1.5}.overlay-event-log-wrap{border-top:1px solid var(--border);padding:8px 16px;flex-shrink:0;height:220px;display:flex;flex-direction:column;overflow:hidden}.overlay-preview-ctrl-btn{background:var(--bg-input)!important;border:1px solid var(--border)!important;border-radius:var(--radius-xs)!important;color:var(--text-dim)!important;cursor:pointer;font-size:12px!important;padding:2px 8px!important;white-space:nowrap;flex-shrink:0}.overlay-preview-ctrl-btn:hover{color:var(--text)!important;border-color:var(--border-bright)!important}.overlay-preview-ctrl-btn.active{color:var(--text)!important;border-color:var(--primary)!important}.overlay-event-log-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.overlay-event-log-header h3{font-size:13px;font-weight:700;color:var(--text);margin:0;text-transform:uppercase;letter-spacing:.3px}.overlay-event-count{font-size:11px;color:var(--text-dim);background:var(--bg-input, #1a1a2e);padding:1px 6px;border-radius:8px}.overlay-event-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.overlay-event-entry{display:flex;align-items:center;gap:8px;padding:3px 6px;font-size:12px;border-radius:4px;background:#ffffff05}.overlay-event-entry:hover{background:#ffffff0d}.overlay-event-type{font-size:10px;font-weight:700;text-transform:uppercase;padding:1px 6px;border-radius:3px;background:var(--bg-input, #1a1a2e);color:var(--text-dim);min-width:40px;text-align:center}.overlay-event-type.type-chat{color:#3498db}.overlay-event-type.type-like{color:#e74c3c}.overlay-event-type.type-gift{color:#f1c40f}.overlay-event-type.type-join{color:#27ae60}.overlay-event-type.type-share{color:#9b59b6}.overlay-event-type.type-follow{color:var(--primary)}.overlay-event-type.type-subscription{color:#f1c40f}.overlay-event-platform{font-size:10px;color:var(--text-dim);opacity:.6}.overlay-event-user{font-weight:600;color:var(--text)}.overlay-event-msg{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.overlay-test-toast{padding:6px 10px;margin-bottom:8px;font-size:11px;color:var(--accent-green);background:#2ecc711a;border:1px solid rgba(46,204,113,.25);border-radius:6px;text-align:center}.overlay-test-buttons{display:flex;flex-wrap:wrap;gap:4px}.overlay-test-buttons button{flex:0 1 auto;white-space:nowrap;padding:6px 10px!important;font-size:11px!important;background:var(--bg-input, #1a1a2e)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:6px!important;cursor:pointer}.overlay-test-buttons button:hover{border-color:var(--primary)!important;color:var(--primary)!important}.overlay-field-label{display:block;font-size:12px;color:var(--text-dim);margin:8px 0 4px}.overlay-test-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2px 16px;align-items:start}.overlay-test-group{min-width:0}.overlay-test-full{grid-column:1 / -1}.overlay-chatsim-row{display:flex;flex-wrap:wrap;gap:6px}.overlay-chatsim-row input{padding:8px 10px;background:var(--bg-input, #1a1a2e);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none}.overlay-chatsim-user{flex:0 1 130px;min-width:110px}.overlay-chatsim-msg{flex:1 1 180px;min-width:160px}.overlay-chatsim-row button{padding:8px 12px!important;font-size:12px!important;white-space:nowrap}@media(max-width:1200px){.overlay-three-col{grid-template-columns:250px 1fr}.overlay-col-right{grid-column:1 / -1;border-left:none;border-top:1px solid var(--border);display:flex;gap:12px;flex-wrap:wrap}.overlay-col-right .overlay-panel{flex:1;min-width:200px;margin-bottom:0}.overlay-col-right .overlay-panel-secondary{flex-basis:100%}}@media(max-width:900px){.overlay-three-col{grid-template-columns:1fr;overflow-y:auto}.overlay-col-left{border-right:none;border-bottom:1px solid var(--border)}.overlay-col-center{min-height:400px}.overlay-page-full{height:auto;min-height:calc(100vh - 56px);overflow:auto}}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-sidebar{width:60px}.sidebar-label{display:none}.sidebar-header{padding:16px 8px;text-align:center}.sidebar-logo-img{height:18px}.sidebar-link{justify-content:center;padding:12px 8px}.sidebar-icon{font-size:18px}.sidebar-group-caret{display:none}.sidebar-sub-link{padding-left:8px}.admin-main{margin-left:60px}.admin-content{padding:20px 16px}.settings-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr 1fr}}.perm-block{display:flex;flex-direction:column;gap:8px}.perm-block-label{font-size:13px;font-weight:600;color:var(--text-bright);margin-bottom:2px}.perm-block-label code{background:var(--bg-input);padding:1px 5px;border-radius:3px;font-size:12px;color:var(--primary)}.perm-toggle-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim);cursor:pointer}.perm-toggle-row span{-webkit-user-select:none;user-select:none}.perm-disabled{opacity:.4;pointer-events:none}.perm-level-select{display:flex;align-items:center;gap:8px;margin-left:44px;margin-top:-2px;font-size:13px}.perm-level-select select{padding:3px 8px;border-radius:6px;border:1px solid var(--border-color, #333);background:var(--bg-card, #1a1a2e);color:var(--text-color, #e0e0e0);font-size:13px}.perm-warning{font-size:11px;color:var(--accent-red, #f44);margin-top:2px}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg)}:root{--primary: #e94560;--primary-rgb: 233, 69, 96;--primary-dim: #c73850;--primary-glow: rgba(var(--primary-rgb), .12);--bg: #121220;--bg-sidebar: #16162a;--bg-dark: #1a1a2e;--bg-card: #1a1a30;--bg-card-hover: #20203a;--bg-input: #0f1428;--text: #e0e0e0;--text-dim: #7a7a90;--text-bright: #ffffff;--accent-red: #e74c3c;--accent-yellow: #ffd93d;--accent-green: #2ecc71;--accent-blue: #3b82f6;--accent-pink: #ec4899;--accent-orange: #f97316;--accent-purple: #8b5cf6;--border: #252540;--border-bright: #3a3a5a;--radius: 14px;--radius-sm: 10px;--radius-xs: 6px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .25), 0 0 1px rgba(var(--primary-rgb), .05);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .35), 0 0 1px rgba(var(--primary-rgb), .1);--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 20px;--space-xl: 24px;--space-2xl: 32px}
