@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#1b2226;font-synthesis:none;--size-s:8px;--size-m:12px;--size-l:16px;--space-s:8px;--space-m:12px;--space-l:16px;--font-s:12px;--font-m:14px;--font-l:16px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--control-s:32px;--control-m:40px;--control-l:48px;--panel-width:560px;--theme-bg:#ffd43b;--theme-bg-soft:#fff4c1;--theme-text:#463b14;--border-color:#e4e8e3;background:#f4f5f1;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{min-width:320px;height:100dvh;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.app-shell{background:#fff;flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.app-shell--desktop{background:#f7f8f5}header{justify-content:space-between;align-items:center;gap:var(--space-m);border-bottom:1px solid #ecede9;height:64px;padding:0 20px;display:flex}.brand{align-items:center;gap:var(--space-m);min-width:0;display:flex}.brand-mark{color:#584500;border-radius:var(--radius-m);width:var(--control-m);height:var(--control-m);background:#ffe177;flex:none;place-items:center;display:grid}.brand-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.brand-copy strong{font-size:var(--font-l);line-height:1.1}.brand-copy small{color:#66716d;font-size:var(--font-s);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;overflow:hidden}.header-actions{align-items:center;gap:var(--space-s);margin-left:auto;display:flex}.app-body{flex:1;min-height:0;display:flex}.sidebar{gap:var(--space-s);background:#fbfcfa;border-right:1px solid #edf0eb;flex-direction:column;width:276px;min-height:0;padding:20px 14px 16px;display:flex;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #edf0eb;margin-bottom:4px;padding:2px 8px 14px}.nav-item{align-items:center;gap:var(--space-m);min-height:var(--control-m);color:#57615e;font-weight:600;font-size:var(--font-m);text-align:left;padding:0 var(--space-m);border-radius:var(--radius-m);background:0 0;border:0;display:flex;position:relative}.nav-item.active{color:#1f2825;background:#fff7d9}.nav-item.active:before{content:"";background:#ffc800;border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.nav-item--primary{background:var(--theme-bg);color:var(--theme-text);box-shadow:0 10px 24px #ffd43b52}.nav-item--primary.active{background:var(--theme-bg)}.nav-item i{background:#35bb57;border-radius:50%;width:6px;height:6px;margin-left:auto}.nav-spacer{flex:1}.conversation-label{color:#929b96;font-size:var(--font-s);padding:var(--space-l) var(--space-m) 6px;align-items:center;gap:7px;font-weight:700;display:flex}.conversation-list{flex-direction:column;gap:4px;display:flex}.empty-conversations{color:#9da5a0;font-size:var(--font-s);padding:var(--space-s) var(--space-m);line-height:1.55}.conversation-item{min-width:0;min-height:var(--control-m);border-radius:var(--radius-m);gap:var(--space-s);text-align:left;background:0 0;border:0;align-items:center;padding:8px;display:flex}.conversation-item:hover,.conversation-item.selected{background:#eff5ea}.avatar-badge{color:#655100;background:#ffe178;place-items:center;font-weight:700;display:grid;position:relative}.avatar-badge__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.avatar-badge__status{border:2px solid #fbfcfa;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.avatar-badge__status--online{background:#2eb84c}.avatar-badge__status--offline{background:#aeb6b1}.conversation-avatar{border-radius:50%;flex:none;width:32px;height:32px;font-size:13px}.conversation-content{flex:1;min-width:0}.conversation-row{align-items:center;gap:8px;min-width:0;display:flex}.conversation-item strong,.conversation-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conversation-item strong{min-width:0;font-size:var(--font-s);color:#35403a;flex:1}.conversation-time{color:#97a09b;flex:none;font-size:11px}.conversation-item small{color:#8a9590;margin-top:2px;font-size:11px}.sidebar-profile{border-top:1px solid #edf0eb;align-items:center;gap:10px;min-width:0;margin:4px 8px 6px;padding:10px 4px;display:flex}.sidebar-profile__avatar{border-radius:50%;flex:none;width:34px;height:34px}.sidebar-profile>span{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar-profile small,.sidebar-profile strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-profile small{color:#8a9590;font-size:11px}.sidebar-profile strong{color:#3b4741;font-size:var(--font-s)}.connect-view{flex:1;min-height:0;padding:48px clamp(24px,5vw,72px);overflow:auto}.view-heading{width:min(100%, var(--panel-width));margin:0 auto var(--space-l)}.eyebrow{color:#35a651;font-weight:700;font-size:var(--font-s);align-items:center;gap:7px;display:flex}.view-heading h1{letter-spacing:0;margin:8px 0;font-size:31px}.view-heading p{color:#6a7470;font-size:var(--font-m);margin:0}.connection-panel{width:min(100%, var(--panel-width));border:1px solid var(--border-color);border-radius:var(--radius-l);background:#fff;margin-inline:auto;padding:24px 28px}.connection-section{align-items:center;gap:14px;display:flex}.connection-section--code{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px 14px;display:grid}.connection-section--code .connection-copy,.connection-section--code .verification-code-display,.connection-section--code .connection-actions{grid-column:2}.connection-icon{border-radius:var(--radius-m);color:#e9ad00;background:#fff3c1;flex:none;place-items:center;width:42px;height:42px;display:grid}.connection-copy{flex:1;min-width:0}.connection-copy h2{font-size:var(--font-l);margin:0 0 3px}.connection-copy p{color:#7a847f;font-size:var(--font-s);margin:0;line-height:1.55}.connection-section .code-inputs{justify-content:center;margin:0}.connection-section .code-inputs input{aspect-ratio:1;width:42px;height:auto;font-size:21px}.refresh-button{margin:0}.connection-divider{background:#edf0eb;height:1px;margin:20px 0}.qr-section{grid-template-columns:42px 1fr;display:grid}.qr-frame{border-radius:var(--radius-s);border:1px dashed #efbb00;grid-column:1/-1;justify-self:center;margin-top:14px;padding:10px;position:relative}.qr-image{border-radius:4px;width:166px;height:166px;display:block}.qr-placeholder{background:#f3f4f0;border-radius:4px;width:166px;height:166px}.qr-canvas-host{opacity:0;pointer-events:none;position:absolute;inset:0}.qr-tip{text-align:center;color:#7a847f;font-size:var(--font-s);grid-column:1/-1;margin:8px 0 0}.join-section{flex-wrap:wrap}.join-section .code-inputs{justify-content:center;width:100%;margin-top:8px}.join-section .code-inputs input{flex:none}.join-section .primary-button{margin:0}.code-inputs{justify-content:center;gap:var(--space-s);margin:2px 0 var(--space-l);display:flex}.code-inputs input{width:var(--control-l);aspect-ratio:1;border-radius:var(--radius-s);text-align:center;color:#242b29;border:1px solid #dfe3df;outline-color:#f5c500;height:auto;font-size:25px;font-weight:700}.primary-button{background:var(--theme-bg);color:var(--theme-text);border-radius:var(--radius-s);width:100%;min-height:var(--control-m);padding:0 var(--space-l);border:0;margin-top:auto;font-weight:700}.primary-button:disabled{opacity:.48;cursor:not-allowed}.text-button{min-height:var(--control-s);color:#66716d;font-size:var(--font-s);background:0 0;border:0;align-items:center;gap:6px;margin-top:auto;display:flex}.privacy-banner,.error-banner{max-width:var(--panel-width);align-items:center;gap:var(--space-s);border-radius:var(--radius-s);margin:30px auto 0;padding:14px 17px;font-size:13px;display:flex}.connect-privacy-banner{margin:0 auto 18px}.privacy-banner{color:#987300;background:#fff9e6;border:1px solid #f5d66b}.error-banner{color:#bf3d28;background:#fff2ef;border:1px solid #facfc7;margin-top:15px}.dialog-backdrop{z-index:10;background:#1b22264d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.error-dialog{text-align:center;border-radius:var(--radius-l);background:#fff;width:min(100%,360px);padding:30px;position:relative;box-shadow:0 18px 50px #1c252633}.dialog-icon{color:#dc5e45}.error-dialog h2{margin:13px 0 8px;font-size:19px}.error-dialog p{color:#6f7974;font-size:var(--font-m);margin:0 0 24px;line-height:1.55}.dialog-close{color:#69746e;background:0 0;border:0;padding:5px;position:absolute;top:12px;right:12px}.connect-view--minimal{padding-top:28px}.connect-view--minimal .connection-panel{box-shadow:none}.connect-view--minimal .error-banner{margin-top:12px}.connection-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.connection-actions--stacked{justify-content:flex-start;width:100%;margin-top:2px;margin-left:0}.connection-section--lan{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px 14px;display:grid}.connection-section--lan .lan-device-list{grid-column:1/-1}.lan-device-list{overscroll-behavior-x:contain;scrollbar-width:thin;gap:10px;width:100%;padding:2px 2px 6px;display:flex;overflow-x:auto}.lan-device-item{border-radius:var(--radius-m);color:#33413b;text-align:center;background:#fbfcfa;border:1px solid #e7ebe6;flex-direction:column;flex:0 0 92px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:92px;padding:8px 6px;display:flex}.lan-device-item:hover:not(:disabled){background:#fffdf4;border-color:#efc420}.lan-device-item:disabled{opacity:.55;cursor:not-allowed}.lan-device-avatar{border-radius:50%;flex:none;width:48px;height:48px}.lan-device-item>span:not(.avatar-badge){text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:var(--font-s);font-weight:700;overflow:hidden}.verification-code-display{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:200px;display:grid}.verification-code-display span{color:#29312e;text-align:center;background:#fffdf7;border:1px solid #dfe3df;border-radius:10px;min-width:0;padding:10px 0;font-size:24px;font-weight:700}.workspace{flex:1;grid-template-rows:72px minmax(0,1fr) 84px;min-width:0;min-height:0;display:grid;overflow:hidden}.peer-panel{border-bottom:1px solid #edf0eb;align-items:center;gap:10px;padding:0 24px;display:flex}.peer-avatar{border-radius:50%;width:36px;height:36px;font-size:13px;font-weight:700}.self-avatar-chip{border-radius:50%;width:24px;height:24px;font-size:11px}.peer-title{align-items:center;gap:3px;font-size:15px;font-weight:700;display:flex}.connection{align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.connection.online{color:#399d51}.connection.offline{color:#9ba39f}.connection.blocked{color:#b8642f}.message-area{background:#fcfdfb;min-height:0;padding:28px clamp(22px,5vw,80px);transition:background .15s;overflow:hidden auto}.message-area.dragging{outline-offset:-12px;background:#fff8df;outline:2px dashed #e4b500}.date-separator{color:#9ba19e;text-align:center;margin-bottom:25px;font-size:12px}.empty-transfer{color:#9da5a0;flex-direction:column;align-items:center;gap:12px;margin:80px auto;display:flex}.empty-transfer svg{color:#f4c31b}.empty-transfer strong{color:#53615a}.message-list{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.file-message{background:#fff;border:1px solid #edf0eb;border-radius:10px 10px 10px 2px;align-items:center;gap:11px;max-width:min(420px,85%);padding:11px 13px;display:flex}.file-message.outgoing{background:#e5f8df;border-radius:10px 10px 2px;align-self:flex-end}.file-message.expired{background:#f7f7f5;border-color:#e2e4de}.file-type{color:#d64c3d;background:#fff0ef;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:grid}.file-type.image{color:#6684d7;background:#e3eafa}.file-message strong,.file-message small{display:block}.file-message strong{overflow-wrap:anywhere;font-size:13px}.file-message small,time{color:#718179;margin-top:3px;font-size:11px}.transfer-meta{line-height:1.45}.file-message time{align-self:end;margin-left:auto}.expired-hint{color:#bf5b2c;margin-top:6px;font-size:11px;font-style:normal;display:block}.text-message{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#fff;border:1px solid #edf0eb;border-radius:10px 10px 10px 2px;width:fit-content;max-width:80%;padding:10px 13px;display:inline-block}.text-message.outgoing{background:#e5f8df;border-radius:10px 10px 2px;align-self:flex-end}.composer{padding:var(--space-m) 22px;align-items:center;gap:var(--space-s);border-top:1px solid #edf0eb;display:flex}.composer input:not([type=file]){border-radius:var(--radius-m);min-width:0;min-height:var(--control-m);border:1px solid #e1e5e0;outline-color:#f5c500;flex:1;padding:0 14px}.composer input:disabled{color:#8b9590;background:#f5f6f3}.icon-button{width:var(--control-m);height:var(--control-m);color:#63706a;border-radius:var(--radius-m);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.send-button{color:#614b00;background:#ffd43b;border:0;border-radius:999px;place-items:center;width:34px;height:34px;margin-right:4px;transition:transform .15s,box-shadow .15s,background-color .15s;display:grid;box-shadow:0 6px 14px #ffd43b4f}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #ffd43b5c}.send-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 10px #ffd43b45}.send-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.toast{z-index:12;color:#fff;word-break:break-word;background:#252c28;border-radius:10px;max-width:min(360px,100vw - 32px);padding:12px 14px;font-size:13px;line-height:1.45;animation:.18s toast-in;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #1c252633}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.image-thumbnail{background:#edf0eb;border:0;border-radius:7px;flex:none;width:58px;height:58px;padding:0;overflow:hidden}.image-thumbnail img{object-fit:cover;width:100%;height:100%}.transfer-progress{color:#63706a;text-align:center;background:#edf1ec;border-radius:4px;height:13px;margin-top:6px;font-size:9px;line-height:13px;display:block;position:relative;overflow:hidden}.transfer-progress i{opacity:.75;background:#ffd43b;position:absolute;inset:0 auto 0 0}.transfer-progress{isolation:isolate}.file-save-dialog{text-align:center;background:#fff;border-radius:12px;width:min(100%,360px);padding:30px;position:relative;box-shadow:0 18px 50px #1c252633}.file-save-dialog h2{margin:13px 0 8px;font-size:19px}.file-save-dialog p{color:#6f7974;overflow-wrap:anywhere;margin:0 0 24px}.file-save-dialog .primary-button{justify-content:center;align-items:center;gap:8px;display:flex}.image-preview-backdrop{z-index:11;background:#101613d9;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-preview-dialog{place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:auto}.image-preview-dialog img{transform-origin:50%;max-width:80%;max-height:80%;transition:transform .15s}.preview-toolbar{z-index:1;color:#fff;background:#252c28;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex;position:fixed;top:24px}.preview-toolbar button{color:#fff;background:0 0;border:0;place-items:center;padding:6px;display:grid}.preview-toolbar span{text-align:center;min-width:44px;font-size:12px}.verification-code-display{color:#29312e;letter-spacing:.3em;text-align:center;background:#fffdf7;border:1px solid #dfe3df;border-radius:10px;min-width:0;padding:12px 14px;font-size:28px;font-weight:700;display:block}.peer-panel{justify-content:space-between}.peer-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.composer{padding:var(--space-m) 22px}.composer-shell{width:100%;min-height:var(--control-m);padding:0 10px 0 var(--space-s);border-radius:var(--radius-m);background:#fff;border:1px solid #e1e5e0;align-items:center;gap:12px;display:flex;box-shadow:0 8px 20px #eff2ed}.composer-shell input:not([type=file]){min-height:var(--control-m);box-shadow:none;background:0 0;border:0;padding:0 4px}.composer-shell input:not([type=file]):focus{outline:none}.composer-shell .send-button{flex:none}.composer-shell--disabled{box-shadow:none;background:#eef1ed;border-color:#d9dfd8}.composer-shell--disabled input:not([type=file]){color:#77817c}.composer-shell--disabled input:not([type=file])::placeholder{color:#9aa39f}.composer-shell--disabled .icon-button{color:#919b96;opacity:.72}.composer-shell--disabled .send-button{color:#8b948f;opacity:1;background:#d7ddd6}.conversation-menu{position:relative}.conversation-menu__dropdown{z-index:4;background:#fff;border:1px solid #e7ebe6;border-radius:12px;min-width:144px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #1c25261f}.conversation-menu__dropdown button{text-align:left;color:#41504a;background:0 0;border:0;border-radius:8px;width:100%;padding:10px 12px}.conversation-menu__dropdown button:hover{background:#f5f8f3}.conversation-menu__dropdown .danger{color:#c14d34}.settings-view,.about-view,.tutorial-view{flex-direction:column;display:flex}.settings-layout,.tutorial-layout{flex-direction:column;gap:20px;width:min(100%,760px);margin:0 auto;display:flex}.settings-panel{background:#fff;border:0;border-radius:20px;width:100%;margin:0;padding:28px;box-shadow:0 16px 40px #1c25260a}.settings-panel--primary,.settings-panel--about-page,.settings-panel--stacked{flex-direction:column;gap:0;display:flex}.settings-group{flex-direction:column;gap:10px;display:flex}.tutorial-panel{flex-direction:column;gap:18px;display:flex}.tutorial-step-list,.tutorial-mode-list{flex-direction:column;gap:12px;display:flex}.tutorial-step-card,.tutorial-mode-card{background:#f8faf7;border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}.tutorial-step-card{position:relative}.tutorial-step-icon{color:#9b7400;background:#fff4c1;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.tutorial-step-copy,.tutorial-mode-card p{min-width:0}.tutorial-step-copy strong,.tutorial-mode-head strong{color:#1f2825;margin-bottom:6px;font-size:16px;display:block}.tutorial-step-copy p,.tutorial-mode-card p{color:#6a7470;margin:0;font-size:13px;line-height:1.7}.tutorial-step-arrow{color:#c2c9c4;align-self:center;margin-left:auto}.tutorial-mode-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.tutorial-mode-card{display:block}.settings-links{flex-direction:column;gap:12px;display:flex}.settings-section-title h2{color:#1f2825;margin:0 0 6px;font-size:20px}.settings-section-title p{color:#6a7470;margin:0;font-size:13px;line-height:1.6}.settings-divider{background:#eef1ec;height:1px;margin:22px 0}.settings-field{gap:var(--space-s);color:#44524d;flex-direction:column;font-weight:600;display:flex}.settings-field+.settings-field{margin-top:18px}.settings-field--inline{gap:12px}.settings-field input{min-height:var(--control-l);background:#fbfcfa;border:1px solid #dfe3df;border-radius:14px;padding:0 14px;transition:border-color .15s,box-shadow .15s,background-color .15s}.settings-field input:focus{background:#fff;border-color:#f5c500;outline:none;box-shadow:0 0 0 3px #fff4bf}.avatar-options{flex-wrap:wrap;gap:10px;display:flex}.avatar-option{background:#f8faf7;border:0;border-radius:16px;padding:6px;transition:background-color .15s,transform .15s}.avatar-option:hover{background:#f2f6ef}.settings-avatar{border:2px solid #0000;border-radius:50%;width:48px;height:48px;font-size:16px}.avatar-option.selected .settings-avatar{border-color:#ffc800;box-shadow:0 0 0 3px #fff4bf}.settings-save-bar{justify-content:flex-end;display:flex}.settings-save-button{justify-content:center;align-items:center;gap:8px;width:auto;min-width:132px;margin-top:0;padding-inline:18px;display:inline-flex}.about-link{color:#34413c;background:#fff;border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;transition:transform .15s,box-shadow .15s,background-color .15s;display:flex;box-shadow:0 10px 26px #1c252608}.about-link:hover{background:#fffdf8;transform:translateY(-1px);box-shadow:0 14px 28px #1c252610}.about-link span{align-items:center;gap:8px;display:flex}.about-link--button{width:100%;font:inherit;cursor:pointer;background:#fff}.view-heading--subpage{align-items:flex-start;gap:12px;display:flex}.subpage-back-button{color:#394640;background:#f5f7f3;border:0;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;margin-top:2px;display:grid}.avatar-badge{background:0 0;display:block;overflow:visible}.avatar-badge__image{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block;box-shadow:0 2px 8px #1b22261a}.conversation-avatar,.peer-avatar,.settings-avatar{font-size:0}.peer-avatar{flex:none}.peer-summary{flex:1;min-width:0}.peer-title{flex:none}.peer-subtitle{color:#8a9590;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.connection-help-button{color:#5e6b65;background:#eef2ed;border:0;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;display:inline-grid}.connection-help-popover{background:#fbfcfa;border:1px solid #e5e9e4;border-radius:12px;max-width:420px;margin-top:8px;padding:10px 12px;box-shadow:0 10px 24px #1c25260d}.connection-help-popover strong{color:#2a3430;margin-bottom:4px;font-size:12px;display:block}.connection-help-popover p{color:#6b7571;margin:0;font-size:12px;line-height:1.6}.language-switcher{align-items:center;gap:var(--space-s);color:#66716d;font-size:var(--font-s);display:flex}.language-switcher__label{white-space:nowrap;align-items:center;gap:6px;display:flex}.language-switcher__control{min-width:108px;min-height:var(--control-m);border-radius:var(--radius-m);background:#fff;border:1px solid #dfe3df;align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 4px 12px #1c252608}.language-switcher__control:focus-within{border-color:#f5c500;box-shadow:0 0 0 3px #fff4bf}.language-switcher__control select{appearance:none;color:#1f2825;cursor:pointer;background:0 0;border:0;border-radius:10px;outline:none;width:100%;min-width:0;padding:8px 34px 8px 10px}.language-switcher__control svg{color:#75817b;pointer-events:none;position:absolute;right:10px}.language-switcher--settings{justify-content:flex-start}.language-switcher--settings .language-switcher__label,.mobile-bottom-nav{display:none}@media (width<=760px){.app-shell{padding-bottom:72px}.app-body{min-height:calc(100dvh - 136px)}.sidebar,footer,.language-switcher__label{display:none}header{gap:var(--space-s);height:56px;padding:0 14px}.brand{gap:10px}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:10px}.header-actions{gap:0}.language-switcher__control{min-width:92px;min-height:34px}.language-switcher__control select{padding:6px 28px 6px 8px}.language-switcher__control svg{right:8px}.connect-view{padding:14px 14px 24px}.view-heading{margin:0 auto 14px}.view-heading h1{margin:6px 0;font-size:24px}.view-heading p{font-size:13px}.view-heading--subpage{gap:10px}.subpage-back-button{border-radius:9px;width:32px;height:32px}.connect-privacy-banner{align-items:flex-start;margin:0 auto 12px;padding:10px 12px;font-size:12px}.connection-panel{border-radius:10px;padding:14px 12px}.connection-section{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:8px 10px;display:grid}.connection-icon{border-radius:10px;width:36px;height:36px}.connection-copy{min-width:0}.connection-copy h2{font-size:15px}.connection-copy p{font-size:11px}.connection-section .code-inputs,.connection-section .primary-button,.connection-section .verification-code-display,.connection-section .text-button,.qr-tip{grid-column:1/-1}.connection-section .code-inputs{justify-content:center;gap:6px;margin-bottom:10px}.connection-section .code-inputs input{aspect-ratio:1;flex:none;width:44px;min-width:44px;height:auto;font-size:22px}.verification-code-display{gap:6px;min-width:0}.verification-code-display span{border-radius:9px;padding:9px 0;font-size:22px}.connection-divider{margin:14px 0}.text-button{background:#fbfcfa;border:1px solid #edf0eb;border-radius:9px;justify-content:center;min-height:34px;margin-top:0}.refresh-button{justify-self:stretch}.qr-frame{width:fit-content;max-width:100%;margin-top:10px;padding:8px}.qr-image,.qr-placeholder{width:min(60vw,166px);height:min(60vw,166px)}.qr-tip{margin-top:6px;font-size:11px}.join-section .code-inputs input{width:44px;min-width:44px}.join-section .primary-button{padding:12px}.workspace{grid-template-rows:78px minmax(0,1fr) 76px}.peer-panel{padding:0 20px}.message-area{padding:18px 20px}.composer{gap:4px;padding:14px 15px}.composer .icon-button:last-of-type{display:none}.toast{max-width:none;bottom:84px;left:12px;right:12px}.mobile-bottom-nav{z-index:9;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fbfcfa;border-top:1px solid #e7ebe6;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px #1c25260d}.mobile-bottom-nav__item{color:#6a7470;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:56px;padding:8px 4px;transition:background-color .15s,color .15s,box-shadow .15s;display:flex}.mobile-bottom-nav__item--primary{color:#6a7470;background:0 0}.mobile-bottom-nav__item span{font-size:11px;line-height:1.2}.mobile-bottom-nav__item.active{color:#1f2825;background:#fff4c1}.mobile-bottom-nav__item--primary.active{color:#5c4b09;background:var(--theme-bg);box-shadow:0 8px 18px #ffd43b40}.settings-layout,.tutorial-layout{gap:12px;width:100%}.tutorial-step-card{padding-right:16px}.tutorial-step-arrow{display:none}}.view-frame{flex-direction:column;flex:1;min-width:0;min-height:0;animation-duration:.22s;animation-timing-function:ease;animation-fill-mode:both;display:flex;overflow:hidden}.app-shell--chat{height:100dvh}.app-body--chat,.view-frame--chat{flex:1;height:100dvh;min-height:0}.view-frame--forward{animation-name:view-slide-forward}.view-frame--back{animation-name:view-slide-back}.conversations-view{flex-direction:column;display:flex}.conversations-panel{background:#fff;border:1px solid #e4e8e3;border-radius:14px;width:min(100%,560px);margin:0 auto;padding:16px}.chat-back-button{color:#394640;background:#f5f7f3;border:0;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:none}@keyframes view-slide-forward{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes view-slide-back{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media (width<=760px){.conversations-panel{border-radius:12px;width:100%;padding:10px}.conversations-panel .conversation-item{padding:11px 8px}.chat-back-button{display:grid}.peer-panel{gap:10px;padding:0 14px}.peer-summary{min-width:0}.peer-subtitle{font-size:11px}.app-shell--chat,.app-body--chat,.view-frame--chat,.workspace{height:100dvh;min-height:100dvh}.workspace{grid-template-rows:72px minmax(0,1fr) 76px}.composer{z-index:2;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:#fff;position:sticky;bottom:0}}.toast{width:max-content;max-width:min(420px,100vw - 32px);inset:18px auto auto 50%;transform:translate(-50%)}.message-pop{animation:.45s message-pop}@keyframes message-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}65%{opacity:1;transform:translateY(-2px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}.message-entry{flex-direction:column;gap:6px;width:100%;display:flex}.message-entry.outgoing .text-message,.message-entry.outgoing .file-message{align-self:flex-end}.message-entry-time{color:#718179;text-align:center;align-self:center;padding:0 4px;font-size:11px}.message-entry-time--group{margin-bottom:2px}.attachment-download-button{color:#5d6a64;background:#f3f6f2;border:0;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.attachment-download-button:hover{background:#ebf0ea}.reconnect-dialog-backdrop{z-index:20}.reconnect-dialog{text-align:center;border-radius:var(--radius-l);background:#fff;width:min(360px,100vw - 40px);padding:28px;box-shadow:0 18px 50px #1c252633}.reconnect-dialog h2{color:#25302b;margin:12px 0 8px;font-size:19px}.reconnect-dialog p{color:#6a7470;margin:0;font-size:13px;line-height:1.6}.reconnect-dialog__spinner{color:#d7a700;animation:1s linear infinite reconnect-spin}.reconnect-dialog__error{color:#c14d34}.reconnect-dialog__actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.reconnect-dialog__actions .text-button{border-radius:var(--radius-s);border:1px solid #dfe3df;margin:0;padding:0 12px}.reconnect-dialog__actions .primary-button{justify-content:center;align-items:center;gap:6px;width:auto;margin:0;display:inline-flex}@keyframes reconnect-spin{to{transform:rotate(360deg)}}.transfer-status{margin-top:4px;font-weight:600}.transfer-status--queued{color:#77817c}.transfer-status--transferring{color:#877000}.transfer-status--paused{color:#98672b}.transfer-status--cancelled{color:#8b9590}.transfer-status--failed{color:#c14d34}.transfer-actions{align-self:flex-end;align-items:center;gap:4px;margin-left:auto;display:flex}.transfer-actions button{color:#5d6a64;background:#f3f6f2;border:0;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;display:grid}.transfer-actions button:hover{color:#34413c;background:#e8eee7}@media (width<=760px){.connect-view{padding:10px 12px 20px}.view-heading{margin:0 auto 10px}.view-heading h1{margin:4px 0;font-size:22px}.view-heading p{font-size:12px}.connect-privacy-banner{margin:0 auto 8px;padding:8px 10px;font-size:11px}.connection-panel{padding:10px}.connection-section{grid-template-columns:32px minmax(0,1fr);gap:6px 8px}.connection-icon{border-radius:9px;width:32px;height:32px}.connection-copy h2{margin:0 0 1px;font-size:14px}.connection-copy p{font-size:10px;line-height:1.45}.connection-divider{margin:10px 0}.connection-section .verification-code-display{letter-spacing:.24em;padding:10px 12px;font-size:24px}.connection-section .code-inputs{justify-content:center;gap:5px;margin-bottom:8px}.connection-section .code-inputs input{aspect-ratio:1;width:40px;min-width:40px;height:auto;font-size:20px}.text-button{border-radius:8px;min-height:30px;padding:0 10px;font-size:11px}.qr-frame{margin-top:6px;padding:6px}.qr-image,.qr-placeholder{width:min(48vw,140px);height:min(48vw,140px)}.qr-tip{margin-top:4px;font-size:10px}.join-section .primary-button{padding:10px}.toast{max-width:min(360px,100vw - 24px);top:12px}.attachment-entry{max-width:92%}.attachment-download-button,.transfer-actions button{width:28px;height:28px}.settings-layout,.tutorial-layout{gap:14px;width:100%}.settings-panel{border-radius:16px;padding:20px}.settings-links{gap:10px}.settings-field--inline{align-items:stretch}.settings-field--inline .language-switcher__control{width:100%}.settings-save-bar{justify-content:stretch}.settings-save-button{width:100%}.tutorial-step-card,.tutorial-mode-card{padding:14px}.tutorial-step-copy strong,.tutorial-mode-head strong{font-size:15px}.tutorial-step-copy p,.tutorial-mode-card p{font-size:12px}html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.app-shell--chat{height:var(--chat-viewport-height,100dvh);min-height:0;padding-bottom:0;position:fixed;top:0;left:0;right:0;overflow:hidden}.app-body--chat,.view-frame--chat,.workspace{height:100%;min-height:0}.workspace{grid-template-rows:72px minmax(0,1fr) 76px}.peer-panel{z-index:1;position:relative}.composer{padding-bottom:calc(14px + env(safe-area-inset-bottom));background:#fff;align-self:stretch;position:static}}@supports (-webkit-touch-callout:none){@media (width<=760px){.composer-shell input:not([type=file]){font-size:16px}}}
