:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#263e35;background:#f7f5ee;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,input,select,summary{min-height:44px}button,select,summary{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3855b0;outline-offset:4px}main{width:min(100% - 40px,1000px);margin:auto}.masthead{display:flex;align-items:center;gap:10px;padding:28px 0;font-weight:650;border-bottom:1px solid #d9dfd3}.brand-mark{color:#235c4b;font-size:32px}.demo-badge{margin-left:auto;border:1px solid #647568;border-radius:30px;padding:4px 12px;font-size:.75rem}.intro{padding:42px 0 24px}.eyebrow{letter-spacing:.16em;font-size:.73rem;font-weight:700}h1{font:400 clamp(2.6rem,7vw,4.4rem)/1.12 Georgia,serif;margin:16px 0;letter-spacing:-.03em}h1 span{color:#526d51}.intro>p:last-child{max-width:480px;color:#526154}.demo-panel{background:#e9eee4;border-radius:14px;padding:16px 20px;font-size:.84rem;margin:8px 0 28px}.demo-panel p{margin:0 0 8px}.demo-panel label{margin-right:12px}select{color:inherit;border:1px solid #8b9a8b;border-radius:8px;background:#fffef9;padding:6px 12px;max-width:100%}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.habit-card{border:1px solid #d8dfd1;background:#fffef9;border-radius:24px;padding:28px;min-width:0;box-shadow:0 4px 18px #293b2610}.brush{background:#f1f4ed}.card-top{display:flex;align-items:center;gap:14px}.habit-symbol{display:grid;place-items:center;width:48px;height:48px;background:#f7e7b7;border-radius:16px;font-size:28px;color:#6b4c12}.brush .habit-symbol{background:#dce7d8;color:#235c4b}.ownership{font-size:.65rem;letter-spacing:.1em;font-weight:700}h2{font:400 1.9rem/1.2 Georgia,serif;margin:22px 0 12px}.date{margin:0;font-size:.95rem;font-weight:600}.zone{margin:4px 0 18px;color:#526154;font-size:.78rem;overflow-wrap:anywhere}.progress-row{border-top:1px solid #d8dfd1;border-bottom:1px solid #d8dfd1;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 0}.streak{margin:0;display:flex;align-items:baseline;gap:8px}.streak strong{font-size:2.8rem;line-height:1.2;font-weight:500}.streak span{font-size:.8rem}.status{border-radius:24px;padding:5px 12px;font-size:.75rem;font-weight:650;white-space:nowrap}.pending{color:#65501d;background:#f4e9c5}.completed{color:#1b553a;background:#dcecdf}.missed{color:#823b28;background:#f5e2d9}.status-copy{font-size:.88rem;min-height:3.2em}.help,.read-only,.deadline{color:#526154;font-size:.8rem}.actions{border-top:1px solid #d8dfd1;padding-top:20px}.actions label{font-weight:600;font-size:.88rem}.input-row{display:flex;flex-wrap:wrap;gap:10px}input{min-width:0;max-width:100%;border:1px solid #8b9a8b;border-radius:10px;background:#fff;color:#263e35;padding:8px 10px}button{border:1px solid #235c4b;border-radius:10px;background:#235c4b;color:#fffef9;padding:10px 16px;font-size:.85rem}button:hover{background:#184435}button:disabled{opacity:.55;cursor:not-allowed}.undo{background:transparent;color:#235c4b;margin-top:12px}.undo:hover{background:#e9eee4}.deadline{margin-bottom:0}.read-only{border-top:1px solid #d8dfd1;padding-top:20px}.feedback{min-height:1.6em;font-size:.85rem}.offline{padding:16px;background:#f4e9c5;border-radius:12px}footer{color:#526154;font-size:.8rem;padding:0 0 32px}summary{display:flex;align-items:center;text-decoration:underline}@media(max-width:640px){main{width:min(100% - 28px,480px)}.dashboard{grid-template-columns:1fr;gap:18px}.habit-card{padding:22px}.masthead{flex-wrap:wrap;font-size:.88rem;padding:18px 0}.demo-badge{font-size:.65rem;padding:4px 8px}.intro{padding-top:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}.auth-card{max-width:520px;margin:48px auto}.auth-card h1{font-size:clamp(2rem,8vw,3.4rem);overflow-wrap:anywhere}.auth-card form,.settings form{display:grid;gap:12px}.auth-card input{width:100%}.toolbar{display:flex;justify-content:flex-end;gap:12px}.settings{margin:28px 0 12px;padding:16px 20px;background:#e9eee4;border-radius:14px}.settings form{max-width:560px;padding:12px 0}.confirm{display:flex;gap:12px;align-items:center;font-size:.85rem}.confirm input{flex-shrink:0;width:22px}
