:root{--bg: oklch(.984 .005 264);--surface: oklch(.999 .0015 264);--surface-2: oklch(.966 .006 264);--surface-3: oklch(.945 .009 264);--border: oklch(.916 .008 264);--border-strong: oklch(.852 .013 264);--ink: oklch(.255 .018 264);--ink-muted: oklch(.505 .016 264);--ink-faint: oklch(.64 .013 264);--accent: oklch(.55 .205 264);--accent-hover: oklch(.485 .21 264);--accent-active: oklch(.43 .2 264);--accent-ink: oklch(.99 .008 264);--accent-bg: oklch(.955 .035 264);--accent-border: oklch(.86 .075 264);--accent-ring: oklch(.55 .205 264 / .16);--win: oklch(.555 .145 152);--win-bg: oklch(.95 .05 152);--loss: oklch(.555 .2 27);--loss-bg: oklch(.955 .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(.4 .03 264 / .05), 0 1px 3px oklch(.4 .03 264 / .07);--shadow-md: 0 2px 6px oklch(.4 .03 264 / .06), 0 8px 22px oklch(.4 .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);line-height:1.55;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::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:none;padding:.6rem 1.1rem;border-radius:var(--r-md);cursor:pointer;font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}.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);padding:.6rem 1.1rem;border-radius:var(--r-md);cursor:pointer;font-size:var(--text-base);font-weight:600;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.btn-secondary:hover{color:var(--ink);border-color:var(--border-strong);background:var(--surface-2)}.nav-link{display:inline-flex;align-items:center;padding:.44rem .95rem;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--ink-muted);text-decoration:none;font-size:var(--text-sm);font-weight:600;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)}.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{display:inline-flex;align-items:center;justify-content:center;padding:.44rem .95rem;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.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{background:transparent;border:1px solid var(--border-strong);color:var(--ink-muted);padding:.3rem .6rem;border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-xs);font-weight:600;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.edit-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.delete-btn{background:transparent;border:1px solid var(--border-strong);color:var(--ink-muted);padding:.3rem .6rem;border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-xs);font-weight:600;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.delete-btn:hover{background:var(--loss);border-color:var(--loss);color:var(--accent-ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d222b73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100;overflow-y:auto;animation:backdrop-in var(--dur) var(--ease)}@keyframes backdrop-in{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modal-in .22s var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}}.modal h2{margin:0 0 1.5rem;color:var(--ink);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em}.modal form{display:flex;flex-direction:column;gap:1.1rem}.modal label{color:var(--ink-muted);font-size:var(--text-sm);font-weight:600;display:flex;flex-direction:column;gap:.45rem}.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);padding:.7rem .8rem;border-radius:var(--r-md);font-size:1rem;font-family:inherit;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.modal input::placeholder{color:var(--ink-faint)}.modal input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.form-actions button{flex:1}.error{color:var(--loss);background:var(--loss-bg);border:1px solid oklch(.555 .2 27 / .25);padding:.6rem .8rem;border-radius:var(--r-md);margin:0;font-size:var(--text-sm);font-weight:500}.loading,.empty{color:var(--ink-faint);text-align:center;padding:3rem 1rem;font-size:var(--text-base)}
