:root{--color-bg: #0A0A0A;--color-surface: #1A1A1A;--color-surface-2: #2C2C2C;--color-border: #333333;--color-accent: #C8A96E;--color-text: #E8E8E8;--color-subtext: #999999;--color-danger: #C0392B;--color-success: #27AE60;--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Courier New", Courier, monospace;--nav-height: 64px;--border-radius: 6px;--card-padding: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:24px;font-weight:700;color:var(--color-accent)}h2{font-size:18px;font-weight:700;color:var(--color-text)}.label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-subtext)}.scripture-text{font-size:15px;font-style:italic;color:var(--color-text)}.timer-digits{font-size:64px;font-weight:700;font-family:var(--font-mono);color:var(--color-accent);letter-spacing:.04em}.page-container{max-width:430px;margin:0 auto;padding:16px 16px calc(var(--nav-height) + 16px);min-height:100vh}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--card-padding)}.card-nested{background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--card-padding)}.btn{display:flex;align-items:center;justify-content:center;width:100%;height:48px;border:none;border-radius:var(--border-radius);font-family:var(--font-family);font-size:15px;font-weight:700;cursor:pointer;min-height:44px;min-width:44px;text-decoration:none;box-sizing:border-box}.btn-primary{background-color:var(--color-accent);color:#000}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-secondary{background-color:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.btn-accent{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent)}.btn-warning{background-color:#f39c12;color:#0a0a0a;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.field{margin-bottom:16px}.field label{display:block;margin-bottom:6px}input,textarea,select{width:100%;background-color:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:var(--font-family);font-size:15px;padding:10px 12px;outline:none;min-height:44px}input::placeholder,textarea::placeholder,select::placeholder{color:var(--color-subtext)}input:focus,textarea:focus,select:focus{border-color:var(--color-accent)}textarea{resize:vertical;min-height:80px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.badge-pending{background-color:var(--color-surface-2);color:var(--color-subtext)}.badge-in-progress{background-color:var(--color-accent);color:#000}.badge-completed{background-color:var(--color-success);color:#fff}.badge-missed{background-color:var(--color-danger);color:#fff}.badge-paused{background-color:#6b6b00;color:#fff}.badge-disengaged{background-color:var(--color-danger);color:#fff}.cat-study{background-color:#1a3a5c;color:#7ec8e3}.cat-prayer{background-color:#3a1a5c;color:#c87ed4}.cat-cleaning{background-color:#1a5c2c;color:#7ed4a0}.cat-music{background-color:#5c3a1a;color:#d4a07e}.cat-design{background-color:#5c1a3a;color:#d47eaa}.cat-reading{background-color:#1a4a5c;color:#7eb8d4}.cat-other{background-color:var(--color-surface-2);color:var(--color-subtext)}.icon-btn{background:none;border:none;cursor:pointer;color:var(--color-subtext);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius)}.icon-btn:hover{color:var(--color-accent)}.icon-btn .material-symbols-outlined{font-size:22px}.divider{height:1px;background-color:var(--color-border);margin:12px 0}.accent{color:var(--color-accent)}.subtext{color:var(--color-subtext)}.success{color:var(--color-success)}.danger{color:var(--color-danger)}.fade-in{animation:fadeIn .15s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
