*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0b0e14;--surface: #141820;--surface-hover: #1a1f2b;--border: #252a35;--text: #d1d5e0;--text-muted: #6b7280;--accent: #6c8cff;--accent-hover: #8ba3ff;--accent-glow: rgba(108,140,255,.12);--green: #34d399;--green-glow: rgba(52,211,153,.12);--red: #f87171;--red-glow: rgba(248,113,113,.12);--yellow: #fbbf24;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.25);--shadow-md: 0 4px 16px rgba(0,0,0,.3);--shadow-lg: 0 8px 32px rgba(0,0,0,.4);--transition: .18s ease;--sidebar-width: 220px;--accent-gradient: linear-gradient(135deg, #6c8cff 0%, #a78bfa 50%, #6c8cff 100%);--bg-gradient: radial-gradient(ellipse at 20% 50%, rgba(108,140,255,.06) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(167,139,250,.04) 0%, transparent 50%);--surface-glass: rgba(20,24,32,.7);--surface-glass-border: rgba(255,255,255,.06);--blur-md: 12px;--blur-lg: 20px;--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--shadow-glow: 0 0 20px rgba(108,140,255,.15);--shadow-elevated: 0 8px 32px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.3);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-feature-settings:"cv02","cv03","cv04";background:var(--bg-gradient),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}[data-theme=light]{--bg: #f5f7fa;--surface: #ffffff;--surface-hover: #f0f2f5;--border: #e2e5ea;--text: #1a1d23;--text-muted: #6b7280;--accent: #4f6df5;--accent-hover: #3d5bd9;--accent-glow: rgba(79,109,245,.1);--green: #059669;--green-glow: rgba(5,150,105,.1);--red: #dc2626;--red-glow: rgba(220,38,38,.1);--yellow: #d97706;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--surface-glass: rgba(255,255,255,.7);--surface-glass-border: rgba(0,0,0,.06);--bg-gradient: radial-gradient(ellipse at 20% 50%, rgba(79,109,245,.04) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(167,139,250,.03) 0%, transparent 50%);--shadow-glow: 0 0 20px rgba(79,109,245,.1);--shadow-elevated: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.08)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #f5f7fa;--surface: #ffffff;--surface-hover: #f0f2f5;--border: #e2e5ea;--text: #1a1d23;--text-muted: #6b7280;--accent: #4f6df5;--accent-hover: #3d5bd9;--accent-glow: rgba(79,109,245,.1);--green: #059669;--green-glow: rgba(5,150,105,.1);--red: #dc2626;--red-glow: rgba(220,38,38,.1);--yellow: #d97706;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--surface-glass: rgba(255,255,255,.7);--surface-glass-border: rgba(0,0,0,.06);--bg-gradient: radial-gradient(ellipse at 20% 50%, rgba(79,109,245,.04) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(167,139,250,.03) 0%, transparent 50%);--shadow-glow: 0 0 20px rgba(79,109,245,.1);--shadow-elevated: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.08)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes viewEnter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progressShine{0%{left:-40%}to{left:100%}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.4);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes borderGlow{0%,to{border-color:#6c8cff4d}50%{border-color:#6c8cff99}}@keyframes toastProgress{0%{width:100%}to{width:0%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.content>*,.identity-card,.identity-form,.toast,.transfer-item,.message-group,.settings-group{animation:none!important}.identity-logo-icon,.identity-card h2,.progress-fill,.progress-fill:after,.room-code:before,.drop-zone,.drop-zone svg,.empty-state svg,.toast:after,.nav-badge{animation:none!important}}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr auto;height:100vh;overflow:hidden}.hamburger{display:none;position:fixed;top:10px;left:10px;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm)}.drawer-overlay{display:none}.sidebar{grid-row:1 / -1;display:flex;flex-direction:column;background:var(--surface-glass);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border-right:1px solid var(--surface-glass-border);padding:0;-webkit-user-select:none;user-select:none}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:20px 20px 24px;font-size:18px;font-weight:800;letter-spacing:-.5px}.sidebar-logo span{background:var(--accent-gradient);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo svg{opacity:.8;color:var(--accent);transition:transform .2s ease}.sidebar-logo:hover svg{transform:rotate(15deg)}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;transition:background var(--transition),color var(--transition),padding-left .2s ease;border:none;background:transparent;width:100%;text-align:left;position:relative}.nav-item:hover{background:var(--accent-glow);color:var(--text);padding-left:18px}.nav-item.active{background:linear-gradient(90deg,var(--accent-glow),transparent);color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;background:var(--accent);border-radius:2px;box-shadow:0 0 8px var(--accent);transition:height .2s ease,opacity .2s ease}.nav-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:9px;padding:0 5px;animation:dotPulse 2s ease-in-out infinite}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.sidebar-footer .nav-item{padding:8px 14px;font-size:13px}.sidebar-status{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:12px;color:var(--text-muted)}.content{overflow-y:auto;padding:32px;animation:fadeIn .2s ease}.content>*{animation:viewEnter .35s cubic-bezier(.4,0,.2,1) both}.status-bar{grid-column:2;display:flex;align-items:center;gap:10px;padding:6px 20px;background:var(--surface);border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.dot{width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}.dot.connected{background:var(--green)}.peer-pill{padding:2px 8px;background:var(--accent-glow);border-radius:10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:var(--accent)}.card{background:var(--surface-glass);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--surface-glass-border);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-sm);transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}.card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px);border-color:#6c8cff26}.card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);margin-bottom:16px;color:var(--accent);background:linear-gradient(135deg,var(--accent-glow),rgba(167,139,250,.12));transition:transform .3s ease}.card:hover .card-icon{transform:scale(1.1) rotate(-3deg)}.card h3{font-size:17px;font-weight:600;letter-spacing:-.3px;margin-bottom:6px}.card p{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:20px}button,.btn{padding:9px 18px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition),opacity var(--transition),transform .1s;font-family:inherit}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent-gradient);background-size:200% auto;color:#fff;position:relative;overflow:hidden;transition:background-position .3s ease,transform .1s,box-shadow .2s ease}.btn-primary:hover:not(:disabled){background-position:right center;box-shadow:0 4px 15px #6c8cff4d}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-ghost{background:transparent;color:var(--text-muted);padding:6px 12px}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--accent-glow)}.btn-icon{padding:8px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);color:var(--text-muted);transition:background var(--transition),color var(--transition),box-shadow .2s ease,transform .2s ease,border-color .2s ease}.btn-icon:hover{background:var(--surface-hover);color:var(--accent);box-shadow:0 0 12px var(--accent-glow);border-color:#6c8cff4d}.input-row .btn-icon:hover{transform:scale(1.1)}.input-row .btn-icon:active{transform:scale(.9) rotate(-15deg)}input[type=text],input[type=password],textarea{width:100%;padding:9px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition),transform .2s ease}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-glow);transform:translateY(-1px)}input[type=text]::placeholder,input[type=password]::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:60px;line-height:1.5}.home-view{max-width:640px;margin:0 auto}.home-connecting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 0;color:var(--text-muted)}.home-error{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 0;text-align:center}.home-error .error-msg{color:var(--red);font-size:14px;max-width:400px}.advanced-toggle{font-size:12px;color:var(--text-muted);cursor:pointer;background:none;border:none;text-decoration:underline;padding:0}.advanced-panel{margin-top:12px;display:flex;gap:8px;width:100%;max-width:360px}.advanced-panel input{flex:1;font-size:13px}.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.room-active{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;padding:20px 0}.room-code{font-family:JetBrains Mono,Fira Code,monospace;font-size:28px;font-weight:700;letter-spacing:2px;color:var(--accent);padding:16px 32px;background:var(--surface);border-radius:var(--radius-md);border:2px solid transparent;position:relative;z-index:0}.room-code:before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--radius-md) + 2px);background:var(--accent-gradient);background-size:200% auto;animation:gradientShift 3s ease infinite;z-index:-1}.room-waiting{color:var(--text-muted);font-size:14px;animation:pulse 2s ease-in-out infinite;display:flex;align-items:center;gap:8px}.room-waiting:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotPulse 1.5s ease-in-out infinite}.room-actions{display:flex;gap:10px}.qr-code{margin-top:8px}.qr-code img{border-radius:var(--radius-md);background:#fff;padding:10px;box-shadow:var(--shadow-glow);animation:scaleIn .4s ease-out both}.join-form{display:flex;gap:8px;margin-top:4px}.join-form input{flex:1;margin:0}.chat-pane{display:flex;flex-direction:column;height:calc(100vh - 100px)}.chat-layout{display:flex;height:100%;gap:0}.peer-list{width:220px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.peer-list-header{padding:14px 16px;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.peer-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:transparent;color:var(--text);cursor:pointer;width:100%;text-align:left;transition:background var(--transition);border-radius:0}.peer-item:hover{background:var(--surface-hover)}.peer-item.active{background:var(--accent-glow)}.peer-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-gradient);background-size:200% auto;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.peer-avatar.small{width:28px;height:28px;font-size:11px}.peer-avatar{position:relative}.online-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg)}.online-dot.online{background:#22c55e}.online-dot.offline{background:var(--text-muted)}.offline-badge{font-size:11px;color:var(--text-muted);margin-left:auto;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-overlay)}.offline-hint{justify-content:center;color:var(--text-muted);font-size:13px;padding:12px;opacity:.7}.peer-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.peer-name{font-size:13px;font-weight:500}.peer-last-msg{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-area{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-glass);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border-bottom:1px solid var(--surface-glass-border);font-size:14px;font-weight:500}.active-peers-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface-glass);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--surface-glass-border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:20px;font-size:13px;color:var(--accent);font-weight:500;animation:slideDown .3s ease-out both}.btn-sm{padding:5px 12px;font-size:12px}.messages{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:4px}.message-group{display:flex;align-items:flex-end;gap:10px;padding:4px 0;animation:slideUp .2s ease-out both}.message-group.mine{flex-direction:row-reverse}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;color:#fff}.avatar.me{background:var(--accent-gradient);background-size:200% auto}.avatar.peer{background:linear-gradient(135deg,var(--green),#2dd4bf)}.message-content{max-width:65%;display:flex;flex-direction:column;gap:2px}.message-group.mine .message-content{align-items:flex-end}.bubble{padding:10px 14px;border-radius:var(--radius-md);font-size:14px;line-height:1.5;word-break:break-word}.message-group.mine .bubble{background:var(--accent-gradient);background-size:200% auto;color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #6c8cff33}.message-group.theirs .bubble{background:var(--surface-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--surface-glass-border);border-bottom-left-radius:4px}.message-time{font-size:11px;color:var(--text-muted);padding:0 4px}.input-row{display:flex;gap:8px;padding:16px 0 0;border-top:1px solid var(--surface-glass-border)}.input-row input{flex:1;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 0;text-align:center;color:var(--text-muted);position:relative}.empty-state svg{opacity:.2;animation:float 3s ease-in-out infinite}.empty-state p{font-size:14px;max-width:280px;line-height:1.5}.files-view{max-width:640px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:140px;border:2px dashed var(--border);border-radius:var(--radius-lg);padding:24px;background:var(--surface-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .3s ease,background .3s ease,transform .3s ease,box-shadow .3s ease;color:var(--text-muted);cursor:pointer}.drop-zone:hover{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-glow),rgba(167,139,250,.06));transform:translateY(-2px);box-shadow:0 8px 24px #6c8cff1a}.drop-zone.dragging{border-color:var(--accent);background:var(--accent-glow);animation:borderGlow 1.5s ease-in-out infinite;transform:scale(1.01)}.drop-zone svg{opacity:.5;transition:transform .3s ease}.drop-zone:hover svg{transform:translateY(-4px);animation:float 2s ease-in-out infinite}.drop-zone p{font-size:13px}.drop-zone-mobile,.drop-zone-btn{display:none}.error{color:var(--red);font-size:13px;margin-top:4px}.transfer-list{margin-top:24px}.transfer-list h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.transfer-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--surface-glass-border);border-radius:var(--radius-sm);margin-bottom:8px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;animation:slideUp .3s ease-out both}.transfer-item:hover{transform:translate(4px);box-shadow:var(--shadow-md);background:var(--surface-hover)}.transfer-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.transfer-icon.send{background:var(--accent-glow);color:var(--accent)}.transfer-icon.receive{background:var(--green-glow);color:var(--green)}.transfer-info{flex:1;min-width:0}.transfer-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transfer-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.progress-bar{flex:0 0 120px;height:6px;background:var(--border);border-radius:3px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:3px;transition:width .3s ease;position:relative;background:var(--accent-gradient);background-size:200% auto;animation:gradientShift 2s ease infinite;box-shadow:0 0 8px #6c8cff4d}.progress-fill.complete{background:linear-gradient(90deg,var(--green),#2dd4bf);box-shadow:0 0 8px #34d3994d;animation:none}.progress-fill:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:progressShine 1.5s ease-in-out infinite}.progress-fill.complete:after{animation:none}.transfer-percent{font-size:12px;font-weight:600;width:42px;text-align:right;color:var(--text-muted)}.toast-container{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface-glass);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--surface-glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);font-size:13px;color:var(--text);pointer-events:auto;animation:slideInRight .3s cubic-bezier(.34,1.56,.64,1);min-width:240px;max-width:360px;position:relative;overflow:hidden}.toast:after{content:"";position:absolute;bottom:0;left:0;height:3px;background:var(--accent);animation:toastProgress 4s linear forwards}.toast.success{border-left:3px solid var(--green)}.toast.success:after{background:var(--green)}.toast.success svg{color:var(--green)}.toast.error{border-left:3px solid var(--red)}.toast.error:after{background:var(--red)}.toast.error svg{color:var(--red)}.toast.info{border-left:3px solid var(--accent)}.toast.info svg{color:var(--accent)}.toast svg{flex-shrink:0}.toast .toast-msg{flex:1}.toast .toast-close{cursor:pointer;background:none;border:none;color:var(--text-muted);padding:2px;display:flex}.toast .toast-close:hover{color:var(--text)}.settings-view{max-width:480px}.settings-view h2{font-size:24px;font-weight:700;letter-spacing:-.5px;margin-bottom:24px}.settings-group{margin-bottom:28px;animation:slideUp .3s ease-out both}.settings-group:nth-child(2){animation-delay:50ms}.settings-group:nth-child(3){animation-delay:.1s}.settings-group:nth-child(4){animation-delay:.15s}.settings-group:nth-child(5){animation-delay:.2s}.settings-group:nth-child(6){animation-delay:.25s}.settings-group label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.settings-row{display:flex;gap:8px;align-items:center}.settings-row input{flex:1}.theme-options{display:flex;gap:8px}.theme-option{flex:1;padding:10px;text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;font-size:13px;transition:border-color var(--transition),background var(--transition)}.theme-option:hover{background:var(--surface-hover)}.theme-option.active{border-color:var(--accent);background:var(--accent-glow);color:var(--accent);transform:scale(1.02);box-shadow:0 0 12px var(--accent-glow)}.about-info{font-size:13px;color:var(--text-muted);line-height:1.8}.btn-danger{background:var(--red-glow);color:var(--red);border:1px solid rgba(248,113,113,.3);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-danger:hover:not(:disabled){background:#f8717133;border-color:var(--red);box-shadow:0 0 12px var(--red-glow)}.seed-display{margin-top:12px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;animation:scaleIn .2s ease-out}.seed-display code{flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;word-break:break-all;color:var(--accent)}.clear-confirm{display:flex;flex-direction:column;gap:10px}.clear-warning{font-size:13px;color:var(--red);background:var(--red-glow);padding:12px;border-radius:var(--radius-sm);border:1px solid rgba(248,113,113,.2);line-height:1.5}.identity-view{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient),var(--bg);z-index:500}.identity-view:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:32px 32px;opacity:.3;pointer-events:none}.identity-card{position:relative;z-index:1;background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--surface-glass-border);border-radius:var(--radius-lg);padding:48px 40px;max-width:420px;width:100%;box-shadow:var(--shadow-elevated);animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);text-align:center}.identity-logo-icon{color:var(--accent);filter:drop-shadow(0 0 12px var(--accent-glow));animation:float 3s ease-in-out infinite;margin-bottom:12px}.identity-card h2{font-size:32px;font-weight:800;letter-spacing:-1px;background:var(--accent-gradient);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite;margin-bottom:4px}.identity-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:32px}.identity-form{display:flex;flex-direction:column;gap:14px;animation:slideUp .3s ease-out both;text-align:left}.identity-form input,.identity-form textarea{padding:12px 16px}.identity-links{display:flex;gap:16px;justify-content:center;margin-top:4px}.link-btn{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:4px 0;transition:color .2s ease}.link-btn:hover{color:var(--accent);text-decoration:underline}.identity-error{color:var(--red);background:var(--red-glow);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;border:1px solid rgba(248,113,113,.2);animation:slideUp .2s ease-out both;margin-top:8px;text-align:left}.strength-bar{display:flex;gap:4px;margin-top:-4px}.strength-segment{flex:1;height:4px;border-radius:2px;background:var(--border);transition:background .3s ease}.strength-segment.weak{background:var(--red)}.strength-segment.fair{background:var(--yellow)}.strength-segment.good{background:var(--green)}.strength-segment.strong{background:#2dd4bf}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.hint{color:var(--text-muted);font-size:13px;text-align:center;padding:16px}.bottom-nav{display:none}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border:none;background:transparent;color:var(--text-muted);font-size:10px;font-weight:500;font-family:inherit;cursor:pointer;transition:color var(--transition);min-width:0;flex:1}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.bottom-nav-badge{position:absolute;top:-6px;right:-10px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:8px;padding:0 4px}@media (max-width: 640px){:root{font-size:15px}.app{grid-template-columns:1fr;grid-template-rows:1fr auto}.hamburger,.drawer-overlay{display:none}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:200;border-right:1px solid var(--border);transform:translate(-100%);transition:transform .3s cubic-bezier(.32,.72,0,1);box-shadow:none;will-change:transform}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-logo{padding-top:calc(20px + env(safe-area-inset-top,0px))}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--surface-glass);border-top:1px solid var(--surface-glass-border);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -1px 8px #00000026}.status-bar{display:none}.content{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));grid-column:1;grid-row:1}button,.btn,.nav-item,.peer-item,.bottom-nav-item{min-height:44px}input[type=text],input[type=password],textarea{min-height:44px;font-size:16px}.home-view{max-width:100%}.home-cards{grid-template-columns:1fr;gap:14px}.home-connecting{padding:40px 0}.home-error{padding:30px 0}.card{padding:20px}.room-code{font-size:22px;padding:12px 20px;word-break:break-all}.room-actions{flex-wrap:wrap;justify-content:center}.qr-code img{width:200px;height:200px}.join-form{flex-direction:column}.advanced-panel{flex-direction:column;max-width:100%}.chat-pane{height:calc(100vh - 64px - env(safe-area-inset-bottom,0px));height:calc(100dvh - 64px - env(safe-area-inset-bottom,0px))}.chat-layout{flex-direction:column}.peer-list{width:100%;max-height:100px;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto;overflow-y:hidden}.peer-list-header{display:none}.peer-item{flex-direction:column;padding:8px 12px;min-width:64px;min-height:auto;align-items:center;text-align:center;gap:4px}.peer-info{align-items:center}.peer-last-msg{display:none}.chat-header{padding:8px 12px}.message-content{max-width:80%}.avatar{width:28px;height:28px;font-size:11px}.input-row{padding:10px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.files-view{max-width:100%}.drop-zone{min-height:120px;padding:20px}.drop-zone-desktop{display:none}.drop-zone-mobile{display:block}.drop-zone-btn{display:inline-flex}.transfer-item{padding:10px 12px;gap:8px}.progress-bar{flex:0 0 80px}.settings-view{max-width:100%}.toast-container{bottom:calc(64px + env(safe-area-inset-bottom,0px));right:8px;left:8px}.toast{min-width:unset;max-width:100%}.empty-state{padding:30px 0}.identity-card{margin:16px;padding:32px 24px;backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md))}.identity-card h2{font-size:26px}.identity-card h2,.identity-logo-icon,.progress-fill,.progress-fill:after,.room-code:before,.drop-zone.dragging,.drop-zone:hover svg,.empty-state svg{animation:none}.toast{backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md))}}.install-prompt{position:fixed;left:16px;right:16px;bottom:16px;z-index:900;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-glass);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--surface-glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);animation:slideUp .3s ease-out both}.install-prompt-content{flex:1;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text)}.install-prompt-content span{flex:1;line-height:1.45}.install-prompt-close{background:none;border:none;color:var(--text-muted);padding:4px;cursor:pointer;display:flex}.install-prompt-close:hover{color:var(--text)}@media (max-width: 640px){.install-prompt{left:8px;right:8px;bottom:calc(72px + env(safe-area-inset-bottom,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md))}.install-prompt-content{align-items:flex-start;flex-direction:column;gap:10px}}
