@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--ink: #172121;--muted: #65706d;--paper: #f7f5ef;--surface: #fffdf8;--line: #dfe4dc;--teal: #126b68;--teal-dark: #0b4f4d;--coral: #e8755b;--coral-text: #b34a37;--yellow: #f3c969;--shadow: 0 18px 45px rgba(25, 52, 47, .1)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:DM Sans,sans-serif;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Space Grotesk,sans-serif}h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:.98;letter-spacing:-.04em}h2{font-size:2rem;line-height:1.05}a{color:inherit}main{margin:0 auto;max-width:1180px;padding:56px 28px 90px}.eyebrow{color:var(--coral-text);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.button{border:0;border-radius:6px;cursor:pointer;display:inline-block;font:inherit;font-weight:700;padding:13px 20px;text-decoration:none}.button:focus-visible{outline:2px solid var(--teal-dark);outline-offset:2px}.button-primary{background:var(--teal);color:#fff;transition:background .15s ease}.button-primary:hover{background:var(--teal-dark)}.button-light{background:var(--surface);border:1px solid var(--line);color:var(--teal-dark);transition:background .15s ease,border-color .15s ease}.button-light:hover{background:#edf3ef;border-color:var(--teal)}label{display:block;font-size:.9rem;font-weight:700;margin-bottom:7px}input,select,textarea{background:#fff;border:1px solid #cbd5ce;border-radius:4px;color:var(--ink);font:inherit;padding:12px 13px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:2px solid rgba(18,107,104,.16)}.form-row{margin-bottom:18px}.form-row p{margin:0}.data-note{background:#edf3ef;border:1px dashed #a9c3b7;border-radius:6px;color:var(--teal-dark);margin-top:28px;padding:14px 18px}.form-page{max-width:850px}.form-page h1{font-size:clamp(2.5rem,6vw,4rem);margin-bottom:14px}.session-form{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-top:36px;padding:34px}.form-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}.full-width{grid-column:1 / -1}.form-actions{align-items:center;border-top:1px solid var(--line);display:flex;gap:14px;justify-content:flex-end;margin-top:28px;padding-top:24px}.service-note{background:#fff4d9;border-left:4px solid var(--yellow);color:#5f4d1b;font-size:.9rem;margin-top:24px;padding:14px 16px}@media(max-width:900px){main{padding-top:34px}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}}.site-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1180px;padding:28px 28px 18px}.brand{color:var(--teal-dark);font-size:1.35rem;font-weight:700;text-decoration:none}.brand-mark{color:var(--coral-text)}.site-nav{align-items:center;display:flex;gap:24px}.site-nav a{color:var(--muted);font-weight:700;text-decoration:none;transition:color .15s ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--teal)}.user-menu{color:var(--teal-dark);font-weight:700;position:relative}.user-menu-trigger{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;font-weight:700;gap:8px;padding:0}.user-menu-trigger img{border:2px solid var(--yellow);border-radius:50%;height:30px;object-fit:cover;width:30px}.user-menu-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);min-width:150px;opacity:0;padding:8px;pointer-events:none;position:absolute;right:0;top:calc(100% + 10px);transform:translateY(-8px) scale(.97);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;visibility:hidden;z-index:2}.user-menu.is-open>.user-menu-panel{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);transition:opacity .18s ease,transform .18s ease;visibility:visible}.user-menu-panel a,.user-menu-panel button{background:none;border:0;color:inherit;cursor:pointer;display:block;font:inherit;font-weight:700;padding:8px 10px;text-align:left;white-space:nowrap;width:100%}.user-menu-panel a:hover,.user-menu-panel button:hover{background:#edf3ef;border-radius:4px}@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column;gap:16px}.site-nav{flex-wrap:wrap;gap:12px 18px}}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;margin:0 auto;max-width:1180px;padding:22px 28px 32px}.site-footer p{margin:0}.session-list{display:grid;gap:14px}.session-card{align-items:center;background:var(--surface);border-left:5px solid var(--coral);border-radius:6px;box-shadow:0 4px 16px #19342f0d;display:grid;gap:18px;grid-template-columns:1fr auto;padding:20px 22px;transition:opacity .3s ease,transform .3s ease}.session-card.is-leaving{opacity:0;transform:translateY(-10px)}.session-card.is-entering{opacity:0;transform:translateY(14px)}.session-card h3{font-size:1.15rem;margin-bottom:4px}.session-card p{color:var(--muted);margin:0}.session-card .session-details{min-width:0}.session-card .session-host{color:var(--teal-dark);font-size:.9rem;font-weight:700;margin-top:7px}.session-card .session-host a{text-decoration:underline}.session-card .session-host a:hover{color:var(--teal)}.session-card .session-host span{color:var(--muted);font-weight:400}.session-card .button{white-space:nowrap}.session-meta{align-items:flex-end;display:flex;flex-direction:column;gap:10px}.joined-card{border-left-color:var(--teal)}.status{background:#e3f0e9;border-radius:20px;color:var(--teal-dark);font-size:.78rem;font-weight:700;padding:6px 10px}@media(max-width:900px){.session-card{align-items:flex-start;grid-template-columns:1fr}}.dashboard-hero{align-items:end;display:flex;justify-content:space-between;margin-bottom:46px}.dashboard-hero h1{margin-bottom:12px;max-width:600px}.dashboard-hero p{color:var(--muted);font-size:1.1rem;margin-bottom:0}.dashboard-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:220px;padding:26px}.feature-card h3{font-size:1.4rem;margin:10px 0}.feature-card p{color:var(--muted);flex:1}.feature-icon{align-items:center;background:#e3f0e9;border-radius:50%;color:var(--teal-dark);display:flex;font-size:1.35rem;height:42px;justify-content:center;width:42px}.section-heading{align-items:end;display:flex;justify-content:space-between;margin:72px 0 18px}.section-heading h2{font-size:1.6rem;margin:0}.section-heading a{color:var(--teal);font-weight:700}.notification-list{display:grid;gap:12px}.notification-item{align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:6px;display:flex;gap:12px;padding:16px 18px}.notification-item p{margin:0}.notification-dot{background:var(--coral);border-radius:50%;flex-shrink:0;height:9px;margin-top:6px;width:9px}.notification-time{color:var(--muted);font-size:.82rem;margin-top:4px!important}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;flex-direction:column;gap:22px}}@media(max-width:560px){.section-heading{align-items:flex-start;flex-direction:column;gap:10px}}.login-shell{align-items:center;display:grid;gap:70px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);min-height:70vh}.login-intro{position:relative}.login-intro:after{background:var(--yellow);border-radius:50%;content:"";height:120px;position:absolute;right:10%;top:-30px;width:120px;z-index:-1}.login-intro p{color:var(--muted);font-size:1.1rem;max-width:480px}.login-image{border-radius:8px;box-shadow:var(--shadow);margin-top:24px;max-width:290px;width:100%}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:34px}.form-card h2{font-size:1.65rem;margin-bottom:8px}.form-card .button{margin-top:4px;width:100%}.form-note{color:var(--muted);font-size:.82rem;margin:18px 0 0;text-align:center}.link-button{background:none;border:0;color:var(--teal);cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:underline}@media(max-width:900px){.login-shell{grid-template-columns:1fr;gap:36px}}.search-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:34px 0 42px;padding:26px}.search-row{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 180px auto}.search-row .form-row{margin-bottom:0}.advanced-filters{border-top:1px solid var(--line);display:none;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:24px;padding-top:24px}.advanced-filters.is-visible{display:grid}.results-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:18px}.results-heading h2{font-size:1.6rem;margin:0}.results-count{color:var(--muted);font-size:.9rem}.empty-results{background:var(--surface);border:1px dashed var(--line);border-radius:6px;color:var(--muted);display:none;padding:24px;text-align:center}.empty-results.is-visible{display:block}.join-confirmation{color:var(--teal);display:none;font-size:.85rem;font-weight:700;margin:8px 0 0}.join-confirmation.is-visible{display:block}@media(max-width:900px){.search-row,.advanced-filters{grid-template-columns:1fr}.results-heading{align-items:flex-start;flex-direction:column;gap:6px}}.checkbox-row{align-items:center;display:flex;gap:10px;margin-top:20px}.checkbox-row input{width:auto}.checkbox-row label{margin:0}.chat-layout{display:grid;gap:24px;grid-template-columns:230px minmax(0,1fr);margin-top:36px}.chat-tabs{display:grid;gap:10px;align-content:start}.chat-tab{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--muted);cursor:pointer;font:inherit;padding:15px;text-align:left;transition:background .15s ease,border-color .15s ease}.chat-tab:hover{border-color:var(--teal)}.chat-tab strong,.chat-tab span{display:block}.chat-tab span{font-size:.82rem;margin-top:4px}.chat-tab.is-active{background:var(--teal);border-color:var(--teal);color:#fff}.chat-window{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:520px;padding:24px}.chat-window-header{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:18px}.chat-window-header h2{font-size:1.5rem;margin-bottom:5px}.chat-window-header p{color:var(--muted);margin:0}.chat-messages{display:grid;gap:14px;min-height:290px}.chat-message{background:#edf3ef;border-radius:6px;max-width:78%;padding:11px 14px}.chat-message-you{background:#dcefee;justify-self:end}.chat-message p{margin:4px 0 0}.chat-author{color:var(--teal-dark);font-size:.78rem;font-weight:700}.chat-author a{text-decoration:underline}.chat-author a:hover{color:var(--teal)}.chat-composer{border-top:1px solid var(--line);display:flex;gap:10px;margin-top:24px;padding-top:20px}.chat-composer input{flex:1;min-width:0}.chat-composer .button{flex-shrink:0;width:80px}.button-primary:disabled{background:#7fa9a7;color:#fff;opacity:1}.websocket-note{background:#fff4d9;border-left:4px solid var(--yellow);color:#5f4d1b;font-size:.88rem;margin-top:20px;padding:13px 15px}@media(max-width:900px){.chat-layout{grid-template-columns:1fr}.chat-tabs{grid-template-columns:1fr 1fr}.chat-window{min-height:0}}.profile-layout{align-items:start;display:grid;gap:24px;grid-template-columns:220px minmax(0,1fr);margin-top:36px}.profile-summary{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:20px;text-align:center}.profile-avatar{border-radius:50%;height:116px;object-fit:cover;width:116px}.profile-summary h2{font-size:1.3rem;margin:16px 0 4px}.profile-summary p{color:var(--muted);font-size:.9rem;margin:0}.profile-form{margin-top:0}.matching-note{background:#e3f0e9;border-left:4px solid var(--teal);color:var(--teal-dark);font-size:.9rem;margin-bottom:24px;padding:14px 16px}@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-summary{align-items:center;display:flex;gap:16px;text-align:left}.profile-avatar{flex-shrink:0}}.availability-field{border:0;margin:0;padding:0}.availability-field legend{font-size:.9rem;font-weight:700;margin-bottom:7px;padding:0}.table-scroll{overflow-x:auto}.availability-table{border-collapse:collapse;width:100%}.availability-table th,.availability-table td{padding:8px 6px;text-align:center}.availability-table thead th{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.availability-table tbody th{color:var(--ink);font-size:.9rem;font-weight:700;text-align:left}.availability-table input[type=checkbox]{accent-color:var(--teal);height:18px;width:18px}
