:root{--color-rose-050:#fff5f7;--color-rose-100:#ffe4ec;--color-rose-400:#ef7c99;--color-rose-500:#e8537a;--color-rose-600:#c73862;--color-neutral-0:#fff;--color-neutral-100:#ede7ea;--color-neutral-300:#b5b5bf;--color-neutral-600:#5a5a63;--color-neutral-800:#2c2c33;--color-neutral-900:#1a1a1e;--color-green-600:#2e9e6b;--color-amber-600:#e0a32e;--color-red-600:#d64545;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:999px;--elev-1:0 1px 2px rgba(26,26,30,.08);--elev-2:0 3px 8px rgba(26,26,30,.1);--elev-4:0 8px 24px rgba(26,26,30,.16);--action-primary:var(--color-rose-500);--action-primary-hover:var(--color-rose-600);--action-on-primary:var(--color-neutral-0);--background-surface:var(--color-neutral-0);--background-love:var(--color-rose-050);--background-card:var(--color-rose-100);--background-muted:#f6f4f5;--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-600);--text-on-primary:var(--color-neutral-0);--border-subtle:var(--color-neutral-100);--feedback-success:var(--color-green-600);--feedback-warning:var(--color-amber-600);--feedback-error:var(--color-red-600);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-display:2rem/2.5rem var(--font-sans);--text-headline:1.5rem;--text-title:1.125rem;--text-body:1rem;--text-caption:.8125rem;--touch-min:44px;--motion-wow:.3s}:root[data-theme=dark]{--action-primary:var(--color-rose-400);--action-primary-hover:var(--color-rose-500);--background-surface:var(--color-neutral-900);--background-love:var(--color-neutral-800);--background-card:var(--color-neutral-800);--background-muted:#232329;--text-primary:var(--color-neutral-0);--text-secondary:var(--color-neutral-300);--border-subtle:var(--color-neutral-800);--elev-1:0 1px 2px rgba(0,0,0,.5);--elev-2:0 3px 8px rgba(0,0,0,.55);--elev-4:0 8px 24px rgba(0,0,0,.6)}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5;color:var(--text-primary);background:var(--background-love);-webkit-font-smoothing:antialiased}a{color:var(--action-primary)}h1,h2,h3{margin:0;line-height:1.3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:600;cursor:pointer;transition:opacity .12s ease-out,background-color .12s ease-out}.btn:active:not(:disabled){opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--action-primary);color:var(--action-on-primary)}.btn--primary:hover:not(:disabled){background:var(--action-primary-hover)}.btn--secondary{background:var(--background-surface);color:var(--text-primary);border-color:var(--border-subtle)}.btn--ghost{background:transparent;color:var(--text-primary)}.btn--danger{background:var(--feedback-error);color:#fff}.btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-caption)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:var(--text-caption);color:var(--text-secondary);font-weight:600}.input{min-height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--background-surface);color:var(--text-primary);font:inherit}.btn:focus-visible,.input:focus-visible{outline:2px solid var(--action-primary);outline-offset:2px}.card{background:var(--background-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--elev-1)}.caption,.muted{color:var(--text-secondary)}.caption{font-size:var(--text-caption)}.stack{flex-direction:column;gap:var(--space-3)}.row,.stack{display:flex}.row{align-items:center;gap:var(--space-2)}.error-banner{background:#fdecec;color:#7d1f1f;border:1px solid var(--feedback-error);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-caption)}:root[data-theme=dark] .error-banner{background:#3a1f1f;color:#ffc9c9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
