@font-face{font-family:ChosunGu;src:url(/assets/ChosunGu-subset-DJwDrDrn.woff2)format("woff2");font-weight:400;font-display:swap}:root{--cream:#fff;--paper:#fff;--paper-2:#f8f7f3;--ring-track:#f1efe7;--hair:#efede6;--sky:#f7e27a;--sky-soft:#fff7d1;--blue:#f2d338;--accent-ink:#7a6200;--stripe:repeating-linear-gradient(90deg, #f2d338 0 3px, #f9e98f 3px 6px);--ink:#161616;--ink-2:#3b3a36;--muted:#9a978d;--line:#16161612;--line-2:#16161621;--danger:#d0564a;--radius:22px;--radius-sm:14px;--shadow:0 0 0 1px #efede6;--ease:cubic-bezier(.2, .8, .2, 1);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--font-title:"ChosunGu", "Pretendard Variable", Pretendard, -apple-system, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--cream);color:var(--ink);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;word-break:keep-all;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,sans-serif;font-size:15px;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;opacity:.9;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27420%27%20height%3D%27460%27%3E%3Ccircle%20cx%3D%27190%27%20cy%3D%27257%27%20r%3D%271.2%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27359%27%20cy%3D%2787%27%20r%3D%271.5%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27258%27%20cy%3D%2786%27%20r%3D%271.2%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%2738%27%20cy%3D%27372%27%20r%3D%270.8%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.5%27/%3E%3Ccircle%20cx%3D%27275%27%20cy%3D%27283%27%20r%3D%271%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%2727%27%20cy%3D%2716%27%20r%3D%271%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.5%27/%3E%3Ccircle%20cx%3D%27137%27%20cy%3D%27272%27%20r%3D%271%27%20fill%3D%27%23D9D4C3%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27124%27%20cy%3D%272%27%20r%3D%270.8%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27117%27%20cy%3D%27459%27%20r%3D%270.8%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.5%27/%3E%3Ccircle%20cx%3D%27318%27%20cy%3D%27236%27%20r%3D%270.8%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27322%27%20cy%3D%27184%27%20r%3D%271%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%27402%27%20cy%3D%27390%27%20r%3D%270.8%27%20fill%3D%27%23D9D4C3%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%27389%27%20cy%3D%2724%27%20r%3D%271.2%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.5%27/%3E%3Ccircle%20cx%3D%2731%27%20cy%3D%27290%27%20r%3D%271%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%27131%27%20cy%3D%277%27%20r%3D%271.2%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%27103%27%20cy%3D%2746%27%20r%3D%270.8%27%20fill%3D%27%23CFC9B6%27%20opacity%3D%270.5%27/%3E%3Ccircle%20cx%3D%2775%27%20cy%3D%27257%27%20r%3D%271.2%27%20fill%3D%27%23D9D4C3%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27323%27%20cy%3D%27193%27%20r%3D%271.2%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.5%27/%3E%3Ccircle%20cx%3D%27177%27%20cy%3D%2798%27%20r%3D%271%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%2788%27%20cy%3D%27181%27%20r%3D%271.5%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.35%27/%3E%3Ccircle%20cx%3D%27416%27%20cy%3D%2798%27%20r%3D%271%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.6%27/%3E%3Ccircle%20cx%3D%27138%27%20cy%3D%27136%27%20r%3D%270.8%27%20fill%3D%27%23E9C92A%27%20opacity%3D%270.35%27/%3E%3Cpath%20d%3D%27M99%20283%20Q99%20287%20103%20287%20Q99%20287%2099%20291%20Q99%20287%2095%20287%20Q99%20287%2099%20283Z%27%20fill%3D%27%23EBCB2E%27%20opacity%3D%27.45%27/%3E%3Cpath%20d%3D%27M248%20171%20Q248%20176%20253%20176%20Q248%20176%20248%20181%20Q248%20176%20243%20176%20Q248%20176%20248%20171Z%27%20fill%3D%27%23EBCB2E%27%20opacity%3D%27.45%27/%3E%3Cpath%20d%3D%27M68%20261%20Q68%20267%2074%20267%20Q68%20267%2068%20273%20Q68%20267%2062%20267%20Q68%20267%2068%20261Z%27%20fill%3D%27%23EBCB2E%27%20opacity%3D%27.45%27/%3E%3Cpath%20d%3D%27M72%20176%20Q72%20182%2078%20182%20Q72%20182%2072%20188%20Q72%20182%2066%20182%20Q72%20182%2072%20176Z%27%20fill%3D%27%23EBCB2E%27%20opacity%3D%27.45%27/%3E%3C/svg%3E);background-size:420px 460px;position:fixed;inset:0}#root{z-index:1;position:relative}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{outline:none}::selection{background:var(--sky-soft)}.app{max-width:1120px;min-height:100%;margin:0 auto;display:flex}.main{min-width:0;padding:calc(var(--safe-top) + 8px) 16px calc(104px + var(--safe-bottom));flex:1}.page{max-width:520px;animation:rise .45s var(--ease);margin:0 auto}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.topbar{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:8px;font-size:22px;font-weight:800;display:flex}.brand-dot{background:var(--stripe);border-radius:6px;flex-shrink:0;width:18px;height:18px}.brand b{font-weight:700}.page-title{letter-spacing:-.035em;margin:6px 0 16px;font-size:22px;font-weight:700}.tabbar{left:50%;bottom:calc(14px + var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px var(--hair), 0 14px 30px -18px #3c340a59;z-index:40;background:#ffffffeb;border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.tab{height:44px;color:var(--muted);transition:all .25s var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.tab svg{width:20px;height:20px}.tab.on{background:var(--blue);color:var(--ink)}.tab .lbl{display:none}.tab.on .lbl{display:inline}.sidenav{display:none}@media (width>=960px){.tabbar{display:none}.sidenav{flex-direction:column;flex-shrink:0;gap:4px;width:220px;height:100vh;padding:28px 16px;display:flex;position:sticky;top:0}.sidenav .brand{padding:0 12px 24px}.sidenav a{color:var(--ink-2);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-weight:600;text-decoration:none;transition:background .2s;display:flex}.sidenav a svg{width:20px;height:20px}.sidenav a:hover{background:#0000000a}.sidenav a.on{background:var(--sky-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--blue)}.sidenav .foot{color:var(--muted);margin-top:auto;padding:12px;font-size:12px}.main{padding:20px 32px 48px}.topbar.mobile-only{display:none}}.home-grid{gap:18px;display:grid}@media (width>=960px){.home-grid{grid-template-columns:380px 1fr;align-items:start;max-width:none}.home-grid>.col-left{position:sticky;top:20px}.page.wide{max-width:880px}}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:14px}.section-label{color:var(--muted);letter-spacing:.06em;margin:22px 4px 10px;font-size:12px;font-weight:700}.avatar{--c:var(--sky);background:color-mix(in srgb, var(--c) 22%, #fff);width:48px;height:48px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--c) 70%, transparent);border-radius:50%;flex-shrink:0;place-items:center;font-size:24px;line-height:1;display:grid}.avatar.sm{width:36px;height:36px;font-size:18px}.avatar.lg{width:72px;height:72px;font-size:36px}.people{scrollbar-width:none;gap:14px;margin:0 -16px;padding:4px 16px 10px;display:flex;overflow-x:auto}.people::-webkit-scrollbar{display:none}.person{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:58px;display:flex}.person .avatar{transition:transform .25s var(--ease), box-shadow .25s}.person .nm{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:58px;font-size:11.5px;overflow:hidden}.person.on .avatar{box-shadow:0 0 0 2.5px #fff, 0 0 0 4.5px var(--blue)}.person.on .nm{color:var(--ink);font-weight:600}.person.add .avatar{box-shadow:inset 0 0 0 1.5px dashed var(--line-2);border:1.5px dashed var(--line-2);color:var(--muted);background:0 0;font-size:20px}.profile-head{align-items:center;gap:14px;display:flex}.profile-head .who{flex:1;min-width:0}.profile-head .name{letter-spacing:-.03em;font-size:18px;font-weight:700}.profile-head .handle{color:var(--muted);font-size:13px}.profile-head .bio{color:var(--ink-2);margin-top:2px;font-size:13.5px}.stats{color:var(--muted);gap:16px;margin-top:6px;font-size:12.5px;display:flex}.stats b{color:var(--ink);margin-left:3px;font-weight:700}.btn{background:var(--ink);color:#fff;border-radius:16px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 20px;font-weight:600;transition:transform .15s,opacity .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4}.btn.block{width:100%}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);background:0 0}.btn.soft{background:var(--sky-soft);color:var(--accent-ink)}.btn.blue{background:var(--blue);color:var(--ink)}.btn.sm{border-radius:12px;height:34px;padding:0 14px;font-size:13px}.btn.danger{color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 35%, transparent);background:0 0}.icon-btn{width:40px;height:40px;color:var(--ink-2);border-radius:12px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:#0000000a}.icon-btn svg{width:22px;height:22px}.badge-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:9px;box-shadow:0 0 0 2px #fff}.field{margin-bottom:14px;display:block}.field>span{color:var(--muted);margin:0 0 6px 4px;font-size:12.5px;font-weight:600;display:block}.input,.textarea,.select{background:var(--paper-2);border:1px solid #0000;border-radius:14px;width:100%;height:50px;padding:0 16px;transition:border-color .2s,background .2s}.textarea{resize:vertical;height:auto;min-height:160px;padding:14px 16px;line-height:1.7}.input:focus,.textarea:focus,.select:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--sky-soft);background:#fff}.hint{color:var(--muted);margin:6px 4px 0;font-size:12.5px}.err{color:var(--danger);margin:8px 4px;font-size:13px}.seg{background:var(--paper-2);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{height:32px;color:var(--muted);border-radius:10px;padding:0 14px;font-size:13px;font-weight:600}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 1px 3px #00000014}.cal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-title{letter-spacing:-.03em;align-items:center;gap:4px;font-size:17px;font-weight:700;display:flex}.cal-nav{align-items:center;gap:2px;display:flex}.cal-nav .icon-btn{width:32px;height:32px}.cal-nav .icon-btn svg{width:18px;height:18px}.cal-grid{grid-template-columns:repeat(7,1fr);row-gap:6px;display:grid}.cal-wd{text-align:center;color:var(--muted);padding-bottom:4px;font-size:11px;font-weight:600}.cal-wd:first-child{color:#c07a6f}.cal-day{border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:4px 0;display:flex}.cal-day.out{opacity:.28}.cal-num{color:var(--ink-2);text-align:center;border-radius:9px;min-width:22px;height:18px;padding:0 5px;font-size:11.5px;font-weight:600;line-height:18px}.cal-day.today .cal-num{color:var(--accent-ink);box-shadow:inset 0 -2px 0 var(--blue);border-radius:0}.cal-day.sel .cal-num{background:var(--ink);color:#fff;box-shadow:none;border-radius:9px}.drop{--p:0;background:var(--sky-soft);width:28px;height:28px;color:var(--accent-ink);transition:transform .2s var(--ease);border-radius:10px;place-items:center;font-size:11px;font-weight:700;display:grid;position:relative;overflow:hidden}.drop:before{content:"";height:calc(var(--p) * 100%);background:var(--stripe);transition:height .5s var(--ease);position:absolute;bottom:0;left:0;right:0}.drop>span{position:relative}.drop.none{background:var(--paper-2)}.drop.full{color:var(--ink)}.drop.full:before{height:100%}.drop.half{color:var(--ink)}.cal-day:active .drop{transform:scale(.92)}.day-head{justify-content:space-between;align-items:baseline;margin:4px 4px 14px;display:flex}.day-head h2{letter-spacing:-.035em;margin:0;font-size:20px}.day-head .sub{color:var(--muted);font-size:12.5px}.goal{margin-bottom:18px}.goal-chip{--c:var(--blue);background:color-mix(in srgb, var(--c) 20%, #fff);height:32px;color:color-mix(in srgb, var(--c) 45%, #161616);border-radius:999px;align-items:center;gap:6px;padding:0 8px 0 12px;font-size:13.5px;font-weight:700;transition:background .2s;display:inline-flex}.goal-chip .plus{background:var(--c);color:#161616;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.goal-chip .plus svg{width:12px;height:12px}.goal-chip .lock{opacity:.6}.goal-chip.readonly{padding-right:12px}.todo{animation:rise .3s var(--ease);border-radius:12px;align-items:flex-start;gap:12px;padding:10px 4px 10px 6px;display:flex}@media (hover:hover){.todo:hover{background:#00000005}}.check{--c:var(--blue);background:var(--paper-2);width:24px;height:24px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--c) 75%, #bbb);color:#161616;transition:background .2s, box-shadow .2s, transform .2s var(--ease);border-radius:8px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.check svg{opacity:0;width:14px;height:14px;transition:all .25s var(--ease);transform:scale(.5)}.check.on{background:var(--c);box-shadow:none;animation:pop .35s var(--ease)}.check.on svg{opacity:1;transform:none}@keyframes pop{40%{transform:scale(1.18)}}.todo-body{flex:1;min-width:0}.todo-title{padding-top:2px;font-size:15px;line-height:1.45}.todo.done .todo-title{color:var(--muted)}.todo-memo{color:var(--muted);white-space:pre-wrap;margin-top:2px;font-size:12.5px}.todo-more{width:30px;height:30px;color:var(--muted);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.todo-more:hover{background:#0000000d}.todo-more svg{width:18px;height:18px}.cheers{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.cheer-pill{background:var(--paper-2);height:24px;color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:inline-flex}.cheer-pill.mine{background:var(--sky-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--sky);font-weight:600}.add-row{align-items:center;gap:12px;padding:8px 4px 8px 6px;display:flex}.add-row .check{box-shadow:inset 0 0 0 1.5px var(--line-2)}.add-row input{border:0;border-bottom:1.5px solid var(--blue);background:0 0;flex:1;height:30px;font-size:15px}.empty{text-align:center;color:var(--muted);padding:28px 12px;font-size:14px;line-height:1.7}.empty .big{margin-bottom:6px;font-size:34px;display:block}.diary-peek{text-align:left;align-items:flex-start;gap:12px;width:100%;display:flex}.diary-peek .mood{font-size:28px;line-height:1}.diary-peek p{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.scrim{z-index:60;background:#16161647;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--paper);width:100%;max-width:480px;max-height:88vh;padding:10px 18px calc(22px + var(--safe-bottom));animation:up .32s var(--ease);border-radius:26px 26px 0 0;overflow-y:auto}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.sheet .grab{background:var(--line-2);border-radius:4px;width:38px;height:4px;margin:0 auto 14px}.sheet h3{letter-spacing:-.03em;margin:0 0 4px;font-size:18px}.sheet .sub{color:var(--muted);margin-bottom:16px;font-size:13px}@media (width>=600px){.scrim{align-items:center}.sheet{border-radius:26px;padding-bottom:22px}}.action-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 4px;display:grid}.action{background:var(--paper-2);height:78px;color:var(--ink-2);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12.5px;font-weight:600;transition:background .2s;display:flex}.action:hover{background:var(--sky-soft)}.action svg{width:22px;height:22px}.action.danger{color:var(--danger)}.row-btns{gap:8px;margin-top:12px;display:flex}.row-btns>*{flex:1}.weekday-pick{gap:6px;display:flex}.weekday-pick button{background:var(--paper-2);height:40px;color:var(--muted);border-radius:12px;flex:1;font-size:13px;font-weight:600}.weekday-pick button.on{background:var(--blue);color:var(--ink)}.emoji-row{flex-wrap:wrap;gap:6px;display:flex}.emoji-row button{background:var(--paper-2);width:46px;height:46px;transition:transform .2s var(--ease), background .2s;border-radius:14px;font-size:22px}.emoji-row button.on{background:var(--sky-soft);box-shadow:inset 0 0 0 2px var(--blue);transform:scale(1.06)}.color-row{flex-wrap:wrap;gap:10px;display:flex}.color-row button{background:var(--c);border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 2px #fff6}.color-row button.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ink)}.list-item{align-items:center;gap:12px;padding:10px 2px;display:flex}.list-item+.list-item{border-top:1px solid var(--line)}.list-item .grow{flex:1;min-width:0}.list-item .t1{font-size:15px;font-weight:600}.list-item .t2{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.menu-item{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:14px 4px;font-weight:500;display:flex}.menu-item+.menu-item{border-top:1px solid var(--line)}.menu-item .chev{color:var(--muted)}.toast{left:50%;bottom:calc(92px + var(--safe-bottom));background:var(--ink);color:#fff;z-index:80;animation:up .3s var(--ease);border-radius:14px;max-width:calc(100vw - 32px);padding:12px 18px;font-size:14px;position:fixed;transform:translate(-50%)}@media (width>=960px){.toast{bottom:32px}}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{width:100%;max-width:400px}.auth-hero{text-align:center;margin-bottom:28px}.auth-hero .mark{gap:6px;margin-bottom:18px;display:inline-flex}.auth-hero .mark i{border-radius:7px;width:18px;height:18px;display:block}.auth-hero h1{letter-spacing:-.045em;margin:0;font-size:30px}.auth-hero p{color:var(--muted);margin:8px 0 0}.divider{color:var(--muted);align-items:center;gap:10px;margin:18px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line-2);flex:1;height:1px}.oauth{gap:8px;display:grid}.oauth .kakao{color:#191600;background:#fee500}.link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:3px;font-weight:600;text-decoration-thickness:3px}.mode-pill{background:var(--sky-soft);color:var(--accent-ink);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.mood-cell{border-radius:10px;place-items:center;width:30px;height:30px;font-size:20px;display:grid}.mood-cell.none{background:var(--paper-2)}.spinner{border:2.5px solid var(--sky-soft);border-top-color:var(--blue);border-radius:50%;width:22px;height:22px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section-head{justify-content:space-between;align-items:center;margin:22px 4px 10px;display:flex}.section-head .section-label{margin:0}.event{text-align:left;border-radius:12px;align-items:stretch;gap:14px;width:100%;padding:10px 6px;display:flex}.event+.event{border-top:1px solid var(--line)}.event .time{font-variant-numeric:tabular-nums;flex-shrink:0;width:52px;padding-top:1px;font-size:13px;font-weight:700}.event .time small{color:var(--muted);font-size:11.5px;font-weight:500;display:block}.event .bar{background:var(--c);border-radius:4px;flex-shrink:0;width:4px}.event .t1{font-size:15px;font-weight:600}.event .t2{color:var(--muted);font-size:12.5px}.event.past{opacity:.5}.ev-dots{justify-content:center;gap:2px;height:4px;display:flex}.ev-dots i{background:var(--c);border-radius:50%;width:4px;height:4px}.toggle-row{justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 4px;font-size:14px;font-weight:600;display:flex}.switch{background:var(--line-2);border-radius:999px;width:46px;height:28px;transition:background .2s;position:relative}.switch:after{content:"";width:22px;height:22px;transition:transform .25s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch.on{background:var(--blue)}.switch.on:after{transform:translate(18px)}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stripes{background:var(--stripe);border-radius:26px;height:120px;margin-bottom:26px;-webkit-mask-image:radial-gradient(120% 90% at 70% 10%,#000 30%,#0000 75%);mask-image:radial-gradient(120% 90% at 70% 10%,#000 30%,#0000 75%)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.input:focus-visible,.textarea:focus-visible,.select:focus-visible,.add-row input:focus-visible{outline:none}.quick{margin:2px 0 14px;position:relative}.quick input{border:1.5px solid var(--line-2);background:#fff;border-radius:18px;width:100%;height:54px;padding:0 60px 0 18px;font-size:15.5px;transition:border-color .2s,box-shadow .2s}.quick input:focus{border-color:var(--blue);box-shadow:0 0 0 5px var(--sky-soft);outline:none}.quick input::placeholder{color:var(--muted)}.quick-go{background:var(--blue);width:40px;height:40px;color:var(--ink);border-radius:13px;place-items:center;transition:opacity .2s,transform .15s;display:grid;position:absolute;top:7px;right:7px}.quick-go:disabled{opacity:.35}.quick-go:active{transform:scale(.94)}.quick-go svg{width:18px;height:18px}.quick-preview{color:var(--ink-2);animation:rise .2s var(--ease);flex-wrap:wrap;align-items:center;gap:6px;margin:8px 4px 0;font-size:13px;display:flex}.quick-preview>span{background:var(--paper-2);border-radius:8px;padding:2px 8px;font-weight:600}.quick-preview .kind-event{background:var(--ink);color:#fff}.quick-preview .kind-todo{background:var(--blue);color:var(--ink)}.quick-preview .goal-dot:before{content:"";background:var(--c);border-radius:3px;width:8px;height:8px;margin-right:5px;display:inline-block}.quick-preview b{font-weight:600}.carry{background:var(--sky-soft);box-shadow:inset 0 0 0 1px var(--sky);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.carry b{font-size:14.5px;display:block}.carry span{color:var(--ink-2);font-size:12.5px}.carry-btns{gap:6px;display:flex}.carry .btn.ghost{background:#fff}.day-head{align-items:center}.progress-line{background:var(--paper-2);border-radius:6px;height:6px;margin:-4px 4px 28px;position:relative}.progress-line i{background:var(--stripe);transition:width .5s var(--ease);border-radius:6px;position:absolute;inset:0 auto 0 0}.progress-line span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;position:absolute;top:10px;right:0}.todo-time{background:var(--sky-soft);color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:6px;margin-right:6px;padding:1px 6px;font-size:12px;font-weight:700}.menu-val{color:var(--muted);align-items:center;gap:4px;font-size:13.5px;display:inline-flex}.g-tag{color:#fff;background:#4285f4;border-radius:5px;align-self:center;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:800}.check.sm{border-radius:7px;width:20px;height:20px}.check.sm svg{width:12px;height:12px}.tl-top{border-bottom:1px dashed var(--line-2);gap:6px;margin-bottom:8px;padding:4px 4px 12px;display:grid}.tl-allday{text-align:left;background:color-mix(in srgb, var(--c) 22%, #fff);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.tl-allday b{color:var(--ink-2);font-size:11px}.tl-sub{color:var(--muted);letter-spacing:.04em;margin:6px 2px 0;font-size:11.5px;font-weight:700}.tl-untimed{align-items:center;gap:10px;padding:4px 2px;font-size:14.5px;display:flex}.tl-untimed .grow{text-align:left;flex:1}.tl-untimed.done .grow,.tl-todo.done .grow{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}.tl-scroll{overscroll-behavior:contain;border-radius:12px;max-height:62vh;overflow-y:auto}.tl-grid{cursor:copy;position:relative}.tl-hour{border-top:1px solid var(--line);pointer-events:none;height:56px;position:absolute;left:0;right:0}.tl-hour span{background:var(--paper);color:var(--muted);font-variant-numeric:tabular-nums;width:48px;padding-right:6px;font-size:11px;position:absolute;top:-8px;left:0}.tl-hour:first-child span{top:2px}.tl-ev,.tl-todo{text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:1px;padding:5px 9px;font-size:13px;line-height:1.3;display:flex;position:absolute;overflow:hidden}.tl-ev{background:color-mix(in srgb, var(--c) 28%, #fff);box-shadow:inset 3px 0 0 var(--c)}.tl-ev b{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.tl-ev span{color:var(--ink-2);font-size:11.5px}.tl-ev .g-tag{margin:0;position:absolute;top:6px;right:6px}.tl-todo{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--c) 60%, #ddd);background:#fff;flex-direction:row;align-items:center;gap:8px}.tl-todo .grow{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.tl-now{border-top:2px solid var(--danger);z-index:2;pointer-events:none;height:0;position:absolute;left:46px;right:0}.tl-now i{background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-6px;left:-5px}.rec-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.rec-streak{align-items:center;gap:10px;display:flex}.rec-streak .flame{font-size:30px}.rec-streak b{letter-spacing:-.04em;font-size:24px;font-weight:800;line-height:1.1;display:block}.rec-streak span,.rec-best{color:var(--muted);font-size:12.5px}.rec-best b{color:var(--ink)}.goal-streaks{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.gs{background:var(--paper-2);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.gs i{background:var(--c);border-radius:3px;width:8px;height:8px}.gs b{color:var(--accent-ink);font-weight:700}.review-card{box-shadow:var(--shadow);background:#fff;border-radius:28px;padding:26px 22px 22px;position:relative;overflow:hidden}.rv-stripes{background:var(--stripe);width:75%;height:240px;position:absolute;top:-30px;right:-40px;-webkit-mask-image:radial-gradient(70% 80% at 80% 20%,#000 20%,#0000 72%);mask-image:radial-gradient(70% 80% at 80% 20%,#000 20%,#0000 72%)}.rv-top,.rv-rate,.rv-sub,.rv-comment,.rv-bars,.rv-facts{position:relative}.rv-top{flex-direction:column;gap:2px;display:flex}.rv-eyebrow{letter-spacing:.24em;color:var(--accent-ink);font-size:11.5px;font-weight:700}.rv-range{color:var(--ink-2);font-size:14px;font-weight:500}.rv-rate{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-top:18px;font-size:88px;font-weight:800;line-height:1}.rv-rate small{letter-spacing:0;margin-left:2px;font-size:34px}.rv-sub{color:var(--ink-2);justify-content:space-between;margin-top:6px;font-size:14px;font-weight:600;display:flex}.rv-sub .up{color:var(--accent-ink)}.rv-sub .down{color:var(--muted)}.rv-comment{color:var(--ink-2);margin:12px 0 18px;font-size:14.5px}.rv-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:150px;display:grid}.rv-bar{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.rv-bar .track{background:var(--paper-2);border-radius:10px;width:100%;max-width:34px;position:relative;overflow:hidden}.rv-bar .track i{background:var(--stripe);transition:height .6s var(--ease);position:absolute;bottom:0;left:0;right:0}.rv-bar span{color:var(--muted);font-size:11.5px;font-weight:600}.rv-facts{gap:0;margin:18px 0 0;display:grid}.rv-facts>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 0;font-size:14px;display:flex}.rv-facts dt{color:var(--muted)}.rv-facts dd{align-items:center;gap:6px;margin:0;font-weight:700;display:flex}.rv-facts dd i{border-radius:3px;width:9px;height:9px}.tab,.sidenav a{text-decoration:none}.week-nav{justify-content:space-between;align-items:center;margin:6px 0 16px;display:flex}.week-nav .wk{text-align:center;font-variant-numeric:tabular-nums;min-width:64px;font-size:13px;font-weight:700}.icon-btn:disabled{opacity:.3}.page.board{max-width:560px}.board-grid{display:block}.board-main{flex-direction:column;display:flex}.board-side{display:none}.page.board{padding-bottom:96px}.dayhero{padding:4px 2px 14px}.dh-top{justify-content:space-between;align-items:center;height:52px;display:flex}.dh-actions{gap:2px;margin-left:auto;display:flex}.back-me{color:var(--ink-2);background:var(--paper-2);border-radius:10px;align-items:center;gap:4px;padding:6px 10px 6px 6px;font-size:13.5px;font-weight:600;display:inline-flex}.dh-title{align-items:center;gap:12px;margin-top:6px;display:flex}.dh-eyebrow{letter-spacing:0;color:var(--accent-ink);font-size:13px;font-weight:700}.dh-date{letter-spacing:-.045em;margin:2px 0 0;font-size:30px;font-weight:800;line-height:1.15}.dh-date span{color:var(--ink-2);letter-spacing:-.02em;margin-left:4px;font-weight:300}.wstrip{align-items:center;gap:2px;margin:0 -6px 16px;display:flex;position:relative}.wstrip-days{flex:1;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wstrip-nav{width:26px;height:64px;color:var(--muted);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.wstrip-nav svg{width:16px;height:16px}.wstrip-month{color:var(--ink-2);background:var(--paper-2);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;position:absolute;top:-44px;right:30px}.wday{border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:8px 0 7px;transition:background .2s,transform .15s;display:flex}.wday:active{transform:scale(.96)}.wday .wd{color:var(--muted);font-size:11px;font-weight:600}.wday.sun .wd{color:#d0766a}.wday .dn{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;line-height:1.2}.wday .meter{background:var(--ring-track);border-radius:4px;width:60%;height:4px;overflow:hidden}.wday .meter i{background:var(--blue);height:100%;transition:width .4s var(--ease);border-radius:4px;display:block}.wday .meter i.full{background:var(--ink)}.wday .ev-dots{min-height:4px}.wday.today .dn{color:var(--accent-ink)}.wday.sel{background:var(--blue)}.wday.sel .wd,.wday.sel .dn{color:var(--ink)}.wday.sel .meter{background:#fff9}.wday.sel .meter i{background:var(--ink)}.summary{background:linear-gradient(135deg,#fffbe6,#fff 70%);border-radius:22px;align-items:center;gap:18px;margin-bottom:14px;padding:16px 18px;display:flex;box-shadow:inset 0 0 0 1px #f6ecbf}.ring{flex-shrink:0;position:relative}.ring-in{grid-auto-flow:column;place-content:center;align-items:baseline;display:grid;position:absolute;inset:0}.ring-in b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.ring-in small{color:var(--muted);font-size:11px;font-weight:700}.sum-facts{flex:1;gap:4px;min-width:0;display:grid}.sum-facts>div{justify-content:space-between;gap:10px;font-size:13.5px;display:flex}.sum-facts span{color:var(--muted);flex-shrink:0}.sum-facts b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.composer{z-index:35;left:50%;bottom:calc(80px + var(--safe-bottom));width:min(488px,100vw - 32px);position:fixed;transform:translate(-50%)}.composer-box{position:relative}.composer-box input{border:1.5px solid var(--hair);background:#fff;border-radius:18px;width:100%;height:52px;padding:0 58px 0 18px;font-size:15px;transition:border-color .2s,box-shadow .2s;box-shadow:0 10px 30px -14px #3c340a59}.composer-box input:focus{border-color:var(--blue);box-shadow:0 0 0 5px var(--sky-soft), 0 10px 30px -14px #3c340a59;outline:none}.composer .quick-go{position:absolute;top:6px;right:6px}.composer-preview{box-shadow:0 0 0 1px var(--hair), 0 10px 30px -16px #3c340a59;animation:rise .2s var(--ease);background:#fff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px;padding:12px 14px;font-size:13.5px;display:flex}.composer-preview .kind{border-radius:7px;padding:2px 8px;font-size:11.5px;font-weight:700}.composer-preview .kind-event{background:var(--ink);color:#fff}.composer-preview .kind-todo{background:var(--blue);color:var(--ink)}.composer-preview b{font-weight:700}.composer-preview .pv{color:var(--ink-2);font-weight:600}.composer-preview .heard{color:var(--muted);flex-basis:100%;font-size:11.5px}.board-tabs{justify-content:space-between;align-items:center;margin:6px 0 10px;display:flex}.block{border-top:1px solid var(--hair);padding:6px 0 10px}.block:first-of-type{border-top:0}.block-head{align-items:center;gap:8px;height:40px;display:flex}.block-head h3{letter-spacing:-.02em;margin:0;font-size:14.5px;font-weight:700}.block-head>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.block-head .gdot{background:var(--c);border-radius:4px;width:10px;height:10px}.block-head .lockic{color:var(--muted)}.gadd{width:30px;height:30px;color:var(--ink-2);background:var(--paper-2);border-radius:10px;place-items:center;margin-left:auto;display:grid}.gadd svg{width:14px;height:14px}.gadd:hover{background:color-mix(in srgb, var(--c) 25%, #fff)}.ghost-goal{width:100%;height:44px;color:var(--muted);border-top:1px solid var(--hair);align-items:center;gap:8px;padding:0 2px;font-size:14px;font-weight:600;display:flex}.ghost-goal i{background:var(--c);opacity:.6;border-radius:4px;width:10px;height:10px}.ghost-goal span{margin-left:auto;font-size:12.5px}.trow{animation:rise .3s var(--ease);align-items:flex-start;gap:12px;padding:9px 0;display:flex}.tick{--c:var(--blue);width:24px;height:24px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c) 80%, #c9c6bb);color:var(--ink);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;transition:background .2s,box-shadow .2s;display:grid}.tick svg{opacity:0;width:13px;height:13px;transition:all .25s var(--ease);transform:scale(.4)}.tick.on{background:var(--c);box-shadow:none;animation:pop .35s var(--ease)}.tick.on svg{opacity:1;transform:none}.tbody{cursor:pointer;flex:1;min-width:0}.ttitle{padding-top:2px;font-size:15px;line-height:1.45}.trow.done .ttitle{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--c) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--c) 70%, transparent);text-decoration-thickness:2px}.add-row .tick{box-shadow:inset 0 0 0 2px var(--line-2)}.evlist{gap:6px;padding-bottom:4px;display:grid}.evrow{text-align:left;background:color-mix(in srgb, var(--c) 12%, #fff);border-radius:14px;align-items:stretch;gap:12px;padding:10px 12px;display:flex}.evrow.past{opacity:.5}.evtime{font-variant-numeric:tabular-nums;flex-shrink:0;width:44px;font-size:13px;font-weight:700}.evtime small{color:var(--muted);font-size:11.5px;font-weight:500;display:block}.evbar{background:var(--c);border-radius:3px;flex-shrink:0;width:3px}.evbody{flex:1;min-width:0}.evbody b{font-size:14.5px;font-weight:600;display:block}.evbody small{color:var(--muted);font-size:12.5px}.tl{box-shadow:inset 0 0 0 1px var(--hair);border-radius:18px;padding:10px}.cal-day.ringed{gap:2px;padding:3px 0}.rday{--p:0;background:conic-gradient(var(--blue) calc(var(--p) * 360deg), var(--ring-track) 0);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.rday b{font-variant-numeric:tabular-nums;width:27px;height:27px;color:var(--ink-2);background:#fff;border-radius:50%;place-items:center;font-size:12.5px;font-weight:600;display:grid}.rday.none{background:0 0}.rday.full b{color:var(--ink);font-weight:800}.cal-day.today .rday b{color:var(--accent-ink);font-weight:800}.cal-day.sel .rday b{background:var(--ink);color:#fff}.cal-day.ringed .ev-dots{min-height:4px}.ftoday{gap:2px;display:grid}.ft-row{text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;padding:8px 6px;display:flex}.ft-row:hover,.ft-row.on{background:var(--paper-2)}.ft-row .grow{flex:1;min-width:0}.ft-name{justify-content:space-between;font-size:14px;font-weight:600;display:flex}.ft-name span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.ft-bar{background:var(--ring-track);border-radius:5px;height:5px;margin-top:6px;overflow:hidden}.ft-bar i{background:var(--blue);border-radius:5px;height:100%;display:block}.side-card{box-shadow:inset 0 0 0 1px var(--hair);background:#fff;border-radius:22px;padding:18px}.side-card+.side-card{margin-top:14px}.side-title{letter-spacing:.02em;margin-bottom:8px;font-size:13px;font-weight:700}@media (width>=960px){.mobile-only{display:none!important}.page.board{max-width:980px;padding-bottom:32px}.board-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:36px;display:grid}.board-side{display:block;position:sticky;top:20px}.composer{z-index:6;width:auto;margin-bottom:14px;position:relative;bottom:auto;left:auto;transform:none}.composer-preview{margin:0;position:absolute;top:60px;left:0;right:0}.wstrip-month{display:none}.dh-top{height:40px}}@media (width<=959px){.toast{top:calc(var(--safe-top) + 14px);animation:.25s fade;bottom:auto}}.carry-line{color:var(--ink-2);border-left:3px solid var(--blue);align-items:center;gap:10px;margin:0 0 6px;padding:8px 4px 8px 12px;font-size:13px;display:flex}.carry-line>span{flex:1;min-width:0}.carry-line .link{white-space:nowrap;font-size:13px}.carry-line .x{width:28px;height:28px;color:var(--muted);border-radius:8px;font-size:18px;line-height:1}.moon{flex-shrink:0;display:block;overflow:visible}.moon-dark{fill:#efede4}.moon-lit{fill:var(--blue)}.moon.moon-none .moon-dark{fill:none;stroke:#dedbd0;stroke-width:1.2px;stroke-dasharray:2.4 2.4}.moon.glow{filter:drop-shadow(0 0 6px #f2d33899)}.moon-crater circle{fill:#7a620017}.wday .moon{margin:1px 0}.wday.sel .moon-dark{fill:#ffffff8c}.wday.sel .moon-lit{fill:var(--ink)}.wday.sel .moon.moon-none .moon-dark{fill:none;stroke:#16161640}.cal-day.ringed{gap:3px}.cal-day.ringed .cal-num{font-size:11px}.mm-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mm-head b{font-size:15px}.mm-grid{grid-template-columns:repeat(7,1fr);row-gap:8px;display:grid}.mm-wd{text-align:center;color:var(--muted);font-size:11px;font-weight:600}.mm-day{border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:3px 0;display:flex}.mm-day small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.mm-day.now small{color:var(--accent-ink);font-weight:800}.mm-day.pk{background:var(--sky-soft)}.mm-day.future{opacity:.35}.mm-foot{color:var(--muted);margin:10px 2px 0;font-size:12.5px}.mm-foot b{color:var(--ink)}.my{border-top:1px solid var(--hair);grid-template-columns:repeat(6,1fr);gap:8px 4px;margin-top:14px;padding-top:14px;display:grid}.my-m{border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 0;display:flex}.my-m small{color:var(--muted);font-size:10.5px}.my-m.on{background:var(--sky-soft)}.my-m.on small{color:var(--ink);font-weight:700}.bento-page{max-width:560px}.bento{grid-template-columns:1fr 1fr;grid-template-areas:"profile profile""moon streak""moon full""cal cal""review review""goals goals";gap:12px;display:grid}.tile{box-shadow:inset 0 0 0 1px var(--hair);text-align:left;background:#fff;border-radius:26px;padding:18px;position:relative;overflow:hidden}.t-label{color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:700}.t-big{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:38px;font-weight:800;line-height:1.05}.t-big small{letter-spacing:0;color:var(--ink-2);margin-left:2px;font-size:16px;font-weight:700}.t-sub{color:var(--muted);margin-top:4px;font-size:12.5px}.t-deco{font-size:26px;position:absolute;top:14px;right:14px}.t-profile{background:var(--paper-2);box-shadow:none;grid-area:profile;align-items:center;gap:14px;display:flex}.t-profile .who{flex:1;min-width:0}.t-profile .name{letter-spacing:-.03em;font-size:18px;font-weight:800}.t-profile .handle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.t-profile .stats a{color:inherit;text-decoration:none}.t-profile .btn{background:#fff}.t-moon{background:radial-gradient(120% 90% at 50% 20%,#fff7cf 0%,#fffdf2 55%,#fff 100%);flex-direction:column;grid-area:moon;align-items:flex-start;display:flex;box-shadow:inset 0 0 0 1px #f5ebbd}.t-moon .moon{margin:14px auto 10px}.t-moon .t-big{margin-top:auto}.t-streak{grid-area:streak}.t-full{grid-area:full}.t-full .t-deco{top:12px;right:12px}.t-cal{grid-area:cal}.t-review{box-shadow:none;color:#fff;cursor:pointer;background:#161616;grid-area:review;transition:transform .15s}.t-review:active{transform:scale(.99)}.t-review .t-label{color:#ffffff8c}.t-review .t-sub{color:#ffffffb3}.t-review .moon-dark{fill:#2c2c2a}.t-review .moon.moon-none .moon-dark{fill:none;stroke:#3a3a37}.t-week{gap:10px;margin:14px 0 8px;display:flex}.t-goals{grid-area:goals}.t-goals .goal-streaks{margin-top:10px}.settings{margin-top:12px}@media (width>=960px){.bento-page{max-width:880px}.bento{grid-template-columns:1.1fr 1fr 1fr 1fr;grid-template-areas:"profile profile streak full""moon cal cal cal""review review goals goals"}.my{grid-template-columns:repeat(12,1fr)}.t-moon .moon{margin-top:28px}}.gifts{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.gift{background:var(--paper-2);transition:transform .2s var(--ease), background .2s;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:14px 0 10px;display:flex}.gift span{font-size:30px;line-height:1}.gift:active{transform:scale(.95)}.gift.on{background:var(--sky-soft);box-shadow:inset 0 0 0 2px var(--blue)}.auth-logo{justify-content:center;margin-bottom:14px;display:flex;position:relative}.auth-logo:before{content:"";z-index:-1;background:radial-gradient(circle,#f2d33859,#f2d33800 68%);border-radius:50%;width:150px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-40%,-62%)}.review-card.moonish{background:radial-gradient(120% 80% at 50% 0,#fff6c9 0%,#fffdf3 48%,#fff 100%);box-shadow:inset 0 0 0 1px #f5ebbd}.rv-hero{align-items:center;gap:20px;margin-top:18px;display:flex}.rv-hero .rv-rate{margin-top:0;font-size:64px}.rv-hero .moon{flex-shrink:0}.rv-num{flex:1;min-width:0}.rv-num .rv-sub{flex-direction:column;gap:2px}.rv-moons{box-shadow:inset 0 0 0 1px var(--hair);background:#ffffffb3;border-radius:20px;grid-template-columns:repeat(7,1fr);gap:4px;margin:6px 0 4px;padding:14px 6px;display:grid}.rv-day{flex-direction:column;align-items:center;gap:5px;display:flex}.rv-day b{color:var(--ink-2);font-size:11.5px;font-weight:700}.rv-day small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}@media (width<=400px){.rv-hero .moon{width:96px;height:96px}.rv-hero .rv-rate{font-size:52px}}.moonish .rv-eyebrow{letter-spacing:0;font-size:13.5px;font-weight:800}.glyph{fill:currentColor;flex-shrink:0;display:block}.glyph .g-stroke{stroke:currentColor}.avatar{color:#161616}.avatar .glyph{opacity:.88}.glyph-pick{background:var(--paper-2);color:#161616;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.glyph-pick.on{background:var(--sky-soft);box-shadow:inset 0 0 0 2px var(--blue)}.gift{color:#161616}.gift .glyph{margin-bottom:2px}.cheer-pill{gap:5px}.cheer-pill .glyph{color:#161616}.inline-gift{vertical-align:-3px;margin:0 3px;display:inline-flex}.empty .big .glyph{color:#161616;margin:0 auto}svg .duo{fill:none;transition:fill .2s}.tab.on svg .duo{fill:#fff}.sidenav a.on svg .duo{fill:var(--blue)}.tab svg,.sidenav a svg{width:22px;height:22px}.dh-rel{vertical-align:6px;letter-spacing:0;color:var(--accent-ink);background:var(--sky-soft);border-radius:999px;margin-left:10px;padding:3px 10px;font-size:12.5px;font-style:normal;font-weight:700;display:inline-block}.moods{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.mood-moon{background:var(--paper-2);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 0 9px;transition:background .2s,transform .15s;display:flex}.mood-moon small{color:var(--muted);font-size:11.5px;font-weight:600}.mood-moon:active{transform:scale(.96)}.mood-moon.on{background:var(--sky-soft);box-shadow:inset 0 0 0 2px var(--blue)}.mood-moon.on small{color:var(--ink)}.lines{gap:4px;margin-top:6px;display:grid}.line{border-bottom:1px dashed var(--line-2);cursor:text;align-items:flex-start;gap:14px;padding:12px 2px 10px;display:flex}.line-no{width:26px;height:26px;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line-2);border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;font-size:12.5px;font-weight:800;display:grid}.line.has .line-no{background:var(--blue);color:var(--ink);box-shadow:none}.line-body{flex:1;gap:2px;min-width:0;display:grid}.line-label{color:var(--muted);font-size:12px;font-weight:700}.line input{background:0 0;border:0;width:100%;height:30px;padding:0;font-size:16px}.line input::placeholder{color:#c4c0b4}.line:focus-within{border-bottom-color:var(--blue)}.line:focus-within .line-label{color:var(--accent-ink)}.mood-grid .cal-day{min-height:52px}.section-title{letter-spacing:-.03em;margin:28px 4px 12px;font-size:17px;font-weight:800}.bento-page>.t-profile{margin-bottom:12px}.bento{grid-template-areas:"moon streak""moon full""cal cal""goals goals"}@media (width>=960px){.bento{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"moon streak full""moon cal cal""goals cal cal"}}.tabbar .tab{padding:0 13px}.cheer-link{background:var(--paper-2);width:100%;color:var(--ink-2);border-radius:14px;align-items:center;gap:8px;margin:2px 0 8px;padding:10px 12px;font-size:13.5px;font-weight:700;display:flex}.cheer-link i{background:var(--danger);border-radius:50%;width:8px;height:8px;margin-left:auto}.cheer-word{color:var(--accent-ink)}.gift{padding:14px 0 10px}.gift small{color:var(--ink);font-size:13px;font-weight:700}.cheer-pill .dango{flex-shrink:0}html,body{overflow-x:hidden}.app{overflow-x:clip}.desktop-only{display:none!important}.composer{z-index:auto;width:auto;position:relative;bottom:auto;left:auto;transform:none}.composer.in-sheet{margin-top:4px}.composer.in-sheet .composer-preview{box-shadow:none;background:var(--paper-2);margin:10px 0 0}.composer.in-sheet .composer-box input{box-shadow:none;background:var(--paper-2);border-color:#0000}.composer.in-sheet .composer-box input:focus{border-color:var(--blue);background:#fff}.fab{z-index:36;right:20px;bottom:calc(92px + var(--safe-bottom));background:var(--blue);width:56px;height:56px;color:var(--ink);transition:transform .15s var(--ease);border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 10px 24px -8px #a082008c,0 0 0 4px #fff}.fab svg{width:24px;height:24px}.fab:active{transform:scale(.94)}@media (width<=959px){.main{padding-left:20px;padding-right:20px;padding-bottom:calc(150px + var(--safe-bottom))}.page.board{padding-bottom:40px}.dayhero{padding-bottom:20px}.dh-date{font-size:27px}.dh-title{margin-top:12px}.wstrip{margin:0 -8px 24px}.wday{gap:5px;padding:9px 0 8px}.carry-line{margin-bottom:14px}.block{padding:12px 0 16px}.block-head{height:42px}.trow{padding:11px 0}.evlist{gap:8px}.ghost-goal{height:52px}.tabbar{background:#fffffff7}.page-title{margin:14px 0 22px}.diary-page .home-grid{flex-direction:column;gap:28px;display:flex}.diary-page .col-right{order:-1}.diary-page .mood-grid .cal-day{min-height:42px}.diary-page .mood-grid .moon{width:20px;height:20px}.diary-page .cal-grid{row-gap:2px}.rv-hero .moon{width:96px;height:96px}.rv-hero .rv-rate{font-size:54px}.review-card{padding:24px 20px 20px}.rv-facts>div{padding:13px 0}.bento{gap:14px}}@media (width>=960px){.desktop-only{display:revert!important}.board-tabs.desktop-only{display:flex!important}.composer.desktop-only{z-index:6;margin-bottom:14px;display:block!important}.composer.desktop-only .composer-preview{z-index:7;margin:0;position:absolute;top:60px;left:0;right:0}}.brand span,.auth-hero h1,.page-title,.dh-date,.day-head h2,.sheet h3,.section-title,.cal-title,.mm-head b,.rv-eyebrow,.t-profile .name,.dh-eyebrow{font-family:var(--font-title);letter-spacing:0}.brand span{font-size:25px;font-weight:700}.dh-date{font-weight:700}.dh-date span{font-family:var(--font-title);letter-spacing:0;font-weight:400}.page-title{font-size:25px;font-weight:700}.day-head h2{font-size:22px;font-weight:700}.auth-hero h1{font-size:40px;font-weight:700}.sheet h3{font-size:20px;font-weight:700}.gifts{grid-template-columns:repeat(3,1fr);gap:10px}.gift{gap:8px;padding:18px 0 14px}.gift small{font-size:15px;font-weight:800}.legal{z-index:2;background:#fff;max-width:640px;min-height:100vh;margin:0 auto;padding:0 20px 80px;position:relative}.legal-bar{top:env(safe-area-inset-top,0px);z-index:3;background:#fffffff5;justify-content:space-between;align-items:center;height:56px;margin:0 -8px;display:flex;position:sticky}.legal-bar h1{font-family:var(--font-title);letter-spacing:0;margin:0;font-size:19px;font-weight:700}.legal-updated{color:var(--muted);margin:8px 0 20px;font-size:13px}.legal-body section{margin-bottom:22px}.legal-body h2{margin:0 0 6px;font-size:15.5px}.legal-body p{color:var(--ink-2);margin:0 0 6px;font-size:14.5px;line-height:1.75}.consent{background:var(--paper-2);border-radius:16px;gap:2px;margin:4px 0 16px;padding:12px 14px;display:grid}.consent label{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.consent input{opacity:0;width:1px;height:1px;position:absolute}.consent .box{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--line-2);color:#0000;background:#fff;border-radius:7px;flex-shrink:0;place-items:center;transition:background .15s;display:grid}.consent .box svg{width:13px;height:13px}.consent input:checked+.box{background:var(--blue);box-shadow:none;color:var(--ink)}.consent input:focus-visible+.box{outline:2px solid var(--ink);outline-offset:2px}.consent-all{border-bottom:1px solid var(--hair);margin-bottom:4px;padding:6px 0 10px}.consent-all b{font-size:15px}.consent-row{justify-content:space-between;align-items:center;min-height:38px;display:flex}.consent-row label{color:var(--ink-2)}.consent-see{color:var(--muted);align-items:center;gap:2px;padding:6px 2px 6px 8px;font-size:13px;font-weight:600;display:inline-flex}.danger-text{color:var(--danger)}.leave-list{background:var(--paper-2);color:var(--ink-2);border-radius:14px;gap:4px;margin:0 0 14px;padding:14px 16px 14px 32px;font-size:14px;display:grid}.leave-check{align-items:center;gap:10px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.leave-check input{width:18px;height:18px;accent-color:var(--danger)}.btn.danger-fill{background:var(--danger);color:#fff}.diary-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.diary-head .page-title{margin-bottom:14px}.feed{gap:14px;max-width:560px;display:grid}.feed-card{box-shadow:inset 0 0 0 1px var(--hair);background:#fff;border-radius:22px;padding:16px 18px 14px}.feed-card header{justify-content:space-between;align-items:center;gap:8px;display:flex}.feed-who{align-items:center;gap:10px;display:flex}.feed-who b{font-size:15px}.feed-date{color:var(--muted);font-size:12.5px}.feed-mood{background:var(--sky-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:6px;margin:12px 0 6px;padding:4px 10px 4px 6px;font-size:12.5px;font-weight:700;display:inline-flex}.feed-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.feed-lines li{border-left:3px solid var(--blue);padding-left:12px;font-size:15px;line-height:1.55}.feed-lines small{color:var(--muted);font-size:11.5px;font-weight:700;display:block}.friend-badge{color:var(--accent-ink);background:var(--sky-soft);vertical-align:2px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:800}.handle-input{position:relative}.handle-input>i{color:var(--muted);pointer-events:none;font-style:normal;font-weight:600;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.handle-input .input{padding-left:32px}.handle-input.is-ok .input{border-color:#7cc49a}.handle-input.is-bad .input{border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.field-note{align-items:baseline;gap:8px;margin:6px 4px 0;font-size:12.5px;line-height:1.45;display:flex}.field-note em{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-style:normal}.field-note.muted{color:var(--muted)}.field-note.ok{color:#2f8a57}.field-note.bad{color:var(--danger)}.onboard .consent{margin-top:6px}.splash{z-index:100;text-align:center;transition:opacity .4s var(--ease);background:0 0;place-content:center;justify-items:center;gap:6px;display:grid;position:fixed;inset:0}.splash.out{opacity:0}.splash-mark{width:200px;height:170px;animation:splashIn .9s var(--ease) both;place-items:center;display:grid;position:relative}.splash-moon{background:radial-gradient(circle,#f2d3386b,#f2d33800 66%);border-radius:50%;width:180px;height:180px;animation:2.4s ease-in-out infinite alternate glow;position:absolute;top:50%;left:50%;transform:translate(-44%,-58%)}.splash-mark .logo{position:relative}.splash-name{font-family:var(--font-title);letter-spacing:0;animation:splashIn .9s .15s var(--ease) both;font-size:46px;line-height:1.1}.splash-tag{color:var(--muted);animation:splashIn .9s .3s var(--ease) both;margin:4px 0 0;font-size:14px}@keyframes splashIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes glow{0%{opacity:.75}to{opacity:1}}.ob{max-width:440px;min-height:100dvh;padding:calc(28px + var(--safe-top,0px)) 22px calc(22px + var(--safe-bottom));animation:up .35s var(--ease);flex-direction:column;margin:0 auto;display:flex}.ob-form{display:contents}.ob-top{margin-bottom:26px;padding-top:18px;position:relative}.ob-steps{gap:6px;margin-bottom:26px;display:flex}.ob-steps i{background:var(--line-2);border-radius:4px;flex:1;height:4px;transition:background .3s}.ob-steps i.on{background:var(--blue)}.ob-brand{align-items:center;gap:6px;margin-bottom:18px;display:inline-flex}.ob-brand span{font-family:var(--font-title);letter-spacing:0;font-size:22px}.ob-top h1{letter-spacing:-.04em;margin:0;font-size:27px;font-weight:700}.ob-top p{color:var(--muted);margin:8px 0 0;font-size:14.5px;line-height:1.55}.ob-back{width:40px;height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;font-size:30px;line-height:1;position:absolute;top:-14px;left:-10px}.ob-body{flex:1}.ob-foot{gap:10px;margin-top:22px;padding-bottom:4px;display:grid}.ob-note{text-align:center;color:var(--muted);margin:2px 0 0;font-size:13px}.ob-note.small{font-size:12px}.ob-note .link{font-size:inherit}.ob-exit{color:var(--muted);justify-self:center;font-size:13px}.ob-facts{box-shadow:inset 0 0 0 1px var(--hair);border-radius:16px;margin:0 0 14px;padding:4px 16px;list-style:none}.ob-facts li{grid-template-columns:64px 1fr;gap:10px;padding:11px 0;font-size:13.5px;line-height:1.5;display:grid}.ob-facts li+li{border-top:1px solid var(--hair)}.ob-facts b{color:var(--ink-2);font-weight:600}.ob-facts span{color:var(--ink-2)}.ob .consent{margin-bottom:0}.feed-card.mine{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--blue) 55%, transparent)}.feed-me{background:var(--blue);color:var(--ink);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.feed-private{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:999px;padding:2px 7px;font-size:11px}.avatar.has-photo{background:#fff;overflow:hidden}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar.xl{width:96px;height:96px}.photo-row{align-items:center;gap:16px;margin:6px 0 18px;display:flex}.photo-row .photo-btns{flex-wrap:wrap;gap:8px;display:flex}.photo-row input[type=file]{display:none}.cropper{text-align:center}.cropper .sub{margin-bottom:16px}.crop-frame{touch-action:none;cursor:grab;background:var(--paper-2);-webkit-user-select:none;user-select:none;border-radius:24px;margin:0 auto;position:relative;overflow:hidden}.crop-frame:active{cursor:grabbing}.crop-frame canvas{display:block}.crop-ring{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 999px #ffffff9e,inset 0 0 0 2px #fff}.crop-zoom{max-width:260px;color:var(--muted);align-items:center;gap:10px;margin:16px auto 4px;font-weight:700;display:flex}.crop-zoom input{accent-color:var(--ink);flex:1}.cal-linked{background:#eef8f1;border-radius:14px;align-items:center;gap:10px;min-width:0;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.cal-linked b{color:#2f8a57;flex:none}.cal-linked span{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-steps{color:var(--ink-2);gap:6px;margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.5;display:grid}.cal-steps small{color:var(--muted);font-size:12px;display:block}.cal-steps a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:3px}
