@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap";:root{--color-primary:#f5b301;--color-primary-hover:#ffc71f;--color-primary-soft:#f5b30124;--color-on-primary:#12172a;--color-background:#0b1120;--color-surface:#131b2e;--color-surface-muted:#1b2438;--color-border:#26314a;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-text-subtle:#64748b;--color-success:#22c55e;--color-success-soft:#22c55e24;--color-warning:#f59e0b;--color-warning-soft:#f59e0b24;--color-danger:#ef4444;--color-danger-soft:#ef444424;--color-confidence-bar:var(--color-primary);--color-confidence-track:var(--color-surface-muted);--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-card:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-elevated:0 10px 30px #00000073;--transition-fast:.15s ease;--transition-base:.22s ease;--max-width-content:640px;--max-width-shell:1180px;--header-height:72px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}:root[data-theme=light]{--color-primary:#b45309;--color-primary-hover:#92400e;--color-primary-soft:#fef3c7;--color-on-primary:#fff;--color-background:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-muted:#64748b;--color-text-subtle:#94a3b8;--color-success:#16a34a;--color-success-soft:#f0fdf4;--color-warning:#d97706;--color-warning-soft:#fffbeb;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--shadow-card:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-elevated:0 10px 30px #0f172a14}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;min-height:100dvh;transition:background-color var(--transition-base), color var(--transition-base);line-height:1.5}button,input{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{background:var(--color-background);flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);width:100%;padding-top:var(--safe-top);position:sticky;top:0}.app-header-inner{max-width:var(--max-width-shell);min-height:var(--header-height);align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);grid-template-columns:1fr auto 1fr;margin:0 auto;display:grid}.app-brand{align-items:center;gap:var(--space-2);flex-shrink:0;justify-self:start;display:flex}.app-logo-icon{width:auto;height:34px;display:block}.app-brand-text{flex-direction:column;line-height:1.15;display:flex}.app-brand-name{font-weight:700;font-size:var(--font-size-base);color:var(--color-text);letter-spacing:.01em}.app-brand-tagline{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.app-title-group{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;justify-self:center;min-width:0;display:flex}.app-title{font-size:var(--font-size-lg);letter-spacing:-.01em;color:var(--color-text);margin:0;font-weight:700}.app-subtitle{color:var(--color-text-muted);font-size:var(--font-size-xs);max-width:40ch;margin:0}.app-header-actions{align-items:center;gap:var(--space-3);flex-shrink:0;justify-self:end;display:flex}.header-clock{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.theme-toggle{border:1px solid var(--color-primary);width:44px;height:44px;color:var(--color-primary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--color-primary-soft)}.app-main{width:100%;max-width:var(--max-width-content);gap:var(--space-6);padding:var(--space-6) var(--space-4) var(--space-8);flex-direction:column;flex:1;margin:0 auto;display:flex}.app-footer{text-align:center;padding:var(--space-4) var(--space-4) calc(var(--space-4) + var(--safe-bottom));color:var(--color-text-subtle);font-size:var(--font-size-xs);border-top:1px solid var(--color-border)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);border:1px solid #0000;font-weight:600;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--color-primary);color:var(--color-on-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.button-ghost{border-color:var(--color-border);color:var(--color-text);background:0 0}.button-ghost:hover{background:var(--color-surface-muted)}.icon-button{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.text-input{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.text-input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.text-input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;caret-color:var(--color-text);transition:background-color 9999s ease-in-out}.text-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;caret-color:var(--color-text);transition:background-color 9999s ease-in-out}.text-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset;caret-color:var(--color-text);transition:background-color 9999s ease-in-out}.field-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:600;display:block}.field-error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--font-size-sm)}.search-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.search-input-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.search-input-row .text-input{flex:220px}.search-button{white-space:nowrap;flex-shrink:0}.search-form-footer{margin-top:var(--space-2);justify-content:flex-end;display:flex}.char-counter{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.char-counter-warning{color:var(--color-warning);font-weight:600}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-elevated);gap:var(--space-4);animation:fade-in var(--transition-base);flex-direction:column;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.result-primary{text-align:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.result-eyebrow{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);font-weight:600;display:inline-flex}.ncm-code-button{align-items:center;gap:var(--space-2);background:var(--color-primary-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);cursor:pointer;transition:filter var(--transition-fast);border:none;display:inline-flex}.ncm-code-button:hover{filter:brightness(.97)}.ncm-code{font-family:var(--font-mono);font-size:var(--font-size-2xl);color:var(--color-primary);letter-spacing:.01em;font-weight:600}.ncm-copy-icon{color:var(--color-primary);opacity:.7}.ncm-copy-success{color:var(--color-success);opacity:1}.ncm-description{color:var(--color-text-muted);max-width:46ch;margin:0}.result-meta{justify-content:center;align-items:center;gap:var(--space-1);color:var(--color-text-subtle);font-size:var(--font-size-xs);display:flex}.alternatives{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.alternatives-title{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3);font-weight:600}.alternatives-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.alternative-row{align-items:center;gap:var(--space-3);grid-template-columns:5.5rem 1fr 2.5rem;display:grid}.alternative-code{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.confidence-track{background:var(--color-confidence-track);border-radius:999px;height:8px;overflow:hidden}.confidence-bar{background:var(--color-confidence-bar);height:100%;transition:width var(--transition-base);border-radius:999px}.alternative-percent{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums}.banner{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;display:flex}.banner-warning{background:var(--color-warning-soft);border-color:color-mix(in srgb, var(--color-warning) 30%, transparent);color:var(--color-warning)}.banner-danger{background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent);color:var(--color-danger)}.banner-content{gap:var(--space-1);flex-direction:column;display:flex}.banner-message{font-size:var(--font-size-sm);color:var(--color-text);margin:0;font-weight:500}.banner-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.banner-action{margin-top:var(--space-1);font-size:var(--font-size-sm);color:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-weight:600;text-decoration:underline}.modal-backdrop{padding:var(--space-4);z-index:50;background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:var(--space-6);box-shadow:var(--shadow-elevated);margin-bottom:var(--safe-bottom)}.modal-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.modal-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);margin:0;display:flex}.modal-description{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-4)}.modal-description code{background:var(--color-surface-muted);font-family:var(--font-mono);border-radius:4px;padding:.1em .4em;font-size:.9em}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}@media (width<=900px){.app-header-inner{flex-wrap:wrap;justify-content:center;display:flex}.app-brand{order:1}.app-header-actions{order:2}.app-title-group{flex-basis:100%;order:3}}@media (width<=420px){.header-clock{display:none}}@media (width>=768px){.app-main{padding-top:var(--space-12)}.modal-backdrop{align-items:center}.modal{margin-bottom:0}}@media (width>=1024px){.app-title{font-size:var(--font-size-xl)}}
