:root{--bg: #eef2ea;--bg-deep: #dfe6d8;--ink: #1c2418;--muted: #5a6454;--brand: #1a6b3c;--brand-ink: #f4f7f1;--warn: #b45309;--warn-bg: #fff7ed;--warn-border: #f59e0b;--card: #f7f9f4;--line: #c5cebc;--danger: #9b1c1c;--radius: 14px;--font-display: "Fraunces", "Palatino Linotype", Palatino, serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#d7e4cb 0%,transparent 55%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);line-height:1.4}h1,h2,.brand{font-family:var(--font-display);font-weight:650;letter-spacing:-.02em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{max-width:720px;margin:0 auto;min-height:100dvh;padding:0 1rem 2.5rem}.practice-banner{position:sticky;top:0;z-index:40;background:var(--warn-bg);color:#7c2d12;border-bottom:3px solid var(--warn-border);padding:.65rem 1rem;font-weight:700;text-align:center;letter-spacing:.02em}.task-banner{position:sticky;top:0;z-index:30;color:#fff;padding:.75rem 1rem;font-weight:700;font-size:.95rem}.practice-banner+.task-banner,.app-shell.practice .task-banner{top:44px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0 .75rem}.brand{font-size:1.55rem;color:var(--brand);margin:0}.muted{color:var(--muted);font-size:.95rem}.task-grid{display:grid;gap:.85rem;margin-top:1rem}.task-card{display:block;background:var(--card);border:1px solid var(--line);border-left:8px solid var(--brand);border-radius:var(--radius);padding:1.15rem 1.1rem;box-shadow:0 10px 24px #1c24180f}.task-card h2{margin:0 0 .25rem;font-size:1.2rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:.85rem 1.2rem;background:var(--brand);color:var(--brand-ink);font-weight:700;cursor:pointer;width:100%}.btn.secondary{background:transparent;color:var(--brand);border:2px solid var(--brand)}.btn:disabled{opacity:.55;cursor:not-allowed}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;margin-top:1rem}.field{display:grid;gap:.35rem;margin-bottom:.9rem}.field label{font-weight:650}.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:#fff}.section-title{margin:1.25rem 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.login-hero{padding-top:3rem}.login-hero .brand{font-size:2.4rem;line-height:1.05}.error{color:var(--danger);font-weight:650;margin:.5rem 0}.placeholder-note{margin-top:1rem;padding:1rem;background:#1a6b3c14;border-radius:12px}.chip{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#1a6b3c1f;font-size:.8rem;font-weight:650}.stack{display:grid;gap:.75rem}.row{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.sync-badge{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.sync-badge.ok{border-color:var(--brand);color:var(--brand)}.sync-badge.warn{border-color:var(--warn-border);background:var(--warn-bg);color:#7c2d12}.saved{color:var(--brand);font-weight:700}.check{display:flex;align-items:center;gap:.5rem;font-weight:600}
