*{box-sizing:border-box}:root{color-scheme:dark;font-family:Inter,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#eef6ff;background:#07111f;--bg: #07111f;--panel: rgba(10, 22, 40, .78);--panel-strong: rgba(10, 22, 40, .92);--card: rgba(255, 255, 255, .075);--card-strong: rgba(255, 255, 255, .11);--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .18);--muted: rgba(238, 246, 255, .68);--muted-2: rgba(238, 246, 255, .52);--text: #eef6ff;--accent: #78f5d1;--accent-2: #7da6ff;--warning: #ffd27a;--danger: #ff8f9d;--success: #8cffdf;--radius-xl: 28px;--radius-lg: 20px;--radius-md: 15px;--shadow: 0 26px 90px rgba(0, 0, 0, .38);--safe-bottom: env(safe-area-inset-bottom, 0px)}html{min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 12% -8%,rgba(120,245,209,.22),transparent 30rem),radial-gradient(circle at 92% 0%,rgba(125,166,255,.22),transparent 28rem),radial-gradient(circle at 50% 108%,rgba(255,210,122,.1),transparent 34rem),linear-gradient(135deg,#07111f,#0b1528 54%,#091528)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 78%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 78%)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button,a,input,textarea,select{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}button:not(:disabled):active{transform:translateY(1px) scale(.99)}button:disabled{cursor:not-allowed;opacity:.56}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff0a}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff42}.page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(14px,3vw,32px)}.join-card,.chat-card{width:min(100%,1120px);border:1px solid var(--line);background:linear-gradient(145deg,#0d1b30e0,#081222c7);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:var(--radius-xl);box-shadow:var(--shadow);position:relative;overflow:hidden}.join-card:before,.chat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(120,245,209,.18),transparent 28%),linear-gradient(315deg,rgba(125,166,255,.14),transparent 36%);opacity:.65}.join-card>*,.chat-card>*{position:relative;z-index:1}.join-card{padding:clamp(18px,3vw,34px)}.brand{display:flex;gap:16px;align-items:center;margin-bottom:24px}.logo{width:62px;height:62px;flex:0 0 auto;border-radius:20px;display:grid;place-items:center;font-size:28px;font-weight:950;color:#06101d;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 36px #78f5d12e,inset 0 1px #ffffff8c}h1,h2,h3,p{margin:0}.brand h1{font-size:clamp(26px,4vw,40px);letter-spacing:-.04em;line-height:1.05;margin-bottom:7px}.brand p,.chat-header p,.tips,.account-title-row p,.account-note,.private-chat-header span,.private-empty{color:var(--muted);line-height:1.6}.join-form{display:grid;gap:14px}.join-card>.join-form{grid-template-columns:repeat(2,minmax(0,1fr))}.join-card>.join-form label:nth-of-type(3),.join-card>.join-form label:nth-of-type(4),.join-card>.join-form button{grid-column:1 / -1}label{display:grid;gap:8px;font-size:14px;font-weight:760;color:#eef6ffe0}.label-hint{color:var(--muted-2);font-size:12px;font-weight:600}input,textarea,select{width:100%;color:var(--text);background:#ffffff13;border:1px solid var(--line);outline:none;border-radius:var(--radius-md);padding:13px 14px;min-height:46px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(238,246,255,.78) 50%),linear-gradient(135deg,rgba(238,246,255,.78) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}select option{color:#08111f;background:#f8fbff}input::placeholder,textarea::placeholder{color:#eef6ff66}input:focus,textarea:focus,select:focus{border-color:#78f5d1d1;box-shadow:0 0 0 4px #78f5d11c;background:#ffffff1b}.join-form button,.send-form>button,.private-send-form button,.room-rule-form>button{min-height:48px;border-radius:var(--radius-md);color:#06101d;font-weight:920;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 32px #78f5d121}.error,.success-message{margin-top:14px;border-radius:15px;padding:11px 13px;line-height:1.55}.error{color:#ffd1d6;background:#ff8f9d1f;border:1px solid rgba(255,143,157,.28)}.success-message{color:#c8ffed;background:#78f5d11f;border:1px solid rgba(120,245,209,.26)}.tips{display:grid;gap:7px;margin-top:20px;padding:14px 15px;border-radius:var(--radius-md);background:#78f5d113;border:1px solid rgba(120,245,209,.14);font-size:14px}.account-card{margin-top:18px;padding:clamp(14px,2vw,20px);border-radius:22px;background:#ffffff10;border:1px solid var(--line)}.account-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.account-title-row.compact{align-items:flex-start}.account-title-row h2{font-size:19px;line-height:1.25;margin-bottom:5px}.account-form{margin-top:12px}.account-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.account-actions .ghost{min-height:48px}.account-note{margin-top:14px;font-size:13px}.ghost{color:var(--text);background:#ffffff17;border:1px solid var(--line);border-radius:13px;padding:10px 14px;white-space:nowrap;font-weight:800}.ghost:hover:not(:disabled),.upload-button:hover:not(:disabled){background:#ffffff24;border-color:#ffffff38}.ghost.danger{color:#ffd1d6;background:#ff8f9d1f;border-color:#ff8f9d47}.status-pill{display:inline-flex;align-items:center;min-height:25px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:900;color:#dfeeff;background:#7da6ff2e;border:1px solid rgba(125,166,255,.28)}.status-pill.success,.status-pill.done{color:#c3ffed;background:#78f5d126;border-color:#78f5d14d}.status-pill.failed,.status-pill.error{color:#ffd1d6;background:#ff8f9d21;border-color:#ff8f9d4d}.status-pill.pending{color:#ffe3a8;background:#ffd27a21;border-color:#ffd27a47}.chat-card{height:min(88vh,860px);height:min(88dvh,860px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);background:#07111f57}.chat-header h2{font-size:clamp(18px,3vw,22px);line-height:1.25;margin-bottom:4px;word-break:break-word}.header-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.messages,.private-messages{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.messages{padding:clamp(14px,2.2vw,22px);display:flex;flex-direction:column;gap:12px;background:radial-gradient(circle at 28% 10%,rgba(125,166,255,.08),transparent 28rem),#0000000d}.empty{margin:auto;max-width:480px;text-align:center;color:var(--muted);line-height:1.8;padding:20px}.message,.private-message{position:relative;max-width:min(76%,650px);padding:12px 14px;border-radius:18px;background:#ffffff16;border:1px solid rgba(255,255,255,.095);align-self:flex-start;box-shadow:0 10px 28px #00000029}.message.mine,.private-message.mine{align-self:flex-end;background:linear-gradient(135deg,#78f5d12e,#7da6ff21);border-color:#78f5d138}.message.failed,.private-message.failed{background:#ff8f9d1f;border-color:#ff8f9d38}.message.system{align-self:center;max-width:min(94%,720px);text-align:center;background:#7da6ff1f;border-color:#7da6ff38}.message.image,.message.file{width:fit-content}.message-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:7px;color:var(--muted-2);font-size:12px}.message p,.private-message p{white-space:pre-wrap;word-break:break-word;line-height:1.65}.message small,.private-message small{display:block;margin-top:8px;color:#ffbdc5}.message-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin:-1px 0 8px}.expires-pill{display:inline-flex;align-items:center;min-height:23px;padding:3px 9px;border-radius:999px;color:#ffe3a8;font-size:12px;font-weight:900;background:#ffd27a24;border:1px solid rgba(255,210,122,.28)}.revoke-button,.retry-button{min-height:25px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900}.revoke-button{color:#ffd1d6;background:#ff8f9d1f;border:1px solid rgba(255,143,157,.26)}.retry-button{color:#06101d;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.message-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.status-detail{color:var(--muted-2);font-size:12px}.progress-box{display:grid;gap:7px;margin-top:10px}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#ffffff1a}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .18s ease}.progress-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted-2);font-size:12px}.image-message-button{display:block;padding:0;overflow:hidden;border-radius:16px;background:#ffffff0e;border:1px solid var(--line)}.image-message-button img{display:block;max-width:min(380px,62vw);max-height:430px;width:auto;height:auto;object-fit:contain}.caption{margin-top:8px}.image-info{color:var(--muted-2)!important}.file-message-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;min-width:min(440px,72vw);padding:12px;border-radius:16px;background:#ffffff0f;border:1px solid var(--line)}.file-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;font-size:22px;background:#78f5d11f;border:1px solid rgba(120,245,209,.16)}.file-main{min-width:0}.file-main strong,.file-main span,.selected-image-preview strong,.selected-image-preview span,.selected-file-preview strong,.selected-file-preview span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-main strong,.selected-image-preview strong,.selected-file-preview strong{margin-bottom:4px}.file-main span,.selected-image-preview span,.selected-file-preview span{color:var(--muted);font-size:13px}.file-download{color:#06101d;text-decoration:none;font-weight:920;border-radius:13px;padding:9px 13px;background:linear-gradient(135deg,var(--accent),var(--accent-2));white-space:nowrap;border:0}.send-form{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:12px;padding:14px 16px calc(14px + var(--safe-bottom));border-top:1px solid var(--line);background:#07111f85}.composer{display:grid;gap:10px;min-width:0}.input-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-width:0}.upload-actions{display:flex;gap:8px}.upload-button{min-height:48px;border-radius:var(--radius-md);padding:0 15px;color:var(--text);font-weight:880;background:#ffffff18;border:1px solid var(--line)}.file-input{display:none}textarea{resize:none;min-height:48px;max-height:148px;line-height:1.5}.selected-image-preview,.selected-file-preview{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:18px;background:#ffffff12;border:1px solid var(--line)}.selected-image-preview img{width:72px;height:72px;border-radius:14px;object-fit:cover;background:#ffffff14}.selected-file-preview .file-icon{width:72px;height:72px;font-size:28px}.remove-image{color:#ffd1d6;background:#ff8f9d1f;border:1px solid rgba(255,143,157,.28);border-radius:13px;padding:9px 12px;white-space:nowrap;font-weight:850}.burn-control{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--muted);font-size:13px}.burn-control label,.burn-label{display:inline-flex;align-items:center;gap:9px;color:#eef6ffdb;font-weight:880}.burn-prominent{width:100%;padding:11px 12px;border-radius:16px;background:#ffd27a1c;border:1px solid rgba(255,210,122,.28)}.burn-title{color:#ffe3a8;font-weight:950;white-space:nowrap}.burn-prominent select{min-width:136px;min-height:36px;padding-top:6px;padding-bottom:6px;background-color:#06101db8;border-color:#ffe3a361}.burn-hint{color:var(--muted);font-size:12px}.burn-hint.active{color:#ffe3a8;font-weight:850}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#000000d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-lightbox img{max-width:min(96vw,1120px);max-height:76vh;border-radius:20px;object-fit:contain;box-shadow:0 24px 90px #0000008c}.lightbox-close{position:fixed;top:max(18px,env(safe-area-inset-top,0px));right:18px;width:44px;height:44px;border-radius:50%;color:var(--text);font-size:28px;background:#ffffff24;border:1px solid var(--line)}.lightbox-info{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;border-radius:999px;color:#eef6ffd1;background:#0a1628e0;border:1px solid var(--line)}.lightbox-info a{color:var(--accent);text-decoration:none;font-weight:900}.private-panel,.private-search,.private-chat-box,.room-manage-panel,.admin-panel{display:grid;gap:14px}.private-peer-row,.room-rule-form,.admin-actions,.managed-room-actions,.member-row,.admin-list-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.private-peer-row label,.room-rule-form label,.member-row input{flex:1 1 190px}.private-search>.ghost{width:fit-content}.user-result-list,.member-list{display:flex;flex-wrap:wrap;gap:8px}.user-result-list button,.member-chip{color:var(--text);padding:7px 11px;border-radius:999px;background:#7da6ff24;border:1px solid rgba(125,166,255,.25)}.member-chip{display:inline-flex;align-items:center;gap:6px;color:#cfe8ff;font-size:12px}.member-chip button{border:0;background:transparent;color:#fff;font-weight:900;padding:0 2px}.private-chat-box,.room-manage-panel,.admin-panel{margin-top:18px;border-top:1px solid rgba(255,255,255,.11);padding-top:18px}.private-chat-box{padding:13px;border-radius:18px;background:#07111f6b;border:1px solid var(--line)}.private-chat-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.private-messages{min-height:180px;max-height:310px;display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:16px;background:#ffffff0b}.private-message{max-width:82%;padding:10px 12px;border-radius:16px}.private-send-form{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:10px}.invite-box{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px dashed rgba(125,166,255,.42);border-radius:18px;background:#7da6ff1b}.invite-box code{word-break:break-all;color:#d8ecff;background:#ffffff12;border:1px solid var(--line);border-radius:12px;padding:9px 10px}.invite-box small,.managed-room-item span,.managed-room-item small,.admin-list-item small{color:var(--muted);line-height:1.55}.managed-room-list,.admin-grid{display:grid;gap:12px;margin-top:14px}.managed-room-item,.admin-list-item{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#ffffff10}.managed-room-item>div:first-child,.admin-list-item>div:first-child{display:grid;gap:4px}.admin-card{margin-top:18px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}.admin-stats span{border-radius:16px;background:#ffffff12;border:1px solid var(--line);padding:13px;font-weight:900;color:var(--text)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.admin-grid h3{margin:0 0 10px}.room-admin-item{grid-template-columns:1fr}@media(min-width:900px){.admin-card .account-title-row,.account-card .account-title-row{align-items:center}}@media(max-width:860px){.join-card>.join-form{grid-template-columns:1fr}.join-card>.join-form label,.join-card>.join-form button{grid-column:auto}.account-title-row,.private-chat-header{flex-direction:column;align-items:stretch}}@media(max-width:720px){.page{padding:0;place-items:stretch}.join-card{min-height:100dvh;border-radius:0;border-left:0;border-right:0;padding:18px 14px calc(22px + var(--safe-bottom))}.brand{align-items:flex-start;gap:12px}.logo{width:54px;height:54px;border-radius:17px;font-size:24px}.chat-card{width:100%;height:100vh;height:100dvh;border-radius:0;border:0}.chat-header{position:sticky;top:0;z-index:2;align-items:flex-start;flex-direction:column;padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.header-actions .ghost{width:100%;padding:10px 8px}.messages{padding:12px 10px;gap:10px}.message,.private-message{max-width:92%;border-radius:17px}.message.system{max-width:96%}.image-message-button img{max-width:78vw;max-height:360px}.file-message-card{grid-template-columns:40px minmax(0,1fr);min-width:min(88vw,420px)}.file-icon{width:40px;height:40px}.file-download{grid-column:1 / -1;width:100%;text-align:center}.send-form{grid-template-columns:1fr;gap:10px;padding:10px 10px calc(10px + var(--safe-bottom))}.input-row{grid-template-columns:1fr}.upload-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.upload-actions .upload-button,.send-form>button,.private-send-form button{width:100%}.selected-image-preview,.selected-file-preview{grid-template-columns:56px minmax(0,1fr)}.selected-image-preview img,.selected-file-preview .file-icon{width:56px;height:56px}.remove-image{grid-column:1 / -1;width:100%}.burn-prominent{align-items:flex-start}.burn-prominent .burn-label{width:100%;justify-content:space-between}.burn-prominent select{flex:1;min-width:150px}.private-peer-row,.private-send-form,.account-actions,.room-rule-form,.admin-actions,.managed-room-actions,.member-row,.admin-list-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.private-search>.ghost{width:100%}.private-message{max-width:92%}.admin-grid{grid-template-columns:1fr}.lightbox-info{max-width:92vw;flex-wrap:wrap;border-radius:18px;justify-content:center}}@media(max-width:420px){.brand h1{font-size:25px}.join-card,.account-card,.managed-room-item,.admin-list-item{border-radius:18px}.ghost,.upload-button,input,textarea,select{min-height:44px}.message-meta{flex-direction:column;align-items:flex-start;gap:3px}}
