:root{--bg:#f6f7f8;--panel:#ffffff;--panel-2:#f1f2f4;--text:#111111;--muted:rgba(17,17,17,.62);--line:rgba(17,17,17,.1);--accent:#1fb8a6;--accent-soft:#d4f4ef;--accent-shadow:rgba(31, 184, 166, 0.22);--danger:#ff4d4d;--radius:24px;--shadow:0 24px 80px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{margin:0;min-height:100%;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;min-height:100vh;min-height:100svh;overscroll-behavior:none}body::before{content:'';position:fixed;inset:0;background:radial-gradient(circle at top,#ffffff,#f6f7f8 48%);z-index:-1}.app-shell{width:min(520px,100%);min-height:100vh;min-height:100svh;margin:0 auto;padding:28px 20px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
.screen{display:none;min-height:calc(100svh - 56px);flex-direction:column;gap:20px}.screen.active{display:flex}.fade-in{animation:fadeIn .45s ease both}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.brand-lockup{text-align:center;padding:34px 0 18px}.brand-lockup.compact{padding:0 0 18px}.icon-orb{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;margin:0 auto 18px;color:var(--accent);font-size:28px}.icon-orb.large{width:96px;height:96px;font-size:42px}.login-card{width:100%;margin:auto 0;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:32px;padding:28px 22px;box-shadow:var(--shadow);display:grid;gap:14px}.login-subtitle{text-align:center;margin-top:-8px}.login-error{color:var(--danger);font-size:13px;text-align:center}
h1,h2,h3,p{margin:0}h1{font-size:44px;letter-spacing:-.05em;line-height:.95}h2{font-size:26px;letter-spacing:-.03em}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--muted);font-weight:700}.subtitle{color:var(--muted);margin-top:10px}.menu-list{display:grid;gap:14px;margin-top:12px}.menu-card{width:100%;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));border-radius:var(--radius);color:var(--text);padding:20px;text-align:left;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);font-size:24px;font-weight:800;line-height:1.15}
.icon-bubble{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}.btn{border:0;border-radius:999px;padding:14px 18px;font-weight:800;cursor:pointer}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 12px 28px var(--accent-shadow)}.btn.secondary{background:var(--accent-soft);color:var(--accent)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.full{width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;padding-top:18px}.card,.complete-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.hero-card{gap:22px;display:flex;flex-direction:column}
button,.menu-card,.segment,.task-row,.clean-row,.manage-row,.preset-option,.preset-row .mini,label,input[type="checkbox"],select{cursor:pointer}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.segment{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:16px;padding:12px}.segment.active{background:var(--accent);color:#fff}.input{width:100%;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--text);padding:14px}.hidden{display:none!important}.task-stack,.checklist{display:grid;gap:16px;margin:18px 0}.task-section{display:grid;gap:10px}.task-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:rgba(17,17,17,.56);margin:10px 2px 2px}.task-row,.clean-row,.manage-row{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.task-row,.clean-row{justify-content:flex-start}.task-row input,.clean-row input{accent-color:var(--accent);width:20px;height:20px}
.progress-panel{border:1px solid rgba(17,17,17,.1);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.65));border-radius:22px;padding:18px;margin:4px 0 2px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.progress-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.progress-header strong{font-size:38px;letter-spacing:-.05em;line-height:.9}.progress-header span{color:var(--muted);font-size:13px;text-align:right;line-height:1.25}.progress-track{width:100%;height:14px;border-radius:999px;background:var(--accent-soft);overflow:hidden;border:1px solid rgba(17,17,17,.09)}.progress-fill{width:0%;height:100%;border-radius:inherit;background:var(--accent);box-shadow:0 0 28px var(--accent-shadow);transition:width .45s cubic-bezier(.22,1,.36,1)}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controls .ghost{grid-column:1/-1}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.modal-note{color:var(--muted);font-size:13px;margin-top:8px}.mini{background:rgba(17,17,17,.08);border:0;color:var(--text);border-radius:999px;padding:8px 10px}.mini.danger{color:var(--danger)}.preset-list{display:grid;gap:10px;margin-top:16px}.preset-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.preset-option{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:16px;padding:14px;text-align:left;width:100%}.preset-empty{border:1px dashed rgba(17,17,17,.18);background:rgba(255,255,255,.7);border-radius:18px;padding:18px;margin-top:16px;color:var(--muted);display:grid;gap:6px}.preset-empty p:first-child{color:var(--text);font-weight:800}.complete-card{text-align:center;margin:auto 0}.finish-pop{animation:finishPop .65s cubic-bezier(.22,1,.36,1) both}@keyframes finishPop{0%{opacity:0;transform:scale(.88)}70%{transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}footer{text-align:center;color:rgba(17,17,17,.42);font-size:12px;margin-top:auto;padding-top:24px}
