/* A little circle of seats, kept separate from the clickable flame. */
.hearth{width:390px;margin-right:0;flex-shrink:0}
.fire-circle{position:relative;width:100%;height:358px;flex-shrink:0}
.fire-circle .hearth-tap{position:absolute;left:50%;top:var(--fire-y,179px);transform:translate(-50%,-50%)}
.fire-circle .hearth-tap svg{width:245px}
.fire-circle .hearth-glow{inset:auto;left:50%;top:var(--fire-y,179px);transform:translate(-50%,-50%);width:270px;height:250px;max-width:100%}
.campfire-seats{position:absolute;inset:0;pointer-events:none;z-index:2}
.log-seat{position:absolute;width:64px;min-height:78px;display:flex;align-items:center;flex-direction:column;gap:0;text-align:center}
.seat-log{position:relative;display:block;width:55px;height:20px;border-radius:10px;background:linear-gradient(180deg,#ae7954 0%,#81543d 35%,#9b6745 44%,#64402f 55%,#795039 77%,#51382b 100%);box-shadow:0 4px 0 #130d0920;opacity:.55}
.seat-log::after{content:'';position:absolute;right:-1px;top:0;width:19px;height:20px;border:2px solid #9d6e49;border-radius:50%;background:repeating-radial-gradient(ellipse at center,#ae8258 0 2px,#825a3d 3px 4px)}
.seat-log::before{content:'';position:absolute;left:10px;right:17px;top:6px;height:1px;background:#c08b592b;box-shadow:0 6px 0 #211b183b}
.seat-avatar{height:29px;width:29px;display:grid;place-items:center;margin-bottom:-5px;z-index:1;border-radius:8px;background:transparent;color:var(--honey);font:17px var(--serif);border:1px solid transparent}
.occupied .seat-avatar{background:var(--raised);border-color:var(--line);box-shadow:0 0 14px #d2a06416}
.occupied .seat-log{opacity:1}
.seat-name{margin-top:5px;color:var(--faint);font-size:8px;line-height:1.4;max-width:64px;overflow-wrap:anywhere}
.occupied .seat-name{color:var(--text);font-size:9px}
.hearth > .presence-caption{font:italic 13px var(--serif);color:var(--muted);margin-top:7px}
.hearth .presence-status{font-size:10px;color:var(--honey);margin-top:8px;text-align:center;min-height:16px}
.presence-toggle{font-size:9px;color:var(--faint);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;margin-top:3px;padding:3px 8px}
.activity-slot{width:100%;min-height:82px;padding-bottom:10px;display:flex;align-items:flex-start;justify-content:center;position:relative;z-index:3;flex-shrink:0}
.activity-tile{display:flex;gap:10px;align-items:center;width:min(290px,100%);border:1px solid var(--line);border-radius:10px;padding:10px 13px;background:var(--panel);box-shadow:var(--shadow);animation:activity-arrive .3s ease-out;overflow-wrap:anywhere}
.activity-icon{font-size:18px;color:var(--sage);line-height:1}
.activity-tile strong{display:block;font:500 13px var(--serif);color:var(--honey);line-height:1.3}
.activity-tile small{display:block;font-size:9px;color:var(--muted);margin-top:2px;line-height:1.4}
.activity-connection{color:var(--faint);font-size:8px;margin-top:4px;max-width:100%;text-align:center}
@keyframes activity-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.activity-tile{animation:none}}
@media(max-width:1000px) and (min-width:641px){.hearth{width:320px}.fire-circle .hearth-tap svg{width:220px}}
@media(max-width:640px){.hero{flex-direction:column;align-items:stretch;gap:22px}.hearth{position:relative;right:auto;top:auto;opacity:1;width:min(350px,100%);margin:0 auto;z-index:1}.fire-circle .hearth-tap svg{width:225px}.hearth > .presence-caption{display:block}}
