:root{--bg: #ffffff;--text: #1c1c1e;--muted: #8e8e93;--line: #e5e5ea;--blue: #007aff;--bubble-lt: #3897ff;--bubble-dk: #006de3;--bubble-bd: #007aff;--bubble-in: #e9e9eb;--bubble-in-lt: #f0f0f2;--bubble-in-dk: #e1e1e5;--heart: #ff2d55;--heart-emoji: "❤️";--input-bg: #ffffff;--bar: rgba(249, 249, 251, .94);--chip: #f2f2f7;--pung: var(--blue);color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard Variable,Pretendard,Malgun Gothic,system-ui,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #000000;--text: #f2f2f7;--muted: #8e8e93;--line: #38383a;--blue: #0a84ff;--pung: #0a84ff;--bubble-lt: #409fff;--bubble-dk: #0975e3;--bubble-bd: #0a84ff;--bubble-in: #26252a;--bubble-in-lt: #322f37;--bubble-in-dk: #1e1d22;--input-bg: #1c1c1e;--bar: rgba(22, 22, 24, .94);--chip: #2c2c2e;color-scheme:dark}}:root[data-theme=dark]{--bg: #000000;--text: #f2f2f7;--muted: #8e8e93;--line: #38383a;--blue: #0a84ff;--pung: #0a84ff;--bubble-lt: #409fff;--bubble-dk: #0975e3;--bubble-bd: #0a84ff;--bubble-in: #26252a;--bubble-in-lt: #322f37;--bubble-in-dk: #1e1d22;--input-bg: #1c1c1e;--bar: rgba(22, 22, 24, .94);--chip: #2c2c2e;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100dvh;background:var(--bg)}.center{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center}.muted{color:var(--muted)}.error{color:#ff3b30}.big-icon{font-size:calc(38.5px * var(--fs, 1))}button{margin-top:12px;padding:12px 20px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-family:inherit;font-size:calc(13px * var(--fs, 1));font-weight:600;cursor:pointer}button.secondary{background:var(--bubble-in);color:var(--text)}button:disabled{opacity:.5;cursor:default}.bubble{position:relative;max-width:75%;padding:8px 14px;border-radius:18px;font-size:calc(12px * var(--fs, 1));line-height:1.35;text-align:left;word-break:break-word}.bubble.out{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}.bubble.in{align-self:flex-start;background:var(--bubble-in);color:var(--text);border-bottom-left-radius:4px}.bubble .heart-badge{position:absolute;top:-10px;left:-10px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:2px solid var(--bg);color:var(--heart);font-size:calc(11.5px * var(--fs, 1));line-height:20px;text-align:center;box-shadow:0 1px 3px #00000026}.onboard{height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column}.chat-header{flex:none;text-align:center;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--line)}.chat-header .avatar{display:block;width:48px;height:48px;margin:0 auto 4px;border-radius:12px}.chat-header .name{font-family:Rubik Bubbles,sans-serif;font-size:calc(13px * var(--fs, 1))}.wm{font-family:Rubik Bubbles,sans-serif;font-weight:400}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:12px 16px}.chat-log .stamp{align-self:center;font-size:calc(10px * var(--fs, 1));color:var(--muted);margin:4px 0}.chat-log .stamp b{font-weight:600}.bubble.typing{display:flex;gap:4px;padding:12px 14px}.bubble.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}.bubble.typing i:nth-child(2){animation-delay:.2s}.bubble.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}@media(prefers-reduced-motion:reduce){.bubble.typing i{animation:none}}.chips{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-top:4px}.chip{margin:0;padding:8px 14px;border:1.5px solid var(--blue);border-radius:18px;background:var(--bg);color:var(--blue);font-size:calc(11.5px * var(--fs, 1));font-weight:600}.chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.composer:focus-within{border-color:var(--blue)}.composer{flex:none;display:flex;align-items:center;gap:6px;margin:8px 12px calc(10px + env(safe-area-inset-bottom,0px));padding:4px 4px 4px 16px;border:1px solid var(--line);border-radius:999px;background:var(--input-bg)}.composer input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text);font-size:calc(12px * var(--fs, 1));padding:8px 0}.composer .send{flex:none;width:32px;height:32px;margin:0;padding:0;font-size:calc(14.5px * var(--fs, 1));line-height:32px}.composer.busy .send{opacity:.5}.home{position:relative;height:100dvh;max-width:640px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden}.home-top{flex:none;display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top,0px)) 8px 8px;background:var(--bar);border-bottom:1px solid var(--line)}.home-top .title{font-size:max(16px,calc(16px * var(--fs, 1)))}.icon-btn{margin:0;width:40px;height:40px;padding:0;border-radius:12px;background:transparent;color:var(--blue);font-size:max(16px,calc(16px * var(--fs, 1)));font-weight:400}.icon-btn:focus-visible{outline:2px solid var(--blue)}.home-log{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.log-inner{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}.day-line{display:flex;align-items:center;gap:8px;margin:12px 0 6px;font-size:calc(10px * var(--fs, 1));color:var(--muted)}.day-line:before,.day-line:after{content:"";flex:1;height:1px;background:var(--line)}.empty{align-self:center;margin:8px 0 0;font-size:calc(10.5px * var(--fs, 1));color:var(--muted)}.row{display:flex;align-items:flex-end;justify-content:flex-end;gap:6px}.row .t{flex:none;font-size:calc(10px * var(--fs, 1));color:var(--muted);white-space:nowrap;padding-bottom:2px}.row .bubble{max-width:78%;white-space:pre-wrap;touch-action:pan-y;-webkit-user-select:text;user-select:text}.row .bubble.sending{opacity:.6}.row .bubble.failed{background:transparent;color:var(--text);border:1.5px solid #ff3b30;cursor:pointer}.row .t:has(+.failed){color:#ff3b30}.row .bubble.heart{margin-top:8px}.row .bubble.heart:before{content:"";background:var(--bg) var(--heart-img) center / 15px no-repeat;position:absolute;top:-10px;left:-10px;width:24px;height:24px;border-radius:50%;font-size:calc(10px * var(--fs, 1));line-height:24px;text-align:center;box-shadow:0 1px 3px #0003}.home-composer{align-items:flex-end;border-radius:22px;padding:4px 4px 4px 14px}.home-composer textarea{flex:1;min-width:0;border:0;outline:none;resize:none;background:transparent;color:var(--text);font:inherit;font-size:calc(12px * var(--fs, 1));line-height:calc(calc(12px * var(--fs, 1)) * 1.35);padding:calc((32px - calc(12px * var(--fs, 1)) * 1.35) / 2) 0;max-height:120px}.pung-btn{flex:none;margin:0;width:32px;height:32px;padding:0;background:transparent;font-size:calc(14px * var(--fs, 1))}.home-composer .send{margin-left:2px}.toast{position:absolute;left:50%;top:calc(64px + env(safe-area-inset-top,0px));transform:translate(-50%);max-width:calc(100% - 32px);padding:9px 14px;border-radius:14px;background:#1c1c1ee0;color:#fff;font-size:calc(10.5px * var(--fs, 1));text-align:center;z-index:30}.drawer-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20}.drawer{position:absolute;top:0;bottom:0;left:0;width:min(78%,300px);z-index:21;display:flex;flex-direction:column;gap:2px;padding:calc(20px + env(safe-area-inset-top,0px)) 12px calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg);box-shadow:4px 0 20px #0003}.drawer .brand{font-size:calc(19.5px * var(--fs, 1));margin:0 8px 14px}.drawer .m{margin:0;padding:12px;border-radius:12px;background:transparent;color:var(--text);font-size:calc(11.5px * var(--fs, 1));font-weight:500;text-align:left}.drawer .m.on{background:var(--chip);font-weight:700}.drawer-foot{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--line)}.drawer-foot small{padding:0 12px;color:var(--muted);font-size:calc(10px * var(--fs, 1));overflow-wrap:anywhere}.row .bubble{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.press-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.press-menu{width:min(100%,300px);display:flex;flex-direction:column;align-items:flex-end;gap:10px}.press-preview{max-width:100%;max-height:40vh;overflow:auto;padding:8px 14px;border-radius:18px 18px 4px;background:var(--blue);color:#fff;font-size:calc(12px * var(--fs, 1));line-height:1.35;white-space:pre-wrap;word-break:break-word}.press-actions{width:220px;border-radius:14px;overflow:hidden;background:var(--bg);box-shadow:0 8px 24px #00000040}.press-actions button{display:block;width:100%;margin:0;padding:13px 16px;border-radius:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:calc(11.5px * var(--fs, 1));font-weight:500;text-align:left}.press-actions button:last-child{border-bottom:0}.press-actions .danger{color:#ff3b30}.row .col{display:flex;flex-direction:column;align-items:flex-end;max-width:78%;min-width:0}.row .col .bubble{max-width:100%}.row .bubble.pung{background:transparent;color:var(--text);border:1.5px dashed var(--pung)}.pung-line{margin:3px 2px 2px;font-size:calc(10px * var(--fs, 1));color:var(--pung)}.link{margin:0;padding:0;border-radius:0;background:none;color:var(--blue);font-size:calc(10px * var(--fs, 1));font-weight:600;text-decoration:underline}.row.popping{animation:pop-out .45s ease-in forwards}@keyframes pop-out{30%{transform:scale(1.06)}to{transform:scale(.2);opacity:0}}.bubble .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.bubble .tag{display:inline-block;padding:0 7px;border-radius:8px;background:#ffffff3d;font-size:calc(10px * var(--fs, 1));line-height:20px}.bubble.pung .tag,.bubble.failed .tag{background:var(--chip)}.opts{display:flex;flex-direction:column}.opts button{margin:0;padding:11px 14px;border-radius:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:calc(10.5px * var(--fs, 1));font-weight:500;text-align:left}.opts button.on{color:var(--blue);font-weight:700}.opts button.danger{color:#ff3b30}.opts-note{margin:0;padding:12px 14px;font-size:calc(10.5px * var(--fs, 1));color:var(--muted)}.new-tag{display:flex;gap:6px;padding:8px}.new-tag input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);font-size:max(16px,calc(16px * var(--fs, 1)))}.new-tag button{margin:0;padding:6px 10px;border-radius:999px;font-size:calc(10.5px * var(--fs, 1))}.press-actions .opts button:last-child{border-bottom:1px solid var(--line)}.press-actions .back{color:var(--muted);font-size:calc(10.5px * var(--fs, 1))}.pung-btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:34px;height:32px;padding:0 6px;border-radius:16px;color:var(--pung);font-size:calc(18px * var(--fs, 1));line-height:1;font-weight:700;white-space:nowrap}.pung-btn #pung-label{font-size:calc(10px * var(--fs, 1));line-height:1}.composer .ic{display:block;line-height:1}.composer .send{display:inline-flex;align-items:center;justify-content:center}.pung-btn #pung-label:empty{display:none}.pung-btn.on{background:#007aff1f}.pung-pick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0;justify-content:flex-end}.pchip{margin:0;padding:6px 12px;border-radius:999px;border:1.5px solid var(--pung);background:var(--bg);color:var(--pung);font-size:calc(10.5px * var(--fs, 1));font-weight:600}.pchip.on{background:var(--pung);color:#fff}.pchip.off{border-color:var(--line);color:var(--muted)}.press-actions .new-tag button{display:inline-block;width:auto;flex:none;padding:7px 12px;border-bottom:0;border-radius:999px;background:var(--blue);color:#fff;text-align:center}.press-actions .new-tag input{display:block}.drawer a.m{display:block;text-decoration:none}.heart-ic:before{content:"";display:inline-block;width:1.2em;height:1.2em;vertical-align:-.24em;background:var(--heart-img) center / contain no-repeat}.home-top .back{display:grid;place-items:center;text-decoration:none;font-size:calc(22.5px * var(--fs, 1));line-height:1}.home-top .page-title{font-size:calc(13px * var(--fs, 1));font-weight:700}.home-top .right{width:40px}.page-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px}.page-body.chat-like{gap:0;padding-inline:0}.page-body.chat-like .log-inner{margin-top:auto}.hint{margin:6px 0 0;text-align:center;font-size:calc(10px * var(--fs, 1));color:var(--muted)}.row.tap{cursor:pointer}.day-nav{display:flex;justify-content:space-between;padding:12px 16px 0;font-size:calc(11.5px * var(--fs, 1))}.day-nav a{color:var(--blue);text-decoration:none;font-weight:600}.row.in{justify-content:flex-start}.row.in .bubble{max-width:78%}.bubble.in .from{display:block;margin-bottom:2px;font-size:calc(10px * var(--fs, 1));color:var(--muted);text-shadow:none}.arrival{display:flex;flex-direction:column;gap:4px;margin:4px 0;color:inherit;text-decoration:none}.fchips{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{margin:0;padding:7px 13px;border-radius:999px;background:var(--chip);color:var(--text);font-size:calc(10px * var(--fs, 1));font-weight:600}.chip-btn.on{background:var(--blue);color:#fff}.cards{display:flex;flex-direction:column;gap:8px}.card-item{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--chip);color:var(--text);text-decoration:none}.card-item .h{flex:none;font-size:calc(12px * var(--fs, 1));line-height:20px}.card-item .tag-ic{color:var(--blue);font-weight:800}.card-item small{display:block;font-size:calc(10px * var(--fs, 1));color:var(--muted)}.card-item p.clamp,.bubble .clamp{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-item p{margin:2px 0 0;font-size:calc(11.5px * var(--fs, 1));line-height:1.4;white-space:pre-wrap;word-break:break-word}.more-btn{align-self:center;margin:4px 0 0;padding:9px 16px;background:var(--chip);color:var(--text);font-size:calc(11.5px * var(--fs, 1))}.cal-head{display:flex;align-items:center;justify-content:space-between;font-size:calc(13px * var(--fs, 1))}.cal-head .icon-btn:disabled{opacity:.3}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal .w{padding:6px 0;font-size:calc(10px * var(--fs, 1));color:var(--muted)}.cal .w:first-child{color:#ff3b30}.cal .d{position:relative;display:grid;place-items:center;justify-self:center;width:calc(40px * var(--fs, 1));height:calc(40px * var(--fs, 1));border-radius:50%;color:var(--text);text-decoration:none;font-size:calc(11.5px * var(--fs, 1))}a.d:hover{background:var(--chip)}.cal .d.has{padding-bottom:calc(5px * var(--fs, 1))}.cal .d.has:after,.hint .dot{content:"";position:absolute;bottom:calc(5px * var(--fs, 1));left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--blue)}.hint .dot{position:static;display:inline-block;margin:0 2px 1px}.cal .d.today{background:var(--blue);color:#fff;font-weight:700}.cal .d.today.has:after{background:#fff}.cal .d.future{color:var(--line)}.me-card{display:flex;align-items:center;gap:12px;padding:4px 2px 6px}.me-ic{width:52px;height:52px;border-radius:13px}.me-card b{display:block;font-size:calc(12px * var(--fs, 1));overflow-wrap:anywhere}.me-card small{color:var(--muted);font-size:calc(10px * var(--fs, 1))}.sync-note{margin:0;padding:10px 12px;border-radius:12px;background:#ff9f0a24;color:var(--text);font-size:calc(10.5px * var(--fs, 1))}.set-label{margin:10px 4px -4px;font-size:calc(10px * var(--fs, 1));font-weight:600;color:var(--muted)}.set-help{margin:-2px 4px 0;font-size:calc(10px * var(--fs, 1));line-height:1.5;color:var(--muted)}.set-group{border-radius:14px;background:var(--chip);overflow:hidden}.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:calc(36px * var(--fs, 1));margin:0;padding:6px 14px;border-radius:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:calc(11.5px * var(--fs, 1));font-weight:500;text-align:left}.set-group>:last-child{border-bottom:0}.set-row.col{flex-direction:column;align-items:flex-start;padding-block:12px}.set-row span{color:var(--muted);font-size:calc(10.5px * var(--fs, 1))}.set-row.danger{color:#ff3b30}.muted-row{color:var(--muted)}.set-row select,.set-row input[type=time]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:max(16px,calc(16px * var(--fs, 1)))}.toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;position:relative;width:46px;height:28px;margin:0;border-radius:14px;background:var(--line);cursor:pointer;transition:background .2s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s}.toggle:checked{background:var(--blue)}.toggle:checked:after{transform:translate(18px)}.toggle:focus-visible,.seg button:focus-visible,.hearts button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.seg{display:flex;padding:2px;border-radius:999px;background:var(--line)}.seg button{margin:0;padding:5px 11px;border-radius:999px;background:transparent;color:var(--text);font-size:calc(10.5px * var(--fs, 1));font-weight:600}.seg button.on{background:var(--bg);box-shadow:0 1px 3px #00000026}.hearts{display:flex;flex-wrap:wrap;gap:6px}.hearts button{margin:0;width:38px;height:38px;padding:0;border-radius:50%;background:var(--bg);font-size:calc(14.5px * var(--fs, 1));border:2px solid transparent}.hearts button.on{border-color:var(--blue)}.tag-admin{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line)}.tag-edit{display:flex;align-items:center;gap:6px}.tag-edit span{color:var(--blue);font-weight:800}.tag-edit input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-size:max(16px,calc(16px * var(--fs, 1)))}.tag-edit .x{margin:0;padding:6px 10px;border-radius:10px;background:transparent;color:#ff3b30;font-size:calc(10.5px * var(--fs, 1))}.tag-admin .new-tag{padding:0}.del-box{padding:12px 14px;border-top:1px solid var(--line)}.del-box p{margin:0 0 10px;font-size:calc(11.5px * var(--fs, 1));line-height:1.5}.del-btn{margin:0;width:100%;background:#ff3b30}.page-body>*{flex-shrink:0}.home-top{display:grid;grid-template-columns:1fr auto 1fr}.home-top>:first-child{justify-self:start}.home-top>:last-child{justify-self:end}.top-right{display:flex;gap:2px}.sheet-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;background:#00000059}.sheet{width:100%;max-height:85%;overflow:auto;padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;background:var(--bg);box-shadow:0 -8px 30px #0003;animation:sheet-up .22s ease-out}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}@media(prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet .grab{width:38px;height:5px;margin:2px auto 10px;border-radius:3px;background:var(--line)}.sheet h3{margin:0 0 12px;text-align:center;font-size:calc(13px * var(--fs, 1))}.picker{display:flex;flex-direction:column;gap:10px}.picker-now{margin:0 0 4px;text-align:center;font-size:calc(21px * var(--fs, 1));font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.wheels{position:relative;display:flex;justify-content:center;gap:4px;height:220px}.wheels:before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);border-radius:12px;background:var(--chip);pointer-events:none}.wheel{position:relative;flex:1;max-width:110px;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}.wheel::-webkit-scrollbar{display:none}.wheel-pad{height:88px}.wheel-it{height:44px;line-height:44px;text-align:center;font-size:calc(15px * var(--fs, 1));color:var(--muted);scroll-snap-align:center;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}.wheel-it.on{color:var(--text);font-weight:700}.wheel-it.off{opacity:.3}.sheet-done{margin:6px 0 0;width:100%;padding:13px}.sheet-done.ghost{background:var(--chip);color:var(--text)}.row-r{display:flex;align-items:center;gap:8px;flex:none}button.pill{margin:0;font-size:calc(10.5px * var(--fs, 1))}.pill{padding:5px 12px;border-radius:999px;background:var(--bg);color:var(--blue)!important;font-weight:600;font-variant-numeric:tabular-nums}.chips-row{display:flex;flex-wrap:wrap;gap:6px}.chips-row button{margin:0;padding:7px 12px;border-radius:999px;background:var(--bg);color:var(--text);font-size:calc(10.5px * var(--fs, 1));font-weight:600}.chips-row button.on{background:var(--pung);color:#fff}.ym-btn{margin:0;padding:6px 12px;border-radius:12px;background:transparent;color:var(--text);font-size:calc(13px * var(--fs, 1));font-weight:700}.ym-btn span{color:var(--muted);font-size:calc(10px * var(--fs, 1))}.ym-btn:hover{background:var(--chip)}.search-box{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border-radius:14px;background:var(--chip)}.search-box input{flex:1;min-width:0;padding:9px 0;border:0;outline:none;background:transparent;color:var(--text);font-size:max(16px,calc(16px * var(--fs, 1)))}.search-box input::-webkit-search-cancel-button{display:none}.search-box .clear{margin:0;width:28px;height:28px;padding:0;border-radius:50%;background:var(--line);color:var(--text);font-size:calc(10px * var(--fs, 1))}.search-status{margin:0 4px;font-size:calc(10px * var(--fs, 1));color:var(--muted);min-height:1em}mark{padding:0 2px;border-radius:4px;background:#ffcc0073;color:inherit}.row.flash .bubble:after,.sd-msg.flash .bubble:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#fff;opacity:0;pointer-events:none;animation:flash 2s ease-out}@keyframes flash{10%{opacity:.55}24%{opacity:0}38%{opacity:.45}52%{opacity:0}66%{opacity:.4}82%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.row.flash .bubble:after,.sd-msg.flash .bubble:after{animation:none}}.today-btn{align-self:center;margin:6px 0 0;padding:9px 26px;border:1.5px solid var(--blue);border-radius:999px;background:var(--blue);color:#fff;font-size:calc(11.5px * var(--fs, 1));font-weight:700;box-shadow:0 4px 12px #007aff40}.today-btn:active{transform:scale(.97)}.bubble.out,.press-preview{border:0;background:linear-gradient(180deg,var(--bubble-lt) 0%,var(--blue) 55%,var(--bubble-dk) 100%);box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0000002e;text-shadow:0 -.5px 0 rgba(0,0,0,.12)}.bubble.in{background:linear-gradient(180deg,var(--bubble-in-lt) 0%,var(--bubble-in) 55%,var(--bubble-in-dk) 100%);box-shadow:inset 0 1px #ffffff40,0 1px 2px #00000012;text-shadow:0 -.5px 0 rgba(0,0,0,.08)}:root[data-theme=dark] .bubble.in{box-shadow:inset 0 1px #ffffff14,0 1px 2px #0006;text-shadow:0 -.5px 0 rgba(0,0,0,.3)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .bubble.in{box-shadow:inset 0 1px #ffffff14,0 1px 2px #0006;text-shadow:0 -.5px 0 rgba(0,0,0,.3)}}.row .bubble.pung,.row .bubble.failed{box-shadow:none;text-shadow:none;background:transparent}.row .bubble.sending{box-shadow:none}.brand-logo{display:inline-flex;align-items:center}.brand-logo img{display:block;width:auto}.top-logo img{height:36px}.drawer-logo{margin:4px 8px 0}.drawer-logo img{height:30px}.brand-logo .logo-dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo .logo-light{display:none}:root:not([data-theme=light]) .brand-logo .logo-dark{display:block}}:root[data-theme=dark] .brand-logo .logo-light{display:none}:root[data-theme=dark] .brand-logo .logo-dark{display:block}.home-composer textarea::placeholder,.composer input::placeholder,.search-box input::placeholder,.confirm-in::placeholder,.tag-edit input::placeholder,.new-tag input::placeholder{font-family:inherit;font-size:calc(12px * var(--fs, 1))}.drawer-line{margin:16px 4px 12px;border:0;border-top:1px solid var(--line)}.drawer-line.bottom{margin-top:auto}.row .bubble.heart:before{text-shadow:none}.row .bubble.pung{background:var(--bg);border:1.5px dashed var(--blue)}.pung-line{color:var(--blue)}.confirm{display:flex;flex-direction:column;gap:8px;text-align:center}.confirm p{margin:0 0 6px;font-size:calc(12.5px * var(--fs, 1));color:var(--muted);line-height:1.5}.confirm .sheet-done{margin:0}.sheet-done.danger-fill{background:#ff3b30}.del-cancel{margin:8px 0 0;width:100%;background:var(--bg);color:var(--text)}.selecting .pung-line .link{display:none}.selecting .arrival{pointer-events:none;opacity:.5}.row.pickable{position:relative;padding-left:32px;cursor:pointer}.row.pickable .bubble{pointer-events:none}.row.pickable:before{content:"";position:absolute;left:6px;top:50%;translate:0 -50%;box-sizing:border-box;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--muted);display:grid;place-items:center;font-size:calc(11px * var(--fs, 1));font-weight:800;color:#fff}.row.picked:before{content:"✓";background:var(--blue);border-color:var(--blue)}.sel-bar{margin:8px 12px calc(10px + env(safe-area-inset-bottom,0px));padding:8px;border-radius:18px;background:var(--chip)}.sel-head{display:flex;justify-content:space-between;align-items:center;padding:2px 6px 8px;font-size:calc(11px * var(--fs, 1));font-weight:700}.sel-head .sel-done{margin:0;padding:4px 10px;border-radius:12px;background:var(--blue);color:#fff;font-size:calc(10.5px * var(--fs, 1));font-weight:700}.sel-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sel-acts button{margin:0;padding:8px 4px;border-radius:12px;background:var(--bg);color:var(--text);font-size:calc(10px * var(--fs, 1));font-weight:700;display:flex;flex-direction:column;align-items:center;gap:2px}.sel-acts button b{font-size:calc(14px * var(--fs, 1));line-height:1.2}.sel-acts button.danger{color:#ff3b30}.sel-acts button:disabled{opacity:.4}.confirm-in{box-sizing:border-box;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text);font:inherit;font-size:max(16px,calc(16px * var(--fs, 1)));text-align:center}.confirm-in:focus{outline:none;border-color:var(--blue)}.confirm-help{margin:-4px 0 2px!important;font-size:calc(10px * var(--fs, 1))!important}.confirm-err{margin:0!important;color:#ff3b30!important;font-size:calc(11px * var(--fs, 1))!important;font-weight:600}.confirm-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 6px;padding:12px 14px;border-radius:12px;background:var(--chip);text-align:left;font-size:calc(11px * var(--fs, 1));line-height:1.45}.confirm-list dt{color:var(--muted);font-weight:600}.confirm-list dd{margin:0;color:var(--text);word-break:break-all}.row.date-row{margin:12px 0 2px}.row.date-row .bubble{font-size:calc(12px * var(--fs, 1))}.arrival a.row{color:inherit;text-decoration:none}.arrival .bubble .txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.arrival .bubble .more{display:block;margin-top:3px;font-size:calc(10px * var(--fs, 1));color:var(--blue);text-shadow:none}.sel-head .sel-btns{display:flex;gap:6px}.sel-head .sel-cancel{margin:0;padding:4px 10px;border-radius:12px;background:var(--bg);color:var(--text);font-size:calc(10.5px * var(--fs, 1));font-weight:700}.fchips-years{display:contents}.year-line{margin:6px 2px 0;font-size:calc(11px * var(--fs, 1));font-weight:700;color:var(--muted)}.year-line:first-child{margin-top:0}.fs-steps{display:flex;align-items:center;gap:10px;width:100%}.fs-steps .a{flex:none;color:var(--muted);font-weight:600;line-height:1}.fs-steps .a.s{font-size:11px}.fs-steps .a.l{font-size:19px}.fs-track{position:relative;flex:1;display:flex;justify-content:space-between;align-items:center;height:28px}.fs-track:before{content:"";position:absolute;left:9px;right:9px;top:50%;height:2px;transform:translateY(-50%);background:var(--line)}.fs-track button{position:relative;margin:0;padding:0;width:18px;height:18px;border-radius:50%;border:2px solid var(--line);background:var(--bg);box-shadow:none}.fs-track button.on{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 4px #007aff2e}.fs-head{display:flex;gap:6px;align-items:baseline}.fs-steps .a.s,.fs-steps .a.l{color:var(--muted)}.top-logo,.drawer-logo{cursor:pointer}.edit-bar{display:flex;align-items:center;gap:10px;margin:8px 12px -2px;padding:8px 12px;border-radius:14px;background:var(--chip)}.edit-bar>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.edit-bar b{font-size:calc(10.5px * var(--fs, 1));color:var(--blue)}.edit-bar span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:calc(11px * var(--fs, 1));color:var(--muted)}.edit-bar button{flex:none;margin:0;padding:5px 12px;border-radius:999px;background:var(--bg);color:var(--text);font-size:calc(10.5px * var(--fs, 1));font-weight:700}.lock-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));text-align:center}.lock-ic{width:64px;height:64px;border-radius:15px}.lock-body h2{margin:6px 0 0;font-size:calc(17px * var(--fs, 1))}.lock-desc{margin:0;max-width:320px;white-space:pre-line;color:var(--muted);font-size:calc(11.5px * var(--fs, 1));line-height:1.6}.lock-form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:8px;margin-top:6px}.lock-form .sheet-done{margin:0}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:calc(11px * var(--fs, 1));text-align:left;cursor:pointer}.set-row.toggle-row{font-size:calc(11.5px * var(--fs, 1))}.lock-err{margin:0;color:#ff3b30;font-size:calc(11px * var(--fs, 1));font-weight:600}.lock-link{margin:0;padding:6px;background:none;color:var(--blue);font-size:calc(11px * var(--fs, 1));font-weight:600;box-shadow:none}.lock-key{padding:14px 12px;border-radius:12px;background:var(--chip);color:var(--text);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:calc(15px * var(--fs, 1));font-weight:700;letter-spacing:.5px;word-break:break-all;user-select:all;-webkit-user-select:all}.pw-wrap{position:relative;display:block;width:100%}.pw-wrap .confirm-in{padding-left:44px;padding-right:44px}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin:0;width:36px;height:36px;padding:0;border-radius:10px;display:grid;place-items:center;background:transparent;color:var(--muted);box-shadow:none}.pw-eye:hover,.pw-eye:focus-visible{color:var(--blue)}.bak-acts{display:flex;gap:12px;align-items:center;margin-top:4px;text-shadow:none}.bak-acts a{color:var(--blue);font-size:calc(10.5px * var(--fs, 1));font-weight:600;text-decoration:none}.bak-acts button{margin:0;padding:0;background:none;box-shadow:none;color:var(--muted);font-size:calc(10.5px * var(--fs, 1));font-weight:600}img.emo{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.24em;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.composer .ic img.emo{display:block;width:1.2em;height:1.2em}.sel-acts button b img.emo{width:20px;height:20px}.field-hint{margin:-2px 0 0;font-size:calc(10.5px * var(--fs, 1));color:var(--muted);line-height:1.5;text-align:center}.field-err{margin:-4px 0 0;font-size:calc(10.5px * var(--fs, 1));color:#ff3b30;font-weight:600;text-align:left;padding-left:6px}.key-once{position:relative}.key-once .lock-key{display:block;padding:13px 52px;border-radius:999px;text-align:center}.key-copy{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);box-shadow:none;padding:0}.key-copy:hover,.key-copy:focus-visible{color:var(--blue)}.lock-desc{margin-bottom:6px}.lock-form>.field-hint{margin-top:14px}.sd-av{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tint)}.sd-av img{width:66%;height:66%}.sd-av.sm{width:28px;height:28px}.sd-av.lg{width:56px;height:56px}.sd-av.xl{width:64px;height:64px}.sd-stack{display:inline-flex;flex:none}.sd-stack .sd-av{border:2px solid var(--chip)}.sd-stack .sd-av+.sd-av{margin-left:-10px}.sd-intro{margin:0;padding:12px 14px;border-radius:14px;background:var(--chip);font-size:calc(11px * var(--fs, 1));line-height:1.55}.preview-note{margin:-2px 4px 0;font-size:calc(10px * var(--fs, 1));color:var(--muted)}.sd-row{gap:12px}.sd-row .sd-av{width:40px;height:40px}.sd-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sd-main b{font-size:calc(12.5px * var(--fs, 1));font-weight:600}.sd-main small{color:var(--muted);font-size:calc(10px * var(--fs, 1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-row .chip-btn{flex:none}.sd-n{flex:none;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--blue);color:#fff!important;font-size:calc(11px * var(--fs, 1))!important;font-weight:700;display:grid;place-items:center}.sd-state{flex:none;padding:4px 10px;border-radius:999px;background:var(--bg);font-size:calc(10px * var(--fs, 1))!important;font-weight:600}.sd-state.blue{color:var(--blue)!important}.sd-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 12px}.sd-empty b{font-size:calc(14px * var(--fs, 1))}.sd-empty p{margin:0;font-size:calc(11px * var(--fs, 1));line-height:1.6;color:var(--muted)}.sd-pair{display:flex;gap:8px;margin-bottom:6px}.sd-room{gap:14px}.sd-head{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0 8px;border-bottom:1px solid var(--line)}.sd-head small{color:var(--muted);font-size:calc(10.5px * var(--fs, 1));display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}button.sd-who{margin:0;padding:4px;border-radius:999px;background:transparent;cursor:pointer}.sd-cnt{color:var(--muted);font-weight:400}.sd-members{margin-bottom:8px}.sd-dots{display:inline-flex;gap:3px}.sd-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}.sd-dots i.on{background:var(--blue)}.sd-log{display:flex;flex-direction:column;gap:14px}.sd-msg{display:flex;gap:8px;align-items:flex-start;max-width:85%}.sd-msg>div{display:flex;flex-direction:column;gap:3px;min-width:0}.sd-msg b{font-size:calc(10px * var(--fs, 1));font-weight:600;color:var(--muted)}.sd-msg small{font-size:calc(9.5px * var(--fs, 1));color:var(--muted)}.sd-msg small.blue{color:var(--blue);font-weight:600}.sd-msg .bubble{white-space:pre-wrap}.sd-msg.me{align-self:flex-end;flex-direction:column;align-items:flex-end;gap:3px}.sd-msg .bubble.sd-wait{background:transparent;color:var(--text);border:1.5px dashed var(--blue)}.sd-foot{flex:none}.sd-turn{margin:8px 16px 0;text-align:center;font-size:calc(10.5px * var(--fs, 1));color:var(--blue)}.sd-turn.wait{margin:10px 16px calc(14px + env(safe-area-inset-bottom,0px));color:var(--muted)}.sd-invite{gap:8px}.sd-tabs{align-self:center}.sd-tabs button{padding:7px 26px}.sd-lbl{margin:6px 2px 0;font-size:calc(10.5px * var(--fs, 1));font-weight:600}.sd-lbl small{color:var(--muted);font-weight:400}.sd-check{margin:-2px 4px 0;min-height:1em;font-size:calc(10px * var(--fs, 1))}.sd-check.ok{color:var(--blue)}.sd-check.no{color:#ff9500}.sd-chars{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.sd-chars button{margin:0;padding:2px;border-radius:50%;background:transparent;display:grid;place-items:center}.sd-chars button .sd-av{width:34px;height:34px}.sd-chars button.on{box-shadow:0 0 0 2px var(--blue)}.sd-mail-row{display:flex;gap:6px;align-items:center}.sd-mail-row input{flex:1;min-width:0}.sd-mail-row .chip-btn{flex:none}.sd-mails{display:flex;flex-direction:column;gap:4px}.sd-mails>div{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 4px;border-radius:999px;background:var(--chip);font-size:calc(10.5px * var(--fs, 1))}.sd-mails .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sd-mails em{font-style:normal;font-weight:700;color:var(--blue)}.sd-x{margin:0;width:26px;height:26px;padding:0;border-radius:50%;background:transparent;color:var(--muted);font-size:calc(10px * var(--fs, 1))}.sd-foot .edit-bar{margin-top:8px}.bubble .q{display:block;margin:0 -4px 6px;padding:5px 9px;border-radius:10px;background:#ffffff38;font-size:.86em;line-height:1.35;cursor:pointer}.bubble .q b{display:block;font-size:.9em;opacity:.85}.bubble .q span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bubble.in .q{background:#0000000f}.row .bubble{transition:transform .18s}.row .bubble.swiping{transition:none}.row .bubble.swipe-ok{box-shadow:0 0 0 2px var(--blue)}.sd-msg .bubble{touch-action:pan-y;transition:transform .18s;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.sd-msg .bubble.swiping{transition:none}.sd-msg .bubble.swipe-ok{box-shadow:0 0 0 2px var(--blue)}.sd-msg .bubble.sd-wait .q{background:var(--chip)}.sd-turn small{color:var(--muted)}.sd-turn.sm{margin-top:4px;font-size:calc(9.5px * var(--fs, 1));color:var(--muted)}.press-menu.in{align-items:flex-start}.sd-demo{margin:2px 4px -2px;font-size:calc(9.5px * var(--fs, 1));color:var(--muted)}.applock,.applock-cover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center}.applock-cover{justify-content:center}.applock-cover:after{content:"";width:150px;height:64px;background:url(/brand/bubblog-logo.svg) center / contain no-repeat}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .applock-cover:after{background-image:url(/brand/bubblog-logo-white.svg)}}:root[data-theme=dark] .applock-cover:after{background-image:url(/brand/bubblog-logo-white.svg)}.applock{padding:env(safe-area-inset-top,0px) 24px calc(56px + env(safe-area-inset-bottom,0px));overflow-y:auto}.al-top{flex:1;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 0}.al-bottom{display:flex;flex-direction:column;align-items:center}.applock h2[hidden]{display:none}.applock h2{margin:14px 0 4px;font-size:calc(17px * var(--fs, 1))}.al-desc{margin:0;min-height:1.6em;color:var(--muted);font-size:calc(11.5px * var(--fs, 1));text-align:center}.al-desc.err{color:#ff3b30;font-weight:600}.al-dots{display:flex;gap:16px;margin-top:22px}.al-dots span{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--muted);transition:background .1s}.al-dots span.on{background:var(--blue);border-color:var(--blue)}.applock.bad .al-dots{animation:al-shake .4s}.applock.bad .al-dots span{border-color:#ff3b30}.applock.bad .al-dots span.on{background:#ff3b30}@keyframes al-shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.al-pad{display:grid;grid-template-columns:repeat(3,72px);gap:14px 26px}.al-pad button{width:72px;height:72px;margin:0;padding:0;border-radius:50%;background:var(--chip);color:var(--text);font-size:26px;font-weight:500;box-shadow:none;display:grid;place-items:center}.al-pad button:active{background:var(--line)}.al-pad .al-fn{background:none;color:var(--muted);font-size:calc(13px * var(--fs, 1))}.applock.wait .al-pad button:not(.al-fn){opacity:.35}.al-forgot{margin-top:14px;color:var(--muted);text-decoration:underline}.al-dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end}.al-sheet{width:100%;background:var(--bg);border-radius:18px 18px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom,0px));text-align:left}.al-sheet h3{margin:0 0 6px;font-size:calc(15px * var(--fs, 1))}.al-sheet p{margin:0 0 16px;color:var(--muted);font-size:calc(12px * var(--fs, 1));line-height:1.6}.al-btns{display:flex;gap:8px}.al-btns button{flex:1;margin:0}@media(prefers-reduced-motion:reduce){.applock.bad .al-dots{animation:none}}
