:root{--bg:#0f1117;--surface:#1a1d27;--surface-2:#222638;--border:#2e3250;--text:#e8eaf0;--text-muted:#8b90a8;--text-dim:#555b78;--accent:#6c8ef5;--accent-glow:#6c8ef526;--green:#4caf82;--green-bg:#4caf821f;--yellow:#e8b84b;--yellow-bg:#e8b84b1f;--purple:#a78bfa;--purple-bg:#a78bfa1f;--red:#f07070;--red-bg:#f070701a}[data-theme=light]{--bg:#f4f5f9;--surface:#fff;--surface-2:#eef0f7;--border:#d8dbe8;--text:#1a1d27;--text-muted:#5a5f7a;--text-dim:#9299b5;--accent:#4a6ef0;--accent-glow:#4a6ef01a;--green:#2e9e68;--green-bg:#2e9e681a;--yellow:#c9942a;--yellow-bg:#c9942a1a;--purple:#7c5cc4;--purple-bg:#7c5cc41a;--red:#d95555;--red-bg:#d9555514}[data-theme=navy]{--bg:#2a3548;--surface:#34405a;--surface-2:#3d4a67;--border:#4d5b7c;--text:#f2f4f8;--text-muted:#b0b8cc;--text-dim:#7a8399;--accent:#6c8ef5;--accent-glow:#6c8ef526;--green:#4caf82;--green-bg:#4caf821f;--yellow:#e8b84b;--yellow-bg:#e8b84b1f;--purple:#a78bfa;--purple-bg:#a78bfa1f;--red:#f07070;--red-bg:#f070701a}[data-theme=dark][data-amber=amber],[data-theme=navy][data-amber=amber]{--text:#ffb300;--text-muted:#c98a1f;--text-dim:#8f6318}[data-theme=dark][data-amber=copper],[data-theme=navy][data-amber=copper]{--text:#e2703a;--text-muted:#b15a2d;--text-dim:#7a4726}[data-theme=dark][data-amber=honey],[data-theme=navy][data-amber=honey]{--text:#f2c14e;--text-muted:#c99a2e;--text-dim:#8f6e20}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;transition:background .2s,color .2s;display:flex;overflow:hidden}#root{width:100%;display:flex}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.badge-dot{border-radius:50%;width:5px;height:5px}.badge.confirmed{color:var(--green);background:var(--green-bg)}.badge.confirmed .badge-dot{background:var(--green)}.badge.discussion{color:var(--yellow);background:var(--yellow-bg)}.badge.discussion .badge-dot{background:var(--yellow)}.badge.tbd{color:var(--text-dim);background:var(--surface-2)}.badge.tbd .badge-dot{background:var(--text-dim)}.badge.post-mvp{color:var(--purple);background:var(--purple-bg)}.badge.post-mvp .badge-dot{background:var(--purple)}.mock-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.3rem;font-weight:800;display:flex}.mock-name{margin-bottom:.2rem;font-size:1.35rem;font-weight:700}.mock-role{color:var(--text-muted);font-size:1rem}.mock-profile{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.mock-tags{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.mock-tag{background:var(--accent-glow);color:var(--accent);border:1px solid #6c8ef540;border-radius:4px;padding:5px 12px;font-size:.86rem;font-weight:600}.mock-tag.g{background:var(--green-bg);color:var(--green);border-color:#4caf8240}.mock-tag.p{background:var(--purple-bg);color:var(--purple);border-color:#a78bfa40}.mock-tag.y{background:var(--yellow-bg);color:var(--yellow);border-color:#e8b84b40}.mock-sl{letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin:1.4rem 0 .6rem;font-size:.85rem;font-weight:700}.mock-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;padding:1.15rem 1.4rem}.mock-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.mock-row>div{min-width:0}.mock-ct{overflow-wrap:anywhere;margin-bottom:.3rem;font-size:1.08rem;font-weight:700}.mock-cs{color:var(--text-muted);overflow-wrap:anywhere;font-size:.95rem}@media (width<=600px){.mock-row{flex-wrap:wrap}.mock-row>div:first-child{flex:60%}}.mock-divider{background:var(--border);height:1px;margin:.75rem 0}.mock-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;padding:9px 18px;font-family:inherit;font-size:.96rem;font-weight:600;display:inline-flex}.mock-btn.pri{background:var(--accent);color:#fff}.mock-btn.sec{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.mock-btn.warn{background:var(--yellow-bg);color:var(--yellow);border:1px solid #e8b84b4d}.mock-btn.dan{background:var(--red-bg);color:var(--red);border:1px solid #f0707040}.mock-btn:disabled{opacity:.6;cursor:not-allowed}.mock-btn-row{gap:.5rem;margin-top:.75rem;display:flex}.mock-stat-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:1.5rem;margin:.75rem 0;padding:.7rem 0;display:flex}.mock-stat-v{color:var(--accent);font-size:1.3rem;font-weight:800}.mock-stat-l{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.mock-input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:6px;width:100%;margin-bottom:.6rem;padding:11px 15px;font-family:inherit;font-size:.96rem}.mock-input::placeholder{color:var(--text-dim)}.mock-input-row{align-items:center;gap:.5rem;display:flex}.mock-input-row .mock-input{flex:1;margin:0}.mock-rsvp-row{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.mock-rsvp{border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);border-radius:20px;padding:4px 10px;font-size:.71rem;font-weight:600}.mock-rsvp.sel{background:var(--green-bg);color:var(--green);border-color:#4caf8266}.mock-coming{text-align:center;color:var(--text-dim);padding:3rem 1rem;font-size:.84rem}.mock-match-score{color:var(--green);font-size:2rem;font-weight:900}.mock-ai-bubble{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:0 10px 10px;margin-bottom:.75rem;padding:1.1rem 1.35rem;font-size:.96rem;line-height:1.6}.clickable{cursor:pointer}.clickable:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;padding:1rem .75rem;transition:width .15s;display:flex;position:relative;overflow-y:auto}.app-sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0 .5rem .85rem;font-size:.88rem;font-weight:800;display:flex}.app-sidebar.collapsed{width:60px;padding:1rem .4rem}.app-sidebar.collapsed .app-sidebar-brand{justify-content:center;padding:0 0 .85rem}.app-sidebar.collapsed .app-sidebar-brand span,.app-sidebar.collapsed .app-nav-label,.app-sidebar.collapsed .app-nav-section-label{display:none}.app-sidebar.collapsed .app-nav-item{justify-content:center}.app-nav-item{color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.app-nav-item:hover{color:var(--text);background:var(--surface-2)}.app-nav-item.active{background:var(--accent-glow);color:var(--accent)}.app-nav-divider{background:var(--border);height:1px;margin:.6rem .3rem}.app-nav-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:.4rem .6rem .3rem;font-size:.6rem;font-weight:700}.sidebar-toggle-arrow{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;opacity:0;z-index:20;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .15s,border-color .15s;display:flex;position:absolute;top:14px;right:-12px}.app-sidebar:hover .sidebar-toggle-arrow{opacity:1}.sidebar-toggle-arrow:hover{border-color:var(--accent);color:var(--accent)}.app-main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.app-topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex}.app-page-title{white-space:nowrap;font-size:.9rem;font-weight:800}.app-content{flex:1;padding:2.25rem 2.5rem;font-size:.96rem;overflow:hidden auto}.mobile-topbar,.mobile-bottomnav{display:none}@media (width<=860px){.app-sidebar{display:none}.mobile-topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.55rem;padding:.6rem .75rem .55rem;display:flex}.mobile-topbar-brand{align-items:center;gap:.5rem;font-size:.9rem;font-weight:800;display:flex}.mobile-modulescroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.5rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.mobile-modulescroll::-webkit-scrollbar{display:none}.mobile-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.mobile-chip.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.app-content{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px) + 1.5rem)}.mobile-bottomnav{z-index:40;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-bottomnav-item{letter-spacing:.01em;height:56px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.3rem .25rem;font-family:inherit;font-size:.62rem;font-weight:600;text-decoration:none;display:flex}.mobile-bottomnav-item svg{width:20px;height:20px}.mobile-bottomnav-item.active{color:var(--accent)}.mobile-sheet-overlay{z-index:50;background:#00000073;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-sheet{background:var(--surface);border-top:1px solid var(--border);max-height:85vh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));border-top-left-radius:16px;border-top-right-radius:16px;flex-direction:column;animation:.18s ease-out mobile-sheet-up;display:flex}.mobile-sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.85rem;display:flex}.mobile-sheet-close{background:var(--surface-2);border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.mobile-sheet-scroll{overflow-y:auto}.mobile-sheet-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:.9rem .25rem .5rem;font-size:.6rem;font-weight:700}.mobile-sheet-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.mobile-sheet-item{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:.55rem;padding:.7rem .75rem;font-size:.8rem;font-weight:600;text-decoration:none;display:flex}.mobile-sheet-item.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.mobile-sheet-item svg{width:18px;height:18px}.mobile-sheet-row{width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.7rem .5rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.mobile-sheet-row:hover{background:var(--surface-2)}.mobile-sheet-row.active{color:var(--accent)}.mobile-sheet-row svg{width:18px;height:18px}}@keyframes mobile-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}
