:root{--bg: #f8fafc;--canvas: #f1f5f9;--surface: #fff;--surface-raised: #fff;--soft: #f4f4f5;--input: #fafafa;--ink: #18181b;--muted: #71717a;--subtle: #a1a1aa;--line: #e4e4e7;--line-strong: #d4d4d8;--blue: #2563eb;--blue-hover: #1d4ed8;--blue-soft: #eff6ff;--blue-line: #bfdbfe;--green: #15803d;--green-soft: #f0fdf4;--amber: #b45309;--amber-soft: #fffbeb;--red: #dc2626;--red-soft: #fef2f2;--shadow: 0 12px 36px #0f172a0c;--sans: "Segoe UI", "Microsoft YaHei UI", "PingFang SC", sans-serif;--mono: ui-monospace, "Cascadia Code", Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--bg: #0d0d11;--canvas: #09090c;--surface: #121217;--surface-raised: #16161d;--soft: #1c1c24;--input: #18181f;--ink: #f4f4f5;--muted: #a1a1aa;--subtle: #71717a;--line: #27272f;--line-strong: #3f3f46;--blue: #3b82f6;--blue-hover: #2563eb;--blue-soft: #17203b;--blue-line: #1e4082;--green: #4ade80;--green-soft: #11291e;--amber: #fbbf24;--amber-soft: #302510;--red: #f87171;--red-soft: #321a21;--shadow: 0 14px 40px #0003;color-scheme:dark}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{font:13px/1.55 var(--sans);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0;transition:background .15s,color .15s,border-color .15s}button:disabled{cursor:not-allowed;opacity:.45}button svg{flex-shrink:0}a{color:var(--blue);text-underline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input,textarea,select{width:100%;min-width:0;background:var(--input);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;outline:0;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 10%,transparent)}input::placeholder,textarea::placeholder{color:var(--subtle)}input[readonly]{color:var(--muted)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);padding:0;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2{line-height:1.4}small{font-size:11px}strong{font-weight:600}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.primary,.secondary,.danger-button{border-radius:10px;font-size:12px;font-weight:600;min-height:35px;padding:8px 13px;white-space:nowrap}.primary{background:var(--blue);color:#fff;border:1px solid transparent}.primary:hover:not(:disabled){background:var(--blue-hover)}.secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.secondary:hover:not(:disabled){background:var(--soft);border-color:var(--line-strong)}.danger-button{background:var(--red);color:#fff}.danger{color:var(--red)!important}.icon-button{width:29px;height:29px;border-radius:7px;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--soft);color:var(--ink)}.icon-button.active{color:var(--blue);background:var(--blue-soft)}.icon-button.danger:hover{color:var(--red);background:var(--red-soft)}.text-button{font-size:12px;color:var(--blue);padding:3px 0}.text-button:hover{text-decoration:underline}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:9px;background:var(--ink);color:var(--surface);font:700 12px var(--mono);flex-shrink:0;letter-spacing:-.5px}.brand-mark.small{width:21px;height:21px;font-size:10px;border-radius:6px}.brand-mark.mobile-brand{background:#2563eb;color:#fff}.badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:500;line-height:1.5}.success{color:var(--green);background:var(--green-soft)}.neutral{background:var(--soft);color:var(--muted)}.blue-badge{background:var(--blue-soft);color:var(--blue)}.warning-badge{background:var(--amber-soft);color:var(--amber)}.danger-badge{background:var(--red-soft);color:var(--red)}.error-box{display:flex;align-items:flex-start;gap:8px;color:var(--red);background:var(--red-soft);border:1px solid color-mix(in srgb,var(--red) 25%,transparent);border-radius:10px;padding:10px 12px;font-size:12px;overflow-wrap:anywhere}.error-box svg{flex-shrink:0;margin-top:2px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.launch-screen{height:var(--app-height, 100dvh);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:var(--muted);background:var(--surface)}.launch-screen .brand-mark{width:48px;height:48px;border-radius:15px;font-size:18px}.launch-screen p{font-size:12px}.login-screen{height:var(--app-height, 100dvh);display:flex;flex-direction:column;align-items:center;padding:24px 20px;background:var(--canvas);overflow-y:auto;gap:24px}.web-login-top{width:100%;max-width:430px;min-height:37px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;background:var(--soft);padding:3px 9px 3px 13px;font-size:11px;color:var(--muted)}.web-login-top>span{display:flex;align-items:center;gap:6px}.web-login-top>span svg{color:var(--green)}.login-card{width:100%;max-width:430px;background:var(--surface-raised);border:1px solid var(--line);border-radius:17px;padding:25px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:19px;margin:auto 0}.login-heading{display:flex;align-items:flex-start;gap:11px}.login-heading h1{font-size:17px;font-weight:700;letter-spacing:-.3px}.login-heading p{font-size:11px;color:var(--muted);margin-top:4px}.login-heading .brand-mark{width:42px;height:42px;border-radius:14px;font-size:15px}.login-heading .badge{margin-left:auto}.secure-hint{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--green);padding:9px 10px;background:var(--green-soft);border-radius:9px}.login-fields{display:flex;flex-direction:column;gap:13px}.login-fields>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500}.login-fields>label>span{display:flex;align-items:center;gap:5px}.login-fields>label>span svg{color:var(--subtle)}.login-fields input{font-size:12px;min-height:37px}.login-fields .device-field{order:3}.login-fields .password-field{order:2}.password-input{position:relative}.password-input input{padding-right:43px}.password-input>button{position:absolute;right:5px;top:4px}.remember-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:11px;padding:12px;cursor:pointer;background:var(--input)}.remember-card.selected{border-color:var(--blue-line);background:var(--blue-soft)}.remember-card>input{margin:3px 0 0}.remember-card>span{flex:1;min-width:0}.remember-card strong{display:block;font-size:12px}.remember-card strong small{font-size:10px;color:var(--blue);margin-left:5px;font-weight:400}.remember-card>span>small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px}.remember-card>svg{color:var(--blue);margin-top:3px}.login-submit{width:100%;min-height:39px;font-size:12px}.login-foot{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--subtle);font-size:10px}.web-login-foot{font-size:10px;color:var(--subtle);padding-bottom:env(safe-area-inset-bottom)}.desktop-login-screen{display:block;padding:0;background:var(--surface-raised)}.native-login{width:100%;max-width:none;border:0;box-shadow:none;border-radius:0;padding:24px;margin:0;gap:18px}.native-login h1{font-size:15px}.native-login .login-heading{gap:7px}.native-login .login-heading p{font-size:10px}.native-login .badge{font-size:9px}.native-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.native-fields .device-field{order:2}.native-fields .password-field{grid-column:1/-1;order:3}.window-titlebar{display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.login-titlebar{height:40px;background:var(--soft);border-bottom:1px solid var(--line);padding-left:13px;flex-shrink:0}.title-brand{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.title-controls{display:flex;height:100%;align-items:center}.window-control{height:100%;min-width:36px;color:var(--muted)}.window-control:hover{background:var(--soft);color:var(--ink)}.login-titlebar .window-control:hover{background:var(--line)}.close-control:hover{background:#e5484d!important;color:#fff!important}.control-separator{width:1px;height:16px;background:var(--line);margin:0 7px}.app-shell{height:var(--app-height, 100dvh);width:100%;max-width:1100px;margin:auto;display:flex;flex-direction:column;background:var(--bg);position:relative;border-left:1px solid var(--line);border-right:1px solid var(--line);overflow:hidden}.native-shell{max-width:none;border:0}.app-header{height:53px;flex-shrink:0;border-bottom:1px solid var(--line);padding-left:17px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);-webkit-user-select:none;user-select:none}.app-brand{display:flex;align-items:center;gap:9px;min-width:0}.app-brand h1{font-size:13px;font-weight:700;letter-spacing:-.2px}.header-subtitle{display:none}.header-actions{height:100%;display:flex;align-items:center;gap:4px;padding-right:13px}.native-shell .header-actions{padding-right:0;gap:0}.native-shell .header-actions>.icon-button{margin:0 3px}.connection-status{font-size:10px;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 20%,transparent);background:var(--green-soft);border-radius:20px;display:flex;align-items:center;gap:5px;padding:3px 7px;margin-left:3px;white-space:nowrap}.status-dot{height:5px;width:5px;border-radius:50%;background:currentColor}.connection-status.offline{color:var(--muted);background:var(--soft);border-color:var(--line)}.connection-status.connecting{color:var(--amber);background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 20%,transparent)}.connection-banner{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:8px 18px;font-size:11px;color:var(--amber);background:var(--amber-soft);border-bottom:1px solid color-mix(in srgb,var(--amber) 15%,transparent)}.connection-banner>span{flex:1;overflow-wrap:anywhere}.connection-banner>button{color:inherit;text-decoration:underline;white-space:nowrap}.timeline{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.timeline-inner{max-width:940px;margin:0 auto;padding:16px 22px 22px;display:flex;flex-direction:column;gap:12px}.history-row{display:flex;justify-content:center;min-height:25px;margin-bottom:3px}.history-start{font-size:10px;color:var(--subtle);display:inline-flex;align-items:center;gap:6px}.history-button{min-height:29px;padding:5px 12px;border-radius:30px;font-size:10px;color:var(--muted)}.date-divider{text-align:center;margin:4px 0 0;display:flex;align-items:center;gap:13px;color:var(--subtle);font-size:10px}.date-divider:before,.date-divider:after{content:"";height:1px;flex:1;background:var(--line)}.date-divider span{white-space:nowrap}.empty-state{padding:70px 0;text-align:center;display:flex;align-items:center;flex-direction:column;gap:17px}.empty-symbol{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border:1px solid var(--blue-line)}.empty-state h2{font-size:16px;font-weight:600}.empty-state p{font-size:12px;color:var(--muted);line-height:1.9}.empty-state>button{margin-top:5px}.message-card{padding:15px 16px;background:var(--surface-raised);border:1px solid var(--line);border-radius:15px;box-shadow:0 1px 2px #00000003;transition:border-color .15s}.message-card:hover{border-color:var(--line-strong)}.message-card.expired{background:var(--soft);opacity:.8}.message-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.message-origin{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.device-badge{font-size:10px;display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:260px;border:1px solid var(--line);border-radius:5px;background:var(--soft);padding:2px 7px;line-height:1.5}.device-badge>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-badge svg{flex-shrink:0}.device-badge.mobile{color:var(--blue);background:var(--blue-soft);border-color:var(--blue-line)}.message-origin time{font-family:var(--mono);font-size:10px;color:var(--subtle);white-space:nowrap}.message-tools{display:flex;align-items:center;gap:1px;flex-shrink:0}.message-tools>.badge{margin-right:4px}.message-tools .icon-button{width:25px;height:25px}.hover-action{opacity:0;pointer-events:none}.message-card:hover .hover-action,.message-card:focus-within .hover-action{opacity:1;pointer-events:auto}.message-text{font-size:13px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.message-text a{color:var(--blue);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-details{margin:13px 0 0;padding:12px 0 0;border-top:1px dashed var(--line);display:grid;gap:6px;font:10px/1.6 var(--mono);color:var(--muted);-webkit-user-select:text;user-select:text}.message-details>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px}.message-details dt{color:var(--subtle)}.message-details dd{margin:0;overflow-wrap:anywhere}.image-preview{position:relative;display:block;max-width:100%;width:360px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--soft);margin:2px 0 12px;min-height:90px;text-align:center}.image-preview img{display:block;max-width:100%;max-height:280px;width:100%;object-fit:contain}.image-placeholder{min-height:140px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--subtle);font-size:11px;padding:15px}.image-enlarge{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;background:#09090cb3;color:#fff;padding:4px 7px;border-radius:6px;font-size:10px;opacity:0;transition:opacity .15s}.image-preview:hover .image-enlarge,.image-preview:focus-visible .image-enlarge{opacity:1}.file-card{display:flex;align-items:center;gap:12px;min-width:0}.file-extension{width:44px;height:47px;display:grid;place-items:center;border-radius:10px;background:var(--soft);border:1px solid var(--line);color:var(--muted);font:600 10px var(--mono);flex-shrink:0}.image-extension{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue)}.file-description{flex:1;min-width:0}.file-description strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-description small{display:block;color:var(--subtle);font:10px/1.6 var(--mono);margin-top:4px}.file-description small>span{font-family:var(--sans)}.file-download{min-height:31px;font-size:11px;padding:6px 10px;flex-shrink:0}.download-status{margin-top:10px;font-size:10px;color:var(--muted)}.download-status>small{display:block;margin-top:5px;font-size:10px}.pending-message{border-color:color-mix(in srgb,var(--amber) 35%,transparent);background:var(--amber-soft)}.pending-error{display:flex;align-items:center;gap:12px;margin-top:10px;color:var(--amber);font-size:11px}.pending-error>span{flex:1;overflow-wrap:anywhere}.transfer-queue{display:flex;flex-direction:column;gap:9px;padding-top:7px}.queue-heading{font-size:10px;color:var(--subtle);display:flex;align-items:center;justify-content:space-between;padding:0 2px}.queue-heading>span{display:flex;align-items:center;gap:5px}.queue-heading small{font-size:10px}.upload-task{padding:13px 14px;border:1px solid var(--blue-line);background:color-mix(in srgb,var(--blue-soft) 65%,var(--surface));border-radius:14px}.upload-task>header{display:flex;align-items:center;gap:8px;min-width:0}.upload-task>header>strong{font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.task-actions{display:flex;flex-shrink:0}.task-actions button{width:25px;height:25px}.task-metrics{display:flex;justify-content:space-between;gap:10px;margin:10px 0 7px;font:10px var(--mono);color:var(--muted)}.progress-track{height:4px;border-radius:10px;background:color-mix(in srgb,var(--blue) 14%,var(--soft));overflow:hidden}.progress-track>span{height:100%;display:block;background:var(--blue);transition:width .15s}.upload-task.failed{border-color:color-mix(in srgb,var(--red) 30%,transparent);background:var(--red-soft)}.upload-task.failed .progress-track>span{background:var(--red)}.upload-task.paused,.upload-task.queued{background:var(--soft);border-color:var(--line)}.upload-task.hashing{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 25%,transparent)}.upload-task.hashing .progress-track>span{background:var(--amber)}.task-error{margin-top:9px;display:flex;gap:5px;align-items:flex-start;color:var(--red);font-size:11px;overflow-wrap:anywhere}.task-error svg{flex-shrink:0;margin-top:2px}.upload-task>small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.reselect-button{margin-top:10px;font-size:11px;min-height:30px}.composer{flex-shrink:0;border-top:1px solid var(--line);padding:10px 20px 11px;background:var(--surface);padding-bottom:max(11px,env(safe-area-inset-bottom))}.composer-inner{max-width:896px;margin:0 auto}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.desktop-attachments{display:flex;align-items:center;gap:12px}.toolbar-button{font-size:10px;color:var(--muted);border-radius:5px;padding:3px 0}.toolbar-button:hover{color:var(--ink)}.toolbar-note{font-size:10px;color:var(--subtle)}.storage-inline{display:flex;align-items:center;gap:5px;color:var(--subtle);font:9px var(--mono);white-space:nowrap}.mini-meter{display:flex;width:50px;height:4px;border-radius:5px;background:var(--line);overflow:hidden;margin-left:3px}.mini-meter>span,.storage-meter>span{height:100%;background:#22c55e}.mini-meter>i,.storage-meter>i{height:100%;background:#f59e0b}.composer-row{display:flex;align-items:stretch;gap:9px}.composer-row textarea{flex:1;resize:none;min-height:59px;max-height:150px;padding:10px 12px;font-size:12px;border-color:var(--line);border-radius:10px;background:var(--input);line-height:1.6}.send-button{min-width:64px;min-height:59px;padding:9px 14px;flex-direction:column;gap:4px;font-size:10px;font-weight:500;background:var(--ink);color:var(--surface);border-radius:10px}.send-button:hover:not(:disabled){opacity:.88}.send-button:disabled{background:var(--soft);color:var(--subtle);opacity:1}:root[data-theme=dark] .send-button{background:#2563eb;color:#fff}:root[data-theme=dark] .send-button:disabled{background:var(--soft);color:var(--subtle)}.composer-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--subtle);margin-top:7px;gap:10px}.composer-foot>span:first-child{display:flex;align-items:center;gap:4px}.mobile-plus,.mobile-attachments,.mobile-device-name{display:none}.new-message-anchor{position:absolute;bottom:147px;left:50%;transform:translate(-50%);z-index:3;white-space:nowrap}.new-message-anchor button{border-radius:30px;font-size:11px;min-height:29px;padding:6px 12px;box-shadow:0 4px 12px #2563eb30}.staged-files{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:10px}.staged-file{display:flex;align-items:center;gap:9px;border:1px solid var(--blue-line);border-radius:9px;padding:6px 7px;background:var(--blue-soft);max-width:100%;min-width:0}.staged-file>img{width:45px;height:35px;object-fit:cover;border-radius:5px}.staged-file>svg{color:var(--blue)}.staged-file>div{min-width:0}.staged-file strong{font-size:10px;display:block;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staged-file small{font-size:9px;color:var(--muted)}.staged-caption{font-size:10px;color:var(--muted);align-self:center}.drop-overlay{position:absolute;inset:3px;display:grid;place-items:center;border:2px dashed var(--blue);border-radius:12px;background:color-mix(in srgb,var(--blue-soft) 85%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;pointer-events:none}.drop-overlay>div{text-align:center;padding:28px;background:var(--surface);border:1px solid var(--blue-line);border-radius:16px;box-shadow:var(--shadow);color:var(--blue)}.drop-overlay h2{font-size:16px;color:var(--ink);margin:14px 0 5px}.drop-overlay p{font-size:11px;color:var(--muted)}dialog{color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:17px;box-shadow:0 24px 80px #0004;padding:0;max-height:calc(var(--app-height, 100dvh) - 40px)}dialog::backdrop{background:#080b1659;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-dialog{width:min(680px,calc(100vw - 36px))}.settings-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;flex-shrink:0;gap:15px}.dialog-title{display:flex;align-items:center;gap:10px;min-width:0}.dialog-title-icon{width:37px;height:37px;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);border-radius:11px;color:var(--muted)}.dialog-title h2{font-size:15px;font-weight:600}.dialog-title p{font-size:10px;color:var(--subtle);margin-top:3px}.settings-tabs{display:flex;gap:8px;padding:0 22px;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0;scrollbar-width:none}.settings-tabs button{white-space:nowrap;padding:10px 8px 11px;font-size:11px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;gap:6px}.settings-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.settings-body{padding:23px;overflow-y:auto;min-height:280px;scrollbar-width:thin;max-height:calc(var(--app-height, 100dvh) - 190px)}.settings-body>.error-box{margin-bottom:16px}.settings-section{display:flex;flex-direction:column;gap:19px}.settings-section h3{font-size:13px;font-weight:600}.settings-section label{font-size:12px;font-weight:500;display:block}.settings-section label>input,.settings-section label>.inline-form{margin-top:7px}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input{flex:1}.inline-form>button{flex-shrink:0}.settings-section input:not([type=checkbox]){font-size:12px;min-height:37px}.preference-box{display:flex!important;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--input);border-radius:12px;padding:13px 14px}.preference-box strong{font-size:12px}.preference-box p,.preference-box small{color:var(--muted);font-size:10px;display:block;margin-top:4px;line-height:1.7}.preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.switch-input{appearance:none!important;position:relative;display:block;width:36px!important;height:20px!important;border:0!important;border-radius:20px!important;background:var(--line-strong);cursor:pointer;margin:0!important}.switch-input:after{content:"";width:16px;height:16px;position:absolute;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}.switch-input:checked{background:var(--blue)}.switch-input:checked:after{transform:translate(16px)}.section-description{font-size:11px;color:var(--muted);line-height:1.8}.settings-tip{display:flex;align-items:flex-start;gap:10px;background:var(--blue-soft);color:var(--muted);padding:14px;border-radius:11px;font-size:11px;line-height:1.8}.settings-tip svg{color:var(--blue);flex-shrink:0;margin-top:2px}.device-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px}.device-symbol{width:36px;height:36px;background:var(--soft);border-radius:10px;display:grid;place-items:center;flex-shrink:0;color:var(--muted)}.device-row>div{flex:1;min-width:0}.device-row strong{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;overflow-wrap:anywhere}.device-row small{font-size:10px;color:var(--subtle);display:block;margin-top:4px}.device-row.revoked{opacity:.6}.device-row>button{font-size:10px;min-height:29px;padding:5px 9px}.storage-panel{border:1px solid var(--line);background:var(--input);padding:16px;border-radius:12px}.storage-panel>.row{font-size:11px}.storage-panel>.row>span{font:10px var(--mono);color:var(--muted)}.storage-meter{display:flex;height:9px;border-radius:20px;background:var(--line);overflow:hidden;margin:13px 0}.storage-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font:10px var(--mono)}.storage-legend>span{display:flex;align-items:center;gap:5px}.storage-legend i{display:block;width:7px;height:7px;border-radius:2px;background:#22c55e}.storage-legend>span:nth-child(2) i{background:#f59e0b}.retention-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.retention-options>button{position:relative;display:block;text-align:left;border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--surface)}.retention-options strong{font-size:12px;display:block}.retention-options small{font-size:10px;display:block;color:var(--muted);margin-top:5px}.retention-options button.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.retention-options svg{position:absolute;top:10px;right:9px}.retention-confirm{padding:15px;border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);border-radius:11px;background:var(--amber-soft)}.retention-confirm>strong{display:flex;gap:6px;align-items:center;color:var(--amber);font-size:12px}.retention-confirm p{font-size:11px;line-height:1.8;color:var(--muted);margin:8px 0 14px}.password-form{display:flex;flex-direction:column;gap:15px}.password-form>.primary{align-self:flex-start}.logout-panel{display:flex;align-items:center;justify-content:space-between;gap:13px;border-top:1px solid var(--line);padding-top:21px;margin-top:6px}.logout-panel strong{font-size:12px}.logout-panel p{font-size:10px;color:var(--muted);margin-top:4px}.confirm-dialog{width:min(390px,calc(100vw - 36px));padding:24px}.confirm-dialog h2{font-size:16px;margin-top:14px}.confirm-dialog>p{font-size:12px;color:var(--muted);line-height:1.9;margin:10px 0 23px}.confirm-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--red-soft);color:var(--red)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.image-dialog{max-width:calc(100vw - 32px);width:fit-content;overflow:hidden;background:var(--surface)}.image-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 13px;border-bottom:1px solid var(--line)}.image-dialog strong{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:70vw}.image-dialog>img{display:block;max-height:calc(var(--app-height, 100dvh) - 110px);max-width:calc(100vw - 34px);object-fit:contain}.toast{position:fixed;bottom:23px;right:23px;z-index:100;display:flex;align-items:flex-start;gap:8px;max-width:min(420px,calc(100vw - 32px));background:#18181b;color:#fafafa;border:1px solid #3f3f46;border-radius:12px;padding:12px 15px;font-size:11px;box-shadow:0 8px 30px #0003}.toast svg{flex-shrink:0;color:#4ade80;margin-top:1px}.toast>span{overflow-wrap:anywhere}@media(max-width:850px){.toolbar-note{display:none}.desktop-attachments{gap:10px}.settings-tabs{gap:3px}.settings-tabs button{padding-left:5px;padding-right:5px}}@media(max-width:600px){.app-shell{max-width:none;border:0}.app-header{height:57px;padding-left:14px}.app-brand h1{font-size:13px}.app-brand{gap:8px}.header-subtitle{display:block;font-size:9px;color:var(--subtle);margin-top:1px}.connection-status{font-size:9px;padding:2px 6px;margin-left:0}.header-actions{padding-right:10px;gap:2px}.timeline-inner{padding:12px 11px 16px;gap:10px}.history-start{font-size:9px}.message-card{padding:11px 12px;border-radius:13px}.message-head{gap:5px;margin-bottom:9px}.message-origin{gap:6px}.device-badge{font-size:9px;padding:2px 5px;max-width:145px}.message-origin time{font-size:9px}.message-tools .icon-button{width:22px;height:22px}.message-tools>.badge{font-size:9px;padding:2px 4px;margin-right:1px}.hover-action{opacity:1;pointer-events:auto}.message-text{font-size:12px;line-height:1.85}.file-card{gap:8px}.file-extension{width:38px;height:41px;font-size:9px}.file-description strong{font-size:11px}.file-description small{font-size:9px}.file-download{padding:6px;min-width:31px}.file-download>span{display:none}.image-preview{width:100%;max-width:340px}.image-preview img{max-height:240px}.task-metrics{font-size:9px}.upload-task{padding:11px}.upload-task>header{gap:5px}.upload-task>header>.badge{font-size:9px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.task-actions .icon-button{width:23px}.queue-heading{font-size:10px}.queue-heading>small{font-size:9px}.composer{padding:9px 10px max(9px,env(safe-area-inset-bottom))}.composer-toolbar{justify-content:flex-end;margin-bottom:7px}.desktop-attachments{display:none}.storage-inline{font-size:8px}.mini-meter{width:35px}.mobile-plus{display:inline-flex;width:39px;height:40px;background:var(--soft);border-radius:12px;margin-bottom:1px}.mobile-plus.active{color:#fff;background:#2563eb}.composer-row{gap:7px;align-items:flex-end}.composer-row textarea{min-height:42px;height:42px;max-height:96px;padding:10px 12px;font-size:13px;border-radius:13px;line-height:1.5}.send-button{height:41px;min-height:41px;width:41px;min-width:41px;background:#2563eb;color:#fff;border-radius:12px;padding:0}.send-button>span{display:none}.send-button>svg{width:17px}.composer-foot{font-size:8px;margin-top:7px}.keyboard-hint{display:none}.mobile-device-name{display:inline;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:35%}.mobile-attachments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px;margin-bottom:9px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.mobile-attachments>button{flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--surface);font-size:10px}.mobile-attachments button:first-child svg{color:var(--blue)}.mobile-attachments button:nth-child(2) svg{color:var(--green)}.mobile-attachments button:nth-child(3) svg{color:var(--amber)}.new-message-anchor{bottom:126px}.new-message-anchor>button{font-size:10px}.staged-file{max-width:100%;flex:1}.staged-file strong{max-width:220px}.staged-caption{font-size:9px}.login-screen{padding:19px 19px 18px;gap:22px}.login-card{padding:21px;gap:18px}.login-heading h1{font-size:16px}.web-login-top{max-width:430px}.web-login-foot{font-size:9px}.native-login{padding:23px}.desktop-login-screen{padding:0;gap:0}.native-fields{gap:12px}.native-login .login-heading h1{font-size:15px}.settings-dialog{width:100%;max-width:100vw;max-height:calc(var(--app-height, 100dvh) - 20px);margin:auto 0 0;border-radius:19px 19px 0 0;border-bottom:0}.dialog-heading{padding:19px 17px 15px}.dialog-title h2{font-size:14px}.settings-tabs{padding:0 14px;gap:7px}.settings-tabs button{font-size:10px;padding:10px 4px;gap:4px}.settings-tabs svg{width:13px}.settings-body{padding:19px 16px max(22px,env(safe-area-inset-bottom));max-height:calc(var(--app-height, 100dvh) - 149px)}.preferences-grid{grid-template-columns:1fr}.preference-box{padding:12px}.storage-panel{padding:13px}.storage-panel>.row{align-items:flex-start}.storage-panel>.row>span{font-size:9px}.retention-options{gap:7px}.retention-options>button{padding:13px 9px}.retention-options strong{font-size:11px}.retention-options small{font-size:9px;line-height:1.7}.retention-options svg{width:11px;right:5px;top:5px}.device-row{gap:9px;padding:11px}.device-row strong{font-size:11px}.device-row small{font-size:9px}.device-symbol{width:31px;height:33px}.device-row>button{font-size:9px;padding:5px 7px}.logout-panel{align-items:flex-start}.logout-panel>button{font-size:10px}.empty-state{padding:60px 0}.empty-state h2{font-size:15px}.toast{bottom:17px;left:16px;right:16px;max-width:none}.image-dialog{max-width:calc(100vw - 20px)}.image-dialog>img{max-width:calc(100vw - 22px)}}@media(hover:none){.hover-action{opacity:1;pointer-events:auto}.image-enlarge{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.screen-capture-overlay{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#08090b;color:#f4f4f5;overflow:hidden}.screen-capture-overlay::backdrop{background:#08090b;-webkit-backdrop-filter:none;backdrop-filter:none}.screen-capture-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.screen-capture-surface{position:relative;flex-shrink:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;line-height:0}.screen-capture-surface>img{display:block;width:100%;height:100%;pointer-events:none}.screen-capture-dim{position:absolute;inset:0;background:#0006;pointer-events:none}.screen-capture-selection{position:absolute;border:1px solid #7dd3fc;box-shadow:0 0 0 99999px #0008;pointer-events:none}.screen-capture-hint{position:fixed;top:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:1px solid #ffffff24;border-radius:8px;background:#18181ce8;color:#f4f4f5;white-space:nowrap;font-size:12px;pointer-events:none;box-shadow:0 4px 20px #0003}.screen-capture-toolbar{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:4px;max-width:calc(100vw - 24px);padding:7px;border:1px solid #ffffff28;border-radius:10px;background:#202024f5;box-shadow:0 8px 35px #0006;color:#e4e4e7}.screen-capture-toolbar>button{color:inherit;white-space:nowrap;font-size:12px;border-radius:6px;gap:6px;padding:10px 12px;min-height:39px}.screen-capture-toolbar>button:hover:not(:disabled){background:#ffffff14}.screen-capture-toolbar>button:focus-visible{outline:2px solid #7dd3fc;outline-offset:1px}.screen-capture-toolbar>button:disabled{opacity:.4}.screen-capture-toolbar>i{width:1px;align-self:stretch;background:#ffffff20;margin:4px 5px}.screen-capture-size{padding:0 14px;font:12px var(--mono);white-space:nowrap;color:#d4d4d8}.screen-capture-size small{color:#a1a1aa}.screen-capture-toolbar kbd{font:10px var(--mono);color:#a1a1aa;padding:0 2px}.screen-capture-toolbar .capture-copy-button{background:#2563eb;color:#fff}.screen-capture-toolbar .capture-copy-button:hover:not(:disabled){background:#1d4ed8}.screen-capture-error{position:fixed;bottom:100px;left:50%;transform:translate(-50%);padding:10px 18px;background:#7f1d1d;color:#fff;border-radius:8px;font-size:12px}@media(max-width:600px){.screen-capture-toolbar{width:calc(100vw - 24px);flex-wrap:wrap;bottom:max(12px,env(safe-area-inset-bottom))}.screen-capture-size{width:100%;text-align:center;padding:3px}.screen-capture-toolbar>button{padding:8px;font-size:11px}.screen-capture-toolbar>i,.screen-capture-toolbar kbd{display:none}.screen-capture-hint{font-size:10px;gap:5px;max-width:calc(100vw - 20px);white-space:normal;top:14px}.screen-capture-error{bottom:145px}.mobile-attachments>button{padding:11px 4px}}
