:root{color-scheme:dark;--duration-stagger: 56ms;--duration-micro: .1s;--duration-quick: .2s;--duration-fast: .32s;--duration-medium: .44s;--duration-slow: .5s;--ease-smooth-out: cubic-bezier(.22, 1, .36, 1);--ease-out: ease-out;--ease-linear: linear;--distance-micro: 4px;--distance-base: 8px;--scale-large: .96;--scale-medium: .97;--blur-small: 2px;--color-void: #08090a;--color-carbon: #0f1011;--color-obsidian: #161718;--color-graphite: #23252a;--color-smoke: #383b3f;--color-ash: #62666d;--color-fog: #8a8f98;--color-mist: #d0d6e0;--color-paper: #ffffff;--color-lime: #e4f222;--color-coral: #eb5757;--focus-ring: var(--color-lime);--input-bg: rgba(255, 255, 255, .02);--input-border: rgba(255, 255, 255, .08);--input-border-hover: rgba(255, 255, 255, .16);--chip-bg: rgba(255, 255, 255, .05);--segment-active-bg: rgba(255, 255, 255, .06);--ghost-hover-bg: rgba(255, 255, 255, .03);--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius-card: 12px;--radius-control: 6px;--radius-badge: 4px;--hairline: 1px solid var(--color-graphite);--inset-hairline: inset 0 0 0 1px var(--color-graphite)}[data-theme=light]{color-scheme:light;--color-void: #fafafa;--color-carbon: #ffffff;--color-obsidian: #f4f4f5;--color-graphite: #e3e4e6;--color-smoke: #c9cbd0;--color-ash: #6b7078;--color-fog: #5f6368;--color-mist: #383b3f;--color-paper: #0d0e10;--focus-ring: #0d0e10;--input-bg: rgba(13, 14, 16, .03);--input-border: rgba(13, 14, 16, .14);--input-border-hover: rgba(13, 14, 16, .28);--chip-bg: rgba(13, 14, 16, .05);--segment-active-bg: rgba(13, 14, 16, .06);--ghost-hover-bg: rgba(13, 14, 16, .04)}*{box-sizing:border-box}body,.panel,.result,.confirm-box,.error-box,.model-status,.segment,.progress-track,select,textarea,.text-input{transition-property:background-color,border-color,color;transition-duration:var(--duration-quick);transition-timing-function:var(--ease-out)}html,body{margin:0;padding:0}body{background:var(--color-void);color:var(--color-mist);font-family:var(--font-ui);font-size:16px;line-height:1.5;font-feature-settings:"cv01" on,"ss03" on,"zero" on;-webkit-font-smoothing:antialiased}::selection{background:#e4f22240;color:var(--color-paper)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.app{max-width:760px;margin:0 auto;padding:0 20px 64px}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--rise, var(--distance-base)));filter:blur(var(--blur-small))}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:scale(var(--scale-medium))}to{opacity:1;transform:scale(1)}}.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.brand{display:flex;align-items:center;gap:8px;color:var(--color-paper);font-size:16px;font-weight:510;letter-spacing:-.011em}.brand svg{display:block}.model-status{font-family:var(--font-mono);font-size:12px;color:var(--color-fog);background:var(--chip-bg);border-radius:var(--radius-badge);padding:4px 8px;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{display:grid;place-items:center;width:36px;height:36px;background:transparent;border:1px solid var(--color-graphite);border-radius:var(--radius-control);color:var(--color-fog);padding:0}.theme-toggle:hover{border-color:var(--color-smoke);color:var(--color-mist)}.nav-right{display:flex;align-items:center;gap:8px}[data-theme=light] .brand svg path{fill:var(--color-paper)}[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%235f6368' stroke-width='1.5'/%3E%3C/svg%3E")}.cover{background:var(--color-carbon);border-radius:var(--radius-card);box-shadow:var(--inset-hairline);overflow:hidden;aspect-ratio:19 / 6;min-height:140px;margin-bottom:32px}.cover svg{display:block;width:100%;height:100%}.cover-rays{opacity:0}[data-theme=light] .cover-rays{opacity:1}.cover-sprout{transform-box:fill-box;transform-origin:50% 100%;animation:sway 5s ease-in-out infinite alternate}@keyframes sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.hero{margin:72px 0 40px;animation:rise-in var(--duration-slow) var(--ease-smooth-out) both}.hero h1{color:var(--color-paper);font-size:clamp(40px,8vw,64px);font-weight:510;line-height:1;letter-spacing:-.022em;margin:0 0 16px}.hero p{color:var(--color-fog);font-size:16px;line-height:1.5;max-width:56ch;margin:0}.panel{background:var(--color-carbon);border-radius:var(--radius-card);box-shadow:var(--inset-hairline);padding:24px;animation:rise-in var(--duration-slow) var(--ease-smooth-out) var(--duration-micro) both}.field{display:block;margin-bottom:16px}.field-label{display:block;font-size:13px;color:var(--color-mist);margin-bottom:6px}.field-hint{font-size:12px;color:var(--color-fog);margin:6px 0 0}select,textarea,.text-input{width:100%;background:var(--input-bg);border:1px solid var(--input-border);color:var(--color-mist);border-radius:var(--radius-control);padding:10px 12px;font-family:var(--font-ui);font-size:14px;min-height:44px}.text-input{font-family:var(--font-mono);font-size:13px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%238a8f98' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}option{background-color:var(--color-obsidian);color:var(--color-mist)}textarea{resize:vertical;min-height:64px}select:hover,textarea:hover,.text-input:hover{border-color:var(--input-border-hover)}select:focus-visible,textarea:focus-visible,.text-input:focus-visible{outline:none;border-color:var(--color-mist)}.engine-picker{border:none;padding:0;margin:0 0 16px}.segmented{display:inline-flex;border:var(--hairline);border-radius:var(--radius-control);padding:3px;gap:3px;max-width:100%}.segment{position:relative;border-radius:4px;padding:8px 12px;font-size:13px;color:var(--color-fog);cursor:pointer;min-height:36px;display:inline-flex;align-items:center;transition:background-color var(--duration-quick) var(--ease-out),color var(--duration-quick) var(--ease-out)}.segment:hover{color:var(--color-mist)}.segment:has(input:checked){background:var(--segment-active-bg);color:var(--color-paper)}.segment input{position:absolute;opacity:0;width:1px;height:1px}.segment:has(input:focus-visible){outline:2px solid var(--color-lime);outline-offset:2px}.ollama-row{border-top:var(--hairline);padding-top:16px;margin-bottom:16px;--rise: var(--distance-micro);animation:rise-in var(--duration-fast) var(--ease-smooth-out) both}.ollama-status{font-family:var(--font-mono);font-size:12px;color:var(--color-fog);margin:0 0 8px;min-height:1.4em}.confirm-box{background:var(--color-obsidian);box-shadow:var(--inset-hairline);border-radius:var(--radius-control);padding:14px;margin-top:16px;font-size:13px;transform-origin:top center;animation:panel-in var(--duration-fast) var(--ease-smooth-out)}.confirm-box strong{color:var(--color-paper);display:block;margin-bottom:4px}.confirm-box p{color:var(--color-mist);margin:0 0 12px;line-height:1.5}.confirm-actions{display:flex;gap:8px;flex-wrap:wrap}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}button{font-family:var(--font-ui);cursor:pointer;transition:background-color var(--duration-quick) var(--ease-out),border-color var(--duration-quick) var(--ease-out),color var(--duration-quick) var(--ease-out),scale var(--duration-micro) var(--ease-out)}.btn-primary{background:var(--color-lime);color:#08090a;border:none;border-radius:var(--radius-control);padding:10px 16px;font-size:14px;font-weight:510;letter-spacing:-.011em;min-height:44px}.btn-primary:hover:not(:disabled){background:#edf55c}.btn-primary:active:not(:disabled){scale:var(--scale-large)}.btn-ghost{background:transparent;border:1px solid var(--color-graphite);color:var(--color-mist);border-radius:var(--radius-control);padding:8px 12px;font-size:13px;min-height:44px}.btn-ghost:hover{border-color:var(--color-smoke);background:var(--ghost-hover-bg)}.btn-ghost:active{scale:var(--scale-large)}button:disabled{cursor:default;opacity:.55}.progress{margin-top:16px}.progress-track{height:4px;background:var(--color-graphite);border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:var(--color-lime);transition:width .3s var(--ease-linear)}.progress-text{font-family:var(--font-mono);font-size:12px;color:var(--color-fog);margin-top:8px;min-height:1.4em}.error-box{background:#eb575714;border-radius:var(--radius-control);padding:12px 14px;margin-top:16px;font-size:13px;color:var(--color-mist);animation:fade-in var(--duration-quick) var(--ease-out)}.error-box strong{color:var(--color-paper);display:block;margin-bottom:4px}.result{background:var(--color-carbon);border-radius:var(--radius-card);box-shadow:var(--inset-hairline);padding:24px;margin-top:24px;animation:rise-in var(--duration-slow) var(--ease-smooth-out) both}.result-meta{font-family:var(--font-mono);font-size:12px;color:var(--color-fog);margin:0 0 16px}.result-body h3{color:var(--color-paper);font-size:17px;font-weight:590;letter-spacing:-.012em;margin:20px 0 8px}.result-body h3:first-child{margin-top:0}.result-body ul{margin:0 0 12px;padding-left:20px;display:grid;gap:6px}.result-body li{color:var(--color-mist);font-size:15px;line-height:1.6;animation:rise-in var(--duration-fast) var(--ease-smooth-out) both}.result-body p{color:var(--color-mist);font-size:15px;line-height:1.6;margin:0 0 12px}.result-body strong{color:var(--color-paper)}.result-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:var(--hairline);margin-top:16px;padding-top:16px}.local-note{font-size:12px;color:var(--color-fog)}.footer{margin-top:96px;color:var(--color-fog);font-size:13px;line-height:1.6}.footer a{color:var(--color-fog);text-decoration:underline;text-underline-offset:3px}.footer a:hover{color:var(--color-mist)}@media(max-width:560px){.hero{margin-top:48px}.panel,.result{padding:16px}.actions{flex-direction:column;align-items:stretch}.actions .btn-primary,.actions .btn-ghost{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
