:root{--bg:#f2f2f7;--surface:#fff;--surface-2:#f1f1ef;--text:#1d1d1f;--muted:#787774;--line:#37352f1f;--accent:#d1382f;--accent-ink:#fff;--accent-soft:#fbecea;--good:#2b9348;--warn:#c27c0e;--bad:#d1382f;--blue:#2f6fd6;--radius:12px;--radius-sm:8px;--shadow:0 0 0 .5px #0000000a, 0 1px 2px #0000000a;--shadow-lg:0 10px 40px #00000029;--bar-bg:#f9f9f9d1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Hiragino Sans,Noto Sans JP,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.55}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--text:#f5f5f7;--muted:#9b9a97;--line:#ffffff1a;--accent:#ff6b61;--accent-ink:#1a0503;--accent-soft:#3a1d1b;--good:#32d74b;--warn:#ffb340;--bad:#ff6b61;--blue:#64a0ff;--shadow:none;--shadow-lg:0 10px 40px #0009;--bar-bg:#161618d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--text:#f5f5f7;--muted:#9b9a97;--line:#ffffff1a;--accent:#ff6b61;--accent-ink:#1a0503;--accent-soft:#3a1d1b;--good:#32d74b;--warn:#ffb340;--bad:#ff6b61;--blue:#64a0ff;--shadow:none;--shadow-lg:0 10px 40px #0009;--bar-bg:#161618d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{margin:0;line-height:1.3}h2{font-size:1.05rem}h3{font-size:.98rem}p{margin:0}a{color:var(--accent)}code{background:var(--surface-2);word-break:break-all;border-radius:6px;padding:1px 5px}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:9px 11px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}.app{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{z-index:5;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{letter-spacing:.04em;color:var(--accent);font-weight:800}.gdot{color:var(--good);font-size:.75rem}.content{max-width:720px;margin:0 auto;padding:16px}.tabbar{z-index:6;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;padding:8px 0 7px;display:flex}.tab-icon{filter:grayscale(.6);font-size:1.2rem}.tabbar button.on .tab-icon{filter:none}.tab-label{font-size:.7rem}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:6px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.row3{grid-template-columns:1.4fr 1fr 1fr;gap:8px;display:grid}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline{gap:8px;display:flex}.inline input,.spacer{flex:1}.indent{border-left:2px solid var(--line);padding-left:12px}.small{font-size:.82rem}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.warn-text{color:var(--bad)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card.flat{box-shadow:none;background:var(--surface-2);border-color:#0000;padding:12px}.hero{background:linear-gradient(135deg, var(--accent-soft), var(--surface));justify-content:space-between;align-items:center;gap:12px;display:flex}.hero-title{font-size:1.3rem}.h1{font-size:1.2rem}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:700}.section-head{justify-content:space-between;align-items:baseline;display:flex}.empty{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);padding:18px;font-size:.9rem}.note{color:var(--muted);font-size:.88rem}.btn{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:999px;padding:9px 16px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{background:0 0}.btn.danger,.chip.danger{color:var(--bad)}.btn.block{width:100%}.btn.big{padding:14px 18px;font-size:1.02rem}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-self:flex-start;padding:4px 11px;font-size:.83rem}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:.88rem}.link.left{text-align:left}.icon-btn{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex-shrink:0}.icon-btn:hover{background:var(--surface-2)}.seg{background:var(--surface-2);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:3px;display:grid}.seg button{background:0 0;border:0;border-radius:9px;padding:8px;font-size:.88rem}.seg button.on{background:var(--surface);box-shadow:var(--shadow);font-weight:700}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions.sticky{background:var(--surface);border-top:1px solid var(--line);margin-top:8px;padding:12px 0 4px;position:sticky;bottom:-16px}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{font-size:.82rem;font-weight:700}.field-hint{color:var(--muted);font-size:.76rem}.checkline{align-items:center;gap:8px;font-size:.9rem;display:flex}.checkline input{width:auto}.daypicker{flex-wrap:wrap;gap:6px;display:flex}.daypicker .chip{text-align:center;width:38px;padding:6px 0}.ghost-input{background:0 0;border-color:#0000;padding:4px 6px;font-weight:600}.ghost-input:hover{border-color:var(--line)}.bar{background:var(--surface-2);border-radius:8px;height:24px;position:relative;overflow:hidden}.bar-fill{border-radius:8px;height:100%;transition:width .4s}.bar-fill.good{background:color-mix(in srgb, var(--good) 45%, transparent)}.bar-fill.warn{background:color-mix(in srgb, var(--warn) 45%, transparent)}.bar-fill.bad{background:color-mix(in srgb, var(--bad) 35%, transparent)}.bar-label{white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:0 9px;font-size:.78rem;display:flex;position:absolute;inset:0;overflow:hidden}.ring{flex-shrink:0;position:relative}.ring-bg{fill:none;stroke:var(--surface-2);stroke-width:7px}.ring-fg{fill:none;stroke:var(--accent);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .5s}.ring-center{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rating{align-items:center;gap:4px;display:flex}.rating-label{color:var(--muted);flex-shrink:0;width:64px;font-size:.75rem}.dot{border:1.5px solid var(--line);background:0 0;border-radius:50%;width:22px;height:22px;padding:0}.dot.on{background:var(--accent);border-color:var(--accent)}.ratings{flex-wrap:wrap;gap:4px 16px;display:flex}.morning{border-left:4px solid var(--accent)}.identity{margin:8px 0 4px;font-weight:700}.selftalk{color:var(--muted);white-space:pre-wrap}.questions{margin:10px 0 14px;padding-left:1.2em}.questions li{margin:3px 0}.routine,.todo{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:12px;display:flex}.todo.mini{align-items:center;padding:6px 8px}.todo.is-done .todo-body>span:first-child{color:var(--muted);text-decoration:line-through}.routine-body,.todo-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.routine-title{font-weight:600}.check{border:2px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;font-size:1.1rem;font-weight:800;transition:transform .15s,background .15s}.check.sm{width:28px;height:28px;font-size:.85rem}.check.on{background:var(--good);border-color:var(--good);color:#fff;animation:.25s pop}@keyframes pop{50%{transform:scale(1.18)}}.score{flex-shrink:0;gap:3px;display:flex}.score-btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:30px;height:34px;font-size:.85rem}.score-btn.on{background:var(--good);border-color:var(--good);color:#fff}.streak{color:var(--warn);flex-shrink:0;font-size:.85rem;font-weight:700}.quickadd{grid-template-columns:1fr 108px auto;gap:6px;display:grid}.events{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.events li{gap:10px;font-size:.9rem;display:flex}.cta{border-left:4px solid var(--accent);flex-direction:column;gap:10px;display:flex}.cta.done{border-left-color:var(--good)}.onboarding ol{margin:0;padding-left:1.2em}.onboarding li{margin:4px 0}.goal-card{text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.goal-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.why{background:var(--accent-soft);border-radius:10px;padding:8px 10px;font-size:.9rem}.issue{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.issue.selected{border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.issue .children{flex-direction:column;gap:6px;margin-left:6px;display:flex}.issue-head{align-items:center;gap:4px;display:flex}.issue-head .ghost-input{flex:1}.issue-body{padding:4px 2px 6px}.star{color:var(--line);background:0 0;border:0;flex-shrink:0;width:28px;padding:0;font-size:1.15rem}.star.on{color:var(--warn)}.solution{border-left:3px solid var(--accent-soft);flex-direction:column;gap:6px;padding-left:10px;display:flex}.do{flex-direction:column;gap:6px;display:flex}.do.inactive{opacity:.55}.do-pill{text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:6px 10px;font-size:.9rem}.badge{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-right:2px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.badge.routine{color:var(--good);border-color:currentColor}.badge.once{color:var(--accent);border-color:currentColor}.badge.sol{color:var(--muted)}.row-todo{grid-template-columns:1fr 140px 100px auto;gap:6px;display:grid}.row-todo:not(:has(button)){grid-template-columns:1fr 140px 100px}.pick{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.pick.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.pick-head{align-items:center;gap:8px;font-weight:600;display:flex}.pick-head input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.pick-head .ghost-input{flex:1}.wizard-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.steps{gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.steps li{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.72rem}.steps li.on{background:var(--accent);color:var(--accent-ink);font-weight:700}.steps li.done{color:var(--good)}.timer{color:var(--accent);white-space:nowrap;font-weight:700}.timer.over{color:var(--muted)}.sheet-backdrop{z-index:20;background:#140a0873;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:18px 18px 0 0;flex-direction:column;width:100%;max-width:720px;max-height:92dvh;animation:.2s up;display:flex}@keyframes up{0%{opacity:0;transform:translateY(24px)}}.sheet-head{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.sheet-body{padding:4px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto}@media (width>=760px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px}}.hint{background:var(--surface-2);border-radius:10px;padding:6px 10px;font-size:.85rem}.hint summary{cursor:pointer;color:var(--muted)}.hint ul{margin:6px 0 2px;padding-left:1.2em}details>summary{cursor:pointer}.history{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.compact{margin:4px 0;padding-left:1.2em}.question{font-weight:600}.weeknav{justify-content:space-between;align-items:center;display:flex}.guide{flex-direction:column;gap:4px;margin:0;padding-left:1.2em;display:flex}.sheet-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.checksheet{border-collapse:collapse;font-size:.75rem}.checksheet th,.checksheet td{border-bottom:1px solid var(--line);text-align:center;padding:0}.checksheet thead th{min-width:30px;padding:4px 0;font-weight:600}.checksheet th.sun{color:var(--bad)}.sticky-col{background:var(--surface);z-index:1;border-right:1px solid var(--line);min-width:112px;max-width:140px;position:sticky;left:0;text-align:left!important;padding:6px 8px!important}.sticky-col .link{color:var(--text);font-size:.8rem;font-weight:600}.checksheet td.off{background:repeating-linear-gradient(45deg, transparent 0 4px, var(--surface-2) 4px 6px)}.checksheet tr.inactive{opacity:.5}.cell{color:#fff;background:0 0;border:0;width:30px;height:32px;font-weight:800}.cell.full{background:var(--good)}.cell.half{background:color-mix(in srgb, var(--good) 45%, transparent)}.cell.s1,.cell.s2{background:color-mix(in srgb, var(--warn) 55%, transparent)}.cell.s3{background:color-mix(in srgb, var(--good) 45%, transparent)}.cell.s4,.cell.s5{background:var(--good)}.toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);z-index:30;border-radius:12px;max-width:calc(100% - 32px);padding:10px 16px;font-size:.88rem;animation:.2s up;position:fixed;transform:translate(-50%)}@media (width<=480px){.row3{grid-template-columns:1fr 1fr}.row3>:first-child{grid-column:1/-1}:is(.row-todo,.row-todo:not(:has(button))){grid-template-columns:1fr 1fr}.row-todo>input:first-child{grid-column:1/-1}.quickadd{grid-template-columns:1fr 96px}.quickadd button{grid-column:1/-1}}.btn.primary.danger-fill{background:var(--bad);border-color:var(--bad);color:#fff}.preview-note{background:var(--surface-2);color:var(--muted);border-radius:10px;margin-bottom:16px;padding:8px 12px}h2{letter-spacing:-.01em;font-size:1.12rem;font-weight:700}h3{font-size:1rem;font-weight:650}input,select,textarea{background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid #0000;padding:10px 12px;transition:background .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent), inset 0 0 0 1px var(--accent);outline:none}.topbar{background:var(--bar-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:.5px solid var(--line);padding:8px 20px;padding-top:calc(8px + env(safe-area-inset-top))}.brand{letter-spacing:0;color:var(--text);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.brand-mark{border-radius:6px;width:22px;height:22px}.gdot{font-size:.75rem;font-weight:600}.content{padding:8px 16px 24px}.tabbar{background:var(--bar-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--line)}.tabbar button{color:var(--muted);gap:2px;padding:7px 0 5px}.tabbar button.on{color:var(--accent);font-weight:600}.tab-icon{filter:none;display:flex}.tab-icon svg{width:25px;height:25px}.tab-label{letter-spacing:.01em;font-size:.66rem}.card.hero{box-shadow:none;background:0 0;border:0;padding:12px 4px 0}.hero-title{letter-spacing:-.025em;font-size:1.85rem;font-weight:800;line-height:1.2}.hero p,.hero .muted{margin-top:4px}.eyebrow{color:var(--muted);text-transform:none;font-size:.82rem;font-weight:600}.card{border-radius:var(--radius);box-shadow:var(--shadow);border:0}.card.flat{background:var(--surface);box-shadow:none}.section-head h2{letter-spacing:-.015em;font-size:1.25rem;font-weight:750}.section-head .link{font-weight:500}.routine,.todo,.issue,.pick{box-shadow:var(--shadow);border:0}.routine.is-done,.todo.is-done{background:var(--surface)}.routine.is-done .routine-title{color:var(--muted)}.empty{background:var(--surface);box-shadow:var(--shadow);border:0}.btn{background:var(--surface-2);border:0;border-radius:10px;padding:10px 16px;font-weight:600;transition:transform .1s,opacity .15s,background .15s}.btn:active:not(:disabled),.chip:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.ghost{color:var(--accent);background:0 0}.btn.ghost.danger{color:var(--bad)}.btn.big{border-radius:12px;padding:14px 18px}.chip{background:var(--surface-2);border:0;border-radius:6px;padding:5px 10px;font-size:.84rem;font-weight:500}.chip.on{background:var(--accent);color:var(--accent-ink)}.link{font-weight:500}.icon-btn{border-radius:8px}.seg{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:9px;gap:2px;padding:2px}.seg button{border-radius:7px;padding:7px 6px;font-size:.84rem;font-weight:500}.seg button.on{background:var(--surface);font-weight:650;box-shadow:0 3px 8px #0000001f,0 0 0 .5px #0000000a}.field-label{color:var(--muted);font-size:.8rem;font-weight:600}.check{border:2px solid color-mix(in srgb, var(--muted) 55%, transparent);background:0 0}.check.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.score-btn{background:var(--surface-2);border:0}.score-btn.on{background:var(--accent);color:var(--accent-ink)}.streak{color:var(--warn);font-weight:650}.bar{background:var(--surface-2);border-radius:7px;height:26px}.bar-fill{border-radius:7px}.ring-bg{stroke:color-mix(in srgb, var(--accent) 14%, transparent);stroke-width:8px}.ring-fg{stroke-width:8px}.dot{background:var(--surface-2);border:0;width:20px;height:20px}.morning,.cta{background:var(--surface);border-left:0}.morning h2:before{content:"☀️ "}.why{background:var(--surface-2);border-radius:var(--radius-sm)}.hint{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 12px}.badge{background:var(--surface-2);border:0;border-radius:4px;font-weight:600}.badge.routine{background:color-mix(in srgb, var(--good) 14%, transparent)}.badge.once{background:color-mix(in srgb, var(--accent) 12%, transparent)}.do-pill{border:0}.steps li.on{background:var(--text);color:var(--bg)}.sheet-backdrop{background:#00000052}.sheet{box-shadow:var(--shadow-lg);border-radius:14px 14px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) up}.sheet:before{content:"";background:color-mix(in srgb, var(--muted) 40%, transparent);border-radius:3px;width:36px;height:5px;margin:6px auto 0;display:block}.sheet-head h2{font-size:1.05rem}@media (width>=760px){.sheet{border-radius:14px}.sheet:before{display:none}}.sheet-wrap{box-shadow:var(--shadow);border:0}.checksheet th,.checksheet td{border-bottom:.5px solid var(--line)}.cell{color:var(--good);font-size:.95rem}.cell.full,.cell.half,.cell.s1,.cell.s2,.cell.s3,.cell.s4,.cell.s5{background:0 0}.cell.full{color:var(--good)}.cell.half{color:color-mix(in srgb, var(--good) 70%, var(--muted))}.cell.s1,.cell.s2{color:var(--warn)}.cell.s3,.cell.s4,.cell.s5{color:var(--good)}.checksheet th.today,.checksheet td.today{background:color-mix(in srgb, var(--accent) 8%, transparent)}.checksheet th.sat{color:var(--blue)}.pri{background:var(--surface-2);width:28px;height:24px;color:var(--muted);border:0;border-radius:6px;flex-shrink:0;align-self:center;padding:0;font-size:.78rem;font-weight:700}.pri-A{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.pri-B{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.pri-C{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--blue)}.audit{border-bottom:.5px solid var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.audit-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.audit-total{padding:10px 0;font-weight:650}.audit-note{flex:1;min-width:160px}.quad{grid-template-columns:1fr 1fr;gap:6px;display:grid}.quad>div{background:var(--surface-2);border-radius:var(--radius-sm);justify-content:space-between;gap:6px;padding:8px 10px;display:flex}.quad .quad-key{background:color-mix(in srgb, var(--good) 14%, transparent)}.toast{box-shadow:var(--shadow-lg);border-radius:14px;font-weight:500}.preview-note{background:var(--surface)}
