/* Campfire only. This room deliberately stays in normal document flow:
   the full soundtrack and pagination scroll with the page, never inside a fixed panel. */
.connected-root[data-room="campfire"]{--live-bg:#fff3e9;--live-paper:#fffbf4;--live-soft:#fae0cf;--live-line:#edc9b8;--live-input-line:#bd8e7b;--live-ink:#5b3028;--live-muted:#745f59;--live-title:#50281f;--live-accent:#914b38;--tactile-ink:#63352a;--tactile-page:#fff3e9;background:#fff3e9;min-height:100vh;height:auto;overflow:visible}
.connected-root[data-room="campfire"] .connected-strip{background:linear-gradient(90deg,#fbdac7,#f6d6c3);color:#795c50}
.connected-root[data-room="campfire"] .workspace{min-height:100vh;height:auto;overflow:visible;background:linear-gradient(#fff5ed 0,#fff3e9 53%,#fff3e900 85%),url('campfire-mountain-backdrop.webp') center bottom/100% auto no-repeat,#fbd8c4}
.connected-root[data-room="campfire"] .topbar{background:#fff9f3eb;border:0;box-shadow:none}
.connected-root[data-room="campfire"] .getaway-top-brand strong{color:#210d34}
.connected-root[data-room="campfire"] .getaway-top-brand small{color:#6c5d58}
.connected-root[data-room="campfire"] .live-top-actions button[data-live-action="members"]{padding:10px 15px;border:1px solid #e4bba6;border-radius:15px;background:linear-gradient(145deg,#fce8db,#f7ddcd);box-shadow:inset 0 1px 0 #fff9;font-weight:750;font-size:13px;color:#5b3028}
.connected-root[data-room="campfire"] .live-top-actions button[data-live-action="sign-out"]{color:#6d5c58;font-size:12px}
.connected-root[data-room="campfire"] #live-main{width:100%;max-width:1000px;min-height:0;height:auto;max-height:none;overflow:visible;padding-top:4px;padding-bottom:100px;margin-inline:auto;background:none}
.connected-root[data-room="campfire"] #live-room-content{display:block;height:auto;max-height:none;min-height:0;overflow:visible}
.connected-root[data-room="campfire"] .campfire-banner{position:relative;display:block;isolation:isolate;width:100%;height:auto;aspect-ratio:1672/941;min-height:0;margin:0 0 19px;padding:0;border:1px solid #d5a78d;border-radius:24px;background:#513627;box-shadow:0 4px 15px #9d59391c;overflow:hidden}
.connected-root[data-room="campfire"] .campfire-art-plane{position:absolute;inset:0;width:100%;height:100%;background:url('campfire-sunset-scene.webp') center/100% 100% no-repeat}
.connected-root[data-room="campfire"] .campfire-banner::before{display:none}
.connected-root[data-room="campfire"] .campfire-banner::after{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;clip-path:none;z-index:1;pointer-events:none;background:linear-gradient(90deg,#170e0b38 0%,#1e110b1f 30%,transparent 49%)}
.connected-root[data-room="campfire"] .campfire-hero-copy{position:absolute;z-index:2;left:3.4%;bottom:17.5%;max-width:45%;pointer-events:none;color:#fffaf5;text-shadow:0 2px 7px #20110c50}
.connected-root[data-room="campfire"] .campfire-hero-icon{display:grid;place-items:center;width:clamp(42px,8vw,72px);height:clamp(42px,8vw,72px);margin-bottom:9px;background:linear-gradient(145deg,#ffe8d5,#f5d0b8);border:1px solid #e6bba0;border-radius:21%;box-shadow:0 0 20px #ffe4bd9c;color:#8b3926}
.connected-root[data-room="campfire"] .campfire-hero-icon>.icon{position:static;width:58%;height:58%;max-height:none;opacity:1;stroke-width:1.7}
.connected-root[data-room="campfire"] .campfire-hero-copy h1{margin:0 0 8px;font:850 clamp(29px,6.5vw,58px)/1.04 var(--getaway-ui,system-ui,sans-serif);letter-spacing:-1.4px;color:#fffaf6;transform:none;text-shadow:0 2px 8px #190b0759;overflow-wrap:normal}
.connected-root[data-room="campfire"] .campfire-hero-copy p{margin:0;max-width:none;font-size:clamp(12px,2.65vw,22px);line-height:1.4;color:#fff6ed}
/* Painted flames/logs: x1000–1305, y520–776 in the full 1672×941 artwork.
   Both illustration and target use this same uncropped coordinate plane. */
.connected-root[data-room="campfire"] .campfire-art-plane>.campfire-smore-fire{left:58%;top:50%;width:22%;height:36%;min-width:44px;min-height:44px;z-index:3;transform:none;border-radius:40%;touch-action:manipulation}
.connected-root[data-room="campfire"] .campfire-art-plane>.campfire-smore-fire svg{position:static;max-height:none;opacity:1}
.connected-root[data-room="campfire"] .campfire-art-plane>.campfire-smore-fire:focus-visible{outline:3px solid #fff1ce;outline-offset:2px;background:#ffe9bb1c}
.connected-root[data-room="campfire"] .campfire-connection-warning{margin:5px 0 12px;background:#fff0db;border-color:#cc9268;color:#6c3c25}
.connected-root[data-room="campfire"] .campfire-connection-warning button{min-height:44px;margin-left:9px;color:#6c3c25;text-decoration:underline}
.connected-root[data-room="campfire"] .live-post-list{display:grid;gap:21px;min-height:0;height:auto;max-height:none;overflow:visible}
.connected-root[data-room="campfire"] .live-post-list>.campfire-song-card{position:relative;padding:0 19px 17px;border:1px solid #e7bda7;border-top:5px solid #e7a16b;border-radius:23px;background:linear-gradient(120deg,#fffcf4,#fff6ec);box-shadow:0 5px 16px #9e5a3a18;overflow:visible;isolation:isolate}
.connected-root[data-room="campfire"] .campfire-song-heading{position:relative;isolation:isolate;min-height:134px;margin:0 -19px 0;padding:17px 19px 17px;overflow:hidden;border-radius:18px 18px 0 0;border-bottom:1px solid #edcebb;background:linear-gradient(110deg,#fffaf1 0%,#fffaf1 42%,#f9dec4 100%)}
.connected-root[data-room="campfire"] .campfire-record-art{position:absolute;top:-8px;right:-13px;width:41%;height:100%;min-height:151px;background:url('campfire-vinyl-art.webp') right top/contain no-repeat;pointer-events:none;z-index:-1}
.connected-root[data-room="campfire"] .campfire-song-heading>.item-label{position:relative;margin:0 0 12px;max-width:66%;color:#aa5828;font-size:11px;font-weight:800;letter-spacing:.7px;line-height:1.4}
.connected-root[data-room="campfire"] .campfire-song-heading>h2{position:relative;max-width:67%;margin:0 0 8px;color:#53271d;font:800 clamp(25px,5.7vw,38px)/1.14 var(--getaway-ui,system-ui,sans-serif);letter-spacing:-.9px;overflow-wrap:anywhere}
.connected-root[data-room="campfire"] .campfire-song-heading>.campfire-song-artist{position:relative;max-width:66%;margin:0;color:#74615a;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.connected-root[data-room="campfire"] .campfire-song-card>.post-body{margin:14px 0 0;color:#6b4b3d;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.connected-root[data-room="campfire"] .campfire-song-card>.private-media-placeholder{margin-top:14px}
.connected-root[data-room="campfire"] .campfire-song-card>.post-meta{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin:0;padding:17px 0 15px;color:#725d55;font-size:12px;line-height:1.45;border-bottom:1px solid #e7c7b5}
.connected-root[data-room="campfire"] .campfire-song-card .post-meta>.live-author-identity{min-width:0;font-size:14px;font-weight:750;color:#7f3826;overflow-wrap:anywhere}
.connected-root[data-room="campfire"] .campfire-song-card .post-meta .live-avatar{width:39px;height:39px;min-width:39px;flex-basis:39px;font-size:13px;background:#f8dfcd;color:#7f3826}
.connected-root[data-room="campfire"] .campfire-song-card .post-meta time{font-size:11px;color:#75625d}
.connected-root[data-room="campfire"] .campfire-song-card>.post-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 8px;margin:0;padding:12px 0 0;border:0}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions>.live-reactions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;margin:0 0 2px}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin:0;padding:10px 14px;border:1px solid #eac2ad;border-radius:18px;background:linear-gradient(135deg,#fce3d1,#f8decc);color:#723d2d;font-size:12px;font-weight:700;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions .reaction-choice{gap:7px;min-width:65px;min-height:44px;padding:7px 12px;border:1.5px solid #bc9788;border-radius:18px;background:linear-gradient(#fffdf6,#fff6eb);box-shadow:0 3px 0 #b79a90;color:#733f2e}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions .reaction-choice.is-selected{border-color:#a6684c;background:#ffe7d4;box-shadow:0 3px 0 #ac7b65,inset 0 0 0 1px #bd8665}
.connected-root[data-room="campfire"] .campfire-song-card .reaction-symbol{font-size:23px;line-height:1}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions .reaction-retry{font-size:11px;padding-inline:10px}
/* Keep capability/error-dependent controls hidden despite the styled button display rule. */
.connected-root[data-room="campfire"] .campfire-song-card .post-actions [hidden]{display:none}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions button[data-live-action="comments"]::before{content:"";display:block;width:17px;height:14px;flex:none;border:1.7px solid currentColor;border-radius:50% 50% 50% 15%;transform:rotate(-8deg)}
.connected-root[data-room="campfire"] .campfire-song-card .post-actions :is(.live-delete-button,[data-live-action="edit-own"]){padding:8px 11px;min-height:44px;background:transparent;border-color:#e4c5b6;font-size:11px}
.connected-root[data-room="campfire"] .campfire-link-icon{font-size:23px;line-height:1}
.connected-root[data-room="campfire"] .campfire-context{margin-top:18px}
.connected-root[data-room="campfire"] .campfire-context:empty{display:none}
.connected-root[data-room="campfire"] .campfire-share-song{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(100px + env(safe-area-inset-bottom));z-index:9;display:flex;align-items:center;justify-content:center;gap:10px;width:58px;height:58px;min-width:44px;min-height:44px;margin:0;padding:0;border:2px solid #b5785d;border-radius:50%;background:linear-gradient(140deg,#a65d41,#85402f);box-shadow:inset 0 2px 0 #e6b09277,0 5px 0 #c69175,0 8px 16px #84472d2b;color:#fff;font:400 37px/1 var(--getaway-ui,system-ui,sans-serif);cursor:pointer;touch-action:manipulation}
.connected-root[data-room="campfire"] .campfire-share-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.connected-root[data-room="campfire"] .campfire-share-song:focus-visible{outline:3px solid #713927;outline-offset:4px}
.connected-root[data-room="campfire"] .campfire-share-song:active{transform:translateY(3px);box-shadow:inset 0 2px 0 #e6b09277,0 2px 0 #c69175}
.connected-root[data-room="campfire"] .workspace-footer{color:#674b40;border:0;background:#fff4e8bd;max-width:1000px}
.connected-root[data-room="campfire"]>.mobile-nav{background:linear-gradient(130deg,#fffcf5ed,#f9e9dbe8);border:1px solid #e5c2ae;border-bottom:0;border-radius:27px 27px 0 0;box-shadow:0 -4px 16px #78503a20;padding-top:10px}
.connected-root[data-room="campfire"] .room-picker-bar{gap:11px;padding:3px 0 6px;min-height:59px}
.connected-root[data-room="campfire"] .room-picker-bar .room-home{display:grid;place-items:center;flex:none;width:44px;height:44px;background:#f8d9c3;border:1px solid #dcae94;border-radius:14px;box-shadow:inset 0 1px 0 #fff7}
.connected-root[data-room="campfire"] .mobile-nav .room-picker-bar .room-home>.room-current-symbol{width:34px;height:34px}
.connected-root[data-room="campfire"] .room-picker-bar b{color:#623729;font:800 15px/1.25 var(--getaway-ui,system-ui,sans-serif);letter-spacing:-.3px}
.connected-root[data-room="campfire"] .room-picker-bar .campfire-current-subtitle{display:block;margin:3px 0 0;font-size:10px;font-weight:400;line-height:1.3;text-transform:none;letter-spacing:0;color:#75615b}
@media(min-width:861px){
 .connected-root[data-room="campfire"] .campfire-share-song{bottom:30px;right:30px;width:auto;height:52px;padding:0 21px;border-radius:999px;font-size:28px}
 .connected-root[data-room="campfire"] .campfire-share-label{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font-size:14px;font-weight:700}
}
@media(max-width:860px){
 .connected-root[data-room="campfire"] .workspace{padding-bottom:calc(90px + env(safe-area-inset-bottom));background-size:auto,auto min(100vh,850px)}
 .connected-root[data-room="campfire"] .topbar{height:63px;min-height:63px;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
 .connected-root[data-room="campfire"] .live-top-actions{gap:5px}
 .connected-root[data-room="campfire"] #live-main{padding-top:0;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-bottom:95px}
 .connected-root[data-room="campfire"] .campfire-banner{border-radius:20px;margin-bottom:17px;padding:0;min-height:0}
 .connected-root[data-room="campfire"] .campfire-hero-icon{margin-bottom:8px}
 .connected-root[data-room="campfire"] .campfire-hero-copy h1{margin-bottom:7px}
 .connected-root[data-room="campfire"] .campfire-hero-copy p{font-size:clamp(12px,3.1vw,19px);line-height:1.4}
}
@media(max-width:360px){
 .connected-root[data-room="campfire"] .topbar{padding-inline:10px;gap:4px}
 .connected-root[data-room="campfire"] .live-top-actions{gap:2px}
 .connected-root[data-room="campfire"] .live-top-actions button[data-live-action="members"]{padding:9px;font-size:12px}
 .connected-root[data-room="campfire"] .live-top-actions button[data-live-action="sign-out"]{padding-inline:7px;font-size:11px}
 .connected-root[data-room="campfire"] .campfire-hero-copy{bottom:13%}
 .connected-root[data-room="campfire"] .campfire-hero-copy h1{font-size:28px}
 .connected-root[data-room="campfire"] .campfire-hero-icon{width:38px;height:38px;margin-bottom:6px}
 .connected-root[data-room="campfire"] .campfire-song-heading{padding-inline:15px;min-height:127px}
 .connected-root[data-room="campfire"] .campfire-song-heading>h2{font-size:25px}
 .connected-root[data-room="campfire"] .campfire-song-heading>.campfire-song-artist{font-size:14px}
 .connected-root[data-room="campfire"] .live-post-list>.campfire-song-card{padding-inline:15px}
 .connected-root[data-room="campfire"] .campfire-song-heading{margin-inline:-15px}
 .connected-root[data-room="campfire"] .campfire-song-card .post-actions :is(button,a){padding-inline:10px;font-size:11px}
 .connected-root[data-room="campfire"] .room-picker-bar{gap:8px}
 .connected-root[data-room="campfire"] .room-picker-bar .room-home{width:35px;height:35px;border-radius:12px}
 .connected-root[data-room="campfire"] .mobile-nav .room-picker-bar .room-home>.room-current-symbol{width:29px;height:29px}
 .connected-root[data-room="campfire"] .room-picker-bar b{font-size:13px}
 .connected-root[data-room="campfire"] .room-picker-bar .campfire-current-subtitle{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.connected-root[data-room="campfire"] .campfire-share-song:active{transform:none}}
@media(forced-colors:active){
 .connected-root[data-room="campfire"] .campfire-banner{background:Canvas;border:1px solid CanvasText}
 .connected-root[data-room="campfire"] .campfire-art-plane{background:none}
 .connected-root[data-room="campfire"] .campfire-banner::after{display:none}
 .connected-root[data-room="campfire"] .campfire-hero-copy,.connected-root[data-room="campfire"] .campfire-hero-copy h1,.connected-root[data-room="campfire"] .campfire-hero-copy p{color:CanvasText;text-shadow:none}
 .connected-root[data-room="campfire"] .campfire-art-plane>.campfire-smore-fire{border:2px solid ButtonText;background:ButtonFace}
 .connected-root[data-room="campfire"] .campfire-art-plane>.campfire-smore-fire::after{content:"S’mores";font-size:12px;color:ButtonText}
 .connected-root[data-room="campfire"] .campfire-record-art{display:none}
 .connected-root[data-room="campfire"] .campfire-share-song{background:ButtonFace;color:ButtonText;border-color:ButtonText;box-shadow:none}
}
