*{box-sizing:border-box}body{margin:0;background:#f7f7f5;color:#252725;font-family:Arial,Helvetica,sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.shell{max-width:650px;min-height:100vh;margin:auto;padding:36px 24px 80px;background:#fff}.dateHeader,.dateNav,.monthNav,.reportRow>div:first-child,.settingHabit,header{display:flex;justify-content:space-between;align-items:center}header{margin-bottom:28px}h1{font-size:30px;letter-spacing:-1px;margin:7px 0}h1,h2{font-weight:550}h2{font-size:20px;margin:0}h3{font-size:14px;font-weight:600;margin:0 0 13px}.brand{font-size:10px;font-weight:700;letter-spacing:2px;color:#858985}.muted,p{color:#868b86;line-height:1.6}nav{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px;background:#f3f4f2;padding:5px;border-radius:12px;margin-bottom:34px}nav button{border:0;border-radius:9px;background:transparent;color:#777;padding:12px 4px;font-size:13px}nav button.selected{background:#fff;color:#222;box-shadow:0 1px 5px #00000012}.iconButton{border:0;background:transparent;color:#999}.dateHeader{gap:12px}.dateHeader p{margin:8px 0}.percent{text-align:right;font-size:27px;font-weight:600}.percent small{display:block;font-size:11px;font-weight:400;color:#888}.progress{height:7px;background:#eeeeec;border-radius:20px;overflow:hidden;margin:20px 0}.progress>div{height:100%;background:#3f4942;transition:width .2s}.dateNav{margin:20px 0 34px}.dateNav button,.monthNav button{border:0;background:transparent;color:#666;display:flex;align-items:center;gap:3px;padding:7px}.habitGroup{margin:26px 0 32px}.habitGroup h3{color:#666;text-transform:uppercase;letter-spacing:1.5px;font-size:11px}.habit{display:flex;align-items:center;gap:16px;width:100%;padding:17px 4px;border:0;border-bottom:1px solid #efefed;background:transparent;text-align:left}.check{display:flex;color:#c6cac5}.check.on{background:#404d44;color:white;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center}.struck{color:#a3a8a3;text-decoration:line-through}.monthNav{margin-bottom:24px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;text-align:center}.weekday{font-size:12px;color:#999;padding:10px}.day{aspect-ratio:1;border:1px solid transparent;border-radius:11px;background:#f7f8f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.day.current{border-color:#7c877e}.day.picked{background:#e6eae5}.dot{height:5px;width:5px;border-radius:50%}.dot.full{background:#3f4942}.dot.partial{background:#b4bbb4}.metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:22px 0 32px}.metrics>div{background:#f6f7f5;padding:18px;border-radius:13px;display:flex;flex-direction:column;gap:8px}.metrics small,.metrics span{color:#929792;font-size:11px}.metrics strong{font-size:32px;font-weight:600}.reportRow{margin:20px 0}.reportRow small{color:#aaa}.reportRow .progress{margin:10px 0}.settingHabit{padding:16px 0;border-bottom:1px solid #eee}.settingHabit small{color:#999}.settingHabit button{border:0;background:transparent;color:#999}.addForm{display:flex;gap:6px;flex-wrap:wrap;margin-top:26px}.addForm input{flex:1 1;min-width:140px}.addForm input,.addForm select{padding:12px;border:1px solid #ddd;border-radius:8px;background:white}.addForm button,.primary{border:0;background:#3f4942;color:#fff;border-radius:8px;padding:12px 17px;align-items:center;gap:5px}.addForm button,.login,.primary{display:flex;justify-content:center}.login{flex-direction:column;align-items:flex-start}.login h1{font-size:43px;line-height:1.15}.login .primary{margin:28px 0 16px}.login small{color:#999}.error{padding:12px;background:#fff2f0;color:#a43427;border-radius:8px}footer{display:flex;align-items:center;gap:8px;color:#a5a9a5;font-size:11px;margin-top:55px}@media(max-width:450px){.shell{padding:24px 18px 70px}nav button{font-size:12px}h1{font-size:27px}.dateHeader h2{font-size:17px}}