:root{--bg: #f7f6f2;--surface: #ffffff;--surface-2: #f0eee8;--text: #1d1c1a;--muted: #6d6a63;--border: #e3e0d8;--accent: #1f6f5c;--accent-contrast: #ffffff;--accent-soft: #dcefe8;--highlight: #fff1c2;--danger: #b3261e;--success: #1f6f5c;--radius: 12px;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 4px 16px rgb(0 0 0 / .04);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--reading-font: "Literata", Georgia, "Times New Roman", serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #151514;--surface: #1f1e1c;--surface-2: #2a2926;--text: #ecebe6;--muted: #a19d94;--border: #35332f;--accent: #5cc3a6;--accent-contrast: #0d2a22;--accent-soft: #1d3a32;--highlight: #4a3f14;--danger: #f2877f;--success: #5cc3a6;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word}a{color:var(--accent)}h1,h2,h3{line-height:1.25;margin:0 0 .5rem}h1{font-size:1.6rem}.page{max-width:960px;margin:0 auto;padding:24px calc(16px + env(safe-area-inset-right)) 64px calc(16px + env(safe-area-inset-left))}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.muted{color:var(--muted)}.small{font-size:.875rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}@media(hover:hover){.btn:hover:not(:disabled){background:var(--surface-2)}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}@media(hover:hover){.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--danger)}.btn.sm{padding:5px 12px;font-size:.875rem}.field{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:500}.field input,.field select,.field textarea{font:inherit;font-weight:400;font-size:1rem;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.field textarea{resize:vertical;min-height:90px}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.8rem;font-weight:500}.pill.accent{background:var(--accent-soft);color:var(--accent)}.error-text{color:var(--danger);font-size:.9rem}.empty{text-align:center;padding:48px 16px;color:var(--muted)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-.15em}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){h1{font-size:1.4rem}.page{padding-top:16px;padding-bottom:32px}}
