*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fbfbfb;--fg:#0a0a0a;--accent:#4f46e5;--muted:#a1a1aa;--border:#0a0a0a;--border-light:#e4e4e7;--surface:#f4f4f5;--error:#dc2626;--success:#16a34a;--font:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}html,body{height:100%;overflow:hidden}body{font-family:var(--font);background-color:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:var(--fg);color:var(--bg)}#root{height:100%;overflow:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.step-badge{letter-spacing:.2em;text-transform:uppercase;background:var(--fg);color:var(--bg);padding:.2rem .5rem;font-size:.6875rem;font-weight:800;display:inline-block}.input-group{border-bottom:2px solid var(--fg);transition:border-color .2s}.input-group:focus-within{border-color:var(--accent)}.input-field{width:100%;font-family:var(--font);color:var(--fg);background:0 0;border:none;outline:none;padding:1rem 0;font-size:.875rem;font-weight:700}.input-field::placeholder{color:#d4d4d8;font-weight:400}.btn-primary{background:var(--fg);color:#fff;width:100%;font-family:var(--font);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;justify-content:space-between;align-items:center;margin-top:1rem;padding:1.25rem 1.5rem;font-size:.75rem;font-weight:800;transition:background-color .2s;display:flex}.btn-primary:hover:not(:disabled){background:var(--accent)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-arrow{font-size:1.25rem;font-style:normal;transition:transform .2s}.btn-primary:hover:not(:disabled) .btn-arrow{transform:translate(4px)}.login{width:100%;animation:.7s ease-out fadeInUp}.login-hero{letter-spacing:-.05em;text-transform:uppercase;margin:0 0 2.5rem;font-size:4.5rem;font-weight:900;line-height:.8}.login-form-wrap{max-width:28rem}.login-hero-col{display:contents}.login-meta{display:none}@media (width>=768px){.login{grid-template-columns:1.3fr 1fr;align-items:center;gap:4rem;display:grid}.login-hero-col{display:block}.login-hero{margin:0 0 2.5rem;font-size:6.5rem}.login-meta{border-top:2px solid var(--fg);margin-top:2rem;padding-top:1.5rem;display:block}.login-meta-line{text-transform:uppercase;letter-spacing:.1em;opacity:.3;font-size:.6875rem;font-weight:700;line-height:2}.login-form-wrap{max-width:none;padding-top:.5rem}}.login-subtitle{text-transform:uppercase;letter-spacing:.025em;opacity:.6;margin-bottom:2rem;font-size:.875rem;font-weight:700;line-height:1.625}.login-form>*+*{margin-top:1rem}.login-links{flex-direction:column;gap:.5rem;margin-top:2rem;display:flex}.link-btn{font-family:var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--fg);cursor:pointer;text-align:left;opacity:.35;background:0 0;border:none;padding:0;font-size:.6875rem;font-weight:700;transition:opacity .2s}.link-btn:hover{opacity:1;text-underline-offset:4px;text-decoration:underline}.password-hint{color:var(--muted);margin-top:.5rem;font-size:.6875rem;font-weight:400}.feedback{text-transform:uppercase;letter-spacing:.05em;margin-top:1.5rem;padding:.75rem 1rem;font-size:.6875rem;font-weight:700;line-height:1.6}.feedback-error{color:var(--error);border-left:3px solid var(--error);background:#fef2f2}.feedback-success{color:var(--success);border-left:3px solid var(--success);background:#f0fdf4}.app{flex-direction:column;height:100%;display:flex;overflow:hidden}.nav{border-bottom:1px solid var(--fg);background:var(--bg);z-index:50;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.brand{letter-spacing:-.05em;text-transform:uppercase;font-size:1.25rem;font-style:italic;font-weight:900}.nav-actions{align-items:center;gap:1.5rem;display:flex}.nav-status{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;display:flex}.nav-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.nav-btn{font-family:var(--font);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;color:var(--fg);background:0 0;border:none;padding:0;font-size:.6875rem;font-weight:700}.nav-btn:hover{text-underline-offset:4px;text-decoration:underline}.main{flex:1;align-items:center;max-width:72rem;margin:0 auto;padding:0 1.5rem;display:flex;overflow:hidden}.watermark{opacity:.03;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-10;padding:3rem;font-size:20vw;font-weight:900;line-height:1;position:fixed;top:0;right:0}.room-page{animation:.7s ease-out fadeInUp}.room-hero{letter-spacing:-.05em;text-transform:uppercase;margin-bottom:3rem;font-size:4.5rem;font-weight:900;line-height:.8}@media (width>=768px){.room-hero{font-size:6rem}}.room-form-wrap{max-width:28rem}.room-info-grid{border-bottom:1px solid var(--border-light);grid-template-columns:5rem 1fr;align-items:baseline;gap:.5rem 1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:grid}.room-info-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6875rem;font-weight:700}.room-info-value{font-size:1rem;font-weight:700}.room-warning{text-transform:uppercase;letter-spacing:.05em;color:var(--error);border-left:3px solid var(--error);background:#fef2f2;margin-bottom:2rem;padding:.75rem 1rem;font-size:.6875rem;font-weight:700;line-height:1.6}.room-hint{color:var(--muted);margin-top:.75rem;font-size:.6875rem;font-weight:400}.match-status{border:2px dashed var(--border-light);text-align:center;margin-top:2.5rem;padding:1.5rem}.match-waiting{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6875rem;font-weight:700}.match-tag{letter-spacing:.1em;text-transform:uppercase;padding:.25rem .5rem;font-size:.625rem;font-weight:900;display:inline-block}.match-tag-partial{background:var(--accent);color:#fff}.match-tag-full{background:var(--success);color:#fff}.loading-text{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.875rem;font-weight:700}@media (width<=640px){.main{padding:3rem 1.25rem 6rem}.brand{font-size:.9375rem}.nav-status{display:none}}
