*{box-sizing:border-box}:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}#root{min-height:100vh}.app-shell{grid-template-rows:auto 1fr auto;gap:20px;width:min(1120px,100% - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid}.hero-header{color:#fff;background:radial-gradient(circle at 0 0,#ffffff42,#0000 35%),linear-gradient(135deg,#6d5dfc 0%,#9b4dff 48%,#f05aa6 100%);border-radius:28px;padding:28px;box-shadow:0 24px 60px #4b49ac38}.eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.78;margin:0 0 10px;font-size:14px}h1{margin:0;font-size:clamp(34px,6vw,60px);line-height:1}.subtitle{opacity:.9;max-width:680px;margin:16px 0 0;font-size:18px;line-height:1.7}.chat-window{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd1;border:1px solid #6b769726;border-radius:28px;min-height:420px;padding:24px;overflow-y:auto;box-shadow:0 20px 70px #1f293714}.empty-state{text-align:center;color:#68738a;place-content:center;height:100%;min-height:360px;display:grid}.empty-state h2{color:#172033;margin:0 0 10px;font-size:28px}.empty-state p{margin:0}.message{grid-template-columns:72px minmax(0,1fr);gap:14px;margin-bottom:18px;display:grid}.message__label{color:#768199;text-align:right;padding-top:12px;font-size:14px}.message__body{color:#1f2937;background:#fff;border:1px solid #edf0f6;border-radius:18px;width:fit-content;max-width:min(720px,100%);padding:14px 16px;box-shadow:0 10px 30px #1f29370f}.message__body p{white-space:pre-wrap;margin:0}.message--user .message__body{color:#fff;background:#5f55f6;border-color:#0000;margin-left:auto}.message--error .message__body{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.typing{color:#68738a}.source-image,.result-image{gap:10px;display:grid}.source-image{margin-bottom:12px}.source-image span{opacity:.82;font-size:13px}.source-image img,.result-image img,.image-preview img{object-fit:contain;border-radius:14px;max-width:100%}.source-image img{max-height:220px}.result-image img{max-height:620px}.result-image a{color:#5f55f6;font-weight:700;text-decoration:none}.composer{background:#fff;border:1px solid #6b769729;border-radius:28px;padding:18px;box-shadow:0 20px 70px #1f29371a}.composer__topbar,.image-input__controls,.prompt-row{align-items:center;gap:12px;display:flex}.composer__topbar{justify-content:space-between;margin-bottom:14px}.composer__topbar label{color:#68738a;align-items:center;gap:8px;font-size:14px;display:flex}.single-mode,.mode-switch{background:#f0f3fb;border-radius:999px;padding:4px;display:inline-flex}.single-mode{color:#5f55f6;padding:10px 14px;font-weight:800}.mode-switch button,.ghost-button,.file-button,.prompt-row button{border:0;border-radius:999px;font-weight:700}.mode-switch button{color:#657089;background:0 0;padding:9px 14px}.mode-switch button.active{color:#fff;background:#5f55f6;box-shadow:0 8px 20px #5f55f647}select,.image-input input[type=url],textarea{color:#172033;background:#f8faff;border:1px solid #dfe5f1;outline:none}select{border-radius:12px;padding:8px 10px}.notranslate{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.image-input{gap:12px;margin-bottom:14px;display:grid}.image-input__controls{flex-wrap:wrap}.image-input input[type=url]{border-radius:14px;flex:1;min-width:260px;padding:11px 12px}.file-button{color:#5f55f6;background:#edeaff;padding:10px 14px;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;position:absolute;inset:0}.ghost-button{color:#68738a;background:#eef2f7;padding:10px 14px}.image-preview{color:#68738a;background:#f8faff;border:1px dashed #cbd5e1;border-radius:18px;align-items:center;gap:12px;padding:10px;display:flex}.image-preview img{width:82px;height:82px}.prompt-row{align-items:stretch}textarea{resize:vertical;border-radius:18px;width:100%;min-height:88px;padding:14px;line-height:1.6}textarea:focus,.image-input input[type=url]:focus,select:focus{border-color:#8b7cff;box-shadow:0 0 0 4px #5f55f61f}.prompt-row button{color:#fff;background:linear-gradient(135deg,#5f55f6,#a855f7);min-width:110px;padding:0 22px;box-shadow:0 12px 26px #5f55f647}@media (width<=720px){.app-shell{gap:10px;width:100%;min-height:100dvh;padding:0}.hero-header{border-radius:0 0 22px 22px;padding:18px 16px}h1{font-size:30px}.subtitle{margin-top:10px;font-size:14px;line-height:1.55}.eyebrow{font-size:12px}.chat-window{border-radius:18px;min-height:calc(100dvh - 330px);margin:0 10px;padding:12px}.composer{padding:10px 10px calc(10px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;position:sticky;bottom:0}.message{grid-template-columns:1fr;gap:6px;margin-bottom:14px}.message__label{text-align:left;padding-top:0}.message__body{border-radius:16px;width:100%;max-width:100%;padding:12px}.message--user .message__body{margin-left:0}.composer__topbar{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.prompt-row{flex-direction:column;align-items:stretch}.composer__topbar label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;width:100%;min-width:0;font-size:13px;display:grid}.composer__topbar select{width:100%;min-width:0;padding:8px;font-size:14px}.mode-switch{border-radius:16px;flex-wrap:nowrap;grid-column:1/-1;width:100%}.mode-switch button{flex:30%;padding:10px 8px;font-size:14px}.image-input{gap:8px;margin-bottom:10px}.image-input__controls{grid-template-columns:1fr auto;gap:8px;display:grid}.image-input__controls span{display:none}.image-input input[type=url]{grid-column:1/-1;width:100%;min-width:0}.file-button,.ghost-button{justify-content:center;padding:10px 12px}.image-preview{align-items:flex-start;font-size:13px}.image-preview img{width:68px;height:68px}textarea{min-height:72px;padding:12px;font-size:16px}.prompt-row{gap:8px}.prompt-row button{min-height:46px}}@media (width<=390px){.mode-switch button{padding:9px 6px;font-size:13px}.composer__topbar{grid-template-columns:1fr}.composer__topbar label{grid-template-columns:42px minmax(0,1fr)}}
