.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.login-modal{background:#1a1a2e;border-radius:16px;padding:24px;width:100%;max-width:360px;position:relative;box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.1)}.login-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1}.login-modal-close:hover{color:#fff}.login-modal-title{margin:0 0 20px;font-size:20px;font-weight:600;color:#fff;text-align:center}.login-modal-error{background:#ff525226;border:1px solid rgba(255,82,82,.3);color:#ff5252;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.login-modal-success{background:#4caf5026;border:1px solid rgba(76,175,80,.3);color:#4caf50;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.login-modal-field{margin-bottom:16px}.login-modal-field label{display:block;color:#aaa;font-size:13px;margin-bottom:6px}.login-modal-field input{width:100%;padding:12px 14px;background:#0f0f1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:15px;outline:none;transition:border-color .2s;box-sizing:border-box}.login-modal-field input:focus{border-color:#4a9eff}.login-modal-field input::placeholder{color:#555}.login-modal-hint{color:#888;font-size:11px;margin-top:6px}.login-modal-button{width:100%;padding:14px;background:linear-gradient(135deg,#4a9eff,#6c5ce7);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}.login-modal-button:hover:not(:disabled){opacity:.9}.login-modal-button:active:not(:disabled){transform:scale(.98)}.login-modal-button:disabled{opacity:.6;cursor:not-allowed}.login-modal-links{display:flex;justify-content:center;gap:16px;margin-top:16px}.login-modal-links button{background:none;border:none;color:#4a9eff;font-size:13px;cursor:pointer;padding:4px}.login-modal-links button:hover{text-decoration:underline}.login-modal-note{text-align:center;color:#888;font-size:12px;margin-top:16px}.login-main{display:flex;flex-direction:column;gap:12px}.google-login-button{width:100%;padding:14px;background:#fff;border:none;border-radius:8px;color:#333;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,transform .1s}.google-login-button:hover:not(:disabled){background:#f5f5f5}.google-login-button:active:not(:disabled){transform:scale(.98)}.google-login-button:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px}.login-divider{display:flex;align-items:center;margin:8px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff26}.login-divider span{padding:0 12px;color:#888;font-size:13px}.email-login-button{width:100%;padding:14px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.email-login-button:hover{background:#ffffff0d;border-color:#ffffff4d}.login-modal-mfa-info{color:#aaa;font-size:13px;text-align:center;margin-bottom:16px;line-height:1.5}#recaptcha-container{position:absolute;bottom:0;left:0}@media (max-width: 480px){.login-modal{padding:20px;border-radius:12px}.login-modal-title{font-size:18px}.login-modal-field input{padding:14px;font-size:16px}.login-modal-button{padding:16px;font-size:16px}}.purchase-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.purchase-modal{background:#1a1a2e;border-radius:16px;padding:24px;max-width:400px;width:100%;position:relative;max-height:90vh;overflow-y:auto}.purchase-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1}.purchase-modal-close:hover{color:#fff}.purchase-modal-title{color:#fff;font-size:20px;font-weight:700;margin:0 0 20px;text-align:center}.purchase-modal-current{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;padding:12px 16px;border-radius:8px;margin-bottom:16px;color:#aaa;font-size:14px}.purchase-modal-current-points{color:gold;font-size:18px;font-weight:700}.purchase-modal-upgrade-notice{display:flex;gap:12px;background:linear-gradient(135deg,#ffd7001a,#ffa5001a);border:1px solid rgba(255,215,0,.3);padding:12px 16px;border-radius:8px;margin-bottom:20px}.upgrade-icon{font-size:24px}.purchase-modal-upgrade-notice strong{color:gold;font-size:14px;display:block;margin-bottom:4px}.purchase-modal-upgrade-notice ul{margin:0;padding-left:16px;color:#ccc;font-size:12px}.purchase-modal-upgrade-notice li{margin:2px 0}.purchase-modal-plans{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.purchase-plan{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;text-align:left;position:relative}.purchase-plan:hover{background:#ffffff14;border-color:#ffd70080}.purchase-plan.selected{border-color:gold;background:#ffd7001a}.purchase-plan.popular{border-color:#ff6b35;background:#ff6b351a}.purchase-plan-popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;white-space:nowrap}.purchase-plan:disabled{opacity:.7;cursor:not-allowed}.purchase-plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.purchase-plan-name{color:#fff;font-size:16px;font-weight:600}.purchase-plan-bonus{background:linear-gradient(135deg,gold,orange);color:#333;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}.purchase-plan-points{color:#4a9eff;font-size:24px;font-weight:700;margin-bottom:4px}.purchase-plan-price{color:#888;font-size:14px}.purchase-plan-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:#1a1a2ee6;display:flex;align-items:center;justify-content:center;color:gold;font-size:14px;border-radius:10px}.purchase-modal-error{background:#ff52521a;border:1px solid rgba(255,82,82,.3);color:#ff5252;padding:12px;border-radius:8px;font-size:13px;margin-bottom:16px;text-align:center}.purchase-modal-footer{text-align:center;color:#666;font-size:11px}.purchase-modal-footer p{margin:4px 0}@media (max-width: 480px){.purchase-modal{padding:20px;margin:10px}.purchase-modal-title{font-size:18px}.purchase-plan-points{font-size:20px}}.user-menu{position:relative}.user-menu-loading{color:#888;font-size:14px}.user-menu-login-button{background:linear-gradient(135deg,#4a9eff,#6c5ce7);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;transition:opacity .2s}.user-menu-login-button:hover{opacity:.9}.user-menu-button{display:flex;align-items:center;gap:6px;background:#fffffff2;border:2px solid #FFD700;border-radius:20px;padding:4px 8px 4px 10px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000026}.user-menu-button:hover{background:#fff;transform:scale(1.02)}.user-menu-points-container{display:flex;align-items:center;gap:6px}.user-menu-points{color:#d4af37;font-size:14px;font-weight:700;text-shadow:none}.user-menu-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap}.user-menu-badge.premium{background:linear-gradient(135deg,gold,orange);color:#333}.user-menu-badge.free{background:#f0f0f0;color:#666;border:1px solid #ddd}.user-menu-avatar{width:28px;height:28px;background:linear-gradient(135deg,#4a9eff,#6c5ce7);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600}.user-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#1a1a2e;border:1px solid rgba(255,255,255,.15);border-radius:12px;min-width:220px;box-shadow:0 8px 24px #0006;z-index:100;overflow:hidden}.user-menu-info{padding:12px 16px}.user-menu-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:2px}.user-menu-email{color:#888;font-size:12px;margin-bottom:6px}.user-menu-membership{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;margin-top:4px}.user-menu-membership.premium{background:linear-gradient(135deg,gold,orange);color:#333}.user-menu-membership.free{background:#ffffff1a;color:#aaa;border:1px solid rgba(255,255,255,.2)}.user-menu-divider{height:1px;background:#ffffff1a}.user-menu-points-detail{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 16px;color:#aaa;font-size:13px}.user-menu-points-detail.clickable{cursor:pointer;transition:background .2s}.user-menu-points-detail.clickable:hover{background:#ffffff0d}.user-menu-points-value{color:gold;font-weight:600}.user-menu-purchase-hint{width:100%;font-size:11px;color:#4a9eff;margin-top:4px}.user-menu-logout{width:100%;padding:12px 16px;background:none;border:none;color:#ff5252;font-size:13px;text-align:left;cursor:pointer;transition:background .2s}.user-menu-logout:hover{background:#ff52521a}@media (max-width: 480px){.user-menu-dropdown{min-width:200px}.user-menu-login-button{padding:10px 16px;font-size:14px}.user-menu-button{padding:3px 6px 3px 8px;gap:4px}.user-menu-points{font-size:13px}.user-menu-badge{font-size:9px;padding:2px 4px}.user-menu-avatar{width:26px;height:26px;font-size:12px}}.memory-buttons-container{display:flex;gap:8px;align-items:center}.memory-btn-wrapper{display:flex;align-items:center;gap:4px}.memory-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:linear-gradient(135deg,#2d3748,#1a202c);border:1px solid #4a5568;border-radius:8px;color:#e2e8f0;font-size:13px;cursor:pointer;transition:all .2s ease;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-btn:hover{background:linear-gradient(135deg,#4a5568,#2d3748);border-color:#718096}.memory-btn.has-content{background:linear-gradient(135deg,#2b6cb0,#2c5282);border-color:#4299e1}.memory-btn.generating{opacity:.7;cursor:wait}.memory-btn.petit.has-content{background:linear-gradient(135deg,#38a169,#2f855a);border-color:#48bb78}.memory-btn.full.has-content{background:linear-gradient(135deg,#805ad5,#6b46c1);border-color:#9f7aea}.memory-clear-btn{width:20px;height:20px;padding:0;background:#e53e3e;border:none;border-radius:50%;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.memory-clear-btn:hover{background:#c53030;transform:scale(1.1)}.memory-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.memory-modal{background:#1a202c;border-radius:16px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;border:1px solid #2d3748}.memory-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #2d3748}.memory-modal-header h3{margin:0;color:#e2e8f0;font-size:18px}.memory-modal-close{width:32px;height:32px;padding:0;background:transparent;border:1px solid #4a5568;border-radius:8px;color:#a0aec0;font-size:18px;cursor:pointer;transition:all .2s ease}.memory-modal-close:hover{background:#2d3748;color:#e2e8f0}.memory-modal-content{padding:20px}.memory-description{color:#a0aec0;font-size:13px;line-height:1.6;margin:0 0 16px}.memory-warning{color:#f6ad55;font-size:13px;margin:0 0 12px;padding:8px 12px;background:#f6ad551a;border-radius:6px}.memory-textarea{width:100%;min-height:120px;padding:12px;background:#2d3748;border:1px solid #4a5568;border-radius:8px;color:#e2e8f0;font-size:14px;resize:vertical;box-sizing:border-box}.memory-textarea:focus{outline:none;border-color:#4299e1}.memory-textarea:disabled{opacity:.5;cursor:not-allowed}.memory-char-count{text-align:right;color:#718096;font-size:12px;margin-top:8px}.memory-save-btn{width:100%;padding:12px;margin-top:16px;background:linear-gradient(135deg,#38a169,#2f855a);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.memory-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#2f855a,#276749);transform:translateY(-1px)}.memory-save-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.memory-buttons-container{gap:6px}.memory-btn{padding:5px 10px;font-size:12px;max-width:110px}.memory-modal{max-height:90vh;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0;max-width:100%}}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--background);overflow:hidden}.app.unsupported{justify-content:center;align-items:center;text-align:center;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;flex-shrink:0;min-height:50px}.header-left{display:flex;align-items:center;gap:6px;flex-shrink:0}.header-left h1{font-size:14px;font-weight:700;margin:0;white-space:nowrap}.version-badge{background:#ffffff4d;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.listen-status-icon{font-size:16px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff3;transition:all .3s ease;flex-shrink:0}.listen-status-icon.waiting{background:#fff3}.listen-status-icon.listening{background:#4caf5099;animation:pulse-listening 1s ease-in-out infinite}.listen-status-icon.processing{background:#2196f399;animation:pulse-processing .8s ease-in-out infinite}@keyframes pulse-listening{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes pulse-processing{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.header-right{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;justify-content:flex-end;flex-shrink:0}.points-badge{display:flex;align-items:center;font-size:11px;font-weight:600;background:#ffffff40;padding:4px 8px;border-radius:10px;cursor:pointer;transition:background .2s;white-space:nowrap}.points-badge:hover{background:#ffffff59}.level-btn{background:#fff3;border:none;color:#fff;padding:4px 8px;border-radius:8px;font-size:10px;cursor:pointer;transition:background .2s;white-space:nowrap}.level-btn:hover{background:#ffffff4d}.audio-level-bars{display:flex;gap:2px;align-items:flex-end;height:20px;margin-right:8px;padding:3px 5px;background:#0000004d;border-radius:4px}.level-bar{width:5px;height:100%;border-radius:2px;transition:background-color .05s ease}.level-bar.active{box-shadow:0 0 3px currentColor}.calibration-indicator{display:flex;align-items:center;justify-content:center;height:20px;width:60px;margin-right:8px;padding:3px 5px;background:#0000004d;border-radius:4px;position:relative;overflow:hidden}.calibration-progress{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .1s ease}.calibration-text{position:relative;z-index:1;font-size:10px;font-weight:600;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.5)}.level-btn-large{background:#ffffff40;border:2px solid rgba(255,255,255,.5);color:#fff;padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.level-btn-large:hover{background:#ffffff59;border-color:#ffffffb3}.main-content{flex:1;display:flex;flex-direction:column;padding:8px;gap:8px;overflow:hidden;min-height:0}.section{background:var(--surface);border-radius:12px;padding:12px;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid var(--border)}.section h2{font-size:var(--font-size-base);font-weight:600;color:var(--primary);margin:0 0 8px;flex-shrink:0}.section-content{flex:1;overflow-y:auto;min-height:0}.placeholder{color:var(--text-disabled);font-size:var(--font-size-base);text-align:center;padding:12px}.status-section{flex:0 0 auto;background:var(--surface-elevated);padding:8px 12px}.status-icon-container{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#fff;border-radius:8px}.status-icon{font-size:24px;line-height:1}.status-icon.stopped{opacity:.5}.status-icon.silence{animation:pulse-silence 2s ease-in-out infinite}.status-icon.listening{animation:pulse-listening .8s ease-in-out infinite}@keyframes pulse-silence{0%,to{opacity:.6}50%{opacity:1}}@keyframes pulse-listening{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.status-text{font-size:var(--font-size-base);color:var(--text-secondary);font-weight:500}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;margin-left:8px;transition:all .3s ease}.status-badge.stopped{background:#9e9e9e;color:#fff}.status-badge.silence{background:#2196f3;color:#fff;animation:pulse-badge 2s ease-in-out infinite}.status-badge.speaking{background:#4caf50;color:#fff;animation:pulse-badge-fast .5s ease-in-out infinite}.status-badge.sending{background:#ff9800;color:#fff}@keyframes pulse-badge{0%,to{opacity:.7}50%{opacity:1}}@keyframes pulse-badge-fast{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.section h2{display:flex;align-items:center;gap:4px}.section-title{flex-shrink:0}.expand-icon{margin-left:auto}.conversation-section{flex:3;min-height:100px}.conversation-entry{padding:8px;background:#fff;border-radius:8px;margin-bottom:6px;border-left:3px solid var(--primary)}.entry-text{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.4}.uncertain{color:var(--warning);font-size:var(--font-size-small)}.original-text{display:block;font-size:var(--font-size-small);color:var(--text-disabled);margin-top:4px}.summary-section{flex:1;min-height:40px;max-height:80px;transition:background-color .3s ease}.summary-section.genre-business{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.summary-section.genre-tech{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.summary-section.genre-food{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.summary-section.genre-sports{background:linear-gradient(135deg,#e8f5e9,#a5d6a7)}.summary-section.genre-music{background:linear-gradient(135deg,#fce4ec,#f8bbd9)}.summary-section.genre-movie{background:linear-gradient(135deg,#ede7f6,#d1c4e9)}.summary-section.genre-game{background:linear-gradient(135deg,#e0f7fa,#b2ebf2)}.summary-section.genre-travel{background:linear-gradient(135deg,#e1f5fe,#b3e5fc)}.summary-section.genre-health{background:linear-gradient(135deg,#ffebee,#ffcdd2)}.summary-section.genre-education{background:linear-gradient(135deg,#fff8e1,#ffecb3)}.summary-section.genre-politics{background:linear-gradient(135deg,#eceff1,#cfd8dc)}.summary-section.genre-science{background:linear-gradient(135deg,#e0f2f1,#b2dfdb)}.summary-section.genre-fashion{background:linear-gradient(135deg,#fce4ec,#f48fb1)}.summary-section.genre-hobby{background:linear-gradient(135deg,#fff9c4,#fff59d)}.summary-section.genre-daily{background:linear-gradient(135deg,#f5f5f5,#e0e0e0)}.summary-section.genre-other{background:linear-gradient(135deg,#fafafa,#eee)}.genre-icon{margin-right:6px;font-size:1.1em}.summary-entry{padding:8px;background:#fff;border-radius:8px;margin-bottom:6px}.summary-text{font-size:var(--font-size-base);color:var(--text-primary);margin:0 0 6px;line-height:1.4}.topics{display:flex;flex-wrap:wrap;gap:4px}.topic-tag{background:var(--primary-light);color:#fff;padding:2px 8px;border-radius:12px;font-size:var(--font-size-small)}.lookup-section{flex:5;min-height:150px}.lookup-entry{padding:10px;background:#fff;border-radius:8px;margin-bottom:8px;border-left:3px solid var(--warning)}.lookup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.lookup-word{font-size:var(--font-size-large);font-weight:600;color:var(--primary)}.lookup-category{font-size:var(--font-size-small);background:var(--surface);padding:2px 8px;border-radius:8px;color:var(--text-secondary)}.lookup-explanation{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;margin:0}.controls{display:flex;justify-content:center;gap:16px;padding:12px 16px;background:var(--surface-elevated);flex-shrink:0}.control-btn{padding:12px 24px;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.control-btn.reset{background:var(--surface);color:var(--text-secondary);border:2px solid var(--border)}.control-btn.reset:hover{background:var(--error);color:#fff;border-color:var(--error)}.control-btn.record{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;box-shadow:0 4px 15px #ff149366}.control-btn.record:hover{transform:scale(1.05)}.control-btn.record.recording{background:linear-gradient(135deg,var(--error) 0%,#FF8080 100%);animation:pulse 1.5s ease-in-out infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:100}.modal{background:#fff;padding:24px;border-radius:16px;width:90%;max-width:320px}.modal h2{font-size:18px;margin:0 0 16px;text-align:center;color:var(--primary)}.level-options{display:flex;flex-direction:column;gap:8px}.level-option{padding:12px;border:2px solid var(--border);border-radius:12px;background:#fff;font-size:15px;cursor:pointer;transition:all .2s}.level-option:hover{border-color:var(--primary-light);background:var(--surface)}.level-option.selected{border-color:var(--primary);background:var(--surface-elevated);color:var(--primary);font-weight:600}.gain-modal{max-width:340px}.gain-description{font-size:13px;color:var(--text-secondary);text-align:center;margin-bottom:20px;line-height:1.5}.gain-slider-container{padding:16px;background:var(--surface);border-radius:12px;margin-bottom:16px}.gain-value-display{text-align:center;margin-bottom:12px}.gain-value{font-size:32px;font-weight:700;color:var(--primary)}.gain-slider{width:100%;height:8px;border-radius:4px;background:var(--border);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gain-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 2px 6px #0003}.gain-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;border:none;box-shadow:0 2px 6px #0003}.gain-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--text-secondary)}.gain-presets{display:flex;gap:8px;margin-bottom:16px}.gain-preset{flex:1;padding:10px 8px;border:2px solid var(--border);border-radius:8px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.gain-preset:hover{border-color:var(--primary-light);background:var(--surface)}.gain-preset.active{border-color:var(--primary);background:var(--surface-elevated);color:var(--primary);font-weight:600}.agc-toggle-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;padding:12px;background:var(--surface);border-radius:12px}.agc-toggle{position:relative;width:50px;height:26px}.agc-toggle input{opacity:0;width:0;height:0}.agc-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.3s;border-radius:26px}.agc-toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.agc-toggle input:checked+.agc-toggle-slider{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%)}.agc-toggle input:checked+.agc-toggle-slider:before{transform:translate(24px)}.agc-toggle-label{font-size:14px;font-weight:600;color:var(--text-primary)}.vad-status-display{padding:10px 12px;background:var(--surface);border-radius:8px;margin-bottom:12px;font-size:13px}.vad-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.vad-row:last-child{margin-bottom:0}.vad-state{font-weight:600;padding:2px 8px;border-radius:4px}.vad-state.silence{background:#e0e0e0;color:#666}.vad-state.maybe_speech{background:#fff3e0;color:#e65100}.vad-state.speech{background:#e8f5e9;color:#2e7d32}.vad-state.maybe_silence{background:#e3f2fd;color:#1565c0}.noise-floor-value{font-weight:600;color:var(--primary)}.threshold-info{font-size:11px;color:var(--text-secondary)}.current-level-display{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border-radius:8px;margin-bottom:12px;font-size:13px}.current-level-display .level-value{font-weight:700;color:var(--primary);min-width:40px}.level-bar-mini{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.level-bar-mini .level-fill{display:block;height:100%;background:linear-gradient(90deg,#4caf50,#ffc107,#ff5722);transition:width .1s ease}.auto-adjust-btn{width:100%;padding:14px 16px;margin-bottom:16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000026}.auto-adjust-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0003}.auto-adjust-btn:active:not(:disabled){transform:translateY(0)}.auto-adjust-btn:disabled{background:var(--border);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.audio-level-bars.clickable{cursor:pointer;transition:transform .1s,box-shadow .1s}.audio-level-bars.clickable:hover{transform:scale(1.05);box-shadow:0 0 8px #ffffff4d}.audio-level-bars.clickable:active{transform:scale(.95)}.error-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--error);color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;z-index:100;animation:fadeIn .3s ease-out}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 15px #ff6b6b66}50%{transform:scale(1.02);box-shadow:0 4px 20px #ff6b6b99}}.section.expanded{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-height:none!important;z-index:9999!important;margin:0!important;padding:0!important;border-radius:0!important;border:none!important;overflow:hidden!important;background:var(--surface)!important;display:flex!important;flex-direction:column!important}.section.expanded h2{position:sticky;top:0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;padding:16px 20px;margin:0;z-index:10;font-size:18px;flex-shrink:0;box-shadow:0 2px 10px #0000001a}.section.expanded .section-content{flex:1;overflow-y:auto;padding:16px;padding-bottom:env(safe-area-inset-bottom,20px)}@media (max-width: 480px){.header{padding:6px 8px;min-height:44px}.header-left h1{font-size:12px}.version-badge{font-size:9px;padding:1px 5px}.connection-indicator{width:8px;height:8px}.points-badge{font-size:10px;padding:3px 6px}.level-btn{padding:3px 6px;font-size:9px}.main-content{padding:6px;gap:6px}.section{padding:10px}.section h2{font-size:13px}.control-btn{padding:10px 20px;font-size:14px}}.audio-level-container{display:flex;align-items:center;gap:8px;margin-bottom:8px;background:#0000001a;border-radius:4px;height:20px;padding:2px;position:relative}.audio-level-bar{height:100%;background:linear-gradient(90deg,#32cd32,gold,#ff6b6b);border-radius:3px;transition:width .05s ease-out;min-width:2px}.audio-level-text{position:absolute;right:8px;font-size:11px;font-weight:600;color:var(--text-primary)}.candidates-list{margin-top:8px;padding:6px 8px;background:#ff14931a;border-radius:6px;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidates-list small{display:block;overflow:hidden;text-overflow:ellipsis}.realtime-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.realtime-header h2{margin:0}.mode-selector{display:flex;gap:4px;background:#0000001a;padding:2px;border-radius:8px}.mode-btn{padding:4px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-btn.active{background:var(--primary);color:#fff}.settings-modal{max-width:360px}.settings-section{margin-bottom:20px}.settings-section h3{font-size:14px;color:var(--primary);margin:0 0 8px}.settings-description{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.5}.api-key-input{width:100%;padding:10px 12px;border:2px solid var(--border);border-radius:8px;font-size:14px;box-sizing:border-box}.api-key-input:focus{outline:none;border-color:var(--primary)}.usage-details{background:var(--surface);border-radius:8px;padding:12px}.usage-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid var(--border)}.usage-row:last-child{border-bottom:none}.usage-row.total{font-weight:700;color:var(--primary);padding-top:10px;margin-top:4px;border-top:2px solid var(--primary);border-bottom:none}.close-btn{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px}.close-btn:hover{opacity:.9}.gain-control{display:flex;align-items:center;gap:8px}.gain-label{font-size:11px;color:var(--text-secondary);white-space:nowrap}.gain-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0003;border-radius:2px;outline:none}.gain-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary);border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.gain-slider::-moz-range-thumb{width:16px;height:16px;background:var(--primary);border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.gain-setting{display:flex;align-items:center;gap:12px;margin-top:12px}.gain-slider-large{flex:1;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#32cd32,gold,#ff6b6b);border-radius:4px;outline:none}.gain-slider-large::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;background:#fff;border-radius:50%;cursor:pointer;border:3px solid var(--primary);box-shadow:0 2px 8px #0000004d}.gain-slider-large::-moz-range-thumb{width:24px;height:24px;background:#fff;border-radius:50%;cursor:pointer;border:3px solid var(--primary);box-shadow:0 2px 8px #0000004d}.gain-value{font-size:18px;font-weight:700;color:var(--primary);min-width:50px;text-align:right}.control-bar{display:flex;justify-content:center;gap:16px;padding:12px 16px;background:var(--surface-elevated);flex-shrink:0;border-top:1px solid var(--border)}.word-entry{padding:10px;background:#fff;border-radius:8px;margin-bottom:8px;border-left:3px solid var(--warning)}.word-header{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}.word-name{font-size:var(--font-size-large);font-weight:600;color:var(--primary)}.word-category{font-size:var(--font-size-small);background:var(--surface);padding:2px 8px;border-radius:8px;color:var(--text-secondary)}.word-explanation{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.5;margin:0}.header-audio-level{width:40px;height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden;flex-shrink:0}.header-level-bar{height:100%;background:linear-gradient(90deg,#32cd32,gold,#ff6b6b);border-radius:3px;transition:width .05s ease-out;min-width:2px}.word-url{display:inline-block;margin-top:8px;font-size:var(--font-size-small);color:var(--primary);text-decoration:none;padding:4px 8px;background:#ff14931a;border-radius:4px;transition:background .2s}.word-url:hover{background:#ff149333;text-decoration:underline}.candidate-badge{font-size:var(--font-size-small);background:orange;color:#fff;padding:2px 6px;border-radius:4px}.verification-badge{font-size:var(--font-size-small);background:#ff6b6b;color:#fff;padding:2px 6px;border-radius:4px}.confidence-badge{font-size:var(--font-size-small);background:var(--surface);color:var(--text-secondary);padding:2px 6px;border-radius:4px;margin-left:auto}.word-entry.candidate{border-left-color:orange;background:#fffaf0}.word-entry.needs-verification{border-left-color:#ff6b6b}.alternative-candidates{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.alternatives-header{font-size:var(--font-size-small);color:var(--text-secondary);margin-bottom:8px;font-weight:600}.alternative-item{padding:8px;background:var(--surface);border-radius:6px;margin-bottom:6px}.alternative-item:last-child{margin-bottom:0}.alt-name{font-size:var(--font-size-base);font-weight:600;color:var(--primary)}.alt-confidence{font-size:var(--font-size-small);color:var(--text-secondary);margin-left:4px}.alt-description{font-size:var(--font-size-small);color:var(--text-primary);margin:4px 0 0;line-height:1.4}.alt-url{font-size:var(--font-size-small);color:var(--primary);text-decoration:none;margin-left:8px}.alt-url:hover{text-decoration:underline}.control-btn.excel{background:linear-gradient(135deg,#217346,#185c37);color:#fff}.control-btn.excel:hover:not(:disabled){background:linear-gradient(135deg,#185c37,#0e3a22)}.control-btn.excel:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.summary-prediction{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,20,147,.2)}.prediction-item{font-size:var(--font-size-small);color:var(--text-secondary);background:#ff149314;padding:4px 10px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.genre-badge{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:3px 8px;border-radius:10px;font-size:var(--font-size-small);font-weight:600;cursor:help;transition:transform .2s;display:flex;align-items:center;gap:3px;white-space:nowrap}.genre-badge:hover{transform:scale(1.05)}.genre-badge.detecting{background:linear-gradient(135deg,#a8edea,#fed6e3);color:#666;animation:pulse 1.5s ease-in-out infinite}.genre-sub{background:#ffffff4d;padding:1px 4px;border-radius:6px;font-size:9px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.engine-selector{display:flex;gap:8px;margin-bottom:8px}.engine-btn{flex:1;padding:10px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;transition:all .2s}.engine-btn:hover:not(:disabled){border-color:#667eea}.engine-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.engine-btn:disabled{opacity:.5;cursor:not-allowed}.engine-description{font-size:.8rem;color:#666;margin:0;text-align:center}.speaker-label{display:inline-block;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;margin-right:8px}.footer{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:var(--surface-elevated);border-top:1px solid var(--border);flex-shrink:0}.footer-main-controls{width:100%;display:flex;justify-content:center;align-items:center;position:relative}.footer-sub-controls{display:flex;justify-content:center;align-items:center;gap:12px;width:100%}.footer .record-btn{width:100%;max-width:300px;height:56px;font-size:20px;border-radius:28px}.session-timer{position:absolute;right:0;background:#0009;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;display:flex;align-items:center;gap:4px}.record-btn{font-weight:700;cursor:pointer;transition:all .3s ease;border:none;background:linear-gradient(135deg,#ff4b2b,#ff416c);color:#fff;box-shadow:0 4px 15px #ff4b2b66}.record-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #ff4b2b80}.record-btn.recording{background:linear-gradient(135deg,#2196f3,#21cbf3);box-shadow:0 4px 15px #2196f366;animation:pulse-recording 1.5s ease-in-out infinite}.record-btn.recording:hover{box-shadow:0 6px 20px #2196f380}@keyframes pulse-recording{0%,to{transform:scale(1);box-shadow:0 4px 15px #ff6b6b66}50%{transform:scale(1.03);box-shadow:0 6px 25px #ff6b6b99}}.footer .reset-btn{padding:10px 18px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid var(--border);background:var(--surface);color:var(--text-secondary)}.footer .reset-btn:hover{background:var(--error);color:#fff;border-color:var(--error)}.session-timer{display:flex;flex-direction:column;align-items:center;background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);border-radius:12px;padding:6px 12px}.session-timer .timer-label{font-size:10px;color:var(--error);font-weight:500}.session-timer .timer-value{font-size:16px;font-weight:700;color:var(--error);font-variant-numeric:tabular-nums}.export-btn{padding:10px 18px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:none;background:linear-gradient(135deg,#217346,#185c37);color:#fff;box-shadow:0 2px 8px #2173464d}.export-btn:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #21734666}.export-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6;box-shadow:none}@media (max-width: 480px){.footer{padding:10px 8px;gap:8px}.record-btn{padding:10px 20px;font-size:13px}.footer .reset-btn,.export-btn{padding:8px 12px;font-size:11px}}.teach-container{display:flex;justify-content:center;align-items:center;gap:6px;padding:4px 6px;flex-shrink:0;flex-wrap:wrap}.teach-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:2px solid #81D4FA;border-radius:16px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teach-btn:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);transform:scale(1.02)}.teach-btn.has-file{border-color:#1976d2;background:linear-gradient(135deg,#90caf9,#64b5f6);color:#0d47a1}.teach-indicator{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#4caf50;color:#fff;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.teach-clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #EF5350;border-radius:50%;background:#fff;color:#ef5350;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.teach-clear-btn:hover{background:#ef5350;color:#fff}@media (max-width: 480px){.teach-container{padding:3px 4px;gap:4px}.teach-btn{padding:6px 10px;font-size:11px;max-width:140px}.teach-clear-btn{width:22px;height:22px;font-size:12px}}.setting-item{margin-bottom:16px}.setting-item label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.api-stats{background:var(--surface);padding:12px;border-radius:8px}.api-stats p{margin:4px 0;font-size:13px}.setting-info{font-size:11px!important;color:var(--text-secondary)!important}.level-modal{max-width:360px}.level-description{font-size:13px;color:var(--text-secondary);text-align:center;margin-bottom:16px;line-height:1.5}.level-name{display:block;font-weight:600}.level-hint{display:block;font-size:11px;color:var(--text-secondary);margin-top:4px}.clarity-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:4px 0}.clarity-label{font-size:var(--font-size-small);color:var(--text-secondary);white-space:nowrap}.clarity-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.clarity-fill{height:100%;border-radius:3px;transition:width .3s ease,background-color .3s ease}.clarity-value{font-size:var(--font-size-small);font-weight:600;color:var(--text-primary);min-width:35px;text-align:right}.detailed-topic{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);border-radius:8px;color:#fff}.detailed-topic-icon{font-size:var(--font-size-base)}.detailed-topic-text{font-size:var(--font-size-base);font-weight:600}.predicted-words{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.predicted-words-label{font-size:var(--font-size-small);color:var(--text-secondary);display:block;margin-bottom:6px}.predicted-words-list{display:flex;flex-wrap:wrap;gap:4px}.predicted-word-tag{background:var(--surface);color:var(--text-primary);padding:2px 8px;border-radius:10px;font-size:var(--font-size-small);border:1px solid var(--border)}.summary-prediction{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.prediction-item{font-size:var(--font-size-small);color:var(--text-secondary);background:var(--surface);padding:2px 8px;border-radius:8px}.theme-switcher{display:flex;align-items:center;gap:4px;background:#ffffff26;padding:4px 8px;border-radius:20px;border:1px solid rgba(255,255,255,.3)}.theme-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0}.theme-btn:hover{transform:scale(1.1)}.theme-btn.active{border-color:#fff;box-shadow:0 0 8px #ffffff80}.theme-btn.business{background:linear-gradient(135deg,#1a1a1a 50%,#fff 50%)}.theme-btn.natural{background:linear-gradient(135deg,#4a90a4 50%,#f0f7fa 50%)}.theme-btn.pop{background:linear-gradient(135deg,#ff1493 50%,#fff8dc 50%)}.theme-label{font-size:10px;color:#fff;font-weight:500;white-space:nowrap;margin-left:4px}@media (max-width: 480px){.theme-switcher{padding:3px 6px;gap:3px}.theme-btn{width:20px;height:20px}.theme-label{display:none}}.fontsize-switcher{display:flex;align-items:center;gap:2px;background:#ffffff26;padding:4px 6px;border-radius:16px;border:1px solid rgba(255,255,255,.3)}.fontsize-btn{min-width:24px;height:22px;border-radius:11px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-weight:600;padding:0 4px;background:#fff3;color:#fff}.fontsize-btn:hover{background:#ffffff4d}.fontsize-btn.active{background:#fff;color:var(--primary);border-color:#fff}.fontsize-btn.xs{font-size:9px}.fontsize-btn.sm{font-size:11px}.fontsize-btn.md{font-size:13px}.fontsize-btn.lg{font-size:15px}@media (max-width: 480px){.fontsize-switcher{padding:3px 4px;gap:1px}.fontsize-btn{min-width:20px;height:18px;padding:0 3px}.fontsize-btn.xs{font-size:8px}.fontsize-btn.sm{font-size:9px}.fontsize-btn.md{font-size:10px}.fontsize-btn.lg{font-size:11px}}.app-logo{font-size:14px;font-weight:700;margin:0;white-space:nowrap;cursor:pointer;transition:transform .2s;-webkit-user-select:none;user-select:none}.app-logo:hover{transform:scale(1.05)}.app-logo:active{transform:scale(.95)}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:#fff3;cursor:pointer;transition:all .2s ease;font-size:16px;padding:0}.icon-btn:hover{background:#ffffff59;transform:scale(1.1)}.icon-btn:active{transform:scale(.95)}@media (max-width: 480px){.app-logo{font-size:12px}.icon-btn{width:28px;height:28px;font-size:14px;border-radius:6px}.header-left,.header-right{gap:4px}}@media (max-width: 375px){.app-logo{font-size:11px}.icon-btn{width:26px;height:26px;font-size:13px}.header-left,.header-right{gap:3px}.level-btn{padding:2px 5px;font-size:8px}.genre-badge{padding:2px 6px;font-size:9px}}:root{--font-size-base: 14px;--font-size-small: 12px;--font-size-large: 16px;--font-size-xlarge: 18px;--primary: #1a1a1a;--primary-light: #4a4a4a;--background: #f5f5f5;--surface: #ffffff;--surface-elevated: #fafafa;--text-primary: #1a1a1a;--text-secondary: #666666;--text-disabled: #999999;--success: #32CD32;--warning: #FFD700;--error: #FF6B6B;--border: #e0e0e0}:root[data-theme=natural]{--primary: #4A90A4;--primary-light: #7AB8C9;--background: #F0F7FA;--surface: #FFFFFF;--surface-elevated: #E8F4F8;--text-primary: #2C3E50;--text-secondary: #5D6D7E;--text-disabled: #95A5A6;--success: #27AE60;--warning: #F39C12;--error: #E74C3C;--border: #BDC3C7}:root[data-theme=pop]{--primary: #FF1493;--primary-light: #FF69B4;--background: #FFF8DC;--surface: #FFE4E1;--surface-elevated: #FFF0F5;--text-primary: #2D1B2E;--text-secondary: #6B4C6E;--text-disabled: #A88AAB;--success: #32CD32;--warning: #FFD700;--error: #FF6B6B;--border: #FFB6C1}:root[data-fontsize=xs]{--font-size-base: 11px;--font-size-small: 9px;--font-size-large: 13px;--font-size-xlarge: 15px}:root[data-fontsize=sm]{--font-size-base: 14px;--font-size-small: 12px;--font-size-large: 16px;--font-size-xlarge: 18px}:root[data-fontsize=md]{--font-size-base: 16px;--font-size-small: 14px;--font-size-large: 18px;--font-size-xlarge: 20px}:root[data-fontsize=lg]{--font-size-base: 18px;--font-size-small: 16px;--font-size-large: 20px;--font-size-xlarge: 22px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans CJK JP,sans-serif;background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-fadeIn{animation:fadeIn .3s ease-out}
