:root{--text:#5f6368;--text-h:#202124;--bg:#fff;--border:#dadce0;--code-bg:#f8f9fa;--accent:#000;--accent-bg:#0000000f;--accent-border:#0003;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}#root{background:var(--bg);min-height:100vh}body{color:var(--text);background:var(--bg);margin:0}.app{max-width:680px;min-height:100vh;margin:0 auto;padding:40px 24px}.header{text-align:center;margin-bottom:40px}.header h1{color:var(--text-h);letter-spacing:-.02em;margin:0 0 12px;font-size:2rem;font-weight:600}.subtitle{color:var(--text);margin:0;font-size:1rem}.search-section{margin-bottom:32px}.search-box{gap:12px;margin-bottom:24px;display:flex}.search-input-wrap{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:1;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.search-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-input{min-width:0;color:var(--text-h);background:0 0;border:none;outline:none;flex:1;padding:14px 4px 14px 18px;font-size:16px}.search-input::placeholder{color:var(--text);opacity:.7}.search-input:disabled{opacity:.7;cursor:not-allowed}.search-input-actions{align-items:center;gap:2px;padding-right:8px;display:flex}.icon-btn{width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s;display:flex;position:relative}.icon-btn:hover:not(:disabled){color:var(--text-h);background:var(--accent-bg)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-dot{background:#dc2626;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite pulse;position:absolute;top:6px;right:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hidden-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.search-btn{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:10px;padding:14px 28px;font-size:16px;font-weight:500;transition:opacity .2s,transform .1s}.search-btn:hover:not(:disabled){opacity:.9}.search-btn:active:not(:disabled){transform:scale(.98)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.popular-terms{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.popular-label{color:var(--text);white-space:nowrap;font-size:14px}.term-tags{flex-wrap:wrap;gap:8px;display:flex}.term-tag{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:14px;transition:all .2s}.term-tag:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.term-tag:disabled{opacity:.6;cursor:not-allowed}.result{border-radius:12px;padding:24px;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.result.error{background:#ef44441a;border:1px solid #ef44444d}.result.error p{color:#dc2626;margin:0}.result.loading{background:var(--code-bg);border:1px solid var(--border);flex-direction:column;align-items:center;gap:16px;display:flex}.result.loading p{color:var(--text);margin:0}.loader{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result.success{background:var(--code-bg);border:1px solid var(--border)}.result-title{color:var(--text-h);margin:0 0 16px;font-size:1.1rem;font-weight:600}.result-content{color:var(--text-h);white-space:pre-wrap;word-break:break-word;line-height:1.7}.streaming-cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (width<=600px){.app{padding:24px 16px}.search-box{flex-direction:column}.search-input-wrap,.search-btn{width:100%}.popular-terms{flex-direction:column;align-items:flex-start}}
