#campfireMount:not(.is-open) { display: none; }

.campfire-screen {
    --cf-bg: #0c0c0c;
    --cf-surface: #161512;
    --cf-surface-soft: #191510;
    --cf-border: #2a2018;
    --cf-divider: #221f19;
    --cf-text: #f0f0f0;
    --cf-copy: #e2ded4;
    --cf-muted: #8a8578;
    --cf-dim: #7a766c;
    --cf-orange: #ff9d5c;
    --cf-orange-soft: #ffcf9e;
    position: fixed;
    inset: 0;
    z-index: 2400;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
    color: var(--cf-text);
    background: var(--cf-bg);
    font-family: Inter, sans-serif;
}

.campfire-screen *, .campfire-screen *::before, .campfire-screen *::after { box-sizing: border-box; }
.campfire-screen input, .campfire-screen textarea { font: inherit; }
.campfire-screen button { cursor: pointer; }

.cf-header {
    z-index: 3;
    flex: none;
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 11px 13px;
    color: var(--cf-text);
    background: #141414;
    border-bottom: 1px solid #242424;
}

.cf-header > div { flex: 1; min-width: 0; }
.cf-header h1 { margin: 0; overflow: hidden; color: var(--cf-text); font: 700 17px/1 "Comic Neue", cursive; white-space: nowrap; text-overflow: ellipsis; }
.cf-icon { flex: none; width: 21px; height: 26px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 8px; color: var(--cf-text); background: transparent; font-size: 22px; }
.cf-header > .cf-icon:first-child { margin-left: -3px; }
.cf-header > .cf-icon:not(:first-child) { color: #e2ded4; font-size: 18px; }
.cf-icon:focus-visible { outline: 2px solid var(--cf-orange); outline-offset: 2px; }

.cf-list, .cf-panel, .cf-menu, .cf-form { width: 100%; margin: 0; }
.cf-list { flex: 1; min-height: 0; padding: 16px 15px 14px; overflow-y: auto; }
.cf-primary { width: 100%; min-height: 50px; padding: 14px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 15px; color: #2b1305; background: linear-gradient(155deg, #ff9d5c, #e8672f); box-shadow: 0 8px 22px -6px rgba(232,103,47,.55); font: 700 17px/1 "Comic Neue", cursive; }
.cf-light-icon { position: relative; width: 20px; height: 18px; }
.cf-light-icon i { position: absolute; left: 0; bottom: 1px; width: 17px; height: 3.5px; border-radius: 2px; background: #7a4322; transform: rotate(24deg); }
.cf-light-icon i:nth-child(2) { right: 0; left: auto; transform: rotate(-24deg); }
.cf-light-icon b { position: absolute; left: 50%; bottom: 0; width: 15px; height: 15px; transform: translateX(-50%); color: #2b1305; font-size: 15px; line-height: 15px; text-align: center; }
.cf-kicker { margin: 20px 0 8px; color: #6f6a60; font: 800 11px/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.cf-room-list { display: flex; flex-direction: column; gap: 9px; }
.cf-room-card { width: 100%; padding: 12px 13px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--cf-border); border-radius: 15px; color: inherit; background: var(--cf-surface); box-shadow: 0 0 0 1px rgba(255,157,92,.12); text-align: left; }
.cf-room-card.is-disabled { opacity: .55; box-shadow: none; }
.cf-recent-kicker { margin-top:24px; }
.cf-burned-card { border-color:#262626; box-shadow:none; background:#141414; }
.cf-burned-card .cf-avatar { display:grid; place-items:center; color:#666; background:#1b1b1b; }
.cf-burned-card .cf-room-copy strong { color:#aaa; }
.cf-burned-card .cf-room-copy b { color:#8a8578; }
.cf-burned-card .cf-room-copy em { color:#c9a888; font-style:normal; font-variant-numeric:tabular-nums; }
.cf-burned-card .cf-count { align-self:center; color:#666; }
.cf-avatar { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #221f19; }
.cf-avatar img { display:block; width:100%; height:100%; object-fit:contain; }
.cf-avatar.has-pet { border-radius:0; background:transparent; }
.cf-room-card .cf-avatar { border-radius: 10px; background: #221a12; }
.cf-room-card .cf-avatar.has-pet { border-radius:0; background:transparent; }
.cf-room-copy { min-width: 0; display: flex; flex-direction: column; }
.cf-room-copy strong { overflow: hidden; color: var(--cf-text); font: 700 13.5px/1.2 "Comic Neue", cursive; white-space: nowrap; text-overflow: ellipsis; }
.cf-room-copy small { margin-top: 3px; color: var(--cf-muted); font: 400 11px/1 Inter, sans-serif; }
.cf-room-copy span { grid-column: 1 / -1; margin-top: 10px; color: var(--cf-muted); font: 600 11px/1 Inter, sans-serif; }
.cf-room-copy b { color: #9bd1ab; font-weight: 600; }
.cf-room-copy .cf-approval-required { color: var(--cf-muted); }
.cf-room-copy .cf-approval-pending { color: #d8b45f; }
.cf-room-copy .cf-approval-approved { color: #79c991; }
.cf-room-card.is-pending { cursor: default; }
.cf-count { align-self: start; display: flex; align-items: center; gap: 5px; color: #cfcfcf; font: 700 12px/1 Inter, sans-serif; }
.cf-count i { color: var(--cf-muted); font-size: 14px; }
.cf-empty { display: none; }

.campfire-screen[data-view="create"] > :not(.cf-form):not(.cf-toast) { opacity: .35; }
.campfire-screen[data-view="create"]::after { content: ""; position: absolute; inset: 0; z-index: 4; background: rgba(0,0,0,.6); }
.cf-form { position: absolute; z-index: 5; left: 0; right: 0; bottom: 0; max-height: calc(100% - 28px); padding: 14px 17px 20px; display: flex; flex-direction: column; gap: 16px; overflow-y: auto; border-top: 1px solid var(--cf-border); border-radius: 22px 22px 0 0; color: var(--cf-text); background: var(--cf-surface); box-shadow: 0 -20px 40px -20px rgba(0,0,0,.6); }
.cf-form::before { content: ""; align-self: center; width: 34px; height: 4px; margin-bottom: 2px; border-radius: 999px; background: #3a352b; }
.cf-sheet-title { display: flex; align-items: center; justify-content: space-between; }
.cf-sheet-title h2 { flex: 1; margin: 0; color: var(--cf-text); font: 700 17px/1 "Comic Neue", cursive; }
.cf-sheet-title button { width: 28px; height: 28px; display: grid; place-items: center; border: 0; color: var(--cf-muted); background: transparent; font-size: 19px; }
.cf-sheet-title .cf-sheet-back { margin-left: -7px; color: var(--cf-muted); font-size: 20px; }
.cf-steps { display: flex; gap: 6px; }
.cf-steps > * { width: 20px; height: 4px; border-radius: 999px; background: var(--cf-orange); }
.cf-steps i { background: var(--cf-border); }
.cf-form > label, .cf-form legend { display: block; margin: 0 0 7px; color: var(--cf-dim); font: 800 10.5px/1 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.cf-form > label input { width: 100%; margin-top: 7px; padding: 12px 13px; border: 1px solid #2a2018 !important; border-radius: 13px; color: #e2ded4 !important; background: #0f0d0a !important; box-shadow: none !important; font: 400 14px/1 Inter, sans-serif; }
.cf-form > label input::placeholder { color: #8a8578; opacity: 1; }
.cf-form fieldset { margin: 0; padding: 0; border: 0; }
.cf-choice { margin: 8px 0 0; padding: 11px 13px; display: flex; align-items: center; gap: 11px; border: 1.5px solid #262019; border-radius: 13px; color: var(--cf-copy); cursor: pointer; }
.cf-choice:has(input:checked) { border-color: var(--cf-orange); background: rgba(255,157,92,.08); }
.cf-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.cf-choice > i { flex: none; font-size: 18px; line-height: 1; }
.cf-choice .cf-radio-off { color: #5a564c; }
.cf-choice .cf-radio-on { display: none; color: #ff9d5c; }
.cf-choice input:checked ~ .cf-radio-off { display: none; }
.cf-choice input:checked ~ .cf-radio-on { display: inline-block; }
.cf-choice input:focus-visible ~ i { outline: 2px solid var(--cf-orange-soft); outline-offset: 3px; border-radius: 50%; }
.cf-choice span { display: flex; flex-direction: column; gap: 2px; }
.cf-choice strong { color: var(--cf-text); font: 700 13px/1.2 Inter, sans-serif; }
.cf-choice small { color: var(--cf-muted); font: 400 11px/1.3 Inter, sans-serif; }
.cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cf-grid label { min-height: 39px; padding: 9px 4px; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1.5px solid #262019; border-radius: 11px; color: var(--cf-muted); background: transparent; font: 600 12px/1 Inter, sans-serif; text-align: center; cursor: pointer; }
.cf-grid label:has(input:checked) { border-color: var(--cf-orange); color: var(--cf-orange-soft); background: rgba(255,157,92,.08); font-weight: 700; }
.cf-grid input { position: absolute; opacity: 0; }
.cf-duration { grid-template-columns: repeat(3,1fr); }
.cf-duration label { flex-direction: column; padding: 10px 2px 9px; }
.cf-duration small { color: inherit; font-size: 10.5px; }
.cf-balance { margin: -8px 0 0; color: var(--cf-dim); font: 400 11px/1 Inter, sans-serif; text-align: center; }
.campfire-screen .cf-next-button { color: #111; background: #f0f0f0; box-shadow: none; }

.campfire-screen[data-view="room"].campfire-firelight { background: radial-gradient(ellipse 140% 70% at 50% 112%,#4a2410 0%,#2a1608 28%,#100c08 58%,#0c0c0c 78%); }
.campfire-screen[data-view="room"].campfire-firelight::before { content: ""; position: absolute; left: 50%; bottom: -30px; width: 190px; height: 260px; transform: translateX(-50%); border-radius: 50% 50% 42% 42% / 60% 60% 40% 40%; background: radial-gradient(ellipse 100% 70% at 50% 100%,rgba(255,157,92,.4),transparent 72%); filter: blur(10px); animation: cf-fire-glow 3.2s ease-in-out infinite; pointer-events: none; }
.campfire-screen[data-view="room"] .cf-header { min-height: 60px; padding: 11px 13px; background: rgba(20,14,10,.55); border-bottom-color: rgba(255,157,92,.18); }
.campfire-screen[data-view="room"] .cf-header h1 { font-size: 14px; }
.cf-fire-badge { position: relative; flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,157,92,.14); box-shadow: 0 0 16px -2px rgba(255,157,92,.6); }
.cf-fire-badge span { position: absolute; bottom: 8px; width: 15px; height: 3px; border-radius: 2px; background: #8a5a2f; transform: rotate(24deg); }
.cf-fire-badge span:nth-child(2) { background: #6e4522; transform: rotate(-24deg); }
.cf-fire-badge i { position: absolute; bottom: 8px; color: var(--cf-orange); font-size: 13px; }
.cf-room-heading { flex: 1; min-width: 0; }
.cf-room-heading button { margin-top: 4px; padding: 0; display: flex; align-items: center; gap: 5px; border: 0; color: #c9a888; background: transparent; font: 600 11px/1 Inter, sans-serif; }
.cf-room-heading button i { font-size: 12px; }
.cf-room-meta { z-index: 2; flex: none; padding: 7px 13px 0; display: flex; justify-content: space-between; color: #c9a888; font: 600 11px/1 Inter, sans-serif; }
.campfire-screen[data-view="room"] .cf-room-meta { display: none; }
.cf-room-meta button { padding: 0; border: 0; color: inherit; background: transparent; }
.cf-note { z-index: 2; flex: none; margin: 11px 13px 0; padding: 9px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--cf-border); border-radius: 13px; color: var(--cf-copy); background: var(--cf-soft); text-align: left; }
.cf-note span { flex: 1; min-width: 0; overflow: hidden; font: 400 12.5px/1.3 Inter, sans-serif; white-space: nowrap; text-overflow: ellipsis; }
.cf-note small { display: block; margin-bottom: 2px; color: var(--cf-dim); font: 600 10px/1 Inter, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.cf-pinned-row { z-index:2; flex:none; min-height:38px; margin:11px 13px 0; display:flex; align-items:stretch; border:1px solid var(--cf-border); border-radius:13px; background:var(--cf-soft); overflow:hidden; }
.cf-pinned-segment { flex:1; min-width:0; padding:10px 11px; display:flex; align-items:center; gap:7px; border:0; color:var(--cf-copy); background:transparent; text-align:left; }
.cf-pinned-segment>i { flex:none; color:#ffcf9e; font-size:14px; }
.cf-pinned-segment>span { flex:1; min-width:0; overflow:hidden; color:inherit; font:600 12px/1.3 Inter,sans-serif; white-space:nowrap; text-overflow:ellipsis; }
.cf-pinned-segment>b { flex:none; padding:2px 6px; border-radius:7px; color:#e9c46a; background:rgba(233,196,106,.14); font:700 10.5px/1 Inter,sans-serif; }
.cf-pinned-divider { width:1px; flex:none; margin:8px 0; background:var(--cf-border); }
.cf-messages { z-index: 1; flex: 1; min-height: 0; padding: 14px 13px 6px; display: flex; flex-direction: column; gap: 9px; overflow-x: hidden; overflow-y: auto; overscroll-behavior-x: none; touch-action: pan-y; scrollbar-width: none; -ms-overflow-style: none; }
.cf-messages::-webkit-scrollbar { display: none; width: 0; height: 0; }
.cf-new-messages { position:absolute; z-index:3; left:50%; transform:translateX(-50%); min-height:34px; padding:8px 13px; display:flex; align-items:center; gap:6px; border:1px solid rgba(255,157,92,.3); border-radius:18px; color:#2b1305; background:#ffb06f; box-shadow:0 7px 20px rgba(0,0,0,.3); font:700 12px/1 Inter,sans-serif; white-space:nowrap; }
.cf-new-messages i { font-size:15px; }
.cf-system { align-self: center; padding: 4px 12px; border: 1px solid rgba(255,157,92,.2); border-radius: 999px; color: #c9a888; background: rgba(20,14,10,.55); font: 600 11px/1 Inter, sans-serif; }
.cf-message { position:relative; width:fit-content; max-width:82%; display:flex; align-items:flex-end; gap:8px; }
.cf-message > div { min-width: 0; }
.cf-message small { display: block; margin: 0 0 4px 0; color: #8a8578; font: 600 10.5px/1 Inter, sans-serif; }
.cf-message small.cf-username { color:#c9a888; }
.cf-message .cf-avatar { width: 26px; height: 26px; box-shadow: 0 0 6px rgba(255,157,92,.2); }
.cf-message .cf-avatar.has-pet { box-shadow:none; }
.cf-message p { margin: 0; padding: 8px 12px; overflow-wrap: anywhere; border: 1px solid rgba(255,157,92,.2); border-radius: 14px 14px 14px 4px; color: #f1e6d8; background: rgba(28,20,14,.75); font: 400 13px/1.4 Inter, sans-serif; }
.cf-message.mine { align-self: flex-end; }
.cf-message.mine p { border: 0; border-radius: 14px 14px 4px 14px; color: #2b1305; background: linear-gradient(155deg,#ffcf9e,#ff9d5c); }
.cf-message.cf-group-middle, .cf-message.cf-group-end { margin-top:-8px; }
.cf-message.cf-group-middle small, .cf-message.cf-group-end small { display: none; }
.cf-message:not(.mine).cf-group-start .cf-avatar, .cf-message:not(.mine).cf-group-middle .cf-avatar { visibility: hidden; }
.cf-message:not(.mine).cf-group-middle p { border-radius: 4px 14px 14px 4px; }
.cf-message:not(.mine).cf-group-end p { border-radius: 4px 14px 14px 4px; }
.cf-message.mine.cf-group-middle p { border-radius: 14px 4px 4px 14px; }
.cf-message.mine.cf-group-end p { border-radius: 14px 4px 4px 14px; }
.cf-message-stack { display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
.cf-message.mine .cf-message-stack { align-items:flex-end; }
.cf-message-body { min-width:0; display:flex; flex-direction:column; }
.cf-message.has-reply-context .cf-message-body { width:fit-content; max-width:min(220px,calc(100vw - 104px)); overflow:hidden; border:1px solid rgba(255,157,92,.2); border-radius:14px 14px 14px 4px; color:#f1e6d8; background:rgba(28,20,14,.75); }
.cf-message.mine.has-reply-context .cf-message-body { border:0; border-radius:14px 14px 4px 14px; color:#2b1305; background:linear-gradient(155deg,#ffcf9e,#ff9d5c); }
.cf-message:not(.mine).has-reply-context.cf-group-middle .cf-message-body,.cf-message:not(.mine).has-reply-context.cf-group-end .cf-message-body { border-radius:4px 14px 14px 4px; }
.cf-message.mine.has-reply-context.cf-group-middle .cf-message-body,.cf-message.mine.has-reply-context.cf-group-end .cf-message-body { border-radius:14px 4px 4px 14px; }
.cf-message-stack footer { position:relative; z-index:3; align-self:stretch; height:0; margin:0; }
.cf-message-stack.has-reactions { padding-bottom:12px; }
.cf-message-actions { position:absolute; right:-35px; bottom:0; z-index:4; display:flex; gap:2px; padding:2px; border:1px solid transparent; border-radius:999px; opacity:0; transition:opacity .15s ease,background .15s ease,border-color .15s ease; }
.cf-message.mine .cf-message-actions { right:auto; left:-35px; }
.cf-message.has-reactions .cf-message-actions { bottom:7px; }
.cf-message:hover .cf-message-actions,.cf-message:focus-within .cf-message-actions { opacity:1; }
.cf-message:hover .cf-message-actions,.cf-message:focus-within .cf-message-actions { border-color:transparent; background:transparent; box-shadow:none; }
.cf-message-actions button { width:27px; height:27px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:var(--cf-muted); background:transparent; }
.cf-message-actions button:hover,.cf-message-actions button:focus-visible { color:var(--cf-orange-soft); background:transparent; }
.cf-message p[data-action="react-message"] { cursor:pointer; }
.cf-reply-quote { min-width:0; margin:0; padding:7px 10px; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; gap:2px; border:0; border-left:3px solid var(--cf-orange); color:inherit; background:transparent; text-align:left; }
.cf-message.has-reply-context .cf-message-body p { width:100%; box-sizing:border-box; border:0; border-radius:0; color:inherit; background:transparent; }
.cf-reply-quote strong { color:var(--cf-orange-soft); font:700 10.5px/1.2 Inter,sans-serif; }
.cf-reply-quote span { width:100%; overflow:hidden; font:500 11px/1.3 Inter,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.cf-message.mine .cf-reply-quote { align-items:flex-end; border-left:0; border-right:3px solid rgba(43,19,5,.42); color:inherit; text-align:right; }
.cf-message.mine .cf-reply-quote strong { color:#713414; }
.cf-reaction-pills { position:absolute; top:-11px; left:14px; display:flex; }
.cf-message.mine .cf-reaction-pills { left:auto; right:14px; }
.cf-reaction-pill { min-width:34px; height:23px; padding:3px 8px 3px 6px; display:flex; align-items:center; justify-content:center; gap:3px; border:1px solid #262626; border-radius:999px; color:var(--cf-copy); background:#141414; box-shadow:0 2px 8px rgba(0,0,0,.55); font-family:"Noto Color Emoji",Inter,sans-serif; }
.cf-reaction-pill b { color:#ff9d5c; font:700 11.5px/1 Inter,sans-serif; }
.cf-reaction-pill.is-mine { border-color:var(--cf-orange); background:color-mix(in srgb,var(--cf-orange) 14%,var(--cf-surface)); }
.cf-replying-bar { flex:none; margin:0 12px -4px; padding:9px 11px; display:flex; align-items:center; gap:9px; border-left:3px solid var(--cf-orange); border-radius:10px; color:var(--cf-copy); background:var(--cf-surface); }
.cf-replying-bar>i { color:var(--cf-orange); }
.cf-replying-bar>span { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.cf-replying-bar strong { color:var(--cf-text); font:700 11px/1 Inter,sans-serif; }
.cf-replying-bar small { overflow:hidden; color:var(--cf-muted); font:500 10.5px/1.2 Inter,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.cf-replying-bar button { width:26px; height:26px; padding:0; border:0; border-radius:8px; color:var(--cf-muted); background:transparent; }
.cf-reaction-popover { position:absolute; z-index:25; min-height:48px; padding:5px 8px; display:flex; align-items:center; gap:2px; border:1px solid var(--cf-border); border-radius:999px; color:var(--cf-text); background:var(--cf-surface); box-shadow:0 8px 28px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.04); opacity:0; transform:scale(.84) translateY(4px); transform-origin:center bottom; pointer-events:none; transition:opacity .13s ease,transform .13s ease; }
.cf-reaction-popover.is-visible { opacity:1; transform:scale(1); pointer-events:auto; }
.cf-reaction-popover button { width:36px; height:36px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; color:var(--cf-text); background:transparent; font:21px/1 "Noto Color Emoji",sans-serif; transition:transform .12s ease,background .1s ease; }
.cf-reaction-popover button:hover,.cf-reaction-popover button:focus-visible { background:var(--cf-surface-soft); transform:scale(1.28) translateY(-2px); }
.cf-reactor-list { display:flex; flex-direction:column; gap:5px; }
.cf-reactor { min-height:45px; padding:5px 3px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--cf-divider); }
.cf-reactor .cf-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--cf-muted); background:var(--cf-surface-soft); }
.cf-reactor .cf-avatar.has-pet { border-radius:0; background:transparent; }
.cf-reactor strong { flex:1; color:var(--cf-text); font:700 13px/1.2 Inter,sans-serif; }
.cf-reactor>span:last-child { font:20px/1 "Noto Color Emoji",sans-serif; }
.cf-reactors-sheet header h2 { font:700 15px/1.2 Inter,sans-serif; }
.cf-reaction-filters { display:flex; gap:8px; margin:0 0 12px; overflow-x:auto; scrollbar-width:none; }
.cf-reaction-filter { flex:none; padding:6px 13px; border:1px solid #262626; border-radius:999px; color:#9a9a9a; background:transparent; font:600 12px/1 Inter,sans-serif; }
.cf-reaction-filter.selected { border-color:#3a3a3a; color:#fff; background:#2a2a2a; }
.cf-reactors-sheet .cf-reactor-list { max-height:260px; overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none; }
.cf-reactors-sheet .cf-reactor-list::-webkit-scrollbar { display:none; width:0; height:0; }
.cf-message.is-highlighted p { animation:cf-message-highlight 1.4s ease; }
@keyframes cf-message-highlight { 0%,100% { box-shadow:none; } 25% { box-shadow:0 0 0 3px color-mix(in srgb,var(--cf-orange) 35%,transparent); } }
@media (hover:none), (pointer:coarse) {
    .cf-message { touch-action:pan-y; transform:translateX(var(--cf-swipe-x,0)); }
    .cf-message-actions { display:none; }
    .cf-message::before { content:"↩"; position:absolute; left:-29px; bottom:5px; width:24px; height:24px; display:grid; place-items:center; color:var(--cf-orange-soft); font:700 18px/1 Inter,sans-serif; opacity:var(--cf-swipe-progress,0); transform:scale(.9); }
    .cf-message.mine::before { content:"↪"; right:-29px; left:auto; }
    .cf-message.is-reply-dragging { transition:none; }
    .cf-message.is-reply-settling { transition:transform .15s ease-out; }
}
@media (prefers-reduced-motion:reduce) { .cf-message.is-reply-settling { transition:none; } }
.cf-composer { z-index: 2; flex: none; padding: 10px 12px calc(14px + env(safe-area-inset-bottom,0)); display: flex; align-items: center; gap: 9px; }
.cf-composer textarea { flex: 1; min-width: 0; height: 44px; padding: 14px; overflow: hidden; resize: none; white-space: nowrap; border: 1px solid rgba(255,157,92,.2); border-radius: 13px; outline: none; color: var(--cf-copy); background: rgba(255,157,92,.07); font: 400 14px/1 Inter, sans-serif; }
.cf-composer textarea::placeholder { color: #a8917e; }
.cf-composer button { flex: none; width: 48px; height: 44px; border: 0; border-radius: 13px; color: #2b1305; background: linear-gradient(155deg,#ffcf9e,#ff9d5c); box-shadow: 0 6px 16px -4px rgba(232,103,47,.45); }
.cf-composer button .fa-paper-plane { font-size: 17px; }

/* Campfire room-wide game */
.cf-composer-field { flex:1; min-width:0; height:44px; position:relative; display:flex; }
.cf-composer-field textarea { width:100%; padding-right:48px; }
.campfire-screen .cf-composer .cf-game-launcher { position:absolute; right:5px; top:6px; width:32px; height:32px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; color:var(--cf-muted); background:transparent; box-shadow:none; font-size:17px; }
.campfire-screen .cf-composer .cf-game-launcher:hover,.campfire-screen .cf-composer .cf-game-launcher:focus-visible,.campfire-screen .cf-composer .cf-game-launcher.is-active { color:var(--cf-orange); background:transparent; box-shadow:none; }
.cf-composer .cf-game-launcher:focus-visible { outline:2px solid var(--cf-orange); outline-offset:1px; }
.cf-game-picker-overlay { align-items:flex-end; padding:11px; }
.cf-game-picker { width:100%; padding:0 13px 13px; border:1px solid var(--cf-border); border-radius:20px; color:var(--cf-copy); background:#171310; box-shadow:0 -14px 34px -14px rgba(0,0,0,.6); }
.cf-game-picker-handle { height:20px; display:grid; place-items:center; }
.cf-game-picker-handle i { width:34px; height:4px; border-radius:999px; background:#332a1c; }
.cf-game-picker header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.cf-game-picker h2 { margin:0; color:var(--cf-text); font:700 13.5px/1 "Comic Neue",cursive; }
.cf-game-picker header button { width:24px; height:24px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; color:var(--cf-muted); background:#241d15; }
.cf-game-choices { display:flex; gap:9px; margin-bottom:0; overflow-x:auto; scrollbar-width:none; }
.cf-game-choice { flex:none; width:82px; min-height:88px; padding:12px 8px 11px; display:flex; flex-direction:column; align-items:center; gap:7px; border:1px solid #262626; border-radius:15px; background:#161616; box-shadow:none; }
.cf-game-choice.is-selected { border:1.5px solid var(--cf-orange); background:#1e1710; box-shadow:0 0 0 3px rgba(255,157,92,.14); }
.cf-game-choice>span { width:38px; height:38px; display:grid; place-items:center; border:1.5px solid var(--cf-orange); border-radius:50%; color:var(--cf-orange-soft); background:#141110; font:700 16px/1 "Comic Neue",cursive; }
.cf-game-choice strong { color:var(--cf-text); font:700 11px/1.25 Inter,sans-serif; text-align:center; }
.cf-game-choice small { display:none; }
.cf-bottle-icon { width:9px; height:26px; display:flex; flex-direction:column; align-items:center; transform:rotate(28deg); }
.cf-bottle-icon i { width:4px; height:3px; border-radius:1px; background:#3a2c1a; }
.cf-bottle-icon b { width:6px; height:8px; border-radius:2px 2px 0 0; background:#5a4326; }
.cf-bottle-icon em { width:9px; height:15px; margin-top:-1px; border-radius:3px; background:linear-gradient(160deg,#ffcf9e,#e8672f); }
.cf-game-primary,.cf-game-actions button { width:100%; margin-top:12px; padding:11px; border:0; border-radius:13px; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); font:700 14px/1 "Comic Neue",cursive; }
.cf-game-primary:disabled,.cf-game-actions button:disabled { opacity:.4; }
.cf-game-host-note { margin:12px 2px 0; color:var(--cf-muted); font:600 11px/1.4 Inter,sans-serif; text-align:center; }
.cf-game-panel { z-index:4; flex:0 1 auto; max-height:52%; margin:8px 11px 0; padding:0 13px 12px; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--cf-border); border-radius:20px; color:var(--cf-copy); background:#171310; box-shadow:0 -14px 34px -14px rgba(0,0,0,.6); }
.cf-game-panel.is-full { position:absolute; inset:60px 0 0; z-index:15; max-height:none; margin:0; border-width:1px 0 0; border-radius:0; }
.cf-game-handle { flex:none; display:flex; align-items:center; justify-content:center; gap:12px; height:27px; touch-action:none; }
.cf-game-handle>i { width:34px; height:4px; border-radius:999px; background:#332a1c; }
.cf-game-handle button { width:24px; height:24px; padding:0; border:0; color:#5a5346; background:transparent; }
.cf-game-header { flex:none; display:flex; align-items:center; justify-content:space-between; padding:0 1px 9px; }
.cf-game-header strong { color:var(--cf-orange-soft); font:700 italic 13.5px/1 "Comic Neue",cursive; }
.cf-game-header span { padding:5px 9px; display:flex; align-items:center; gap:6px; border:0; border-radius:999px; color:var(--cf-orange-soft); background:#1c1712; font:700 11.5px/1 Inter,sans-serif; }
.cf-game-header .cf-game-revealed { display:flex; align-items:center; gap:5px; border-radius:8px; color:var(--cf-muted); }
.cf-game-header .cf-game-revealed i { color:#4ade80; font-size:12px; }
.cf-game-header .cf-game-resolving i { color:var(--cf-orange);font-size:12px;animation:cf-game-spin 1s linear infinite; }
@keyframes cf-game-spin { to { transform:rotate(360deg); } }
.cf-game-header .cf-game-lobby-close { width:24px; height:24px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; color:var(--cf-muted); background:#241d15; font-size:15px; }
.cf-game-header .cf-game-lobby-close:hover,.cf-game-header .cf-game-lobby-close:focus-visible { color:var(--cf-orange-soft); background:#2d2117; }
.cf-game-panel.is-urgent .cf-game-header span,.cf-game-collapsed.is-urgent>b { border-color:#ef8354;color:#ffd0ad;animation:cf-game-urgent 1s ease-in-out infinite; }
@keyframes cf-game-urgent { 50% { opacity:.55; } }
@media (prefers-reduced-motion:reduce) { .cf-game-panel.is-urgent .cf-game-header span,.cf-game-collapsed.is-urgent>b { animation:none; } }
.cf-game-content { min-height:0; overflow-y:auto; scrollbar-width:none; }
.cf-game-copy { margin:0 0 11px; color:var(--cf-muted); font:400 11.5px/1.5 Inter,sans-serif; }
.cf-game-roster { display:grid; grid-template-columns:repeat(4,1fr); gap:9px 6px; }
.cf-game-roster>div { min-width:0; display:flex; flex-direction:column; align-items:center; gap:5px; }
.cf-game-player-avatar { position:relative; width:42px; height:42px; display:grid; place-items:center; border:1px solid #2a2a2a; border-radius:13px; background:#1c1c1c; }
.cf-game-player-avatar.is-me { border:1.5px solid var(--cf-orange); }
.cf-game-player-avatar .cf-avatar { width:28px; height:28px; background:transparent; }
.cf-game-player-avatar>b { position:absolute; bottom:-4px; padding:1px 4px; border-radius:999px; color:#3a2c08; background:#e9c46a; font:800 6.5px/1 Inter,sans-serif; }
.cf-game-roster small { max-width:100%; overflow:hidden; color:var(--cf-copy); font:600 9.5px/1 Inter,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.cf-game-open { width:42px; height:42px; display:grid; place-items:center; border:1.5px dashed #333; border-radius:13px; color:#555; }
.cf-game-count,.cf-game-wait { margin:11px 0 0; color:var(--cf-muted); font:600 11px/1.4 Inter,sans-serif; text-align:center; }
.cf-game-actions { display:flex; gap:8px; }.cf-game-actions button { flex:1; }.cf-game-actions .secondary { color:var(--cf-copy); background:#24201b; }
.cf-game-private { min-height:46px; padding:9px 12px; display:flex; align-items:center; justify-content:space-between; border:1.5px solid var(--cf-orange); border-radius:12px; background:#141110; box-shadow:0 0 0 3px rgba(255,157,92,.14); }
.cf-game-private small { color:var(--cf-muted); font:600 10.5px/1.4 Inter,sans-serif; }.cf-game-private strong { color:var(--cf-text); font:700 15px/1 "Comic Neue",cursive; }
.cf-game-private.imposter,.cf-game-private.muted { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; border-style:dashed; box-shadow:none; }.cf-game-private.imposter strong { color:var(--cf-orange); font-size:12px; }
.cf-game-panel.is-clue .cf-game-private { min-height:38px;padding:6px 2px 9px;border:0;border-bottom:1px solid #2d261f;border-radius:0;background:transparent;box-shadow:none; }
.cf-game-panel.is-clue .cf-game-private small { color:#777064;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em; }
.cf-game-panel.is-clue .cf-game-private strong { color:var(--cf-orange-soft);font-size:17px; }
.cf-game-panel.is-clue .cf-game-private.imposter,.cf-game-panel.is-clue .cf-game-private.muted { padding-left:2px;background:transparent; }
.cf-game-panel.is-clue .cf-game-private.imposter strong { font-size:12px; }
.cf-game-clues { max-height:112px; margin-top:9px; overflow-y:auto; display:flex; flex-direction:column; gap:5px; scrollbar-width:none; -ms-overflow-style:none; }
.cf-game-clues::-webkit-scrollbar { display:none;width:0;height:0; }
.cf-game-clues p { margin:0; padding:7px 2px; display:flex; align-items:center; gap:7px; border:0;border-bottom:1px solid #29241f;border-radius:0;color:#d8d4cb;background:transparent;font:400 11.5px/1.3 ui-monospace,Menlo,monospace; }
.cf-game-clues p em { width:17px;height:17px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--cf-orange-soft);background:#2b231c;font:800 9px/1 Inter,sans-serif; }
.cf-game-clues p span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cf-game-clues b { flex:none; color:var(--cf-orange-soft); font-size:10px; }.cf-game-clues>small { color:var(--cf-muted); text-align:center; }
.cf-game-input { margin-top:9px; display:flex; gap:7px; }.cf-game-input textarea { flex:1; min-width:0; height:38px; padding:12px 11px; overflow:hidden; resize:none; white-space:nowrap; border:1px solid var(--cf-border); border-radius:10px; outline:0; color:var(--cf-copy); background:#141110; font:400 12.5px/1 ui-monospace,Menlo,monospace; }.cf-game-input button { width:38px; height:38px; border:0; border-radius:10px; color:#2b1305; background:var(--cf-orange); }
.cf-game-votes { max-height:210px; overflow-y:auto; display:flex; flex-direction:column; gap:7px; scrollbar-width:none; -ms-overflow-style:none; }.cf-game-votes::-webkit-scrollbar { display:none; width:0; height:0; }.cf-game-votes button { flex:none; width:100%; padding:8px 10px; display:flex; align-items:center; gap:9px; border:1px solid #262220; border-radius:12px; color:var(--cf-copy); background:#141110; text-align:left; }.cf-game-votes button.selected { border:1.5px solid var(--cf-orange); background:#1e1710; box-shadow:0 0 0 3px rgba(255,157,92,.14); }.cf-game-votes .cf-avatar { width:28px;height:28px; }.cf-game-votes .cf-game-vote-copy { flex:1;min-width:0;display:flex;flex-direction:column;gap:3px; }.cf-game-votes strong { font:700 12px/1.2 Inter,sans-serif; }.cf-game-votes small { overflow:hidden;color:var(--cf-muted);font:400 10.5px/1.3 ui-monospace,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap; }.cf-game-votes button>i { width:19px;height:19px;display:grid;place-items:center;border:1.5px solid #3a352b;border-radius:50%;color:transparent; }.cf-game-votes button.selected>i { border-color:var(--cf-orange);color:#2b1305;background:var(--cf-orange); }
.cf-game-reveal { margin-bottom:0; display:flex; align-items:center; gap:11px; }.cf-game-reveal-avatar { position:relative; width:56px;height:56px;flex:none;display:grid;place-items:center;border:2px solid var(--cf-orange);border-radius:17px;background:#1c1c1c;box-shadow:0 0 0 4px rgba(255,157,92,.14); }.cf-game-reveal-avatar .cf-avatar { width:34px;height:34px;display:grid;place-items:center;background:#221f19; }.cf-game-reveal-avatar .cf-avatar.has-pet { background:transparent; }.cf-game-reveal-avatar>b { position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:999px;white-space:nowrap;color:#2b1305;background:linear-gradient(155deg,#ff9d5c,#e8672f);font:800 8px/1 Inter,sans-serif; }.cf-game-reveal-copy { flex:1;min-width:0; }.cf-game-reveal h3 { margin:0 0 3px;color:var(--cf-text);font:700 15px/1.25 "Comic Neue",cursive; }.cf-game-reveal p { margin:0;color:var(--cf-muted);font:400 11.5px/1.4 Inter,sans-serif; }.cf-game-reveal p strong { color:var(--cf-copy); }
.cf-game-reveal .expanded { display:none; }
.cf-game-reward { width:max-content;margin-top:6px;display:inline-flex;align-items:center;gap:4px;color:var(--cf-orange-soft);font:800 9.5px/1 Inter,sans-serif; }
.cf-game-reward i { color:var(--cf-orange);font-size:10px; }
.cf-game-collapsed { z-index:4; flex:none; min-height:42px; margin:8px 11px 0; padding:0 12px; display:flex; align-items:center; gap:8px; border:1px solid var(--cf-border); border-radius:14px; color:var(--cf-copy); background:#171310; }.cf-game-collapsed>i { width:7px;height:7px;border-radius:50%;background:var(--cf-orange); }.cf-game-collapsed strong { color:var(--cf-orange-soft);font:700 italic 12px/1 "Comic Neue",cursive; }.cf-game-collapsed span { flex:1;overflow:hidden;color:var(--cf-muted);font:400 11px/1 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap; }.cf-game-collapsed b { color:var(--cf-orange-soft);font:700 11px/1 Inter,sans-serif; }
.cf-game-collapsed.is-reveal>i { width:auto;height:auto;color:#4ade80;background:transparent;font-size:14px; }.cf-game-collapsed.is-reveal b { color:var(--cf-muted);font-size:16px; }
.cf-game-panel.is-full.is-reveal .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }
.cf-game-panel.is-full.is-reveal .cf-game-header { display:none; }
.cf-game-panel.is-full.is-reveal .cf-game-content { flex:1; display:flex; flex-direction:column; padding:10px 13px 14px; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal { flex:1; flex-direction:column; justify-content:center; gap:16px; text-align:center; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal-avatar { width:84px;height:84px;border-radius:24px;box-shadow:0 0 0 6px rgba(255,157,92,.14); }
.cf-game-panel.is-full.is-reveal .cf-game-reveal-avatar .cf-avatar { width:52px;height:52px; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal-avatar>b { bottom:-9px;padding:3px 10px;font-size:10px; }
.cf-game-panel.is-reveal:not(.is-full) .cf-game-reveal-avatar>b { left:0;transform:none; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal-copy { flex:none; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal h3 { margin:0 0 6px;font-size:24px; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal p { max-width:330px;font-size:13.5px;line-height:1.5; }
.cf-game-panel.is-full.is-reveal .cf-game-reward { margin:10px auto 0;font-size:10.5px; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal .compact { display:none; }
.cf-game-panel.is-full.is-reveal .cf-game-reveal .expanded { display:block; }
.cf-game-panel.is-full.is-reveal>.cf-game-content>.cf-game-primary { flex:none;margin-top:0;padding:13px;border-radius:15px;font-size:15px; }
.cf-game-panel.is-full.is-clue { padding:0 15px 14px; background:#171310; }
.cf-game-panel.is-full.is-clue .cf-game-handle { position:relative; height:27px; }
.cf-game-panel.is-full.is-clue .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }
.cf-game-panel.is-full.is-clue .cf-game-handle [data-action="game-panel-collapse"] { position:absolute; right:-7px; }
.cf-game-panel.is-full.is-clue .cf-game-header { padding:0 1px 13px; }
.cf-game-panel.is-full.is-clue .cf-game-header strong { font-size:15px; }
.cf-game-panel.is-full.is-clue .cf-game-header span { padding:5px 10px; font-size:12px; }
.cf-game-panel.is-full.is-clue .cf-game-content { flex:1; display:flex; flex-direction:column; overflow:hidden; }
.cf-game-panel.is-full.is-clue .cf-game-private { flex:none;min-height:42px;margin:0 0 13px;padding:8px 2px 11px;border-radius:0; }
.cf-game-clue-progress { flex:none; margin-bottom:13px; }
.cf-game-clue-progress-copy { margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--cf-muted);font:600 10px/1.2 Inter,sans-serif; }
.cf-game-clue-progress-copy strong { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cf-copy);font-weight:700; }
.cf-game-clue-progress-copy small { flex:none;color:var(--cf-orange-soft);font:700 10px/1 Inter,sans-serif; }
.cf-game-clue-roster { display:grid; grid-template-columns:repeat(4,1fr); gap:11px 6px; }
.cf-game-clue-roster>div { min-width:0; display:flex; flex-direction:column; align-items:center; gap:5px; color:var(--cf-copy); }
.cf-game-clue-roster>div>span { position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px dashed #3a352b;border-radius:12px;background:#1c1c1c;opacity:.55; }
.cf-game-clue-roster>div>span>b { position:absolute;right:-4px;bottom:-4px;width:15px;height:15px;display:grid;place-items:center;border:2px solid #171310;border-radius:50%;color:#2b1305;background:#4ade80;font:800 8px/1 Inter,sans-serif; }
.cf-game-clue-roster .cf-avatar { width:24px;height:24px;display:grid;place-items:center;background:#221f19; }
.cf-game-clue-roster .cf-avatar.has-pet { background:transparent; }
.cf-game-clue-roster .is-clued>span { border:1.5px solid #4ade80;opacity:1; }
.cf-game-clue-roster .is-me>span { border-color:var(--cf-orange);opacity:1; }
.cf-game-clue-roster small { max-width:100%;overflow:hidden;color:var(--cf-muted);font:600 9.5px/1 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap; }
.cf-game-clue-roster .is-clued small { color:var(--cf-copy); }
.cf-game-clue-roster .is-me small { color:var(--cf-orange-soft);font-weight:700; }
.cf-game-clue-progress.is-compact { margin:8px 0 1px;padding:0;display:flex;align-items:center;gap:9px;border:0;border-radius:0;background:transparent; }
.cf-game-clue-progress.is-compact .cf-game-clue-progress-copy { min-width:0;flex:1;order:2;margin:0; }
.cf-game-clue-progress.is-compact .cf-game-clue-progress-copy strong { font-size:9.5px; }
.cf-game-clue-progress.is-compact .cf-game-clue-progress-copy small { color:var(--cf-muted);font-size:9px; }
.cf-game-clue-progress.is-compact .cf-game-clue-roster { flex:none;order:1;display:flex;justify-content:flex-start;gap:5px; }
.cf-game-clue-progress.is-compact .cf-game-clue-roster>div { flex:none; }
.cf-game-clue-progress.is-compact .cf-game-clue-roster>div>span { width:27px;height:27px;border-radius:9px; }
.cf-game-clue-progress.is-compact .cf-game-clue-roster .cf-avatar { width:18px;height:18px; }
.cf-game-clue-progress.is-compact .cf-game-clue-roster small { display:none; }
.cf-game-clue-progress.is-compact .cf-game-clue-roster>div>span>b { right:-3px;bottom:-3px;width:13px;height:13px;border-width:1.5px;font-size:7px; }
.cf-game-panel.is-full.is-clue .cf-game-clues { flex:1; max-height:none; min-height:0; margin:0 0 12px; gap:6px; }
.cf-game-panel.is-full.is-clue .cf-game-clues p { flex:none;padding:9px 2px; }
.cf-game-panel.is-full.is-clue .cf-game-clues p span { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.cf-game-panel.is-full.is-clue .cf-game-input { flex:none; margin-top:0; }
.cf-game-panel.is-full.is-clue .cf-game-input textarea,.cf-game-panel.is-full.is-clue .cf-game-input button { height:42px; }
.cf-game-panel.is-full.is-clue .cf-game-input button { width:42px; }
.cf-game-discussion-copy { margin-top:8px; }
.cf-game-panel.is-full.is-discussion { padding:0 15px 14px;background:#171310; }
.cf-game-panel.is-full.is-discussion .cf-game-handle { position:relative;height:27px; }
.cf-game-panel.is-full.is-discussion .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }
.cf-game-panel.is-full.is-discussion .cf-game-handle [data-action="game-panel-collapse"] { position:absolute;right:-7px; }
.cf-game-panel.is-full.is-discussion .cf-game-header { padding:0 1px 13px; }
.cf-game-panel.is-full.is-discussion .cf-game-header strong { font-size:15px; }
.cf-game-panel.is-full.is-discussion .cf-game-content { flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden; }
.cf-game-panel.is-full.is-discussion .cf-game-wait { flex:none; }
.cf-game-panel.is-full.is-discussion .cf-game-clues { flex:1;max-height:none;min-height:0;margin-top:0; }
.cf-game-panel.is-full.is-discussion .cf-game-clues p span { overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere; }
.cf-game-panel.is-full.is-vote { padding:0 15px 14px; background:#171310; }
.cf-game-panel.is-full.is-vote .cf-game-handle { position:relative; height:27px; }
.cf-game-panel.is-full.is-vote .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }
.cf-game-panel.is-full.is-vote .cf-game-handle [data-action="game-panel-collapse"] { position:absolute; right:-7px; }
.cf-game-panel.is-full.is-vote .cf-game-header { padding:0 1px 13px; }
.cf-game-panel.is-full.is-vote .cf-game-header strong { font-size:15px; }
.cf-game-panel.is-full.is-vote .cf-game-header span { padding:5px 10px; font-size:12px; }
.cf-game-panel.is-full.is-vote .cf-game-content { flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.cf-game-panel.is-full.is-vote .cf-game-votes,.cf-game-panel.is-full.is-vote .cf-game-clues { flex:1; max-height:none; min-height:0; }
.cf-game-panel.is-full.is-vote .cf-game-votes { padding:1px 3px; }
.cf-game-panel.is-full.is-vote .cf-game-clues { margin-top:0; }
.cf-game-panel.is-full.is-vote .cf-game-primary,.cf-game-panel.is-full.is-vote .cf-game-wait { flex:none; }
.cf-game-tally { padding-top:6px;display:flex;flex-direction:column;gap:6px; }
.cf-game-tally-row { position:relative;min-height:43px;padding:6px 9px;display:flex;align-items:center;gap:8px;border:1px solid #29241f;border-radius:11px;background:#141110; }
.cf-game-tally-row>.cf-avatar { width:28px;height:28px;flex:none; }
.cf-game-tally-row>strong { min-width:60px;overflow:hidden;color:var(--cf-copy);font:700 11.5px/1.2 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap; }
.cf-game-tally-row>span { min-width:0;flex:1;display:flex;justify-content:flex-end;gap:4px; }
.cf-game-ballot { width:25px;height:25px;flex:none;display:grid;place-items:center;border:1px solid #3a332b;border-radius:8px;background:#211a15;opacity:0;transform:translateY(-8px) scale(.7);animation:cf-ballot-drop .32s cubic-bezier(.2,.9,.3,1.25) var(--vote-delay) forwards; }
.cf-game-ballot .cf-avatar { width:17px;height:17px; }
.cf-game-ballot.has-no-pet { border:1.5px solid #8f765f;background:transparent; }
.cf-game-ballot.has-no-pet .cf-avatar { color:#b9a48e;background:#28211b; }
.cf-game-tally-row>em { position:absolute;right:7px;top:-5px;padding:2px 5px;border-radius:999px;color:#2b1305;background:var(--cf-orange);font:800 7px/1 Inter,sans-serif;opacity:0;animation:cf-accused-in .28s ease var(--accused-delay) forwards; }
.cf-game-tally-row.is-accused { animation:cf-accused-row .35s ease var(--accused-delay) forwards; }
.cf-game-vote-verdict { margin:9px 0 0;color:var(--cf-orange-soft);font:700 11.5px/1.35 "Comic Neue",cursive;text-align:center;opacity:0;animation:cf-accused-in .3s ease var(--accused-delay) forwards; }
@keyframes cf-ballot-drop { to { opacity:1;transform:none; } }
@keyframes cf-accused-in { to { opacity:1; } }
@keyframes cf-accused-row { to { border-color:var(--cf-orange);background:#1e1710;box-shadow:0 0 0 3px rgba(255,157,92,.12); } }
.cf-game-identity { min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }
.cf-game-identity>p { margin:0 0 10px;color:var(--cf-muted);font:500 10.5px/1.35 Inter,sans-serif; }
.cf-game-identity>strong { color:var(--cf-orange-soft);font:700 13px/1.2 "Comic Neue",cursive;opacity:0;animation:cf-identity-copy .3s ease .25s forwards; }
.cf-game-identity-avatar { position:relative;width:64px;height:64px;margin:13px 0 10px;display:grid;place-items:center;border:2px solid var(--cf-orange);border-radius:19px;background:#1c1c1c;box-shadow:0 0 0 5px rgba(255,157,92,.12);opacity:0;transform:rotateY(90deg) scale(.82);animation:cf-identity-flip .55s cubic-bezier(.2,.8,.2,1) .8s forwards; }
.cf-game-identity-avatar .cf-avatar { width:40px;height:40px; }
.cf-game-identity-avatar>b { position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:999px;color:#2b1305;background:linear-gradient(155deg,#ff9d5c,#e8672f);font:800 8px/1 Inter,sans-serif;white-space:nowrap; }
.cf-game-identity h3 { margin:0;color:var(--cf-text);font:700 19px/1.2 "Comic Neue",cursive;opacity:0;animation:cf-identity-copy .35s ease 1.18s forwards; }
.cf-game-identity>small { margin-top:4px;color:var(--cf-muted);font:500 10.5px/1.35 Inter,sans-serif;opacity:0;animation:cf-identity-copy .35s ease 1.35s forwards; }
@keyframes cf-identity-flip { to { opacity:1;transform:none; } }
@keyframes cf-identity-copy { to { opacity:1; } }
.cf-game-panel.is-full.is-vote-reveal,.cf-game-panel.is-full.is-identity-reveal { padding:0 15px 14px;background:#171310; }
.cf-game-panel.is-full.is-vote-reveal .cf-game-handle [data-action="game-panel-full"],.cf-game-panel.is-full.is-identity-reveal .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }
.cf-game-panel.is-full.is-vote-reveal .cf-game-content { flex:1;min-height:0;overflow-y:auto; }
.cf-game-panel.is-full.is-vote-reveal .cf-game-tally { max-width:440px;margin:0 auto; }
.cf-game-panel.is-full.is-vote-reveal .cf-game-tally-row { min-height:50px;padding:8px 11px; }
.cf-game-panel.is-full.is-identity-reveal .cf-game-content { flex:1;display:flex;align-items:center;justify-content:center; }
.cf-game-panel.is-full.is-identity-reveal .cf-game-identity { min-height:0; }
.cf-game-panel.is-full.is-identity-reveal .cf-game-identity-avatar { width:88px;height:88px;border-radius:25px; }
.cf-game-panel.is-full.is-identity-reveal .cf-game-identity-avatar .cf-avatar { width:55px;height:55px; }
.cf-game-panel.is-full.is-identity-reveal .cf-game-identity h3 { font-size:25px; }
.cf-game-collapsed.is-resolving>i { animation:cf-game-resolving-dot .8s ease-in-out infinite alternate; }
@keyframes cf-game-resolving-dot { to { opacity:.3;transform:scale(.7); } }
@media (prefers-reduced-motion:reduce) {
  .cf-game-header .cf-game-resolving i,.cf-game-collapsed.is-resolving>i { animation:none; }
  .cf-game-ballot,.cf-game-tally-row>em,.cf-game-tally-row.is-accused,.cf-game-vote-verdict,.cf-game-identity>strong,.cf-game-identity-avatar,.cf-game-identity h3,.cf-game-identity>small { animation-delay:0s;animation-duration:.01ms; }
}
.cf-bottle-panel { max-height:none; padding:0 13px 13px; }
.cf-bottle-panel .cf-game-header { margin-bottom:0; padding-bottom:11px; gap:8px; }
.cf-bottle-panel .cf-game-header>strong { margin-right:auto; color:var(--cf-text); font-style:normal; }
.cf-bottle-panel .cf-game-header .cf-bottle-count { padding:0; border:0; color:#5a5a5a; background:transparent; font:600 11px/1 "Comic Neue",cursive; }
.cf-bottle-count>i { width:7px; height:7px; border-radius:50%; background:#4ade80; }
.cf-bottle-count>b { color:#8a8a8a; }
.cf-bottle-panel .cf-game-content { overflow:visible; }
.cf-bottle-ring { position:relative; width:var(--ring-size); height:var(--ring-size); margin:0 auto; transition:opacity .2s ease; }
.cf-bottle-panel.is-spinning .cf-bottle-seat { opacity:.7; }
.cf-bottle-seat { position:absolute; left:var(--seat-left); top:var(--seat-top); width:var(--seat-size); height:var(--seat-size); display:grid; place-items:center; border:1px solid #2a2a2a; border-radius:12px; background:#1c1c1c; transition:opacity .2s ease; }
.cf-bottle-seat.is-me { border:1.5px solid var(--cf-orange); }
.cf-bottle-seat.is-picked::after { content:""; position:absolute; inset:-6px; border:2px solid #4ade80; border-radius:14px; box-shadow:0 0 0 5px rgba(74,222,128,.16); pointer-events:none; }
.cf-bottle-seat .cf-avatar { width:26px; height:26px; background:transparent; }
.cf-bottle-panel.is-full .cf-bottle-seat { border-radius:14px; }
.cf-bottle-panel.is-full .cf-bottle-seat .cf-avatar { width:30px; height:30px; }
.cf-spin-bottle { position:absolute; left:50%; top:50%; width:16px; height:92px; margin:-46px 0 0 -8px; padding:0; display:flex; flex-direction:column; align-items:center; border:0; background:transparent; filter:drop-shadow(0 6px 14px rgba(232,103,47,.35)); transform:rotate(var(--bottle-angle)); transform-origin:50% 50%; cursor:default; }
.cf-spin-bottle.can-spin { cursor:pointer; }
.cf-spin-bottle:disabled { opacity:1; }
.cf-spin-bottle i { width:10px; height:10px; border-radius:50%; background:#3a2c1a; }
.cf-spin-bottle b { width:8px; height:20px; margin-top:-2px; border-radius:2px; background:#5a4326; }
.cf-spin-bottle em { width:16px; height:64px; margin-top:-2px; border-radius:8px; background:linear-gradient(160deg,#ffcf9e,#e8672f); }
.cf-bottle-caption { margin:10px 0 0; color:#a39d90; font:600 11.5px/1 Inter,sans-serif; text-align:center; }
.cf-bottle-actions { display:flex; gap:8px; }
.cf-bottle-actions button { flex:1; width:100%; margin-top:11px; padding:10px 0; border:0; border-radius:13px; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); box-shadow:0 8px 22px -6px rgba(232,103,47,.55); font:700 13.5px/1 "Comic Neue",cursive; }
.cf-bottle-actions button.secondary { color:var(--cf-copy); background:#24201b; box-shadow:none; }
.cf-bottle-collapsed strong { color:var(--cf-text); font-style:normal; }
.cf-bottle-panel.is-full { padding:0 15px 14px; }
.cf-bottle-panel.is-full .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }
.cf-bottle-panel.is-full .cf-game-header { margin-bottom:16px; }
.cf-bottle-panel.is-full .cf-game-content { flex:1; min-height:0; display:flex; flex-direction:column; justify-content:center; }
.cf-bottle-panel.is-full .cf-bottle-ring { flex:none; }
.cf-bottle-panel.is-full .cf-bottle-caption { margin:14px 0 1px; font-size:12.5px; }
.campfire-light .cf-bottle-seat { background:#fff6ea; }
.campfire-light .cf-game-panel,.campfire-light .cf-game-picker,.campfire-light .cf-game-collapsed { background:#fffdf9; }.campfire-light .cf-game-private,.campfire-light .cf-game-input textarea,.campfire-light .cf-game-votes button,.campfire-light .cf-game-tally-row { background:#fff6ea; }.campfire-light .cf-game-panel.is-clue .cf-game-private,.campfire-light .cf-game-clue-progress.is-compact,.campfire-light .cf-game-clues p { color:#2a2118;background:transparent; }
.cf-game-choice>span.cf-chain-choice-icon { border:0;border-radius:0;background:transparent; }.cf-chain-icon { position:relative;width:38px;height:38px;display:block;overflow:hidden;color:var(--cf-orange-soft);font-family:"Comic Neue",Inter,sans-serif;font-style:normal; }.cf-chain-icon i,.cf-chain-icon b { position:absolute;width:24px;height:18px;display:grid;place-items:center;border:2px solid currentColor;border-radius:999px;background:#141110;font-style:normal;font-weight:800;font-size:10px;line-height:1; }.cf-chain-icon i { left:0;top:6px;z-index:2;transform:rotate(-12deg); }.cf-chain-icon b { right:0;bottom:6px;z-index:1;transform:rotate(12deg); }.cf-chain-icon i::after { content:"";position:absolute;right:-3px;bottom:1px;width:7px;height:4px;border-top:2px solid #141110;transform:rotate(25deg); }.cf-game-choice.is-selected .cf-chain-icon i,.cf-game-choice.is-selected .cf-chain-icon b { background:#1e1710; }.cf-game-choice.is-selected .cf-chain-icon i::after { border-top-color:#1e1710; }
.cf-chain-panel { max-height:410px;padding:0 13px 13px;background:#171310; }.cf-chain-panel .cf-game-header { padding-bottom:10px; }.cf-chain-panel .cf-game-header>strong { margin-right:auto;color:var(--cf-text);font-style:normal; }.cf-chain-panel .cf-game-header>span { color:var(--cf-muted); }.cf-chain-panel .cf-game-header>span.is-my-turn { color:var(--cf-orange-soft);background:#241d15;border:1px solid #3a2c1a; }.cf-chain-collapsed strong { color:var(--cf-text);font-style:normal; }
.cf-chain-roster { margin-bottom:10px;padding:4px 2px 0;display:flex;justify-content:center;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none; }.cf-chain-roster::-webkit-scrollbar { display:none;width:0;height:0; }.cf-chain-roster>div { min-width:42px;display:flex;flex-direction:column;align-items:center;gap:3px;opacity:.55; }.cf-chain-roster>div.is-current { opacity:1; }.cf-chain-roster>div.is-current>.cf-avatar { outline:2px solid var(--cf-orange);outline-offset:2px; }.cf-chain-roster>div.is-out { filter:grayscale(1);text-decoration:line-through; }.cf-chain-roster .cf-avatar,.cf-chain-roster .cf-avatar.has-pet { width:30px;height:30px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#221f19; }.cf-chain-roster .cf-avatar.has-pet { background:#1c1c1c; }.cf-chain-roster .cf-avatar img { width:100%;height:100%;object-fit:contain; }.cf-chain-roster small { max-width:58px;overflow:hidden;color:var(--cf-muted);font:600 9px/1 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap; }.cf-chain-roster span { display:flex;color:#ef6a64;font-size:9px; }
.cf-chain-words { min-height:54px;max-height:118px;margin-bottom:11px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none; }.cf-chain-words::-webkit-scrollbar { display:none;width:0;height:0; }.cf-chain-words>small { margin:auto;color:var(--cf-muted);font:500 11px/1.3 Inter,sans-serif; }.cf-chain-word { padding:7px 9px;display:flex;align-items:center;gap:8px;border:1px solid #29241f;border-radius:10px;background:#141110; }.cf-chain-word span { width:76px;overflow:hidden;color:var(--cf-muted);font:600 10px/1 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap; }.cf-chain-word strong { flex:1;color:var(--cf-copy);font:700 13px/1 ui-monospace,Menlo,monospace; }.cf-chain-word strong b { color:var(--cf-orange); }.cf-chain-word>i { color:#4ade80; }
.cf-chain-cue { margin:2px 0 9px;padding-left:4px;display:flex;align-items:center;gap:10px; }.cf-chain-cue>b { width:42px;height:42px;display:grid;place-items:center;border:1.5px solid var(--cf-orange);border-radius:12px;color:var(--cf-orange-soft);background:#21170f;font:800 20px/1 "Comic Neue",cursive;box-shadow:0 0 0 3px rgba(255,157,92,.12); }.cf-chain-cue>span { color:var(--cf-muted);font:500 10.5px/1.3 Inter,sans-serif; }.cf-chain-input { margin-top:0; }.cf-chain-result { min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }.cf-chain-result>.cf-avatar { width:56px;height:56px;margin-bottom:8px; }.cf-chain-result h3 { margin:0;color:var(--cf-text);font:700 19px/1.2 "Comic Neue",cursive; }.cf-chain-result p { margin:4px 0 0;color:var(--cf-muted);font:500 11px/1.3 Inter,sans-serif; }
.cf-chain-panel.is-full { max-height:none;padding:0 15px 14px; }.cf-chain-panel.is-full .cf-game-handle [data-action="game-panel-full"] { visibility:hidden; }.cf-chain-panel.is-full .cf-game-content { flex:1;min-height:0;display:flex;flex-direction:column; }.cf-chain-panel.is-full .cf-chain-words { flex:1;max-height:none; }.campfire-light .cf-chain-panel,.campfire-light .cf-chain-word { background:#fffdf9; }.campfire-light .cf-chain-word { border-color:#ece2d1;background:#fff6ea; }.campfire-light .cf-chain-cue>b { background:#fff6ea; }
.cf-ended { z-index: 2; padding: 14px; color: #c9a888; background: rgba(20,14,10,.78); text-align: center; }
.campfire-screen[data-view="room"].campfire-classic { background: #0c0c0c; }
.campfire-screen[data-view="room"].campfire-classic .cf-header { background: #141414; border-bottom-color: #242424; }
.campfire-classic .cf-fire-badge { background: #1c1c1c; box-shadow: none; }
.campfire-classic .cf-message p { border-color: #292929; color: #e8e8e8; background: #1c1c1c; }
.campfire-classic .cf-message.mine p { border: 0; color: #111; background: #e8e8e8; }
.campfire-classic .cf-message.has-reply-context .cf-message-body { border-color:#292929; color:#e8e8e8; background:#1c1c1c; }
.campfire-classic .cf-message.mine.has-reply-context .cf-message-body { border:0; color:#111; background:#e8e8e8; }
.campfire-classic .cf-message.has-reply-context .cf-message-body p { color:inherit; background:transparent; }
.campfire-classic .cf-message.mine .cf-reply-quote { border-right-color:#8a8578; color:#222; }
.campfire-classic .cf-message.mine .cf-reply-quote strong { color:#68543d; }
.campfire-classic .cf-message:not(.mine) .cf-reply-quote { color:#e8e8e8; }
.campfire-classic .cf-system { border-color: #262626; color: #7a7a7a; background: #161616; }
.campfire-classic .cf-composer textarea { border-color: #262626; color: #e8e8e8; background: #1a1a1a; }
.campfire-classic .cf-composer textarea::placeholder { color: #5a5a5a; }
.campfire-classic .cf-composer button { color: #111; background: #f0f0f0; box-shadow: none; }

.cf-panel, .cf-menu { flex: 1; min-height: 0; padding: 16px 17px 18px; overflow-y: auto; }
.cf-member, .cf-request { min-height: 56px; padding: 8px 0; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--cf-divider); }
.cf-member > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cf-member strong, .cf-request strong { color: var(--cf-copy); font: 700 13.5px/1.2 Inter, sans-serif; }
.cf-member small { margin-top: 4px; color: var(--cf-dim); font: 500 11px/1 Inter, sans-serif; text-transform: capitalize; }
.cf-menu { display: flex; flex-direction: column; gap: 0; }
.cf-menu > button, .cf-options button { width: 100%; min-height: 58px; padding: 12px 4px; display: flex; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--cf-divider); border-radius: 0; color: var(--cf-text); background: transparent; font: 700 14px/1.2 Inter, sans-serif; text-align: left; }
.cf-menu > button > i:first-child { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--cf-orange-soft); background: rgba(255,157,92,.1); font-size: 17px; font-weight: 400; -webkit-font-smoothing: antialiased; }
.cf-menu > button > strong { flex: 1; min-width: 0; font: inherit; }
.cf-menu button span { margin-left: auto; color: var(--cf-dim); font: 600 12px/1 Inter, sans-serif; text-transform: capitalize; }
.cf-menu > button .cf-row-chevron { flex: none; width: auto; height: auto; margin-left: 2px; color: var(--cf-dim); background: transparent; font-size: 18px; font-weight: 400; -webkit-font-smoothing: antialiased; }
.cf-menu button .cf-request-badge { min-width: 23px; padding: 3px 8px; border-radius: 999px; color: #2b1305; background: var(--cf-orange); font: 700 11px/1 Inter, sans-serif; text-align: center; }
.danger { color: #ef8c83 !important; }
.cf-appearance { margin-bottom: 20px; }
.cf-appearance h2 { margin: 0 0 9px; color: var(--cf-dim); font: 800 10.5px/1 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.cf-appearance > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cf-appearance button { padding: 0; overflow: hidden; border: 1.5px solid #262019; border-radius: 14px; color: var(--cf-copy); background: transparent; }
.cf-appearance button.selected { border-color: var(--cf-orange); background: rgba(255,157,92,.06); }
.cf-preview { height: 64px; padding: 8px; display: flex; flex-direction: column; justify-content: flex-end; gap: 5px; background: #0c0c0c; }
.cf-preview.firelight { background: radial-gradient(ellipse 140% 90% at 50% 130%,#4a2410,#100c08 70%); }
.cf-preview i, .cf-preview b { width: 60%; height: 8px; align-self: flex-start; border-radius: 6px; background: #1c1c1c; }
.cf-preview b { width: 45%; align-self: flex-end; background: #e8e8e8; }
.cf-preview.firelight i { background: rgba(28,20,14,.9); }
.cf-preview.firelight b { background: linear-gradient(155deg,#ffcf9e,#ff9d5c); }
.cf-appearance button > strong { min-height: 43px; padding: 10px; display: flex; align-items: center; gap: 7px; color: inherit; font: 700 12px/1 Inter, sans-serif; }
.cf-appearance button > strong i { color: #5a564c; font-size: 15px; }
.cf-appearance button.selected > strong i { color: var(--cf-orange); }
.cf-entry-options button:not(.cf-radio-row) { min-height: 58px; padding: 10px 4px; border-bottom: 1px solid var(--cf-divider); }
.cf-entry-options button > i { flex: none; color: #5a564c; font-size: 18px; }
.cf-entry-options button.selected > i { color: var(--cf-orange); }
.cf-entry-options button > span { display: flex; flex-direction: column; gap: 3px; }
.cf-entry-options button strong { color: var(--cf-text); font: 700 13px/1.2 Inter, sans-serif; }
.cf-entry-options button small { color: var(--cf-muted); font: 400 11px/1.3 Inter, sans-serif; }

.cf-overlay { position: absolute; inset: 0; z-index: 10; padding: 16px; display: grid; place-items: center; background: rgba(0,0,0,.62); }
.cf-dialog { width: 100%; max-height: 80%; padding: 20px; overflow-y: auto; border: 1px solid #2a2620; border-radius: 22px; color: var(--cf-copy); background: #161512; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); }
.cf-dialog header { margin-bottom: 16px; display: flex; align-items: center; }
.cf-dialog h2 { flex: 1; margin: 0; color: var(--cf-text); font: 700 17px/1 "Comic Neue", cursive; }
.cf-dialog textarea { width: 100%; min-height: 150px; margin-bottom: 12px; padding: 13px 14px; resize: vertical; border: 1px solid var(--cf-border); border-radius: 14px; color: var(--cf-copy); background: #0f0d0a; font: 400 14px/1.6 Inter, sans-serif; }

/* Reference frames 4d–4p: room destinations */
.cf-overlay { position:absolute; inset:0; z-index:30; display:flex; background:rgba(0,0,0,.62); overscroll-behavior:contain; }
.cf-overlay.cf-game-picker-overlay { position:relative; inset:auto; z-index:4; flex:none; display:block; margin:8px 11px 0; padding:0; background:transparent; }
.cf-sheet-overlay { align-items:flex-end; justify-content:stretch; padding:0; }
.cf-sheet-overlay { animation:cf-sheet-backdrop-in .16s ease-out backwards; }
.cf-sheet-overlay>.cf-bottom-sheet { animation:cf-sheet-in .2s cubic-bezier(.22,.8,.3,1) backwards; }
.cf-sheet-overlay.is-closing { pointer-events:none; animation:cf-sheet-backdrop-out .16s ease-in both; }
.cf-sheet-overlay.is-closing>.cf-bottom-sheet { animation:cf-sheet-out .18s cubic-bezier(.55,.05,.8,.45) both; }
.cf-modal-overlay { align-items:center; justify-content:center; padding:20px; }
.cf-bottom-sheet { position:relative; width:100%; max-height:calc(100% - 32px); overflow:auto; padding:14px 17px calc(20px + env(safe-area-inset-bottom)); border:1px solid #2a2018; border-bottom:0; border-radius:22px 22px 0 0; color:#e2ded4; background:#161512; box-shadow:0 -20px 40px -20px rgba(0,0,0,.6); }
.cf-sheet-handle { width:54px; height:18px; margin:-7px auto 7px; border-radius:999px; cursor:grab; touch-action:none; position:relative; }
.cf-sheet-handle::after { content:""; position:absolute; left:10px; right:10px; top:7px; height:4px; border-radius:999px; background:#3a352b; }
.cf-bottom-sheet { transition:transform .18s ease-out; will-change:transform; }
.cf-bottom-sheet.is-dragging { transition:none; }
.cf-bottom-sheet.is-dragging .cf-sheet-handle { cursor:grabbing; }
.cf-bottom-sheet.is-collapsing { transition:transform .18s ease-in; }
.cf-bottom-sheet header,.cf-card header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.cf-bottom-sheet h2,.cf-card h2 { margin:0; color:#f0f0f0; font:700 17px/1 'Comic Neue',cursive; }
.cf-bottom-sheet h3 { margin:0 0 9px; color:#7a766c; font:800 10.5px/1 Inter,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.cf-bottom-sheet .cf-icon,.cf-card .cf-icon { color:#8a8578; }
.cf-members-sheet { height:auto; max-height:calc(100% - 80px); display:flex; flex-direction:column; overflow:hidden; }
.cf-members-scroll { min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding-right:2px; scrollbar-width:none; -ms-overflow-style:none; }
.cf-members-scroll::-webkit-scrollbar { display:none; width:0; height:0; }
.cf-members-scroll .cf-member { min-height:42px; padding:2px 0; border:0; }
.cf-member .cf-avatar,.cf-request .cf-avatar { display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:50%; color:#6f6a60; background:#221f19; }
.cf-member .cf-avatar.has-pet,.cf-request .cf-avatar.has-pet { border-radius:0; background:transparent; }
.cf-member strong,.cf-request strong { color:#f0f0f0; font:700 13.5px/1.2 Inter,sans-serif; }
.cf-member small,.cf-request small { min-height:10px; margin-top:3px; color:#ffcf9e; font:600 10.5px/1 Inter,sans-serif; }
.cf-entry-options { display:flex; flex-direction:column; gap:8px; }
.cf-age-heading { margin-top:18px !important; }
.cf-age-gate-row { width:100%; min-height:64px; padding:11px 13px; display:flex; align-items:center; gap:11px; border:1.5px solid #262019; border-radius:13px; color:#5a564c; background:transparent; text-align:left; }
.cf-age-gate-row > i:first-child { flex:none; width:18px; color:#d3a85f; font-size:17px; }
.cf-age-gate-row > span { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.cf-age-gate-row strong { color:#f0f0f0; font:700 13px/1.2 Inter,sans-serif; }
.cf-age-gate-row small { color:#7a766c; font:400 11px/1.35 Inter,sans-serif; }
.cf-age-gate-row > i:last-child { flex:none; color:#7a766c; font-size:17px; }
.campfire-light .cf-age-gate-row { border-color:#e8d8bd; }
.campfire-light .cf-age-gate-row strong { color:#2a2118; }
.cf-radio-row { width:100%; display:flex; align-items:center; gap:11px; padding:11px 13px; border:1.5px solid #262019; border-radius:13px; text-align:left; color:#5a564c; background:transparent; }
.cf-radio-row.selected { border-color:#ff9d5c; color:#ff9d5c; background:rgba(255,157,92,.08); }
.cf-radio-row>i { font-size:18px; }.cf-radio-row>span { flex:1; display:flex; flex-direction:column; gap:3px; }.cf-radio-row strong { color:#e2ded4; font:700 13px/1.2 Inter,sans-serif; }.cf-radio-row small { color:#7a766c; font:400 11px/1.3 Inter,sans-serif; }
.cf-info,.cf-sheet-copy { color:#7a766c; font:400 11px/1.45 Inter,sans-serif; }.cf-sheet-copy { margin:-2px 0 16px; font-size:12.5px; }
.cf-sheet-count { position:absolute; top:46px; right:17px; padding:4px 10px; border-radius:999px; color:#ffcf9e; background:rgba(255,157,92,.14); font:700 12px/1 Inter,sans-serif; }
.cf-request-list { display:flex; flex-direction:column; gap:8px; }.cf-request { display:flex; align-items:center; gap:11px; }.cf-request>span:nth-child(2) { flex:1; display:flex; flex-direction:column; }.cf-request button { width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:9px; font-size:18px; }.cf-request .decline { color:#8a8578; background:transparent; }.cf-request .approve { color:#2b1305; background:#ff9d5c; }
.cf-extend-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }.cf-extend-cards button { padding:10px 3px 9px; border:1.5px solid #262019; border-radius:12px; color:#e2ded4; background:transparent; }.cf-extend-cards button.selected { border-color:#ff9d5c; color:#f0f0f0; background:rgba(255,157,92,.08); }.cf-extend-cards strong,.cf-extend-cards small { display:block; }.cf-extend-cards strong { font:700 13px/1 Inter,sans-serif; }.cf-extend-cards small { margin-top:5px; color:#8a8578; font:600 10.5px/1 Inter,sans-serif; }.cf-extend-cards .selected small { color:#ffcf9e; }.cf-bottom-sheet .cf-primary:disabled { opacity:.45; box-shadow:none; }
.cf-action-list { display:flex; flex-direction:column; }.cf-action-list button { min-height:48px; display:flex; align-items:center; gap:12px; padding:0 4px; border:0; border-bottom:1px solid #221f19; color:#e2ded4; background:transparent; font:700 14px/1 Inter,sans-serif; }.cf-action-list button:last-child { border-bottom:0; }.cf-action-list i { width:28px; color:#ffcf9e; font-size:18px; }.cf-action-list .danger,.cf-action-list .danger i { color:#e87979; }
.cf-card { width:min(100%,330px); padding:18px; border:1px solid #2a2018; border-radius:18px; color:#8a8578; background:#161512; box-shadow:0 24px 60px rgba(0,0,0,.65); }.cf-confirm-card p { margin:0 0 20px; font:400 13px/1.5 Inter,sans-serif; }.cf-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.cf-confirm-actions button { padding:12px; border:1px solid #302a22; border-radius:12px; color:#e2ded4; background:#1c1914; font-weight:700; }.cf-confirm-actions .cf-warm { border-color:#ff9d5c; color:#2b1305; background:#ff9d5c; }
.cf-note-card { text-align:center; }.cf-note-card>i { color:#ff9d5c; font-size:25px; }.cf-note-card p { margin:12px 0 16px; color:#e2ded4; font:600 15px/1.6 'Comic Neue',cursive; white-space:pre-wrap; }.cf-note-card small { color:#7a766c; }
.cf-note-editor { height:calc(100% - 58px); display:flex; flex-direction:column; padding:22px 17px calc(20px + env(safe-area-inset-bottom)); }.cf-note-editor label { margin-bottom:10px; color:#8a8578; font:600 12px/1 Inter,sans-serif; }.cf-note-editor textarea { flex:1; min-height:180px; resize:none; padding:15px; border:1px solid #2a2018; border-radius:14px; outline:0; color:#e2ded4; background:#0f0d0a; font:400 15px/1.6 Inter,sans-serif; }.cf-note-editor textarea:focus { border-color:#ff9d5c; }.cf-note-editor-meta { display:flex; justify-content:space-between; margin:9px 2px 18px; color:#7a766c; font:400 11px/1 Inter,sans-serif; }.cf-remove-note { margin-top:10px; padding:10px; border:0; color:#e87979; background:transparent; font-weight:700; }
@media (min-width:700px) { .cf-overlay { border-radius:inherit; overflow:hidden; } }
.cf-options { display: flex; flex-direction: column; }
.cf-request strong { flex: 1; }
.cf-request button { width: 34px; height: 34px; border: 1px solid var(--cf-border); border-radius: 10px; color: var(--cf-copy); background: #211b15; }
.cf-note-full { white-space: pre-wrap; line-height: 1.6; }
.cf-toast { position: absolute; z-index: 30; left: 50%; bottom: 76px; max-width: calc(100% - 32px); padding: 10px 14px; transform: translate(-50%,20px); border-radius: 10px; color: #111; background: #eee; opacity: 0; pointer-events: none; transition: .2s; text-align: center; }
.cf-toast.show { opacity: 1; transform: translate(-50%,0); }

@keyframes cf-fire-glow { 0%,100% { opacity:.65; transform:translateX(-50%) scale(1); } 55% { opacity:.9; transform:translateX(-50%) scale(1.07); } }
@keyframes cf-sheet-in { from { transform:translateY(28px); opacity:.7; } to { transform:translateY(0); opacity:1; } }
@keyframes cf-sheet-out { from { transform:translateY(0); opacity:1; } to { transform:translateY(28px); opacity:.7; } }
@keyframes cf-sheet-backdrop-in { from { background-color:rgba(0,0,0,0); } to { background-color:rgba(0,0,0,.62); } }
@keyframes cf-sheet-backdrop-out { from { background-color:rgba(0,0,0,.62); } to { background-color:rgba(0,0,0,0); } }

@media (min-width: 769px) {
    .campfire-screen {
        inset: 10px auto 10px 50%;
        width: 400px;
        height: calc(100dvh - 20px);
        transform: translateX(-50%);
        border-radius: 26px;
        box-shadow: 0 30px 72px -24px rgba(0,0,0,.58), 0 10px 28px -14px rgba(0,0,0,.42);
    }
}

@media (max-width: 768px) {
    .campfire-screen { height: 100dvh; }
}

@media (prefers-reduced-motion: reduce) {
    .campfire-screen::before { animation: none !important; }
    .cf-toast { transition: none; }
    .cf-sheet-overlay, .cf-sheet-overlay>.cf-bottom-sheet { animation-duration:1ms !important; }
}

/* Keep request controls above the legacy generic-row rules. */
.cf-request-list .cf-request>span:nth-child(2) { flex:1; }
.cf-request-list .cf-request button { width:30px; height:30px; border:0; }
.cf-request-list .cf-request .decline { color:#8a8578; background:transparent; }
.cf-request-list .cf-request .approve { color:#2b1305; background:#ff9d5c; }
.cf-list>.cf-primary:disabled { cursor:not-allowed; opacity:.45; filter:saturate(.35); box-shadow:none; }
.cf-action-list i { font-size:17px; font-weight:400; -webkit-font-smoothing:antialiased; }

/* Compact duration row from the room-menu reference. */
.cf-menu .cf-duration-card { margin:18px 0 22px; padding:0; display:flex; align-items:center; gap:11px; border:0; border-radius:0; background:transparent; }
.cf-duration-icon { flex:none; width:34px; height:34px; border-radius:10px; background:#221a12; }
.cf-pixel-fire { position:relative; display:block; overflow:hidden; }
.cf-pixel-fire i { position:absolute; width:3px; height:3px; opacity:1; }
.cf-pixel-fire i:nth-child(1) { left:11px; top:24px; background:#6e4522; }
.cf-pixel-fire i:nth-child(2) { left:14px; top:24px; background:#6e4522; }
.cf-pixel-fire i:nth-child(3) { left:17px; top:24px; background:#8a5a2f; }
.cf-pixel-fire i:nth-child(4) { left:20px; top:24px; background:#6e4522; }
.cf-pixel-fire i:nth-child(5) { left:23px; top:24px; background:#6e4522; }
.cf-pixel-fire i:nth-child(6) { left:11px; top:18px; background:#c73f16; animation:cf-pixel-flicker 1.1s ease-in-out infinite .05s; }
.cf-pixel-fire i:nth-child(7) { left:14px; top:18px; background:#e8672f; animation:cf-pixel-flicker .9s ease-in-out infinite .2s; }
.cf-pixel-fire i:nth-child(8) { left:17px; top:18px; background:#e8672f; animation:cf-pixel-flicker 1s ease-in-out infinite; }
.cf-pixel-fire i:nth-child(9) { left:20px; top:18px; background:#e8672f; animation:cf-pixel-flicker .85s ease-in-out infinite .15s; }
.cf-pixel-fire i:nth-child(10) { left:23px; top:18px; background:#c73f16; animation:cf-pixel-flicker 1.05s ease-in-out infinite .3s; }
.cf-pixel-fire i:nth-child(11) { left:14px; top:15px; background:#ff9d5c; animation:cf-pixel-flicker .75s ease-in-out infinite .1s; }
.cf-pixel-fire i:nth-child(12) { left:17px; top:15px; background:#ff9d5c; animation:cf-pixel-flicker .8s ease-in-out infinite .25s; }
.cf-pixel-fire i:nth-child(13) { left:20px; top:15px; background:#ff9d5c; animation:cf-pixel-flicker .7s ease-in-out infinite; }
.cf-pixel-fire i:nth-child(14) { left:14px; top:12px; background:#ffcf9e; animation:cf-pixel-flicker .65s ease-in-out infinite .15s; }
.cf-pixel-fire i:nth-child(15) { left:17px; top:12px; background:#ffe4bd; animation:cf-pixel-flicker .6s ease-in-out infinite; }
.cf-pixel-fire i:nth-child(16) { left:17px; top:9px; background:#fff2c9; animation:cf-pixel-flicker .55s ease-in-out infinite .05s; }
.cf-duration-copy { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.cf-duration-copy small { color:#9b876d; font:500 11px/1 Inter,sans-serif; }
.cf-duration-copy strong { color:#f0f0f0; font:700 16px/1 "Comic Neue",cursive; white-space:nowrap; }
.cf-menu .cf-duration-card > button { flex:none; width:auto; min-height:34px; margin:0; padding:9px 13px; display:flex; align-items:center; gap:6px; border:1px solid rgba(255,157,92,.38); border-radius:11px; color:#ffcf9e; background:rgba(255,157,92,.08); font:700 12px/1 Inter,sans-serif; }
.cf-menu .cf-duration-card > button i { font-size:14px; }
.campfire-light .cf-duration-copy strong { color:#2a2118; }
@keyframes cf-pixel-flicker { 0%,100% { opacity:1; } 50% { opacity:.45; } }

/* Reference frames 4h/4r/4s/4t: appearance, warnings, and burned-out room. */
.cf-appearance > div { grid-template-columns: repeat(3,minmax(0,1fr)); gap:9px; }
.cf-appearance button > strong { padding:9px 6px; font-size:11px; }
.cf-preview.light { background:#faf5ec; }
.cf-preview.light i { border:1px solid #ece2d1; background:#fff; }
.cf-preview.light b { background:#f4773d; }

.cf-warning-card { flex:0 0 auto; align-self:center; width:100%; overflow:hidden; border:1px solid rgba(255,157,92,.3); border-radius:16px; background:rgba(255,157,92,.08); }
.cf-warning-copy { padding:11px 15px; color:#ffcf9e; font:700 12.5px/1.5 "Comic Neue",cursive; text-align:center; }
.cf-log-action { display:flex; align-items:center; gap:9px; padding:10px 11px; border-top:1px solid rgba(255,157,92,.2); }
.cf-log-action.is-expired { opacity:.55; }
.cf-log-icon { flex:none; width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:#2b2118; font-size:17px; }
.cf-log-icon svg { width:22px; height:16px; display:block; }
.cf-log-copy { flex:1; min-width:0; display:flex; flex-direction:column; }
.cf-log-copy strong { color:#e2ded4; font:700 12px/1.2 Inter,sans-serif; }
.cf-log-copy > span { margin-top:4px; display:flex; align-items:center; gap:6px; color:#8a8578; font:500 10.5px/1.2 Inter,sans-serif; white-space:nowrap; }
.cf-log-copy b { display:flex; gap:3px; }
.cf-log-copy b i { width:7px; height:7px; display:block; border-radius:50%; background:#4a3a2c; }
.cf-log-copy b i.filled { background:#e8672f; box-shadow:0 0 5px rgba(232,103,47,.4); }
.cf-log-action > button { position:relative; flex:none; min-width:54px; padding:9px 10px; display:flex; align-items:center; justify-content:center; gap:3px; border:0; border-radius:9px; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); font:700 12px/1 "Comic Neue",cursive; }
.cf-log-action > button:disabled { border:1px solid #3a3026; color:#b69272; background:#251e18; }
.cf-log-countdown { position:absolute; top:-8px; right:-7px; padding:1px 5px; border:1px solid #4a3a28; border-radius:999px; color:#ffcf9e; background:#17130f; font:700 9px/1.4 Inter,sans-serif; }

.cf-chat-closed { flex:none; height:44px; margin:0 12px 12px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid #262626; border-radius:13px; color:#666; background:#161616; font:600 13px/1 Inter,sans-serif; }
.cf-burned-notice { align-self:center; max-width:88%; margin-top:6px; padding:11px 15px; border:1px solid #262626; border-radius:16px; color:#999; background:#161616; font:700 12.5px/1.5 "Comic Neue",cursive; text-align:center; }
.cf-burned-messages > :not(.cf-burned-notice) { opacity:.55; filter:grayscale(1); }
.campfire-screen.is-burned { --cf-bg:#0c0c0c; --cf-text:#8a8578; background:#0c0c0c !important; }
.campfire-screen.is-burned::before { display:none; }
.campfire-screen.is-burned .cf-header { border-bottom-color:#242424; background:#141414; }
.campfire-screen.is-burned .cf-fire-badge { background:#181818; box-shadow:none; filter:grayscale(1); opacity:.65; }
.campfire-screen.is-burned .cf-room-heading h1 { color:#8a8578; }
.campfire-screen.is-burned .cf-room-heading button { color:#666; }

.campfire-light { --cf-bg:#faf5ec; --cf-surface:#fffdf9; --cf-surface-soft:#fff6ea; --cf-border:#ece2d1; --cf-divider:#ece2d1; --cf-text:#2a2118; --cf-copy:#2a2118; --cf-muted:#8a7a63; --cf-dim:#8a7a63; background:#faf5ec; }
.campfire-screen[data-view="room"].campfire-light { background:#faf5ec; }
.campfire-light .cf-header, .campfire-screen[data-view="room"].campfire-light .cf-header { color:#2a2118; background:#fffdf9; border-bottom-color:#ece2d1; }
.campfire-light .cf-header .cf-icon, .campfire-light .cf-header > .cf-icon:not(:first-child), .campfire-light .cf-header h1 { color:#2a2118; }
.campfire-light .cf-fire-badge { background:#f3e6d2; box-shadow:none; }
.campfire-light .cf-room-heading button { color:#8a7a63; }
.campfire-light .cf-note { border-color:#e8d8bd; color:#2a2118; background:#f3e6d2; }
.campfire-light .cf-note small { color:#8a7a63; }
.campfire-light .cf-system { border-color:#e8d8bd; color:#8a7a63; background:#f3e6d2; }
.campfire-light .cf-message small { color:#8a7a63; }
.campfire-light .cf-message small.cf-username { color:#a85f1f; }
.campfire-light .cf-message .cf-avatar { box-shadow:none; background:#f3e6d2; }
.campfire-light .cf-message .cf-avatar.has-pet { background:transparent; }
.campfire-light .cf-message p { border-color:#ece2d1; color:#2a2118; background:#fff; }
.campfire-light .cf-message.mine p { border:0; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); }
.campfire-light .cf-message.has-reply-context .cf-message-body { border-color:#ece2d1; color:#2a2118; background:#fff; }
.campfire-light .cf-message.mine.has-reply-context .cf-message-body { border:0; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); }
.campfire-light .cf-message.has-reply-context .cf-message-body p { color:inherit; background:transparent; }
.campfire-light .cf-message:not(.mine) .cf-reply-quote { border-left-color:#e8672f; color:#2a2118; }
.campfire-light .cf-message:not(.mine) .cf-reply-quote strong { color:#a85f1f; }
.campfire-light .cf-message.mine .cf-reply-quote { border-right-color:rgba(43,19,5,.38); color:#2b1305; }
.campfire-light .cf-composer { background:#faf5ec; }
.campfire-light .cf-composer textarea { border-color:#ece2d1; color:#2a2118; background:#fff; }
.campfire-light .cf-composer textarea::placeholder { color:#a89878; }
.campfire-light .cf-composer button { color:#faf5ec; background:#2a2118; box-shadow:none; }
.campfire-light .cf-warning-card { border-color:#f0d9b8; background:#fff6ea; }
.campfire-light .cf-warning-copy { color:#a85f1f; }
.campfire-light .cf-log-action { border-top-color:#f0d9b8; }
.campfire-light .cf-log-icon { background:#f3e6d2; }
.campfire-light .cf-log-copy strong { color:#2a2118; }
.campfire-light .cf-log-copy > span { color:#8a7a63; }
.campfire-light .cf-log-copy b i { background:#e6d5b8; }
.campfire-light .cf-log-action > button:disabled { border-color:#f0d9b8; color:#a85f1f; background:#fbeedb; }
.campfire-light .cf-bottom-sheet, .campfire-light .cf-card { border-color:#e8d8bd; color:#2a2118; background:#fffdf9; }
.campfire-light .cf-bottom-sheet h2, .campfire-light .cf-card h2 { color:#2a2118; }

/* Reference frame 4q: Fireside Note bottom sheet. */
.cf-note-sheet { display:flex; flex-direction:column; gap:14px; }
.cf-note-sheet header { margin-bottom:0; }
.cf-note-sheet h2 { display:flex; align-items:center; gap:9px; }
.cf-note-sheet h2 i { color:#ffcf9e; font-size:17px; }
.cf-note-sheet > p { margin:0; color:#8a8578; font:400 12.5px/1.5 Inter,sans-serif; }
.cf-note-sheet form { display:flex; flex-direction:column; gap:10px; }
.cf-note-sheet textarea { width:100%; min-height:128px; padding:13px 14px; resize:none; overflow-y:auto; scrollbar-width:none; -ms-overflow-style:none; border:1.5px solid #ff9d5c; border-radius:14px; outline:0; color:#e2ded4; background:#0f0d0a; box-shadow:0 0 0 3px rgba(255,157,92,.14); font:400 14px/1.6 Inter,sans-serif; }
.cf-note-sheet textarea::-webkit-scrollbar { display:none; width:0; height:0; }
.cf-note-count { color:#7a766c; font:600 11px/1 Inter,sans-serif; text-align:right; }
.cf-note-actions { display:flex; gap:9px; }
.cf-note-actions > button:first-child { flex:1; padding:13px 8px; border:1px solid #2a2018; border-radius:14px; color:#8a8578; background:transparent; font-weight:700; }
.cf-note-actions .cf-primary { flex:2; min-height:44px; padding:13px 8px; border-radius:14px; font-size:15px; }
.cf-note-view-card { width:min(100%,330px); padding:18px 19px 17px; border:1px solid #362d21; border-radius:20px; color:#e2ded4; background:#1e1a15; box-shadow:0 24px 56px -16px rgba(0,0,0,.65); }
.cf-note-view-card header { margin-bottom:13px; }
.cf-note-view-card h2 { display:flex; align-items:center; gap:9px; font-size:16px; }
.cf-note-view-card h2 i { color:#ffcf9e; font-size:17px; }
.cf-note-close { flex:none; width:26px; height:26px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; color:#a39d90; background:#262019; font-size:17px; }
.cf-note-view-card > p { margin:0 0 16px; color:#e2ded4; font:400 14px/1.6 Inter,sans-serif; white-space:pre-wrap; }
.cf-note-view-card footer { display:flex; align-items:center; gap:8px; }
.cf-note-view-card footer>.cf-avatar { width:20px; height:20px; flex:none; border-radius:6px; font-size:12px; }
.cf-note-view-card small { color:#8a8578; font:600 11px/1 Inter,sans-serif; }
.campfire-light .cf-note-sheet h2 i { color:#e8672f; }
.campfire-light .cf-note-sheet > p, .campfire-light .cf-note-count { color:#8a7a63; }
.campfire-light .cf-note-sheet textarea { color:#2a2118; background:#fff; }
.campfire-light .cf-note-view-card { border-color:#e8d8bd; color:#2a2118; background:#fffdf9; }
.campfire-light .cf-note-view-card h2,.campfire-light .cf-note-view-card > p { color:#2a2118; }
.campfire-light .cf-note-view-card h2 i { color:#e8672f; }
.campfire-light .cf-note-close,.campfire-light .cf-note-view-card footer>.cf-avatar { color:#8a7a63; background:#f3e6d2; }

/* Reference frames 6a–6d: Fireside Question. */
.cf-question-editor-overlay { align-items:flex-start; padding:70px 22px 20px; }
.cf-question-editor { width:100%; padding:18px 19px 17px; border-color:#362d21; border-radius:20px; background:#1e1a15; box-shadow:0 24px 56px -16px rgba(0,0,0,.65); }
.cf-question-editor header { margin-bottom:14px; }
.cf-question-editor h2,.cf-question-sheet h2 { display:flex; align-items:center; gap:9px; }
.cf-question-editor h2 i,.cf-question-sheet h2 i { color:#ffcf9e; font-size:17px; }
.cf-question-editor form { display:flex; flex-direction:column; gap:14px; }
.cf-question-editor textarea { width:100%; min-height:66px; max-height:130px; resize:none; padding:13px 14px; border:1.5px solid #ff9d5c; border-radius:14px; outline:0; color:#e2ded4; background:#141110; box-shadow:0 0 0 3px rgba(255,157,92,.14); font:400 14px/1.6 Inter,sans-serif; }
.cf-question-timing { display:flex; align-items:center; gap:9px; }
.cf-question-timing>span { flex:none; color:#8a8578; font:600 12px/1.3 Inter,sans-serif; }
.cf-question-stepper { flex:none; padding:6px 7px; display:flex; align-items:center; gap:7px; border:1px solid #2a2018; border-radius:11px; background:#141110; transition:opacity .15s; }
.cf-question-stepper.is-disabled { opacity:.35; }
.cf-question-stepper button { width:24px; height:24px; padding:0; border:1px solid #2a2018; border-radius:7px; color:#e2ded4; background:#1c1811; font:700 14px/1 Inter,sans-serif; }
.cf-question-stepper b { min-width:43px; color:#f0f0f0; font:700 13px/1 'Comic Neue',cursive; text-align:center; white-space:nowrap; }
.cf-question-never { flex:1; min-width:0; padding:6px 4px; border:0; border-radius:8px; color:#7a766c; background:transparent; font:600 11.5px/1.3 Inter,sans-serif; text-decoration:underline; text-decoration-color:#3a352b; }
.cf-question-never.selected { padding-inline:11px; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); font-weight:700; text-decoration:none; }
.cf-question-actions { display:flex; gap:9px; margin-top:2px; }
.cf-question-actions button { padding:12px 0; border-radius:14px; font-weight:700; }
.cf-question-actions button:first-child { flex:1; border:1px solid #362d21; color:#a39d90; background:transparent; font:700 14px/1 Inter,sans-serif; }
.cf-question-actions button:last-child { flex:2; border:0; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); font:700 15px/1 'Comic Neue',cursive; }
.cf-question-sheet-overlay>.cf-question-sheet { height:calc(100% - 96px); max-height:none; display:flex; flex-direction:column; overflow:hidden; }
.cf-question-sheet header { flex:none; margin:12px 0 0; }
.cf-question-text { flex:none; margin-top:9px; color:#e2ded4; font:700 13px/1.4 'Comic Neue',cursive; }
.cf-question-meta { flex:none; margin-top:8px; display:flex; align-items:center; gap:7px; }
.cf-question-meta span { color:#e9c46a; font:600 10.5px/1 Inter,sans-serif; }
.cf-question-meta small { color:#7a766c; font:600 11px/1 Inter,sans-serif; }
.cf-question-rule { height:1px; flex:none; margin:13px 0 4px; background:#221f19; }
.cf-question-answers { flex:1; min-height:0; padding-top:8px; display:flex; flex-direction:column; gap:12px; overflow-y:auto; scrollbar-width:none; }
.cf-question-answers::-webkit-scrollbar { display:none; }
.cf-question-answer { display:flex; gap:9px; }
.cf-question-answer>.cf-avatar { width:22px; height:22px; flex:none; }
.cf-question-answer>div { flex:1; min-width:0; }
.cf-question-answer small { display:block; margin-bottom:3px; color:#8a8578; font:600 11px/1 Inter,sans-serif; }
.cf-question-answer small.cf-username { color:#6fb8c9; }
.cf-question-answer p { margin:0; color:#e2ded4; font:400 13px/1.4 Inter,sans-serif; white-space:pre-wrap; }
.cf-question-empty { margin:auto; color:#7a766c; font:400 12px/1.4 Inter,sans-serif; }
.cf-question-composer { flex:none; padding-top:12px; display:flex; align-items:center; gap:9px; }
.cf-question-composer input { height:44px; flex:1; min-width:0; padding:0 14px; border:1px solid #262626; border-radius:13px; outline:0; color:#e2ded4; background:#1a1a1a; font:400 14px/1 Inter,sans-serif; }
.cf-question-composer input::placeholder { color:#5a5a5a; }
.cf-question-composer button { width:48px; height:44px; flex:none; border:0; border-radius:13px; color:#2b1305; background:linear-gradient(155deg,#ff9d5c,#e8672f); font-size:17px; }
.cf-question-remove { flex:none; align-self:center; margin:8px 0 -8px; padding:6px 10px; border:0; color:#e87979; background:transparent; font:600 11px/1 Inter,sans-serif; }
.campfire-light .cf-pinned-segment>i,.campfire-light .cf-question-editor h2 i,.campfire-light .cf-question-sheet h2 i { color:#e8672f; }
.campfire-light .cf-question-editor { border-color:#e8d8bd; background:#fffdf9; }
.campfire-light .cf-question-editor textarea,.campfire-light .cf-question-composer input { border-color:#e8d8bd; color:#2a2118; background:#fff; }
.campfire-light .cf-question-stepper { border-color:#e8d8bd; background:#fff6ea; }
.campfire-light .cf-question-stepper button { border-color:#e8d8bd; color:#2a2118; background:#fff; }
.campfire-light .cf-question-stepper b,.campfire-light .cf-question-text,.campfire-light .cf-question-answer p { color:#2a2118; }
.campfire-light .cf-question-rule { background:#ece2d1; }

/* Last Card — ported from the Wildfire motion reference. */
@keyframes cf-lc-play { 0%{transform:translateY(-5px) scale(.94);opacity:0}60%{opacity:1}100%{transform:none;opacity:1} }
@keyframes cf-lc-draw { 0%{transform:translate(-48px,-92px) rotate(-22deg) scale(.5);opacity:0}28%{opacity:1}66%{transform:translate(5px,-30px) rotate(7deg) scale(1.16)}86%{transform:translate(-2px,-11px) rotate(-2deg) scale(1.02)}100%{transform:none;opacity:1} }
@keyframes cf-lc-draw-press { 30%{transform:scale(.88) translateY(3px)}62%{transform:scale(1.05)} }
@keyframes cf-lc-draw-glow { 0%{opacity:0;transform:scale(.6)}30%{opacity:.9}100%{opacity:0;transform:scale(1.5)} }
@keyframes cf-lc-picker-in { from{transform:translateY(34px);opacity:0}to{transform:none;opacity:1} }
@keyframes cf-lc-spin { to{transform:rotate(360deg)} }
@keyframes cf-lc-lift { 0%,100%{transform:translateY(-11px)}50%{transform:translateY(-16px)} }
@keyframes cf-lc-pulse { 0%,100%{box-shadow:0 0 0 3px #ff9d5c,0 0 16px -2px rgba(255,157,92,.75)}50%{box-shadow:0 0 0 5px #ffcf9e,0 0 26px rgba(255,157,92,.9)} }
@keyframes cf-lc-burst { 0%{transform:scale(.25);opacity:0}55%{transform:scale(1.2);opacity:1}100%{transform:scale(1);opacity:1} }
@keyframes cf-lc-sheen { from{transform:translateX(-160%) rotate(18deg)}to{transform:translateX(420%) rotate(18deg)} }
@keyframes cf-lc-join { 0%{transform:scale(.3) translateY(10px);opacity:0}62%{transform:scale(1.12);opacity:1}100%{transform:none;opacity:1} }
@keyframes cf-lc-deck-pulse { 50%{box-shadow:0 8px 30px -2px rgba(232,103,47,.9)} }
.cf-game-choice>span.cf-last-card-choice-icon { border:1px solid #34281f;border-radius:50%;background:#1b1714; }
.cf-last-card-icon { position:relative;width:24px;height:26px;display:block; }
.cf-last-card-icon i,.cf-last-card-icon b { position:absolute;width:11px;height:18px;border:0;border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.34);font-style:normal; }
.cf-last-card-icon i { left:5px;top:4px;transform:rotate(-13deg);background:#3a2c1a;border:1px solid #5a4326; }.cf-last-card-icon b { right:4px;top:4px;transform:rotate(11deg);background:linear-gradient(160deg,#ffcf9e,#e8672f); }
.cf-lc-panel { position:relative;max-height:430px;padding:0 13px 13px;border-color:#2a2018;border-radius:20px;background:#171310;color:#e2ded4;box-shadow:0 -14px 34px -14px rgba(0,0,0,.6); }
.cf-lc-panel .cf-game-header { padding-bottom:10px; }.cf-lc-panel .cf-game-header>strong { margin-right:auto;color:#f0f0f0;font-style:normal;font-family:"Comic Neue",cursive; }
.cf-lc-panel .cf-game-header>span { color:#8a857b;background:#141110;border-color:#2a2018; }.cf-lc-panel .cf-game-header>span.is-my-turn { color:#ffcf9e;border-color:#3a2c1a;background:#241d15; }
.cf-lc-panel .cf-game-header>em { display:flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #6f3720;border-radius:999px;color:#ffcf9e;background:#2a1710;font:700 9px/1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em; }
.cf-lc-panel .cf-game-content { overflow-x:hidden; }.cf-lc-panel.is-full { max-height:none;padding:0 15px 14px; }.cf-lc-panel.is-full .cf-game-content { flex:1;min-height:0;display:flex;flex-direction:column; }
.cf-lc-roster { position:relative;min-height:52px;padding:18px 30px 7px 0;display:grid;grid-template-columns:repeat(var(--roster-count),minmax(28px,1fr));align-items:center;gap:0;overflow:visible; }.cf-lc-roster::-webkit-scrollbar,.cf-lc-hand::-webkit-scrollbar{display:none}
.cf-lc-roster>div { position:relative;width:100%;min-width:0;display:flex;align-items:center;justify-content:center;opacity:.65;transition:opacity .35s,filter .35s; }
.cf-lc-roster>div.is-current { opacity:1;filter:drop-shadow(0 0 6px rgba(255,157,92,.9)); }
.cf-lc-roster>div.is-safe { opacity:.5;filter:saturate(.55); }
.cf-lc-roster .cf-avatar { width:28px;height:28px;flex:none;display:grid;place-items:center;overflow:hidden;border:1px solid #40362d;border-radius:9px;background:#211c18;font-size:13px; }.cf-lc-roster .cf-avatar.has-pet{border-color:transparent;background:transparent;box-shadow:none}.cf-lc-roster .cf-avatar:not(.has-pet){box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}.cf-lc-roster .cf-avatar>i{color:#8a857b;font-size:14px}.cf-lc-roster .cf-lc-player-copy { display:none; }
.cf-lc-roster>div>b { position:absolute;left:calc(50% + 7px);bottom:0;min-width:17px;padding:2px 4px;border:1px solid #3a2c1a;border-radius:999px;color:#e8e8e8;background:#241d15;font:800 9px/1 Inter,sans-serif;text-align:center;font-style:normal; }
.cf-lc-roster>div>b i{color:inherit;font-size:10px}.cf-lc-roster>div:not(.is-safe):has(>b .ri-fire-fill)>b{color:#3a2c08;border-color:#e9c46a;background:#e9c46a}.cf-lc-roster>div.is-safe>b{color:#d5eee0;border-color:#355846;background:#16231c}
.cf-lc-roster>div>em { position:absolute;z-index:2;left:50%;top:-15px;max-width:calc(100% + 18px);padding:2px 6px;overflow:hidden;border-radius:999px;color:#2b1305;background:#ff9d5c;box-shadow:0 2px 6px rgba(0,0,0,.4);font:700 8.5px/1 "Comic Neue",cursive;font-style:normal;text-overflow:ellipsis;white-space:nowrap;transform:translateX(-50%); }
.cf-lc-direction { position:absolute;right:0;top:21px;width:21px;height:21px;display:grid;place-items:center;border:1px solid #2a2018;border-radius:50%;color:#ff9d5c;background:#141110; }
.cf-lc-direction i { animation:cf-lc-spin 3.5s linear infinite; }.cf-lc-direction .ri-loop-left-line { animation-direction:reverse; }
.cf-lc-table { min-height:112px;display:flex;align-items:center;justify-content:center;gap:34px;padding:8px 0 9px;perspective:600px; }
.cf-lc-card { position:relative;width:56px;height:78px;flex:none;padding:0;border:2px solid rgba(255,255,255,.28);border-radius:11px;color:#fff;background:#e8672f;box-shadow:0 8px 18px -4px rgba(0,0,0,.6);font-family:Inter,sans-serif;overflow:hidden; }
.cf-lc-card.is-ember{background:#e8672f}.cf-lc-card.is-pine{background:#5a9e6f}.cf-lc-card.is-night{background:#5b7fb0}.cf-lc-card.is-gold{background:#e9c46a;color:#3a2c08}.cf-lc-card.is-wild{background:#161616}
.cf-lc-card>small { position:absolute;z-index:2;left:7px;top:5px;color:inherit;font:800 11px/1 Inter,sans-serif; }.cf-lc-card>span { position:absolute;z-index:2;inset:0;display:grid;place-items:center;font-size:24px; }.cf-lc-card>span>b{font:800 36px/1 "Comic Neue",cursive}
.cf-lc-card.is-wide-value>span>b{font-size:22px}
.cf-lc-wild-mark { width:27px;height:27px;display:grid;grid-template:1fr 1fr/1fr 1fr;border-radius:7px;overflow:hidden;transform:rotate(7deg); }.cf-lc-wild-mark b:nth-child(1){background:#e8672f}.cf-lc-wild-mark b:nth-child(2){background:#5a9e6f}.cf-lc-wild-mark b:nth-child(3){background:#5b7fb0}.cf-lc-wild-mark b:nth-child(4){background:#e9c46a}
.cf-lc-plus-four { position:absolute;z-index:3!important;right:7px;bottom:7px;inset:auto!important;color:#fff;font:800 11px/1 Inter,sans-serif;text-shadow:0 1px 2px #000; }
.cf-lc-discard { display:flex;flex-direction:column;align-items:center;gap:6px; }.cf-lc-discard>.cf-lc-card { animation:cf-lc-play .35s ease-out;box-shadow:0 0 0 4px rgba(255,157,92,.18),0 8px 18px -4px rgba(0,0,0,.6); }
.cf-lc-discard>small { max-width:132px;color:#b5aea0;font:700 9px/1.25 Inter,sans-serif;text-align:center; }
.cf-lc-discard>small>b{font:inherit}.cf-lc-discard>small>b.is-ember{color:#e8672f}.cf-lc-discard>small>b.is-pine{color:#5a9e6f}.cf-lc-discard>small>b.is-night{color:#7fa6d8}.cf-lc-discard>small>b.is-gold{color:#e9c46a}
.cf-lc-draw { padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:#ff9d5c; }.cf-lc-draw:disabled{opacity:.55}
.cf-lc-draw>span { position:relative;width:48px;height:68px;display:block;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3)); }.cf-lc-draw>span>i,.cf-lc-draw>span>b,.cf-lc-draw>span>em { position:absolute;inset:0;border:1.5px solid #3a2c1a;border-radius:9px; }
.cf-lc-draw>span>i{transform:translate(4px,4px);background:#241d15}.cf-lc-draw>span>b{transform:translate(2px,2px);background:#201a13}.cf-lc-draw>span>em{display:grid;place-items:center;color:#5a4326;background:#1c1712;font-style:normal}.cf-lc-draw>span>em>i{font-size:20px}
.cf-lc-draw:not(:disabled)>span{filter:drop-shadow(0 0 8px rgba(255,157,92,.45))}.cf-lc-draw:not(:disabled):active>span,.cf-lc-draw.is-just-drawn>span{animation:cf-lc-draw-press .5s cubic-bezier(.35,1.4,.5,1)}.cf-lc-draw>small{font:700 9px/1 Inter,sans-serif}
.cf-lc-draw>span>u{position:absolute;z-index:-1;inset:-8px;border-radius:14px;background:radial-gradient(circle,rgba(255,157,92,.55),transparent 68%);animation:cf-lc-draw-glow .6s ease-out;text-decoration:none}
.cf-lc-hand { min-height:87px;padding:20px 12px 2px;display:flex;align-items:flex-end;justify-content:center;overflow-x:auto;scrollbar-width:none;scroll-padding:20px; }
.cf-lc-hand .cf-lc-card { width:40px;height:58px;margin-left:-10px;border-radius:8px;transition:transform .16s,opacity .2s;box-shadow:0 7px 15px -5px rgba(0,0,0,.65); }.cf-lc-hand .cf-lc-card:first-child{margin-left:0}
.cf-lc-hand .cf-lc-card:disabled{opacity:1;filter:brightness(.62) saturate(.9)}.cf-lc-hand .cf-lc-card.is-playable{cursor:pointer;animation:cf-lc-lift 1.8s ease-in-out infinite;z-index:2;box-shadow:0 10px 18px -6px rgba(0,0,0,.6)}.cf-lc-hand .cf-lc-card.is-drawn{animation:cf-lc-draw .75s ease-out both;z-index:6}.cf-lc-hand .cf-lc-card.is-flying-source{opacity:.12}
.cf-lc-hand .cf-lc-card>small{left:5px;top:3px;font-size:8px}.cf-lc-hand .cf-lc-card>span>b{font-size:21px}.cf-lc-hand .cf-lc-card.is-wide-value>span>b{font-size:15px}.cf-lc-hand .cf-lc-wild-mark{width:24px;height:24px;border-radius:6px}
.cf-lc-picker { padding:7px 2px 2px;animation:cf-lc-picker-in .4s ease-out; }.cf-lc-picker>strong{display:block;margin-bottom:4px;color:#ffcf9e;font:700 12px/1 "Comic Neue",cursive;text-align:center}.cf-lc-picker>p{margin:0 0 10px;color:#a39d90;font:400 11px/1.4 Inter,sans-serif;text-align:center}
.cf-lc-picker>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cf-lc-picker>div button{padding:11px 12px;display:flex;align-items:center;gap:9px;border:0;border-radius:13px;color:#fff;font:700 13px/1 "Comic Neue",cursive;transition:opacity .3s,transform .18s,box-shadow .2s}
.cf-lc-picker>div button i{width:15px;height:15px;border-radius:5px;background:rgba(255,255,255,.85)}.cf-lc-picker .is-ember{background:#e8672f}.cf-lc-picker .is-pine{background:#5a9e6f}.cf-lc-picker .is-night{background:#5b7fb0}.cf-lc-picker .is-gold{color:#3a2c08;background:#e9c46a}.cf-lc-picker .is-gold i{background:rgba(58,44,8,.7)}
.cf-lc-picker>div button em{margin-left:auto;opacity:0;font-size:16px}.cf-lc-picker>div button.is-selected{z-index:1;box-shadow:0 0 0 3px rgba(255,157,92,.7);transform:scale(1.04)}.cf-lc-picker>div button.is-selected em{opacity:1}
.cf-lc-safe-watch,.cf-lc-no-contest { min-height:75px;padding:12px;display:grid;place-items:center;gap:3px;text-align:center;border:1px solid #355846;border-radius:13px;background:#16231c; }.cf-lc-safe-watch>i{color:#6fb58a;font-size:20px}.cf-lc-safe-watch strong{color:#d5eee0;font:700 13px/1 "Comic Neue",cursive}.cf-lc-safe-watch span,.cf-lc-no-contest p{color:#849e8d;font:500 10px/1.35 Inter,sans-serif}
.cf-lc-panel.is-final-duel { border-color:#ff9d5c;animation:cf-lc-pulse 1.5s ease-in-out infinite; }.cf-lc-collapsed.is-final-duel{border-color:#ff9d5c;background:#241710}
.cf-lc-results { position:relative;overflow:hidden;padding:2px 0 5px; }.cf-lc-results::after{content:"";position:absolute;top:-40px;bottom:-40px;width:24px;background:rgba(255,255,255,.12);filter:blur(2px);animation:cf-lc-sheen 1.5s .35s ease-out both;pointer-events:none}
.cf-lc-result-banner{display:flex;align-items:center;gap:11px;margin-bottom:11px}.cf-lc-result-banner>div:last-child{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.cf-lc-result-burst{width:40px;height:44px;flex:none;display:grid;place-items:center;color:#ff9d5c;background:none;filter:drop-shadow(0 3px 10px rgba(232,103,47,.6));font-size:38px;animation:cf-lc-burst .55s cubic-bezier(.25,1.5,.5,1)}
.cf-lc-results h3{margin:0;color:#f0f0f0;font:800 16px/1.05 "Comic Neue",cursive}.cf-lc-result-banner p{margin:0;color:#a39d90;font:400 10.5px/1.3 Inter,sans-serif}.cf-lc-earned{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid #ff9d5c;border-radius:999px;color:#ffcf9e;background:#241d15;font:800 10px/1 "Comic Neue",cursive;font-style:normal}
.cf-lc-standings{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.cf-lc-standings strong{color:#8a857b;font:600 9px/1 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase}.cf-lc-standings span{color:#5a5650;font:400 9px/1 Inter,sans-serif}.cf-lc-result-list{max-height:128px;overflow-y:auto;scrollbar-width:none}.cf-lc-result-list::-webkit-scrollbar{display:none}
.cf-lc-result-row { position:relative;margin-top:3px;padding:4px 9px;display:grid;grid-template-columns:14px 20px minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid #2a2018;border-radius:9px;background:#141110;text-align:left; }
.cf-lc-result-row>b{color:#8a857b;font:800 11px/1 Inter,sans-serif;text-align:center}.cf-lc-result-row>.cf-avatar{width:24px;height:24px}.cf-lc-result-row>strong{color:#e2ded4;font:700 10px/1 Inter,sans-serif}.cf-lc-result-row>span{color:#7a766c;font:600 8px/1 Inter,sans-serif}.cf-lc-result-row>em{padding:3px 5px;border-radius:999px;color:#ffcf9e;background:#2a1b12;font:700 9px/1 Inter,sans-serif}
.cf-lc-result-row.is-winner{border-color:#ff9d5c;background:#1e1710}.cf-lc-result-row.is-loser{opacity:.65}.cf-lc-result-row.is-loser>span{color:#d77b72}
.cf-lc-flight{position:fixed;z-index:10020;pointer-events:none;transform-origin:top left;transition:transform .48s cubic-bezier(.22,.78,.26,1);filter:drop-shadow(0 14px 22px rgba(0,0,0,.55))}.cf-lc-flight>.cf-lc-card{width:100%;height:100%}.cf-lc-flight.is-active{will-change:transform}
.cf-lc-deal-deck{position:absolute;left:50%;top:45%;width:40px;height:58px;display:grid;place-items:center;border:1.5px solid #5a4326;border-radius:9px;color:#8a6a2e;background:#1c1712;box-shadow:0 8px 22px -6px rgba(232,103,47,.55);transform:translate(-50%,-50%);animation:cf-lc-deck-pulse .8s ease-in-out infinite}
.cf-lc-no-contest{border-color:#3a3025;background:#171310}.cf-lc-no-contest>i{color:#8a857b;font-size:24px}.cf-lc-no-contest h3{margin:0;color:#e2ded4;font:700 16px/1 "Comic Neue",cursive}.cf-lc-no-contest p{margin:0;color:#8a857b}
.cf-lc-collapsed>i{color:#ff9d5c}
.campfire-light .cf-lc-panel{border-color:#2a2018;color:#e2ded4;background:#171310}.campfire-light .cf-lc-panel .cf-game-header>strong,.campfire-light .cf-lc-results h3,.campfire-light .cf-lc-result-row>strong{color:#f0f0f0}.campfire-light .cf-lc-panel .cf-game-copy{color:#a39d90}.campfire-light .cf-lc-panel .cf-game-primary{color:#2b1305}
@media (prefers-reduced-motion:reduce){.cf-lc-card,.cf-lc-direction i,.cf-lc-hand .cf-lc-card,.cf-lc-panel,.cf-lc-result-burst,.cf-lc-results::after,.cf-lc-roster>div,.cf-lc-deal-deck,.cf-lc-flight,.cf-lc-draw>span,.cf-lc-draw>span>u{animation:none!important;transition:none!important}}

/* Shared 1e lobby and one-shot Last Card states. */
.cf-shared-lobby{padding:0 14px 14px;border-color:#2a2018;border-radius:20px;background:#171310;color:#e2ded4}
.cf-shared-lobby>header{min-height:35px;display:flex;align-items:center;gap:7px}
.cf-shared-lobby>header>strong{margin-right:auto;color:#f0f0f0;font:700 14px/1 "Comic Neue",cursive}
.cf-shared-lobby-host{display:flex;align-items:center;gap:4px;color:#ffb06f;font:700 9px/1 Inter,sans-serif}.cf-shared-lobby-host i{font-size:11px}
.cf-shared-lobby .cf-game-content>p{margin:1px 3px 12px;color:#a39d90;font:400 11px/1.38 Inter,sans-serif}
.cf-shared-lobby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 7px}
.cf-shared-lobby-seat{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.cf-shared-lobby-seat>span{position:relative;width:44px;height:44px;display:grid;place-items:center;border:1px solid #3a2c1a;border-radius:13px;background:#201a15}
.cf-shared-lobby-seat .cf-avatar{width:40px;height:40px;border-radius:11px}.cf-shared-lobby-seat .cf-avatar>i{color:#8a857b}
.cf-shared-lobby-seat>span>b{position:absolute;left:50%;bottom:-3px;padding:2px 4px;border-radius:4px;color:#2b1305;background:#e9c46a;font:800 6px/1 Inter,sans-serif;transform:translateX(-50%)}
.cf-shared-lobby-seat>small{max-width:62px;overflow:hidden;color:#a39d90;font:600 9px/1 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.cf-shared-lobby-seat.is-me>span{border-color:#ff9d5c;box-shadow:0 0 0 2px rgba(255,157,92,.13)}.cf-shared-lobby-seat.is-me>small{color:#ffcf9e}
.cf-shared-lobby-seat.is-open>span{border:1px dashed #44382d;color:#5d5146;background:transparent}.cf-shared-lobby-seat.is-open>small{color:#5f5850}
.cf-shared-lobby-seat.is-new-player{animation:cf-lc-join .5s cubic-bezier(.34,1.5,.5,1)}
.cf-shared-lobby-count{margin:12px 0 10px;display:flex;align-items:center;justify-content:center;gap:4px;color:#8a857b;font:600 10px/1 Inter,sans-serif}
.cf-shared-lobby-count>i{width:6px;height:6px;border-radius:50%;background:#5a9e6f;box-shadow:0 0 6px rgba(90,158,111,.7)}.cf-shared-lobby-count>b{color:#c8c2b6}
.cf-shared-lobby-actions{display:flex;gap:8px}.cf-shared-lobby-actions>button{min-height:38px;flex:1;border:0;border-radius:12px;color:#2b1305;background:linear-gradient(155deg,#ffad70,#e8672f);font:700 13px/1 "Comic Neue",cursive}
.cf-shared-lobby-actions>button.secondary{border:1px solid #3a3025;color:#aaa298;background:#1b1714}.cf-shared-lobby-actions>button:disabled{color:#6d5d4e;background:#2a2119;opacity:.7}

.cf-lc-panel .cf-game-content{overflow-x:clip;overflow-y:visible}
.cf-lc-discard>.cf-lc-card{animation:none}.cf-lc-discard.is-action-play>.cf-lc-card{animation:cf-lc-play .35s ease-out}
@keyframes cf-lc-hand-open{from{transform:translate(-90px,-78px) rotate(-18deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
.cf-lc-hand.is-opening>.cf-lc-card{animation:cf-lc-hand-open .42s cubic-bezier(.2,.75,.3,1) both}.cf-lc-hand.is-opening>.cf-lc-card:nth-child(2){animation-delay:45ms}.cf-lc-hand.is-opening>.cf-lc-card:nth-child(3){animation-delay:90ms}.cf-lc-hand.is-opening>.cf-lc-card:nth-child(4){animation-delay:135ms}.cf-lc-hand.is-opening>.cf-lc-card:nth-child(5){animation-delay:180ms}.cf-lc-hand.is-opening>.cf-lc-card:nth-child(6){animation-delay:225ms}.cf-lc-hand.is-opening>.cf-lc-card:nth-child(7){animation-delay:270ms}

@keyframes cf-lc-deal-scene{0%{transform:translate(-50%,-50%) rotate(0) scale(.7);opacity:0}22%{opacity:1}100%{transform:translate(calc(-50% + var(--deal-x)),calc(-50% + var(--deal-y))) rotate(var(--deal-r));opacity:1}}
.cf-lc-deal-scene{min-height:220px}.cf-lc-deal-scene .cf-game-content{display:flex;flex-direction:column;align-items:center}
.cf-lc-deal-stage{position:relative;width:236px;height:120px;margin-top:1px}
.cf-lc-deal-stage>.cf-lc-deal-deck{left:50%;top:42%;animation:cf-lc-deck-pulse .8s ease-in-out infinite}
.cf-lc-deal-stage>i{position:absolute;z-index:2;left:50%;top:42%;width:38px;height:55px;border:1.5px solid rgba(255,255,255,.26);border-radius:8px;box-shadow:0 7px 14px -4px rgba(0,0,0,.6);animation:cf-lc-deal-scene .72s calc(var(--deal-index)*55ms + var(--deal-elapsed)) cubic-bezier(.2,.75,.3,1) both}
.cf-lc-deal-stage>i.is-ember{background:#e8672f}.cf-lc-deal-stage>i.is-pine{background:#5a9e6f}.cf-lc-deal-stage>i.is-night{background:#5b7fb0}.cf-lc-deal-stage>i.is-gold{background:#e9c46a}
.cf-lc-deal-scene .cf-game-content>strong{color:#ffcf9e;font:700 12px/1 "Comic Neue",cursive}.cf-lc-deal-scene .cf-game-content>p{margin:5px 0 0;color:#7f786e;font:400 10px/1 Inter,sans-serif}

.cf-lc-picker-panel{min-height:286px;padding:22px 16px 16px;border-color:#2a2018;border-radius:20px;background:#171310}
.cf-lc-picker-panel .cf-game-content{overflow:visible}.cf-lc-picker-card{position:relative;width:56px;height:78px;margin:0 auto 12px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.28);border-radius:11px;color:#fff;background:#161616;box-shadow:0 8px 18px -4px rgba(0,0,0,.6);font-size:24px;animation:cf-lc-picker-in .35s ease-out}
.cf-lc-picker-card.is-ember{background:#e8672f}.cf-lc-picker-card.is-pine{background:#5a9e6f}.cf-lc-picker-card.is-night{background:#5b7fb0}.cf-lc-picker-card.is-gold{color:#3a2c08;background:#e9c46a}
.cf-lc-picker-panel .cf-lc-picker{padding:0}.cf-lc-picker>div button.is-dimmed{opacity:.28}.cf-lc-picker>div button:disabled{cursor:default}

@media (prefers-reduced-motion:reduce){.cf-shared-lobby-seat,.cf-lc-deal-stage>i,.cf-lc-picker-card,.cf-lc-hand.is-opening>.cf-lc-card{animation:none!important}}
