.rsvp{--surface:var(--bg-elevated);--text:var(--fg);--muted:var(--fg-muted);--border:var(--line-strong);--accent:var(--fg);--accent-text:var(--bg);--bubble-bot:color-mix(in oklch, var(--fg) 7%, transparent);--bubble-user:var(--fg);--bubble-user-text:var(--bg);--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--radius:12px;background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);letter-spacing:normal;font-size:15px;line-height:1.5}.rsvp p{margin:0 0 8px}.rsvp .card:hover{border-color:var(--border);transform:none}.rsvp a{color:inherit}.rsvp h1,.rsvp h2,.rsvp h3{margin:0 0 8px;line-height:1.25}.rsvp h1{font-size:24px}.rsvp h2{font-size:18px}.rsvp h3{font-size:15px}.rsvp .muted{color:var(--muted)}.rsvp .small{font-size:13px}.rsvp .container{max-width:960px;margin:0 auto;padding:24px 16px 64px}.rsvp .narrow{max-width:640px}.rsvp .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.rsvp .stack>*+*{margin-top:16px}.rsvp .row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rsvp .spread{justify-content:space-between}.rsvp .grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.rsvp .badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.rsvp .badge.ok{color:var(--ok);border-color:currentColor}.rsvp .badge.warn{color:var(--warn);border-color:currentColor}.rsvp .badge.bad{color:var(--bad);border-color:currentColor}.rsvp button,.rsvp .btn{cursor:pointer;font:inherit;background:var(--accent);color:var(--accent-text);border:1px solid var(--accent);border-radius:8px;align-items:center;gap:6px;height:auto;padding:8px 14px;font-weight:500;text-decoration:none;display:inline-flex}.rsvp button.secondary,.rsvp .btn.secondary{color:var(--text);border-color:var(--border);background:0 0}.rsvp button.danger{color:var(--bad);border-color:var(--border);background:0 0}.rsvp button:disabled{opacity:.5;cursor:default}.rsvp input,.rsvp select,.rsvp textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;padding:8px 10px}.rsvp textarea{resize:vertical;min-height:80px}.rsvp label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.rsvp .field{margin-bottom:12px}.rsvp .check{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.rsvp .check input{width:auto}.rsvp table{border-collapse:collapse;width:100%;font-size:14px}.rsvp th,.rsvp td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.rsvp th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.rsvp .table-wrap{overflow-x:auto}.rsvp .nav{background:var(--surface);border-bottom:1px solid var(--border)}.rsvp .nav .container{flex-wrap:wrap;align-items:center;gap:20px;padding-top:12px;padding-bottom:12px;display:flex}.rsvp .nav a{color:var(--muted);text-decoration:none}.rsvp .nav a:hover,.rsvp .nav strong{color:var(--text)}.rsvp .chat-page{flex-direction:column;max-width:640px;height:100dvh;margin:0 auto;padding:16px;display:flex}.rsvp .chat-header{padding:4px 0 16px}.rsvp .chat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;min-height:320px;display:flex;overflow:hidden}.rsvp .chat-log{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.rsvp .bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:16px;max-width:85%;padding:10px 14px}.rsvp .bubble.bot{background:var(--bubble-bot);border-bottom-left-radius:4px;align-self:flex-start}.rsvp .bubble.user{background:var(--bubble-user);color:var(--bubble-user-text);border-bottom-right-radius:4px;align-self:flex-end}.rsvp .options{flex-wrap:wrap;align-self:flex-start;gap:8px;display:flex}.rsvp .options button,.rsvp .options a{color:var(--text);border:1px solid var(--border);background:0 0;border-radius:999px;padding:6px 14px;font-size:14px;text-decoration:none}.rsvp .typing{color:var(--muted);align-self:flex-start;padding:4px 6px;font-size:13px}.rsvp .chat-input{border-top:1px solid var(--border);gap:8px;padding:12px;display:flex}.rsvp .chat-input textarea{resize:none;min-height:42px;max-height:140px}.rsvp .chat-foot{text-align:center;padding:12px 0 0}.rsvp .chat-foot button{color:var(--muted);background:0 0;border:none;padding:0;font-size:13px;font-weight:400;text-decoration:underline}.rsvp .qr{background:#fff;border-radius:8px;width:160px;height:160px;padding:6px}.rsvp .pre{white-space:pre-wrap}[data-theme=light] .rsvp{--ok:#15803d;--warn:#b45309;--bad:#b91c1c}.rsvp .content-row,.rsvp .content-head{align-items:center;gap:8px;display:grid}.rsvp .content-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.rsvp .stack>.content-row{margin-top:8px}@media (max-width:760px){.rsvp .content-row{border-bottom:1px solid var(--border);padding-bottom:12px;grid-template-columns:1fr!important}.rsvp .content-head{display:none}}.rsvp .session-head{align-items:flex-start;gap:14px;display:flex}.rsvp .session-poster{border:1px solid var(--border);border-radius:8px;width:72px;display:block}.rsvp .session-about{margin-top:10px}.rsvp .session-about summary{cursor:pointer;color:var(--muted);font-size:14px}.rsvp .session-about[open] p{max-height:40dvh;margin:8px 0 0;overflow-y:auto}
