:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef0f3;--text: #1d2129;--muted: #6b7280;--border: #e2e5ea;--accent: #3b6fe0;--accent-text: #ffffff;--danger: #d14343;--success: #2fa86b;--mine: #dce7ff;--online: #2fa86b;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #16181d;--surface: #1f2228;--surface-2: #2a2e36;--text: #e6e8ec;--muted: #9aa1ad;--border: #333843;--accent: #6b93f0;--mine: #2b3a5c}}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:15px;line-height:1.5}#app{height:100dvh}h1{font-size:22px;margin:0 0 8px}h2{font-size:17px;margin:0 0 12px}a{color:var(--accent)}button{font:inherit;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:default}input,textarea,select{font:inherit;font-size:16px;color:var(--text);width:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.center-page{min-height:100%;display:grid;place-items:center;padding:16px}.form{display:flex;flex-direction:column;gap:12px;width:min(380px,100%)}.form label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}.page{max-width:760px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.page-header{display:flex;align-items:center;gap:12px}.page-header h1{margin:0}.error-text{color:var(--danger);font-size:14px;margin:0}.muted{color:var(--muted);font-size:14px}.toasts.svelte-1q7l584{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:100;width:min(420px,calc(100% - 32px))}.toast.svelte-1q7l584{padding:10px 14px;border-radius:8px;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 12px #00000026}.toast.error.svelte-1q7l584{border-color:var(--danger);color:var(--danger)}.toast.success.svelte-1q7l584{border-color:var(--success);color:var(--success)}.sidebar.svelte-181dlmc{width:240px;flex-shrink:0;overflow-y:auto;padding:12px;background:var(--surface-2);border-right:1px solid var(--border);padding-top:calc(12px + env(safe-area-inset-top))}.title.svelte-181dlmc{font-size:12px;color:var(--muted);margin:12px 8px 4px}ul.svelte-181dlmc{list-style:none;margin:0;padding:0}li.svelte-181dlmc{padding:6px 8px;border-radius:6px;display:flex;align-items:center;gap:8px}.room.active.svelte-181dlmc{background:var(--surface);font-weight:600}.dot.svelte-181dlmc{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0}.dot.on.svelte-181dlmc{background:var(--online)}@media(max-width:767px){.sidebar.svelte-181dlmc{position:fixed;top:0;bottom:0;left:0;z-index:10;transform:translate(-100%);transition:transform .2s}.sidebar.open.svelte-181dlmc{transform:none}}.msg.svelte-t22hw0{max-width:min(80%,640px);align-self:flex-start;margin-top:10px}.msg.continuation.svelte-t22hw0{margin-top:2px}.msg.mine.svelte-t22hw0{align-self:flex-end}.meta.svelte-t22hw0{font-size:12px;color:var(--muted);display:flex;gap:8px;margin:0 4px 2px}.mine.svelte-t22hw0 .meta:where(.svelte-t22hw0){justify-content:flex-end}.name.svelte-t22hw0{font-weight:600;color:var(--text)}.row.svelte-t22hw0{display:flex;align-items:center;gap:4px}.mine.svelte-t22hw0 .row:where(.svelte-t22hw0){flex-direction:row-reverse}.bubble.svelte-t22hw0{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 12px;overflow-wrap:anywhere;min-width:0}.mine.svelte-t22hw0 .bubble:where(.svelte-t22hw0){background:var(--mine)}.text.svelte-t22hw0{white-space:pre-wrap}img.svelte-t22hw0{display:block;max-width:min(320px,100%);max-height:320px;border-radius:8px;margin-top:4px}.file.svelte-t22hw0{display:flex;gap:6px;align-items:center;text-decoration:none;margin-top:4px}.file-name.svelte-t22hw0{overflow-wrap:anywhere}.file.svelte-t22hw0 small:where(.svelte-t22hw0){color:var(--muted);white-space:nowrap}.deleted.svelte-t22hw0{color:var(--muted)}.del.svelte-t22hw0{opacity:0;border:none;background:none;color:var(--muted);padding:2px 6px}.msg.svelte-t22hw0:hover .del:where(.svelte-t22hw0),.del.svelte-t22hw0:focus-visible{opacity:1}@media(hover:none){.del.svelte-t22hw0{opacity:.5}}.list.svelte-vrn44r{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column}.older.svelte-vrn44r{align-self:center;font-size:13px;padding:4px 12px}.hint.svelte-vrn44r{align-self:center;color:var(--muted);font-size:13px;padding:8px}.day.svelte-vrn44r{align-self:stretch;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin:16px 0 4px}.day.svelte-vrn44r:before,.day.svelte-vrn44r:after{content:"";flex:1;border-top:1px solid var(--border)}.pending.svelte-vrn44r{align-self:flex-end;max-width:min(80%,640px);margin-top:6px;opacity:.7}.pending.failed.svelte-vrn44r{opacity:1}.pending.svelte-vrn44r .bubble:where(.svelte-vrn44r){background:var(--mine);border:1px dashed var(--border);border-radius:12px;padding:8px 12px;overflow-wrap:anywhere}.pending.svelte-vrn44r .text:where(.svelte-vrn44r){white-space:pre-wrap}.status.svelte-vrn44r{font-size:12px;color:var(--muted);text-align:right;margin-top:2px}.failed.svelte-vrn44r .status:where(.svelte-vrn44r){color:var(--danger)}.status.svelte-vrn44r button:where(.svelte-vrn44r){font-size:12px;padding:2px 8px;margin-left:4px}.composer.svelte-1n8df3y{border-top:1px solid var(--border);background:var(--surface);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.chip.svelte-1n8df3y{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;background:var(--surface-2);border-radius:8px;padding:4px 4px 4px 10px;font-size:13px;max-width:100%}.chip.svelte-1n8df3y span:where(.svelte-1n8df3y){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.svelte-1n8df3y button:where(.svelte-1n8df3y){border:none;background:none;padding:2px 6px}.bar.svelte-1n8df3y{display:flex;gap:8px;align-items:flex-end}.attach.svelte-1n8df3y{font-size:18px;padding:6px 12px}textarea.svelte-1n8df3y{resize:none;max-height:160px;line-height:1.4}.layout.svelte-10ayso4{display:flex;height:100dvh}.main.svelte-10ayso4{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.topbar.svelte-10ayso4{display:flex;align-items:center;gap:8px;background:var(--surface);border-bottom:1px solid var(--border);padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top))}.topbar.svelte-10ayso4 h2:where(.svelte-10ayso4){flex:1;margin:0;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar.svelte-10ayso4 nav:where(.svelte-10ayso4){display:flex;align-items:center;gap:12px}.menu.svelte-10ayso4{display:none;padding:4px 10px}.banner.svelte-10ayso4{background:#f0b429;color:#000;text-align:center;font-size:13px;padding:4px}.typing.svelte-10ayso4{min-height:20px;padding:0 16px;font-size:12px;color:var(--muted)}.backdrop.svelte-10ayso4{display:none}.dropzone.svelte-10ayso4{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:20px;pointer-events:none;background:#3b6fe026;border:3px dashed var(--accent)}@media(max-width:767px){.menu.svelte-10ayso4{display:inline-block}.backdrop.svelte-10ayso4{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#0006;border:0;border-radius:0}}.row.svelte-x46yoc{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.row.svelte-1jknolv{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.row.svelte-1jknolv label:where(.svelte-1jknolv){display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}.new-link.svelte-1jknolv input:where(.svelte-1jknolv){flex:1;min-width:200px}.table-wrap.svelte-1jknolv{overflow-x:auto}table.svelte-1jknolv{width:100%;border-collapse:collapse;font-size:14px}th.svelte-1jknolv,td.svelte-1jknolv{text-align:left;padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}th.svelte-1jknolv{color:var(--muted);font-weight:400}.actions.svelte-1jknolv{text-align:right}.actions.svelte-1jknolv button:where(.svelte-1jknolv){padding:4px 10px;font-size:13px}
