:root{--bg:oklch(98.4% .005 264);--surface:oklch(99.9% .0015 264);--surface-2:oklch(96.6% .006 264);--surface-3:oklch(94.5% .009 264);--border:oklch(91.6% .008 264);--border-strong:oklch(85.2% .013 264);--ink:oklch(25.5% .018 264);--ink-muted:oklch(50.5% .016 264);--ink-faint:oklch(64% .013 264);--accent:oklch(55% .205 264);--accent-hover:oklch(48.5% .21 264);--accent-active:oklch(43% .2 264);--accent-ink:oklch(99% .008 264);--accent-bg:oklch(95.5% .035 264);--accent-border:oklch(86% .075 264);--accent-ring:oklch(55% .205 264/.16);--win:oklch(55.5% .145 152);--win-bg:oklch(95% .05 152);--loss:oklch(55.5% .2 27);--loss-bg:oklch(95.5% .042 27);--keeper:oklch(74% .155 72);--keeper-ink:oklch(36% .07 60);--keeper-bg:oklch(94% .065 78);--keeper-border:oklch(82% .115 78);--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--r-sm:7px;--r-md:11px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-sm:0 1px 2px oklch(40% .03 264/.05), 0 1px 3px oklch(40% .03 264/.07);--shadow-md:0 2px 6px oklch(40% .03 264/.06), 0 8px 22px oklch(40% .03 264/.09);--shadow-lg:0 4px 12px oklch(35% .04 264/.08), 0 24px 60px oklch(35% .04 264/.2);--ease:cubic-bezier(.22, 1, .36, 1);--dur:.16s;--color-bg-primary:var(--bg);--color-bg-secondary:var(--surface);--color-bg-tertiary:var(--surface-2);--color-accent:var(--accent);--color-accent-light:var(--accent-hover);--color-text:var(--ink);--color-text-muted:var(--ink-muted);--color-success:var(--win);--color-error:var(--loss);--color-warning:var(--keeper);--color-warning-light:var(--keeper);--font-family:var(--font);--radius-sm:var(--r-sm);--radius-md:var(--r-md);--radius-lg:var(--r-lg);--radius-full:var(--r-pill)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh;line-height:1.55}::selection{background:var(--accent-bg);color:var(--accent-hover)}a{color:var(--accent)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.btn-primary{background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);cursor:pointer;font-size:var(--text-base);letter-spacing:-.01em;box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);border:none;padding:.6rem 1.1rem;font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active);transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--surface);color:var(--ink-muted);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font-size:var(--text-base);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);padding:.6rem 1.1rem;font-weight:600}.btn-secondary:hover:not(:disabled){color:var(--ink);border-color:var(--border-strong);background:var(--surface-2)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.nav-link{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--ink-muted);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;transition:color var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;padding:.44rem .95rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--accent-hover);background:var(--accent-bg);border-color:var(--accent-border)}.nav-link:active{transform:translateY(1px)}.auth-btn,.auth-link{border-radius:var(--r-md);font-size:var(--text-sm);letter-spacing:-.01em;cursor:pointer;transition:color var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);justify-content:center;align-items:center;padding:.44rem .95rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-link{background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.auth-link:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.auth-link:active{transform:translateY(1px)}.auth-btn{background:var(--surface);border:1px solid var(--border-strong);color:var(--ink-muted)}.auth-btn:hover{border-color:var(--loss);color:var(--loss);background:var(--loss-bg)}.auth-btn:active{transform:translateY(1px)}.edit-btn{border:1px solid var(--border-strong);color:var(--ink-muted);border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-xs);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;padding:.3rem .6rem;font-weight:600}.edit-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.delete-btn{border:1px solid var(--border-strong);color:var(--ink-muted);border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-xs);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;padding:.3rem .6rem;font-weight:600}.delete-btn:hover{background:var(--loss);border-color:var(--loss);color:var(--accent-ink)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:backdrop-in var(--dur) var(--ease);background:oklch(25% .02 264/.45);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes backdrop-in{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-lg);animation:modal-in .22s var(--ease);padding:1.75rem;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}.modal h2{color:var(--ink);font-size:var(--text-lg);letter-spacing:-.02em;margin:0 0 1.5rem;font-weight:700}.modal form{flex-direction:column;gap:1.1rem;display:flex}.modal label{color:var(--ink-muted);font-size:var(--text-sm);flex-direction:column;gap:.45rem;font-weight:600;display:flex}.modal input[type=text],.modal input[type=email],.modal input[type=password],.modal input[type=date],.modal input[type=number]{background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);border-radius:var(--r-md);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.7rem .8rem;font-family:inherit;font-size:1rem}.modal input::placeholder{color:var(--ink-faint)}.modal input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring);outline:none}.form-actions{gap:.75rem;margin-top:.5rem;display:flex}.form-actions button{flex:1}.error{color:var(--loss);background:var(--loss-bg);border-radius:var(--r-md);font-size:var(--text-sm);border:1px solid oklch(55.5% .2 27/.25);margin:0;padding:.6rem .8rem;font-weight:500}.loading,.empty{color:var(--ink-faint);text-align:center;font-size:var(--text-base);padding:3rem 1rem}
