@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";@import "https://fonts.cdnfonts.com/css/star-wars";:root{--bg:#0f1817;--bg-deep:#09100f;--surface:#162624;--surface-strong:#1d3330;--line:#2f4f4a;--text:#e7f2ef;--muted:#9fb5b1;--accent:#ef8f45;--accent-strong:#f8a665;--danger:#ff7f7f;--success:#58d6a8;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:18px;--space-1:.35rem;--space-2:.55rem;--space-3:.6rem;--space-4:.75rem;--space-5:.8rem;--space-6:1rem}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 12% 8%, #1f3431 0%, var(--bg) 42%, var(--bg-deep) 100%);font-family:Space Grotesk,sans-serif}input,textarea,button,code{font-family:inherit}input,textarea{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text);background:#060f0e73;padding:.65rem .75rem}input:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ef8f4533}code{overflow-wrap:anywhere;color:#cff0e4;font-family:IBM Plex Mono,monospace;font-size:.85rem}.muted{color:var(--muted);font-size:.92rem}.error{color:var(--danger)}.btn{border-radius:var(--radius-md);color:var(--text);cursor:pointer;background:#172926b8;border:1px solid #b4dad17a;justify-content:center;align-items:center;padding:.65rem .85rem;text-decoration:none;transition:border-color .18s,transform .18s,background-color .18s;display:inline-flex}.btn:hover:not(:disabled){border-color:#f8a665cc;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#19201f;border-color:#f8a665d9;font-weight:700}.btn.ghost{background:0 0}.page{flex-direction:column;min-height:100dvh;padding:1.2rem;display:flex;position:relative;overflow:hidden}.ambient-glow{filter:blur(10px);pointer-events:none;background:radial-gradient(circle,#ef8f4533 0%,#ef8f4500 68%);width:34rem;height:34rem;animation:11s ease-in-out infinite alternate drift;position:absolute;inset:auto -25% 20% auto}.topbar{justify-content:flex-start;align-items:center;gap:1rem;max-width:980px;margin:0 auto;padding:.45rem 0;display:flex}.status-row{max-width:980px;margin:0 auto;display:inline-flex}.brand{color:#ffe66d;letter-spacing:0;-webkit-text-stroke:1px #ffe66d;text-shadow:0 2px #000,0 0 18px #ffe66d52;font-family:Star Wars,Arial Black,Impact,sans-serif;font-size:clamp(1.7rem,4vw,3rem);line-height:.9;text-decoration:none}.content{flex-direction:column;flex:1;width:100%;max-width:980px;min-height:0;margin:1rem auto 0;display:flex}.panel{border-radius:var(--radius-xl);background:linear-gradient(155deg,#1d3330e0,#12211feb);border:1px solid #75a39852;padding:1.25rem;animation:.46s ease-out rise;box-shadow:0 22px 52px #00000042}.panel h1{margin-top:0;margin-bottom:.55rem;font-size:clamp(1.35rem,2.9vw,2rem);line-height:1.15}.panel h2{margin-top:0;margin-bottom:.55rem;font-size:1rem}.panel p{margin-top:0}.actions{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.join-form{margin-top:1rem}.join-form label{color:var(--muted);margin-bottom:.45rem;display:block}.row{gap:.6rem;display:flex}.join-row{align-items:stretch;gap:.6rem;display:flex}.join-row .btn{white-space:nowrap;flex:none}@media (width<=760px){.page{padding:.75rem}.row{flex-direction:column}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:translateY(-4%)}to{transform:translate(-8%,4%)}}.chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #0000;border-radius:999px;padding:.55rem .95rem;font-family:IBM Plex Mono,monospace;font-size:.92rem;position:relative}.chip:focus-visible{outline:none;box-shadow:0 0 0 3px #ef8f4547}.tooltip{z-index:2;border-radius:var(--radius-sm);width:min(24rem,100vw - 2.4rem);color:var(--text);opacity:0;pointer-events:none;background:#080f0ef5;border:1px solid #b4dad173;padding:.7rem .8rem;font-family:Space Grotesk,sans-serif;font-size:.86rem;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + .5rem);left:0;transform:translateY(-.2rem)}.keypair-status:hover .tooltip,.keypair-status:focus-visible .tooltip{opacity:1;transform:translateY(0)}.chip.generating{color:#ffe8b3;background:#ffbd432b;border-color:#ffbd4366}.chip.ready{color:#a8f5d7;background:#58d6a826;border-color:#58d6a880}.chip.error{color:#ffc9c9;background:#ff7f7f26;border-color:#ff7f7f73}.room-panel{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.room-header{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.meta-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.meta-card{background:#080f0e61;border:1px solid #80a59c47;border-radius:14px;gap:.6rem;padding:.8rem;display:grid}.messages{border-radius:var(--radius-lg);background:#070d0d8c;border:1px solid #7caaa04d;flex:1;min-height:0;padding:.75rem;overflow-y:auto}.messages-stack{flex-direction:column;justify-content:flex-end;gap:.6rem;min-height:100%;display:flex}.message{border-radius:var(--radius-md);width:min(88%,620px);padding:.62rem .75rem}.message.mine{background:#ef8f4533;border:1px solid #ef8f4573;margin-left:auto}.message.theirs{background:#56c9aa29;border:1px solid #56c9aa70}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.35rem;margin-bottom:0}.message.emoji-only p{font-size:3em;line-height:1.1}.message-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex}@media (width<=760px){.meta-grid{grid-template-columns:1fr}.room-header{flex-direction:column;align-items:stretch}.message{width:100%}}.composer{gap:.55rem;display:grid}.composer-input{resize:none;overflow-y:hidden}.composer-input-row{align-items:flex-end;gap:.6rem;display:flex}.composer-input-row .composer-input{flex:1}.composer-input-row .btn{white-space:nowrap;flex:none}.composer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.emoji-row{flex-wrap:wrap;gap:.35rem;display:flex}.emoji-btn{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:#172926b8;border:1px solid #b4dad173;min-width:2rem;height:2rem;line-height:1}.emoji-btn:disabled{opacity:.55;cursor:not-allowed}.emoji-toggle-btn{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:#172926b8;border:1px solid #b4dad173;flex:none;width:2.4rem;height:2.4rem;line-height:1}.emoji-toggle-btn:disabled{opacity:.55;cursor:not-allowed}
