@font-face{font-family:SUIT Variable;font-weight:100 900;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/sun-typeface/SUIT@2.0.5/fonts/variable/woff2/SUIT-Variable.woff2) format("woff2-variations")}@font-face{font-family:DewingMCI;font-display:block;src:url(/fonts/mci.woff?v=3) format("woff")}@font-face{font-family:DewingFeather;font-display:block;src:url(/fonts/feather.woff?v=3) format("woff")}:root{color-scheme:light;--cool-gray: #c0c4c8;--cool-gray-dark: #8b9094;--warm-white: #f3f7f6;--warm-white-2: #eef3f2;--card: #ffffff;--card-inset: #f1f3f2;--gold: #d6a85c;--gold-soft: rgba(214, 168, 92, .16);--mint: #6cbfb0;--mint-dark: #276f63;--on-mint: #1a2233;--mint-soft: rgba(108, 191, 176, .12);--mint-soft-2: rgba(108, 191, 176, .2);--ink: #1a2233;--ink-soft: #4a5263;--late-ink: #94601c;--amber: #e0a85b;--navy-rule: #2b3a67;--navy-ink: #1f3a44;--today-pill: #2b3a67;--today-pill-ink: #ffffff;--solid-btn: #1a2233;--solid-btn-ink: #ffffff;--bubble: #1f3a44;--bubble-ink: #ffffff;--bubble-accent: #6cbfb0;--bubble-surface: #ffffff;--bubble-surface-ink: #1a2233;--line: rgba(26, 34, 51, .07);--line-strong: rgba(26, 34, 51, .12);--danger: #b94747;--scrim: rgba(26, 34, 51, .4);--sun: #c0504a;--sat: #3f6ea8;--shadow-sm: 0 2px 6px rgba(26, 34, 51, .06);--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}@media (prefers-color-scheme: dark){:root:not(.light-only){color-scheme:dark;--cool-gray: #565c66;--cool-gray-dark: #8e959e;--warm-white: #121722;--warm-white-2: #1a2029;--card: #1c232e;--card-inset: #28313d;--gold-soft: rgba(214, 168, 92, .22);--mint-dark: #7fd4c4;--mint-soft: rgba(108, 191, 176, .16);--mint-soft-2: rgba(108, 191, 176, .24);--ink: #f2f5f7;--ink-soft: #aeb6c2;--late-ink: #e0a85b;--navy-rule: #33436f;--navy-ink: #b8ccd4;--due-chip: #28313d;--star-mix: 22%;--hol-mix: 20%;--today-pill: #8fa5d8;--today-pill-ink: #16203a;--solid-btn: #dbe2ea;--solid-btn-ink: #16203a;--bubble: #dbe2ea;--bubble-ink: #16203a;--bubble-accent: #2b6b60;--bubble-surface: #dbe2ea;--bubble-surface-ink: #16203a;--badge-ink: #2b6b60;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--danger: #e07070;--scrim: rgba(0, 0, 0, .55);--sun: #e2736d;--sat: #7ba2d8;--shadow-sm: none;--shadow: 0 10px 28px rgba(0, 0, 0, .3);--shadow-lift: 0 16px 40px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--warm-white);color:var(--ink);font-family:SUIT Variable,-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,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{position:relative;max-width:560px;margin:0 auto;padding:20px 18px 180px}.app.app-tabs{padding:calc(env(safe-area-inset-top,0px) + 54px) 20px calc(env(safe-area-inset-bottom,0px) + 200px)}.mci,.fea{display:inline-block;font-style:normal;font-weight:400;line-height:1;speak:never;-webkit-font-smoothing:antialiased}.mci{font-family:DewingMCI}.fea{font-family:DewingFeather}.roof{position:absolute;top:0;left:0;right:0;height:calc(env(safe-area-inset-top,0px) + 90px);overflow:hidden;pointer-events:none;background:linear-gradient(var(--roof-sky, #d6e9f2),var(--warm-white))}.roof svg{position:absolute;left:0;bottom:0;width:100%;height:96px}@media (prefers-color-scheme: dark){.roof{--roof-sky: #0a1020}}.hrow{position:relative;display:flex;align-items:center;gap:8px;min-height:38px}.hrow h1{margin:0;font-size:26px;font-weight:800;letter-spacing:0;line-height:1.2}.hcount{flex:1;margin-left:10px;font-size:18px;font-weight:700;color:var(--cool-gray-dark)}.hcount b{color:var(--mint-dark);font-weight:800;font-size:19px}.hrow .grow{flex:1}.hbtn{flex:none;width:38px;height:38px;padding:0;border-radius:19px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line-strong);color:var(--mint-dark);font-size:19px;text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative}.hbtn:after,.cal-nav button:after,.task .check:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.cal-nav button{position:relative}.hbtn:active{transform:scale(.97)}.hrow2{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:9px}.add-pill{border:0;border-radius:22px;padding:9px 15px;font-size:13.5px;font-weight:800;background:linear-gradient(135deg,#6cbfb0,#4ea092);color:var(--on-mint)}.add-pill:active{transform:scale(.97)}.hsum{font-size:13px;color:var(--ink-soft);margin:6px 0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding:6px 0 calc(env(safe-area-inset-bottom,0px) + 6px)}.tabbar-in{display:flex;width:100%;max-width:560px}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 0;color:var(--ink-soft);text-decoration:none;font-size:10.5px;font-weight:600;-webkit-tap-highlight-color:transparent}.tabbar a.active{color:var(--mint-dark)}.tabbar .mci{font-size:23px;height:24px}.tabbar .fea{font-size:22px;height:24px}.tabbar .paw{width:21px;height:24px;background:currentColor;-webkit-mask:url(/paw-outline.png) center / 21px no-repeat;mask:url(/paw-outline.png) center / 21px no-repeat}.tabbar a.active .paw{-webkit-mask-image:url(/paw.png);mask-image:url(/paw.png)}.rh-legend{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px}.rh-legend span{font-size:11px;color:var(--ink-soft);margin-right:8px}.rh-section-title{margin:18px 0 8px;font-size:13px;font-weight:700;color:var(--ink-soft)}.paw-print{display:inline-block;flex:none;-webkit-mask:url(/paw.png) center / contain no-repeat;mask:url(/paw.png) center / contain no-repeat}.rh-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 0 13px;margin-bottom:11px}.rh-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:0 15px}.rh-name{flex:1;min-width:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}.rh-pill{flex:none;display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:999px;background:var(--card-inset);font-size:11.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.rh-pill.mint{background:var(--mint-soft);color:var(--mint-dark);font-weight:700}.rh-arch{flex:none;padding:2px 7px;border-radius:7px;background:var(--card-inset);border:1px solid var(--line);font-size:11px;font-weight:700;color:var(--ink-soft)}.rh-trail-area{position:relative}.rh-well,.rh-scroller{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rh-well::-webkit-scrollbar,.rh-scroller::-webkit-scrollbar{display:none}.rh-well{margin:0 15px;border-radius:12px;background:var(--warm-white-2)}.rh-trail,.rh-track{position:relative}.rh-track{height:78px}.rh-fade{position:absolute;top:0;height:100%;max-height:80px;width:22px;pointer-events:none}.rh-well+.rh-fade{height:67px;border-radius:12px 0 0 12px}.rh-col{position:absolute;top:0;padding:0;border:0;background:none;-webkit-tap-highlight-color:transparent}.rh-sel{position:absolute;width:24px;height:24px;border-radius:12px;border:2px solid var(--mint);box-sizing:border-box}.rh-miss{display:inline-block;width:6px;height:6px;border-radius:3px;background:var(--cool-gray-dark);opacity:.55}.rh-miss.big{display:block;margin:4.5px}.rh-rest{display:block;width:9px;height:2.5px;margin:6px 3px;border-radius:1.5px;background:var(--cool-gray-dark);opacity:.4}.rh-rec{position:absolute;left:11px;top:-6px;width:14px;height:14px;border-radius:7px;background:var(--bubble-surface);border:1.2px solid var(--badge-ink, var(--mint-dark));color:var(--badge-ink, var(--mint-dark));box-sizing:border-box;display:grid;place-items:center}.rh-next-today{position:absolute;width:17px;height:17px;border-radius:50%;box-sizing:border-box;border:2px dashed var(--mint-dark);background:var(--card)}.rh-sub{margin:10px 0 0;padding:0 15px;font-size:11px;color:var(--ink-soft)}.rh-tlsum{margin:0 0 10px;padding:0 15px;font-size:11.5px;color:var(--ink-soft)}.rh-tlsum b{font-weight:700}.rh-tlsum b.ok{color:var(--mint-dark)}.rh-tlsum b.late{color:var(--late-ink)}.rh-axis{position:absolute;top:32px;height:2px;border-radius:2px;background:var(--line-strong)}.rh-pt{position:absolute;padding:10px;border:0;background:none;line-height:0;-webkit-tap-highlight-color:transparent}.rh-pt .rh-rec{left:21px;top:3px}.rh-gap{position:absolute;top:4px;width:60px;font-size:10px;color:var(--cool-gray-dark);text-align:center}.rh-gap.late{color:var(--late-ink);font-weight:700}.rh-next{position:absolute;top:27px;width:13px;height:13px;border-radius:50%;box-sizing:border-box;border:2px dashed var(--cool-gray);background:var(--card)}.rh-elbl{position:absolute;top:44px;font-size:9px;color:var(--cool-gray-dark);text-align:center}.rh-bubble-layer{position:absolute;left:15px;right:15px;top:0;bottom:0;pointer-events:none;z-index:5}.rh-bubble-layer.full{left:0;right:0}.rh-bubble{position:absolute;box-sizing:border-box;padding:4px 6px;border-radius:var(--radius-sm);background:var(--bubble-surface);color:var(--bubble-surface-ink);border:1px solid var(--line-strong);box-shadow:0 2px 5px #1a22331a;text-align:center;pointer-events:auto}.rh-bubble b{font-size:11.5px;font-weight:700}.rh-bubble p{margin:4px 0 0;border-top:.5px solid var(--line-strong);font-size:11.5px;line-height:16px;text-align:left;overflow-wrap:anywhere;padding:4px 4px 1px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rh-bubble-tail{position:absolute;top:-5px;width:8px;height:8px;transform:rotate(45deg);background:var(--bubble-surface);border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}.cal-nav{display:flex;align-items:center;gap:6px;margin:12px 0 0;padding:10px 10px 0;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0}.cal-nav button{background:transparent;border:0;padding:2px 6px;font-size:24px;font-weight:700;color:var(--mint-dark);line-height:1}.cal-nav strong{flex:1;text-align:center;font-size:17px;font-weight:700}.cal-nav .cal-today{font-size:13px;font-weight:700;border:1px solid var(--line-strong);border-radius:999px;padding:5px 11px;color:var(--ink-soft)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:6px;background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);margin-bottom:2px}.cal-weekday{text-align:center;font-size:11px;font-weight:600;color:var(--cool-gray-dark);padding:4px 0 6px}.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:transparent;border:0;padding:0;height:56px;display:flex;flex-direction:column;align-items:center;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.cal-cell.out .day{color:var(--cool-gray)}.cal-cell .day{width:28px;height:26px;margin-top:3px;border-radius:13px;display:grid;place-items:center;font-size:14px;color:var(--ink);font-weight:500}.cal-cell .day.star{background:color-mix(in srgb,var(--gold) var(--star-mix, 20%),var(--card))}.cal-cell .day.star2{background:color-mix(in srgb,var(--gold) 42%,var(--card))}.cal-cell .day.hol{background:color-mix(in srgb,var(--sun) var(--hol-mix, 10%),var(--card))}.cal-cell .hol-label{max-width:100%;font-size:10px;line-height:12px;height:12px;color:var(--sun);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-holiday{margin-left:8px;font-size:12px;font-weight:800;color:var(--sun)}.cal-cell.today .day{background:var(--today-pill);color:var(--today-pill-ink);font-weight:800}.cal-cell.selected:after{content:"";position:absolute;top:0;right:3px;bottom:0;left:3px;border:1.5px solid var(--mint);border-radius:10px;pointer-events:none}.cal-cell .dots{display:flex;flex-direction:column;gap:2px;margin-top:4px;align-items:center}.cal-cell .dot-row{display:flex;gap:3px;align-items:center;justify-content:center}.dot{display:inline-block;width:5px;height:5px;border-radius:999px;box-sizing:border-box}.dot.done{background:var(--mint)}.dot.due{background:transparent;border:1.2px solid var(--mint)}.dot.scheduled{background:var(--gold);color:var(--on-mint);font-size:7px;line-height:9px;text-align:center;font-weight:700;width:9px;height:9px}.cal-cell .dot.scheduled{width:5px;height:5px}.dot.scheduled.done{background:var(--gold);opacity:.5}.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:var(--card);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:16px;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:var(--card);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:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow)}.day-detail-head{display:flex;align-items:center;margin-bottom:4px}.day-detail-head strong{font-size:15px;font-weight:700}.dd-rows{list-style:none;margin:4px 0 0;padding:0}.dd-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.dd-rows>li:first-child .dd-row,.dd-group+li .dd-row{border-top:0}.dd-group{font-size:13.5px;font-weight:800;color:var(--ink-soft);margin:10px 0 2px}.dd-group span{font-weight:400;white-space:pre}.dd-check{position:relative;flex:none;width:22px;height:22px;padding:0;border-radius:7px;border:1.5px solid var(--cool-gray);background:var(--card);color:#fff;font-size:13px;font-weight:900;line-height:1;display:grid;place-items:center}.dd-check:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.dd-check.on{background:var(--mint);border-color:var(--mint)}.dd-check:disabled{cursor:default;opacity:1}.dd-check:disabled:not(.on){background:var(--warm-white)}.dd-lead{flex:none;width:52px}.dd-lead b{font-size:13px;font-weight:700;color:var(--today-pill)}.dd-name{flex:1;min-width:0;display:flex;align-items:center;gap:4px;font-size:14px;color:var(--ink);border:0;padding:0;background:none;text-align:left}.dd-name:disabled{cursor:default;color:var(--ink);opacity:1}.dd-name>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-name .chev{flex:none;font-size:11px;color:var(--cool-gray-dark)}.dd-name .mci{color:var(--late-ink)}.dd-name.done>span{color:var(--ink-soft);text-decoration:line-through}.dd-chip{flex:none;border-radius:7px;padding:2px 7px;font-size:11px;font-weight:700}.dd-chip.done{background:var(--mint-soft-2);color:var(--mint-dark)}.dd-chip.due{background:var(--due-chip, rgba(43, 58, 103, .09));color:var(--navy-ink)}.dd-chip.late{border:1px solid var(--amber);padding:1px 6px;color:var(--late-ink)}.dd-chip.event{background:var(--gold-soft);color:var(--late-ink)}.dd-more{position:relative;flex:none;width:27px;padding:0;border:0;background:none;color:var(--ink-soft);font-size:19px;text-align:right}.dd-more:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.dd-panel{padding:0 0 8px}.dd-panel .cal-steps{padding-left:0}.dd-panel .task-acts{margin-top:4px}.task-acts button.danger{color:var(--danger)}.dd-note{margin:2px 0 4px;font-size:12.5px;color:var(--ink-soft)}.dd-empty{font-size:13px;color:var(--ink-soft);margin:8px 0 0}.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:var(--card);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:var(--danger)}.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%;margin-top:12px;background:transparent;border:1px dashed var(--mint);color:var(--mint-dark);font-weight:600;padding:10px;border-radius:10px;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:var(--card);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:var(--on-mint)}.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:var(--on-mint)}.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:var(--card);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:var(--card);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:var(--card);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:var(--on-mint);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:var(--card);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(--solid-btn);color:var(--solid-btn-ink);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:var(--on-mint)}.yn-btn.no{background:var(--card);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:var(--card);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:var(--on-mint);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:var(--card);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(--solid-btn);color:var(--solid-btn-ink);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:var(--card);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:var(--card);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:calc(env(safe-area-inset-top,0px) + 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(--solid-btn);color:var(--solid-btn-ink);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(--bubble-accent);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,textarea:focus-visible,a: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:var(--card);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:var(--on-mint)}.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;gap:7px;margin:8px -20px;padding:0 20px;overflow-x:auto;scrollbar-width:none}.cat-filter::-webkit-scrollbar{display:none}.cat-chip{flex:none;display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:18px;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;font-family:inherit;transition:all .14s ease}@media (hover: hover){.cat-chip:hover{border-color:var(--mint);color:var(--ink)}}.cat-chip small{font-size:11px;font-weight:600}.cat-chip.active{background:var(--mint-soft-2);border-color:var(--mint);color:var(--mint-dark)}.onboarding-list{list-style:none;padding:0;margin:0 0 16px}.onboarding-list li{background:var(--card);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:var(--card);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:var(--card);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:var(--card);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:var(--card);color:var(--ink);flex:1;min-width:180px}.opt-in-form input[type=email]:focus{border-color:var(--mint)}.opt-in-submit{background:var(--mint);color:var(--on-mint);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:var(--card);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:0 1px 3px #0003;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-legal{margin-top:8px;font-size:11px;color:var(--cool-gray-dark);line-height:1.5}.settings-legal a{color:inherit;text-decoration:underline}.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 var(--danger);color:var(--danger);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:16px}.bucket-title{display:flex;align-items:baseline;gap:8px;font-size:16px;font-weight:700;color:var(--ink);margin:0 0 8px}.bucket.muted{opacity:.62}.bucket.muted .bucket-title{font-size:13.5px;color:var(--ink-soft)}.future-head{display:flex;align-items:center;gap:10px;margin-top:28px;padding:0 2px}.future-head span{font-size:12px;font-weight:800;color:var(--cool-gray-dark);letter-spacing:1px}.future-head i{flex:1;height:1px;background:var(--line)}.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:var(--card);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{background:var(--card);border-radius:var(--radius);padding:12px 16px;margin-bottom:8px;box-shadow:var(--shadow-sm)}.task-row{display:flex;align-items:center;gap:12px}.ricon{flex:none;display:grid;place-items:center;background:var(--warm-white-2);color:var(--ink-soft)}.task.is-done .ricon,.task.is-done .body{opacity:.55}.task .chev{flex:none;color:var(--cool-gray);font-size:14px}.task-panel{margin-top:10px;padding-top:8px;border-top:.5px solid var(--line-strong)}.task-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.task-acts button{border:1px solid var(--line-strong);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.task-acts .action-link{padding:6px 4px}.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:var(--card);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.locked{opacity:.35;cursor:default}.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(--bubble);color:var(--bubble-ink);font-size:12px;font-weight:600;padding:6px 11px;border-radius:14px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow);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;display:flex;flex-direction:column;align-items:flex-start;border:0;padding:0;background:none;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent}.task .name{font-weight:600;font-size:15px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task .name .steps-toggle{flex-shrink:0;margin-left:auto}.task.is-done .name{color:var(--ink-soft)}.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:var(--on-mint);background:var(--mint)}.task .meta{font-size:12px;color:var(--ink-soft);margin-top:1px}.task .meta .late{color:var(--late-ink);font-weight:700}.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:1.5px 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:13.5px;color:var(--ink);word-break:break-word}.step.is-done .step-name{color:var(--ink-soft);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:16px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.step-add-input:focus{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:var(--card);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:16px;padding:6px 10px;border:1px solid var(--mint);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.step-name-input:focus{border-color:var(--mint)}.fab{position:fixed;bottom:24px;right:max(18px,calc(50% - 336px));background:var(--solid-btn);color:var(--solid-btn-ink);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:0}.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:12px;bottom:calc(66px + env(safe-area-inset-bottom,0px));height:110px;width:auto}.mascot-bubble{position:absolute;left:16px;bottom:150px;pointer-events:auto;width:max-content;max-width:min(92vw,360px);text-align:left;background:var(--card);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:var(--scrim);display:flex;align-items:flex-end;justify-content:center;z-index:40}.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 calc(32px + env(safe-area-inset-bottom,0px))}.modal h2{margin:0 0 16px;font-size:18px;font-weight:600}.modal .tabs{display:flex;gap:4px;margin-bottom:18px;background:var(--card-inset);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:var(--card);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:var(--card)}.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:var(--on-mint);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:var(--card);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:16px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:var(--ink)}.form-row input:focus,.form-row select:focus{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(--solid-btn);color:var(--solid-btn-ink)}.form-actions .ghost{background:transparent;color:var(--ink-soft)}.form-actions .danger{background:transparent;color:var(--danger)}.error{color:var(--danger);font-size:13px;margin:8px 0}.support-footer{margin:24px 0 8px;text-align:center;font-size:12px;color:var(--ink-soft)}.support-footer a{color:inherit}.landing{--l-bg: #f3f7f6;--l-card: #fff;--l-ink: #1a2233;--l-soft: #4a5263;--l-line: rgba(26, 34, 51, .08);--l-mint: #6cbfb0;--l-md: #276f63;--l-btn: #1a2233;--l-btn-ink: #fff;--l-logo: none;min-height:100vh;min-height:100dvh;box-sizing:border-box;max-width:440px;margin:0 auto;padding:calc(28px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px));background:var(--l-bg);color:var(--l-ink);text-align:center}@media (prefers-color-scheme: dark){.landing{--l-bg: #121722;--l-card: #1c232e;--l-ink: #f2f5f7;--l-soft: #aeb6c2;--l-line: rgba(255, 255, 255, .08);--l-md: #7fd4c4;--l-btn: #f2f5f7;--l-btn-ink: #121722;--l-logo: invert(1) brightness(1.6)}html:has(.landing),html:has(.landing) body,html:has(.landing) #root{background:#121722}.landing-chars figure{background:var(--l-card);border-radius:14px;padding:6px 0 4px}}.landing-logo{height:36px;filter:var(--l-logo)}.landing-hook{margin:28px 0 6px;font-size:15px;font-weight:800;color:var(--l-md)}.landing h1{margin:0;font-size:32px;line-height:1.25;font-weight:800;text-wrap:balance}.landing-sub{margin:12px auto 0;max-width:290px;font-size:14px;line-height:1.55;color:var(--l-soft)}.landing-cta{display:flex;flex-direction:column;gap:8px;margin-top:22px}.landing-store,.landing-web{display:block;padding:14px;border-radius:14px;font-weight:800;font-size:15px;text-decoration:none}.landing-store{border:1px solid var(--l-line);background:var(--l-card);color:var(--l-ink)}.landing-store.main{background:linear-gradient(#3a4d80,#22315f);color:#fff;border-color:transparent}.landing-store:active,.landing-web:active{opacity:.85}.landing-web{margin-top:4px;color:var(--l-md);border:1.5px solid var(--l-mint)}.landing-chars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 4px;margin-top:26px}.landing-chars figure{margin:0}.landing-chars img{height:64px;max-width:100%;object-fit:contain}.landing-chars figcaption{font-size:12px;font-weight:800;color:var(--l-soft);margin-top:2px}.landing-feat{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:8px;text-align:left}.landing-feat{padding-left:8px}.landing-feat li{position:relative;padding:4px 0 4px 18px;font-size:14.5px}.landing-feat li:before{content:"";position:absolute;left:0;top:12px;width:7px;height:7px;border-radius:50%;background:var(--l-mint)}.landing-feat b{color:var(--l-md)}.landing-foot{margin-top:22px;font-size:12px;line-height:1.8;color:var(--l-soft)}.landing-foot a{color:var(--l-soft);display:inline-block;padding:8px 6px}.obn{display:flex;flex-direction:column;min-height:calc(100dvh - 48px)}.obn-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.obn-spacer{width:68px;flex:none}.obn-pill{min-width:68px;padding:12px 14px;border:0;border-radius:22px;background:var(--card-inset);color:var(--ink);font-weight:700;font-size:15px;white-space:nowrap}.obn-pill.center{align-self:center}.obn-pill:disabled{opacity:.6}.obn-dots{display:flex;gap:5px;flex:1;justify-content:center}.obn-dot{width:7px;height:7px;border-radius:4px;background:var(--line-strong);transition:width .2s}.obn-dot.on{width:18px;background:var(--mint)}.obn-dot.done{background:var(--mint-soft-2)}.obn-error{color:var(--danger);font-size:13px;margin:8px 0 0}.obn-q{margin:0;font-size:22px;font-weight:700;color:var(--ink);text-align:center;line-height:1.35}.obn-qsub{margin:0;font-size:13.5px;color:var(--ink-soft);text-align:center}.obn-pick{display:flex;flex-direction:column;gap:12px;margin-top:14px}.obn-pick-hero{display:flex;justify-content:center;align-items:flex-end;gap:4px;margin-top:4px}.obn-pick-hero .cat{width:83px;height:130px;object-fit:contain}.obn-pick-hero .dog{width:110px;height:125px;object-fit:contain}.obn-pick-floor{align-self:center;width:220px;height:10px;border-radius:5px;background:var(--warm-white-2);margin:-14px 0 4px}.obn-joseon{margin:0 0 10px;padding:0 12px;font-size:13px;line-height:20px;color:var(--ink-soft);text-align:center}.obn-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 16px;color:var(--ink)}.obn-card:active{opacity:.85}.obn-card-ic{flex:none;width:48px;height:48px;border-radius:50%;background:var(--mint-soft);display:grid;place-items:center;font-size:26px}.obn-card-body{flex:1;display:flex;flex-direction:column}.obn-card-body b{font-size:16px;font-weight:800}.obn-card-body small{font-size:12px;color:var(--ink-soft);margin-top:2px}.obn-chev{font-size:24px;line-height:1;color:var(--cool-gray-dark)}.obn-level{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding-bottom:40px}.obn-level-em{width:44px;flex:none;text-align:center;font-size:28px}.obn-qwrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.obn-hero{width:84px;height:84px;border-radius:50%;background:var(--mint-soft);display:grid;place-items:center;font-size:44px;margin-bottom:12px}.obn-btns{display:flex;flex-direction:column;gap:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.obn-yn{padding:16px;border-radius:14px;border:1.5px solid transparent;font-weight:700;font-size:16px}.obn-yn.yes{background:var(--mint);color:var(--ink)}.obn-yn.no{background:var(--card);border-color:var(--line-strong);color:var(--ink-soft)}.obn-yn.sel{border-color:var(--mint-dark)}.obn-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--mint-soft-2);border-top-color:var(--mint);animation:obn-spin .8s linear infinite}@keyframes obn-spin{to{transform:rotate(360deg)}}.obn-species{display:flex;gap:10px;margin-top:18px;align-self:stretch}.obn-species button{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 0;background:var(--card);border:1px solid var(--line);border-radius:14px;font-size:14px;font-weight:700;color:var(--ink)}.obn-species button span{font-size:30px;line-height:1.2}.obn-input{align-self:stretch;margin-top:18px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-size:16px}.obn-input.center{text-align:center}.obn-input:focus{outline:none;border-color:var(--mint)}.obn-next{align-self:stretch;margin-top:14px;padding:13px 24px;border:0;border-radius:12px;background:var(--mint);color:var(--on-mint);font-weight:800;font-size:16px}.obn-next:disabled{opacity:.45}.obn-pet-actions{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.obn-pet-actions .obn-next{flex:1;margin-top:0}.obn-pet-notice{margin:0 0 10px;font-size:11px;line-height:15px;color:var(--ink-soft)}.obn-result{flex:1;padding:8px 0 12px}.obn-rtitle{margin:8px 0 0;font-size:22px;font-weight:900;color:var(--ink)}.obn-rsub{margin:5px 0 0;font-size:13px;color:var(--ink-soft)}.obn-group{margin-top:16px}.obn-glabel{margin-bottom:8px;font-size:12.5px;font-weight:800;color:var(--ink-soft);letter-spacing:.5px;white-space:pre}.obn-glabel span{color:var(--mint-dark)}.obn-chips{display:flex;flex-wrap:wrap;gap:8px}.obn-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:9px 14px 9px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:14px;font-weight:700}.obn-chip .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obn-chip .bx{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--on-mint);font-size:13px;font-weight:800;box-sizing:border-box}.obn-chip.off{opacity:.5;color:var(--ink-soft);font-weight:600}.obn-chip.off .bx{background:transparent;border:2.2px solid var(--mint)}.obn-chip.add{padding-left:14px;background:transparent;border:1px dashed var(--cool-gray);color:var(--ink-soft);font-size:13.5px}.obn-chip.hint{animation:obn-wiggle .47s ease-in-out .45s 2}@keyframes obn-wiggle{23%{transform:rotate(5deg)}51%{transform:rotate(-5deg)}74%{transform:rotate(2deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion: reduce){.obn-chip.hint{animation:none}}.obn-more-custom{display:block;margin:18px auto 0;padding:10px 16px;border:0;background:none;color:var(--mint-dark);font-size:14px;font-weight:700}.obn-foot{position:sticky;bottom:0;padding:8px 0 calc(4px + env(safe-area-inset-bottom,0px));background:var(--warm-white)}.obn-start{width:100%;padding:17px;margin-bottom:6px;border:0;border-radius:16px;background:linear-gradient(135deg,#3a4d80,#22315f);color:#fff;font-weight:800;font-size:16px}.obn-start:disabled{opacity:.45}.obn-invite-row{display:flex;justify-content:space-between;width:100%;padding:13px 4px;border:0;background:none;color:var(--ink-soft);font-size:13.5px}.obn-input.invite{width:100%;margin-top:4px;border-color:transparent;font-size:16px;letter-spacing:2px}
