@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-latin-ext.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}:root{color-scheme:light;--surface: #faf8ff;--on-surface: #1b1b25;--surface-container-low: #f4f2fa;--surface-container: #eeedf5;--surface-container-high: #e8e7f0;--surface-container-highest: #e3e2ec;--on-surface-variant: #48495b;--outline: #747487;--outline-variant: #c7c5d7;--primary: #5056a5;--on-primary: #ffffff;--primary-container: #e1e0ff;--on-primary-container: #202457;--secondary-container: #e4e3f6;--on-secondary-container: #282943;--success-container: #cbead8;--on-success-container: #154a33;--warning-container: #ffe5af;--on-warning-container: #5c3b00;--error: #ad2835;--on-error: #ffffff;--error-container: #ffdbdb;--on-error-container: #7d1825;--focus: #4d53a0;--bg-app: var(--surface);--bg-surface: var(--surface-container-low);--bg-surface-card: var(--surface-container);--bg-surface-elevated: var(--surface-container-high);--bg-input: var(--surface);--border-subtle: var(--outline-variant);--border-hover: var(--outline);--border-active: var(--focus);--text-primary: var(--on-surface);--text-secondary: var(--on-surface-variant);--text-tertiary: var(--outline);--font-family: Inter, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-sheet: 28px;--radius-pill: 999px;--shadow-elevation: 0 2px 6px #00000014, 0 12px 32px #0000001f;--shadow-ambient: 0 1px 3px rgba(0, 0, 0, .08);--transition-speed: .18s}:root[data-theme=dark]{color-scheme:dark;--surface: #13131c;--on-surface: #ebeaf5;--surface-container-low: #191923;--surface-container: #20202c;--surface-container-high: #292935;--surface-container-highest: #333340;--on-surface-variant: #c4c3d5;--outline: #9292a8;--outline-variant: #47475b;--primary: #c0c3ff;--on-primary: #292e69;--primary-container: #383d80;--on-primary-container: #e2e3ff;--secondary-container: #35364d;--on-secondary-container: #e4e3fa;--success-container: #244b39;--on-success-container: #b8eacf;--warning-container: #503a15;--on-warning-container: #ffdf9f;--error: #ffb3b7;--on-error: #5c1420;--error-container: #692632;--on-error-container: #ffdadb;--focus: #c5c7ff;--shadow-elevation: 0 2px 8px #00000040, 0 12px 32px #00000059;--shadow-ambient: 0 1px 3px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--surface);color:var(--on-surface);font:14px/1.5 var(--font-family)}button,input,select,textarea{font:inherit;color:inherit}button{border:0;cursor:pointer;background:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,p{margin:0}small{color:var(--on-surface-variant)}svg{flex:none;vertical-align:middle}input:not([type=checkbox],[type=file]),textarea,select{min-width:0;padding:9px 12px;border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface)}a{color:var(--primary)}.app{min-height:100dvh;display:flex;flex-direction:column}.toolbar{min-height:58px;padding:8px clamp(12px,3vw,36px);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--outline-variant);background:var(--surface-container-low)}.brand{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.04em}.brand-mark,.file-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;border-radius:var(--radius-md);background:var(--primary-container);color:var(--on-primary-container)}[data-embedded=true] .brand{display:none}[data-embedded=true] .toolbar{min-height:44px;padding-block:4px}.toolbar-tools{display:flex;gap:6px;flex:1;justify-content:center;min-width:0}.chip,.switcher button,.icon-button,.text-button,.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-pill);font-weight:600;transition:background var(--transition-speed),color var(--transition-speed)}.chip{padding:6px 10px;min-height:34px;white-space:nowrap;background:var(--surface-container);border:1px solid var(--outline-variant)}.chip>span{overflow:hidden;text-overflow:ellipsis}.chip:hover,.icon-button:hover,.text-button:hover,.peer-list-item:hover{background:var(--surface-container-high)}.chip-active,.chip-active:hover{background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}.folder-chip{max-width:210px}.count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-pill);color:var(--on-primary);background:var(--primary);font:600 11px var(--font-family)}.switcher{display:flex;padding:3px;gap:2px;background:var(--surface-container-high);border-radius:var(--radius-pill)}.switcher button{padding:5px 9px;white-space:nowrap}.switcher button[aria-pressed=true]{background:var(--primary-container);color:var(--on-primary-container)}.icon-button{width:36px;height:36px;flex:none;padding:0}.primary,.secondary,.danger,.text-button{padding:8px 13px}.primary,.send-button{background:var(--primary);color:var(--on-primary)}.secondary{background:var(--secondary-container);color:var(--on-secondary-container)}.danger{background:var(--error-container);color:var(--on-error-container)}.text-button{color:var(--primary)}.error-text{color:var(--error)}.app-error,.shared-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px clamp(12px,3vw,36px);background:var(--error-container);color:var(--on-error-container)}.shared-bar{background:var(--secondary-container);color:var(--on-secondary-container)}.shared-bar span{flex:1}.radar-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(18px,4vh,48px) 12px 16px;overflow:hidden;min-height:0}.radar-heading{text-align:center;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-container);color:var(--on-surface-variant);font-size:12px;font-weight:600}.signal-dot{width:7px;height:7px;border-radius:50%;background:var(--outline)}.signal-dot.on{background:var(--primary);box-shadow:0 0 0 3px var(--primary-container)}.radar-heading h1{font-size:clamp(29px,5vw,58px);line-height:1.15;margin:10px 0 7px;letter-spacing:-.06em}.radar-heading p{color:var(--on-surface-variant)}.radar{position:relative;display:grid;place-items:center;width:min(89vw,56vh,510px);min-width:min(89vw,300px);aspect-ratio:1;margin:14px auto 8px;isolation:isolate}.radar-grid{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:var(--surface-container-low)}.radar-grid span{position:absolute;inset:0;margin:auto;width:100%;height:100%;border:1px solid var(--outline-variant);border-radius:50%}.radar-grid span:nth-child(2){width:76%;height:76%}.radar-grid span:nth-child(3){width:51%;height:51%}.radar-grid span:nth-child(4){width:25%;height:25%}.radar-grid i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 70%,var(--primary-container));opacity:.6;animation:sweep 17s linear infinite}@keyframes sweep{to{transform:rotate(1turn)}}[data-host-visible=false] .radar-grid i{animation-play-state:paused}.self-node,.peer-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.3}.self-node{z-index:1;padding:0}.self-orb,.peer-orb,.mini-orb{position:relative;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--primary-container);color:var(--on-primary-container)}.self-orb{width:clamp(57px,12vw,84px);height:clamp(57px,12vw,84px);margin-bottom:4px;box-shadow:var(--shadow-elevation)}.edit-badge{position:absolute;right:0;bottom:-1px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--primary);color:var(--on-primary)}.radar .peer-node{position:absolute;z-index:2;left:calc(50% + var(--x) * 37%);top:calc(50% + var(--y) * 37%);transform:translate(-50%,-40%)}.peer-node{width:clamp(72px,20vw,115px);padding:4px 0}.peer-node strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.peer-node small,.self-node small{background:var(--surface);padding:1px 5px;border-radius:var(--radius-pill);font-size:10px}.peer-node .count{position:absolute;top:0;right:13%}.peer-orb{width:clamp(40px,9vw,59px);height:clamp(40px,9vw,59px);margin-bottom:3px;box-shadow:var(--shadow-ambient);background:var(--secondary-container)}.peer-node:hover .peer-orb,.peer-node.drag-target .peer-orb{background:var(--primary);color:var(--on-primary)}.peer-progress:before{position:absolute;inset:-4px;border-radius:inherit;padding:3px;content:"";background:conic-gradient(var(--primary) var(--progress),var(--outline-variant) 0);-webkit-mask:linear-gradient(white 0 0) content-box exclude,linear-gradient(white 0 0);mask:linear-gradient(white 0 0) content-box exclude,linear-gradient(white 0 0)}.extra-peers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.radar-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px 15px;color:var(--on-surface-variant)}.chat-page{display:grid;grid-template-columns:minmax(155px,23%) minmax(0,1fr);flex:1;height:0;min-height:calc(100dvh - 58px)}[data-embedded=true] .chat-page{min-height:calc(100dvh - 44px)}.peer-sidebar{border-right:1px solid var(--outline-variant);background:var(--surface-container-low);padding:15px 10px;overflow:auto}.peer-sidebar h2{padding:0 7px 7px;font-size:15px}.peer-sidebar p{padding:0 7px;color:var(--on-surface-variant)}.peer-list-item{display:flex;align-items:center;width:100%;text-align:left;gap:9px;padding:7px;border-radius:var(--radius-lg);overflow-wrap:anywhere}.peer-list-item[aria-pressed=true]{background:var(--primary-container);color:var(--on-primary-container)}.peer-list-item .count{margin-left:auto}.mini-orb{width:34px;height:34px}.conversation{min-width:0;display:flex;flex-direction:column;overflow:hidden}.conversation-drop{outline:2px dashed var(--primary);outline-offset:-5px}.chat-placeholder{justify-content:center;align-items:center;gap:8px;text-align:center;padding:14px}.chat-placeholder svg{color:var(--primary)}.chat-header{display:flex;align-items:center;gap:8px;padding:8px clamp(8px,2.5vw,22px);border-bottom:1px solid var(--outline-variant);background:var(--surface-container-low)}.chat-title{display:grid;flex:1;min-width:0;line-height:1.35}.chat-title strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-title small{font-size:11px}.safety{font-family:var(--font-mono);font-size:12px}.panic,.recording{color:var(--error)}.chat-notice{display:flex;align-items:center;gap:10px;padding:10px clamp(10px,2.5vw,22px);font-size:12px;background:var(--surface-container)}.chat-notice button{margin-left:auto;flex:none}.message-feed{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:11px;padding:18px clamp(10px,4vw,46px);background:radial-gradient(ellipse at 55% 5%,var(--surface-container-low),var(--surface) 70%)}.chat-empty{max-width:360px;margin:auto;padding:18px;text-align:center;color:var(--on-surface-variant);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);background:var(--surface-container-low)}.chat-empty p{margin-top:7px}.message,.transfer-card{width:fit-content;max-width:min(90%,620px);padding:10px 13px;border-radius:var(--radius-xl);background:var(--surface-container);overflow-wrap:anywhere;box-shadow:var(--shadow-ambient)}.message.in,.transfer-card.in{align-self:flex-start;border-bottom-left-radius:var(--radius-xs)}.message.out,.transfer-card.out{align-self:flex-end;background:var(--primary-container);color:var(--on-primary-container);border-bottom-right-radius:var(--radius-xs)}.message-content{white-space:pre-wrap}.message-content code{font-family:var(--font-mono);font-size:.9em;background:var(--surface)}.message-content pre{padding:8px;overflow:auto;border-radius:var(--radius-sm);background:var(--surface);white-space:pre-wrap}.message-meta{display:flex;align-items:center;justify-content:end;gap:7px;color:var(--on-surface-variant);font-size:11px}.copy-message{width:22px;height:22px}.transfer-title{display:flex;align-items:center;gap:9px}.transfer-title>div{display:flex;flex-direction:column}.transfer-progress{display:grid;gap:3px;margin-top:8px}progress{width:100%;height:7px;accent-color:var(--primary)}.file-preview{padding-top:8px;margin-top:8px;border-top:1px solid var(--outline-variant)}.file-name,.verified,.file-actions{display:flex;align-items:center;gap:5px}.file-actions{margin-top:6px;justify-content:flex-end;flex-wrap:wrap}.verified{margin-right:auto;color:var(--on-success-container);background:var(--success-container);border-radius:var(--radius-pill);padding:3px 7px;font-size:11px}.file-preview img,.file-preview video{display:block;max-width:100%;max-height:290px;border-radius:var(--radius-md);margin-top:7px}.file-preview audio{max-width:100%;margin-top:5px}.waveform{height:24px;display:flex;align-items:center;gap:2px;color:var(--primary);margin-top:8px}.waveform i{width:3px;border-radius:var(--radius-pill);background:currentColor}.composer{display:flex;align-items:center;gap:4px;padding:9px clamp(7px,2vw,22px);padding-bottom:max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--outline-variant);background:var(--surface-container-low)}.composer textarea{flex:1;resize:vertical;max-height:140px;min-height:40px}.send-button{width:40px;height:40px;flex:none;border-radius:50%;padding:0}.offline-note{padding:12px;color:var(--on-surface-variant)}dialog{width:min(450px,calc(100vw - 24px));border:1px solid var(--outline-variant);color:var(--on-surface);background:var(--surface-container-low);border-radius:var(--radius-sheet);padding:0;box-shadow:var(--shadow-elevation)}dialog::backdrop{background:color-mix(in srgb,var(--on-surface) 35%,transparent)}.dialog-content{padding:18px}.dialog-header,.field-row,.modal-actions{display:flex;align-items:center;gap:8px}.dialog-header{justify-content:space-between;margin-bottom:9px}.dialog-header h2{font-size:22px;letter-spacing:-.04em}.dialog-content p{color:var(--on-surface-variant)}.dialog-content form{display:grid;gap:7px;margin-top:11px}.field-row input{flex:1}.modal-actions{justify-content:flex-end;margin-top:8px}.qr-card{text-align:center;margin-top:12px;padding:12px;border-radius:var(--radius-xl);background:var(--surface-container)}.qr-card svg{width:156px;max-width:70%;border-radius:var(--radius-sm)}.qr-card p{margin:5px 0 8px;font-size:12px}.check-row{display:flex;align-items:center;gap:6px;margin-top:10px}.check-row input{accent-color:var(--primary)}@media(max-width:690px){.toolbar{flex-wrap:wrap;justify-content:space-between;gap:6px}.toolbar-tools{order:1;flex:1 0 100%;justify-content:flex-start}[data-embedded=true] .toolbar-tools{flex-basis:auto;order:0}.toolbar .chip{padding-inline:7px;font-size:12px}.folder-chip{max-width:125px}.chat-page{min-height:calc(100dvh - 93px);grid-template-columns:minmax(0,1fr)}.chat-page:not(.chat-selected){grid-template-rows:1fr}.chat-page:not(.chat-selected) .chat-placeholder,.chat-selected .peer-sidebar{display:none}.peer-sidebar{border:0}}@media(max-width:420px){[data-embedded=true] .switcher span,.folder-chip span{display:none}[data-embedded=true] .folder-chip svg{width:17px}.chat-notice{align-items:flex-start;flex-direction:column}.composer .icon-button{width:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
