:root{--paper: #f6f6f4;--surface: #ffffff;--ink: #141414;--ink-2: #8e8e8e;--ink-3: #b7b7b7;--hair: #ececec;--hair-2: #e2e2e2;--black-btn: #121212;--on-black: #ffffff;--ai-1: #4d8df6;--ai-2: #2fd3a5;--danger: #e0533d;--success: #1f7a52;--warn-ink: #b9791b;--warn-bg: rgba(246, 169, 59, .16);--shadow: rgba(0, 0, 0, .18);--nav-bg: rgba(246, 246, 244, .9);--gradient: linear-gradient(100deg, var(--ai-1), var(--ai-2));--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:light}[data-theme=dark]{--paper: #0f0f11;--surface: #1a1a1e;--ink: #f3f3f4;--ink-2: #9a9aa1;--ink-3: #65656c;--hair: #1a1a1e;--hair-2: #2e2e34;--black-btn: #2d2d33;--on-black: #f3f3f4;--ai-1: #5b97f7;--ai-2: #36dcae;--danger: #ff6f57;--success: #3fd89f;--warn-ink: #f0b765;--warn-bg: rgba(246, 169, 59, .22);--shadow: rgba(0, 0, 0, .5);--nav-bg: rgba(16, 16, 19, .82);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}.app-shell{height:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:16px}a{color:inherit;text-decoration:none}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.grad-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.spark{width:16px;height:16px;display:inline-block;flex:none;background:var(--gradient);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;padding:14px 22px;font-size:15px;font-weight:600;min-height:50px;width:100%;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4}.btn-black{background:var(--black-btn);color:var(--on-black)}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--hair-2)}.btn-gen{background:var(--black-btn);border-radius:16px;font-weight:680;font-size:16px}.btn-gen .lbl{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.card{background:var(--surface);border:1px solid var(--hair);border-radius:14px}.hair{height:1px;background:var(--hair)}.field{width:100%;background:var(--surface);border:1px solid var(--hair-2);border-radius:14px;padding:14px 16px;color:var(--ink);outline:none}.field:focus{border-color:var(--ai-1)}.label{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px;display:block}.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.03em;padding:3px 8px;border-radius:6px;background:var(--paper);border:1px solid var(--hair-2);color:var(--ink-2);white-space:nowrap}.chip.lang{background:linear-gradient(100deg,#4d8df61f,#2fd3a51f);border-color:#4d8df640;color:#2b6db0}[data-theme=dark] .chip.lang{background:linear-gradient(100deg,#5b97f733,#36dcae33);border-color:#5b97f766;color:#8fc0ff}.toggle{width:46px;height:28px;border-radius:100px;background:var(--hair-2);position:relative;flex:none;transition:background .2s;border:none}.toggle.on{background:var(--ai-2)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}.toggle.on:after{transform:translate(18px)}@keyframes ask-glow{to{background-position:300% 0}}.spinner{width:22px;height:22px;border:2px solid rgba(0,0,0,.12);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}@keyframes indeterminate{0%{margin-left:-40%}to{margin-left:100%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ap-bar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.ap-pop{animation:ap-pop .16s ease}@keyframes ap-pop{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.28)}to{transform:translate(-50%,-50%) scale(1)}}
