:root{--paper:#f3f2ec;--ink:#1b1a15;--sub:#6f6d63;--faint:#a6a498;--line:#e4e2d8;--line2:#d4d1c5;--accent:#2f6a4f;--accent2:#3c8362;--accent-soft:#e6efe9;--onink:#f3f2ec;--danger:#a4462f;--mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",monospace;--spring:cubic-bezier(.32,1.28,.5,1)}@media (prefers-color-scheme:dark){:root{--paper:#17181a;--ink:#eceae1;--sub:#9c998e;--faint:#67655c;--line:#2a2b2d;--line2:#3a3b3d;--accent:#6fb08c;--accent2:#84c19f;--accent-soft:#1d2a23;--onink:#17181a;--danger:#d98a6f}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0}html,body{height:100%}body{background:var(--paper);color:var(--ink);word-break:keep-all;touch-action:manipulation;-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.55}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex}main{padding:calc(52px + env(safe-area-inset-top) + 14px) 20px calc(94px + env(safe-area-inset-bottom));flex:1}.view{display:none}.view.on{display:block}.stag{animation:rise .6s var(--spring) both}.rise{animation:rise .5s var(--spring) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.eyebrow,.sect h2 em,.pcount,.hero .pregtop,.steplbl,.sheetask .lbl,.onb .sub em{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:500}.topbar{z-index:45;background:var(--paper);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);position:fixed;top:0;left:0;right:0}.topbar .tb-in{align-items:center;gap:10px;max-width:520px;height:52px;margin:0 auto;padding:0 20px;display:flex}.topbar .logo{flex-shrink:0;justify-content:center;align-items:center;width:23px;height:23px;display:flex}.topbar .logo svg,.topbar .logo img{width:23px;height:23px}.topbar #topTitle{letter-spacing:-.02em;font-size:18px;font-weight:800}.gear{width:40px;height:40px;color:var(--faint);justify-content:center;align-items:center;margin-left:auto;margin-right:-9px;display:flex}.gear svg{width:19px;height:19px}.greet{color:var(--sub);margin:0 0 22px;font-size:13px;font-weight:500}.greet b{color:var(--ink);font-weight:600}.pagehd{justify-content:space-between;align-items:baseline;margin:0 0 20px;display:flex}.pagehd b{letter-spacing:-.02em;font-size:22px;font-weight:800}.pagehd #tlchip{font-family:var(--mono);color:var(--sub);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line2);border-radius:4px;padding:4px 9px;font-size:11px;font-weight:500}.tabbar{z-index:40;background:var(--paper);border-top:1px solid var(--line);padding:0 0 env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.tabbar .in{max-width:520px;margin:0 auto;display:flex}.tab{min-height:56px;color:var(--faint);flex-direction:column;flex:1;align-items:center;gap:4px;padding:11px 0 9px;font-size:10.5px;font-weight:600;transition:color .18s;display:flex;position:relative}.tab:active{opacity:.6}.tab.on{color:var(--ink)}.tab.on:before{content:"";background:var(--accent);width:28px;height:2px;position:absolute;top:-1px}.tab svg{width:22px;height:22px}.hero{border-bottom:1px solid var(--line);margin-bottom:4px;padding:0 0 28px;display:block}.hero .lbl{letter-spacing:-.01em;text-transform:none;color:var(--sub);margin-bottom:8px;font-family:inherit;font-size:13.5px;font-weight:600;display:block}.hero h1{letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;font-size:96px;font-weight:800;line-height:.82;display:flex}.hero h1 .u{color:var(--sub);letter-spacing:-.02em;font-size:26px;font-weight:600}.hero .due{font-family:var(--mono);color:var(--sub);letter-spacing:.02em;margin-top:12px;font-size:12px}.hero .ring{display:none}.hero .preg{margin-top:20px}.hero .pregtop{justify-content:space-between;margin-bottom:8px;display:flex}.hero .wtrack{background:var(--line2);height:3px;position:relative;overflow:hidden}.hero .wfill{background:var(--accent);height:100%;transition:width 1.1s var(--spring);position:absolute;top:0;left:0}.routine{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:14px;width:100%;margin-top:8px;padding:20px 0;transition:opacity .12s;display:flex}.routine:active{opacity:.55}.routine .rico{width:26px;height:26px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.routine .rico svg{width:22px;height:22px}.routine .rt{flex:1}.routine .rt b{letter-spacing:-.01em;font-size:15.5px;font-weight:700}.routine .rt small{color:var(--sub);margin-top:2px;font-size:12.5px;font-weight:500;display:block}.routine.on .rt b{color:var(--accent)}.routine.on .rt small{color:var(--faint);text-decoration:line-through}.routine .rchk{border:1.5px solid var(--line2);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.routine.on .rchk{border-color:var(--accent);background:var(--accent);color:var(--onink)}.routine .rchk svg{width:13px;height:13px}.sect{justify-content:space-between;align-items:baseline;margin:34px 0 4px;display:flex}.sect h2{letter-spacing:-.01em;align-items:baseline;gap:8px;font-size:15px;font-weight:800;display:flex}.sect h2 em{font-style:normal}.sect button{font-family:var(--mono);color:var(--sub);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:2px;min-height:32px;padding:8px 0;font-size:11px;font-weight:500;display:flex}.sect button svg{width:13px;height:13px}.empty{text-align:center;color:var(--sub);padding:40px 0 32px;font-size:13.5px;line-height:1.7}.empty .eico{width:44px;height:44px;color:var(--accent);justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.empty .eico svg{width:30px;height:30px}.empty b{color:var(--ink);font-size:15px;font-weight:700}.group{margin-top:2px}.trow{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:0;width:100%;min-height:64px;display:flex}.tmain{flex:1;align-items:center;gap:14px;min-width:0;padding:16px 0;transition:opacity .1s;display:flex}.tmain:active{opacity:.5}.trow .chev{display:none}.tcheck{color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:64px;padding:0;display:flex;position:relative}.tcheck:before{content:"";border:1.5px solid var(--line2);border-radius:50%;width:24px;height:24px;transition:border-color .18s,background-color .18s;position:absolute}.tcheck svg{z-index:1;width:13px;height:13px;position:relative}.trow.done .tcheck{color:var(--onink);animation:chk .34s var(--spring)}.trow.done .tcheck:before{border-color:var(--accent);background:var(--accent)}@keyframes chk{0%{transform:scale(.5)}55%{transform:scale(1.16)}to{transform:scale(1)}}.trow .ichip{width:22px;height:22px;color:var(--sub);background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.trow .ichip svg{stroke-width:1.6px;width:20px;height:20px}.trow.done .ichip{color:var(--faint)}.ichip.warmc{color:var(--accent)}.ichip.big{width:30px;height:30px;color:var(--accent);margin:0 0 14px}.ichip.big svg{width:28px;height:28px}.trow .tt{text-align:left;letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere;flex:1;min-width:0;font-size:15.5px;font-weight:600;line-height:1.4}.trow.done .tt{color:var(--faint);font-weight:500;text-decoration:line-through}.trow .td{color:var(--sub);margin-top:2px;font-size:12.5px;font-weight:400}.aiTag{font-family:var(--mono);color:var(--accent);letter-spacing:.04em;align-items:center;gap:4px;margin-top:6px;font-size:10.5px;font-weight:500;display:inline-flex}.aiTag svg{width:11px;height:11px}.trow .tt .aiTag{width:fit-content;margin-top:5px;display:flex}.tl{padding-left:26px;position:relative}.tl:before{content:"";background:var(--line2);width:1.5px;position:absolute;top:12px;bottom:8px;left:5px}.tphase{padding-bottom:18px;position:relative}.tnode{justify-content:center;align-items:center;width:12px;height:12px;display:flex;position:absolute;top:4px;left:-26px}.tnode i{border:1.5px solid var(--line2);background:var(--paper);border-radius:50%;width:11px;height:11px;display:block}.tphase.done .tnode i{border-color:var(--accent);background:var(--accent)}.tphase.done .tnode svg{width:8px;height:8px;color:var(--onink);position:absolute}.tphase.now .tnode i{border-color:var(--accent);background:var(--accent)}.tphase.now .tnode:after{content:"";border:1.5px solid var(--accent);opacity:0;border-radius:50%;animation:2.4s ease-out infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.6;transform:scale(.7)}70%{opacity:0;transform:scale(1.5)}to{opacity:0}}.phead{align-items:baseline;gap:9px;min-height:24px;margin:0 0 2px;display:flex}.phead h3{letter-spacing:-.01em;font-size:15px;font-weight:800}.tphase.future .phead h3{color:var(--sub)}.tphase.done .phead h3{color:var(--faint)}.nowchip{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--accent);border-radius:3px;padding:1.5px 6px;font-size:10px;font-weight:600}.pcount{margin-left:auto}.pcount.full{color:var(--accent)}.tgoal{margin-top:2px;position:relative}.tgoal .tnode{top:2px}.tgoal .gico{background:var(--accent);width:12px;height:12px;color:var(--onink);border-radius:50%;justify-content:center;align-items:center;display:flex}.tgoal .gico svg{width:8px;height:8px}.tgoal b{color:var(--ink);font-size:15px;font-weight:800}.tgoal small{font-family:var(--mono);color:var(--sub);letter-spacing:.02em;margin-top:3px;font-size:11px;display:block}.chatwrap{flex-direction:column;min-height:calc(100dvh - 230px);display:flex}.msgs{flex-direction:column;flex:1;gap:12px;padding-bottom:76px;display:flex}.msg{white-space:pre-wrap;letter-spacing:-.01em;overflow-wrap:anywhere;max-width:88%;padding:12px 15px;font-size:14.5px;line-height:1.6}.msg.u{background:var(--ink);color:var(--paper);border-radius:14px 14px 3px;align-self:flex-end}.arow{align-items:flex-start;gap:8px;max-width:92%;display:flex}.arow img{display:none}.arow:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:16px}.msg.a{border-left:1.5px solid var(--line2);background:0 0;border-radius:0;align-self:flex-start;padding:6px 0 6px 15px}.msg .chg{font-family:var(--mono);color:var(--accent);letter-spacing:.04em;align-items:center;gap:6px;margin-top:10px;font-size:11px;font-weight:500;display:flex}.msg .chg svg{flex-shrink:0;width:12px;height:12px}.chips{flex-direction:column;gap:0;margin:14px 0;display:flex}.chips button{text-align:left;border:0;border-top:1px solid var(--line);color:var(--ink);background:0 0;align-items:center;gap:10px;min-height:48px;padding:14px 2px;font-size:14px;font-weight:500;transition:opacity .1s;display:flex}.chips button:last-child{border-bottom:1px solid var(--line)}.chips button:active{opacity:.5}.chips button:before{content:"→";color:var(--accent);font-weight:600}.chatbar{bottom:calc(56px + env(safe-area-inset-bottom));z-index:30;background:linear-gradient(transparent,var(--paper) 40%);padding:16px 24px 12px;position:fixed;left:0;right:0}.chatbar .in{border:1.5px solid var(--line2);background:var(--paper);border-radius:0;gap:0;max-width:520px;margin:0 auto;display:flex}.chatbar .in:focus-within{border-color:var(--accent)}.chatbar input{min-height:50px;color:var(--ink);background:0 0;border:0;flex:1;padding:0 16px;font-size:16px}.chatbar input:focus{outline:0}.chatbar input::placeholder{color:var(--faint)}.sendbtn{background:var(--ink);width:50px;height:50px;color:var(--paper);flex-shrink:0;justify-content:center;align-items:center;transition:opacity .16s;display:flex}.sendbtn:active{opacity:.7}.sendbtn:disabled{opacity:.35}.sendbtn svg{width:19px;height:19px}.typing{border-left:1.5px solid var(--line2);align-self:flex-start;gap:4px;padding:14px 0 14px 16px;display:flex}.typing i{background:var(--faint);border-radius:3px;width:6px;height:6px;animation:1.2s infinite blink}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.scrim{z-index:50;opacity:0;pointer-events:none;background:#14130f66;transition:opacity .22s;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.sheet{z-index:51;background:var(--paper);width:min(520px,100%);box-shadow:0 -1px 0 var(--line2),0 -20px 50px #14130f24;max-height:90dvh;transition:transform .34s var(--spring);border-radius:0;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%,105%)}.sheet.on{transform:translate(-50%)}.sheet .in{padding:8px 24px calc(28px + env(safe-area-inset-bottom));position:relative}.grab{background:var(--line2);border-radius:0;width:32px;height:3px;margin:6px auto 20px}.sheet h2{text-wrap:balance;letter-spacing:-.02em;padding-right:40px;font-size:22px;font-weight:800;line-height:1.3}.sheet .sdetail{color:var(--sub);overflow-wrap:anywhere;margin-top:9px;font-size:14px;line-height:1.6}.xbtn{width:40px;height:40px;color:var(--faint);justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:16px}.xbtn svg{width:18px;height:18px}.donebtn{justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;margin-top:22px;font-size:15px;font-weight:700;transition:opacity .16s;display:flex}.donebtn:active{opacity:.8}.donebtn.todo{background:var(--accent);color:var(--onink)}.donebtn.undo{border:1.5px solid var(--line2);color:var(--sub);background:0 0}.donebtn svg{width:17px;height:17px}.plan{border-left:2px solid var(--accent);color:var(--ink);overflow-wrap:anywhere;gap:11px;margin-top:22px;padding:2px 0 2px 15px;font-size:14px;line-height:1.6;display:flex}.plan svg{display:none}.substeps{margin-top:24px}.vids{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.vlbl{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;font-size:11px;font-weight:500}.vrow{color:inherit;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;text-decoration:none;transition:opacity .1s;display:flex}.vrow:last-child{border-bottom:0}.vrow:active{opacity:.5}.vplay{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.vplay svg{width:15px;height:15px;margin-left:1px}.vtxt{flex-direction:column;gap:2px;min-width:0;display:flex}.vtxt b{font-family:var(--mono);color:var(--accent);letter-spacing:.02em;font-size:11px;font-weight:500}.vtxt span{color:var(--ink);overflow-wrap:anywhere;font-size:13.5px;font-weight:600;line-height:1.4}.steplbl{align-items:center;gap:10px;margin-bottom:10px;display:flex}.steplbl b{color:var(--accent);font-family:var(--mono)}.stepbar{background:var(--line2);flex:1;height:2px;position:relative;overflow:hidden}.stepbar i{background:var(--accent);height:100%;transition:width .4s var(--spring);position:absolute;top:0;left:0}.substeps .trow{min-height:52px}.substeps .tmain{padding:13px 0}.aibtn{border:1.5px solid var(--ink);width:100%;min-height:54px;color:var(--ink);background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:14.5px;font-weight:700;transition:opacity .16s;display:flex}.aibtn:active{opacity:.6}.aibtn svg{width:16px;height:16px}.aibtn .spin,.sendbtn .spin,.onb .cta .spin{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite rot}@keyframes rot{to{transform:rotate(360deg)}}.sheetask{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.sheetask .lbl{margin-bottom:12px;display:block}.sheetask .row{border:1.5px solid var(--line2);gap:0;display:flex}.sheetask .row:focus-within{border-color:var(--accent)}.sheetask input{min-height:48px;color:var(--ink);background:0 0;border:0;flex:1;padding:0 15px;font-size:16px}.sheetask input:focus{outline:0}.sheetask .sendbtn{width:48px;height:48px}.sans{border-left:2px solid var(--accent);white-space:pre-wrap;color:var(--ink);overflow-wrap:anywhere;margin-top:14px;padding:4px 0 4px 15px;font-size:14px;line-height:1.6}.onb{z-index:90;background:var(--paper);padding:calc(24px + env(safe-area-inset-top)) 28px calc(28px + env(safe-area-inset-bottom));flex-direction:column;display:none;position:fixed;inset:0}.onb.on{display:flex}.onb .body{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:400px;margin:0 auto;display:flex}.onbicon{justify-content:flex-start;align-items:flex-start;width:100%;height:auto;margin-bottom:24px;display:flex}.onbicon svg,.onbicon img{width:64px;height:auto}.onbicon.fallback{width:56px;height:56px;color:var(--accent)}.onbicon.fallback svg{width:40px;height:40px}@media (prefers-reduced-motion:no-preference){.onbicon{animation:3.6s ease-in-out infinite bob}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.onb h2{letter-spacing:-.03em;text-wrap:balance;font-size:30px;font-weight:800;line-height:1.25}.onb .sub{color:var(--sub);margin:12px 0 28px;font-size:14.5px;line-height:1.6}.onb input[type=date],.onb input[type=text]{border:0;border-bottom:2px solid var(--line2);letter-spacing:-.01em;width:100%;min-height:56px;color:var(--ink);background:0 0;border-radius:0;padding:0 2px;font-size:22px;font-weight:700}.onb input:focus{border-color:var(--accent);outline:0}.prechk{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:14px;width:100%;min-height:56px;margin:0;padding:16px 2px;font-size:15px;font-weight:600;transition:opacity .1s;display:flex}.prechk:active{opacity:.5}.prechk .pc{border:1.5px solid var(--line2);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.prechk .pc svg{width:13px;height:13px}.prechk.on{color:var(--accent)}.prechk.on .pc{border-color:var(--accent);background:var(--accent);color:var(--onink)}.onb .foot{flex-direction:column;gap:16px;width:100%;max-width:400px;margin:0 auto;display:flex}.dots{gap:6px;display:flex}.dots i{background:var(--line2);width:22px;height:2px;transition:background .3s}.dots i.on{background:var(--accent)}.onb .cta{background:var(--ink);width:100%;min-height:56px;color:var(--paper);justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;transition:opacity .16s;display:flex}.onb .cta:active{opacity:.8}.onb .cta:disabled{opacity:.35}.onb .backb{min-height:40px;color:var(--sub);font-size:13px;font-weight:600}.toast{left:50%;bottom:calc(72px + env(safe-area-inset-bottom));z-index:60;background:var(--ink);color:var(--paper);font-family:var(--mono);letter-spacing:.03em;opacity:0;pointer-events:none;transition:all .3s var(--spring);text-align:center;align-items:center;gap:8px;max-width:86vw;padding:12px 18px;font-size:12px;font-weight:500;display:flex;position:fixed;transform:translate(-50%,16px)}.toast.on{opacity:1;transform:translate(-50%)}.toast svg{width:14px;height:14px;color:var(--accent2);flex-shrink:0}.skel{border-bottom:1px solid var(--line);background:linear-gradient(100deg,transparent 40%,var(--line) 50%,transparent 60%);background-size:200% 100%;height:64px;animation:1.4s infinite sh}@keyframes sh{to{background-position:-200% 0}}.gate{z-index:100;padding:28px 28px calc(40px + env(safe-area-inset-bottom));background:var(--paper);flex-direction:column;justify-content:flex-end;gap:0;display:none;position:fixed;inset:0}.gate.on{display:flex}.gate img{width:56px;height:42px;margin-bottom:auto;margin-top:calc(60px + env(safe-area-inset-top))}.gate b{letter-spacing:-.03em;margin-bottom:6px;font-size:28px;font-weight:800;line-height:1.15}.gate p{color:var(--sub);margin-bottom:28px;font-size:14px}.gate input{border:0;border-bottom:2px solid var(--line2);width:100%;min-height:56px;color:var(--ink);text-align:left;letter-spacing:.1em;background:0 0;border-radius:0;margin-bottom:20px;padding:0 2px;font-size:20px;font-weight:700}.gate input:focus{border-color:var(--accent);outline:0}.gate button{background:var(--ink);min-height:56px;color:var(--paper);font-size:16px;font-weight:700;transition:opacity .16s}.gate button:active{opacity:.8}@media (hover:hover){.trow:hover .tt,.routine:hover .rt b,.chips button:hover{color:var(--accent)}.tab:hover{color:var(--sub)}.tab.on:hover,.sect button:hover,.gear:hover,.xbtn:hover{color:var(--ink)}.donebtn.todo:hover,.onb .cta:hover,.gate button:hover,.sendbtn:hover{opacity:.85}}.msg .fb{gap:6px;margin-top:8px;display:flex}.msg .fb button{border:1px solid var(--line2);opacity:.55;background:0 0;border-radius:99px;padding:5px 9px;font-size:13px;line-height:1;transition:opacity .16s}.msg .fb button.on{opacity:1;border-color:var(--ink);background:var(--line)}.disclaimer{color:var(--sub);opacity:.8;padding:6px 2px 2px;font-size:11.5px}
