@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/fraunces-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fonts/fraunces-latin-wght-italic.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/geist-mono-latin-wght-normal.woff2) format("woff2")}:root{--bg: #FAF9F5;--bg-elev: #F4F2EA;--surface: #FFFFFF;--surface-warm: #F0EEE5;--border: rgba(31,30,29,.08);--border-strong: rgba(31,30,29,.16);--text: #1F1E1D;--text-muted: #6B6862;--text-faint: #9C9890;--accent: #D97757;--accent-deep: #C15F3C;--accent-soft: #F4D9CB;--ok: #5B7F5A;--ok-soft: #DCE6D8;--warn: #C99846;--warn-soft: #F2E5CB;--bad: #B05A50;--bad-soft: #EDD3CE;--shadow-sm: 0 1px 2px rgba(31,30,29,.04), 0 1px 1px rgba(31,30,29,.03);--shadow-md: 0 4px 12px rgba(31,30,29,.05), 0 2px 4px rgba(31,30,29,.04);--shadow-lg: 0 12px 32px rgba(31,30,29,.08), 0 4px 8px rgba(31,30,29,.04);--radius-chip: 8px;--radius-card: 14px;--radius-hero: 20px;--radius-pill: 999px;--ease: cubic-bezier(.2,.7,.2,1);--font-display: "Fraunces", Georgia, "Noto Serif", serif;--font-body: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, "Roboto Mono", monospace}@media (prefers-color-scheme: dark){:root{--bg: #1F1E1D;--bg-elev: #262522;--surface: #2B2A28;--surface-warm: #34322F;--border: rgba(245,244,237,.08);--border-strong: rgba(245,244,237,.16);--text: #F5F4ED;--text-muted: #A39E94;--text-faint: #74706A;--accent: #E08866;--accent-deep: #D97757;--accent-soft: #3B2A23;--ok: #88B187;--ok-soft: #2A3A2A;--warn: #D8B26B;--warn-soft: #3D3325;--bad: #CE847A;--bad-soft: #3D2826}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.text-accent{color:var(--accent)}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:16px;border:1px solid var(--border)}.card-warm{background:var(--surface-warm)}.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-family:var(--font-mono);background:var(--surface-warm);color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-chip);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .18s var(--ease),transform .12s var(--ease);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep)}.btn-secondary{background:var(--surface-warm);color:var(--text);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--text-muted)}.status-optimal,.status-good{color:var(--ok)}.status-attention{color:var(--warn)}.status-red{color:var(--bad)}.status-bg-optimal,.status-bg-good{background:var(--ok-soft)}.status-bg-attention{background:var(--warn-soft)}.status-bg-red{background:var(--bad-soft)}.screen{padding:0 16px 100px;max-width:480px;margin:0 auto}.stack{display:flex;flex-direction:column}.stack-4{gap:4px}.stack-8{gap:8px}.stack-12{gap:12px}.stack-16{gap:16px}.stack-24{gap:24px}.row{display:flex;align-items:center}.row-between{justify-content:space-between}.row-gap-8{gap:8px}.row-gap-12{gap:12px}.row-gap-16{gap:16px}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up .35s var(--ease) both}.fade-up-1{animation-delay:0ms}.fade-up-2{animation-delay:60ms}.fade-up-3{animation-delay:.12s}.fade-up-4{animation-delay:.18s}.fade-up-5{animation-delay:.24s}.fade-up-6{animation-delay:.3s}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100;opacity:0;animation:fade-in .2s var(--ease) forwards}@keyframes fade-in{to{opacity:1}}.sheet{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-radius:var(--radius-hero) var(--radius-hero) 0 0;padding:24px 16px;z-index:101;max-height:85vh;overflow-y:auto;transform:translateY(100%);animation:slide-up .3s var(--ease) forwards}@keyframes slide-up{to{transform:translateY(0)}}.sheet-handle{width:32px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 16px}.skeleton{background:linear-gradient(90deg,var(--surface-warm) 25%,var(--bg-elev) 50%,var(--surface-warm) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-chip)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lens-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:.625rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase}.lens-l{background:var(--ok-soft);color:var(--ok)}.lens-f{background:var(--accent-soft);color:var(--accent)}.lens-b{background:var(--warn-soft);color:var(--warn)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .9s linear infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.banner{padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:.8125rem;line-height:1.45}.banner-warn{background-color:var(--warn-soft);color:var(--text);border:1px solid var(--warn)}.banner-info{background-color:var(--surface-warm);color:var(--text-muted)}.banner-bad{background-color:var(--bad-soft);color:var(--text);border:1px solid var(--bad)}.section-title{font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:8px}.link-btn{background:none;border:none;cursor:pointer;font-size:.8125rem;color:var(--accent);font-family:var(--font-body);padding:6px 0}.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background-color:var(--surface);color:var(--text-muted);font-size:.8125rem;cursor:pointer;white-space:nowrap;font-family:var(--font-body)}.chip[aria-pressed=true]{border-color:var(--accent);background-color:var(--accent-soft);color:var(--text)}.field{padding:8px 12px;border-radius:8px;border:1px solid var(--border-strong);background-color:var(--surface);color:var(--text);font-size:.9375rem;font-family:var(--font-body);width:100%}button:disabled{opacity:.5;cursor:default}
