@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--bg:#151618;--surface:#1d1f22;--surface-2:#25282d;--border:#ffffff17;--border-2:#ffffff26;--text:#fffffff2;--muted:#ffffff80;--dim:#ffffff3d;--min:#4a95ff;--normal:#2bbf93;--stretch:#e9e9e9;--active:#ffb11f;--active-text:#ffe1a4;--active-bg:#ffb11f1a;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--mono:"DM Mono", ui-monospace, monospace;--sans:-apple-system, "Helvetica Neue", sans-serif}html,body,#app{background:var(--bg);height:100%;color:var(--text)}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-family:var(--sans);font-size:16px;line-height:1.4}body{margin:0}button,input{font:inherit}button{cursor:pointer}#app{flex-direction:column;max-width:480px;margin:0 auto;display:flex}.shell{flex-direction:column;height:100%;display:flex}.hdr{padding:calc(var(--safe-t) + 16px) 20px 14px;border-bottom:.5px solid var(--border);flex-shrink:0}.hdr-label,.sh-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}.hdr-label{margin-bottom:4px}.hdr-row{align-items:baseline;gap:14px;display:flex}.hdr-today{font-family:var(--mono);letter-spacing:-2px;font-size:34px;font-weight:500;line-height:1}.hdr-week{color:var(--muted);font-size:12px}.active-pill{color:var(--active);align-items:center;gap:6px;margin-top:9px;font-size:11.5px;display:none}.active-pill.on{display:flex}.pulse{background:var(--active);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:1.6s ease-in-out infinite pulse}.list{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.row{border-bottom:.5px solid var(--border);padding:12px 18px;transition:background .22s;position:relative}.row.active{background:var(--active-bg)}.row-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.row-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14.5px;font-weight:500;overflow:hidden}.row.active .row-name{color:var(--active-text)}.row-time,.bar-targets,.summary-card__value,.analysis-card__grid strong{font-family:var(--mono)}.row-time{text-align:right;flex-shrink:0;min-width:52px;font-size:13px;transition:color .4s}.btn-toggle{color:#ffffffc7;background:#ffffff1f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:33px;font-size:11px;transition:transform .14s,background .18s;display:flex}.btn-toggle.on{background:var(--active);color:#1a1000}.btn-toggle:active,.btm-btn:active,.sh-save:active,.detail-close:active,.analysis-delete:active{transform:scale(.97)}.bar-track{background:#ffffff1a;border-radius:2px;height:4px;position:relative;overflow:visible}.bar-fill{border-radius:2px;transition:width .9s cubic-bezier(.4,0,.2,1),background-color .45s;position:absolute;inset:0 auto 0 0}.bar-mk{background:#fff3;border-radius:1px;width:1.5px;position:absolute;top:-3px;bottom:-3px;transform:translate(-50%)}.bar-labels{justify-content:space-between;gap:8px;margin-top:5px;display:flex}.bar-stage{font-size:10.5px;font-weight:500;transition:color .4s}.bar-targets{color:var(--dim);font-size:10px}.empty{text-align:center;color:var(--muted);padding:80px 24px;font-size:14px;line-height:2.2}.btm{padding:10px 14px calc(var(--safe-b) + 10px);border-top:.5px solid var(--border);flex-shrink:0;gap:8px;display:flex}.btm-btn{color:#ffffffb8;background:#ffffff14;border:.5px solid #ffffff24;border-radius:12px;flex:1;padding:11px 0;font-size:13px;transition:background .15s}.btm-btn.accent{color:var(--active);background:#ffb11f29;border-color:#ffb11f3d}.overlay{z-index:100;opacity:0;pointer-events:none;background:#00000094;transition:opacity .28s;position:fixed;inset:0}.overlay.on{opacity:1;pointer-events:all}.sheet{border-top:.5px solid var(--border-2);max-width:480px;padding:18px 20px calc(var(--safe-b) + 22px);z-index:101;background:#202226;border-radius:22px 22px 0 0;margin:0 auto;transition:transform .32s cubic-bezier(.32,.72,0,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet.on{transform:translateY(0)}.detail-sheet{max-height:min(84vh,760px);overflow-y:auto}.sh-handle{background:#ffffff24;border-radius:2px;width:38px;height:4px;margin:0 auto 18px}.sh-title{margin-bottom:18px;font-size:16px;font-weight:500}.sh-block{margin-bottom:14px}.sh-block--compact{margin-bottom:20px}.sh-label--spaced{margin-bottom:8px}.sh-input{width:100%;color:var(--text);-webkit-appearance:none;background:#ffffff14;border:.5px solid #ffffff24;border-radius:10px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .18s}.sh-input:focus{border-color:#f59e0b66}.sh-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.sh-sub{margin-bottom:5px;font-size:10px;font-weight:500}.sh-sub--minimum{color:#2573c8d9}.sh-sub--normal{color:#0a7a5ad9}.sh-sub--stretch{color:#d2d2d2bf}.sh-save,.detail-close,.analysis-edit,.analysis-delete{border:none}.sh-save{background:var(--active);color:#1a0f00;border-radius:12px;width:100%;padding:13px;font-size:15px;font-weight:600;transition:opacity .15s,transform .14s}.detail-sheet__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.detail-sheet__head h2{letter-spacing:-.04em;margin-top:4px;font-size:22px;line-height:1.05}.detail-section-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:14px 0 10px;font-size:10.5px}.detail-close{color:#ffffffc7;background:#ffffff14;border-radius:10px;padding:9px 12px}.detail-summary,.detail-cards{gap:10px;display:grid}.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.summary-card,.analysis-card{background:#ffffff0f;border:.5px solid #ffffff1a;border-radius:16px}.summary-card{padding:14px 12px}.summary-card--cumulative{grid-column:1/-1}.summary-card__label,.summary-card__meta,.analysis-card p,.analysis-card__grid span{color:var(--muted)}.summary-card__label,.summary-card__meta,.analysis-card__grid span{font-size:11px;display:block}.summary-card__value{margin:6px 0 4px;font-size:16px;font-weight:500;display:block}.detail-tools{gap:8px;margin-bottom:16px;display:flex}.analysis-card{padding:14px}.analysis-card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.analysis-card__title{align-items:center;gap:10px;display:flex}.analysis-card__dot{border-radius:999px;flex:none;width:10px;height:10px;box-shadow:0 0 0 4px #ffffff0a}.analysis-card__top{margin-bottom:12px}.analysis-card__top h3{font-size:15px;font-weight:500}.analysis-card__top p{margin-top:4px;font-size:11px}.analysis-card__targets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.analysis-card__targets span{color:#ffffffad;font-size:10px;font-family:var(--mono);background:#ffffff0d;border-radius:999px;padding:5px 8px}.analysis-card__bar-wrap{align-items:center;gap:10px;margin-bottom:12px;display:flex}.analysis-card__bar{background:#ffffff14;border-radius:999px;flex:1;height:6px;position:relative}.analysis-card__fill{border-radius:999px;transition:width .4s;position:absolute;inset:0 auto 0 0}.analysis-card__marker{background:#ffffff3d;border-radius:999px;width:1.5px;position:absolute;top:-3px;bottom:-3px;transform:translate(-50%)}.analysis-card__status{text-align:right;min-width:64px;font-size:11px;font-family:var(--mono)}.analysis-delete{color:#ffffffb8;background:#ffffff14;border-radius:999px;padding:7px 10px;font-size:11px;transition:transform .14s}.analysis-card__actions{align-items:center;gap:8px;display:flex}.analysis-edit{color:var(--active);background:#ffb11f24;border-radius:999px;padding:7px 10px;font-size:11px;transition:transform .14s}.analysis-card__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.analysis-card__wide{grid-column:1/-1}.analysis-card__grid strong{margin-top:4px;font-size:13px;font-weight:500;display:block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}@media (width<=420px){.hdr{padding-inline:16px}.hdr-today{font-size:30px}.row,.sheet{padding-inline:16px}.sh-grid,.detail-summary,.analysis-card__grid{grid-template-columns:1fr}.analysis-card__bar-wrap,.analysis-card__top{flex-direction:column;align-items:flex-start}.analysis-card__status{text-align:left;min-width:0}.detail-tools,.btm{flex-direction:column}}
