.btn{padding:.65rem 1.4rem;border-radius:.2rem;font-family:inherit;font-weight:600;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .15s ease;border:1px solid transparent;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:currentColor;opacity:0;transition:opacity .15s ease}.btn:hover:not(:disabled):before{opacity:.06}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn--primary{background:transparent;color:var(--primary);border-color:var(--primary);box-shadow:var(--glow-sm),inset 0 0 0 0 transparent}.btn--primary:hover:not(:disabled){background:var(--primary-dim);box-shadow:var(--glow-md)}.btn--secondary{background:transparent;color:var(--text-muted);border-color:#00ff4133}.btn--secondary:hover:not(:disabled){color:var(--primary);border-color:#00ff4180}.btn--danger{background:transparent;color:var(--danger);border-color:var(--danger);box-shadow:0 0 6px #ff224440}.btn--danger:hover:not(:disabled){background:#ff22441a;box-shadow:0 0 14px #ff224473}.btn--small{padding:.4rem .65rem;font-size:.75rem}.btn--large{padding:1rem 1.75rem;font-size:1rem}.btn--circle{border-radius:50%;width:44px;height:44px;padding:0;display:flex;justify-content:center;align-items:center}.btn--circle.btn--large{width:60px;height:60px}.btn svg{width:18px;height:18px;flex-shrink:0}.btn--circle svg{width:22px;height:22px}.btn--circle.btn--large svg{width:30px;height:30px}.btn--icon{background:none;color:var(--text-muted);border:none;padding:8px;border-radius:.2rem}.btn--icon:hover:not(:disabled){color:var(--primary);background:var(--primary-dim);transform:none;box-shadow:none}.btn--icon svg{width:18px;height:18px}.btn--icon.btn--tiny{padding:2px}.btn--icon.btn--tiny svg{width:13px;height:13px}.initial-actions{display:flex;flex-direction:column;gap:.875rem}.input-group{text-align:left;margin-bottom:1.25rem}.input-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:.4rem;font-weight:600}.input-label:before{content:"> ";opacity:.6}.input-field{width:100%;padding:.7rem 1rem;background:#000500d9;border:1px solid rgba(0,255,65,.2);border-radius:.2rem;color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease;caret-color:var(--primary)}.input-field::placeholder{color:var(--text-muted);opacity:.7}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:var(--glow-sm);background:#000800f2}.input-field:read-only{cursor:default;color:var(--text-muted);border-color:#00ff411a}.copy-input{display:flex;gap:.5rem;align-items:center}.copy-input .input-field{flex:1}.create-hash-view{display:flex;flex-direction:column;gap:1.25rem}.copy-feedback{font-size:.75rem;color:var(--success);margin-top:.35rem;display:block;letter-spacing:.06em}.copy-feedback:before{content:"✓ "}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin-top:.5rem}.join-hash-view{display:flex;flex-direction:column;gap:1.25rem}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;align-items:center;padding:20px;background:#0009;transition:opacity .3s ease}.overlay.hidden{display:none;opacity:0}.overlay-content{width:100%;max-width:420px;padding:2.5rem;border-radius:.25rem;text-align:center}.overlay-content:before{content:"■ ■ ■  SECURE_TERMINAL v2";display:block;font-size:.65rem;letter-spacing:.12em;color:var(--text-muted);background:#00ff410d;border-bottom:1px solid var(--glass-border);margin:-2.5rem -2.5rem 2rem;padding:.5rem 1rem;text-align:left}.overlay-content h1{font-size:1.6rem;margin-bottom:.4rem;font-weight:700;color:var(--primary);letter-spacing:.05em;text-shadow:var(--glow-md)}.overlay-content p{color:var(--text-muted);margin-bottom:2rem;font-size:.78rem;letter-spacing:.04em}.setup-status{margin-top:1.5rem;padding:.65rem 1rem;background:#00ff410d;border:1px solid rgba(0,255,65,.3);border-radius:.2rem;color:var(--primary);font-size:.8rem;text-align:left;font-family:inherit}.setup-status:before{content:"$ ";opacity:.5}.setup-status.error{background:#ff22440f;border-color:#f246;color:var(--danger)}@media (max-width: 480px){.overlay{align-items:flex-end;padding:0;background:#000000b3}.overlay-content{max-width:100%;border-radius:.5rem .5rem 0 0;padding:2rem 1.25rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.overlay-content:before{margin:-2rem -1.25rem 1.5rem}.overlay-content h1{font-size:1.25rem}.overlay-content p{font-size:.75rem}}.chat-header{padding:.875rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--glass-border);background:#000a00fa;flex-shrink:0}.chat-header:before{display:none}.header-info{flex:1;min-width:0}.title-row{display:flex;align-items:center;gap:.625rem;margin-bottom:.2rem}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);flex-shrink:0;transition:background .3s ease,box-shadow .3s ease}.status-dot.connected{background:var(--success);box-shadow:var(--glow-md);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:var(--glow-md)}50%{box-shadow:var(--glow-sm)}}.channel-title{font-size:.95rem;font-weight:700;color:var(--primary);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{font-size:.6rem;background:#00ff411a;color:var(--primary);padding:1px 7px;border-radius:.1rem;font-weight:700;letter-spacing:.1em;border:1px solid rgba(0,255,65,.3);text-shadow:var(--glow-sm)}.hash-badge-container{display:flex;align-items:center;gap:.4rem;background:#00ff4108;padding:.2rem .5rem;border-radius:.15rem;margin-top:.3rem;width:fit-content;border:1px solid rgba(0,255,65,.12);position:relative}.hash-text{font-family:inherit;font-size:.7rem;color:var(--text-muted);word-break:break-all;letter-spacing:.03em}.copy-feedback-small{position:absolute;top:-18px;right:0;font-size:.65rem;color:var(--success);white-space:nowrap;letter-spacing:.04em}.participant-info{font-size:.7rem;color:var(--text-muted);margin-top:.2rem;letter-spacing:.03em}.header-actions{display:flex;gap:.25rem;flex-shrink:0}@media (max-width: 480px){.chat-header{padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top))}.channel-title{font-size:.875rem}.hash-badge-container{display:none}}.message{max-width:72%;padding:.6rem .9rem;border-radius:.2rem;font-size:.875rem;line-height:1.5;position:relative;animation:msgIn .2s ease-out}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.sent{align-self:flex-end;background:#00320acc;border:1px solid rgba(0,255,65,.35);border-bottom-right-radius:0;color:var(--text);box-shadow:var(--glow-sm)}.message.received{align-self:flex-start;background:#000800e6;border:1px solid rgba(0,255,65,.15);border-bottom-left-radius:0}.message.received:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:2px;height:60%;background:#00ff414d;border-radius:1px}.message-text{word-wrap:break-word;overflow-wrap:break-word;color:var(--text)}.message.sent .message-text{color:#c8ffcc}.message-meta{font-size:.63rem;color:var(--text-muted);margin-top:.3rem;display:flex;justify-content:space-between;gap:.75rem;letter-spacing:.03em;opacity:.7}@media (max-width: 480px){.message{max-width:86%;font-size:.85rem}}.messages-area{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth;background:#00050099}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.5rem;color:var(--text-muted)}.empty-state p{font-size:.8rem;letter-spacing:.06em;text-align:center}.empty-state p:before{content:"$ ";opacity:.5}.messages-area::-webkit-scrollbar{width:5px}.messages-area::-webkit-scrollbar-track{background:#00ff4105}.messages-area::-webkit-scrollbar-thumb{background:#00ff4133;border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#00ff4166}@media (max-width: 480px){.messages-area{padding:.875rem .75rem;gap:.625rem}}.chat-footer{padding:.875rem 1.25rem;border-top:1px solid var(--glass-border);background:#000a00fa;flex-shrink:0}.input-container{display:flex;gap:.625rem;align-items:center}.input-container:before{content:">";color:var(--primary);font-size:1rem;font-weight:700;flex-shrink:0;text-shadow:var(--glow-sm);-webkit-user-select:none;user-select:none}.message-input{flex:1;padding:.65rem .9rem;background:#000500d9;border:1px solid rgba(0,255,65,.2);border-radius:.2rem;color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease;caret-color:var(--primary);min-width:0}.message-input::placeholder{color:var(--text-muted);opacity:.6}.message-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--glow-sm)}.message-input:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 480px){.chat-footer{padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.input-container{gap:.5rem}.message-input{font-size:16px}}.blur-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;justify-content:center;align-items:center;background:#000000e0;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.call-info{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.call-avatar{width:110px;height:110px;border-radius:50%;background:#000a00e6;margin-bottom:1rem;border:2px solid var(--primary);box-shadow:var(--glow-md),inset var(--glow-sm);position:relative;overflow:hidden}.call-avatar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--primary-dim),transparent 60%)}.shimmer{animation:callPulse 1.8s ease-in-out infinite}@keyframes callPulse{0%,to{box-shadow:var(--glow-md),inset var(--glow-sm)}50%{box-shadow:var(--glow-lg),inset var(--glow-md)}}.call-status{font-size:1.25rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);text-shadow:var(--glow-md)}.call-duration{color:var(--text-muted);margin-bottom:1.75rem;font-size:.95rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}@media (max-width: 480px){.call-avatar{width:90px;height:90px}.call-status{font-size:1.05rem}.call-duration{margin-bottom:1.25rem}}#chat-container{width:100%;max-width:820px;height:100%;max-height:820px;display:flex;flex-direction:column;border-radius:.25rem;overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--glow-sm),0 0 60px #000c;background:#000800f2}#chat-container.hidden{display:none}@media (max-width: 480px){#chat-container{max-width:100%;max-height:100%;border-radius:0;border:none}}:root{--primary: #00ff41;--primary-hover: #33ff6a;--primary-dim: rgba(0, 255, 65, .12);--bg: #080808;--surface: #0d0d0d;--surface-alt: #111111;--text: #d4ffd4;--text-bright: #00ff41;--text-muted: #4d8c5e;--danger: #ff2244;--danger-hover: #cc1133;--success: #00ff41;--accent: #00ccff;--glass: rgba(0, 255, 65, .03);--glass-border: rgba(0, 255, 65, .18);--glow-sm: 0 0 6px rgba(0, 255, 65, .25);--glow-md: 0 0 14px rgba(0, 255, 65, .35);--glow-lg: 0 0 28px rgba(0, 255, 65, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}body{font-family:JetBrains Mono,Fira Code,Courier New,monospace;background-color:var(--bg);color:var(--text);height:100vh;height:100dvh;overflow:hidden;background-image:linear-gradient(rgba(0,255,65,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,65,.025) 1px,transparent 1px);background-size:40px 40px}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px);pointer-events:none;z-index:9999}#root,#app{height:100%;display:flex;justify-content:center;align-items:center;padding:20px}.glass{background:#000a00eb;border:1px solid var(--glass-border);box-shadow:var(--glow-sm),inset 0 0 40px #00000080}.hidden{display:none!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#00ff4108}::-webkit-scrollbar-thumb{background:#00ff4140;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00ff4173}@media (max-width: 480px){#root,#app{padding:0;align-items:stretch}body{height:100vh;height:100dvh}}
