:root{--cool-gray: #c0c4c8;--cool-gray-dark: #8b9094;--warm-white: #f3f7f6;--warm-white-2: #eef3f2;--gold: #d6a85c;--gold-soft: rgba(214, 168, 92, .16);--mint: #6cbfb0;--mint-dark: #4ea092;--mint-soft: rgba(108, 191, 176, .12);--mint-soft-2: rgba(108, 191, 176, .2);--ink: #1a2233;--ink-soft: #4a5263;--line: rgba(26, 34, 51, .07);--line-strong: rgba(26, 34, 51, .12);--danger: #b94747;--sun: #c0504a;--sat: #3f6ea8;--shadow-sm: 0 1px 2px rgba(26, 34, 51, .04), 0 2px 8px rgba(26, 34, 51, .04);--shadow: 0 1px 2px rgba(26, 34, 51, .05), 0 10px 28px rgba(26, 34, 51, .06);--shadow-lift: 0 2px 6px rgba(26, 34, 51, .07), 0 16px 40px rgba(26, 34, 51, .1);--radius-sm: 10px;--radius: 16px;--radius-lg: 22px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--warm-white);color:var(--ink);font-family:Wanted Sans Variable,Wanted Sans,-apple-system,BlinkMacSystemFont,system-ui,Helvetica Neue,sans-serif;font-weight:500;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.app{max-width:560px;margin:0 auto;padding:20px 18px 120px}.topnav{display:flex;gap:4px;background:#1a22330d;padding:5px;border-radius:var(--radius-sm);margin-bottom:24px}.topnav .tab{flex:1;text-align:center;padding:9px 12px;border-radius:8px;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:14px;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.topnav .tab.active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.rh-section{margin-bottom:22px}.rh-section-title{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cool-gray-dark)}.rh-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 0 13px;margin-bottom:10px;overflow:hidden}.rh-card-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:0 15px}.rh-icon{flex-shrink:0;width:30px;height:30px;border-radius:9px;background:var(--warm-white-2);display:flex;align-items:center;justify-content:center;font-size:16px}.rh-name{flex:1;min-width:0;font-weight:600;font-size:15px}.rh-streak{font-size:12px;font-weight:700;color:var(--mint-dark);white-space:nowrap}.rh-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.rh-badge.ok{background:#e6f4f1;color:#2c8c7b}.rh-badge.late{background:#fbefdd;color:#b8792b}.rh-summary{margin:0 15px 12px;font-size:11.5px;color:var(--cool-gray-dark)}.rh-sub{margin:10px 15px 0;font-size:12px;color:var(--cool-gray-dark)}.rh-scrollwrap{position:relative}.rh-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.rh-scroller::-webkit-scrollbar{height:5px}.rh-scroller::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.rh-fade{position:absolute;top:0;bottom:0;left:0;width:24px;background:linear-gradient(90deg,#fff,#fff0);pointer-events:none}.rh-grid-row{display:flex;align-items:stretch;padding-left:15px}.rh-ylabels{display:grid;grid-template-rows:repeat(7,13px);gap:4px;padding-right:7px;flex-shrink:0}.rh-yl{height:13px;font-size:9.5px;line-height:1;color:var(--cool-gray-dark);display:flex;align-items:center}.rh-grid-row .rh-scrollwrap{flex:1;overflow:hidden}.rh-grid-row .rh-scroller{padding-right:15px}.rh-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);gap:4px;width:max-content}.rh-dot{width:13px;height:13px;border-radius:50%;background:#1a223312}.rh-dot.on{background:var(--mint)}.rh-track{position:relative;height:58px}.rh-axis{position:absolute;top:32px;height:2px;background:var(--line-strong);border-radius:2px}.rh-pt{position:absolute;top:26px;width:14px;height:14px;border-radius:50%;border:2.5px solid white;transform:translate(-50%);box-shadow:0 1px 3px #1a22331f}.rh-pt.on{background:var(--mint)}.rh-pt.late{background:#e0a85b}.rh-next{position:absolute;top:27px;width:13px;height:13px;border-radius:50%;border:2px dashed var(--cool-gray);background:#fff;transform:translate(-50%)}.rh-gap{position:absolute;top:5px;font-size:10px;color:var(--cool-gray-dark);transform:translate(-50%);white-space:nowrap}.rh-elbl{position:absolute;top:44px;font-size:9px;color:var(--cool-gray-dark);transform:translate(-50%);white-space:nowrap}.cal-nav{display:flex;align-items:center;gap:8px;margin:20px 0 12px}.cal-nav button{background:transparent;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:16px;color:var(--ink);line-height:1}.cal-nav button:hover{background:var(--line)}.cal-nav strong{flex:1;text-align:center;font-size:15px}.cal-nav .cal-today{font-size:13px;font-weight:500}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-weekday{text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--cool-gray-dark);padding:6px 0}.cal-weekday.sun,.cal-cell .day.sun{color:var(--sun)}.cal-weekday.sat,.cal-cell .day.sat{color:var(--sat)}.cal-cell{position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 4px 8px;height:62px;display:flex;flex-direction:column;align-items:stretch;cursor:pointer;font-family:inherit}.cal-cell:hover{background:#6cbfb00f}.cal-cell.out{background:transparent;border-color:transparent}.cal-cell.out .day{color:var(--cool-gray)}.cal-cell.today{border-color:var(--mint);border-width:2px;padding:5px 3px 7px}.cal-cell.selected{background:#6cbfb024;border-color:var(--mint)}.cal-cell .day{text-align:left;font-size:12px;color:var(--ink);font-weight:500}.cal-cell .dots{display:flex;flex-direction:column;gap:3px;margin-top:auto;align-items:center}.cal-cell .dot-row{display:flex;gap:4px;align-items:center;justify-content:center}.dot{display:inline-block;width:6px;height:6px;border-radius:999px}.dot.done{background:var(--mint)}.dot.due{background:var(--cool-gray-dark)}.dot.scheduled{background:var(--gold);color:#fff;font-size:7px;line-height:9px;text-align:center;font-weight:700;width:9px;height:9px}.dot.scheduled.done{background:var(--mint-dark)}.dot.due.inline{background:transparent;border:1.5px solid var(--cool-gray-dark)}.dot.inline{margin-right:6px;vertical-align:middle}.more{font-size:9px;color:var(--ink-soft);font-weight:600}.cal-legend{display:flex;align-items:center;gap:5px}.cal-legend .dot{margin-left:10px}.cal-legend .dot:first-child{margin-left:0}.cal-loading{text-align:center;color:var(--cool-gray-dark);font-size:13px;margin-top:12px}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:4px;box-shadow:var(--shadow-sm)}.search-icon{font-size:14px;opacity:.7;flex-shrink:0}.search-input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;color:var(--ink);min-width:0}.search-input::placeholder{color:var(--cool-gray-dark)}.search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-clear{flex-shrink:0;border:none;background:transparent;color:var(--cool-gray-dark);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.search-results{margin-top:14px}.search-empty{text-align:center;color:var(--cool-gray-dark);font-size:14px;margin-top:28px}.search-section{margin-bottom:18px}.search-section-title{font-size:13px;font-weight:700;color:var(--ink-soft);margin:0 0 8px 2px}.search-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);padding:12px 14px;margin-bottom:10px}.search-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.search-card-name{font-weight:700;font-size:15px;color:var(--ink)}.search-card-name.row-done{text-decoration:line-through;color:var(--cool-gray-dark)}.badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px}.badge.muted{background:var(--warm-white-2);color:var(--cool-gray-dark)}.badge.done{background:var(--mint-soft-2);color:var(--mint-dark)}.search-comp{margin-top:6px}.search-comp-label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:6px}.date-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.date-chip{border:1px solid var(--line-strong);background:var(--warm-white);color:var(--ink);font-family:inherit;font-size:12.5px;font-weight:600;padding:5px 9px;border-radius:999px;cursor:pointer}.date-chip.done{border-color:var(--mint);color:var(--mint-dark)}.date-chip.due{display:inline-block;border-color:var(--cool-gray-dark);color:var(--ink-soft);margin-bottom:8px}.date-chip.scheduled{display:inline-block;border-color:var(--gold);color:var(--ink-soft)}.more-count{font-size:12px;color:var(--cool-gray-dark)}.search-note{margin:8px 0 0;font-size:12.5px;color:var(--ink-soft);line-height:1.5}.search-none{font-size:12.5px;color:var(--cool-gray-dark)}.day-detail{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}.day-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ghost-close{background:transparent;border:none;font-size:20px;color:var(--cool-gray-dark);cursor:pointer;padding:0 6px}.day-section{margin-top:8px}.day-section-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cool-gray-dark);margin:0 0 6px}.day-section ul{list-style:none;padding:0;margin:0}.day-section li{display:flex;align-items:center;font-size:14px;padding:4px 0}.day-section li .time{margin-left:auto;color:var(--ink-soft);font-size:12px}.day-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"dot name time" ".   actions actions";align-items:center;column-gap:6px;row-gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}.day-row:last-child{border-bottom:none}.day-row .dot.inline{grid-area:dot;margin-right:0}.day-row .day-row-name{grid-area:name;display:flex;flex-direction:column;font-size:14px}.day-row .day-row-name .row-link{font-size:11px;color:var(--ink-soft);margin-top:2px}.day-row .row-done{color:var(--cool-gray-dark);text-decoration:line-through}.day-row .time{grid-area:time}.day-row-actions{grid-area:actions;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.day-row.day-row--inline{grid-template-areas:"dot name actions";align-items:center}.day-row.day-row--inline .day-row-actions{justify-content:flex-end}.day-section li.day-row-group{display:block;padding:0;border-bottom:1px solid var(--line)}.day-section li.day-row-group:last-child{border-bottom:none}.day-row-group .day-row{border-bottom:none}.day-row .cal-proj-name{flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.day-row .cal-proj-name .cal-steps-toggle{margin-top:0;align-self:center}.cal-steps-toggle{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:4px;background:var(--warm-white-2);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;color:var(--ink-soft);cursor:pointer}.cal-steps-toggle:hover{color:var(--ink);border-color:var(--line-strong)}.cal-steps{list-style:none;margin:0;padding:2px 0 8px 26px}.cal-step{display:flex;align-items:center;gap:6px;font-size:13px;padding:3px 0;color:var(--ink-soft)}.cal-step-mark{width:14px;text-align:center;font-size:12px;color:var(--cool-gray-dark)}.cal-step.is-done .cal-step-mark{color:var(--mint)}.cal-step.is-done .cal-step-name{color:var(--cool-gray-dark);text-decoration:line-through}.row-hint{font-size:12px;color:var(--cool-gray-dark)}.row-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}.row-btn:hover{background:var(--warm-white)}.row-btn.primary{border-color:var(--mint);color:var(--mint-dark);background:#6cbfb014}.row-btn.primary:hover{background:#6cbfb02e}.row-btn.danger{border-color:transparent;color:#b94747}.row-btn.danger:hover{background:#b9474714}.day-detail-foot{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.add-day-event{width:100%;background:transparent;border:1px dashed var(--cool-gray);color:var(--ink-soft);padding:10px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}.add-day-event:hover{border-color:var(--mint);color:var(--mint-dark);background:#6cbfb00a}.postpone-quick{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.postpone-preview{margin:0 0 16px;font-size:14px;color:var(--ink-soft)}.postpone-preview strong{color:var(--ink);font-weight:700}.quick-btn{background:#fff;border:1px solid var(--mint);color:var(--mint-dark);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.quick-btn:hover{background:var(--mint);color:#fff}.onb{padding-bottom:8px}.onb-progress{display:flex;align-items:center;gap:8px;margin:4px 0 18px}.onb-pstep{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--cool-gray-dark);transition:color .2s ease}.onb-pstep.on{color:var(--mint-dark)}.onb-pnum{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:var(--warm-white-2);color:var(--cool-gray-dark);font-size:11px;font-weight:700;transition:all .2s ease}.onb-pstep.on .onb-pnum{background:var(--mint);color:#fff}.onb-pstep.done .onb-pnum{background:var(--mint-soft-2);color:var(--mint-dark)}.onb-pline{flex:1;height:2px;border-radius:2px;background:var(--line-strong)}.onb-fade{animation:onbFade .32s cubic-bezier(.2,.7,.2,1) both}@keyframes onbFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.onb-hero{display:flex;align-items:flex-end;gap:10px;margin:6px 0 22px}.onb-mascot{width:88px;height:88px;object-fit:contain;flex-shrink:0}.onb-bubble{position:relative;flex:1;background:#fff;border:1px solid var(--line);border-radius:var(--radius);border-bottom-left-radius:5px;padding:13px 15px;box-shadow:var(--shadow-sm)}.onb-bubble:before{content:"";position:absolute;left:-7px;bottom:12px;width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.onb-bubble-title{margin:0 0 3px;font-size:18px;font-weight:800;letter-spacing:-.01em}.onb-bubble-sub{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.45}.onb-rv-head{margin:4px 0 18px}.onb-rv-head h1{margin:0 0 4px;font-size:22px;font-weight:800;letter-spacing:-.02em}.onb-rv-head p{margin:0;font-size:14px;color:var(--ink-soft)}.seg-field{margin-bottom:18px}.seg-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:9px}.seg-icon{font-size:15px;line-height:1}.seg-group{display:flex;gap:6px}.seg-btn{flex:1;padding:12px 8px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-soft);border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .08s ease}.seg-btn:active{transform:scale(.97)}@media (hover: hover){.seg-btn:hover{border-color:var(--mint);color:var(--ink)}}.seg-btn.active{background:var(--mint);border-color:var(--mint);color:#fff;box-shadow:var(--shadow-sm)}.onb-cards{list-style:none;padding:0;margin:0 0 4px;display:flex;flex-direction:column;gap:10px}.onb-card{border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}.onb-card.selected{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint),var(--shadow-sm)}.onb-card-main{width:100%;display:flex;align-items:center;gap:12px;padding:14px;border:0;background:transparent;text-align:left}.onb-check{flex-shrink:0;width:24px;height:24px;border-radius:999px;border:2px solid var(--cool-gray);background:transparent;position:relative;transition:all .16s ease}.onb-check:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border-right:2px solid white;border-bottom:2px solid white;transform:rotate(43deg);opacity:0;transition:opacity .16s ease}.onb-card.selected .onb-check{border-color:var(--mint);background:var(--mint)}.onb-card.selected .onb-check:after{opacity:1}.onb-card-text{display:flex;flex-direction:column;gap:3px;min-width:0}.onb-card-text strong{font-size:15px;font-weight:600;color:var(--ink)}.onb-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}.onb-cat-chip{background:var(--mint-soft);color:var(--mint-dark);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.onb-card-controls{padding:0 14px 14px 50px;display:flex;flex-direction:column;gap:10px}.onb-cta{position:sticky;bottom:0;z-index:2;display:flex;gap:10px;align-items:center;margin-top:18px;padding:12px 0 calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--warm-white) 72%,rgba(243,247,246,0))}.onb-cta .ghost{border:none;background:transparent;color:var(--ink-soft);padding:13px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600}.onb-cta .primary{border:none;background:var(--ink);color:#fff;padding:14px 20px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;box-shadow:var(--shadow);transition:transform .08s ease,opacity .15s ease}.onb-cta .primary:active{transform:scale(.985)}.onb-cta .primary:disabled{opacity:.45;box-shadow:none}.onb-primary{flex:1}.yn{display:flex;flex-direction:column;min-height:calc(100dvh - 48px)}.yn-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.yn-dots{display:flex;gap:5px}.yn-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:width .2s ease,background .2s ease}.yn-dot.on{background:var(--mint);width:18px;border-radius:4px}.yn-dot.done{background:var(--mint-soft-2)}.yn-skip{font-size:14px;font-weight:700;color:var(--ink-soft);background:var(--warm-white-2);border:none;padding:10px 18px;border-radius:22px;cursor:pointer}.yn-back{flex-shrink:0;border:none;background:var(--warm-white-2);color:var(--ink-soft);font-size:14px;font-weight:700;padding:10px 16px;border-radius:22px;cursor:pointer}.yn-back.hidden{visibility:hidden}.yn-iseul{font-size:12.5px;font-weight:600;color:var(--mint-dark);margin:14px 2px 0}.yn-qwrap{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 6px}.yn-emoji{font-size:54px;margin-bottom:18px}.yn-q{font-size:22px;font-weight:800;line-height:1.35;letter-spacing:-.01em}.yn-qsub{font-size:13.5px;color:var(--ink-soft);margin-top:9px;line-height:1.5}.yn-btns{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-bottom:env(safe-area-inset-bottom)}.yn-btn{padding:16px;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;border:1.5px solid transparent;transition:transform .08s ease,background .12s ease}.yn-btn:active{transform:scale(.99)}.yn-btn.yes{background:var(--mint);color:#fff}.yn-btn.no{background:#fff;color:var(--ink-soft);border-color:var(--line-strong)}.yn-btn.selected:before{content:"✓ "}.yn-btn.yes.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--mint-dark)}.yn-btn.no.selected{background:var(--mint-soft);border-color:var(--mint);color:var(--mint-dark)}.yn-result{flex:1;display:flex;flex-direction:column;padding-top:8px}.yn-rtitle{font-size:21px;font-weight:800;margin:8px 2px 4px}.yn-rsub{font-size:13px;color:var(--ink-soft);margin:0 2px 16px;line-height:1.5}.yn-group{margin-bottom:14px}.yn-glabel{font-size:12px;font-weight:700;color:var(--mint-dark);margin-bottom:7px}.yn-chips{display:flex;flex-wrap:wrap;gap:7px}.yn-chip{font-size:12.5px;font-family:inherit;background:#fff;border:1.5px solid var(--mint-soft-2);color:var(--ink);padding:7px 12px;border-radius:20px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s ease,border-color .12s ease,color .12s ease}.yn-chip.on{background:var(--mint);border-color:var(--mint);color:#fff;font-weight:600}.yn-chip.on:before{content:"✓ ";font-size:11px}.yn-chip.off{background:#f4f2ee;border-color:#e4e1da;color:var(--ink-soft);text-decoration:line-through;text-decoration-color:#c8cfcf}.yn-chip.add{background:#fff;border:1.5px dashed var(--mint);color:var(--mint-dark);font-weight:600}.yn-start{margin-top:auto;padding:16px;border-radius:14px;background:var(--ink);color:#fff;font-size:16px;font-weight:700;border:none;cursor:pointer;box-shadow:var(--shadow)}.yn-start:disabled{opacity:.5}.metric-grid{display:flex;gap:10px}.metric-stat{flex:1;background:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:14px 10px;text-align:center}.metric-stat strong{display:block;font-size:22px;font-weight:700;color:var(--ink)}.metric-stat span{font-size:12px;color:var(--ink-soft)}.metric-sub{font-size:12px;font-weight:500;color:var(--cool-gray-dark)}.character-avatar{width:36px;height:36px;object-fit:contain;flex-shrink:0}.nudge-card{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:var(--mint-soft);border:1px solid var(--mint-soft-2);border-radius:var(--radius);padding:14px;margin:0 0 16px;cursor:pointer;font-family:inherit;transition:background .15s ease}.nudge-card:hover{background:var(--mint-soft-2)}.nudge-avatar{flex-shrink:0;width:40px;height:40px;object-fit:contain}.nudge-body{flex:1;min-width:0}.nudge-surface{margin:0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.45}.nudge-hint{margin:4px 0 0;font-size:12px;color:var(--mint-dark)}.nudge-expand{margin-top:8px}.nudge-mech{display:inline-block;font-size:11px;font-weight:700;color:var(--mint-dark);background:#fff;border-radius:999px;padding:2px 9px;margin-bottom:6px}.nudge-translation{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.5}.toast-stack{position:fixed;left:50%;top:14px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:50;width:max-content;max-width:calc(100vw - 32px);pointer-events:none}.toast{display:flex;align-items:center;gap:14px;background:var(--ink);color:var(--warm-white);padding:12px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lift);font-size:14px;font-weight:500;pointer-events:auto}.toast.error{background:var(--danger)}.toast-msg{flex:1}.toast-action{flex-shrink:0;background:transparent;border:none;color:var(--mint);font-weight:700;font-size:14px;padding:2px 4px;cursor:pointer}.toast.error .toast-action{color:var(--warm-white);text-decoration:underline}button:disabled,button[disabled]{opacity:.5;cursor:not-allowed}button:focus-visible,.seg-btn:focus-visible,.weekday-chip:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint-dark);outline-offset:2px}.weekday-chips{display:flex;gap:6px}.weekday-chip{flex:1;padding:9px 0;border:1px solid var(--line-strong);background:#fff;color:var(--ink-soft);border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .14s ease}.weekday-chip:hover{border-color:var(--mint);color:var(--ink)}.weekday-chip.active{background:var(--mint);border-color:var(--mint);color:#fff}.field-hint{margin:6px 0 0;font-size:12px;color:var(--cool-gray-dark)}.cat-badge{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--warm-white-2);color:var(--ink-soft);font-size:11px;font-weight:600;vertical-align:middle}.cat-filter{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}.cat-chip{padding:7px 14px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-soft);border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .14s ease}.cat-chip:hover{border-color:var(--mint);color:var(--ink)}.cat-chip.active{background:var(--ink);border-color:var(--ink);color:var(--warm-white)}.onboarding-list{list-style:none;padding:0;margin:0 0 16px}.onboarding-list li{background:#fff;border:1px solid transparent;border-radius:var(--radius-sm);margin-bottom:8px;box-shadow:var(--shadow-sm)}.onboarding-list label{display:flex;align-items:center;gap:12px;padding:12px;cursor:pointer}.onboarding-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--mint);flex-shrink:0}.onboarding-list span{display:flex;flex-direction:column}.onboarding-meta{font-size:12px;color:var(--ink-soft);margin-top:2px}.onboarding-hint{display:flex;align-items:center;gap:8px;margin:4px 12px 12px 42px;font-size:12px;color:var(--ink-soft)}.onboarding-hint select{font-family:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.onboarding-controls{margin:0 12px 12px 42px}.edit-toggle{background:none;border:none;padding:4px 0;font:inherit;font-size:12px;color:var(--mint-dark);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.onboarding-edit{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:12px;background:var(--warm-white-2);border-radius:var(--radius-sm)}.edit-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-soft)}.edit-row input{flex:1;font-family:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink)}.lastdone-field{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--ink-soft)}.lastdone-field select,.lastdone-field input[type=date]{font-family:inherit;font-size:12px;padding:5px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink)}.reminder{display:flex;align-items:center;gap:10px;background:#6cbfb01f;border:1px solid rgba(108,191,176,.35);color:var(--ink);padding:10px 14px;border-radius:10px;margin:12px 0 4px;font-size:13px}.reminder-text{flex:1}.reminder-actions{display:flex;gap:6px}.reminder-btn{background:#fff;border:1px solid rgba(108,191,176,.5);color:var(--mint-dark);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer}.reminder-btn:hover{background:#6cbfb01a}.reminder-btn.ghost{background:transparent;border-color:transparent;color:var(--ink-soft)}.opt-in{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--ink-soft);margin:6px 0 0;min-height:32px}.opt-in-active strong{color:var(--ink);font-weight:500}.opt-in-link{background:transparent;border:none;color:var(--mint-dark);cursor:pointer;padding:0;font:inherit;text-decoration:underline;text-underline-offset:2px}.opt-in-link:hover{color:var(--ink)}.opt-in-form input[type=email]{font-family:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);flex:1;min-width:180px}.opt-in-form input[type=email]:focus{outline:none;border-color:var(--mint)}.opt-in-submit{background:var(--mint);color:#fff;border:none;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:500;cursor:pointer}.opt-in-submit:hover{background:var(--mint-dark)}.opt-in-error{flex-basis:100%;color:#b94747;font-size:12px}.settings-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 16px;margin-bottom:14px;box-shadow:var(--shadow)}.settings-title{font-size:15px;font-weight:600;margin:0 0 4px}.settings-desc{font-size:13px;color:var(--ink-soft);margin:0 0 12px}.settings-row{display:flex;align-items:center;gap:10px}.settings-value{font-size:14px;color:var(--ink);flex:1}.settings-hint{margin:8px 0 0;font-size:12px;color:var(--cool-gray-dark)}.toggle{flex-shrink:0;width:46px;height:28px;border-radius:999px;border:none;background:var(--line-strong);padding:0;cursor:pointer;position:relative;transition:background .18s ease}.toggle.on{background:var(--mint)}.toggle:disabled{opacity:.45;cursor:not-allowed}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s ease}.toggle.on .toggle-knob{transform:translate(18px)}.settings-footer{margin:28px 0 12px;text-align:center;color:var(--cool-gray-dark);font-size:12px}.settings-footer p{margin:2px 0}.settings-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;background:var(--warm-white);border:1px solid var(--line);border-radius:6px;padding:4px 10px;color:var(--ink-soft)}.danger-zone{border-color:#b947474d}.danger-btn{background:transparent;border:1px solid #b94747;color:#b94747;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit}.danger-btn:hover{background:#b947470f}.danger-btn:disabled{opacity:.5;cursor:default}.header h1{font-size:27px;font-weight:700;margin:0 0 5px;letter-spacing:-.02em}.header .summary{color:var(--ink-soft);font-size:14px;margin:0 0 20px}.bucket{margin-top:26px}.bucket-title{display:flex;align-items:baseline;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0 0 12px}.bucket-title .bucket-count{font-size:13px;font-weight:600;color:var(--mint-dark)}.bucket-empty{color:var(--cool-gray-dark);font-size:13px;padding:6px 2px 4px}.rest-state{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px 20px 24px;text-align:center;margin-bottom:22px}.rest-mascot{width:96px;height:96px;object-fit:contain;margin:0 auto 12px;display:block}.rest-title{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 4px}.rest-sub{font-size:13px;color:var(--ink-soft);margin:0}.task{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid transparent;border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,transform .18s ease}.task:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.task.is-done{background:var(--warm-white);box-shadow:none;border-color:transparent}.task .check{flex-shrink:0;width:30px;height:30px;border:none;background:transparent;padding:0;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.task .check .chk{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.task .check .chk-track{fill:#fff;stroke:var(--cool-gray);stroke-width:2;transition:stroke .2s ease}.task .check .chk-fill{fill:var(--mint);opacity:0;transition:opacity .3s ease}.task .check .chk-ring{fill:none;stroke:var(--mint);stroke-width:2.5;stroke-dasharray:88;stroke-dashoffset:88;transition:stroke-dashoffset .4s ease}.task .check .chk-mark{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease .25s}@media (hover: hover){.task .check:hover .chk-track{stroke:var(--mint)}}.task .check:active{transform:scale(.92)}.task.is-done .check .chk-fill{opacity:1}.task.is-done .check .chk-ring,.task.is-done .check .chk-mark{stroke-dashoffset:0}@media (prefers-reduced-motion: reduce){.task .check .chk-fill,.task .check .chk-ring,.task .check .chk-mark,.task .check .chk-track{transition:none}}.fx-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60}.fx-particle{position:absolute;width:6px;height:6px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;will-change:transform,opacity}.fx-bubble{position:absolute;transform:translate(14px,-50%) scale(.7);opacity:0;background:var(--navy, #1f3a44);color:#fff;font-size:12px;font-weight:600;padding:6px 11px;border-radius:14px;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #1f3a4440;animation:fx-bubble 1.5s ease forwards}@keyframes fx-bubble{0%{opacity:0;transform:translate(14px,-50%) scale(.7)}12%{opacity:1;transform:translate(14px,-50%) scale(1)}80%{opacity:1;transform:translate(14px,-50%) scale(1)}to{opacity:0;transform:translate(14px,-50%) scale(.95)}}.fx-bubble.reduced{animation:none;opacity:1;transform:translate(14px,-50%) scale(1)}@media (prefers-reduced-motion: reduce){.fx-bubble{animation:none;opacity:1;transform:translate(14px,-50%) scale(1)}}.task .body{flex:1;min-width:0}.task .name{font-weight:600;font-size:15px;margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task .name .steps-toggle{flex-shrink:0;margin-left:auto}.task.is-done .name{color:var(--cool-gray-dark)}.task .name .badge{font-size:11px;font-weight:600;color:var(--mint-dark);background:var(--mint-soft);padding:2px 9px;border-radius:999px}.task .name .done-badge{color:#fff;background:var(--mint)}.task .meta{font-size:13px;color:var(--ink-soft);margin-top:3px}.action-link{font-size:12px;color:var(--mint-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.action-label-seg{margin-top:8px}.action-label-seg .seg-btn{padding:9px 8px}.undo-link{background:none;border:none;padding:0;margin-left:2px;font:inherit;font-size:12px;color:var(--mint-dark);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.undo-link:hover{color:var(--ink)}.task .edit{flex-shrink:0;background:transparent;border:none;color:var(--cool-gray-dark);font-size:13px;padding:6px 10px;border-radius:8px;transition:color .15s ease,background .15s ease}.task .edit:hover{color:var(--ink);background:var(--line)}.steps-toggle{display:inline-flex;align-items:center;gap:4px;background:var(--warm-white-2);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.steps-toggle:hover{color:var(--ink);border-color:var(--line-strong)}.steps-caret{font-size:9px;line-height:1;color:var(--cool-gray-dark)}.steps{margin-top:10px;padding-left:2px;display:flex;flex-direction:column;gap:4px}.step{display:flex;align-items:center;gap:10px;padding:4px 2px}.step-check{flex-shrink:0;width:20px;height:20px;border-radius:999px;border:2px solid var(--cool-gray);background:transparent;padding:0;position:relative;cursor:pointer;transition:all .15s ease}.step-check:after{content:"";position:absolute;border-bottom:2px solid white;border-right:2px solid white;width:5px;height:9px;left:6px;top:2px;transform:rotate(43deg);opacity:0;transition:opacity .15s ease}.step.is-done .step-check{border-color:var(--mint);background:var(--mint)}.step.is-done .step-check:after{opacity:1}@media (hover: hover){.step-check:hover{border-color:var(--mint);background:var(--mint-soft)}}.step-check:active{transform:scale(.9)}.step-name{flex:1;min-width:0;font-size:14px;color:var(--ink-soft);word-break:break-word}.step.is-done .step-name{color:var(--cool-gray-dark);text-decoration:line-through}.step-delete{flex-shrink:0;background:transparent;border:none;color:var(--cool-gray-dark);font-size:13px;line-height:1;padding:6px 8px;border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease}.step-delete:hover{color:var(--danger);background:var(--line)}.step-add{display:flex;gap:8px;margin-top:4px;padding-left:30px}.step-add-input{flex:1;min-width:0;font:inherit;font-size:14px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}.step-add-input:focus{outline:none;border-color:var(--mint)}.step-add-btn{flex-shrink:0;background:var(--mint-soft);border:1px solid var(--mint-soft-2);color:var(--mint-dark);font-size:13px;font-weight:600;padding:0 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.step-add-btn:hover:not(:disabled){background:var(--mint-soft-2)}.step-add-btn:disabled{opacity:.45;cursor:default}.step-handle{flex-shrink:0;width:22px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--cool-gray-dark);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.step-handle:active{cursor:grabbing}.step.is-dragging{background:#fff;border-radius:var(--radius-sm);box-shadow:0 4px 14px #00000024;transform:scale(1.01);position:relative;z-index:2}.step-name-btn{text-align:left;background:transparent;border:none;padding:2px 0;cursor:text;font:inherit}.step-name-input{flex:1;min-width:0;font:inherit;font-size:14px;padding:6px 10px;border:1px solid var(--mint);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}.step-name-input:focus{outline:none;border-color:var(--mint)}.fab{position:fixed;bottom:24px;right:max(18px,calc(50% - 336px));background:var(--ink);color:var(--warm-white);border:none;border-radius:999px;padding:15px 24px;font-size:15px;font-weight:600;box-shadow:var(--shadow-lift);transition:background .15s ease,transform .15s ease}.fab:hover{background:var(--ink-soft);transform:translateY(-1px)}.fab:active{transform:translateY(0) scale(.98)}.mascot-clearance{height:180px}.mascot-peek{position:fixed;bottom:0;left:max(-6px,calc(50% - 308px));width:min(96vw,360px);height:160px;pointer-events:none;z-index:6}.mascot-peek img{position:absolute;left:0;bottom:0;width:160px;height:auto;opacity:.92;transform:translateY(30%)}.mascot-bubble{position:absolute;left:16px;bottom:150px;pointer-events:auto;width:max-content;max-width:min(92vw,360px);text-align:left;background:#fff;border:1.5px solid var(--mint);border-radius:16px 16px 16px 5px;box-shadow:var(--shadow-lift);padding:13px 16px;cursor:pointer;font-family:inherit}.mascot-bubble-surface{display:block;font-size:15px;font-weight:600;color:var(--ink);line-height:1.5}.mascot-bubble-hint{display:block;margin-top:5px;font-size:12.5px;color:var(--mint-dark)}.mascot-bubble-expand{display:block;margin-top:9px}.mascot-bubble-translation{display:block;margin-top:5px;font-size:14px;color:var(--ink-soft);line-height:1.6}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a223366;display:flex;align-items:flex-end;justify-content:center;z-index:10}.modal{background:var(--warm-white);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:24px 20px 32px}.modal h2{margin:0 0 16px;font-size:18px;font-weight:600}.modal .tabs{display:flex;gap:4px;margin-bottom:18px;background:#1a22330f;padding:4px;border-radius:10px}.modal .tabs button{flex:1;padding:8px;background:transparent;border:none;border-radius:8px;font-weight:500;color:var(--ink-soft)}.modal .tabs button.active{background:#fff;color:var(--ink)}.preset-group+.preset-group{margin-top:14px}.preset-group-title{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--mint-dark)}.preset-list{list-style:none;padding:0;margin:0}.preset-list li{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#fff}.preset-list li.is-added{opacity:.55}.preset-list .preset-main{flex:1;min-width:0}.preset-list .preset-meta{font-size:12px;color:var(--ink-soft);margin-top:2px}.preset-list .add-btn{background:var(--mint);color:#fff;border:none;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;flex-shrink:0}.preset-list .add-btn:hover{background:var(--mint-dark)}.preset-hint{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--ink-soft)}.preset-hint select{font-family:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.preset-steps{margin-top:8px}.preset-steps-toggle{background:none;border:none;padding:2px 0;font-size:12px;font-weight:600;color:var(--mint-dark);cursor:pointer}.preset-steps-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.preset-steps-list li label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.preset-steps-list input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.modal-hint{font-size:12px;color:var(--ink-soft);margin:-8px 0 14px;line-height:1.4}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-row label{font-size:13px;color:var(--ink-soft);font-weight:500}.form-row input,.form-row select{font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--mint)}.form-actions{display:flex;gap:8px;margin-top:18px;justify-content:flex-end}.form-actions button{padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500;border:none}.form-actions .primary{background:var(--ink);color:var(--warm-white)}.form-actions .ghost{background:transparent;color:var(--ink-soft)}.form-actions .danger{background:transparent;color:#b94747}.error{color:#b94747;font-size:13px;margin:8px 0}
