:root{--primary: #18181b;--primary-hover: #27272a;--accent: #3b82f6;--accent-hover: #2563eb;--bg: #fafafa;--bg-card: #ffffff;--bg-result: #f4f4f5;--border: #e4e4e7;--border-focus: #a1a1aa;--text: #18181b;--text-secondary: #71717a;--text-muted: #a1a1aa;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-width:1200px;width:90vw;max-width:1600px;margin:0 auto;padding:clamp(20px,3vh,40px) clamp(20px,3vw,48px);height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header{display:flex;align-items:center;gap:16px;margin-bottom:clamp(16px,2vh,24px);flex-shrink:0}.settings-btn{width:40px;height:40px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.settings-btn:hover{border-color:var(--border-focus);background:var(--bg)}.settings-btn svg{width:18px;height:18px;fill:var(--text-secondary)}.controls{display:flex;align-items:center;gap:12px;flex:1}.select-wrapper{position:relative}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 36px 10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s ease}.select:hover{border-color:var(--border-focus)}.select:focus{outline:none;border-color:var(--primary)}.select-wrapper:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-top-color:var(--text-secondary);pointer-events:none}.model-badge{padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.btn-group{display:flex;gap:12px;margin-left:auto}.clear-btn{padding:10px 28px;background:#ef4444;color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.clear-btn:hover{background:#dc2626}.translate-btn{padding:10px 28px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.translate-btn:hover{background:var(--primary-hover)}.translate-btn:disabled{opacity:.5;cursor:not-allowed}.input-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:clamp(16px,2vh,24px);overflow:hidden;box-shadow:var(--shadow);flex:1;display:flex;flex-direction:column;min-height:0}.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.tab{flex:1;padding:14px 20px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;transition:color .15s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--bg-card)}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.input-area{padding:20px;flex:1;display:flex;flex-direction:column;min-height:0}.textarea{width:100%;flex:1;min-height:120px;border:none;resize:none;font-size:15px;line-height:1.7;font-family:inherit;color:var(--text)}.textarea:focus{outline:none}.textarea::placeholder{color:var(--text-muted)}.upload-area{flex:1;min-height:120px;border:2px dashed var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.upload-area:hover{border-color:var(--text-secondary);background:var(--bg)}.upload-area svg{width:36px;height:36px;fill:var(--text-muted);margin-bottom:12px}.upload-area span{color:var(--text-secondary);font-size:14px}.upload-preview{max-width:100%;max-height:min(280px,100%);object-fit:contain;border-radius:var(--radius)}.result-card{background:var(--bg-result);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.result-content{padding:20px;flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.result-header{display:flex;justify-content:flex-end;margin-bottom:8px}.pagination{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:4px}.page-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);border-radius:4px;padding:0}.page-btn:hover:not(:disabled){background:var(--bg);color:var(--text)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-btn svg{width:16px;height:16px;fill:currentColor}.page-indicator{font-size:12px;font-weight:500;color:var(--text-secondary);min-width:40px;text-align:center}.result-textarea{width:100%;flex:1;min-height:80px;border:none;background:transparent;resize:none;font-size:15px;line-height:1.7;font-family:inherit;color:var(--text)}.result-textarea:focus{outline:none}.result-textarea::placeholder{color:var(--text-muted)}.copy-btn{position:absolute;bottom:16px;right:16px;padding:8px 18px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.copy-btn:hover{background:var(--primary-hover)}.refine-section{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:10px;background:var(--bg-card);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.refine-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--bg);color:var(--text);transition:all .15s ease}.refine-input:hover{border-color:var(--border-focus)}.refine-input:focus{outline:none;border-color:var(--primary);background:var(--bg-card)}.refine-input:disabled{opacity:.6;cursor:not-allowed}.send-btn{width:40px;height:40px;border:none;background:var(--primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--primary-hover)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{width:18px;height:18px;fill:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:525px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:18px;font-weight:600}.close-btn{width:32px;height:32px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.close-btn:hover{background:var(--bg);color:var(--text)}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;color:var(--text);background:var(--bg-card);transition:border-color .15s ease}.form-group input:hover,.form-group textarea:hover{border-color:var(--border-focus)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group textarea{min-height:100px;resize:vertical;line-height:1.6}.form-row{display:flex;align-items:center;justify-content:space-between}.form-row label{margin-bottom:0}.form-hint{margin-top:6px;font-size:12px;color:var(--text-muted)}.usage-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.usage-row label{margin-bottom:0}.refresh-btn{width:28px;height:28px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius);transition:all .15s ease}.refresh-btn:hover{background:var(--bg);color:var(--text-secondary)}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.refresh-btn svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.usage-display{padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.usage-value{font-weight:600;color:var(--text)}.usage-total{color:var(--text-secondary);margin-left:4px}.usage-loading,.usage-empty{color:var(--text-muted)}.usage-error{color:#ef4444;font-size:13px}.app-version{margin-top:24px;padding-top:16px;border-top:1px solid var(--border);text-align:center}.app-name{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.app-desc{font-size:12px;color:var(--text-muted);line-height:1.5}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon input{padding-right:44px}.fake-input{width:100%;padding:10px 44px 10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:monospace;color:var(--text);background:var(--bg-card);cursor:text;min-height:42px;display:flex;align-items:center}.fake-input:hover{border-color:var(--border-focus)}.fake-input .placeholder{color:var(--text-muted);font-family:inherit}.input-icon-btn{position:absolute;right:8px;width:32px;height:32px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius);transition:all .15s ease}.input-icon-btn:hover{background:var(--bg);color:var(--text-secondary)}.model-select-wrapper{display:flex;gap:8px;align-items:center}.model-select{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 36px 10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2371717a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") right 10px center/20px no-repeat;font-size:14px;color:var(--text);cursor:pointer}.model-select:hover{border-color:var(--border-focus)}.model-select:focus{outline:none;border-color:var(--primary)}.model-delete-btn{width:36px;height:40px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s ease;flex-shrink:0}.model-delete-btn:hover{border-color:#ef4444;background:#fef2f2;color:#ef4444}.custom-model-input{display:flex;gap:8px;margin-top:10px}.custom-model-input input{flex:1}.add-model-btn{padding:10px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.add-model-btn:hover:not(:disabled){background:var(--bg-card);border-color:var(--border-focus);color:var(--text)}.add-model-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-switch{display:flex;align-items:center;gap:10px;padding:0;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-secondary)}.toggle-track{width:44px;height:24px;background:var(--border);border-radius:12px;position:relative;transition:background .2s ease}.toggle-thumb{position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-track{background:var(--primary)}.toggle-switch.active .toggle-thumb{transform:translate(20px)}.toggle-label{font-weight:500;min-width:32px}.toggle-switch.active{color:var(--text)}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.btn-ghost{padding:10px 18px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-ghost:hover{background:var(--bg);border-color:var(--border-focus);color:var(--text)}.btn-primary{padding:10px 18px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary:hover{background:var(--primary-hover)}@media (max-width: 1199px){.app{min-width:100%;width:100%;padding:20px 16px}}@media (max-width: 600px){.app{min-width:100%;width:100%;padding:16px 12px;height:auto;min-height:100vh;overflow:visible}.header{flex-wrap:wrap}.controls{width:100%;order:2}.settings-btn{order:1}.translate-btn{flex:1}.input-card,.result-card{flex:none}.input-area{flex:none;min-height:200px}.textarea,.upload-area{min-height:160px}.result-card{min-height:180px}.result-textarea{min-height:120px}.modal{max-width:none;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;position:fixed;bottom:0}.modal-overlay{align-items:flex-end;padding:0}}
