*{box-sizing:border-box}:root{--bg:#fff;--surface:#fff;--surface-soft:#f8f8fa;--surface-hover:#f7f7f9;--text:#484950;--text-secondary:#62646d;--text-muted:#8f919a;--bubble:#f3f3f4;--light-time:#b6b7bd;--reply:#f9f9fb;--reply-text:#8f919a;--border:#ededf0;--border-soft:#f1f1f3;--primary:#c7a3e0;--primary-rgb:199, 163, 224;--primary-light:#f6f1fa;--primary-border:#e8ddf1;--accent-text:#8b6cab;--radius-md:18px;--radius-lg:20px;--radius-xl:24px}[data-theme=dark]{--bg:#17181b;--surface:#202127;--surface-soft:#26282e;--surface-hover:#2d3037;--text:#cacbd0;--text-secondary:#a7a9b1;--text-muted:#7c7e88;--border:#333640;--border-soft:#26282e;--primary:#c7a3e0;--primary-rgb:199, 163, 224;--primary-light:#c7a3e024;--primary-border:#c7a3e047;--accent-text:#d9b7ef;--chat-bubble:#36383f;--chat-reply:#26282e;--chat-name:#7c7e88;--chat-time:#575a63;--icon:#e6e8ee}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}body{overflow-x:hidden}a{color:inherit}.page{background:var(--bg);min-height:100vh}.mobileFrame{background:var(--bg);width:min(430px,100%);min-height:100vh;margin:0 auto}.pageInner{width:100%;padding:36px 16px 60px}.pageTitle{letter-spacing:-.05em;color:var(--text);margin:0 0 18px;font-size:17px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.sectionCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:12px}.sectionTitle{align-items:center;gap:4px;margin-bottom:12px;display:inline-flex}.sectionTitle h2,.sectionTitle span{color:var(--text);letter-spacing:-.04em;margin:0;font-size:13px;font-weight:700}.siteNav{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;position:fixed}[data-theme=dark] .siteNav{background:#17181be0}.siteNavLogo{color:var(--text);align-items:center;gap:8px;text-decoration:none;display:flex}.siteNavLogo span{font-size:18px;line-height:1}.siteNavLogo strong{letter-spacing:-.04em;font-size:14px;font-weight:600}.siteNavItems{display:flex}.siteNavItem{color:var(--text-muted);align-items:center;text-decoration:none;display:flex;position:relative}.siteNavItem svg{stroke-width:1.9px;flex-shrink:0}.siteNavItem.isActive{color:var(--accent-text);font-weight:600}@media (min-width:1300px){.siteNav{border-right:1px solid var(--border-soft);width:224px;height:100dvh;padding:24px 18px;top:0;left:0}.siteNavLogo{height:38px;margin-bottom:28px}.siteNavItems{flex-direction:column;gap:7px}.siteNavItem{letter-spacing:-.03em;border-radius:15px;gap:11px;height:42px;padding:0 13px;font-size:13px;font-weight:400}.siteNavItem svg{width:19px;height:19px}.siteNavItem.isActive{background:rgba(var(--primary-rgb), .1)}}@media (min-width:700px) and (max-width:1299px){.page{padding-left:72px}.siteNav{border-right:1px solid var(--border-soft);width:72px;height:100dvh;padding:20px 12px;top:0;left:0}.siteNavLogo{justify-content:center;width:48px;height:38px;margin-bottom:24px}.siteNavLogo strong{display:none}.siteNavItems{flex-direction:column;align-items:center;gap:8px}.siteNavItem{border-radius:16px;justify-content:center;width:46px;height:46px}.siteNavItem span{display:none}.siteNavItem svg{width:20px;height:20px}.siteNavItem.isActive{background:rgba(var(--primary-rgb), .1)}}@media (max-width:699px){.mobileFrame{padding-bottom:50px}.siteNav{height:calc(64px + env(safe-area-inset-bottom));padding:0 max(18px, env(safe-area-inset-left)) env(safe-area-inset-bottom) max(18px, env(safe-area-inset-right));border-top:1px solid var(--border-soft);justify-content:center;align-items:center;display:flex;bottom:0;left:0;right:0}.siteNavLogo{display:none}.siteNavItems{grid-template-columns:repeat(5,1fr);width:min(430px,100%);height:64px;display:grid}.siteNavItem{color:var(--text-muted);justify-content:center}.siteNavItem span{display:none}.siteNavItem svg{width:21px;height:21px}.siteNavItem.isActive{color:var(--accent-text)}.siteNavItem[href=\/setting]{display:none}}.filterToolbar,.compactHeader,.voiceCompactHeader{justify-content:space-between;align-items:center;height:34px;margin-bottom:10px;display:flex}.filterToolbarCount,.compactHeader span,.voiceCompactHeader h2{color:var(--text-muted);letter-spacing:-.02em;margin:0;font-size:11px;font-weight:400}.filterToolbarActions,.compactActions,.voiceCompactActions{align-items:center;gap:7px;display:flex}.filterSortButton,.sortPill,.voiceSortPill{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:0 11px;font-size:12px;font-weight:400;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.filterSortButton:hover,.sortPill:hover,.voiceSortPill:hover{background:var(--surface-soft)}.filterButton,.filterIconButton,.archiveFilterIcon,.voiceFilterIcon{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;transition:transform .16s,background-color .16s,border-color .16s,color .16s;display:grid;position:relative}.filterButton:hover,.filterIconButton:hover,.archiveFilterIcon:hover,.voiceFilterIcon:hover{background:var(--surface-soft)}.filterButton.isActive,.filterIconButton.isActive,.archiveFilterIcon.isActive,.archiveFilterIcon.isOpen,.archiveFilterIcon.hasFilter,.voiceFilterIcon.isActive{background:var(--primary-light);border-color:var(--primary-border);color:var(--accent-text)}.filterButton svg,.filterIconButton svg,.archiveFilterIcon svg,.voiceFilterIcon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.filterFrame{opacity:0;grid-template-rows:0fr;margin-bottom:0;transition:grid-template-rows .26s cubic-bezier(.22,1,.36,1),opacity .18s,margin-bottom .26s cubic-bezier(.22,1,.36,1);display:grid}.filterFrame.isOpen{opacity:1;grid-template-rows:1fr;margin-bottom:13px}.filterFrameInner{min-height:0;overflow:hidden}.filterPanel,.chipPanel,.archiveChipPanel,.voiceChipPanel{border-radius:var(--radius-md);background:var(--surface-soft);padding:12px}.filterChipGroup,.chipGroup,.archiveChipGroup,.voiceChipGroup{flex-wrap:wrap;gap:6px;display:flex}.filterChipGroup+.filterChipGroup,.chipGroup+.chipGroup,.archiveChipGroup+.archiveChipGroup,.voiceChipGroup+.voiceChipGroup{margin-top:8px}.filterChip,.filterChipGroup button,.chipGroup button,.archiveChipGroup button,.voiceChipGroup button{border:1px solid var(--border);background:var(--surface);height:29px;color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:0 10px;font-size:11px;font-weight:400;transition:background-color .16s,border-color .16s,color .16s}.filterChip:hover,.filterChipGroup button:hover,.chipGroup button:hover,.archiveChipGroup button:hover,.voiceChipGroup button:hover{background:var(--surface-hover)}.filterChip.isActive,.filterChipGroup button.isActive,.chipGroup button.isActive,.archiveChipGroup button.isActive,.voiceChipGroup button.isActive{border-color:var(--primary-border);background:var(--primary-light);color:var(--accent-text)}.filterResetButton,.resetFilterButton,.archiveResetButton,.voiceResetButton{border:1px solid var(--border);background:var(--surface);width:100%;height:31px;color:var(--text-secondary);cursor:pointer;border-radius:12px;margin-top:9px;font-size:11px;font-weight:400;transition:background-color .16s,border-color .16s,color .16s}.filterResetButton:hover,.resetFilterButton:hover,.archiveResetButton:hover,.voiceResetButton:hover{background:var(--primary-light);border-color:var(--primary-border);color:var(--accent-text)}.skeleton{background:var(--surface-soft);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb3,#0000);animation:1.25s infinite skeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff14,#0000)}@keyframes skeletonShimmer{to{transform:translate(100%)}}.basicLoading{place-items:center;min-height:100vh;display:grid}.basicLoadingDots{gap:6px;display:flex}.basicLoadingDots span{background:var(--primary);border-radius:50%;width:6px;height:6px;animation:1s infinite basicLoadingDot}.basicLoadingDots span:nth-child(2){animation-delay:.15s}.basicLoadingDots span:nth-child(3){animation-delay:.3s}@keyframes basicLoadingDot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.pageSkeletonTitle{border-radius:8px;width:96px;height:20px;margin-bottom:18px}.pageSkeletonLine{border-radius:999px;width:100%;height:12px;margin-top:10px}.pageSkeletonLine.short,.skeletonLine.short{width:56%}.skeletonToolbar{align-items:center;gap:7px;height:34px;margin-bottom:12px;display:flex}.skeletonToolbar .skeletonText{border-radius:999px;width:42px;height:11px;margin-right:auto}.skeletonPill{border-radius:999px;width:58px;height:30px}.skeletonCircle{border-radius:50%;width:30px;height:30px}.skeletonGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.skeletonCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:10px}.skeletonThumb{aspect-ratio:1;background:var(--surface);border-radius:14px;margin-bottom:10px}.skeletonLine{border-radius:999px;height:10px;margin-top:7px}.gallerySkeletonGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.gallerySkeletonItem{aspect-ratio:1;border-radius:14px}.voiceSkeletonGrid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.voiceSkeletonCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:11px 10px 10px}.voiceSkeletonBubble{border-radius:0 18px 18px;width:100%;height:38px;margin-top:8px}.chatSkeletonDate{border-radius:999px;width:92px;height:28px;margin:5px auto 18px}.chatSkeletonMessage{gap:8px;margin:13px 0;display:flex}.chatSkeletonAvatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.chatSkeletonBody{flex:1;min-width:0}.chatSkeletonName{border-radius:999px;width:42px;height:10px;margin-bottom:7px}.chatSkeletonBubble{border-radius:0 18px 18px;width:170px;height:38px}.chatSkeletonBubble.short{width:112px}.chatSkeletonBubble.long{width:226px;height:54px}@media (max-width:420px){.chatSkeletonBubble.long{width:min(226px,100vw - 128px)}}.notFoundPage{flex-direction:column;min-height:100vh;padding:18px 16px 80px;display:flex}.notFoundTop{align-items:center;height:38px;display:flex}.notFoundBack{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);border-radius:50%;place-items:center;text-decoration:none;display:grid}.notFoundBack svg{fill:none}.notFoundCard{text-align:center;border-radius:24px;margin:auto 0;padding:34px 22px 28px}.notFoundCode{background:var(--surface-soft);width:fit-content;height:28px;color:var(--text-muted);letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;margin:0 auto 15px;padding:0 12px;font-size:11px;font-weight:500;display:inline-flex}.notFoundPage h1{color:var(--text);letter-spacing:-.05em;margin:0 0 10px;font-size:18px;font-weight:600}.notFoundPage p{color:var(--text-muted);letter-spacing:-.02em;margin:0;font-size:13px;font-weight:400;line-height:1.65}.notFoundLinks{justify-content:center;gap:8px;margin-top:24px;display:flex}.notFoundLinks a{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-secondary);letter-spacing:-.02em;border-radius:999px;align-items:center;gap:5px;padding:0 13px;font-size:12px;font-weight:400;text-decoration:none;display:inline-flex}.notFoundLinks a svg{fill:none;flex-shrink:0}.notFoundLinks a:first-child{background:var(--primary-light);border-color:var(--primary-border);color:var(--accent-text)}.chatDateEmptyLinks{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.chatDateEmptyLinks a{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text-secondary);letter-spacing:-.02em;border-radius:999px;align-items:center;gap:5px;padding:0 13px;font-size:12px;font-weight:400;text-decoration:none;display:inline-flex}.chatDateEmptyLinks a:first-child{background:var(--primary-light);border-color:var(--primary-border);color:var(--accent-text)}.loadMoreButton{border:1px solid var(--border);background:var(--surface);width:100%;height:42px;color:var(--text-secondary);cursor:pointer;border-radius:14px;margin-top:14px;font-size:12px;font-weight:400}.emptyStateText{text-align:center;color:var(--text-muted);margin:24px 0 0;font-size:12px;font-weight:400}.appToast{left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:500;background:var(--primary);color:#fff;will-change:transform, opacity;white-space:nowrap;border-radius:999px;padding:10px 14px;font-size:11.5px;font-weight:400;animation:.24s cubic-bezier(.22,1,.36,1) both appToastIn;position:fixed;transform:translate(-50%)}.appToast.isClosing{animation:.24s cubic-bezier(.4,0,.2,1) forwards appToastOut}@keyframes appToastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes appToastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,12px)}}.scrollTopButton{z-index:50;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;opacity:0;pointer-events:none;background:#ffffffc7;border-radius:50%;place-items:center;transition:opacity .22s,transform .22s,bottom .26s;display:grid;position:fixed;bottom:20px;right:calc(50vw - min(430px,100vw)/2 + 14px);transform:translateY(10px)scale(.96)}[data-theme=dark] .scrollTopButton{background:#202127c7}.scrollTopButton.isVisible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scrollTopButton svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}@media (max-width:699px){.scrollTopButton{right:14px;bottom:calc(var(--mobile-nav-offset,76px) + env(safe-area-inset-bottom))}.pageInner{padding:36px 16px 20px}}.profileImageTrigger{cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;margin:0;padding:0;display:block;overflow:hidden}.profileImageTrigger img{object-fit:cover;width:100%;height:100%;display:block}.profileImageOverlay{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b8;place-items:center;padding:24px;animation:.18s ease-out profileOverlayIn;display:grid;position:fixed;inset:0}.profileImageViewer{flex-direction:column;align-items:center;gap:18px;width:min(320px,82vw);animation:.22s cubic-bezier(.22,1,.36,1) profileViewerIn;display:flex;position:relative}.profileImageLarge{object-fit:cover;background:var(--surface);border-radius:50%;width:min(280px,72vw);height:min(280px,72vw);box-shadow:0 18px 60px #00000059}.profileImageClose{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:-44px;right:0}.profileImageClose svg{width:18px;height:18px}.profileImageDownload{color:#111;cursor:pointer;background:#fff;border:0;border-radius:999px;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.profileImageDownload svg{width:15px;height:15px}@keyframes profileOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes profileViewerIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
.homeHero{margin-bottom:25px}.homeWelcome{flex-direction:column;gap:12px;display:flex}.homeMessage{opacity:0;gap:8px;animation:.52s forwards homeMessageUp;display:flex;transform:translateY(10px)}.homeMessage:nth-child(2){animation-delay:.18s}@keyframes homeMessageUp{to{opacity:1;transform:translateY(0)}}.homeMessage .profileImageTrigger{flex-shrink:0;width:38px;height:38px}.homeMessage img{object-fit:cover;border-radius:50%;flex-shrink:0;width:38px;height:38px}.homeMessage span{color:var(--text-muted);margin:0 0 5px;font-size:11px;font-weight:400;display:block}[data-theme=dark] .homeMessage span{color:var(--chat-name)}.homeMessage p{background:var(--bubble);width:fit-content;max-width:270px;color:var(--text);letter-spacing:-.025em;border-radius:0 18px 18px;margin:0;padding:10px 13px;font-size:13px;font-weight:400;line-height:1.45}[data-theme=dark] .homeMessage p{background:var(--chat-bubble);color:var(--text)}.homeDaysCard{justify-content:space-between;align-items:center;height:44px;margin-bottom:20px;display:flex}.homeDaysCard span{color:var(--text-secondary);font-size:12px;font-weight:400}.homeDaysCard strong{color:#c7a3e0;align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.homeDaysCard svg{fill:currentColor;width:13px;height:13px}.homeNoticeCard,.homeSameDayCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:12px}.homeNoticeCard{padding:16px 17px}.homeSameDayCard{padding:14px}.homeQuickRow{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.homeQuickNickname{border:1px solid var(--border);background:var(--surface);min-width:0;height:38px;color:var(--text-secondary);text-align:left;cursor:pointer;border-radius:999px;flex:1;padding:0 14px;font-size:12px;font-weight:400}.homeQuickNickname:hover{background:var(--surface-soft)}.homeQuickTheme{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;transition:background-color .16s,border-color .16s,transform .16s;display:grid}.homeQuickTheme svg{width:16px;height:16px;color:var(--text-muted)}.homeQuickEditor{transform-origin:top;gap:8px;margin-bottom:12px;animation:.22s ease-out homeQuickEditorIn;display:flex;overflow:hidden}.homeQuickEditor input{border:1px solid var(--border);background:var(--surface);min-width:0;height:38px;color:var(--text);border-radius:12px;outline:none;flex:1;padding:0 12px;font-size:12px}.homeQuickEditor button{border:1px solid var(--primary-border);background:var(--primary-light);width:58px;color:var(--accent-text);border-radius:12px;font-size:12px;font-weight:500}.homeSectionTitle{align-items:center;gap:4px;margin-bottom:12px;display:inline-flex}.homeSectionTitle h2,.homeSectionTitle span,.homeInfoModal h2{color:var(--text);letter-spacing:-.04em;margin:0;font-size:13px;font-weight:700}.homeInfoModal h2{margin-bottom:12px}.homeNoticeBody{flex-direction:column;gap:7px;display:flex}.homeNoticeLine{align-items:baseline;gap:12px;display:flex}.homeNoticeLine p{min-width:0;color:var(--text-secondary);letter-spacing:-.025em;margin:0;font-size:13px;font-weight:400;line-height:1.55}.homeNoticeLine strong{color:var(--text);font-weight:500}.homeNoticeWarning{border-top:1px solid var(--border-soft);margin-top:3px;padding-top:9px}.homeNoticeWarning p{color:#8f9199;font-size:10.5px}.homeNoticeWarning strong{color:#8f9199;font-weight:400}.homeNoticeLine a{text-decoration:underline;transition:opacity .18s,color .18s}.homeNoticeLine a:hover{opacity:.75}.homeNoticeLine a:active{opacity:.6}.homeSameDayHead{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.homeSameDayHead>strong{color:var(--text-muted);font-size:11px;font-weight:600}.homeInfoButton{width:16px;height:16px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.homeSameDayList{flex-direction:column;gap:8px;display:flex}.homeSameDayItem{background:var(--surface-soft);border-radius:16px;align-items:center;gap:10px;min-height:58px;padding:8px;text-decoration:none;display:flex}.homeSameDayItem img,.homeSameDayEmpty{object-fit:cover;background:#f1f1f4;border-radius:13px;flex-shrink:0;width:42px;height:42px}[data-theme=dark] .homeSameDayEmpty{background:var(--surface)}.homeSameDayEmpty{place-items:center;display:grid}.homeSameDayEmpty span{color:var(--text-muted);font-size:10px}.homeSameDayItem div{min-width:0}.homeSameDayItem strong{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.homeSameDayItem p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;font-weight:400;overflow:hidden}.homeInfoOverlay{z-index:300;background:#00000057;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.homeInfoModal{border-radius:var(--radius-xl);background:var(--surface);width:min(360px,100%);padding:22px 20px 20px;position:relative;box-shadow:0 18px 50px #14141e24}.homeInfoClose{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:14px;right:14px}.homeInfoClose svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.homeInfoModal p{color:var(--text-secondary);letter-spacing:-.025em;margin:0;font-size:12px;font-weight:400;line-height:1.65}.homeQuickEditor button:disabled{opacity:.55;cursor:default}@keyframes homeQuickEditorIn{0%{opacity:0;transform:translateY(-8px)scaleY(.92)}to{opacity:1;transform:translateY(0)scaleY(1)}}.homeQuickEditor.isClosing{animation:.18s ease-in forwards homeQuickEditorOut}@keyframes homeQuickEditorOut{0%{opacity:1;transform:translateY(0)scaleY(1)}to{opacity:0;transform:translateY(-6px)scaleY(.92)}}
.chatPage,.chatDetail{background:var(--bg);min-height:100vh}.chatScreen{padding:18px 15px 34px}.dateDivider{justify-content:center;margin:5px 0;display:flex}.dateDivider span{background:var(--surface-soft);color:var(--text-muted);letter-spacing:-.01em;border-radius:999px;padding:7px 15px;font-size:11px;font-weight:400}[data-theme=dark] .dateDivider span{background:var(--chat-reply);color:var(--chat-name)}.messageItem{gap:8px;margin:13px 0;scroll-margin-top:18px;display:flex}.avatar{border-radius:50%;flex-shrink:0;width:38px;height:38px;overflow:hidden}.avatar .profileImageTrigger{width:100%;height:100%}.avatar img{object-fit:cover;width:100%;height:100%}.messageBody{flex:1;min-width:0}.senderName{color:var(--text-muted);margin:0 0 5px;font-size:11px;font-weight:400;line-height:1.2}[data-theme=dark] .senderName{color:var(--chat-name)}.messageRow{align-items:flex-end;gap:6px;display:flex}.textBubble{background:var(--bubble);max-width:240px;color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:0 18px 18px;padding:10px 13px;font-size:13px;font-weight:400;line-height:1.45}[data-theme=dark] .textBubble{background:var(--chat-bubble);color:var(--text)}.messageTime{color:var(--light-time);white-space:nowrap;flex:none;padding-bottom:3px;font-size:11px;font-weight:400}[data-theme=dark] .messageTime{color:var(--chat-time)}.replyPreview{gap:7px;max-width:240px;margin-bottom:5px;display:flex}.replyPreview i{background:var(--reply);border-radius:999px;flex-shrink:0;width:3px}[data-theme=dark] .replyPreview i{background:var(--chat-reply)}.replyPreview p{background:var(--reply);color:var(--reply-text);border-radius:15px;margin:0;padding:9px 12px;font-size:11px;font-weight:400;line-height:1.4}[data-theme=dark] .replyPreview p{background:var(--chat-reply);color:var(--chat-name)}.replyPreview p.hasEmoticon{align-items:center;gap:6px;display:inline-flex}.replyPreview p span{min-width:0}.replyPreviewEmoticon{object-fit:contain;flex-shrink:0;width:30px;height:30px}.chatMediaButton{cursor:pointer;background:0 0;border:0;border-radius:18px;width:fit-content;max-width:calc(100vw - 128px);padding:0;display:block;position:relative}.mediaCard{object-fit:cover;background:0 0;border-radius:18px;width:auto;max-width:min(240px,100vw - 128px);max-height:340px;display:block}.emoticonImage{object-fit:contain;width:128px;max-height:128px;display:block}.chatVideoOverlay{border-radius:inherit;color:#fff;background:#00000024;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.chatVideoPlay{color:#fff;filter:drop-shadow(0 1px 8px #00000059);place-items:center;width:30px;height:30px;display:grid;transform:translateY(-5px)}.chatVideoOverlay em{text-shadow:0 1px 8px #00000059;font-size:11px;font-style:normal;font-weight:500;position:absolute;top:calc(50% + 12px);left:50%;transform:translate(-50%)}.chatVideoPlay svg{fill:currentColor;width:28px;height:28px}.dayGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.dayCard{color:inherit;text-decoration:none;overflow:hidden}.dayCard *{text-decoration:none}.dayThumb{aspect-ratio:1;background:var(--surface-soft);position:relative;overflow:hidden}.dayThumb img{object-fit:cover;width:100%;height:100%;display:block}.dayEmpty{background:var(--surface-soft);place-items:center;width:100%;height:100%;display:grid}.dayEmpty span{color:var(--text-muted);letter-spacing:-.05em;font-size:18px}.dayHover{color:#fff;opacity:0;background:#00000061;flex-direction:column;justify-content:flex-end;padding:12px;transition:opacity .16s;display:flex;position:absolute;inset:0}.dayCard:hover .dayHover{opacity:1}.dayHover strong{font-size:12px;font-weight:500}.dayHover span{opacity:.82;margin-top:3px;font-size:10px;font-weight:300}.dayInfo{padding:10px 11px 11px}.dayInfo strong{color:var(--text);letter-spacing:-.03em;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.dayInfo span{color:var(--text-muted);letter-spacing:-.02em;font-size:11px;font-weight:400;line-height:1.35;display:block}.dayNav{justify-content:space-between;gap:8px;padding:0 14px 70px;display:flex}@media (max-width:699px){.dayNav{padding-bottom:50px}}.dayNavCard{border:1px solid var(--border);background:var(--surface);min-width:0;height:38px;color:inherit;border-radius:999px;align-items:center;gap:5px;padding:0 12px;text-decoration:none;display:inline-flex}.dayNavCard strong{color:var(--text-secondary);letter-spacing:-.02em;white-space:nowrap;font-size:11px;font-weight:400}.dayNavCard svg{fill:none;width:15px;height:15px;stroke:var(--text-muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[data-theme=dark] .dayNavCard svg{stroke:var(--icon)}.dayNavCard.next{margin-left:auto}.messageItem.isTargetMessage .textBubble,.messageItem.isTargetMessage .voiceBubble,.messageItem.isTargetMessage .emoticonImage{animation:2.2s targetMessageGlow}.messageItem.isTargetMessage .chatMediaButton{animation:2.2s targetMediaGlow}@keyframes targetMessageGlow{0%{background-color:rgba(var(--primary-rgb), .22);box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0)}45%{box-shadow:0 0 0 5px rgba(var(--primary-rgb), .16)}to{box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0)}}@keyframes targetMediaGlow{0%{box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0);filter:brightness(1.04)}45%{box-shadow:0 0 0 5px rgba(var(--primary-rgb), .24);filter:brightness(1.04)}to{box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0);filter:brightness()}}
.galleryGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.galleryItem{aspect-ratio:1;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;padding:0;position:relative;overflow:hidden}.galleryItem img{z-index:1;object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .18s;position:relative}.galleryPlay{z-index:2;color:#fff;background:#0000002e;place-items:center;display:grid;position:absolute;inset:0}.galleryPlay span{place-items:center;width:26px;height:26px;display:grid}.galleryPlay span svg{fill:currentColor;width:22px;height:22px}.galleryPlay em{font-size:10px;font-style:normal;font-weight:400;position:absolute;bottom:7px;right:8px}.viewerOverlay{z-index:9999;background:var(--bg);justify-content:center;display:flex;position:fixed;inset:0}.viewerShell{flex-direction:column;width:min(430px,100%);height:100dvh;display:flex}.viewerHeader{background:var(--surface);justify-content:space-between;align-items:flex-start;padding:14px 13px;display:flex}.viewerHeaderActions{gap:8px;display:flex}.viewerIconBtn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;text-decoration:none;display:grid}.viewerIconBtn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.viewerBody{flex:1;overflow:hidden}.viewerObject{object-fit:contain;width:100%;height:100%}.viewerFooter{background:var(--surface);border-top:1px solid var(--border);padding:14px 18px}.viewerFooter strong{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.viewerFooter span{color:var(--text-muted);font-size:11px;font-weight:400;display:block}.galleryItem:before{content:"";z-index:0;background:linear-gradient(90deg, var(--surface-soft), var(--surface), var(--surface-soft));background-size:200% 100%;animation:1.25s infinite skeletonShimmer;position:absolute;inset:0}.galleryItem img.isLoaded{opacity:1}.galleryItem:has(img.isLoaded):before{display:none}.viewerBody{position:relative}.viewerObject.isLoading{opacity:0}.viewerObject.isLoaded{opacity:1}.viewerInlineLoader{z-index:5;pointer-events:none;gap:6px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewerInlineLoader span{background:var(--primary);border-radius:50%;width:6px;height:6px;animation:1s infinite viewerDotJump}.viewerInlineLoader span:nth-child(2){animation-delay:.15s}.viewerInlineLoader span:nth-child(3){animation-delay:.3s}@keyframes viewerDotJump{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}
.voiceCompactHeader{justify-content:space-between;align-items:center;height:34px;margin-bottom:12px;display:flex}.voiceCompactActions{align-items:center;gap:7px;display:flex}.voiceSortPill{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:0 11px;font-size:12px;font-weight:400}.voiceGrid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.voiceMiniCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;padding:11px 10px 10px}.voiceMiniTop{justify-content:space-between;align-items:center;gap:6px;min-width:0;margin-bottom:8px;display:flex}.voiceMiniTop span{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;font-weight:400;overflow:hidden}.voiceMiniActions{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.voiceActionLink{background:var(--surface-soft);width:23px;height:23px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;text-decoration:none;display:grid}[data-theme=dark] .voiceActionLink{background:var(--chat-reply);color:var(--icon)}.voiceActionLink svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.voiceBubble{background:var(--bubble);width:fit-content;min-width:112px;max-width:160px;height:38px;color:var(--text);box-sizing:border-box;border-radius:0 19px 19px;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 12px 0 10px;transition:background-color .14s,color .14s,opacity .14s;display:inline-flex}[data-theme=dark] .voiceBubble{background:var(--chat-bubble);color:var(--text)}.voiceMiniCard .voiceBubble{width:100%;min-width:0;max-width:none}.voiceBubble.isPlaying,[data-theme=dark] .voiceBubble.isPlaying{background:rgba(var(--primary-rgb), .14);color:var(--accent-text)}.voiceBubble.isLoading{opacity:.82}.voiceButton{color:currentColor;cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;width:26px;height:26px;padding:0;display:grid}.voiceButton svg{fill:currentColor;width:16px;display:block}.voiceDuration{text-align:right;letter-spacing:-.03em;font-variant-numeric:tabular-nums;min-width:38px;font-size:14px;font-weight:400;line-height:1}[data-theme=dark] .voiceDuration{color:var(--text)}
.searchBox{border:1px solid var(--border);background:var(--surface-soft);height:46px;color:var(--text-muted);border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:0 13px;display:flex}.searchBox input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:13px;font-weight:400}.searchBox input::placeholder{color:var(--text-muted)}.searchBox button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.recentSearch{margin-bottom:16px}.recentSearchHead{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.recentSearchHead span{color:var(--text-muted);font-size:11px;font-weight:400}.recentSearchHead button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:400}.recentSearchList{flex-wrap:wrap;gap:6px;display:flex}.recentSearchList button{border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:0 11px;font-size:12px;font-weight:400}.searchCount{color:var(--text-muted);margin:0 0 11px;font-size:11px;font-weight:400}.searchResultList{flex-direction:column;gap:8px;display:flex}.searchResultItem{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:13px 14px;text-decoration:none}.searchResultItem span{color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:400;display:block}.searchResultItem p{color:var(--text);word-break:break-word;margin:0;font-size:13px;font-weight:400;line-height:1.5}.searchResultItem mark{background:rgba(var(--primary-rgb), .14);color:var(--accent-text);border-radius:4px;padding:0 2px}.searchReplyPreview{background:var(--surface-soft);color:var(--text-muted);border-radius:13px;margin-bottom:8px;padding:8px 10px}.searchReplyPreview span{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.searchReplyPreview p{margin:0;font-size:11px;line-height:1.45}
.mediaTabs{gap:8px;margin-bottom:16px;display:flex}.mediaTabs button{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:0 14px;font-size:12px;font-weight:400;transition:background-color .14s,border-color .14s,color .14s,transform .14s}.mediaTabs button:hover{background:var(--surface-soft)}.mediaTabs button.isActive{background:var(--primary-light);border-color:var(--primary-border);color:var(--accent-text)}
.settingList{flex-direction:column;gap:12px;display:flex}.settingCard{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:16px}.settingHead{color:var(--text);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.settingHead svg{width:16px;height:16px}.settingCard p{color:var(--text-muted);margin:0 0 12px;font-size:11px;line-height:1.5}.settingCard input{border:1px solid var(--border);background:var(--surface);border-radius:12px;outline:none;width:100%;height:38px;padding:0 12px;font-size:12px}.settingSwitch{background:var(--surface-soft);cursor:pointer;border:0;border-radius:999px;width:46px;height:26px;padding:3px;transition:background-color .15s;position:relative}.settingSwitch i{background:var(--surface);border-radius:50%;width:20px;height:20px;transition:transform .15s;display:block}.settingSwitch.isActive{background:var(--text)}.settingSwitch.isActive i{transform:translate(20px)}.settingNicknameForm{gap:8px;display:flex}.settingNicknameForm input{flex:1;min-width:0}.settingNicknameForm button{background:var(--primary-light);width:56px;height:38px;color:var(--accent-text);cursor:pointer;border:0;border-radius:12px;font-size:11px;font-weight:500}.settingNicknameForm button:disabled{background:var(--surface-soft);color:var(--text-muted);cursor:default}.appToast{left:50%;bottom:calc(82px + env(safe-area-inset-bottom));z-index:500;background:var(--primary);color:var(--surface);white-space:nowrap;border-radius:999px;padding:10px 14px;font-size:11.5px;font-weight:400;animation:.18s ease-out appToastIn;position:fixed;transform:translate(-50%)}@keyframes appToastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}
