@font-face{font-family:Galmuri14;src:url(/fonts/Galmuri14-ks.woff2)format("woff2");font-display:swap}:root{--paper:#f3ecdf;--sheet:#faf6ee;--ink:#2b2622;--ink-2:#5a4f45;--dim:#6b5f53;--line:#d9cdb8;--field-line:#958670;--accent:#b8423a;--accent-2:#2c4a66;--tint:#e9dfcc;--danger:#8e302a;--sans:"Pretendard Variable", Pretendard, -apple-system, system-ui, sans-serif;--serif:"MaruBuri", "Noto Serif KR", "AppleMyungjo", serif;--voice:"Galmuri14", var(--sans);--r:3px;--t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.125rem;--t-xl:1.5rem;--t-date:1.75rem;--t-voice:15px;--lh-tight:1.3;--lh:1.6;--lh-loose:1.9;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--btn:48px;--tap:44px;--gutter:var(--s5);--page:560px;--tabbar:64px;--composer:calc(var(--tap) + var(--s2) * 2);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#1c1814;--sheet:#241f1a;--ink:#f1ece1;--ink-2:#c9bca8;--dim:#9a8d7d;--line:#3a322a;--field-line:#76695c;--accent:#d7695e;--accent-2:#8fb0cf;--tint:#2c251f;--danger:#e08a7f}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 var(--t-md) / var(--lh) var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r)}h1[tabindex="-1"]:focus{outline:none}[hidden]{display:none!important}#view{max-width:var(--page);padding:calc(env(safe-area-inset-top) + var(--s6)) max(var(--gutter), env(safe-area-inset-right)) calc(var(--tabbar) + env(safe-area-inset-bottom) + var(--s6)) max(var(--gutter), env(safe-area-inset-left));min-width:0;margin:0 auto}.view-head,.date-head{margin:0 0 var(--s5)}.view-head h1,.date-head h1{font:400 var(--t-xl) / var(--lh-tight) var(--serif);letter-spacing:-.02em;overflow-wrap:anywhere;margin:0}.date-head h1{font-size:var(--t-date)}.date-head p{margin:var(--s1) 0 0;color:var(--dim);font-size:var(--t-sm)}.back{min-height:var(--tap);min-width:var(--tap);margin-bottom:var(--s2);color:var(--dim);font-size:var(--t-sm);align-items:center;text-decoration:none;display:inline-flex}.back:before{content:"‹ "}.intro{margin:var(--s7) 0 var(--s6)}.intro h1{margin:0 0 var(--s4);font:400 var(--t-date) / var(--lh-tight) var(--serif);white-space:pre-line;letter-spacing:-.02em}.intro p{color:var(--ink-2);max-width:34ch;margin:0}.related,.settings,.clue,.done-goals{margin-top:var(--s6)}.related h2,.settings h2{margin:0 0 var(--s2);font-size:var(--t-sm);color:var(--dim);font-weight:600}.related ul{margin:0;padding:0;list-style:none}.related a{padding:var(--s3) 0;border-bottom:1px solid var(--line);text-decoration:none;display:block}.related li a .when{color:var(--dim);font-size:var(--t-sm);font-variant-numeric:tabular-nums;margin-right:var(--s1)}.page{padding:var(--s1) 0 var(--s1) var(--s5);font:400 var(--t-lg) / var(--lh-loose) var(--serif);word-break:keep-all;overflow-wrap:anywhere;position:relative}.page:before{content:"";left:0;top:var(--s3);bottom:var(--s3);background:var(--accent);width:1px;position:absolute}.page p{margin:0 0 1.1em}.page p:last-child{margin-bottom:0}.page.composing:before{opacity:.35}.composing-note{margin:0 0 var(--s4)}.page.reveal:before{transform-origin:top;animation:.7s cubic-bezier(.2,.7,.2,1) both rule}.page.reveal p{animation:.9s both ink}.page.reveal p:nth-child(2){animation-delay:.16s}.page.reveal p:nth-child(3){animation-delay:.32s}.page.reveal p:nth-child(n+4){animation-delay:.48s}@keyframes rule{0%{transform:scaleY(0)}}@keyframes ink{0%{opacity:0;filter:blur(3px)}}@media (prefers-reduced-motion:reduce){.page.reveal:before,.page.reveal p{animation:none}}.clue{padding:var(--s5) 0 0;border-top:1px solid var(--line)}.clue p{margin:0 0 var(--s4);color:var(--ink-2)}.page-actions{gap:var(--s2);margin-top:var(--s5);display:grid}.page-actions .hint{margin:0}.reflected{margin:var(--s5) 0 0 var(--s5);color:var(--accent-2);font-size:var(--t-sm)}.btn{appearance:none;width:100%;min-height:var(--btn);padding:0 var(--s5);border:1px solid var(--ink);border-radius:var(--r);background:var(--ink);color:var(--paper);font:500 var(--t-md) / var(--lh-tight) var(--sans);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:flex}.btn.quiet{color:var(--ink);border-color:var(--ink-2);background:0 0}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--paper)}.btn.danger.quiet{color:var(--danger);background:0 0}.btn.square{width:var(--btn);font-size:var(--t-lg);padding:0}.btn:disabled{opacity:.5;cursor:default}.link{appearance:none;min-height:var(--tap);min-width:var(--tap);color:var(--ink-2);font:400 var(--t-sm) / var(--lh-tight) var(--sans);cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.link.danger{color:var(--danger);text-decoration-color:currentColor}.link:disabled{opacity:.5;cursor:default}.chat-log{gap:var(--s4);flex-direction:column;display:flex}.msg{white-space:pre-wrap;overflow-wrap:anywhere;max-width:86%}.msg.ai,.voice{font:400 var(--t-voice) / var(--lh-loose) var(--voice);letter-spacing:0;-webkit-font-smoothing:none}.msg.ai{word-break:keep-all;align-self:flex-start}.msg.pending .skeleton i{height:var(--t-voice)}.msg.me{padding:var(--s3) var(--s4);background:var(--sheet);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:0 var(--r) var(--r) 0;color:var(--ink);align-self:flex-end}.msg.pending{width:60%}.mark{text-align:center;color:var(--dim);font-size:var(--t-xs);padding:var(--s2) 0;border-top:1px dashed var(--line);align-self:stretch}.chat-footer:not(:empty){margin-top:var(--s5);gap:var(--s2);flex-wrap:wrap;justify-content:center;display:flex}.composer{left:0;right:0;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));align-items:flex-end;gap:var(--s2);max-width:var(--page);padding:var(--s2) max(var(--gutter), env(safe-area-inset-left));background:linear-gradient(transparent, var(--paper) 30%);margin:0 auto;display:flex;position:fixed}.composer textarea{resize:none;min-width:0;min-height:var(--tap);max-height:160px;padding:var(--s2) var(--s3);border:1px solid var(--field-line);border-radius:var(--r);background:var(--sheet);line-height:var(--lh);flex:1}.composer textarea:focus{border-color:var(--ink);outline:none}.composer .btn{width:auto;min-height:var(--tap);padding:0 var(--s4);font-size:var(--t-sm);flex:none}.composer .mic[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.composer .to-end{right:max(var(--gutter), env(safe-area-inset-right));bottom:calc(100% + var(--s2));width:var(--tap);min-height:var(--tap);background:var(--paper);padding:0;position:absolute}.composer .to-end[hidden]{display:none}.chat{padding-bottom:calc(var(--composer) + var(--s3))}body.kb-open .tabbar{display:none}body.kb-open .composer{bottom:var(--kb,0px)}body.kb-open #view{padding-bottom:calc(var(--kb,0px) + var(--s6))}body.kb-open #toast{bottom:calc(var(--kb,0px) + var(--composer) + var(--s4))}.goal-offer{align-self:stretch;gap:var(--s1);padding:var(--s3) var(--s4);border:1px solid var(--accent);border-radius:var(--r);display:grid}.goal-offer span{color:var(--dim);font-size:var(--t-sm)}.goal-offer .row{gap:var(--s2);margin-top:var(--s2);display:flex}.goal-offer .row .btn{flex:1 1 0;width:auto}.goal-offer.done{border-style:dashed;border-color:var(--line);color:var(--ink-2);font-size:var(--t-sm)}.cal-nav{margin-bottom:var(--s3);justify-content:space-between;align-items:center;display:flex}.cal-nav h2{font:400 var(--t-xl) / var(--lh-tight) var(--sans);margin:0}.cal-grid{gap:var(--s2) 0;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-w{font-size:var(--t-xs);color:var(--dim);padding-bottom:var(--s1)}.cal-d{width:min(var(--tap), 100%);aspect-ratio:1;border-radius:var(--r);font:400 var(--t-sm) / var(--lh-tight) var(--sans);color:var(--dim);font-variant-numeric:tabular-nums;justify-self:center;place-items:center;text-decoration:none;display:grid}.cal-d.on{background:var(--ink);color:var(--paper)}.cal-d.today:not(.on){box-shadow:inset 0 0 0 1px var(--accent);color:var(--ink)}.cal-count{margin:var(--s3) 0 var(--s6);color:var(--dim);font-size:var(--t-sm);text-align:right}.entry-list{margin:0;padding:0;list-style:none}.entry-list a{align-items:baseline;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);grid-template-columns:4.5em minmax(0,1fr);text-decoration:none;display:grid}.entry-list .when{color:var(--dim);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.entry-list .gist{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty{color:var(--ink-2)}.goals{margin:0;padding:0;list-style:none}.goal{padding:var(--s5) 0;border-top:1px solid var(--line)}.goal-top{justify-content:space-between;align-items:center;gap:var(--s3);min-height:var(--tap);display:flex}.goal-top h2{font:600 var(--t-lg) / var(--lh-tight) var(--sans);overflow-wrap:anywhere;min-width:0;margin:0}.origin{min-height:var(--tap);color:var(--dim);font-size:var(--t-xs);flex:none;align-items:center;display:inline-flex}.meter{background:var(--field-line);height:4px;margin:var(--s3) 0 var(--s4);border-radius:0;overflow:hidden}.meter i{background:var(--accent);height:100%;display:block}.num{font-size:var(--t-xl);font-variant-numeric:tabular-nums;font-weight:650;line-height:var(--lh-tight)}.num small{font-size:var(--t-sm);color:var(--dim);font-weight:400}.goal-count{align-items:center;gap:var(--s4);display:flex}.goal-habit{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.goal-habit .week{gap:var(--s1);display:flex}.goal-habit .week span{text-align:center;border-radius:var(--r);width:26px;height:26px;line-height:26px;font-size:var(--t-xs);color:var(--dim);border:1px solid var(--line)}.goal-habit .week span.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.goal-habit .week span.today{border-color:var(--accent);color:var(--ink)}.goal-steps{counter-reset:step;margin:0;padding:0;list-style:none}.goal-steps li{padding:0}.goal-steps li:not(.add-step){counter-increment:step}.goal-steps label{gap:var(--s2);min-height:var(--tap);align-items:center;display:flex}.goal-steps label:before{content:counter(step) ".";min-width:1.4em;color:var(--dim);font-variant-numeric:tabular-nums}.goal-steps input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:0}.goal-steps .add-step input{border:0;border-bottom:1px solid var(--field-line);width:100%;padding:var(--s2) 0;background:0 0;border-radius:0}.goal-actions{gap:var(--s4);margin-top:var(--s2);display:flex}.goal.done h2{color:var(--ink-2)}details>summary{cursor:pointer;min-height:var(--tap);color:var(--accent);font:400 var(--t-sm) / var(--lh-tight) var(--sans);align-items:center;list-style:none;display:flex}details>summary::-webkit-details-marker{display:none}.add-goal{border-top:1px solid var(--line);margin-top:var(--s2)}.add-goal form{gap:var(--s4);padding-bottom:var(--s5);display:grid}.add-extra{align-items:center;gap:var(--s2);color:var(--ink-2);font-size:var(--t-sm);display:flex}.add-extra input{width:5em}.add-extra .unit{width:4em}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--btn);padding:0 var(--s3);border:1px solid var(--field-line);border-radius:var(--r);background-color:var(--sheet);min-width:0}select{appearance:none;padding-right:var(--s6);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b5f53' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--s3) center}@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%239a8d7d' stroke-width='1.5'/%3E%3C/svg%3E")}}.profile-form{gap:var(--s4);display:grid}.profile-form>.btn,.add-goal form>.btn{margin-top:var(--s2)}.profile-form+.profile-form{margin-top:var(--s4)}.field{gap:var(--s2);display:grid}.field span,legend{font-size:var(--t-sm);color:var(--ink-2)}fieldset{gap:var(--s2);border:0;margin:0;padding:0;display:grid}legend{margin-bottom:var(--s2);padding:0}.choice{column-gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;display:grid}.choice input{accent-color:var(--accent);grid-row:span 2}.choice small{color:var(--dim)}.choice:has(input:checked){border-color:var(--ink)}.hint{color:var(--ink-2);font-size:var(--t-sm)}.profile-form .hint{margin:0}.settings{gap:var(--s2);display:grid}.settings h2{margin:0}.settings p{margin:0 0 var(--s2);color:var(--ink-2);font-size:var(--t-sm)}.settings .link{justify-self:start}.login-after{gap:0 var(--s5);flex-wrap:wrap;display:flex}.danger-zone{margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--line)}.sheet{width:100%;max-width:var(--page);max-height:92dvh;padding:var(--s5) var(--gutter) calc(env(safe-area-inset-bottom) + var(--s5));border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;background:var(--paper);color:var(--ink);border-bottom:0;margin:auto auto 0;position:fixed;inset:auto 0 0;overflow-y:auto}.sheet::backdrop{background:#14100c73}.sheet h2{margin:0 0 var(--s3);font:400 var(--t-xl) / var(--lh-tight) var(--serif);letter-spacing:-.02em}.sheet p{margin:0 0 var(--s3);color:var(--ink-2)}.sheet ul{margin:0 0 var(--s3);padding-left:1.2em}.sheet li{padding:var(--s1) 0}.sheet form{gap:var(--s4);margin-top:var(--s5);display:grid}.sheet .sheet-actions{gap:var(--s2);display:grid}.sheet .link{justify-self:center}.tabbar{height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-inline:max(0px, calc((100vw - var(--page)) / 2));background:var(--paper);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{justify-content:center;align-items:center;gap:var(--s1);min-height:var(--tap);color:var(--dim);font:400 var(--t-xs) / var(--lh-tight) var(--sans);flex-direction:column;text-decoration:none;display:flex}.tabbar a[aria-current]{color:var(--ink)}.tabbar a[aria-current] span{font-weight:600}.skeleton{gap:var(--s3);padding:var(--s1) 0;display:grid}.skeleton i{background:var(--tint);border-radius:0;height:14px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton i{animation:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}#toast{left:50%;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + var(--composer) + var(--s4));opacity:0;pointer-events:none;max-width:calc(100vw - var(--gutter) * 2);padding:var(--s3) var(--s4);border-radius:var(--r);background:var(--ink);color:var(--paper);font-size:var(--t-sm);z-index:10;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,8px)}#toast.show{opacity:1;transform:translate(-50%)}.seg{margin:0 0 var(--s5);padding:var(--s1);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.seg+section,.seg+.related{margin-top:0}.seg a{min-height:var(--tap);border-radius:var(--r);text-align:center;font:400 var(--t-sm) / var(--lh-tight) var(--sans);color:var(--ink-2);place-items:center;padding:0;text-decoration:none;display:grid}.seg a[aria-current]{background:var(--ink);color:var(--paper)}.cal-nav h2.week-title{font-size:var(--t-lg);text-align:center}.week-strip{margin:var(--s1) 0 var(--s5);grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;display:grid}.review{margin:0 0 var(--s6);padding-left:var(--s4);border-left:1px solid var(--accent)}.review-sum{font:400 var(--t-lg) / var(--lh-loose) var(--serif);margin:0}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{padding:var(--s1) var(--s3);border-radius:var(--r);background:var(--tint);font-size:var(--t-sm)}.tally{margin:0;padding:0;list-style:none}.tally summary{align-items:baseline;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);cursor:pointer;color:inherit;font:inherit;grid-template-columns:minmax(0,1fr) auto;list-style:none;display:grid}.tally summary::-webkit-details-marker{display:none}.tally .gist{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tally .when{color:var(--dim);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.tally-dates{gap:0 var(--s4);margin:0 0 var(--s3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tally-dates a{min-height:var(--tap);color:var(--accent-2);font-size:var(--t-sm);align-items:center;display:inline-flex}.intro .brand{align-items:flex-end;gap:var(--s2);margin:0 0 var(--s3);color:var(--accent);line-height:0;display:flex}.brand-mark{display:block}.brand-latin{color:var(--dim);font-size:var(--t-xs);line-height:var(--lh-tight);letter-spacing:.12em}.signature{margin:var(--s7) 0 0;color:var(--dim);font-size:var(--t-xs);letter-spacing:.12em;text-align:center}.mascot{flex:none;display:block}@media (prefers-color-scheme:dark){.mascot .m-ol{fill:none}}.mascot.blink .m-lid{animation:5.2s step-end infinite m-blink}@keyframes m-blink{0%,94%{fill:#2a3236}95%,to{fill:#f1ece1}}.mascot.thinking .m-lid{fill:#f1ece1;animation:none}.mascot.thinking{animation:1.2s steps(2,end) infinite m-bob}@keyframes m-bob{50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.mascot.blink .m-lid,.mascot.thinking{animation:none}}.intro-face{margin:0 0 var(--s5) -6px}.chat-face{margin:calc(var(--s2) * -1) 0 var(--s4) -3px}.empty-face{align-items:flex-start;gap:var(--s3);flex-direction:column;display:flex}.farewell{margin:0 0 var(--s5);color:var(--ink-2)}
