:root{color-scheme:light only;--bg: #f6f4ef;--surface: #ffffff;--surface-2: #efece4;--line: #e7e3d9;--ink: #191712;--ink-soft: #57534a;--ink-faint: #6f6a5e;--accent: #c2410c;--accent-strong: #a8360a;--accent-grad: linear-gradient(135deg, #d24a10 0%, #b03a0b 100%);--accent-ink: #ffffff;--accent-soft: #faeadf;--accent-soft-ink: #9a3410;--ok: #15803d;--ok-soft: #e5f3e9;--warn: #92400e;--warn-soft: #fdf3e0;--radius-lg: 22px;--radius: 16px;--radius-sm: 12px;--shadow-1: 0 1px 2px rgba(25, 23, 18, .05), 0 3px 10px rgba(25, 23, 18, .05);--shadow-2: 0 2px 6px rgba(25, 23, 18, .06), 0 10px 28px rgba(25, 23, 18, .08);--shadow-accent: 0 6px 18px rgba(194, 65, 12, .28);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--t-fast: .14s;--t-med: .26s;--t-slow: .42s;--tabbar-h: calc(64px + env(safe-area-inset-bottom, 0px)) ;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-user-select:none;user-select:none}input,select,textarea{font-family:inherit;font-size:16px}img,video{max-width:100%;display:block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.screen{min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px calc(var(--tabbar-h) + 28px);max-width:560px;margin:0 auto;animation:screen-in var(--t-slow) var(--ease-out) both}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.screen-title{font-size:32px;font-weight:850;letter-spacing:-.03em;line-height:1.1}.screen-sub{margin-top:2px;color:var(--ink-faint);font-size:15px;font-weight:500;margin-bottom:18px}.section-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin:6px 4px 2px}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-1)}.card-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin-bottom:10px}.card-big{font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.card-lead{padding:24px 20px 22px;box-shadow:var(--shadow-2);border-color:transparent}.card-lead>.card-title{font-size:13px;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:14px}.hero-card{background:var(--accent-grad);color:var(--accent-ink);border:none;border-radius:var(--radius-lg);padding:24px 20px 20px;box-shadow:var(--shadow-accent);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;top:-60px;right:-60px;width:190px;height:190px;border-radius:50%;background:#ffffff14;pointer-events:none}.hero-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#ffffffd9}.hero-title{font-size:27px;font-weight:850;letter-spacing:-.02em;line-height:1.12;margin-top:6px}.hero-note{margin-top:8px;font-size:15px;color:#ffffffe0}.hero-card .btn-hero{margin-top:18px;width:100%;min-height:54px;border-radius:var(--radius);background:#fff;color:var(--accent-strong);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #0000001f}.muted{color:var(--ink-soft)}.small{font-size:14px}.list-row{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:10px 4px;text-align:left}.list-row+.list-row{border-top:1px solid var(--line)}.list-row .lr-icon{flex:none;width:40px;height:40px;border-radius:13px;background:var(--surface-2);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) ease,color var(--t-fast) ease}.list-row.done .lr-icon{background:var(--ok-soft);color:var(--ok)}.list-row .lr-main{flex:1;min-width:0}.list-row .lr-title{font-size:16px;font-weight:700;letter-spacing:-.01em}.list-row.done .lr-title{color:var(--ink-faint);text-decoration:line-through;text-decoration-thickness:1.5px}.list-row .lr-sub{font-size:13px;color:var(--ink-faint);margin-top:1px}.list-row .lr-tap{display:flex;align-items:center;gap:14px;flex:1;min-width:0;min-height:44px;text-align:left}.list-row .lr-check{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-7px}.list-row .lr-check:active .check-circle{transform:scale(.9)}.list-row .lr-go{flex:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--ink-faint)}.list-row .lr-go svg{width:20px;height:20px}.list-row .lr-icon svg{width:22px;height:22px}.list-row.done .lr-go{color:var(--ok)}.check-circle{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:var(--surface);color:transparent;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast) var(--ease-out)}.list-row.done .check-circle,.check-circle.on{border-color:var(--ok);background:var(--ok);color:#fff;animation:pop var(--t-med) var(--ease-spring)}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.12)}to{transform:scale(1)}}.switch{flex:none;width:50px;height:30px;border-radius:999px;background:var(--line);position:relative;transition:background var(--t-med) ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform var(--t-med) var(--ease-spring)}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(20px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border-radius:var(--radius);font-weight:750;font-size:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) ease,background var(--t-fast) ease}.btn:active{transform:scale(.965);box-shadow:none}.btn-primary{background:var(--accent-grad);border-color:transparent;color:var(--accent-ink);box-shadow:var(--shadow-accent)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-soft)}.btn-big{width:100%;min-height:56px;font-size:17px;border-radius:var(--radius)}.btn:disabled{opacity:.35;box-shadow:none}.field{width:100%;min-height:50px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.label{font-size:13px;font-weight:650;color:var(--ink-soft);margin-bottom:4px;display:block}.progress{height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress>div{height:100%;border-radius:999px;background:var(--accent-grad);transition:width var(--t-slow) var(--ease-out)}.ring{transform:rotate(-90deg)}.ring .ring-track{stroke:var(--surface-2)}.ring .ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset var(--t-slow) var(--ease-out)}.banner{border-radius:var(--radius-sm);padding:12px 14px;font-size:15px;background:var(--warn-soft);color:var(--warn);animation:screen-in var(--t-med) var(--ease-out) both}.banner-ok{background:var(--ok-soft);color:var(--ok)}.banner-accent{background:var(--accent-soft);color:var(--accent-soft-ink)}.tabbar{position:fixed;bottom:0;left:0;right:0;height:var(--tabbar-h);padding:6px 4px calc(env(safe-area-inset-bottom,0px) + 6px);background:#ffffffeb;-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border-top:1px solid var(--line);display:flex;z-index:50}.tabbar button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 1px;font-size:10px;font-weight:700;color:var(--ink-faint);min-height:48px;border-radius:14px;position:relative;transition:color var(--t-fast) ease}.tabbar button span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(8.5px,2.5vw,10px);letter-spacing:-.015em;line-height:1.2}.tabbar button svg{width:24px;height:24px;transition:transform var(--t-med) var(--ease-spring)}.tabbar button.active{color:var(--accent)}.tabbar button.active svg{transform:translateY(-1px) scale(1.08)}.tabbar button.active:before{content:"";position:absolute;inset:2px 4px;border-radius:14px;background:var(--accent-soft);z-index:-1;animation:pop var(--t-med) var(--ease-out)}.rest-banner{position:fixed;bottom:calc(var(--tabbar-h) + 8px);left:14px;right:14px;z-index:40;background:var(--ink);color:#fff;border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-2);animation:banner-up var(--t-med) var(--ease-spring) both}@keyframes banner-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.rest-banner .time{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.fullscreen{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 16px) 20px calc(env(safe-area-inset-bottom,0px) + 20px)}.giant-number{font-size:96px;font-weight:850;letter-spacing:-.045em;font-variant-numeric:tabular-nums;text-align:center;line-height:1}.chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 13px;border-radius:999px;font-size:14px;font-weight:700;background:var(--accent-soft);color:var(--accent-soft-ink)}.list-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tap-check{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;text-align:left;font-size:16px;font-weight:600;transition:border-color var(--t-fast) ease,background var(--t-fast) ease}.tap-check.checked{border-color:var(--ok);background:var(--ok-soft)}.offline-banner{position:fixed;top:env(safe-area-inset-top,0px);left:12px;right:12px;z-index:60;padding:8px 12px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:13px;font-weight:600;text-align:center;animation:banner-up var(--t-med) var(--ease-out) both}
