:root{font-family:Manrope,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1d2433;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100vh}body{min-height:100vh;background:#f5f7fb;color:#1d2433}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.access-screen{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,#fff,#f3f5f9)}.access-panel{width:min(500px,100%);background:#fffffff5;border:1px solid rgba(32,44,63,.08);border-radius:28px;padding:32px 28px;box-shadow:0 18px 40px #202c3f14}.access-panel h1{margin:18px 0 10px;font-size:clamp(2rem,3vw,2.8rem);line-height:1.1;color:#121a2b}.access-panel p{margin:0 0 22px;color:#58657b}.access-panel small{display:block;margin-top:16px;color:#7a8599}.access-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-panel{display:grid;gap:18px}.auth-brand{display:flex;justify-content:center;margin-bottom:4px}.auth-icon{width:86px;height:86px}.auth-status{margin-top:6px}.auth-submit{width:100%;margin-top:4px}.turnstile-wrapper{display:flex;justify-content:center;min-height:65px;margin:4px 0}.privacy-consent{display:flex;align-items:flex-start;gap:10px;color:#58657b;font-size:.84rem;line-height:1.45}.privacy-consent input{width:16px;height:16px;flex:0 0 auto;margin:2px 0 0;accent-color:#4d7aff}.privacy-consent a{color:#3e5ec4;font-weight:700;text-decoration:underline;text-underline-offset:2px}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.app-shell{width:min(1380px,calc(100% - 30px));margin:0 auto;padding:24px 0 30px}.app-footer{padding:24px 0 4px;color:#8490a4;font-size:.78rem;text-align:center}.topbar{display:flex;align-items:center;justify-content:space-between;background:#fffffff0;border:1px solid rgba(23,30,42,.08);border-radius:22px;padding:18px 20px;box-shadow:0 12px 24px #0f172a0a}.brand-wrap{display:flex;align-items:center}.brand-logo{height:52px;width:auto}.topbar-actions{display:flex;align-items:center;gap:12px}.mobile-top-actions,.mobile-sheet-header,.mobile-sheet-close,.mobile-sheet-backdrop{display:none}.mini-stat{display:flex;flex-direction:column;align-items:flex-start;padding:8px 12px;background:linear-gradient(180deg,#f7f9ff,#eef3ff);border:1px solid rgba(90,104,196,.12);border-radius:12px;min-width:96px;margin-right:8px}.mini-stat span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#6f7d98}.mini-stat strong{font-size:1.05rem;color:#101a2d;line-height:1.2}.tier-pill,.chip{border-radius:999px;padding:7px 12px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tier-pill.free,.chip-soft{background:#f2f5fa;color:#48556f;border:1px solid rgba(32,44,63,.08)}.tier-pill.pro{background:#5d76ff14;color:#4157d8;border:1px solid rgba(93,118,255,.15)}.chip-violet{display:inline-flex;background:linear-gradient(135deg,#6f7aff1f,#ad70ff1f);color:#4b57c7}.content-shell{display:grid;grid-template-columns:260px minmax(0,1.3fr) 300px;gap:20px;margin-top:22px}.panel{background:#fff;border:1px solid rgba(25,33,48,.08);border-radius:24px;box-shadow:0 10px 22px #0f172a0a}.sidebar,.controls{padding:18px}.sidebar-block+.sidebar-block{margin-top:18px}.section-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#7a8599}.profile-box{margin-top:10px;display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(180deg,#f8faff,#f2f5fb);border-radius:16px;border:1px solid rgba(25,33,48,.06)}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;box-shadow:inset 0 0 0 1px #fff6}.profile-box strong,.profile-box span{display:block}.profile-box strong{color:#1c2330}.profile-box span{color:#6d7a90;font-size:.74rem}.display-name-field{display:grid;gap:6px;margin-top:12px;color:#6d7a90;font-size:.74rem;font-weight:600}.display-name-field input{width:100%;min-width:0;padding:9px 10px;color:#1d2433;background:#fff;border:1px solid rgba(25,33,48,.12);border-radius:10px;outline:none}.display-name-field input:focus{border-color:#5863ff73;box-shadow:0 0 0 3px #5863ff1f}.profile-display-name{display:block;color:#1d2433;font-size:.9rem;overflow-wrap:anywhere}.profile-demographics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.profile-demographics div{min-width:0;padding:9px 10px;background:#fff;border:1px solid rgba(25,33,48,.08);border-radius:10px}.profile-demographics span,.profile-demographics strong{display:block;overflow-wrap:anywhere}.profile-demographics span{color:#77839a;font-size:.66rem;text-transform:uppercase}.profile-demographics strong{margin-top:4px;color:#263248;font-size:.82rem}.profile-edit-button{width:100%;margin-top:8px;padding:8px 10px;font-size:.8rem}.session-box{margin-top:10px;padding:12px;background:linear-gradient(180deg,#f7faff,#f1f5fb);border-radius:14px;border:1px solid rgba(25,33,48,.06)}.session-box span{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#77839a}.session-box strong{display:block;margin-top:8px;color:#1d2433}.mini-list{margin:12px 0 0;padding-left:18px;color:#495a78;display:grid;gap:8px}.primary-button,.secondary-button,.ghost-button,.icon-button{border:none;transition:transform .2s ease,opacity .2s ease}.button-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.button-spinner{animation:none;border-right-color:currentColor}}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(135deg,#4d7aff,#5c63ff);color:#fff;border-radius:14px;padding:12px 18px;font-weight:700;box-shadow:0 12px 20px #5863ff2e}.secondary-button{background:#f3f6fc;color:#202b3d;border:1px solid rgba(25,33,48,.08);border-radius:14px;padding:12px 18px;font-weight:600}.ghost-button{background:#fff;border:1px solid rgba(33,44,63,.1);color:#202b3d;border-radius:12px;padding:10px 14px}.wide-button{width:100%;margin-top:16px}.chat-panel{display:flex;flex-direction:column;padding:18px 18px 14px}.chat-panel:not(.welcome-state){height:min(760px,calc(100dvh - 190px));min-height:0}.chat-panel.welcome-state{min-height:700px}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(25,33,48,.08)}.chat-header h2{margin:6px 0 0;font-size:1.35rem;color:#141c2c}.presence{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:36px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.presence.online{background:#46cb8d14;color:#1f9c65}.presence.searching{background:#3697791a;color:#287c65}.presence.ai{background:#605cff14;color:#4a47d7}.presence.ended{background:#d189301a;color:#9a5d14}.welcome-state{justify-content:flex-start}.welcome-content{display:grid;gap:20px;margin-top:22px}.welcome-hero{background:linear-gradient(135deg,#5b6aff12,#9f7bff12);border:1px solid rgba(91,106,255,.12);border-radius:20px;padding:20px 20px 18px}.welcome-hero h3{margin:14px 0 8px;font-size:clamp(1.8rem,2vw,2.4rem);line-height:1.15;color:#111b2d}.welcome-hero p{margin:0;color:#4a5976;font-size:1.02rem}.welcome-rules{padding:18px 18px 12px;border:1px solid rgba(25,33,48,.08);border-radius:18px;background:#f9fbff}.welcome-rules h4{margin:0 0 12px;color:#1a2434;font-size:1.05rem}.welcome-rules ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#43536e}.message-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;margin-top:18px;padding-right:4px;overflow-y:auto;overscroll-behavior:contain}.match-search-state{flex:1;min-height:340px;display:grid;align-content:center;justify-items:center;gap:24px;padding:28px 16px}.match-orbit{position:relative;width:156px;height:156px;display:grid;place-items:center;border:1px solid rgba(58,135,117,.12);border-radius:50%;background:radial-gradient(circle,rgba(86,165,140,.08),transparent 68%)}.match-orbit:before,.match-orbit:after{position:absolute;content:"";border:1px solid rgba(58,135,117,.2);border-radius:50%}.match-orbit:before{top:18px;right:18px;bottom:18px;left:18px}.match-orbit:after{top:42px;right:42px;bottom:42px;left:42px;border-color:#3a87754d}.match-orbit-sweep{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 285deg,rgba(71,166,137,.04) 315deg,rgba(71,166,137,.3) 360deg);mask:radial-gradient(circle,transparent 0 35%,#000 36% 100%);animation:match-sweep 4s linear infinite}.match-orbit-ring{position:absolute;top:27px;right:27px;bottom:27px;left:27px;border:1px dashed rgba(58,135,117,.35);border-radius:50%;animation:match-sweep 14s linear infinite reverse}.match-orbit-core{width:12px;height:12px;border-radius:50%;background:#368f76;box-shadow:0 0 0 7px #368f761a,0 0 24px #368f764d}.match-orbit-point{position:absolute;top:15px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#78b9a2;box-shadow:0 0 12px #368f7666;animation:match-point-pulse 1.8s ease-in-out infinite}.match-search-copy{display:grid;justify-items:center;gap:6px;text-align:center}.match-search-copy strong{color:#243149;font-size:1.05rem}.match-search-copy>span:not(.match-search-dots){color:#758198;font-size:.9rem}.match-search-dots{color:#438d77;animation:match-dots-pulse 1.3s ease-in-out infinite}@keyframes match-sweep{to{transform:rotate(360deg)}}@keyframes match-point-pulse{50%{opacity:.35;transform:scale(.75)}}@keyframes match-dots-pulse{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.match-orbit-sweep,.match-orbit-ring,.match-orbit-point,.match-search-dots{animation:none}}.room-notice{width:100%;padding:14px 16px;background:#f7f9fc;border:1px solid rgba(82,100,129,.14);border-left:3px solid #6b8f82;border-radius:10px;color:#43536e}.room-notice strong{display:block;color:#243149}.room-notice p{margin:4px 0 0;font-size:.9rem}.message-row{display:flex}.message-row.mine{justify-content:flex-end}.message-bubble{max-width:75%;padding:12px 14px;border-radius:18px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.message-row.theirs .message-bubble{background:#f1f5fa;border:1px solid rgba(24,32,49,.06);color:#243149}.message-row.mine .message-bubble{background:linear-gradient(135deg,#4e6cff,#5e7bff);color:#fff}.message-row.notice .message-bubble{max-width:100%;background:#f7f9fc;color:#62708b;border:1px dashed rgba(82,100,129,.18)}.typing-indicator{position:absolute;left:4px;bottom:calc(100% + 6px);z-index:1;max-width:100%;padding:5px 10px;color:#758198;font-size:.82rem;font-style:italic;background:#fffffff5;border:1px solid rgba(82,100,129,.12);border-radius:12px;box-shadow:0 3px 10px #0f172a0d;pointer-events:none}.composer-anchor{position:relative;flex:0 0 auto}.composer{display:flex;flex:0 0 auto;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(25,33,48,.08)}.composer input{flex:1;border:1px solid rgba(25,33,48,.08);background:#f8fafe;color:#1d2433;border-radius:14px;padding:13px 16px;outline:none}.composer-ended{margin-top:18px;padding:14px 16px;border-top:1px solid rgba(25,33,48,.08);color:#697892;text-align:center}.composer input:focus,.field select:focus{border-color:#5863ff73;box-shadow:0 0 0 3px #5863ff1f}.ai-disclaimer{flex:0 0 auto;margin:8px 0 0;color:#748097;font-size:.76rem;text-align:center}.controls{display:flex;flex-direction:column;gap:18px}.control-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.field{display:grid;gap:10px;color:#23314b}.field span{font-weight:600}.field select{padding:12px 14px;border-radius:12px;background:#f9fbff;border:1px solid rgba(25,33,48,.08);color:#1d2433}.status-box{background:#f8faff;border:1px solid rgba(25,33,48,.06);border-radius:16px;padding:14px}.status-box strong{display:block;margin-top:8px;color:#1d2433}.info-banner{background:#4776ff0d;color:#2b3d63;border:1px solid rgba(71,118,255,.12);border-radius:14px;padding:12px 14px;font-size:.92rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a61;display:grid;place-items:center;padding:24px}.modal-card{width:min(760px,100%);background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:26px;padding:22px;box-shadow:0 24px 50px #0f172a14}.confirm-card{width:min(460px,100%)}.confirm-copy{margin:0;color:#58657b}.profile-details-modal{width:min(460px,100%)}.profile-details-form{display:grid;gap:14px;margin-top:20px}.profile-details-form input,.profile-details-form select{width:100%;min-width:0;padding:12px 14px;border:1px solid rgba(25,33,48,.12);border-radius:12px;background:#f9fbff;color:#1d2433;font:inherit}.form-error{margin:0;color:#a53b3b;font-size:.88rem}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-header h3{margin:8px 0 0;font-size:1.8rem;color:#101a2d}.icon-button{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f3f6fc;color:#1d2433;font-size:1.6rem;border:1px solid rgba(19,27,39,.06)}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}.plan-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 18px;border-radius:18px;border:1px solid rgba(25,33,48,.08);background:#f9fbff;color:inherit;text-align:left}.plan-card strong{font-size:2rem;line-height:1;color:#111b2d}.plan-card small{color:#697892}.plan-card.selected{border-color:#5d76ff80;background:#5d76ff0f}.plan-card:disabled{opacity:.58;cursor:not-allowed;transform:none}.demo-banner{margin-top:18px;padding:12px 14px;text-align:center;border-radius:12px;background:#ebb24e1a;color:#905a10;border:1px solid rgba(235,178,78,.2);font-weight:700}.pro-coming-soon{margin-top:18px;padding:14px 16px;border:1px solid rgba(54,143,118,.16);border-radius:12px;background:#368f760f;color:#356e5d;font-weight:700;text-align:center}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}@media (max-width: 1080px){.content-shell{grid-template-columns:1fr}.sidebar,.controls{min-height:auto}.chat-panel:not(.welcome-state){height:min(72dvh,640px);min-height:320px}}@media (max-width: 640px){html,body,#root{height:100%;min-height:100%}body{overflow:hidden}.access-screen{height:100dvh;min-height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;place-items:start center;padding:max(20px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.app-shell{display:flex;flex-direction:column;gap:8px;width:100%;height:100dvh;min-height:0;margin:0;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));overflow:hidden}.topbar{flex:0 0 auto;gap:8px;padding:8px 10px;border-radius:14px}.brand-wrap{flex:1 1 auto;min-width:0}.brand-logo{width:min(100%,112px);height:30px;object-fit:contain;object-position:left center}.topbar-actions{display:none}.mobile-top-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.mobile-profile-button{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;padding:0;border:1px solid rgba(33,44,63,.1);border-radius:50%;background:#fff;color:#344256}.mobile-filter-button,.mobile-match-button{min-height:36px;padding:0 9px;border-radius:10px;font-size:.75rem;white-space:nowrap}.mobile-match-button .button-spinner{width:12px;height:12px;margin-right:5px}.content-shell{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr);min-height:0;margin-top:0;gap:0}.sidebar,.controls{display:none}.sidebar.mobile-sheet-open,.controls.mobile-sheet-open{position:fixed;z-index:51;right:8px;bottom:max(8px,env(safe-area-inset-bottom));left:8px;display:block;max-height:min(80dvh,620px);overflow-y:auto;overscroll-behavior:contain;padding:18px;border-radius:18px;box-shadow:0 20px 50px #0f172a33}.controls.mobile-sheet-open{display:flex}.mobile-sheet-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;padding:0;border:0;background:#0f172a6b}.mobile-sheet-header{align-items:center;justify-content:space-between;margin-bottom:14px;color:#1d2433}.mobile-sheet-open .mobile-sheet-header{display:flex}.mobile-sheet-close{display:grid;flex:0 0 auto;width:36px;height:36px;margin-left:auto;font-size:1.3rem}.desktop-profile-label{display:none}.chat-panel,.chat-panel:not(.welcome-state),.chat-panel.welcome-state{width:100%;height:auto;min-height:0;flex:1 1 auto;overflow:hidden;padding:12px;border-radius:16px}.chat-header{flex:0 0 auto;gap:8px;padding-bottom:10px}.chat-header h2{font-size:1.05rem}.presence{min-width:68px;height:30px;font-size:.66rem}.welcome-content{flex:1 1 auto;gap:12px;min-height:0;margin-top:12px;overflow-y:auto}.welcome-hero{padding:14px;border-radius:14px}.welcome-hero h3{margin-top:10px;font-size:1.35rem}.welcome-hero p{font-size:.88rem}.welcome-rules{padding:12px;border-radius:14px}.welcome-rules ul{gap:6px;font-size:.82rem}.welcome-content>.status-box{display:none}.message-list{margin-top:10px;padding-right:2px}.match-search-state{min-height:0;gap:16px;padding:16px 8px}.match-orbit{width:124px;height:124px}.message-bubble{max-width:88%;padding:10px 12px}.access-actions,.pricing-grid{grid-template-columns:1fr}.composer{align-items:stretch;gap:8px;margin-top:10px;padding-top:10px}.composer input{min-width:0;padding:11px 12px;font-size:16px}.composer .primary-button{min-height:44px;padding:0 14px}.composer-ended{margin-top:10px;padding:12px 8px;font-size:.85rem}.app-footer{display:none}.modal-backdrop{z-index:60;padding:12px}.modal-card{max-height:calc(100dvh - 24px);overflow-y:auto;padding:18px;border-radius:18px}}
