@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";.create-page{width:100%;max-width:640px;padding:var(--space-6) var(--space-5) var(--space-8);gap:var(--space-7);flex-direction:column;margin:0 auto;display:flex}.hero{text-align:center;gap:var(--space-4);padding-top:var(--space-5);flex-direction:column;display:flex}.eyebrow{font-family:var(--font-mono);font-size:var(--step-1);text-transform:uppercase;letter-spacing:.14em;color:var(--brass-soft)}.hero-title{font-size:var(--step4);line-height:1.05}.hero-sub{color:var(--text-dim);font-size:var(--step1);max-width:46ch;margin:0 auto}.create-card{padding:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.code-preview{background:var(--bg-raised);border:1px dashed var(--border-strong);border-radius:var(--radius-md);font-size:var(--step1);letter-spacing:.04em;color:var(--brass-soft);text-align:center;padding:14px 16px}.result-card{gap:var(--space-6)}.result-row{gap:var(--space-6);align-items:flex-start;display:flex}.result-col{flex:1;min-width:0}.result-col label{font-size:var(--step-1);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2);font-weight:600;display:block}.qr-col{align-items:center;gap:var(--space-3);flex-direction:column;flex:none;display:flex}.link-row{align-items:center;gap:var(--space-2);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:10px 10px 10px 14px;display:flex}.link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:var(--step-1);flex:1;overflow:hidden}.fingerprint-row{align-items:center;gap:var(--space-2);text-align:left;max-width:176px;display:flex}@media (width<=560px){.result-row{flex-direction:column-reverse}.qr-col{width:100%}}.gate-page{padding:var(--space-5);flex:1;justify-content:center;align-items:center;display:flex}.gate-card{width:100%;max-width:420px;padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.centered-note{text-align:center;padding:var(--space-6);color:var(--text-dim);flex:1;justify-content:center;align-items:center;display:flex}.centered-note p{gap:var(--space-4);flex-direction:column;align-items:center;max-width:42ch;display:flex}.inline-link{width:fit-content;text-decoration:none}.chat-page{width:100%;max-width:760px;padding:0 var(--space-4) var(--space-4);flex-direction:column;flex:1;min-height:0;margin:0 auto;display:flex}.chat-header{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.presence{align-items:center;gap:var(--space-2);font-size:var(--step-1);letter-spacing:.02em;font-weight:600;display:inline-flex}.presence-dot{background:var(--text-faint);border-radius:50%;width:8px;height:8px}.presence-live .presence-dot{background:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}.presence-live{color:var(--teal)}.presence-alone .presence-dot{background:var(--brass);box-shadow:0 0 0 3px var(--brass-dim)}.presence-alone{color:var(--brass-soft)}.presence-connecting .presence-dot{background:var(--text-faint)}.banner{margin:var(--space-3) 0;border-radius:var(--radius-md);font-size:var(--step-1);padding:10px 14px}.banner-warn{background:var(--rust-soft);color:var(--rust);border:1px solid #c2533c59}.message-list{gap:var(--space-2);padding:var(--space-4) var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.empty-hint{text-align:center;margin:auto}.bubble{border-radius:var(--radius-md);max-width:75%;font-size:var(--step0);word-break:break-word;flex-direction:column;gap:2px;padding:10px 14px;line-height:1.45;display:flex}.bubble-self{background:linear-gradient(180deg, var(--brass-soft), var(--brass));color:#1a1408;border-bottom-right-radius:4px;align-self:flex-end}.bubble-other{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble-broken{background:var(--rust-soft);color:var(--rust);font-size:var(--step-1);border:1px solid #c2533c59;align-self:flex-start}.bubble-sender{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.04em;font-size:.7rem}.composer{gap:var(--space-2);padding-top:var(--space-3);display:flex}.composer .text-input{font-family:var(--font-body)}@media (width<=560px){.chat-page{padding:0 var(--space-2) var(--space-2)}.bubble{max-width:86%}}:root{--bg:#12141c;--bg-raised:#181b26;--surface:#1d2130;--surface-2:#252a3d;--border:#ede8dd17;--border-strong:#ede8dd29;--text:#ece7da;--text-dim:#9aa0b4;--text-faint:#656b80;--brass:#d9a441;--brass-soft:#e8c275;--brass-dim:#d9a44129;--teal:#4fa89f;--teal-soft:#4fa89f29;--rust:#c2533c;--rust-soft:#c2533c29;--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--step-1:clamp(.8rem, .77rem + .15vw, .875rem);--step0:clamp(.95rem, .92rem + .15vw, 1rem);--step1:clamp(1.1rem, 1.05rem + .25vw, 1.25rem);--step2:clamp(1.4rem, 1.3rem + .5vw, 1.75rem);--step3:clamp(1.9rem, 1.7rem + 1vw, 2.5rem);--step4:clamp(2.5rem, 2.1rem + 2vw, 3.5rem);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--shadow-soft:0 8px 30px #00000059;--shadow-tight:0 2px 8px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(circle at 15% -10%, #d9a44114, transparent 45%), radial-gradient(circle at 100% 10%, #4fa89f0f, transparent 40%), var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}button{font-family:inherit;font-size:inherit;cursor:pointer}input{font-family:inherit;font-size:inherit}a{color:inherit}code,.mono{font-family:var(--font-mono)}::selection{background:var(--brass-dim);color:var(--brass-soft)}:focus-visible{outline:2px solid var(--brass-soft);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{padding:var(--space-5) var(--space-6);justify-content:space-between;align-items:center;display:flex}.brand{align-items:baseline;gap:var(--space-2);font-family:var(--font-display);font-size:var(--step1);letter-spacing:-.01em;font-weight:600;display:flex}.brand-mark{color:var(--brass-soft);font-family:var(--font-mono);font-weight:600}.app-main{flex-direction:column;flex:1;display:flex}.app-footer{text-align:center;padding:var(--space-5);color:var(--text-faint);font-size:var(--step-1)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:600;font-size:var(--step0);border:1px solid #0000;padding:12px 22px;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg, var(--brass-soft), var(--brass));color:#1a1408;box-shadow:0 1px 0 #ffffff40 inset, var(--shadow-tight)}.btn-primary:hover{box-shadow:inset 0 1px #ffffff4d,0 6px 18px #d9a44140}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--brass-soft);color:var(--brass-soft)}.btn-sm{font-size:var(--step-1);border-radius:var(--radius-sm);padding:8px 14px}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label{font-size:var(--step-1);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.text-input{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-mono);font-size:var(--step0);width:100%;padding:12px 14px}.text-input:focus{border-color:var(--brass-soft)}.text-input.error{border-color:var(--rust)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.error-text{color:var(--rust);font-size:var(--step-1)}.hint-text{color:var(--text-faint);font-size:var(--step-1)}
