@font-face{font-family:Galmuri14;src:url(/fonts/Galmuri14-ks.woff2)format("woff2");font-display:swap}@font-face{font-family:Galmuri11;src:url(/fonts/Galmuri11-ks.woff2)format("woff2");font-display:swap}@font-face{font-family:Galmuri11;src:url(/fonts/Galmuri14-ks.woff2)format("woff2");unicode-range:U+C6D4;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;--px:polygon(0 6px, 3px 6px, 3px 3px, 6px 3px, 6px 0, calc(100% - 6px) 0, calc(100% - 6px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 6px, 100% 6px, 100% calc(100% - 6px), calc(100% - 3px) calc(100% - 6px), calc(100% - 3px) calc(100% - 3px), calc(100% - 6px) calc(100% - 3px), calc(100% - 6px) 100%, 6px 100%, 6px calc(100% - 3px), 3px calc(100% - 3px), 3px calc(100% - 6px), 0 calc(100% - 6px));--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);--thumb:64px;--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) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none;overflow-wrap:anywhere;margin:0}.date-head h1{font-family:Galmuri14;font-size:30px}.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:"‹ ";white-space:pre}html{scroll-padding-top:calc(env(safe-area-inset-top) + var(--tap))}.topbar{z-index:5;height:calc(env(safe-area-inset-top) + var(--tap));padding:env(safe-area-inset-top) max(var(--gutter), env(safe-area-inset-right)) 0 max(var(--gutter), env(safe-area-inset-left));pointer-events:none;position:fixed;top:0;left:0;right:0}.topbar:before{content:"";height:env(safe-area-inset-top);background:var(--paper);position:absolute;top:0;left:0;right:0}.bar-row{align-items:center;gap:var(--s2);max-width:calc(var(--page) - var(--gutter) * 2);height:var(--tap);opacity:0;visibility:hidden;grid-template-columns:minmax(max-content,1fr) minmax(0,auto) minmax(max-content,1fr);margin:0 auto;display:grid}.bar-title{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;font:400 15px / var(--lh-tight) "Galmuri14", var(--serif);letter-spacing:0;-webkit-font-smoothing:none;grid-column:2;overflow:hidden}.bar-back{min-height:var(--tap);color:var(--dim);font-size:var(--t-sm);white-space:nowrap;grid-column:1;justify-self:start;align-items:center;text-decoration:none;display:inline-flex}.bar-back:before{content:"‹ ";white-space:pre}.bar-row:has(.bar-back[hidden]) .bar-title{text-align:start;grid-column:1/3}.bar-side{justify-self:end;align-items:center;gap:var(--s1);color:var(--dim);font-size:var(--t-xs);font-variant-numeric:tabular-nums;white-space:nowrap;grid-column:3;display:flex}.head-collapsed .topbar{background:var(--paper);border-bottom:1px solid var(--line);pointer-events:auto}.head-collapsed .bar-row{opacity:1;visibility:visible}@media (prefers-reduced-motion:no-preference){.bar-row{transition:opacity .18s,visibility .18s}.topbar{transition:background-color .18s}}.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{white-space:pre-line;margin:0 0 1.1em}.page p:last-child{margin-bottom:0}.page.composing:before{opacity:.35}.composing-note{margin:0 0 var(--s4)}.chat-diary{margin:var(--s2) 0 var(--s4);align-self:stretch}.chat-footer .composing-note{margin:0}.day-talk{margin-top:var(--s6);border-top:1px solid var(--line)}.day-talk[open]>.chat-log{padding:var(--s3) 0 var(--s2)}.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)}.first-tip{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line);gap:var(--s4);flex-direction:column;display:flex}.page-actions{gap:var(--s2);margin-top:var(--s5);display:grid}.page-actions .hint{margin:0}.link-row{gap:0 var(--s4);margin-top:var(--s5);flex-wrap:wrap;display:flex}.reflected{margin:var(--s5) 0 0 var(--s5);color:var(--accent-2);font-size:var(--t-sm)}.editor{gap:var(--s4);display:grid}.editor-page{padding-right:0}.page-input{width:100%;min-height:calc(var(--t-lg) * var(--lh-loose) * 8);resize:none;color:var(--ink);font:inherit;word-break:keep-all;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block;overflow:hidden}.page-input:focus{outline:none}.page-input::placeholder{color:var(--dim)}.editor-page:focus-within:before{width:2px}.editor .hint,.editor [role=status]{margin:0}.editor [role=status]:empty{display:none}.draft-note{align-items:center;gap:0 var(--s2);flex-wrap:wrap;display:flex}.editor-actions{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));z-index:2;padding:var(--s2) 0;background:var(--paper);position:sticky}body.kb-open .editor-actions{bottom:var(--kb,0px)}.pair{gap:var(--s2);display:flex}.pair>.btn{flex:1 1 0;width:auto}a.cal-d:not(.on){color:var(--ink-2)}.btn,.seg a,.cal-d,.day,.goal-habit .week span,.choice,.attach-remove{--edge:transparent;--face:transparent;isolation:isolate;background:var(--edge);clip-path:var(--px);border:1px solid #0000;border-radius:0;position:relative}.btn:before,.seg a:before,.cal-d:before,.day:before,.goal-habit .week span:before,.choice:before,.attach-remove:before{content:"";z-index:-1;background:var(--face);clip-path:var(--px);position:absolute;inset:0}.btn{appearance:none;width:100%;min-height:var(--btn);padding:0 var(--s5);--edge:var(--ink);--face:var(--ink);color:var(--paper);font:500 15px / var(--lh-tight) "Galmuri14", var(--sans);letter-spacing:0;-webkit-font-smoothing:none;cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:flex}.btn.quiet{--edge:var(--ink-2);--face:var(--paper);color:var(--ink)}.btn.danger{--edge:var(--danger);--face:var(--danger);color:var(--paper)}.btn.danger.quiet{--face:var(--paper);color:var(--danger)}.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;justify-content:center;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{padding-left:var(--s3);border-left:2px solid var(--accent);font:400 var(--t-voice) / var(--lh-loose) var(--voice);letter-spacing:0;-webkit-font-smoothing:none;color:var(--ink)}.msg.ai{word-break:keep-all;align-self:flex-start}.msg.pending{min-height:calc(var(--t-voice) * var(--lh-loose));align-items:center;display:flex}.dots{gap:6px;display:inline-flex}.dots i{background:var(--ink-2);opacity:.25;width:6px;height:6px;animation:1.2s step-end infinite dot}.dots i:nth-child(2){animation-delay:.4s}.dots i:nth-child(3){animation-delay:.8s}@keyframes dot{0%,33%{opacity:1}34%,to{opacity:.25}}@media (prefers-reduced-motion:reduce){.dots i{opacity:.6;animation:none}}.msg.me{padding:var(--s3) var(--s4);background:var(--tint);border-radius:var(--r);color:var(--ink);align-self:flex-end}.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}.chat-actions{gap:var(--s1);flex:100%;justify-items:center;display:grid}.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));margin:0 auto;display:flex;position:fixed}.composer:before{content:"";z-index:-1;top:calc(var(--s5) * -1);background:color-mix(in srgb, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(var(--s3));backdrop-filter:blur(var(--s3));-webkit-mask-image:linear-gradient(transparent, black var(--s5));-webkit-mask-image:linear-gradient(transparent, black var(--s5));mask-image:linear-gradient(transparent, black var(--s5));pointer-events:none;position:absolute;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw)}.composer-field{border-radius:var(--r);background:var(--sheet);min-width:0;box-shadow:inset 0 0 0 1px var(--field-line);flex:1;align-items:flex-end;display:flex}.composer-field:focus-within{box-shadow:inset 0 0 0 1px var(--ink)}.composer textarea{resize:none;min-width:0;min-height:var(--tap);max-height:160px;padding:var(--s2) var(--s3);border-radius:var(--r);line-height:var(--lh);background:0 0;border:0;flex:1}.composer textarea:focus{outline:none}.composer textarea::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.composer .photo-btn+textarea{padding-left:0}.composer .btn.send{width:var(--tap);--edge:transparent;--face:transparent;color:var(--dim);flex:none;padding:0;transition:color .15s}.composer .send.ready{color:var(--ink)}.composer .send svg{display:block}.composer .btn{width:auto;min-height:var(--tap);padding:0 var(--s4);font-size:var(--t-sm);flex:none}.composer .mic[aria-pressed=true]{--edge:var(--accent);color:var(--accent)}.composer .to-end{left:50%;bottom:calc(100% + var(--s2));width:var(--tap);min-height:var(--tap);padding:0;position:absolute;transform:translate(-50%)}.composer .to-end[hidden]{display:none}.composer .char-count{right:max(var(--gutter), env(safe-area-inset-right));bottom:calc(100% + var(--s1));padding:0 var(--s1);background:var(--paper);color:var(--dim);font-size:var(--t-xs);line-height:var(--lh-tight);font-variant-numeric:tabular-nums;margin:0;position:absolute}.composer .char-count[hidden]{display:none}.composer .char-count[data-over]{color:var(--accent)}.chat{padding-bottom:calc(var(--composer) + var(--s3))}.composer.with-photo{flex-wrap:wrap}.composer .photo-btn{width:var(--tap);color:var(--ink-2);--edge:transparent;--face:transparent;padding:0}.composer .photo-btn svg{display:block}.attach{align-items:center;gap:var(--s3);min-width:0;padding:var(--s2);border:1px solid var(--line);border-radius:var(--r);background:var(--sheet);flex:100%;order:-1;display:flex}.attach[hidden]{display:none}.attach-thumb{width:var(--thumb);height:var(--thumb);border:1px solid var(--line);background:var(--tint);flex:none;overflow:hidden}.attach-thumb img{object-fit:cover;width:100%;height:100%;display:block}.attach-note{min-width:0;color:var(--dim);font-size:var(--t-sm);line-height:var(--lh-tight);flex:1;margin:0}.attach-remove{width:var(--tap);height:var(--tap);--edge:transparent;--face:transparent;color:var(--ink);font:400 var(--t-md) / var(--lh-tight) var(--sans);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.attach-remove:disabled{opacity:.4;cursor:default}.chat.has-attach{padding-bottom:calc(var(--composer) + var(--thumb) + var(--s5) + var(--s3))}.photo-thumb{border:1px solid var(--line);background:var(--tint);width:100%;color:inherit;cursor:zoom-in;border-radius:0;margin:0;padding:0;display:block}.photo-box{display:block;position:relative}.photo-box img{width:100%;height:auto;display:block}.photo-box.loading{aspect-ratio:4/3}.photo-box.broken{min-height:var(--btn);padding:var(--s3);justify-content:center;align-items:center;display:flex}.photo-fail{color:var(--dim);font-size:var(--t-xs)}.msg.has-photo{gap:var(--s2);width:min(86%,260px);display:grid}.photo-thumb.in-msg img{object-fit:cover;max-height:320px}.msg-text{white-space:pre-wrap}.photo-strip{gap:var(--s2);margin-top:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.photo-strip .photo-thumb,.photo-strip .photo-box{height:100%}.photo-strip .photo-thumb{aspect-ratio:1;overflow:hidden}.photo-strip .photo-box img{object-fit:cover;height:100%}.photo-strip .photo-box.loading{aspect-ratio:auto;height:100%}.photo-edit{gap:var(--s2);margin-top:var(--s4);display:grid}.photo-edit .photo-strip{margin-top:0}.photo-item{aspect-ratio:1;min-width:0;position:relative}.photo-item .attach-remove{position:absolute;top:0;right:0}.photo-add{gap:var(--s2)}.photo-add svg{flex:none}.photo-edit .hint{margin:0}.photo-viewer{z-index:20;padding:calc(env(safe-area-inset-top) + var(--s2)) max(var(--s3), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + var(--s3)) max(var(--s3), env(safe-area-inset-left));background:var(--paper);flex-direction:column;display:flex;position:fixed;inset:0}.viewer-close{width:var(--tap);min-height:var(--tap);flex:none;align-self:flex-end}.viewer-close,.goal-count .btn.square{--edge:transparent;--face:transparent;color:var(--ink-2)}.viewer-stage{min-height:0;margin-top:var(--s2);flex:1;justify-content:center;align-items:center;display:flex}.viewer-stage .photo-box{max-width:100%;max-height:100%}.viewer-stage .photo-box img{width:auto;max-width:100%;max-height:calc(100vh - var(--tap) * 2 - var(--s6) - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;border:1px solid var(--line)}.viewer-stage .photo-box.loading{width:min(100%,480px)}body.viewer-open{overflow:hidden}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(--s1) 0 var(--s1) var(--s4);border-left:1px solid var(--accent);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) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none;margin:0}.cal-nav .btn.square{--edge:transparent;--face:transparent;color:var(--ink-2)}.cal-nav .btn.square:disabled{color:var(--line)}.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;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{--edge:var(--ink);--face:var(--ink);color:var(--paper)}.cal-d.today:not(.on){--edge:var(--accent);--face:var(--paper);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;width:26px;height:26px;line-height:26px;font-size:var(--t-xs);color:var(--dim);--edge:var(--line);--face:var(--paper)}.goal-habit .week span.on{--edge:var(--ink);--face:var(--ink);color:var(--paper)}.goal-habit .week span.today{--edge: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-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")}}.avatar-zone{justify-items:center;gap:var(--s2);margin-bottom:var(--s5);display:grid}.avatar{appearance:none;cursor:pointer;border:1px solid var(--field-line);background:var(--paper);width:96px;height:96px;color:var(--ink-2);border-radius:50%;place-items:center;padding:0;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar-initial{font:400 var(--t-xl) / var(--lh-tight) var(--serif)}.avatar.loading{opacity:.5;cursor:default}.avatar-actions{justify-content:center;gap:0 var(--s4);flex-wrap:wrap;display:flex}.photo-viewer.crop{gap:var(--s4)}.crop h2{margin:var(--s4) 0 0;text-align:center;font:400 var(--t-xl) / var(--lh-tight) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none}.crop-body{align-content:center;justify-items:center;gap:var(--s3);flex:1;min-height:0;display:grid}.crop-stage{width:max(160px, min(100%, 360px, calc(100dvh - 330px - env(safe-area-inset-top) - env(safe-area-inset-bottom))));aspect-ratio:1;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.crop-stage canvas{transform-origin:0 0;max-width:none;position:absolute;top:0;left:0}.crop-mask{pointer-events:none;background:radial-gradient(circle closest-side, transparent calc(100% - 1px), var(--field-line) calc(100% - 1px), var(--field-line) 100%, color-mix(in srgb, var(--paper) 72%, transparent) 100%);position:absolute;inset:0}.crop-body .hint{text-align:center;word-break:keep-all;max-width:30ch;margin:0}.photo-viewer.crop:focus{outline:none}.crop-body input[type=range]{width:min(100%,360px);min-height:var(--tap);accent-color:var(--ink)}.crop-actions{gap:var(--s2);width:100%;max-width:var(--page);margin:0 auto;display:flex}.crop-actions .btn{flex:1 1 0;width:auto}.profile-form{gap:var(--s4);display:grid}.profile-form>.btn{margin-top:var(--s2)}.profile-form+.profile-form{margin-top:var(--s4)}.field{gap:var(--s2);display:grid}.field span,legend{font:12px / var(--lh-tight) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none;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);--edge:var(--line);--face:var(--paper);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){--edge: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) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none}.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) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none;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);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.seg+section,.seg+.related{margin-top:0}.seg a{min-height:var(--tap);text-align:center;font:400 12px / var(--lh-tight) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none;color:var(--ink-2);place-items:center;padding:0;text-decoration:none;display:grid}.seg a[aria-current]{--edge:var(--ink);--face: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:12px / var(--lh-tight) "Galmuri11", var(--sans);letter-spacing:0;-webkit-font-smoothing:none}.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}.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)}.coin{vertical-align:middle;flex:none}.coin .c-e{fill:currentColor}.coin .c-f{fill:var(--accent)}.date-head .wallet-line{align-items:center;gap:var(--s1);margin-top:var(--s2);font-variant-numeric:tabular-nums;display:flex}.wallet-line:empty{display:none}.cost{align-items:center;gap:var(--s1);margin-left:var(--s2);font-size:var(--t-sm);font-weight:400;display:inline-flex}.paywall{gap:var(--s2);padding:var(--s1) 0 var(--s1) var(--s4);border-left:1px solid var(--accent);flex:100%;display:grid}.paywall .voice{border-left:0;margin:0;padding-left:0}.paywall-bal{align-items:center;gap:var(--s1);color:var(--dim);font-size:var(--t-sm);margin:0;display:flex}.paywall .row{gap:var(--s2);margin-top:var(--s2);display:flex}.paywall .row .btn{width:auto;padding:0 var(--s3);flex:1 1 0}.paywall .stack{gap:var(--s2);margin-top:var(--s2);display:grid}.settings .coin-bal{align-items:center;gap:var(--s2);color:var(--ink);font:400 var(--t-xl) / var(--lh-tight) var(--serif);margin:0;display:flex}.freeze-row{gap:var(--s2);font-size:var(--t-sm);display:grid}.settings .freeze-row+.hint{margin:0 0 var(--s2)}.ledger{margin:0 0 var(--s2);padding:0;list-style:none}.ledger li{gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);font-size:var(--t-sm);grid-template-columns:3.5em minmax(0,1fr) auto;display:grid}.ledger .when{color:var(--dim);font-variant-numeric:tabular-nums}.ledger .gist{overflow-wrap:anywhere}.ledger .delta{color:var(--ink-2);font-variant-numeric:tabular-nums}.ledger .delta.plus{color:var(--accent-2)}.buy-bal{gap:var(--s1);margin:0 0 var(--s5);display:grid}.buy-bal .coin-bal{align-items:center;gap:var(--s2);color:var(--ink);font:400 var(--t-xl) / var(--lh-tight) var(--serif);margin:0;display:flex}.buy-bal .hint{margin:0}.buy{gap:var(--s2);display:grid}.buy .hint{margin:0}.buy-list{gap:var(--s2);min-width:0;margin:0 0 var(--s2);border:0;padding:0;display:grid}.buy-pack{min-height:var(--btn);grid-template-columns:auto minmax(0,1fr) auto}.buy-pack input{grid-row:auto}.pack-coins{align-items:center;gap:var(--s1) var(--s2);min-width:0;color:var(--ink);flex-wrap:wrap;display:flex}.pack-main{gap:var(--s1);min-width:0;display:grid}.pack-calls{padding-left:calc(16px + var(--s2));color:var(--ink-2);font-size:var(--t-sm);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.pack-price{color:var(--ink);font-variant-numeric:tabular-nums}.pack-tag{padding:0 var(--s2);border:1px solid var(--accent);border-radius:var(--r);color:var(--accent);font-family:"Galmuri11", var(--sans);font-size:var(--t-xs);letter-spacing:0;-webkit-font-smoothing:none;white-space:nowrap}.buy-skel{gap:var(--s2);padding:0}.buy-skel i{height:var(--btn)}.buy-status:empty{display:none}.buy-status[data-tone=alert]{color:var(--danger)}.buy-sheet .buy-bal{margin-bottom:var(--s4)}.buy-sheet .sheet-actions{margin-top:var(--s2)}.short-note{gap:var(--s2);display:grid}.short-note .hint,.paywall .buy-web{margin:0}.people-offer{gap:var(--s2);margin-bottom:var(--s6);display:grid}.people-offer .hint{margin:0}.goal-start{margin-top:var(--s5)}.goal-offer>.link{justify-self:start}.goal-plan{gap:var(--s1);margin-top:var(--s1);display:grid}.goal-plan p{color:var(--ink-2);font-size:var(--t-sm);overflow-wrap:anywhere;margin:0}.goal-plan .k{color:var(--dim);margin-right:var(--s2)}.goal-plan .when{color:var(--dim)}.plan-lead{margin:0 0 var(--s5)}.plan-card{gap:var(--s4);padding-bottom:var(--s5);display:grid}.plan-card>.btn{margin-top:var(--s2)}.plan-card>.link{justify-self:center}.plan-card .field>select,.plan-card .add-extra input[name=steps]{width:100%}.two{gap:var(--s3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.days .day-row{gap:var(--s1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.day{min-height:var(--tap);--edge:var(--field-line);--face:var(--paper);font-size:var(--t-sm);cursor:pointer;place-items:center;display:grid;position:relative}.day input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.day:has(input:checked){--edge:var(--ink);--face:var(--ink);color:var(--paper)}.btn:focus-visible,.seg a:focus-visible,.cal-d:focus-visible{--edge:var(--accent);outline:none}.choice:has(input:focus-visible){--edge:var(--accent);outline:none}.day:has(input:focus-visible){--edge:var(--accent);outline:none}.btn:focus-visible:before,.seg a:focus-visible:before,.cal-d:focus-visible:before{inset:1px}.choice:has(input:focus-visible):before{inset:1px}.day:has(input:focus-visible):before{inset:1px}.swipe-layer{z-index:15;background:var(--paper);pointer-events:none;will-change:transform;position:fixed;inset:0;overflow:hidden}.swipe-layer:before{content:"";z-index:6;height:env(safe-area-inset-top);background:var(--paper);position:absolute;top:0;left:0;right:0}.swipe-top{z-index:16;border-left:1px solid var(--line)}.swipe-scroll{position:absolute;left:0;right:0}body.swiping #app>#view,body.swiping #app>.topbar{visibility:hidden}body.swiping .tabbar{z-index:17}.streak{gap:var(--s3);margin:var(--s5) 0 0;padding:var(--s1) 0 var(--s1) var(--s4);border-left:1px solid var(--accent);display:grid}.streak-head{justify-content:space-between;align-items:flex-end;gap:var(--s3);display:flex}.streak-num{align-items:baseline;gap:var(--s2);margin:0;display:flex}.num-wrap{display:inline-block;position:relative}.roll{font:400 45px / var(--lh-tight) "Galmuri14", var(--serif);font-variant-numeric:tabular-nums;letter-spacing:0;-webkit-font-smoothing:none;display:inline-grid;overflow:hidden}.roll>span{grid-area:1/1}.roll .old{visibility:hidden}.streak.hit .roll .new{color:var(--accent)}.streak-num .unit{color:var(--ink-2);font-size:var(--t-md)}.streak-coin{align-items:center;gap:var(--s1);font-size:var(--t-md);font-variant-numeric:tabular-nums;margin:0;display:flex}.streak-week{gap:var(--s1);grid-template-columns:repeat(7,minmax(0,1fr));max-width:320px;margin:0;padding:0;list-style:none;display:grid}.streak-week .cell{justify-items:center;gap:var(--s1);display:grid}.streak-week .cell>i{width:18px;height:18px;box-shadow:inset 0 0 0 2px var(--line);display:block;position:relative}.streak-week .cell.on>i,.streak-week .cell.today>i{background:var(--accent);box-shadow:none}.streak-week .cell.rest>i{box-shadow:inset 0 0 0 2px var(--accent)}.streak-week .cell span{color:var(--dim);font-size:var(--t-xs);line-height:var(--lh-tight)}.streak-week .cell.today span{color:var(--ink);font-weight:600}.streak-sub{color:var(--dim);font-size:var(--t-sm);margin:0}.streak .voice{border-left:0;margin:0;padding-left:0}.streak-badges{gap:var(--s3);margin-top:var(--s2);display:grid}.new-badge{align-items:center;gap:var(--s3);display:flex}.new-badge p{margin:0;display:grid}.new-badge .new-label{color:var(--accent);font-size:var(--t-xs);letter-spacing:.04em;font-weight:600}.new-badge strong{font:400 var(--t-lg) / var(--lh-tight) var(--serif)}.badge-pop{line-height:0;display:block;position:relative}.sparks{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.sparks i{opacity:0;width:3px;height:3px;position:absolute;top:-1px;left:-1px}.sparks .c0{background:var(--accent)}.sparks .c1{background:var(--accent-2)}.sparks .c2{background:var(--ink)}@media (prefers-reduced-motion:no-preference){.streak.cheer .roll .old{visibility:visible}.streak.cheer:not(.play) .cell.today>i{box-shadow:inset 0 0 0 2px var(--line);background:0 0}.streak.cheer:not(.play) .roll .new,.streak.cheer:not(.play) :is(.streak-coin,.streak-sub,.voice,.streak-badges){opacity:0}.streak.play .cell.on>i,.streak.play .cell.rest>i{animation:.24s steps(3,end) both cell-in;animation-delay:calc(var(--i) * 60ms)}.streak.play .cell.today>i{animation:.42s steps(4,end) .52s both stamp}.streak.play .sparks i{animation:.64s steps(6,end) forwards spark;animation-delay:calc(var(--spark-at,.88s) + var(--k) * 30ms)}.streak.play .num-wrap .sparks i{--spark-at:1.18s}.streak.play .roll .old{animation:.36s steps(4,end) .9s both roll-out}.streak.play .roll .old+.new{animation:.36s steps(4,end) .9s both roll-in}.streak.play .roll .new:only-child{animation:.36s steps(3,end) .9s both pop}.streak.play .streak-coin{animation:.42s steps(4,end) 1.2s both rise}.streak.play .streak-sub{animation:.4s 1.35s both fade}.streak.play .voice{animation:.4s 1.5s both fade}.streak.play .streak-badges{animation:1ms 1.65s both fade}.streak.play .new-badge .badge-pop{animation:.56s steps(5,end) 1.7s both badge-in}.streak.play .new-badge .sparks i{--spark-at:2.15s}.streak.play .new-badge p{animation:.4s 2s both fade}.badge.fresh .badge-icon{animation:.56s steps(5,end) .2s both badge-in}}@keyframes cell-in{0%{opacity:.3;transform:scale(.4)}}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-12deg)}60%{opacity:1;transform:scale(.85)}to{transform:none}}@keyframes spark{0%{opacity:1;transform:none}to{opacity:0;transform:translate(var(--dx), var(--dy))}}@keyframes roll-out{to{transform:translateY(-100%)}}@keyframes roll-in{0%{transform:translateY(100%)}}@keyframes pop{0%{opacity:0;transform:scale(.5)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@keyframes badge-in{0%{transform:scale(0)rotate(-20deg)}70%{transform:scale(1.15)rotate(4deg)}to{transform:none}}.badge-icon{flex:none;display:block}.badge .badge-icon{justify-self:center}.badge-icon .b-e{fill:var(--ink)}.badge-icon .b-f,.badge-icon .b-w{fill:var(--sheet)}.badge-icon .b-g{fill:var(--accent)}.badge-icon .b-h{fill:var(--accent-2)}.badge-icon.high .b-e{fill:var(--accent)}.badge-icon.locked .b-e{fill:var(--field-line)}.badge-icon.locked :is(.b-f,.b-w){fill:#0000}.badge-icon.locked :is(.b-g,.b-h){fill:var(--line)}.settings .badge-group{margin:var(--s4) 0 var(--s2);color:var(--dim);font-size:var(--t-xs);font-weight:600}.badge-grid{gap:var(--s4) var(--s2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.badge{align-content:start;justify-items:stretch;gap:var(--s1);text-align:center;word-break:keep-all;min-width:0;display:grid}.badge-name{color:var(--ink);font-size:var(--t-xs);line-height:var(--lh-tight);overflow-wrap:anywhere}.badge.locked .badge-name{color:var(--dim)}.badge-hint{color:var(--dim);font-size:var(--t-xs);line-height:var(--lh-tight);overflow-wrap:anywhere}.badge-new{color:var(--accent);font-size:var(--t-xs);font-weight:600;line-height:var(--lh-tight)}
