*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#app{width:100%;height:100%}.message-list-page[data-v-312bc725]{background-color:#f5f5f5;flex-direction:column;width:100%;max-width:414px;height:100vh;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.header[data-v-312bc725]{text-align:center;background-color:#07c160;flex-shrink:0;padding:15px 20px}.header-title[data-v-312bc725]{color:#fff;font-size:18px;font-weight:600}.message-list[data-v-312bc725]{background-color:#fff;flex:1;overflow-y:auto}.message-item[data-v-312bc725]{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;padding:15px 20px;transition:background-color .2s;display:flex}.message-item[data-v-312bc725]:hover{background-color:#f8f8f8}.message-item[data-v-312bc725]:active{background-color:#f0f0f0}.item-avatar[data-v-312bc725]{flex-shrink:0;margin-right:12px}.avatar-icon[data-v-312bc725]{border-radius:6px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.item-content[data-v-312bc725]{flex:1;min-width:0}.content-header[data-v-312bc725]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.item-name[data-v-312bc725]{color:#333;font-size:16px;font-weight:500}.content-preview[data-v-312bc725]{overflow:hidden}.preview-text[data-v-312bc725]{color:#666;white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.message-list[data-v-312bc725]::-webkit-scrollbar{width:4px}.message-list[data-v-312bc725]::-webkit-scrollbar-track{background:0 0}.message-list[data-v-312bc725]::-webkit-scrollbar-thumb{background-color:#0003;border-radius:2px}.chat-room[data-v-ffaf2bf5]{background-color:#ededed;flex-direction:column;width:100%;max-width:414px;height:100vh;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.header[data-v-ffaf2bf5]{background-color:#07c160;flex-shrink:0;align-items:center;padding:12px 15px;display:flex}.header-info[data-v-ffaf2bf5]{text-align:center;flex:1}.online-status[data-v-ffaf2bf5]{color:#fffc;font-size:12px}.online-status.online[data-v-ffaf2bf5]{color:#fff}.online-status[data-v-ffaf2bf5]:before{content:"";background-color:#ffffff80;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.online-status.online[data-v-ffaf2bf5]:before{background-color:#fff}.back-button[data-v-ffaf2bf5]{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.back-button[data-v-ffaf2bf5]:hover{opacity:.8}.message-container[data-v-ffaf2bf5]{background-color:#f5f5f5;flex:1;padding:15px;overflow-y:auto}.message-list[data-v-ffaf2bf5]{flex-direction:column;gap:12px;display:flex}.message-item[data-v-ffaf2bf5]{justify-content:flex-end;display:flex}.message-bubble[data-v-ffaf2bf5]{word-wrap:break-word;background-color:#95ec69;border-radius:8px;max-width:70%;padding:10px 14px;box-shadow:0 1px 2px #0000001a}.message-text[data-v-ffaf2bf5]{color:#000;font-size:15px;line-height:1.5}.message-container[data-v-ffaf2bf5]::-webkit-scrollbar{width:4px}.message-container[data-v-ffaf2bf5]::-webkit-scrollbar-track{background:0 0}.message-container[data-v-ffaf2bf5]::-webkit-scrollbar-thumb{background-color:#0003;border-radius:2px}.love-balloon-page{background:linear-gradient(#f3e5f5 0%,#e0f7fa 100%);width:100vw;height:100vh;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;position:fixed;top:0;left:0;overflow:hidden}.back-button{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 2px 12px #0000001a}.back-button:hover{transform:scale(1.1)}.music-toggle{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fffc;border:none;border-radius:50%;width:48px;height:48px;font-size:22px;transition:transform .2s;position:fixed;bottom:24px;right:24px;box-shadow:0 2px 12px #0000001a}.music-toggle:hover{transform:scale(1.1)}.confetti-canvas{pointer-events:none;z-index:100;width:100vw;height:100vh;position:fixed;top:0;left:0}.stage{width:100%;height:100%;position:absolute;top:0;left:0}.card-stage:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 50% 120%,#ffb6c126 0%,#0000 60%),radial-gradient(at 30% 80%,#9370db1a 0%,#0000 50%),radial-gradient(at 70% 90%,#6495ed14 0%,#0000 50%);position:absolute;inset:0}.center-title{letter-spacing:.12em;color:#ff69b4b3;text-shadow:0 2px 10px #ff69b42e;opacity:0;pointer-events:none;z-index:10;font-size:clamp(18px,4vmin,28px);font-weight:800;transition:opacity 1.2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-title.visible{opacity:.95}@keyframes flight{0%{opacity:0;transform:translate(-50%, -50%) translate(var(--dx), var(--dy)) scale(.75) rotate(var(--rot))}18%{opacity:1}45%{transform:translate(-50%, -50%) translate(calc(var(--dx) * .2), calc(var(--dy) * .2)) scale(1.06)}70%{transform:translate(-50%, -50%) translate(calc(var(--dx) * 1.15), calc(var(--dy) * 1.15)) scale(.95) rotate(var(--rot))}88%{transform:translate(-50%, -50%) translate(calc(var(--heart-x) * .6), calc(var(--heart-y) * .6)) scale(.9) rotate(var(--heart-rot))}to{opacity:1;transform:translate(-50%, -50%) translate(var(--heart-x), var(--heart-y)) scale(1) rotate(var(--heart-rot))}}@keyframes pulse{0%,to{transform:translate(-50%, -50%) translate(var(--heart-x), var(--heart-y)) scale(1)}50%{transform:translate(-50%, -50%) translate(var(--heart-x), var(--heart-y)) scale(1.08)}}@keyframes burst{0%{opacity:1;transform:translate(-50%, -50%) translate(var(--heart-x), var(--heart-y)) scale(1);filter:blur()}70%{opacity:.9;transform:translate(-50%, -50%) translate(calc(var(--heart-x) + var(--bx) * .7), calc(var(--heart-y) + var(--by) * .7)) scale(.9) rotate(var(--rot));filter:blur(.3px)}to{opacity:0;transform:translate(-50%, -50%) translate(calc(var(--heart-x) + var(--bx)), calc(var(--heart-y) + var(--by))) scale(.7) rotate(var(--rot));filter:blur(1px)}}
