*{font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',-apple-system,sans-serif;margin:0;padding:0;box-sizing:border-box}
html,body{background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);min-height:100%;color:#fff}
.glass{background:rgba(255,255,255,.07);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px}
.tool-card{transition:all .3s;cursor:pointer;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:24px}
.tool-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -10px rgba(102,126,234,.3);border-color:rgba(102,126,234,.3)}
.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.btn{transition:all .2s;border:none;cursor:pointer;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:14px;padding:12px 20px}
.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 25px rgba(102,126,234,.4)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff}
.btn-secondary:hover{background:rgba(255,255,255,.15)}
.btn-accent{background:linear-gradient(135deg,#10b981,#059669);color:#fff}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 8px 25px rgba(16,185,129,.4)}
.btn-accent:disabled{opacity:.5;cursor:not-allowed}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:10px 16px;font-size:13px}
.prompt-box{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:12px;font-family:'SF Mono',Consolas,monospace;padding:18px;color:#d1d5db;font-size:13px;line-height:1.7;width:100%;max-height:400px;min-height:200px;resize:vertical;outline:none}
.prompt-box:focus{border-color:#667eea;background:rgba(0,0,0,.4)}
.response-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:28px;color:#e5e7eb;font-size:15px;line-height:1.8;min-height:100px}
.response-box h1,.response-box h2,.response-box h3,.response-box h4{color:#fff;margin:18px 0 10px}
.response-box h1{font-size:1.5em;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}
.response-box h2{font-size:1.3em;color:#c4b5fd}
.response-box h3{font-size:1.15em;color:#a5b4fc}
.response-box p{margin:10px 0}.response-box ul,.response-box ol{margin:10px 0;padding-left:24px}.response-box li{margin:5px 0}
.response-box strong{color:#f093fb}.response-box em{color:#7dd3fc}
.response-box code{background:rgba(102,126,234,.2);padding:2px 7px;border-radius:5px;font-size:.88em;font-family:'SF Mono',Consolas,monospace}
.response-box pre{background:rgba(0,0,0,.35);padding:16px;border-radius:8px;overflow-x:auto;margin:12px 0}.response-box pre code{background:none;padding:0}
.response-box blockquote{border-left:3px solid #764ba2;padding-left:14px;margin:12px 0;color:#c4b5fd;font-style:italic}
.response-box table{border-collapse:collapse;margin:14px 0;width:100%;font-size:14px}
.response-box th,.response-box td{border:1px solid rgba(255,255,255,.15);padding:8px 12px;text-align:left}
.response-box th{background:rgba(102,126,234,.2);font-weight:600}
.input-field{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;transition:all .2s;border-radius:10px;padding:11px 14px;font-size:14px;width:100%;font-family:inherit}
.input-field:focus{outline:none;border-color:#667eea;background:rgba(255,255,255,.08)}
.input-field::placeholder{color:rgba(255,255,255,.25)}
select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' fill='%239ca3af' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
select.input-field option{background:#312e63;color:#f8fafc}
select.input-field option:checked,select.input-field option:hover{background:#4f46e5;color:#fff}
.fade-in{animation:fi .4s ease-out}@keyframes fi{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;animation:pulse 1.5s infinite;vertical-align:middle}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.cate-badge{font-size:11px;padding:4px 10px;border-radius:6px;color:#fff;font-weight:600;white-space:nowrap}
.conn-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 16px;font-size:13px;margin-bottom:20px}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{background:linear-gradient(145deg,#1e1b4b,#312e81);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:28px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px rgba(0,0,0,.5)}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(120px);color:#fff;padding:12px 24px;border-radius:12px;font-weight:500;transition:transform .3s;z-index:9999;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.4);white-space:nowrap}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.success{background:linear-gradient(135deg,#10b981,#059669)}
.toast.error{background:linear-gradient(135deg,#ef4444,#dc2626)}
.toast.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.settings-fab{position:fixed;top:20px;right:20px;z-index:50;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;color:#c4b5fd}
.settings-fab:hover{background:rgba(102,126,234,.3);transform:rotate(60deg)}
.provider-card{border:2px solid rgba(255,255,255,.08);border-radius:10px;padding:10px;cursor:pointer;transition:all .15s;background:rgba(255,255,255,.03);font-size:13px;color:#d1d5db;text-align:center}
.provider-card:hover{border-color:rgba(102,126,234,.4);background:rgba(102,126,234,.08)}
.provider-card.active{border-color:#667eea;background:rgba(102,126,234,.15);color:#fff}
.tool-api-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:6px;background:rgba(16,185,129,.2);color:#6ee7b7;margin-left:8px}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
label{display:block;font-size:13px;font-weight:500;color:#c4b5db;margin-bottom:6px}
.grid-tools{display:grid;grid-template-columns:1fr;gap:20px;max-width:1280px;margin:0 auto}
@media(min-width:768px){.grid-tools{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-tools{grid-template-columns:repeat(3,1fr)}}
.card-arrow{transition:transform .2s;display:inline-block}
.tool-card:hover .card-arrow{transform:translateX(4px)}
.hidden{display:none!important}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}

.prompt-box{background:rgba(255,255,255,.06)!important;border:2px dashed rgba(102,126,234,.3)!important;color:#e5e7eb!important}
.prompt-box:hover{border-color:rgba(102,126,234,.5)!important}
.prompt-box:focus{border-color:#667eea!important;background:rgba(0,0,0,.4)!important;box-shadow:0 0 20px rgba(102,126,234,.15)!important}
.prompt-hint{font-size:12px;color:#8b9dc3;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.img-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}
@media(max-width:640px){.img-grid{grid-template-columns:1fr}}
.img-card{border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);transition:transform .2s}
.img-card:hover{transform:scale(1.02);border-color:rgba(102,126,234,.3)}
.img-card img{width:100%;display:block;cursor:pointer}
.img-actions{display:flex;gap:8px;padding:10px}
.img-actions .btn{padding:6px 12px;font-size:12px;flex:1}
.img-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;gap:16px}
.gen-spinner{width:40px;height:40px;border:3px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}
.tool-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.tool-header-left{display:flex;gap:16px;align-items:flex-start;flex:1;min-width:200px}
.tool-header-btn{flex-shrink:0;white-space:nowrap}
/* Enhanced editable prompt box */
.prompt-box{background:rgba(255,255,255,.06)!important;border:2px dashed rgba(102,126,234,.4)!important;color:#e5e7eb!important;cursor:text!important;transition:all .2s}
.prompt-box:hover{border-color:rgba(102,126,234,.6)!important;background:rgba(255,255,255,.08)!important}
.prompt-box:focus{border-color:#667eea!important;background:rgba(0,0,0,.4)!important;box-shadow:0 0 24px rgba(102,126,234,.2)!important;outline:none}
.prompt-hint{font-size:12px;color:#a5b4fc;margin-bottom:10px;display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(102,126,234,.08);border-radius:8px;border-left:3px solid #667eea}
.img-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}
@media(max-width:640px){.img-grid{grid-template-columns:1fr}}
.img-card{border-radius:12px;overflow:hidden;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);transition:transform .2s}
.img-card:hover{transform:scale(1.02);border-color:rgba(102,126,234,.3)}
.img-card img{width:100%;display:block;cursor:pointer}
.img-actions{display:flex;gap:8px;padding:10px}
.img-actions .btn{padding:6px 12px;font-size:12px;flex:1}
.tool-api-btn{border:2px solid rgba(102,126,234,.5)!important;background:rgba(102,126,234,.15)!important}
.tool-api-btn:hover{background:rgba(102,126,234,.25)!important;border-color:rgba(102,126,234,.7)!important}
/* Ensure textarea editability */
.prompt-box{pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important;cursor:text!important;background:rgba(255,255,255,.06)!important;border:2px dashed rgba(102,126,234,.4)!important;color:#e5e7eb!important;resize:vertical!important;outline:none}
.prompt-box:focus{border-color:#667eea!important;background:rgba(0,0,0,.4)!important;box-shadow:0 0 24px rgba(102,126,234,.2)!important}
textarea{cursor:text!important}

/* Ensure textarea editability */
.prompt-box{pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important;cursor:text!important;background:rgba(255,255,255,.06)!important;border:2px dashed rgba(102,126,234,.4)!important;color:#e5e7eb!important;resize:vertical!important;outline:none}
.prompt-box:focus{border-color:#667eea!important;background:rgba(0,0,0,.4)!important;box-shadow:0 0 24px rgba(102,126,234,.2)!important}
textarea{cursor:text!important}
