:root{font-family:Helvetica,Arial,sans-serif;color:#111;background:#f7f7f5;font-synthesis:none;--surface: #fff;--ink: #111;--muted: #747474;--line: #e3e3e0;--soft: #f1f1ef}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}main{width:min(1160px,calc(100% - 48px));min-height:100vh;margin:0 auto;padding-bottom:64px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(480px,100%);padding:40px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.auth-card h1{margin:70px 0 20px;font-size:clamp(48px,7vw,74px)}.auth-card>p{max-width:330px;margin:0 0 32px;color:var(--muted);font-size:13px;line-height:1.55}.auth-card .primary{width:100%}.error{margin-top:18px!important;color:brown!important;font-size:11px!important}.error-banner{margin-top:16px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:8px;background:#fff0ee;color:#8c2820;font-size:11px}.error-banner button{border:0;background:transparent;color:inherit;font-size:16px}nav{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{color:var(--ink);text-decoration:none;font-size:15px;font-weight:700;letter-spacing:-.03em}.nav-actions{display:flex;align-items:center;gap:18px}.view-switch{display:flex;align-items:center;gap:2px;padding:3px;border-radius:8px;background:var(--soft)}.view-switch button{min-height:29px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:500}.view-switch button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000010}.profile{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:10px;font-weight:600}header{min-height:220px;padding:48px 0 40px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}h1{margin:0;font-size:clamp(54px,7vw,88px);font-weight:500;line-height:.9;letter-spacing:-.07em}.primary{min-height:42px;padding:0 18px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-size:13px;font-weight:600}.primary:hover{background:#303030}.grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);align-items:start;gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.habits-panel{padding:28px}.panel-title,.week-heading{display:flex;align-items:flex-start;justify-content:space-between}h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.035em}.metrics-column{display:grid;grid-template-columns:1fr;gap:16px}.metric-card{min-width:0;padding:24px 28px;display:flex;flex-direction:column;align-items:stretch;color:var(--ink);text-align:left}.metric-card:hover{border-color:#bdbdb8;box-shadow:0 4px 18px #00000008}.metric-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.metric-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.metric-summary>span:first-child{display:flex;flex-direction:column;gap:8px}.metric-name{font-size:12px;font-weight:500}.metric-summary small{color:var(--muted);font-size:9px;line-height:1.35}.progress-ring{width:94px;height:94px;display:grid;place-items:center;border-radius:50%;transition:background .2s ease}.progress-ring:before{content:"";width:74px;height:74px;grid-area:1 / 1;border-radius:50%;background:var(--surface)}.progress-ring strong{position:relative;grid-area:1 / 1;font-size:20px;font-weight:500;letter-spacing:-.045em}.desktop-detail{display:flex;margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}.daily-inline{flex-direction:column}.inline-row{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px}.inline-row:hover{color:var(--muted)}.inline-empty{padding:16px 0 4px;color:var(--muted);font-size:10px}.inline-chart{height:140px;align-items:flex-end;gap:8px;padding-top:18px}.inline-bar-column{position:relative;height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.inline-bar-track{width:100%;max-width:20px;height:100px;display:flex;align-items:flex-end;overflow:hidden;border-radius:4px;background:var(--soft)}.inline-bar{width:100%;min-height:3px;border-radius:4px;background:#bcbcb8}.inline-bar-column:hover .inline-bar{background:var(--ink)}.inline-bar-column small{color:var(--muted);font-size:8px}.inline-bar-column:after{content:attr(data-value);position:absolute;top:-8px;left:50%;padding:4px 6px;border-radius:5px;background:var(--ink);color:#fff;font-size:8px;opacity:0;transform:translate(-50%,-3px);transition:.15s ease}.inline-bar-column:hover:after{opacity:1;transform:translate(-50%)}.habit-list{margin-top:26px;border-top:1px solid var(--line)}.habit{position:relative;min-height:72px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);cursor:pointer}.habit:last-child{border-bottom:0}.habit input{position:absolute;opacity:0}.check{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #bdbdb9;border-radius:6px;color:transparent;font-size:12px;transition:.15s ease}.habit:hover .check{border-color:#777}.habit.done .check{color:#fff;background:var(--ink);border-color:var(--ink)}.habit-text{display:flex;flex-direction:column;gap:6px}.habit-text strong{font-size:13px;font-weight:500}.habit-text small{color:var(--muted);font-size:10px;letter-spacing:0}.habit.done .habit-text strong{color:#999;text-decoration:line-through}.empty-list{margin:0;padding:30px 0 4px;color:var(--muted);font-size:12px}.manage-panel{padding:28px}.manage-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line)}.manage-heading>span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;background:var(--soft);color:var(--muted);font-size:10px}.manage-row{min-height:76px;display:grid;grid-template-columns:minmax(180px,1fr) auto 34px;align-items:center;gap:28px;border-bottom:1px solid var(--line)}.manage-row:last-child{border-bottom:0}.manage-row>strong{font-size:13px;font-weight:500}.scheduled-days{display:flex;gap:5px}.scheduled-days span{width:34px;height:28px;display:grid;place-items:center;border-radius:6px;color:#b2b2ae;font-size:9px}.scheduled-days span.scheduled{background:var(--soft);color:var(--ink);font-weight:600}.more{width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:var(--muted);letter-spacing:1px}.more:hover{background:var(--soft)}.modal-backdrop{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:20px;background:#0006;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;width:min(450px,100%);padding:32px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 24px 80px #0002}.detail-modal{width:min(560px,100%)}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:38px}.detail-heading>strong{font-size:30px;font-weight:500;letter-spacing:-.055em}.detail-list{margin-top:28px;border-top:1px solid var(--line)}.detail-row{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);font-size:12px}.detail-row:hover{padding:0 10px;margin:0 -10px;border-radius:7px;background:var(--soft)}.status{padding:5px 8px;border-radius:6px;background:var(--soft);color:var(--muted);font-size:9px}.status.complete{background:var(--ink);color:#fff}.detail-chart{height:250px;display:flex;align-items:flex-end;gap:12px;margin-top:30px;padding-top:26px}.detail-bar-column{position:relative;height:100%;flex:1;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;border:0;background:transparent}.detail-bar-track{width:100%;max-width:30px;height:190px;display:flex;align-items:flex-end;overflow:hidden;border-radius:5px;background:var(--soft)}.detail-bar{width:100%;min-height:3px;border-radius:5px;background:#bcbcb8;transition:background .15s ease}.detail-bar-column:hover .detail-bar,.detail-bar-column:focus-visible .detail-bar{background:var(--ink)}.detail-bar-column small{color:var(--muted);font-size:9px}.detail-bar-column:after{content:attr(data-value);position:absolute;top:-4px;left:50%;padding:5px 7px;border-radius:5px;background:var(--ink);color:#fff;font-size:9px;opacity:0;transform:translate(-50%,-4px);pointer-events:none;transition:.15s ease}.detail-bar-column:hover:after,.detail-bar-column:focus-visible:after{opacity:1;transform:translate(-50%)}.close{position:absolute;top:16px;right:16px;width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:18px}.field{display:flex;flex-direction:column;gap:8px;margin-top:28px}.field span,legend{color:var(--muted);font-size:12px;font-weight:500;letter-spacing:0}.field input{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;font-size:17px}.field input:focus{border-color:var(--ink)}fieldset{margin:26px 0;padding:0;border:0}.day-picker{display:flex;gap:8px;margin-top:12px}.day-picker button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:10px}.day-picker button.selected{background:var(--ink);border-color:var(--ink);color:#fff}.save{width:100%}@media(max-width:760px){main{width:min(100% - 32px,1160px);padding-bottom:32px}header{min-height:190px;padding:38px 0 30px;align-items:flex-start;flex-direction:column}h1{font-size:58px}.primary{width:100%}.grid{grid-template-columns:1fr}.habits-panel{padding:22px}.metrics-column{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:210px;padding:18px 10px;align-items:center;justify-content:center;text-align:center}.metric-summary{height:100%;flex-direction:column;justify-content:space-between}.metric-summary>span:first-child{align-items:center}.desktop-detail{display:none}.progress-ring{width:82px;height:82px}.progress-ring:before{width:65px;height:65px}.manage-panel{padding:22px}.manage-row{grid-template-columns:1fr 30px;gap:12px;padding:18px 0}.scheduled-days{grid-column:1 / -1;grid-row:2;justify-content:space-between}.scheduled-days span{width:32px}.more{grid-column:2;grid-row:1}.modal{padding:28px 22px}.day-picker{gap:5px;justify-content:space-between}.day-picker button{width:36px;height:36px}}
