:root[data-theme=light],:root{--bg: #fafafa;--bg-elevated: #ffffff;--bg-subtle: #f4f4f5;--bg-hover: #f4f4f5;--ink: #09090b;--ink-soft: #52525b;--ink-muted: #a1a1aa;--ink-subtle: #d4d4d8;--line: #ededed;--line-strong: #e4e4e7;--primary: #0d3b30;--primary-hover: #1a5544;--primary-soft: #ecf3f0;--primary-tint: #d4e4dd;--primary-ink: #fafafa;--accent: #e85d3c;--accent-hover: #d44a2a;--accent-soft: #fff1ed;--success: #047857;--success-soft: #ecfdf5;--warn: #b45309;--warn-soft: #fffbeb;--danger: #b91c1c;--danger-soft: #fef2f2;--shadow-xs: 0 1px 2px rgba(9, 9, 11, .04);--shadow-sm: 0 1px 3px rgba(9, 9, 11, .06), 0 1px 2px rgba(9, 9, 11, .04);--shadow: 0 4px 12px -2px rgba(9, 9, 11, .08), 0 2px 4px rgba(9, 9, 11, .04);--shadow-lg: 0 12px 32px -4px rgba(9, 9, 11, .12), 0 4px 12px rgba(9, 9, 11, .06);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--font-display: "Fraunces", "Times New Roman", serif;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", "SF Mono", Menlo, monospace}:root[data-theme=dark]{--bg: #0a0a0a;--bg-elevated: #141414;--bg-subtle: #1c1c1c;--bg-hover: #222222;--ink: #fafafa;--ink-soft: #a1a1aa;--ink-muted: #71717a;--ink-subtle: #3f3f46;--line: #262626;--line-strong: #363636;--primary: #4ade80;--primary-hover: #22c55e;--primary-soft: #052e1a;--primary-tint: #0a3d24;--primary-ink: #052e1a;--accent: #f97056;--accent-hover: #ef5435;--accent-soft: #2a1410;--success: #34d399;--success-soft: #052e1a;--warn: #fbbf24;--warn-soft: #2a1f00;--danger: #f87171;--danger-soft: #2a1010;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 4px 12px -2px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;transition:background .2s,color .2s}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.15}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.15rem}p{margin:0 0 .75em;line-height:1.6}p:last-child{margin-bottom:0}a{color:var(--primary);text-decoration:none;font-weight:500;transition:color .15s}a:hover{color:var(--primary-hover)}button{font-family:inherit;font-size:.875rem;cursor:pointer;border:none;outline-offset:2px;letter-spacing:-.005em}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,textarea{font-family:inherit;font-size:.9rem;color:var(--ink);background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.625rem .875rem;transition:border-color .15s,box-shadow .15s,background .15s;width:100%;letter-spacing:-.005em}input::placeholder,textarea::placeholder{color:var(--ink-muted)}input:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}textarea{resize:none;line-height:1.55}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.575rem 1rem;border-radius:var(--radius);font-weight:500;font-size:.875rem;transition:background .15s,transform .06s,box-shadow .15s,color .15s;white-space:nowrap;border:1px solid transparent}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{background:var(--ink-subtle);color:var(--ink-muted);cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--bg-hover);color:var(--ink)}.btn-outline{background:var(--bg-elevated);color:var(--ink);border:1px solid var(--line-strong)}.btn-outline:hover{border-color:var(--ink-muted);background:var(--bg-hover)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#991b1b}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.serif{font-family:var(--font-display)}.spinner{width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.spinner-light{border-color:#fff3;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.fadein{animation:fadein .25s ease-out both}@keyframes fadein{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.fadein-scale{animation:fadein-scale .2s ease-out both}@keyframes fadein-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.slide-up{animation:slide-up .3s cubic-bezier(.16,1,.3,1) both}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){body{font-size:14px}h1{font-size:1.6rem}}
