:root{--duck: #f5b800;--duck-deep: #d99c00;--duck-soft: #ffe9a8;--pond: #1f6f66;--pond-deep: #14504a;--pond-tint: #e7f1ee;--bg: #f4efe2;--panel: #fffdf6;--ink: #2f2b21;--ink-soft: #8b8272;--line: #e7ddc7;--danger: #c94f42;--radius: 16px;--shadow-soft: 0 2px 10px rgba(47, 43, 33, .06);--shadow-lift: 0 10px 32px rgba(47, 43, 33, .14)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit;font-size:14px;border:1.5px solid var(--line);border-radius:12px;padding:9px 12px;outline:none;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--pond);box-shadow:0 0 0 3px #1f6f661f}*{scrollbar-width:thin;scrollbar-color:#c9d6d2 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c9d6d2;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#a9bdb8}.btn{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:8px 14px;font-size:14px;transition:border-color .15s,background .15s,transform .1s}.btn:hover{border-color:var(--pond)}.btn:active{transform:scale(.97)}.btn:focus-visible,.conv-item:focus-visible,.settings-entry:focus-visible,.admin-tab:focus-visible{outline:2px solid var(--pond);outline-offset:2px}.btn.primary{background:var(--duck);border-color:var(--duck-deep);color:#3d2f00;font-weight:600}.btn.primary:hover{background:#ffc61e}.btn.primary:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent}.btn.danger{color:var(--danger);border-color:#eac2bd}.btn.danger:hover{border-color:var(--danger);background:#fdf2f0}.btn.small{padding:5px 10px;font-size:13px}.btn.tiny{padding:3px 8px;font-size:12px;border-radius:9px}.muted{color:var(--ink-soft)}.small{font-size:12.5px}.duck-mark{display:block}.duck-mark.with-ripple .ripple{transform-box:fill-box;transform-origin:center;animation:ripple-breathe 2.6s ease-in-out infinite}.duck-mark.with-ripple .r2{animation-delay:1.3s}@keyframes ripple-breathe{0%,to{opacity:.25;transform:scaleX(.85)}50%{opacity:1;transform:scaleX(1.08)}}@media(prefers-reduced-motion:reduce){.duck-mark.with-ripple .ripple{animation:none}}.fullscreen-center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:radial-gradient(circle at 50% 0%,var(--pond-tint) 0%,transparent 55%),var(--bg)}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px 38px 28px;width:min(92vw,380px);box-shadow:var(--shadow-lift);text-align:center}.auth-hero{display:flex;justify-content:center;padding:6px 0 2px}.auth-card h1{margin:8px 0 2px;font-size:27px;letter-spacing:2px;color:var(--pond-deep)}.auth-card form{display:flex;flex-direction:column;gap:10px;margin-top:16px}.auth-tabs{display:flex;gap:6px;margin-top:14px;background:var(--pond-tint);border-radius:11px;padding:4px}.auth-tabs button{flex:1;border:none;background:transparent;padding:8px;border-radius:8px;font-size:14px;color:var(--pond-deep);transition:background .15s}.auth-tabs button.active{background:var(--duck);color:#3d2f00;font-weight:600}.form-error{color:var(--danger);font-size:13px;margin-top:6px;text-align:left}.gate-card form{align-items:stretch}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:linear-gradient(120deg,var(--pond-deep),var(--pond));border-bottom:3px solid var(--duck);flex-wrap:wrap;gap:8px}.brand{display:flex;align-items:center;gap:10px}.brand-tile{width:36px;height:36px;border-radius:11px;background:var(--duck-soft);border:1.5px solid var(--duck);display:inline-flex;align-items:center;justify-content:center}.brand-name{font-size:20px;font-weight:800;color:#fff8e6;letter-spacing:2px}.online-badge{font-size:12.5px;background:#ffffff24;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 11px;color:#d9efe9}.online-badge:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#6fe3a0;margin-right:6px;vertical-align:1px}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-actions .btn{background:#ffffff1a;border-color:#ffffff4d;color:#eaf6f2}.top-actions .btn:hover{background:#fff3;border-color:var(--duck)}.link-btn{color:var(--duck);font-size:13.5px;text-decoration:none;border-bottom:1px dashed rgba(245,184,0,.6);padding-bottom:1px}.link-btn:hover{color:#ffd44d;border-bottom-color:#ffd44d}.user-chip{display:inline-flex;align-items:center;gap:6px;background:#ffffffeb;border:1.5px solid var(--line);border-radius:999px;padding:4px 12px 4px 4px;font-size:13.5px;font-weight:600;color:var(--ink)}.avatar-mini{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#3d2f00;font-weight:700}.app-body{flex:1;display:flex;min-height:0}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar{width:270px;background:#fbf7ec;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-scroll{flex:1;overflow-y:auto;padding:14px 12px 4px}.side-section{margin-bottom:18px}.side-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--pond);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;padding:0 4px}.side-empty{font-size:12.5px;color:var(--ink-soft);padding:6px 6px 10px}.conv-item{position:relative;display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;padding:8px 10px;border-radius:11px;font-size:14px;color:var(--ink);text-align:left;transition:background .12s}.conv-item:hover{background:#f3ecd9}.conv-item.active{background:var(--pond-tint);font-weight:600}.conv-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3.5px;border-radius:3px;background:var(--pond)}.conv-icon{color:var(--ink-soft);font-weight:700}.conv-item.active .conv-icon{color:var(--pond)}.conv-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-dot{width:9px;height:9px;border-radius:50%;background:#cfc6b4;flex-shrink:0}.dm-dot.on{background:#3dbb61;box-shadow:0 0 0 3px #3dbb612e}.tag{font-size:11px;border-radius:6px;padding:1px 6px;flex-shrink:0}.pending-tag{background:#fff0d2;color:#a06b00}.rejected-tag{background:#fde5e4;color:var(--danger)}.owner-tag{background:var(--pond-tint);color:var(--pond-deep)}.banned-tag{background:#fde5e4;color:var(--danger)}.discover-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:11px;font-size:14px}.discover-item:hover{background:#f3ecd9}.create-channel-form,.dm-form{display:flex;flex-direction:column;gap:8px;background:#f5efdd;border:1px solid var(--line);border-radius:11px;padding:10px;margin-bottom:8px}.radio-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}.settings-block{border-top:1px solid var(--line);padding:12px 12px 14px;margin-bottom:0}.settings-entry{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;padding:9px 10px;border-radius:11px;font-size:14px;color:var(--ink);transition:background .12s}.settings-entry:hover{background:#f3ecd9}.arrow{color:var(--ink-soft)}.chat-view{flex:1;display:flex;flex-direction:column;min-height:0}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel)}.chat-title{font-size:16px;font-weight:700}.channel-notice{background:#fff6da;color:#8a6400;font-size:13px;padding:8px 20px;border-bottom:1px solid var(--line)}.channel-notice.warn{background:#fdecea;color:var(--danger)}.invite-bar{display:flex;gap:8px;align-items:center;padding:8px 20px;background:#f8f2e2;border-bottom:1px solid var(--line)}.invite-bar input{max-width:240px}.message-list{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 100% 0%,rgba(31,111,102,.045) 0%,transparent 40%),var(--bg)}.empty-chat{margin:auto;text-align:center;color:var(--ink-soft);display:flex;flex-direction:column;gap:12px;align-items:center}.msg-row{position:relative;display:flex;gap:10px;align-items:flex-start}.msg-row.mine{flex-direction:row-reverse}.msg-row.mine .msg-meta{justify-content:flex-end}.msg-row.mine .msg-body{align-items:flex-end}.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#3d2f00;flex-shrink:0;border:2px solid rgba(255,255,255,.85);box-shadow:var(--shadow-soft)}.avatar.big{width:52px;height:52px;font-size:20px}.msg-body{display:flex;flex-direction:column;gap:4px;max-width:72%}.msg-meta{display:flex;gap:8px;align-items:baseline}.msg-sender{font-size:13px;font-weight:600}.msg-time{font-size:11.5px;color:var(--ink-soft)}.bubble{background:#fff;border:1px solid var(--line);border-radius:4px 16px 16px;padding:9px 13px;font-size:14.5px;line-height:1.55;word-break:break-word;white-space:pre-wrap;color:var(--ink);box-shadow:var(--shadow-soft)}.msg-row.mine .bubble{border-radius:16px 4px 16px 16px;color:#3d2f00}.mention{color:#b07800;font-weight:600;background:#fff2cc;border-radius:4px;padding:0 3px}.bubble.image-bubble{display:flex;flex-direction:column;gap:6px;padding:5px;max-width:100%}.bubble.image-bubble .chat-image{display:block;max-width:min(320px,60vw);max-height:320px;border-radius:12px;cursor:zoom-in;object-fit:contain}.msg-row.mine .bubble.image-bubble:has(img:only-child){padding:4px}.lightbox{cursor:zoom-out}.lightbox img{max-width:92vw;max-height:90vh;border-radius:12px;box-shadow:0 24px 70px #00000073;cursor:default}.msg-del{opacity:0;align-self:center;transition:opacity .12s}.msg-row:hover .msg-del,.msg-row:focus-within .msg-del{opacity:1}.msg-actions{display:flex;gap:2px;align-self:center;opacity:0;transition:opacity .12s}.msg-row:hover .msg-actions,.msg-row:focus-within .msg-actions{opacity:1}.msg-actions .btn{border:none;background:transparent;padding:4px 6px;font-size:12px;color:var(--ink-soft)}.msg-actions .btn:hover{background:var(--pond-tint);color:var(--pond-deep);border-radius:8px}.reply-card{display:flex;align-items:baseline;gap:5px;font-size:12.5px;background:#ffffff8c;border-left:3px solid rgba(31,111,102,.5);border-radius:6px;padding:4px 8px;margin-bottom:2px;overflow:hidden;white-space:nowrap}.msg-row.mine .reply-card{border-left-color:#3d2f0066;background:#ffffff59}.reply-arrow{color:var(--pond)}.reply-name{font-weight:700;flex-shrink:0}.reply-text{color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis}.replying-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 20px;background:var(--pond-tint);border-top:1px solid var(--line)}.replying-bar .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reaction-row{display:flex;gap:5px;flex-wrap:wrap}.reaction-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:2px 9px;font-size:12.5px;line-height:1.5;color:var(--ink-soft);transition:border-color .12s,background .12s}.reaction-chip:hover{border-color:var(--pond)}.reaction-chip.mine{background:var(--pond-tint);border-color:var(--pond);color:var(--pond-deep);font-weight:600}.reaction-picker{position:absolute;top:-44px;right:12px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-lift);display:flex;gap:2px;padding:4px 8px;z-index:40}.msg-row.mine .reaction-picker{right:auto;left:12px}.reaction-picker .emoji-item{font-size:17px;padding:3px 4px}.pinned-bar{display:flex;align-items:center;gap:10px;padding:8px 20px;background:#fff8dc;border-bottom:1px solid var(--line)}.pin-icon{font-size:15px}.pin-body{flex:1;min-width:0}.pin-label{font-size:11.5px;color:#8a6400;font-weight:700}.pin-text{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.85);box-shadow:var(--shadow-soft)}.avatar-img.big{width:52px;height:52px}.avatar-mini-img{width:26px;height:26px;border-radius:50%;object-fit:cover}.avatar-actions{display:flex;gap:8px;margin-top:8px}.duck-fly{position:fixed;top:18%;left:-180px;display:flex;gap:34px;align-items:center;z-index:200;pointer-events:none;animation:duck-fly-across 2.4s ease-in-out forwards}.duck-fly>*:nth-child(2){animation:duck-bob .9s ease-in-out infinite alternate;margin-top:22px}.duck-fly>*:nth-child(3){animation:duck-bob 1.1s ease-in-out .2s infinite alternate;margin-top:-16px}@keyframes duck-fly-across{0%{transform:translate(0)}to{transform:translate(calc(100vw + 360px))}}@keyframes duck-bob{0%{margin-top:-12px}to{margin-top:12px}}@media(prefers-reduced-motion:reduce){.duck-fly{animation:none;display:none}}.unread-badge{min-width:18px;height:18px;padding:1px 5px;border-radius:999px;background:#c94f42;color:#fff;font-size:11px;font-weight:700;line-height:16px;text-align:center;flex-shrink:0}.unread-badge.wide{padding:1px 4px}.unread-badge.mentioned{background:var(--danger);box-shadow:0 0 0 3px #c94f422e}.conv-item.mentioned .conv-name{color:var(--danger);font-weight:700}.mention-menu{position:absolute;bottom:100%;left:8px;width:min(280px,70vw);max-height:240px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lift);z-index:50;display:flex;flex-direction:column;padding:4px}.mention-option{display:flex;align-items:center;gap:8px;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:9px;font-size:14px;color:var(--ink)}.mention-option.active{background:var(--pond-tint)}.mention-option-icon{width:20px;text-align:center;color:var(--pond);font-weight:700}.id-code-box{display:inline-flex;align-items:center;gap:8px;margin-top:8px;background:#f5efdd;border:1px dashed var(--duck-deep);border-radius:9px;padding:5px 10px}.id-code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:16px;font-weight:700;letter-spacing:2px;color:var(--pond-deep)}.words-editor{width:100%;resize:vertical;min-height:120px;font-family:inherit}.perms-card{width:min(92vw,380px);display:flex;flex-direction:column;gap:10px}.perms-card .radio-row{padding:2px 0}.emoji-group-label{font-size:11px;color:var(--pond);font-weight:700;padding:2px 4px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.admin-thumb{display:inline-block;margin-right:6px;vertical-align:middle}.admin-thumb img{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--line);transition:transform .12s}.admin-thumb:hover img{transform:scale(1.1);box-shadow:var(--shadow-soft)}.chat-error{padding:0 20px}.chat-input{display:flex;gap:8px;align-items:flex-end;padding:12px 16px 16px;border-top:1px solid var(--line);background:var(--panel);position:relative}.chat-input textarea{flex:1;resize:none;min-height:44px;max-height:140px;border-radius:13px}.icon-btn{font-size:20px;border:none;padding:8px;background:transparent}.icon-btn:hover{background:var(--pond-tint);border-radius:10px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn{height:44px}.emoji-panel{position:absolute;bottom:74px;left:16px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-lift);padding:10px;z-index:30;width:min(420px,calc(100vw - 32px));max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.emoji-item{border:none;background:transparent;font-size:19px;padding:4px;border-radius:8px}.emoji-item:hover{background:var(--pond-tint)}.settings-view,.admin-panel{flex:1;overflow-y:auto;padding:24px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 0% 0%,rgba(31,111,102,.04) 0%,transparent 40%),var(--bg)}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;width:min(94vw,460px);display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-lift)}.panel-card.wide{width:min(96vw,860px)}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:700;color:var(--pond-deep)}.profile-row{display:flex;gap:14px;align-items:center}.profile-name{font-size:17px;font-weight:700}.stack-form{display:flex;flex-direction:column;gap:10px}.form-label{font-size:13.5px;font-weight:700;color:var(--pond)}.color-row{display:flex;gap:10px}.color-dot{width:34px;height:34px;border-radius:50%;border:2.5px solid transparent;transition:transform .12s,border-color .12s}.color-dot.selected{border-color:var(--ink);transform:scale(1.14)}.bubble-preview{display:flex;justify-content:center;padding:8px 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.stat-box{background:var(--pond-tint);border-radius:13px;padding:14px;text-align:center}.stat-num{font-size:24px;font-weight:800;color:var(--pond-deep)}.stat-label{font-size:12.5px;color:var(--ink-soft);margin-top:2px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap}.admin-tab{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:13.5px;color:var(--ink-soft);transition:background .15s,border-color .15s}.admin-tab.active{background:var(--duck);border-color:var(--duck-deep);color:#3d2f00;font-weight:600}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px}.admin-table th{text-align:left;color:var(--pond);font-size:12.5px;padding:8px 10px;border-bottom:2px solid var(--line)}.admin-table td{padding:9px 10px;border-bottom:1px solid #f2ecdc;vertical-align:top}.action-cell{display:flex;gap:6px;flex-wrap:wrap}.danger-zone{border-top:1px dashed #e0c5c0;padding-top:14px;display:flex;flex-direction:column;gap:8px}.admin-messages{display:flex;flex-direction:column;gap:10px;width:100%}.modal-mask{position:fixed;inset:0;background:#1e282680;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:#fff;border-radius:var(--radius);padding:24px 28px;width:min(92vw,360px);box-shadow:var(--shadow-lift)}.modal-card form{display:flex;flex-direction:column;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}@media(hover:hover){.msg-actions{opacity:0;transition:opacity .12s}.msg-row:hover .msg-actions,.msg-row:focus-within .msg-actions{opacity:1}}@media(hover:none){.msg-actions{display:none}.msg-actions.touch-open{display:flex;opacity:1}.bubble.touched{outline:2px solid rgba(31,111,102,.45);outline-offset:1px}}.nav-toggle{display:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-backdrop{display:none}@media(max-width:760px){input,textarea{font-size:16px}.top-bar{padding:8px 10px;gap:6px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:18px;padding:0;background:#ffffff1f;border-color:#ffffff4d;color:#eaf6f2}.brand-tile{width:30px;height:30px;border-radius:9px}.brand-tile svg{width:22px;height:22px}.brand-name{font-size:17px;letter-spacing:1px}.online-badge{display:none}.top-actions{gap:6px;margin-left:auto}.top-actions .btn{padding:6px 9px;font-size:12.5px}.link-btn{display:none}.user-chip{max-width:120px;padding:3px 10px 3px 3px;font-size:12.5px}.user-chip>span:not(.tag):not(.avatar-mini):not(.avatar-mini-img){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-body{flex-direction:column}.sidebar{position:fixed;top:0;right:0;bottom:0;width:min(84vw,320px);max-height:none;z-index:90;border-left:1px solid var(--line);box-shadow:-14px 0 40px #1e282640;transform:translate(105%);transition:transform .22s ease}.sidebar.mobile-open{transform:translate(0)}.nav-backdrop{display:block;position:fixed;inset:0;z-index:80;background:#1e282666}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}.chat-header{padding:10px 12px;gap:8px}.chat-title{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-list{padding:12px 10px;gap:12px}.msg-body{max-width:84%}.bubble{font-size:14.5px;padding:8px 11px}.bubble.image-bubble .chat-image{max-width:min(260px,56vw);max-height:260px}.reaction-picker{top:auto;left:auto;right:0;position:static;align-self:flex-start;margin-top:4px}.msg-actions{margin-top:2px}.chat-input{padding:8px 8px 10px;gap:4px}.chat-input textarea{min-height:40px;padding:9px 10px}.icon-btn{padding:6px;font-size:19px}.send-btn{height:40px;padding:8px 12px}.emoji-panel{position:fixed;left:8px;right:8px;bottom:64px;width:auto;max-height:46vh}.emoji-grid{grid-template-columns:repeat(8,1fr)}.pinned-bar,.replying-bar,.invite-bar,.channel-notice{padding-left:10px;padding-right:10px}.invite-bar input{max-width:none;flex:1}.settings-view,.admin-panel{padding:12px}.panel-card,.panel-card.wide{width:100%;padding:16px 14px}.admin-tabs{gap:5px}.admin-tab{padding:5px 10px;font-size:12.5px}.admin-table{font-size:12.5px}.admin-table th,.admin-table td{padding:7px 8px}.stat-grid{grid-template-columns:repeat(2,1fr)}.auth-card{padding:24px 20px 22px}.modal-card{width:min(94vw,340px);padding:18px 16px}.lightbox img{max-width:96vw;max-height:88vh}}@media(max-width:380px){.msg-body{max-width:90%}.brand-name{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}}.conv-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;padding:9px 12px;margin:0;background:transparent;border:0;border-radius:0;color:var(--ink);font:inherit;transition:background .12s}.conv-row:hover{background:var(--pond-tint)}.conv-row.active{background:var(--duck-soft)}.conv-row.mentioned{background:#fff4e0}.conv-row.mentioned.active{background:var(--duck-soft)}.conv-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:17px;font-weight:600;object-fit:cover;background:var(--pond)}.channel-avatar .hash{font-size:20px;font-weight:700}.conv-main{flex:1 1 auto;min-width:0;display:block}.conv-line1{display:flex;align-items:center;gap:5px}.conv-title{flex:0 1 auto;min-width:0;font-size:14px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-time{margin-left:auto;flex:0 0 auto;font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.conv-line2{display:flex;align-items:center;gap:6px;margin-top:3px}.conv-preview{flex:1 1 auto;min-width:0;font-size:12px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-badge-wrap{flex:0 0 auto;display:inline-flex}.tag{font-size:10px;padding:1px 5px;border-radius:4px;line-height:1.5}.online-tag{background:#e6f9ed;color:#34c759}.pending-tag{background:#fff4e0;color:#d98b00}.rejected-tag{background:#fdecea;color:#d9534f}.owner-tag{background:var(--duck-soft);color:var(--duck-deep)}.discover-item{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:13px}.discover-item .conv-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discover-item .conv-icon{color:var(--pond);font-weight:700}.settings-entry{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;background:transparent;border:0;color:var(--ink);font:inherit;font-size:14px;border-radius:0}.settings-entry:hover{background:var(--pond-tint)}.settings-block{border-top:1px solid var(--line)}@media(max-width:760px){.conv-avatar{width:40px;height:40px;flex-basis:40px}.conv-row{padding:8px 10px}}.intro-overlay{position:fixed;inset:0;z-index:9999;background:linear-gradient(155deg,#fefcf3,#f4efe2 50%,#e7f1ee);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:28px 18px calc(26px + env(safe-area-inset-bottom));overflow:hidden;perspective:1100px;animation:io-in .4s ease both}.intro-overlay.closing{animation:io-out .5s ease both}@keyframes io-in{0%{opacity:0}to{opacity:1}}@keyframes io-out{0%{opacity:1}to{opacity:0}}.intro-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.16;pointer-events:none}.ib1{width:320px;height:320px;background:var(--duck);top:-90px;left:-70px;animation:ib-a 14s ease-in-out infinite}.ib2{width:280px;height:280px;background:var(--pond);bottom:-90px;right:-70px;animation:ib-b 18s ease-in-out infinite}@keyframes ib-a{0%,to{transform:translate(0)}50%{transform:translate(22px,-14px)}}@keyframes ib-b{0%,to{transform:translate(0)}50%{transform:translate(-18px,10px)}}.intro-progress{position:fixed;bottom:0;left:0;right:0;height:3px;z-index:100;background:#1f6f6614}.intro-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--duck),var(--pond));animation:ipf 18s linear forwards}@keyframes ipf{to{width:100%}}.intro-skip{position:fixed;top:calc(14px + env(safe-area-inset-top));right:16px;z-index:100;font-size:13px;font-weight:600;color:var(--ink-soft);padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;opacity:0;animation:isk 18s ease forwards}@keyframes isk{0%,8%{opacity:0}10%{opacity:.5}to{opacity:.7}}.intro-skip:hover{opacity:1;background:#fff}.intro-text{position:relative;flex:0 0 auto;width:100%;max-width:600px;height:clamp(120px,24vh,168px)}.intro-cap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none}.intro-cap.s1{animation:cap1 18s cubic-bezier(.4,0,.2,1) forwards}.intro-cap.s2{animation:cap2 18s cubic-bezier(.4,0,.2,1) forwards}.intro-cap.s3{animation:cap3 18s cubic-bezier(.4,0,.2,1) forwards}.intro-cap.s4{animation:cap4 18s cubic-bezier(.4,0,.2,1) forwards}@keyframes cap1{0%,2%{opacity:0;transform:translateY(14px)}5%{opacity:1;transform:none}20%{opacity:1}24%{opacity:0;transform:translateY(-10px)}to{opacity:0}}@keyframes cap2{0%,22%{opacity:0;transform:translateY(14px)}26%{opacity:1;transform:none}38%{opacity:1}42%{opacity:0;transform:translateY(-10px)}to{opacity:0}}@keyframes cap3{0%,44%{opacity:0;transform:translateY(14px)}48%{opacity:1;transform:none}58%{opacity:1}62%{opacity:0;transform:translateY(-10px)}to{opacity:0}}@keyframes cap4{0%,64%{opacity:0;transform:translateY(14px)}70%{opacity:1;transform:none}to{opacity:1;transform:none}}.intro-cap-duck{width:42px;height:42px;margin-bottom:10px}.intro-cap-duck svg{width:100%;height:100%}.intro-cap-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pond-deep);margin-bottom:8px}.intro-cap-title{font-size:clamp(20px,5.5vw,32px);font-weight:800;color:var(--ink);line-height:1.22;margin:0}.intro-cap-sub{font-size:clamp(14px,3.6vw,20px);font-weight:500;color:var(--pond);margin-top:5px}.intro-phone-wrap{position:relative;flex:0 0 auto;width:min(210px,58vw);height:min(320px,40vh);transform-style:preserve-3d;animation:ipw 18s cubic-bezier(.4,0,.2,1) forwards}@keyframes ipw{0%{transform:translateZ(-260px) scale(.55);opacity:0}3%{opacity:1}8%{transform:translateZ(0) scale(1)}18%{transform:rotateY(-18deg) scale(1.02)}25%{transform:rotateY(-6deg) scale(1)}38%{transform:rotateY(-12deg) scale(.96)}50%{transform:rotateY(-10deg) scale(.96)}62%{transform:rotateY(-4deg) scale(1)}75%{transform:rotateY(0) translateY(-6px) scale(1.01)}to{transform:rotateY(0) scale(1)}}.intro-phone{width:100%;height:100%;border-radius:26px;border:8px solid #1b2536;background:#fffdf6;overflow:hidden;box-shadow:0 18px 44px #2f2b2124;display:flex;flex-direction:column}.intro-ph-top{height:34px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 10px;gap:6px;flex:0 0 34px}.intro-ph-top .intro-ph-ava{width:18px;height:18px;border-radius:5px;background:var(--pond);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 18px}.intro-ph-top b{font-size:11px;color:var(--ink);font-weight:600}.intro-ph-online{font-size:9px;color:var(--ink-soft);margin-left:auto}.intro-ph-list{flex:1;overflow:hidden}.intro-ph-row{display:flex;gap:7px;padding:6px 8px;background:#fff;border-bottom:1px solid #f4efe2;align-items:center;opacity:0;transform:translate(-14px);animation:ipr .45s cubic-bezier(.22,.61,.36,1) forwards}.intro-ph-row:nth-child(1){animation-delay:1.4s}.intro-ph-row:nth-child(2){animation-delay:1.6s}.intro-ph-row:nth-child(3){animation-delay:1.8s}.intro-ph-row:nth-child(4){animation-delay:2s}.intro-ph-row:nth-child(5){animation-delay:2.2s}@keyframes ipr{to{opacity:1;transform:none}}.intro-ph-av{width:26px;height:26px;border-radius:6px;flex:0 0 26px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700}.intro-ph-txt{flex:1;min-width:0}.intro-ph-txt i{display:block;font-size:10px;color:var(--ink);font-style:normal;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.intro-ph-txt s{display:block;font-size:8px;color:var(--ink-soft);text-decoration:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:1px}.intro-ph-badge{min-width:13px;height:13px;padding:0 4px;border-radius:7px;background:#c94f42;color:#fff;font-size:8px;line-height:13px;text-align:center;flex:0 0 auto}.intro-ph-time{font-size:8px;color:var(--ink-soft);flex:0 0 auto}.intro-bub-fly{position:absolute;width:132px;opacity:0;pointer-events:none;animation:ibf 18s cubic-bezier(.4,0,.2,1) forwards}@keyframes ibf{0%,35%{opacity:0;transform:translate(110px) scale(.6)}40%{opacity:1;transform:translate(48px) scale(.92)}45%{opacity:1;transform:translate(38px) scale(1)}55%{opacity:1;transform:translate(38px) scale(1)}62%{opacity:0;transform:translate(110px) scale(.8)}to{opacity:0}}.ibf1{top:26%;right:0}.ibf2{top:40%;right:0;animation-delay:.3s}.intro-bub{background:#fff;border:1px solid var(--line);border-radius:10px 10px 10px 3px;padding:6px 9px;font-size:10.5px;color:var(--ink);box-shadow:0 3px 12px #2f2b2112;line-height:1.4}.intro-bub.mine{background:var(--duck-soft);border-color:var(--duck);border-radius:10px 10px 3px}.intro-sender{font-size:9px;color:var(--pond);font-weight:600;margin-bottom:2px}.intro-sync{position:absolute;width:44px;height:44px;top:34%;left:0;opacity:0;pointer-events:none;animation:isync 18s cubic-bezier(.4,0,.2,1) forwards}@keyframes isync{0%,42%{opacity:0;transform:translate(-40px) scale(.4) rotate(0)}47%{opacity:.75;transform:translate(-30px) scale(1) rotate(180deg)}55%{opacity:.75;transform:translate(-30px) scale(1) rotate(360deg)}62%{opacity:0;transform:translate(-40px) scale(1.15) rotate(420deg)}to{opacity:0}}.intro-sync svg{width:100%;height:100%}@media(max-height:640px){.intro-text{height:clamp(96px,18vh,120px)}.intro-overlay{gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important}.intro-phone-wrap{transform:none;opacity:1}.intro-ph-row{opacity:1;transform:none}.intro-cap{opacity:1}}.challenge-box{border:1px dashed rgba(31,111,102,.35);border-radius:12px;padding:10px 12px;background:#1f6f660a}.challenge-label{font-size:12px;color:#6b7280;margin-bottom:6px}.challenge-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.challenge-text{flex:1;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:26px;line-height:2.1;letter-spacing:.18em;color:#1f6f66;text-align:center;user-select:none;-webkit-user-select:none;word-break:break-all;padding:4px 0}.challenge-input{text-align:center;letter-spacing:.2em;text-transform:uppercase}.msg-sender.clickable{cursor:pointer}.msg-sender.clickable:hover{text-decoration:underline}.forward-tag{font-size:12px;color:#6b7280;background:#ffffff8c;border-radius:6px;padding:2px 6px;margin-bottom:4px;display:inline-block}.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);background:#1f6f66eb;color:#fff;font-size:13px;padding:6px 14px;border-radius:999px;z-index:1000;pointer-events:none}.forward-sheet{max-height:70vh;display:flex;flex-direction:column}.forward-preview{font-size:13px;color:#4b5563;background:#f6f3ea;border-radius:8px;padding:8px 10px;margin:8px 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forward-list{overflow-y:auto;max-height:46vh;display:flex;flex-direction:column;gap:4px}.forward-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;border-radius:10px;text-align:left;font-size:14px;color:#1f2937;cursor:pointer}.forward-item:hover{background:#1f6f6614}.forward-icon{width:26px;height:26px;border-radius:8px;background:#f5b80038;color:#8a6400;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}.forward-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card{max-width:340px}.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.profile-bio{font-size:14px;color:#374151;line-height:1.6;background:#f6f3ea;border-radius:10px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;margin:0 0 12px}.profile-stats{display:flex;gap:28px;margin-bottom:10px}.profile-stats div{display:flex;flex-direction:column}.profile-stats b{font-size:18px;color:#1f6f66}.profile-stats span{font-size:12px;color:#6b7280}.role-tag{font-size:11px;color:#8a6400;background:#f5b80040;border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:middle}.bio-input{width:100%;resize:vertical;border-radius:10px;border:1px solid rgba(31,111,102,.25);padding:8px 10px;font-size:14px;font-family:inherit;line-height:1.5}
