@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#165dff;--primary-dark:#0e42d2;--danger:#f53f3f;--danger-dark:#cb2727;--bg:#f5f7fa;--bg-dark:#e5e8eb;--text:#1d2129;--text-secondary:#86909c;--text-light:#c9cdd4;--white:#fff;--border:#e5e6eb;--shadow:0 2px 12px #00000014;--radius:12px;--radius-sm:8px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e8ecf1}.app-container{justify-content:center;align-items:center;height:100%;padding:16px;display:flex}.phone-frame{background:var(--white);border-radius:24px;flex-direction:column;width:100%;max-width:420px;height:100%;max-height:780px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.status-bar{background:var(--white);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:56px;padding:16px 20px;display:flex}.status-bar-left{align-items:center;gap:10px;display:flex}.status-indicator{background:var(--text-light);border-radius:50%;flex-shrink:0;width:10px;height:10px}.status-indicator.connected{background:#22c55e;animation:2s infinite pulse-green}.status-indicator.dialing{background:#f59e0b;animation:.8s infinite pulse-yellow}.status-indicator.ended{background:var(--danger)}@keyframes pulse-green{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}@keyframes pulse-yellow{0%,to{opacity:1}50%{opacity:.4}}.status-info{flex-direction:column;display:flex}.status-text{color:var(--text);font-size:14px;font-weight:600}.ai-name{color:var(--text-secondary);font-size:12px}.call-timer{font-variant-numeric:tabular-nums;color:var(--text);font-size:16px;font-weight:600}.call-area{background:linear-gradient(#f8fafc 0%,#eef2f7 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.call-idle-hint{text-align:center;color:var(--text-secondary)}.call-idle-hint p{margin-bottom:6px;font-size:16px}.sub-hint{color:var(--text-light)!important;font-size:13px!important}.call-dialing{flex-direction:column;align-items:center;gap:16px;display:flex}.dialing-pulse{background:var(--primary);border-radius:50%;width:60px;height:60px;animation:1.2s infinite dialing-pulse}@keyframes dialing-pulse{0%{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(.8)}}.call-dialing p{color:var(--text-secondary);font-size:15px}.call-ended{text-align:center}.call-ended p{color:var(--text-secondary);margin-bottom:6px;font-size:16px}.waveform-container{flex-direction:column;align-items:center;gap:8px;min-height:60px;margin-bottom:16px;display:flex}.waveform-canvas{background:0 0;border-radius:8px;display:block}.waveform-container.active .waveform-canvas{opacity:1}.waveform-label{color:var(--primary);font-size:13px;font-weight:500}.waveform-label.ai-label{color:#22c55e}.waveform-label.listening-label{color:var(--text-secondary)}.conversation-bubbles{flex-direction:column;flex:1;gap:10px;width:100%;margin-bottom:12px;padding:8px 0;display:flex;overflow-y:auto}.bubble{border-radius:16px;max-width:85%;padding:10px 14px;font-size:14px;line-height:1.5;animation:.3s ease-out bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bubble.user{background:var(--primary);color:var(--white);border-bottom-right-radius:4px;align-self:flex-end}.bubble.ai{background:var(--white);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble-role{opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600}.bubble-content{word-break:break-word}.bubble-correction{opacity:.85;border-top:1px solid #fff3;margin-top:6px;padding-top:6px;font-size:12px;font-style:italic}.bubble.ai .bubble-correction{border-top-color:var(--border);color:var(--primary)}.call-actions{justify-content:center;padding:8px 0;display:flex}.call-button{color:var(--white);cursor:pointer;background:#22c55e;border:none;border-radius:50px;align-items:center;gap:10px;padding:14px 36px;font-size:17px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 16px #22c55e59}.call-button:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 6px 20px #22c55e73}.call-button:active{transform:translateY(0)}.hangup-button{background:var(--danger);width:64px;height:64px;color:var(--white);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 4px 16px #f53f3f59}.hangup-button:hover{background:var(--danger-dark);transform:scale(1.08);box-shadow:0 6px 20px #f53f3f73}.hangup-button:active{transform:scale(.95)}.text-input-bar{background:var(--bg);border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 16px;display:flex}.text-input-field{border:1px solid var(--border);font-size:14px;font-family:var(--font);background:var(--white);color:var(--text);border-radius:50px;outline:none;flex:1;padding:10px 14px;transition:border-color .2s}.text-input-field:focus{border-color:var(--primary)}.text-input-field:disabled{opacity:.5;cursor:not-allowed}.text-input-field::placeholder{color:var(--text-light)}.text-send-btn{background:var(--primary);width:40px;height:40px;color:var(--white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.text-send-btn:hover:not(:disabled){background:#1650e0;transform:scale(1.05)}.text-send-btn:disabled{opacity:.4;cursor:not-allowed}.control-panel{background:var(--bg);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex}.control-panel.disabled{opacity:.4;pointer-events:none}.control-btn{background:var(--white);width:40px;height:40px;color:var(--text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.control-btn:hover{background:var(--bg-dark)}.control-btn.muted{background:var(--danger);color:var(--white)}.speed-control{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.control-label{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:12px}.speed-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;flex:1;min-width:60px;height:4px}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #00000026}.speed-value{color:var(--text);text-align:right;min-width:32px;font-size:12px;font-weight:600}.scene-selector{align-items:center;gap:6px;display:flex}.scene-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text);cursor:pointer;font-size:13px;font-family:var(--font);outline:none;padding:6px 10px}.scene-select:focus{border-color:var(--primary)}.bottom-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:8px 20px 16px;display:flex}.settings-trigger{border:1px solid var(--border);background:var(--white);color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:var(--font);border-radius:50px;align-items:center;gap:6px;padding:8px 16px;transition:all .2s;display:flex}.settings-trigger:hover{color:var(--primary);border-color:var(--primary)}.browser-warning{color:#f59e0b;font-size:12px;font-weight:500}.error-text{color:var(--danger);font-size:12px}.settings-overlay{z-index:100;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;position:fixed;inset:0}.settings-overlay.open{opacity:1;pointer-events:auto}.settings-drawer{background:var(--white);z-index:101;flex-direction:column;width:320px;max-width:90vw;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.settings-drawer.open{transform:translate(0)}.settings-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px;display:flex}.settings-header h3{font-size:18px;font-weight:700}.settings-close{background:var(--bg);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.settings-close:hover{background:var(--bg-dark);color:var(--text)}.settings-body{flex-direction:column;flex:1;gap:24px;padding:20px;display:flex;overflow-y:auto}.setting-group{flex-direction:column;gap:10px;display:flex}.setting-label{color:var(--text);font-size:14px;font-weight:600}.accent-options,.difficulty-options{gap:8px;display:flex}.accent-option,.difficulty-option{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);text-align:center;flex:1;padding:10px 12px;transition:all .2s}.accent-option:hover,.difficulty-option:hover{border-color:var(--primary);color:var(--primary)}.accent-option.selected,.difficulty-option.selected{border-color:var(--primary);color:var(--primary);background:#165dff0f;font-weight:600}.toggle-row{justify-content:space-between;align-items:center;display:flex}.toggle-row span{color:var(--text);font-size:14px}.toggle-btn{cursor:pointer;border:none;border-radius:13px;width:48px;height:26px;padding:0;transition:all .25s;position:relative}.toggle-btn.on{background:var(--primary)}.toggle-btn.off{background:var(--text-light)}.toggle-thumb{background:var(--white);border-radius:50%;width:22px;height:22px;transition:transform .25s;position:absolute;top:2px;box-shadow:0 1px 3px #00000026}.toggle-btn.on .toggle-thumb{transform:translate(24px)}.toggle-btn.off .toggle-thumb{transform:translate(2px)}.setting-hint{color:var(--text-light);font-size:12px;line-height:1.4}.setting-hint a{color:var(--primary);text-decoration:underline}.api-key-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.api-key-input:focus{border-color:var(--primary)}.api-key-input::placeholder{color:var(--text-light);font-size:13px}.conversation-bubbles::-webkit-scrollbar{width:4px}.settings-body::-webkit-scrollbar{width:4px}.conversation-bubbles::-webkit-scrollbar-track{background:0 0}.settings-body::-webkit-scrollbar-track{background:0 0}.conversation-bubbles::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.settings-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@media (width<=440px){.phone-frame{max-height:none;box-shadow:none;border-radius:0}.app-container{padding:0}}.history-page{background:var(--white);border-radius:24px;flex-direction:column;width:100%;max-width:420px;height:100%;max-height:780px;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.history-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.history-header h2{flex:1;font-size:18px;font-weight:700}.history-back{background:var(--bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.history-back:hover{background:var(--bg-dark);color:var(--text)}.history-clear{border:1px solid var(--border);background:var(--white);color:var(--danger);cursor:pointer;font-size:13px;font-family:var(--font);border-radius:50px;padding:6px 14px;transition:all .2s}.history-clear:hover{background:#f53f3f0f}.history-list{flex:1;padding:16px 20px;overflow-y:auto}.history-empty{height:100%;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.history-empty p{color:var(--text-secondary);font-size:15px}.history-empty-hint{color:var(--text-light)!important;font-size:13px!important}.history-card{background:var(--bg);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.history-card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;transition:background .15s;display:flex}.history-card-header:hover{background:var(--bg-dark)}.history-card-info{flex-direction:column;gap:4px;display:flex}.history-scene{color:var(--text);font-size:14px;font-weight:600}.history-meta{color:var(--text-secondary);font-size:12px}.history-card-actions{align-items:center;gap:8px;display:flex}.history-delete{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.history-delete:hover{color:var(--danger);background:#f53f3f1a}.history-expand{color:var(--text-light);transition:transform .25s}.history-expand.expanded{transform:rotate(180deg)}.history-messages{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin:0 16px;padding:12px 16px 14px;display:flex}.history-msg{border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:8px 12px;font-size:13px;line-height:1.5;display:flex}.history-msg.user{background:#165dff0f}.history-msg.ai{background:var(--white)}.history-msg-role{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.history-msg-content{color:var(--text)}.history-msg-correction{color:var(--primary);margin-top:2px;font-size:11px;font-style:italic}@media (width<=440px){.history-page{max-height:none;box-shadow:none;border-radius:0}}.typing-cursor{color:var(--primary);margin-left:1px;font-weight:700;animation:.8s infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.listening-mode-btn{flex-direction:column;align-items:center;gap:2px;padding:6px 10px;display:flex}.listening-mode-btn.active{color:var(--primary);background:#165dff1f}.control-label{font-size:10px;font-weight:600;line-height:1}.status-indicator.encouraging{color:#f59e0b;background:#ffc10726}.status-indicator.encouraging .status-dot{background:#f59e0b;animation:1s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.5)}}.ai-mode-hint{color:#856404;text-align:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:0 20px 8px;padding:8px 12px;font-size:12px;line-height:1.5}.api-key-display{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.api-key-masked{color:var(--text);letter-spacing:1px;-webkit-user-select:none;user-select:none;flex:1;font-family:Courier New,monospace;font-size:14px}.api-key-delete{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.api-key-delete:hover{color:var(--danger);background:#f53f3f1a}.api-list{flex-direction:column;gap:6px;display:flex}.api-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;transition:border-color .2s,background .2s;display:flex}.api-card.active{border-color:var(--primary);background:#165dff0a}.api-card-info{cursor:pointer;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.api-card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.api-card-detail{align-items:center;gap:6px;display:flex}.api-platform-badge{color:var(--primary);white-space:nowrap;background:#165dff1a;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:500}.login-overlay{z-index:1000;background:#fff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.login-wave{pointer-events:none;z-index:0;width:100%;height:240px;position:absolute;bottom:0;left:0}.login-card{background:var(--white);z-index:1;border:1px solid #e0e0e0;border-radius:16px;width:360px;max-width:90vw;padding:32px 28px;position:relative;box-shadow:0 2px 12px #0000000f}.login-header{text-align:center;margin-bottom:24px}.login-title{color:var(--text);margin-bottom:4px;font-size:22px;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:14px}.login-tabs{border-bottom:2px solid var(--border);margin-bottom:24px;display:flex}.login-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:10px 0;font-size:15px;font-weight:500;transition:all .2s}.login-tab.active{color:#4caf50;border-bottom-color:#4caf50}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--text);font-size:13px;font-weight:500}.login-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);box-sizing:border-box;font-size:14px;font-family:var(--font);border-radius:8px;outline:none;padding:10px 12px;transition:border-color .2s}.login-input:focus{border-color:#4caf50}.login-input::placeholder{color:var(--text-light)}.login-error{color:var(--danger);text-align:center;font-size:13px}.login-submit{width:100%;color:var(--white);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font);background:#4caf50;border:none;border-radius:24px;padding:12px;transition:all .2s}.login-submit:hover:not(:disabled){background:#43a047}.login-submit:disabled{opacity:.6;cursor:not-allowed}.logout-btn{color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font);background:#ffffff26;border:none;border-radius:6px;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;transition:all .2s;display:flex}.logout-btn:hover{color:var(--text);background:#ffffff40}.user-btn{color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font);background:#ffffff26;border:none;border-radius:6px;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;transition:all .2s;display:flex}.user-btn:hover{color:var(--text);background:#ffffff40}.user-avatar-small{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;line-height:1;display:flex}.account-page{background:var(--white);border-radius:24px;flex-direction:column;width:100%;max-width:420px;height:100%;max-height:780px;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.account-page-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.account-page-header h2{flex:1;font-size:18px;font-weight:700}.account-page-back{background:var(--bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.account-page-back:hover{background:var(--bg-dark);color:var(--text)}.account-page-body{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.account-page-avatar-section{flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.account-page-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.account-page-avatar-letter{color:#fff;-webkit-user-select:none;user-select:none;font-size:28px;font-weight:700;line-height:1}.account-page-name{color:var(--text);font-size:18px;font-weight:700}.account-page-email{color:var(--text-secondary);font-size:13px}.account-page-section{flex-direction:column;gap:8px;display:flex}.account-page-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:0 4px;font-size:12px;font-weight:600}.account-page-card{background:var(--bg);border-radius:12px;flex-direction:column;padding:4px 0;display:flex}.account-page-usage-row{justify-content:space-between;align-items:center;padding:12px 16px 8px;font-size:14px;display:flex}.account-page-usage-count{color:var(--text);font-weight:600}.account-page-usage-bar{background:var(--border);border-radius:3px;height:6px;margin:0 16px;overflow:hidden}.account-page-usage-fill{border-radius:3px;height:100%;transition:width .3s}.account-page-usage-hint{color:var(--text-secondary);padding:6px 16px 10px;font-size:12px}.account-page-action{width:100%;color:var(--text);cursor:pointer;font-size:15px;font-family:var(--font);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.account-page-action:hover{background:#0000000a}.account-page-action-icon{background:var(--white);width:32px;height:32px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.account-page-action.danger .account-page-action-icon{color:var(--danger)}.account-page-action.logout .account-page-action-icon{color:var(--text-secondary)}.account-page-action span{flex:1}.account-page-action-arrow{color:var(--text-light)}.account-page-form{flex-direction:column;gap:16px;display:flex}.account-page-field{flex-direction:column;gap:6px;padding:10px 16px;display:flex}.account-page-field label{color:var(--text-secondary);font-size:12px;font-weight:600}.account-page-field input{border:1px solid var(--border);background:var(--white);width:100%;color:var(--text);font-size:14px;font-family:var(--font);box-sizing:border-box;border-radius:8px;padding:10px 12px}.account-page-field input:focus{border-color:var(--primary);outline:none}.account-page-msg{color:var(--danger);margin:0;padding:0 4px;font-size:13px}.account-page-msg.success{color:#27ae60}.account-page-btn{cursor:pointer;width:100%;font-size:15px;font-weight:600;font-family:var(--font);border:none;border-radius:10px;padding:12px;transition:opacity .2s}.account-page-btn.primary{background:var(--primary);color:var(--white)}.account-page-btn.danger{background:var(--danger);color:var(--white)}.account-page-btn:hover{opacity:.9}.account-page-btn:disabled{opacity:.5;cursor:not-allowed}.warning-card{text-align:center;background:#ff3b300f;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;display:flex}.warning-card p{color:var(--danger);margin:0;font-size:13px;line-height:1.5}.user-info-section{flex-direction:column;gap:8px;display:flex}.user-info-line{justify-content:space-between;align-items:center;font-size:13px;display:flex}.user-info-label{color:var(--text-secondary)}.user-info-value{color:var(--text);font-weight:500}.settings-logout-btn{border:1px solid var(--border);background:var(--white);width:100%;color:var(--danger);cursor:pointer;font-size:14px;font-family:var(--font);border-radius:8px;margin-top:4px;padding:8px;transition:all .2s}.settings-logout-btn:hover{background:var(--danger);color:var(--white);border-color:var(--danger)}.loading-screen{height:100%;color:var(--text-secondary);justify-content:center;align-items:center;font-size:16px;display:flex}.api-model-text{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.api-card-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.api-delete-btn{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.api-delete-btn:hover{color:var(--danger);background:#f53f3f1a}.api-edit-btn{border:1px solid var(--border);background:var(--white);width:28px;height:28px;color:var(--text-light);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.api-edit-btn:hover{color:#f59e0b;background:#f59e0b0f;border-color:#f59e0b}.api-edit-form{flex-direction:column;gap:10px;width:100%;animation:.2s ease-out form-in;display:flex}.api-card.editing{background:#f59e0b05;border-color:#f59e0b;flex-direction:column;align-items:stretch}.api-key-locked{border:1px solid var(--border);background:var(--bg);color:var(--text-light);border-radius:6px;padding:8px 10px;font-size:13px;font-style:italic}.api-add-btn{border:1px dashed var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);background:0 0;justify-content:center;align-items:center;gap:6px;padding:10px;transition:all .2s;display:flex}.api-add-btn:hover{border-color:var(--primary);color:var(--primary);background:#165dff08}.active-api-hint{font-weight:500;color:var(--primary)!important}.active-api-hint strong{color:var(--text)}.api-add-form{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;gap:10px;padding:12px;animation:.2s ease-out form-in;display:flex}@keyframes form-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.api-form-row{flex-direction:column;gap:4px;display:flex}.api-form-label{color:var(--text-secondary);font-size:12px;font-weight:600}.api-form-input{border:1px solid var(--border);background:var(--white);width:100%;color:var(--text);box-sizing:border-box;font-size:13px;font-family:var(--font);border-radius:6px;outline:none;padding:8px 10px;transition:border-color .2s}.api-form-input:focus{border-color:var(--primary)}.api-form-input::placeholder{color:var(--text-light);font-size:12px}.api-key-input-row{gap:6px;display:flex}.api-key-input-row .api-form-input{flex:1}.api-key-add-btn{background:var(--primary);color:var(--white);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:500;font-family:var(--font);border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:0 12px;transition:all .2s;display:flex}.api-key-add-btn:hover:not(:disabled){background:var(--primary-dark)}.api-key-add-btn:disabled{opacity:.4;cursor:not-allowed}.platform-options{flex-wrap:wrap;gap:6px;display:flex}.platform-option{border:1px solid var(--border);background:var(--white);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font);border-radius:6px;padding:5px 10px;transition:all .2s}.platform-option:hover{border-color:var(--primary);color:var(--primary)}.platform-option.selected{border-color:var(--primary);color:var(--primary);background:#165dff14}.api-form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.api-cancel-btn{border:1px solid var(--border);background:var(--white);color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:var(--font);border-radius:6px;padding:7px 16px;transition:all .2s}.api-cancel-btn:hover{background:var(--bg-dark)}.api-save-btn{background:var(--primary);color:var(--white);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);border:none;border-radius:6px;padding:7px 16px;transition:all .2s}.api-save-btn:hover:not(:disabled){background:var(--primary-dark)}.api-save-btn:disabled{opacity:.4;cursor:not-allowed}.wechat-restriction-overlay{z-index:9999;background:#fff;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:fixed;inset:0}.wechat-restriction-card{text-align:center;width:100%;max-width:380px}.wechat-restriction-icon{margin-bottom:24px;font-size:64px}.wechat-restriction-title{color:#1d2129;margin-bottom:12px;font-size:22px;font-weight:700}.wechat-restriction-text{color:#86909c;margin-bottom:28px;font-size:15px}.wechat-restriction-guide{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.wechat-restriction-guide p{color:#1d2129;margin:0;font-size:16px;font-weight:600}.wechat-restriction-arrow{position:fixed;top:40px;right:40px}.arrow-up-right{border-bottom:40px solid #07c160;border-left:40px solid #0000;width:0;height:0;animation:1.2s ease-in-out infinite float-arrow;transform:rotate(45deg)}@keyframes float-arrow{0%,to{transform:rotate(45deg)translateY(0)}50%{transform:rotate(45deg)translateY(-10px)}}
