@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";:root{--bg-app:#f4f5f7;--bg:#fcfcfd;--bg-soft:#f7f8fa;--bg-tint:#f8fbfa;--bg-sheet:#fcfcfdeb;--ink:#18191b;--ink-2:#3a3d42;--ink-3:#6b7078;--ink-4:#9da2ab;--ink-5:#c9ccd2;--ink-ghost:#e7e9ee;--line:#eeeff2;--line-2:#e3e5ea;--line-strong:#d4d7dc;--brand:#7dd3c0;--brand-dark:#2e9982;--brand-soft:#e5f6f0;--brand-soft-2:#d5efe6;--brand-ink:#1a4a3e;--brand-grad:#a8e4d4;--ok:#12b886;--ok-soft:#d3f9e8;--warn:#f59f00;--warn-soft:#fff3bf;--danger:#fa5252;--danger-soft:#ffe3e3;--c1:#2e9982;--c1-soft:#e5f6f0;--c2:#d97706;--c2-soft:#fef3e2;--c3:#b08900;--c3-soft:#fff8db;--c4:#5c940d;--c4-soft:#ecf7da;--c5:#0b7285;--c5-soft:#def2f6;--c6:#1c7ed6;--c6-soft:#dceaf7;--c7:#7048e8;--c7-soft:#e5dbff;--c8:#6d4c41;--c8-soft:#efebe9;--ff:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:14px;--r-pill:999px;--sh-1:0 1px 1px #14161a05;--sh-2:0 2px 4px #14161a0a;--sh-3:0 4px 12px -4px #14161a14;--sh-brand:0 0 0 0 transparent;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);--dur-fast:.14s;--dur:.2s;--dur-slow:.32s;--frame-max:393px;--frame-h:852px;--bottom-bar:60px;--tab-gutter:14px;--tab-lift:8px;--tab-inset:4px;--composer-h:60px;--composer-gap:8px;--kb-offset:0px;--kb-lift:0;--safe-bottom:max(env(safe-area-inset-bottom,0px), 8px);--safe-top:env(safe-area-inset-top,0px);--tab-pill-bg:#fff;--tab-card-bg:var(--bg-soft);--tab-idle:#9da2ab;--tab-active-ink:var(--ink);--sh-tab-pill:0 1px 2px #14161a0a;--sh-tab-card:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}html{background:var(--bg-app);overscroll-behavior:none;height:100%;font-size:100%}body{font-family:var(--ff);background:var(--bg-app);color:var(--ink);font-feature-settings:"ss10","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.012em;min-height:100vh;font-size:.9375rem;line-height:1.5;overflow-x:hidden}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;letter-spacing:inherit;background:0 0;border:0}button{cursor:pointer;-webkit-user-select:none;user-select:none}input,textarea{caret-color:var(--brand)}::selection{background:var(--brand-soft);color:var(--ink)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=listitem]:focus-visible{outline:2px solid var(--brand-dark);outline-offset:2px;border-radius:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-color-scheme:dark){:root{--bg-app-dark:#0b1114;--bg-dark:#141a1d;--bg-soft-dark:#1b2226;--bg-tint-dark:#152824;--ink-dark:#ebedef;--ink-2-dark:#c8ccd1;--ink-3-dark:#9097a0;--ink-4-dark:#6b7078;--line-dark:#242b31;--line-2-dark:#2e363d}}.frame{width:100%;max-width:var(--frame-max);background:var(--bg);min-height:100vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #14161a38,0 6px 20px -10px #14161a0f}@media (width<=393px){.frame{box-shadow:none}html{background:var(--bg)}}@media (width>=900px){body:before{content:"";z-index:-1;background:radial-gradient(40% 30% at 15% 20%,#7dd3c024,#0000 60%),radial-gradient(30% 25% at 85% 80%,#339af00f,#0000 60%),linear-gradient(#f4f5f7 0%,#eef0f3 100%);position:fixed;inset:0}.frame{min-height:min(var(--frame-h), calc(100vh - 48px));border:1px solid var(--line);border-radius:48px;margin-top:24px;margin-bottom:24px;transform:translateZ(0)}.app{border-radius:48px}}html.pre-welcome #app{visibility:hidden}html.pre-welcome #app .welcome-overlay{visibility:visible}.app{background:var(--bg);min-height:100vh;padding-top:var(--safe-top);padding-bottom:calc(var(--safe-bottom) + var(--tab-lift) + var(--bottom-bar) + var(--composer-gap) + var(--composer-h) + 18px);position:relative;overflow-x:hidden}.topbar{z-index:40;background:var(--bg-sheet);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);transition:border-color var(--dur) var(--ease);position:sticky;top:0}.topbar.scrolled{border-bottom-color:var(--line-2)}.topbar-inner{justify-content:space-between;align-items:center;gap:10px;padding:12px 20px 6px;display:flex}.top-title{align-items:baseline;gap:8px;min-width:0;display:flex}.top-title h1{letter-spacing:-.025em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.25rem;font-weight:800;overflow:hidden}.top-title .emoji{font-size:1.25rem;line-height:1}.section-icon{color:var(--brand-dark);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.section-icon svg{width:100%;height:100%;display:block}.section-icon-sm{width:24px;height:24px}.section-icon-md{width:32px;height:32px}.section-icon-lg{width:64px;height:64px}.top-title .section-icon{width:22px;height:22px}.composer-lead.section-icon-sm{width:20px;height:20px;color:var(--brand-dark)}.topbar-sub{color:var(--ink-3);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;padding:0 16px 8px;font-size:.781rem;font-weight:500;overflow:hidden}.top-actions{align-items:center;gap:4px;display:flex}.pages{padding:4px 0 24px;position:relative}.page{display:none}.page.active{animation:pageIn .26s var(--ease);display:block}.page-sub{color:var(--ink-3);padding:0 16px 8px;font-size:.813rem;font-weight:500}.list{flex-direction:column;gap:6px;padding:4px 12px 14px;display:flex}.composer{left:50%;bottom:calc(var(--safe-bottom) + (var(--tab-lift) + var(--bottom-bar) + var(--composer-gap)) * (1 - var(--kb-lift,0)) + var(--kb-offset));width:calc(100% - (var(--tab-gutter) * 2));max-width:calc(var(--frame-max) - (var(--tab-gutter) * 2));z-index:44;-webkit-backdrop-filter:none;box-shadow:none;transition:bottom .2s var(--ease);background:0 0;border-top:0;padding:0;display:none;position:fixed;transform:translate(-50%)}.composer.active{display:block}@media (width>=900px){.composer{width:calc(100% - (var(--tab-gutter) * 2));max-width:none;padding-left:var(--tab-gutter);padding-right:var(--tab-gutter);box-sizing:border-box;margin-left:auto;margin-right:auto;left:0;right:0;transform:none}}.tabbar{left:50%;bottom:calc(var(--safe-bottom) + var(--tab-lift));width:calc(100% - (var(--tab-gutter) * 2));max-width:calc(var(--frame-max) - (var(--tab-gutter) * 2));z-index:45;transition:opacity .18s var(--ease), transform .24s var(--ease), bottom .22s var(--ease);background:0 0;border:0;padding:0;position:fixed;transform:translate(-50%)}html[style*="--kb-lift: 1"] .tabbar,.tabbar[data-kb="1"]{opacity:0;pointer-events:none;transform:translate(-50%,24px)}@media (width>=900px){.tabbar{width:calc(100% - (var(--tab-gutter) * 2));max-width:none;padding-left:var(--tab-gutter);padding-right:var(--tab-gutter);box-sizing:border-box;left:0;right:0;transform:none}html[style*="--kb-lift: 1"] .tabbar,.tabbar[data-kb="1"]{transform:translateY(24px)}}.tabbar-inner{height:var(--bottom-bar);padding:var(--tab-inset);background:var(--tab-pill-bg);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--sh-tab-pill);grid-template-columns:repeat(5,1fr);display:grid;position:relative}.tabbar-inner:before{content:"";top:var(--tab-inset);bottom:var(--tab-inset);left:calc(var(--tab-inset) + (var(--tab-idx,0) * ((100% - (var(--tab-inset) * 2)) / 5)));width:calc((100% - (var(--tab-inset) * 2)) / 5);background:var(--tab-card-bg);border-radius:var(--r-sm);box-shadow:none;transition:left .36s var(--spring);pointer-events:none;position:absolute}.tabbar-inner:has(.tab:first-child.active){--tab-idx:0}.tabbar-inner:has(.tab:nth-child(2).active){--tab-idx:1}.tabbar-inner:has(.tab:nth-child(3).active){--tab-idx:2}.tabbar-inner:has(.tab:nth-child(4).active){--tab-idx:3}.tabbar-inner:has(.tab:nth-child(5).active){--tab-idx:4}.tab{z-index:1;min-height:44px;color:var(--tab-idle);border-radius:var(--r-sm);transition:color .22s var(--ease), transform .16s var(--spring);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;display:flex;position:relative}.tab:active{transform:scale(.94)}.tab:hover{color:var(--ink-2)}.tab.active{color:var(--tab-active-ink)}.tab.active .lbl{font-weight:800}.tab.active:before{content:"";background:var(--brand);border-radius:1px;width:14px;height:2px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.tab-ic{width:22px;height:22px;transition:color .22s var(--ease);justify-content:center;align-items:center;display:inline-flex}.tab-ic svg{stroke-width:1.7px;width:19px;height:19px}.tab .lbl{letter-spacing:-.005em;font-size:.656rem;font-weight:600}@supports not selector(:has(*)){.tabbar-inner:before{display:none}.tab.active{background:var(--tab-card-bg)}}.palette-backdrop{z-index:90;-webkit-backdrop-filter:blur(6px);background:#14161a70;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:none;position:fixed;inset:0}.palette-backdrop.open{animation:fadeIn .18s var(--ease);display:flex}.sheet-backdrop{z-index:85;background:#14161a66;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.sheet-backdrop.open{animation:fadeIn .18s var(--ease);display:flex}@media (width>=600px){.sheet-backdrop{align-items:center;padding:16px}}.toast-rail{left:50%;top:calc(var(--safe-top) + 64px);z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:calc(100% - 48px);max-width:360px;display:flex;position:fixed;transform:translate(-50%)}.fab{display:none}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes paletteIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sheetIn{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-6px)scale(.96)}}@keyframes chipWobble{0%,to{transform:rotate(0)}25%{transform:rotate(-1.4deg)}75%{transform:rotate(1.4deg)}}@keyframes checkPop{0%{transform:scale(1)}30%{transform:scale(.85)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes sheetOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30%)}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink-2);transition:background var(--dur-fast) var(--ease), transform .12s var(--ease);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-soft)}.icon-btn:active{transform:scale(.94)}.icon-btn svg{stroke-width:1.8px;width:18px;height:18px}.composer-inner{border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:none;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease);background:#fff;align-items:flex-end;gap:8px;padding:4px 4px 4px 12px;display:flex}.composer-inner:focus-within{border-color:var(--ink-3);box-shadow:0 0 0 3px var(--bg-soft)}.composer-lead{width:22px;height:32px;color:var(--ink-4);flex:none;justify-content:center;align-items:center;margin-bottom:0;font-size:1rem;line-height:1;display:inline-flex}.composer-inner:focus-within .composer-lead{color:var(--ink-3)}.composer-inner input,.composer-inner textarea{min-width:0;color:var(--ink);resize:none;letter-spacing:-.014em;background:0 0;border:0;flex:1;max-height:160px;padding:8px 4px;font-size:.906rem;font-weight:500;line-height:1.45}.composer-inner input::placeholder,.composer-inner textarea::placeholder{color:var(--ink-4);font-weight:500}.composer-submit{border-radius:var(--r-sm);background:var(--ink);color:#fff;width:36px;height:36px;transition:transform var(--dur-fast) var(--spring), background var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);box-shadow:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.composer-submit:hover{background:var(--ink-2)}.composer-submit:active{transform:scale(.92)}.composer-submit:disabled{background:var(--ink-ghost);color:var(--ink-4);cursor:default;box-shadow:none}.composer-submit svg{width:16px;height:16px}.composer-extra{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 2px 0;display:flex}.composer-extra .hint{color:var(--ink-4);font-size:.75rem;font-weight:500}.composer .cat-select-wrap{-webkit-backdrop-filter:saturate(180%)blur(14px);border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:none;background:#fcfcfdeb;align-items:center;gap:6px;margin:0 4px 6px;padding:5px 10px;display:inline-flex}.composer .cat-select-wrap:before{content:"저장할 곳";letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);padding-left:2px;font-size:.688rem;font-weight:700}.composer .cat-select-btn{color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease), transform .12s var(--ease);background:#fff;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.composer .cat-select-btn:before{content:"";background:var(--brand);border-radius:50%;flex:none;width:6px;height:6px}.composer .cat-select-btn:hover{background:var(--bg-soft)}.composer .cat-select-btn:active{transform:scale(.96)}.composer .cat-select-btn .caret{color:var(--ink-4);opacity:.7;margin-left:0;font-size:.625rem}.composer .cat-select-btn>span:first-child{display:none}.composer-inner.rl-inner{align-items:stretch;padding:4px 6px 4px 14px}.composer-inner.rl-inner .composer-lead{align-self:flex-start;height:auto;margin-top:10px}.composer-inner.rl-inner .composer-submit{align-self:flex-end;margin-bottom:2px}.rl-fields{flex-direction:column;flex:1;gap:0;min-width:0;padding:2px 0;display:flex}.rl-fields input{width:100%;color:var(--ink);background:0 0;border:0;padding:8px 4px;font-size:.969rem;font-weight:500;line-height:1.45}.rl-fields input.rl-url{font-weight:600}.rl-fields input.rl-memo{color:var(--ink-2);border-top:1px dashed var(--line-2);margin-top:2px;padding-top:4px;padding-bottom:8px;font-size:.844rem;font-weight:500}.rl-fields input::placeholder{color:var(--ink-4);font-weight:500}.rl-fields input.rl-memo::placeholder{color:var(--ink-4);font-size:.813rem}.item.link .memo{color:var(--ink-2);background:var(--bg-soft);border-radius:var(--r-xs);border-left:2px solid var(--brand);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin-top:6px;padding:6px 10px;font-size:.813rem;font-weight:500;line-height:1.5}.item{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);grid-template-columns:auto 1fr auto;align-items:flex-start;gap:10px;padding:12px;display:grid;position:relative}.item:hover{border-color:var(--line-2);background:var(--bg-soft);box-shadow:none}.item:active{transform:none}.item.done .item-body .text{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--ink-5);text-decoration-color:var(--ink-5)}.item-body{flex-direction:column;gap:3px;min-width:0;display:flex}.item-body .text{color:var(--ink);letter-spacing:-.014em;word-break:break-word;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.906rem;font-weight:500;line-height:1.45}.item-body .meta{color:var(--ink-4);letter-spacing:-.005em;align-items:center;gap:8px;margin-top:2px;font-size:.719rem;font-weight:500;display:inline-flex}.item-body .meta .dot{color:var(--ink-5)}.item-body .meta .pill{color:var(--ink-3);align-items:center;gap:5px;font-weight:600;display:inline-flex}.item-body .meta .pill .swatch{background:var(--brand);border-radius:1.5px;width:6px;height:6px}.edit-input{width:100%;color:var(--ink);border:1px solid var(--ink-3);border-radius:var(--r-xs);resize:none;letter-spacing:-.014em;box-shadow:0 0 0 3px var(--bg-soft);background:#fff;outline:0;padding:7px 9px;font-family:inherit;font-size:.906rem;font-weight:500;line-height:1.5}.checkbox{border-radius:var(--r-xs);border:1.5px solid var(--ink-5);width:18px;height:18px;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform .12s var(--spring);background:#fff;flex:none;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.checkbox:hover{border-color:var(--ink-3)}.checkbox:active{transform:scale(.9)}.checkbox.checked{background:var(--ink);border-color:var(--ink)}.checkbox.checked:after{content:"";border-bottom:1.6px solid #fff;border-left:1.6px solid #fff;border-radius:0;width:8px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.checkbox.just-checked{animation:checkPop .32s var(--spring)}.item-actions{opacity:0;transition:opacity var(--dur) var(--ease);align-items:center;gap:2px;display:flex}.item:hover .item-actions,.item:focus-within .item-actions,.item.menu-open .item-actions{opacity:1}@media (hover:none){.item-actions{opacity:1}}.mini-btn{border-radius:var(--r-xs);width:32px;height:32px;color:var(--ink-4);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform .12s var(--ease);justify-content:center;align-items:center;display:inline-flex}.mini-btn:hover{color:var(--ink-2);background:#fff}.mini-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.mini-btn:active{transform:scale(.92)}.mini-btn svg{stroke-width:1.9px;width:14px;height:14px}.item.link{padding-left:12px}.item.link .favicon{border-radius:var(--r-xs);background:var(--bg-soft);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-3);flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.item.link .favicon svg{stroke-width:1.9px;width:14px;height:14px}.item.link .thumb{border-radius:var(--r-xs);object-fit:cover;background:var(--line);width:44px;height:44px;animation:fadeIn .26s var(--ease);flex:none;margin-top:0}.item.link .thumb:not([src]),.item.link .thumb[src=""]{display:none}.item.link .text{cursor:pointer;letter-spacing:-.014em;-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.item.link .url{color:var(--ink-4);word-break:break-all;letter-spacing:-.005em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:.719rem;font-weight:500}.item.link.loading .text{background:linear-gradient(90deg, var(--bg-soft) 0%, var(--line) 50%, var(--bg-soft) 100%);color:#0000;border-radius:var(--r-sm);cursor:default;background-size:200% 100%;outline:none;min-height:1.45em;animation:1.4s ease-in-out infinite skeletonShimmer}.item.link.loading .url{opacity:.55}.item.idea{background:var(--bg);border-color:var(--line)}.item.idea:hover{background:var(--bg-soft);border-color:var(--line-2)}.item.idea .spark{border-radius:var(--r-xs);background:var(--bg-soft);border:1px solid var(--line);width:26px;height:26px;color:var(--brand-dark);box-shadow:none;flex:none;justify-content:center;align-items:center;margin-top:1px;font-size:.875rem;display:inline-flex;position:relative}.item.idea .spark:before{content:"";background:var(--brand);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;right:-2px}.item.idea .text{font-weight:600}.item.quote{background:var(--bg);border-color:var(--line);padding:16px 16px 14px 18px;display:block;position:relative;overflow:hidden}.item.quote:hover{background:var(--bg-soft);border-color:var(--line-2)}.item.quote:before{content:"";background:var(--ink-5);width:2px;transition:background var(--dur) var(--ease);border-radius:1px;position:absolute;top:14px;bottom:14px;left:8px}.item.quote:hover:before,.item.quote:focus-within:before{background:var(--brand)}.item.quote .text{color:var(--ink);letter-spacing:-.014em;padding-right:32px;font-size:1rem;font-weight:500;line-height:1.6}.item.quote .source{border-top:1px solid var(--line);color:var(--ink-3);letter-spacing:-.005em;align-items:center;gap:6px;margin-top:10px;padding-top:10px;font-size:.75rem;font-weight:600;display:inline-flex}.item.quote .source:before{content:"";background:var(--brand);border-radius:50%;flex:none;width:4px;height:4px}.item.quote .item-actions{position:absolute;top:6px;right:6px}.item.quote .edit-input{letter-spacing:-.015em;font-size:1.031rem;line-height:1.65}.tag{border-radius:var(--r-xs);color:var(--ink-3);border:1px solid var(--line-2);letter-spacing:-.005em;background:0 0;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:.719rem;font-weight:600;line-height:1.6;display:inline-flex}.tag:before{content:"";background:var(--c1);border-radius:1.5px;flex:none;width:6px;height:6px}.tag.cat-0:before{background:var(--c1)}.tag.cat-1:before{background:var(--c2)}.tag.cat-2:before{background:var(--c3)}.tag.cat-3:before{background:var(--c4)}.tag.cat-4:before{background:var(--c5)}.tag.cat-5:before{background:var(--c6)}.tag.cat-6:before{background:var(--c7)}.tag.cat-7:before{background:var(--c8)}.empty{text-align:center;color:var(--ink-3);flex-direction:column;align-items:center;gap:0;padding:54px 24px 40px;display:flex}.empty .illu{border-radius:var(--r-md);background:var(--bg-soft);border:1px solid var(--line);justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 14px;font-size:1.875rem;display:inline-flex}.empty .illu.illu-svg{width:88px;height:88px;color:var(--ink-3);background:0 0;border:0;margin-bottom:10px}.empty .illu.illu-svg svg{width:100%;height:100%;display:block}.empty .big{color:var(--ink);letter-spacing:-.022em;margin-bottom:4px;font-size:1rem;font-weight:800}.empty .small{color:var(--ink-3);max-width:280px;font-size:.844rem;font-weight:500;line-height:1.55}.empty .empty-cta{flex:none;min-width:140px;margin-top:16px;padding:9px 18px;font-size:.844rem}.skeleton{background:linear-gradient(90deg, var(--bg-soft) 0%, var(--line) 50%, var(--bg-soft) 100%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeletonShimmer}.skeleton.skeleton-line{width:100%;height:14px}.skeleton.skeleton-item{border-radius:var(--r-lg);height:64px}.date-nav{align-items:center;gap:6px;padding:0 16px 4px;display:flex}.date-card{color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:none;background:#fff;flex:1;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:relative;overflow:hidden}.date-card:after{content:none}.date-main{z-index:1;flex-direction:column;gap:2px;display:flex}.date-main .d{letter-spacing:-.028em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1.1}.date-main .sub{color:var(--ink-3);letter-spacing:-.005em;font-size:.75rem;font-weight:600}.date-rel{border:1px solid var(--line-2);color:var(--ink-3);border-radius:var(--r-xs);z-index:1;letter-spacing:.04em;text-transform:uppercase;background:0 0;padding:4px 9px;font-size:.688rem;font-weight:700}.date-rel:before{content:"";background:var(--brand);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.date-arrow{border-radius:var(--r-sm);border:1px solid var(--line-2);width:36px;height:36px;color:var(--ink-2);transition:background var(--dur-fast) var(--ease), transform .12s var(--ease);background:#fff;justify-content:center;align-items:center;display:inline-flex}.date-arrow:hover{background:var(--bg-soft);color:var(--ink)}.date-arrow:active{transform:scale(.92)}.date-arrow svg{stroke-width:2px;width:16px;height:16px}.daily-progress{flex-direction:column;gap:6px;padding:12px 16px 8px;display:flex}.daily-progress .row{color:var(--ink-3);letter-spacing:-.005em;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;display:flex}.daily-progress .row .pct{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.813rem;font-weight:800}.daily-progress .track{border-radius:var(--r-pill);background:var(--bg-soft);border:1px solid var(--line);height:4px;overflow:hidden}.daily-progress .fill{background:var(--brand);border-radius:var(--r-pill);height:100%;transition:width .48s var(--spring)}.today-btn{color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-xs);transition:background var(--dur-fast) var(--ease), transform .12s var(--ease);background:#fff;align-items:center;gap:5px;margin-left:4px;padding:5px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.today-btn:before{content:"";background:var(--brand);border-radius:50%;width:6px;height:6px}.today-btn:hover{background:var(--bg-soft)}.today-btn:active{transform:scale(.96)}.cat-strip-wrap{border-bottom:1px solid var(--line);padding:4px 0 8px;position:relative}.cat-strip-wrap:after{content:"";background:linear-gradient(90deg, transparent, var(--bg) 80%);pointer-events:none;z-index:1;width:28px;position:absolute;top:0;bottom:8px;right:0}.cat-strip{scrollbar-width:none;gap:4px;padding:0 16px 2px;display:flex;overflow-x:auto}.cat-strip::-webkit-scrollbar{display:none}.cat-chip{color:var(--ink-3);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform .12s var(--ease);white-space:nowrap;letter-spacing:-.005em;background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;display:inline-flex;position:relative}.cat-chip:hover{background:var(--bg-soft);color:var(--ink-2)}.cat-chip:active{transform:scale(.97)}.cat-chip.active{color:var(--ink);border-color:var(--line-2);box-shadow:none;background:#fff}.cat-chip.active:before{content:"";background:var(--brand);border-radius:50%;flex:none;width:6px;height:6px}.cat-chip .cnt{min-width:18px;color:var(--ink-4);background:var(--bg-soft);border-radius:var(--r-xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;height:16px;padding:0 5px;font-size:.625rem;font-weight:700;display:inline-flex}.cat-chip.active .cnt{background:var(--bg-soft);color:var(--ink-2)}.cat-chip .close-x{display:none}.cat-chip.add{color:var(--ink-3);border:1px dashed var(--line-2);background:0 0}.cat-chip.add:hover{background:var(--bg-soft);color:var(--ink-2);border-color:var(--ink-4)}.cat-chip.manage{color:var(--ink-3);border:1px solid var(--line);background:0 0;padding:5px 10px}.cat-chip.manage:hover{background:var(--bg-soft);color:var(--ink);border-color:var(--line-2)}.cat-chip.manage svg{stroke-width:1.8px;width:12px;height:12px}.cat-chip.wobble{animation:chipWobble .26s var(--ease) both}.cat-manage-list{flex-direction:column;gap:4px;max-height:52vh;margin-bottom:14px;padding:2px;display:flex;overflow-y:auto}.cat-manage-row{border:1px solid var(--line);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:#fff;align-items:center;gap:10px;padding:10px 10px 10px 12px;display:flex}.cat-manage-row:hover{background:var(--bg-soft);border-color:var(--line-2)}.cat-manage-row .cat-swatch{border-radius:1.5px;flex:none;width:8px;height:8px}.cat-manage-row .cat-name{color:var(--ink);letter-spacing:-.012em;flex:auto;font-size:.875rem;font-weight:700}.cat-manage-row .cat-meta{color:var(--ink-4);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-xs);letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;padding:2px 7px;font-size:.688rem;font-weight:700}.cat-manage-row.protected .cat-meta{color:var(--ink-2);border-color:var(--line-2);background:#fff}.cat-manage-row .trash-btn{border-radius:var(--r-xs);width:28px;height:28px;color:var(--ink-4);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform .12s var(--ease);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.cat-manage-row .trash-btn:hover{background:var(--danger-soft);color:var(--danger)}.cat-manage-row .trash-btn:active{transform:scale(.94)}.cat-manage-row .trash-btn svg{stroke-width:1.8px;width:14px;height:14px}.cat-manage-row.protected{background:var(--bg-soft);border-color:var(--line)}.cat-manage-row.protected .protected-badge{color:var(--ink-4);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;font-size:.688rem;font-weight:700;display:inline-flex}.cat-manage-empty{text-align:center;color:var(--ink-4);background:var(--bg-soft);border-radius:var(--r-sm);border:1px dashed var(--line-2);padding:22px 14px;font-size:.813rem;font-weight:600}.confirm-icon{border-radius:var(--r-sm);background:var(--danger-soft);width:40px;height:40px;color:var(--danger);justify-content:center;align-items:center;margin:2px auto 10px;display:flex}.confirm-icon svg{stroke-width:2.2px;width:20px;height:20px}.confirm-headline{text-align:center;letter-spacing:-.022em;color:var(--ink);margin:0 0 6px;font-size:1rem;font-weight:800}.confirm-body{text-align:center;color:var(--ink-3);margin:0 0 16px;padding:0 4px;font-size:.844rem;font-weight:500;line-height:1.55}.confirm-body strong{color:var(--ink);font-weight:800}.confirm-body .move-badge{border:1px solid var(--line-2);color:var(--ink);border-radius:var(--r-xs);background:#fff;align-items:center;gap:5px;padding:2px 7px;font-size:.75rem;font-weight:700;display:inline-flex}.confirm-body .move-badge:before{content:"";background:var(--brand);border-radius:50%;width:5px;height:5px}.toast.with-action{gap:8px;padding-right:4px}.toast .undo-btn{color:var(--brand);border-radius:var(--r-xs);transition:color var(--dur-fast) var(--ease);pointer-events:auto;white-space:nowrap;letter-spacing:-.005em;background:0 0;border-left:1px solid #ffffff2e;margin-left:2px;padding:4px 10px 4px 12px;font-size:.75rem;font-weight:700}.toast .undo-btn:hover{color:var(--brand-grad)}.toast .undo-btn:active{transform:scale(.96)}.cat-select-wrap{padding:0 16px 4px}.cat-select-btn{color:var(--ink-2);border-radius:var(--r-xs);border:1px solid var(--line-2);transition:background var(--dur-fast) var(--ease);background:#fff;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.cat-select-btn:hover{background:var(--bg-soft)}.cat-select-btn .caret{color:var(--ink-4);margin-left:2px;font-size:.625rem}.palette{border-radius:var(--r-lg);width:100%;max-width:560px;animation:paletteIn .26s var(--spring);border:1px solid var(--line-2);background:#fff;overflow:hidden;box-shadow:0 24px 60px -20px #14161a52,0 2px 6px #14161a0f}.palette-input{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 18px;display:flex}.palette-input .mark{width:28px;height:28px;color:var(--brand-dark);justify-content:center;align-items:center;display:inline-flex}.palette-input .mark svg{width:22px;height:22px}.palette-input input{color:var(--ink);background:0 0;border:0;flex:1;padding:4px 0;font-size:1.063rem;font-weight:600}.palette-input input::placeholder{color:var(--ink-4);font-weight:500}.palette-hint{letter-spacing:.06em;color:var(--ink-3);background:var(--bg-soft);border:1px solid var(--line-2);border-radius:var(--r-xs);text-transform:uppercase;padding:3px 8px;font-size:.688rem;font-weight:800}.palette-hint:before{content:"";background:var(--brand);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.palette-body{max-height:50vh;padding:6px 8px 8px;overflow-y:auto}.palette-body::-webkit-scrollbar{width:6px}.palette-body::-webkit-scrollbar-thumb{background:var(--ink-ghost);border-radius:6px}.palette-group-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);padding:12px 12px 4px;font-size:.688rem;font-weight:800}.palette-item{border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease);grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.palette-item:hover,.palette-item.focused{background:var(--bg-soft)}.palette-item .mk{border-radius:var(--r-xs);background:var(--bg-soft);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-3);justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.palette-item .mk svg{width:14px;height:14px;color:var(--ink-2);stroke-width:1.8px;display:block}.palette-item.focused .mk{color:var(--ink);border-color:var(--line-2);background:#fff}.palette-item.focused .mk svg{color:var(--ink)}.palette-item .lbl{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.906rem;font-weight:600;overflow:hidden}.palette-item .meta{color:var(--ink-4);white-space:nowrap;font-size:.75rem;font-weight:500}.palette-foot{color:var(--ink-3);background:var(--bg-soft);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;font-size:.75rem;font-weight:500;display:flex}.palette-foot .keys{gap:12px;display:flex}.palette-foot kbd{border:1px solid var(--line-2);color:var(--ink-2);background:#fff;border-radius:6px;padding:2px 6px;font-family:inherit;font-size:.656rem;font-weight:700;box-shadow:0 1px #14161a0a}.sheet{width:100%;max-width:var(--frame-max);padding:18px 18px calc(18px + var(--safe-bottom));border-top:1px solid var(--line-2);animation:sheetIn .3s var(--spring);background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -16px 40px -20px #14161a29}@media (width>=600px){.sheet{border:1px solid var(--line-2);border-radius:16px}}.sheet-handle{background:var(--ink-ghost);border-radius:2px;width:36px;height:3px;margin:0 auto 14px}.sheet h3{letter-spacing:-.022em;margin:0 0 6px;font-size:1.063rem;font-weight:800}.sheet p.desc{color:var(--ink-3);margin:0 0 14px;font-size:.844rem;font-weight:500}.sheet .field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.sheet .field label{color:var(--ink-2);letter-spacing:-.005em;font-size:.75rem;font-weight:700}.sheet .field input,.sheet .field select,.sheet .field textarea{border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:#fff;padding:10px 12px;font-size:.906rem;font-weight:500}.sheet .field input:focus,.sheet .field select:focus,.sheet .field textarea:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px var(--bg-soft);background:#fff}.sheet .actions{gap:8px;margin-top:6px;display:flex}.btn{border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease), transform .12s var(--ease), border-color var(--dur-fast) var(--ease);letter-spacing:-.012em;flex:1;padding:12px 16px;font-size:.906rem;font-weight:700}.btn:active{transform:scale(.97)}.btn.primary{background:var(--ink);color:#fff;box-shadow:none}.btn.primary:hover{background:var(--ink-2);color:#fff}.btn.ghost{color:var(--ink);border:1px solid var(--line-2);background:#fff}.btn.ghost:hover{background:var(--bg-soft);border-color:var(--line-strong)}.btn.danger{color:var(--danger);border:1px solid var(--danger-soft);background:#fff}.btn.danger:hover{background:var(--danger-soft)}.welcome-list{flex-direction:column;gap:10px;margin:4px 0 16px;padding:0;list-style:none;display:flex}.welcome-list li{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;align-items:center;gap:12px;padding:10px 12px;display:flex}.welcome-list .w-ic{border-radius:var(--r-xs);background:var(--bg-soft);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);flex:none;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.welcome-list .w-ic svg{width:18px;height:18px;display:block}.welcome-list li>div{flex-direction:column;gap:1px;min-width:0;display:flex}.welcome-list li strong{color:var(--ink);letter-spacing:-.01em;font-size:.938rem;font-weight:800}.welcome-list li span{color:var(--ink-3);font-size:.813rem;font-weight:500}.welcome-tip{background:var(--bg-soft);border:1px solid var(--line);border-left:2px solid var(--brand);border-radius:var(--r-xs);color:var(--ink-2);margin:4px 0 14px;padding:10px 12px 10px 14px;font-size:.844rem;font-weight:500;line-height:1.5}.welcome-tip.welcome-tip-muted{color:var(--ink-3);background:0 0;padding:6px 2px 0;font-size:.781rem;font-weight:500}.welcome-tip kbd{border:1px solid var(--line-2);color:var(--ink-2);background:#fff;border-radius:6px;margin:0 2px;padding:2px 7px;font-family:inherit;font-size:.719rem;font-weight:700;box-shadow:0 1px #14161a0a}.welcome-overlay{z-index:85;background:var(--bg);opacity:0;transition:opacity .32s var(--ease);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.welcome-overlay.open{opacity:1}.welcome-overlay.closing{opacity:0}@media (width>=900px){.frame>.welcome-overlay{border-radius:48px;position:absolute;inset:0}}.welcome-v2{background:var(--bg);width:100%;min-height:100%;font-family:var(--ff);flex-direction:column;flex:1;padding:0;display:flex;position:relative}.welcome-v2-mark{letter-spacing:-.005em;color:var(--ink-2);z-index:5;align-items:center;gap:9px;font-size:.813rem;font-weight:700;display:inline-flex;position:absolute;top:36px;left:32px}.welcome-v2-seal{border-radius:var(--r-xs);background:var(--ink);color:#fff;letter-spacing:0;width:22px;height:22px;box-shadow:none;place-items:center;font-size:.688rem;font-weight:800;display:grid;position:relative}.welcome-v2-seal:after{content:"";background:var(--brand);border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;right:-3px}.welcome-v2-stage{flex-direction:column;flex:1;justify-content:center;padding:96px 32px 24px;display:flex;position:relative}.welcome-v2-stage:before{content:"";background:linear-gradient(180deg, transparent 0%, var(--brand) 24%, var(--brand) 76%, transparent 100%);border-radius:2px;width:2px;position:absolute;top:24%;bottom:22%;left:32px}.welcome-v2-headline{letter-spacing:-.045em;color:var(--ink);font-feature-settings:"ss10", "cv11";margin:0 0 0 18px;font-size:3rem;font-weight:800;line-height:1.04}.welcome-v2-headline .word{display:block}.welcome-v2-headline .word.accent{background:linear-gradient(96deg, var(--brand-dark) 0%, #4ecdc4 70%, #6fb7e8 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.welcome-v2-meta{color:var(--ink-3);letter-spacing:-.005em;flex-direction:column;gap:10px;margin:30px 0 0 18px;font-size:.875rem;display:flex}.welcome-v2-meta .row{align-items:center;gap:12px;display:inline-flex}.welcome-v2-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);flex-shrink:0;width:52px;margin:0;font-size:.688rem;font-weight:700}.welcome-v2-meta dd{color:var(--ink-2);margin:0;font-weight:500}.welcome-v2-meta dd strong{color:var(--brand-dark);font-weight:700}.welcome-v2-actions{flex-direction:column;gap:14px;margin-top:36px;padding:0 28px 44px;display:flex}.welcome-v2-google{color:#1f1f1f;letter-spacing:-.014em;border-radius:var(--r-md);width:100%;height:56px;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--spring), border-color var(--dur) var(--ease);background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:12px;padding:0 18px;font-size:1rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #3c40430a}.welcome-v2-google:hover{border-color:#c9ccd2;transform:translateY(-1px);box-shadow:0 2px 6px #3c404314}.welcome-v2-google:active{transform:translateY(0);box-shadow:0 1px 2px #3c40430f}.welcome-v2-google:disabled{opacity:.85;cursor:progress;transform:none}.welcome-v2-google .g-logo{flex-shrink:0;width:20px;height:20px;display:inline-flex}.welcome-v2-google .g-logo svg{width:100%;height:100%;display:block}.welcome-v2-google .g-recommended{background:var(--ink);color:#fff;border-radius:var(--r-xs);letter-spacing:.04em;text-transform:uppercase;margin-left:4px;padding:2px 7px;font-size:.625rem;font-weight:700;line-height:1.4}.welcome-spinner{width:20px;height:20px;color:var(--ink-3);animation:.8s linear infinite welcomeSpin}@keyframes welcomeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-v2-skip{width:100%;height:44px;color:var(--ink-3);letter-spacing:-.01em;border-radius:var(--r-md);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;justify-content:center;align-items:center;gap:6px;font-size:.938rem;font-weight:600;display:inline-flex}.welcome-v2-skip:hover{background:var(--bg-soft);color:var(--ink-2)}.welcome-v2-skip:active{background:var(--ink-ghost)}.welcome-v2-skip .arrow{transition:transform var(--dur) var(--ease);display:inline-block}.welcome-v2-skip:hover .arrow{transform:translate(3px)}.welcome-v2-note{color:var(--ink-4);letter-spacing:-.005em;justify-content:center;align-items:center;gap:6px;margin:0;font-size:.75rem;font-weight:500;display:flex}.welcome-v2-note .dot{background:var(--ink-5);border-radius:50%;flex-shrink:0;width:4px;height:4px}@media (prefers-reduced-motion:no-preference){.welcome-v2-headline .word{opacity:0;animation:welcomeWord .7s var(--ease) forwards;transform:translateY(14px)}.welcome-v2-headline .word:first-child{animation-delay:.12s}.welcome-v2-headline .word:nth-child(2){animation-delay:.24s}.welcome-v2-headline .word:nth-child(3){animation-delay:.36s}.welcome-v2-meta{opacity:0;animation:welcomeFade .6s var(--ease) .54s forwards;transform:translateY(8px)}.welcome-v2-actions{opacity:0;animation:welcomeFade .6s var(--ease) .66s forwards;transform:translateY(8px)}}@keyframes welcomeWord{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (height<=700px){.welcome-v2-headline{font-size:2.625rem}.welcome-v2-meta{margin-top:22px}.welcome-v2-stage{padding-top:80px}.welcome-v2-actions{margin-top:24px;padding-bottom:28px}}@media (height<=600px){.welcome-v2-headline{font-size:2.25rem}.welcome-v2-mark{top:22px;left:24px}.welcome-v2-stage{padding:64px 26px 16px}.welcome-v2-stage:before{left:26px}.welcome-v2-actions{margin-top:16px;padding-bottom:22px}}.install-steps{color:var(--ink-2);margin:10px 0 16px;padding-left:20px;font-size:.875rem;line-height:1.7;list-style:decimal}.install-steps li{margin-bottom:4px}.install-steps strong{color:var(--ink);font-weight:700}.install-steps .s-ic{font-size:.938rem}.install-banner{left:50%;bottom:calc(var(--safe-bottom) + var(--tab-lift) + var(--bottom-bar) + var(--composer-gap) + var(--composer-h) + 10px);width:calc(100% - 32px);max-width:calc(var(--frame-max) - 32px);z-index:70;background:var(--ink);color:#fff;border-radius:var(--r-md);animation:toastIn .32s var(--spring);align-items:center;gap:8px;padding:8px 8px 8px 14px;font-size:.813rem;font-weight:600;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 24px -8px #14161a4d}.install-banner.out{animation:toastOut .24s var(--ease) forwards}.install-banner-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.install-banner-more{color:var(--ink);border-radius:var(--r-xs);background:#fff;padding:5px 10px;font-size:.75rem;font-weight:700}.install-banner-more:before{content:"";background:var(--brand);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.install-banner-close{border-radius:var(--r-xs);color:#ffffffb3;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:.938rem;display:inline-flex}.install-banner-close:hover{color:#fff;background:#ffffff24}.celebrate{border:1px solid var(--line-2);border-left:2px solid var(--brand);color:var(--ink);border-radius:var(--r-md);text-align:left;box-shadow:none;animation:pageIn .34s var(--spring);background:#fff;margin:6px 12px 12px;padding:16px 18px 18px 22px;position:relative}.celebrate .celebrate-ico{margin-bottom:6px;font-size:1.5rem;line-height:1;display:inline-block}.celebrate .celebrate-big{letter-spacing:-.022em;color:var(--ink);margin-bottom:2px;font-size:1rem;font-weight:800}.celebrate .celebrate-small{opacity:1;color:var(--ink-3);font-size:.813rem;font-weight:500}.toast{background:var(--ink);color:#fff;border-radius:var(--r-md);animation:toastIn .26s var(--spring);transform-origin:top;pointer-events:auto;white-space:nowrap;letter-spacing:-.012em;align-items:center;gap:8px;padding:8px 14px;font-size:.813rem;font-weight:600;display:inline-flex;box-shadow:0 12px 24px -8px #14161a52}.toast .dot{background:var(--brand);border-radius:50%;flex:none;width:6px;height:6px}.toast.out{animation:toastOut .24s var(--ease) forwards}.profile-btn[data-state=guest] svg{stroke-width:1.8px;color:var(--ink-3)}.profile-btn[data-state=guest]:hover svg{color:var(--brand-dark)}.profile-btn[data-state=user]{background:0 0}.profile-btn[data-state=user]:hover{background:0 0;transform:scale(1.04)}.initial-avatar{background:var(--ink);color:#fff;letter-spacing:-.02em;width:22px;height:22px;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;font-size:.688rem;font-weight:800;line-height:1;display:inline-flex;position:relative}.initial-avatar:after{content:"";background:var(--brand);box-sizing:border-box;border:1.5px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;bottom:-1px;right:-1px}.account-sheet{flex-direction:column;gap:14px;display:flex}.account-head{align-items:center;gap:14px;padding:4px 2px 6px;display:flex}.account-avatar{letter-spacing:-.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.313rem;font-weight:800;line-height:1;display:inline-flex}.account-avatar-guest{background:var(--bg-soft);border:1px solid var(--line-2);color:var(--ink-3);border-radius:var(--r-md)}.account-avatar-guest svg{width:24px;height:24px;display:block}.account-avatar-authed{background:var(--ink);color:#fff;border-radius:var(--r-md);box-shadow:none;position:relative}.account-avatar-authed:after{content:"";background:var(--brand);box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-3px;right:-3px}.account-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.account-title{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.063rem;font-weight:800;line-height:1.3}.account-desc{color:var(--ink-3);letter-spacing:-.005em;margin:2px 0 0;font-size:.813rem;font-weight:500;line-height:1.5}.account-email{color:var(--ink-3);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.813rem;font-weight:500;overflow:hidden}.account-provider-chip{border:1px solid var(--line-2);color:var(--ink-2);border-radius:var(--r-xs);letter-spacing:.02em;text-transform:uppercase;background:#fff;align-self:flex-start;align-items:center;gap:5px;margin-top:6px;padding:2px 8px;font-size:.688rem;font-weight:700;display:inline-flex}.account-provider-chip:before{content:"";background:var(--brand);border-radius:50%;width:5px;height:5px}.social-list{flex-direction:column;gap:8px;margin:6px 0 4px;display:flex}.social-btn{border-radius:var(--r-md);letter-spacing:-.014em;height:50px;transition:transform .12s var(--ease), filter var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);grid-template-columns:24px 1fr 24px;align-items:center;column-gap:14px;padding:0 18px;font-family:inherit;font-size:.969rem;font-weight:600;display:grid;position:relative;box-shadow:0 1px 2px #14161a08}.social-btn:active{transform:scale(.985)}.social-btn .social-logo{grid-column:1;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.social-btn .social-logo svg{width:100%;height:100%;display:block}.social-btn .social-text{text-align:center;grid-column:2;justify-self:center;line-height:1}.social-btn .social-spacer{grid-column:3}.social-google{color:#1f1f1f;background:#fff;box-shadow:inset 0 0 0 1px #dadce0,0 1px 2px #14161a0a}.social-google:hover{background:#f8f9fa;box-shadow:inset 0 0 0 1px #c7c9ce,0 2px 6px #14161a14}.social-kakao{color:#191919;background:#fee500}.social-kakao:hover{background:#fdd835;box-shadow:0 2px 4px #0000000a,0 6px 16px -4px #fee5006b}.social-btn:focus-visible{outline:2px solid var(--brand-dark);outline-offset:3px}.social-btn:disabled{opacity:.65;cursor:not-allowed;pointer-events:none}.social-spinner{width:20px;height:20px;animation:.8s linear infinite social-spin}@keyframes social-spin{to{transform:rotate(360deg)}}.account-link-btn{color:var(--ink-2);letter-spacing:-.01em;border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-self:center;margin:2px 0 0;padding:10px 14px;font-size:.906rem;font-weight:600}.account-link-btn:hover{background:var(--bg-soft);color:var(--ink)}.account-link-btn .opt{color:var(--ink-4);margin-left:2px;font-weight:500}.account-divider{background:var(--line);height:1px;margin:4px 0}.account-skip-btn{color:var(--ink-3);letter-spacing:-.01em;border-radius:var(--r-md);text-align:center;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:10px 14px;font-size:.875rem;font-weight:600}.account-skip-btn:hover{background:var(--bg-soft);color:var(--ink-2)}.account-logout-btn{flex:none;width:100%;margin-top:4px}.account-danger-btn{color:var(--danger);letter-spacing:-.005em;border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease);align-self:center;margin-top:4px;padding:8px 12px;font-size:.813rem;font-weight:600}.account-danger-btn:hover{background:var(--danger-soft)}
