.kava-hero{padding:26px;position:relative;overflow:hidden;background:var(--bv-panel,#fff)}
.kava-hero:before{content:'';position:absolute;width:230px;height:230px;right:-70px;top:-120px;border:35px solid var(--bv-cover,#a8e6cf);border-radius:50%;opacity:.45;pointer-events:none}
.kava-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.kava-hero h1{font-size:clamp(26px,5vw,40px);margin:9px 0;line-height:1.1}
.kava-hero p{max-width:610px;line-height:1.7;font-size:14px}
.kava-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.kava-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}
@media(min-width:820px){.kava-columns{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}}
.kava-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
@media(min-width:650px){.kava-stage{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kava-seat{min-height:130px;background:var(--bv-bg,#e1f4f3);border:1px solid var(--line-hard);border-radius:16px;padding:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;text-align:center;overflow-wrap:anywhere;position:relative}
.kava-seat small{color:var(--ink-soft);font-size:11px}.kava-seat .kava-face{font-size:29px}.kava-seat b{font-size:13px}.kava-seat.host{border:2px solid var(--bv-accent,#086779)}
.kava-seat .btn{font-size:11px;padding:5px 9px}.kava-state{margin:14px 0;background:var(--bv-bg,#e1f4f3);padding:12px;border-radius:12px;font-size:12px;line-height:1.6}
.kava-comment{padding:11px 0;border-bottom:1px solid var(--line-hard);overflow-wrap:anywhere}
.kava-comment p{white-space:pre-wrap;font-size:13px;line-height:1.55;margin:5px 0}.kava-comment small{font-size:11px;color:var(--ink-soft)}
.kava-comments{max-height:400px;overflow:auto}.kava-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.kava-list>button{border:1px solid var(--line-hard);background:var(--bv-panel,#fff);padding:15px;border-radius:14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.kava-list strong{font-size:16px}.kava-list span{font-size:12px;color:var(--ink-soft)}
.kava-person{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;font-size:13px}.kava-person b{flex:1;min-width:100px}
.kava-tips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.kava-tips button[aria-pressed=true]{outline:2px solid var(--bv-accent,#086779);outline-offset:2px}
.kava-money{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;font-size:12px;line-height:1.6;margin:15px 0}.kava-money dd,.kava-money dt{margin:0;overflow-wrap:anywhere}.kava-money dd{text-align:right}
.kava-notice{font-size:12px;line-height:1.6;color:var(--ink-soft)}
.kava-label{margin-top:12px}.kava-topic{white-space:pre-wrap;overflow-wrap:anywhere}.kava-error{color:var(--ink);font-size:13px;line-height:1.5;margin-top:12px}.kava-back{margin-bottom:12px}
.kava-demo{font-size:12px;letter-spacing:.06em;font-weight:700}.kava-form textarea{min-height:90px}.kava-form button[type=submit]{margin-top:12px}
.kava-comment-form textarea{min-height:72px;margin-top:12px}.kava-comment-form button{margin-top:8px}
.kava-respect{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.kava-respect span{font-size:11px;padding:6px 10px;border:1px solid var(--line-hard);border-radius:999px}
#kava-error[hidden]{display:none}.kava-hero .btn{position:relative}.kava-close{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
nav.bottom{max-width:540px}nav.bottom button{min-width:0}button:focus-visible{outline:3px solid var(--bv-accent,#086779);outline-offset:3px}

/* The circle room owns its palette, independently of the member's room skin. */
#app .kava-room{--kava-ink:#173541;--kava-muted:#526c78;--kava-line:#d9e5e5;--kava-night:#102c38;--kava-mint:#a6ebcd;max-width:1200px;margin:0 auto;padding:4px 0 36px;color:var(--kava-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
#app .kava-room *{box-sizing:border-box}
#app .kava-room .glass.card{background:#fff;border:1px solid var(--kava-line);border-radius:22px;padding:24px;box-shadow:0 7px 24px #17354108;min-width:0}
#app .kava-room :is(h1,h2,h3,b,strong){color:var(--kava-ink)}
#app .kava-room h2{font-size:20px!important;line-height:1.3;margin:0 0 12px;letter-spacing:-.025em}
#app .kava-room :is(.sub,.kava-notice,.kava-comment small){color:var(--kava-muted);font-size:13px;line-height:1.7}
#app .kava-room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
#app .kava-room-toolbar>span{font-size:12px;font-weight:650;letter-spacing:.06em;color:var(--kava-muted)}
#app .kava-room .kava-back{margin:0;min-height:44px}
#app .kava-room .kava-hero{background:linear-gradient(115deg,#102f3b,#214a50);border:0;border-radius:24px;padding:32px 36px;box-shadow:0 12px 32px #17354112;color:#e4f4ef}
#app .kava-room .kava-hero:before{width:260px;height:260px;right:-85px;top:-80px;border:32px solid #d5c193;opacity:.16}
#app .kava-room .kava-hero:after{content:'';position:absolute;width:155px;height:155px;right:45px;bottom:-112px;border:1px solid #a6ebcd55;border-radius:50%;pointer-events:none}
#app .kava-room .kava-hero-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#app .kava-room .kava-eyebrow{font-size:11px;letter-spacing:.13em;color:#b2e7d4;font-weight:700}
#app .kava-room .kava-session-badge{display:inline-flex;border:1px solid #a6ebcd55;background:#0b26384d;padding:6px 10px;border-radius:999px;color:#e0f5ec;font-size:11px;letter-spacing:.02em}
#app .kava-room .kava-hero h1{position:relative;max-width:740px;color:#f5fbf7;font-size:clamp(29px,3.5vw,44px);font-weight:750;line-height:1.14;letter-spacing:-.04em;margin:20px 0 12px}
#app .kava-room .kava-hero p{position:relative;max-width:670px;color:#cee3e1;font-size:15px;line-height:1.75;margin:0}
#app .kava-room .kava-hero-values{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;color:#b2e7d4;font-size:12px}
#app .kava-room .kava-hero-values span:before{content:'✦';margin-right:7px;font-size:10px;color:#d5c193}
#app .kava-room .kava-actions:empty{display:none}
#app .kava-room .kava-columns{gap:20px;margin-top:20px;align-items:start}
#app .kava-room .stack{gap:20px;min-width:0}
#app .kava-room .glass.card.kava-stage-card{background:var(--kava-night);border-color:var(--kava-night);color:#edf6f3}
#app .kava-room .kava-stage-card :is(h2,b,strong){color:#eff8f5}
#app .kava-room .kava-close{gap:12px;margin-bottom:18px}
#app .kava-room .kava-close h2{margin:0}
#app .kava-room #kc-capacity{color:#bddbd8;background:#ffffff0a;border:1px solid #b8d5d533;font-size:11px;padding:5px 10px;white-space:nowrap}
#app .kava-room .kava-stage{gap:12px;margin:0}
#app .kava-room .kava-seat{min-height:160px;gap:7px;padding:15px 10px;border:1px dashed #72949b80;background:#ffffff03;border-radius:16px;color:#d8e9e7}
#app .kava-room .kava-seat small{color:#a8c2c8;font-size:11px;line-height:1.45}
#app .kava-room .kava-seat>small:first-child{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.12em}
#app .kava-room .kava-seat b{font-size:13px;line-height:1.35;color:#dceeea}
#app .kava-room .kava-face{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #749da65c;font-size:26px;line-height:1;color:#a6c6c9;background:#a6ebcd08;margin:2px 0}
#app .kava-room .kava-seat.occupied{border-style:solid;background:#244a51;border-color:#79b8aa}
#app .kava-room .kava-seat.host{border:1px solid #a6ebcd;box-shadow:inset 0 0 0 1px #a6ebcd25}
#app .kava-room .kava-seat.host>small:first-child{color:#b8f3d9}
#app .kava-room .kava-seat.occupied .kava-face{background:#d7eee4;border-color:transparent}
#app .kava-room .kava-state{display:flex;gap:10px;margin:18px 0 12px;padding:12px 14px;border:1px solid #a2c4c326;background:#ffffff07;border-radius:12px;color:#bdd4d7;font-size:12px;line-height:1.55}
#app .kava-room .kava-state strong{color:#d6e8e5;font-size:12px;font-weight:650}
#app .kava-room .kava-state p{margin:3px 0 0;color:#a8c2c8;font-size:11px;line-height:1.6}
#app .kava-room .kava-status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#d5c193;margin-top:6px}
#app .kava-room .btn{min-height:44px;font-size:13px;font-weight:650;border-radius:11px;padding:10px 15px;line-height:1.3;background:#176b64;color:#fff;border:1px solid #176b64;box-shadow:none;text-shadow:none;cursor:pointer}
#app .kava-room .btn.ghost{background:#f7fbfa;color:#244b54;border-color:#cddedc}
#app .kava-room .kava-stage-card .btn:not(:disabled){background:#b4eed3;color:#10362f;border-color:#b4eed3}
#app .kava-room .kava-seat .btn{min-height:36px;padding:7px 10px;font-size:11px}
#app .kava-room .btn:disabled{opacity:1;background:#edf2f1;color:#647c7d;border:1px solid #dce6e3;cursor:not-allowed}
#app .kava-room .kava-stage-card .btn:disabled{background:#ffffff08;color:#b5c9cd;border-color:#7c9b9e45}
#app .kava-room :is(button,summary,input,select,textarea):focus-visible{outline:3px solid #c18c37;outline-offset:3px}
#app .kava-room .kava-comments{max-height:400px}
#app .kava-room .kava-empty-conversation{margin:18px 0;padding:24px 18px;text-align:center;border:1px dashed #d4e2df;background:#f6faf8;border-radius:15px}
#app .kava-room .kava-empty-conversation>span{display:block;color:#4e8a7d;font:52px/.8 Georgia,serif}
#app .kava-room .kava-empty-conversation h3{font-size:15px;margin:10px 0 7px;letter-spacing:-.02em}
#app .kava-room .kava-empty-conversation p{font-size:12px;line-height:1.7;margin:0;color:var(--kava-muted)}
#app .kava-room .kava-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:#45636d;margin-top:14px}
#app .kava-room :is(textarea,input,select){font-family:inherit;font-size:14px;line-height:1.5;border:1px solid #ccdeda;border-radius:11px;background:#fbfdfc;color:var(--kava-ink);padding:12px;box-shadow:none;max-width:100%}
#app .kava-room textarea:disabled{opacity:1;background:#f5f8f7;color:#647b80;cursor:not-allowed}
#app .kava-room textarea::placeholder{color:#657b81;opacity:1}
#app .kava-room .kava-comment-form textarea{min-height:84px;margin-top:7px}
#app .kava-room .kava-support-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}
#app .kava-room .kava-support-heading>span{font-size:10px;font-weight:650;border:1px solid #d9e5df;border-radius:999px;padding:3px 8px;color:#52746b;background:#f5faf7}
#app .kava-room .kava-support-card .kava-notice{margin:0 0 14px}
#app .kava-room .kava-support-details{border-top:1px solid #dce7e3;padding-top:13px}
#app .kava-room .kava-support-details summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-size:13px;font-weight:650;min-height:44px;color:#24584f;list-style:none}
#app .kava-room .kava-support-details summary:after{content:'+';font-size:20px;line-height:1}
#app .kava-room .kava-support-details[open] summary:after{content:'−'}
#app .kava-room .kava-support-details summary>span{color:#667c77;font-size:10px;font-weight:500}
#app .kava-room .kava-money{padding:12px;background:#f5f9f7;border-radius:10px;gap:8px;font-size:11px;color:#536e72}
#app .kava-room .kava-tips{gap:8px}
#app .kava-room .kava-tips .btn{flex:1;padding:10px 7px;font-size:12px}
#app .kava-room .kava-tips .btn[aria-pressed=true]{background:#e0f2e9;border-color:#579a83;color:#235b48}
#app .kava-room .glass.card.kava-values-card{background:#f8fbf7;border-color:#dce7db}
#app .kava-room .kava-respect span{background:#fff;border-color:#d3e2d7;color:#496856;font-size:11px;padding:6px 9px}
#app:has(.kava-room[data-preview="true"]) nav.bottom[hidden]{display:none!important}
@media(min-width:820px){#app .kava-room .kava-columns{grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr)}}
@media(max-width:649px){
 #app .kava-room{padding-bottom:20px}
 #app .kava-room-toolbar{gap:8px;margin-bottom:12px}
 #app .kava-room-toolbar>span{font-size:10px;max-width:90px;text-align:right}
 #app .kava-room .kava-hero{padding:24px 20px;border-radius:18px}
 #app .kava-room .kava-hero-top{gap:10px}
 #app .kava-room .kava-hero h1{font-size:30px;margin-top:16px}
 #app .kava-room .kava-hero p{font-size:14px}
 #app .kava-room .kava-hero-values{gap:8px 16px;margin-top:17px;font-size:11px}
 #app .kava-room .glass.card{padding:18px 15px;border-radius:18px}
 #app .kava-room .kava-close{gap:8px}
 #app .kava-room h2{font-size:18px!important}
 #app .kava-room #kc-capacity{font-size:10px;padding:5px 7px}
 #app .kava-room .kava-seat{min-height:155px;padding:12px 7px}
 #app .kava-room .kava-stage{gap:9px}
 #app .kava-room .kava-seat b{font-size:12px}
 #app .kava-room :is(textarea,input,select){font-size:16px}
 #app .kava-room .kava-seat .btn{min-height:44px;padding:7px}
}
@media(forced-colors:active){
 #app .kava-room :is(.glass,.kava-seat,.kava-face,.kava-state,.kava-empty-conversation,.kava-session-badge,.btn,.kava-respect span){background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}
 #app .kava-room :is(h1,h2,h3,p,b,strong,small,.kava-eyebrow,.kava-session-badge,.kava-hero-values){color:CanvasText!important}
 #app .kava-room .kava-seat.host{border:2px solid Highlight}
 #app .kava-room .kava-hero:before,#app .kava-room .kava-hero:after{display:none}
}

/* Circles landing, loading and recovery states share the readable room palette. */
#app .kava-lobby{padding-top:0;padding-bottom:90px}
#app .kava-lobby>.kava-hero{padding:36px 40px;min-height:230px}
#app .kava-lobby>.kava-state{background:#fff;color:#526c78;border-color:#d9e5e5;margin-top:20px;padding:24px}
#app .kava-lobby .glass.card.kava-setup{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:40px;align-items:center;margin-top:20px;padding:36px 40px;border-radius:24px;overflow:hidden}
#app .kava-lobby .kava-setup-copy{min-width:0;max-width:530px}
#app .kava-lobby .kava-setup-badge{display:inline-flex;color:#356456;background:#ebf6ee;border:1px solid #d3e7d9;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;margin-bottom:14px}
#app .kava-lobby .kava-setup h2{font-size:clamp(24px,2.3vw,31px)!important;line-height:1.2;letter-spacing:-.035em;margin-bottom:13px;max-width:430px}
#app .kava-lobby .kava-setup-copy>p{font-size:14px;line-height:1.8;color:#526c78;margin:0 0 20px;max-width:450px}
#app .kava-lobby .kava-setup #kc-retry{min-height:48px;padding:13px 20px;display:inline-flex;align-items:center;gap:22px;background:#176b64;color:#fff;border-color:#176b64;font-size:14px}
#app .kava-lobby .kava-setup #kc-retry:hover{background:#115950;border-color:#115950}
#app .kava-lobby .kava-setup-copy>.kava-setup-status{font-size:12px;line-height:1.8;color:#60746f;margin:16px 0 0;max-width:440px}
#app .kava-lobby .kava-circle-illustration{min-width:0;display:grid;justify-items:center;gap:17px;background:radial-gradient(ellipse,#e9f3eb 0%,#f8fbf5 58%,transparent 72%);padding:6px 0}
#app .kava-lobby .kava-seat-ring{position:relative;width:280px;max-width:100%;height:230px}
#app .kava-lobby .kava-seat-ring:before{content:'';position:absolute;inset:23px 29px;border:1px dashed #bfd5c7;border-radius:50%}
#app .kava-lobby .kava-ring-seat{position:absolute;display:grid;place-items:center;width:40px;height:40px;background:#fff;border:1px solid #c4dcd0;border-radius:50%;color:#5e8a79;font-size:21px;box-shadow:0 3px 8px #34675108}
#app .kava-lobby .kava-ring-seat.is-host{background:#246b5d;color:#eff9f2;border-color:#246b5d;font-size:18px}
#app .kava-lobby .kava-ring-seat:nth-child(1){left:calc(50% - 20px);top:0}
#app .kava-lobby .kava-ring-seat:nth-child(2){right:15px;top:45px}
#app .kava-lobby .kava-ring-seat:nth-child(3){right:15px;bottom:35px}
#app .kava-lobby .kava-ring-seat:nth-child(4){left:calc(50% - 20px);bottom:-2px}
#app .kava-lobby .kava-ring-seat:nth-child(5){left:15px;bottom:35px}
#app .kava-lobby .kava-ring-seat:nth-child(6){left:15px;top:45px}
#app .kava-lobby .kava-ring-centre{position:absolute;inset:58px 55px 48px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center}
#app .kava-lobby .kava-mini-bowl{width:72px;height:32px;background:#c9a467;border-radius:4px 4px 40px 40px;box-shadow:inset 0 5px 0 #9c783d;position:relative}
#app .kava-lobby .kava-mini-bowl:after{content:'';position:absolute;left:7px;right:7px;top:5px;height:6px;border-radius:50%;background:#e4c793}
#app .kava-lobby .kava-ring-centre b{color:#356050;font-size:10px;letter-spacing:.18em}
#app .kava-lobby .kava-ring-centre small{color:#6a8174;font-size:10px;line-height:1.4;white-space:nowrap}
#app .kava-lobby .kava-illustration-caption{font-size:11px;color:#61796c;text-align:center}
#app .kava-lobby .kava-lobby-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
#app .kava-lobby .kava-lobby-features article{padding:22px 24px;background:#f6faf7;border:1px solid #d7e5dc;border-radius:17px;min-width:0}
#app .kava-lobby .kava-lobby-features article>span{font-size:10px;color:#52816d;font-weight:700;letter-spacing:.1em}
#app .kava-lobby .kava-lobby-features h3{font-size:15px;line-height:1.4;margin:10px 0 6px;letter-spacing:-.02em}
#app .kava-lobby .kava-lobby-features p{font-size:12px;line-height:1.7;color:#60746f;margin:0}
#app .kava-lobby .kava-list>button{background:#f6faf7;border-color:#d6e5dd;color:#173541}
#app .kava-lobby .kava-list span{color:#526c78}
#app .kava-lobby .kava-columns .kava-state{background:#f0f7f1;color:#526c78;border-color:#d9e5dd}
#app .kava-lobby .glass.card.kava-connection{grid-template-columns:minmax(0,1fr)}
#app .kava-lobby .kava-connection .kava-setup-badge{background:#fff3df;color:#78551e;border-color:#eedcb6}
@media(max-width:700px){
 #app .kava-lobby>.kava-hero{padding:28px 22px;min-height:0}
 #app .kava-lobby .glass.card.kava-setup{grid-template-columns:minmax(0,1fr);padding:25px 22px;gap:24px;border-radius:18px}
 #app .kava-lobby .kava-setup h2{font-size:27px!important}
 #app .kava-lobby .kava-setup #kc-retry{width:100%;justify-content:space-between;min-height:48px}
 #app .kava-lobby .kava-circle-illustration{padding-top:16px;border-top:1px solid #e1ece3}
 #app .kava-lobby .kava-seat-ring{width:260px;height:215px}
 #app .kava-lobby .kava-lobby-features{grid-template-columns:minmax(0,1fr);gap:10px}
 #app .kava-lobby .kava-lobby-features article{padding:18px 20px}
}
@media(forced-colors:active){#app .kava-lobby :is(.kava-setup-badge,.kava-circle-illustration,.kava-ring-seat,.kava-lobby-features article){background:Canvas!important;color:CanvasText!important;border-color:CanvasText;box-shadow:none}#app .kava-lobby .kava-mini-bowl{background:ButtonText;box-shadow:none}}
/* A live written session inherits its group's built-in skin, never a member's profile. */
#app .kava-room[data-circle-skin]{--kava-ink:var(--bv-ink);--kava-muted:var(--bv-muted);--kava-line:color-mix(in srgb,var(--bv-ink) 22%,transparent);--kava-mint:var(--bv-accent);padding:20px;border-radius:22px;background-color:var(--bv-bg);background-image:var(--bv-art),var(--bv-pattern);background-size:cover,var(--bv-pattern-size);background-position:center;color:var(--bv-ink)}
#app .kava-room[data-circle-skin] .glass.card{background:var(--bv-panel);color:var(--bv-ink)}
#app .kava-room[data-circle-skin] .kava-hero{background:var(--bv-cover);color:var(--bv-cover-ink)}
#app .kava-room[data-circle-skin] .kava-hero :is(h1,p,.kava-eyebrow,.kava-hero-values span){color:var(--bv-cover-ink)}
#app .kava-room[data-circle-skin] .kava-hero:before{border-color:var(--bv-accent)}
#app .kava-room[data-circle-skin] .btn{background:var(--bv-accent);color:var(--bv-on-accent);border-color:var(--bv-accent);text-shadow:none;box-shadow:none}
#app .kava-room[data-circle-skin] .btn.ghost{background:var(--bv-panel);color:var(--bv-ink);border-color:var(--kava-line)}
#app .kava-room .tc-session-kind{font-size:13px;line-height:1.65;overflow-wrap:anywhere;margin:0 0 14px;color:var(--kava-muted)}
#app .kava-room-toolbar{flex-wrap:wrap}
@media(max-width:600px){#app .kava-room[data-circle-skin]{padding:12px}#app .kava-room-toolbar>span{order:3;flex-basis:100%}}
@media(forced-colors:active){#app .kava-room[data-circle-skin],#app .kava-room[data-circle-skin] :is(.glass.card,.kava-hero,.btn){background:Canvas;color:CanvasText;border-color:CanvasText}#app .kava-room[data-circle-skin] .kava-hero :is(h1,p,.kava-eyebrow,.kava-hero-values span){color:CanvasText}}
