/* Huck's Campfire — vertical video feed and publishing studio. */
.campfire-page{--campfire-gold:#efbd34;max-width:1180px!important}.campfire-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1rem;padding:clamp(1.15rem,3vw,2rem);border-radius:24px;color:#fff;background:radial-gradient(circle at 82% 15%,rgba(239,189,52,.25),transparent 26%),linear-gradient(128deg,#0f1f2e,#174e47 64%,#1e6f5e);box-shadow:0 18px 40px rgba(15,31,46,.14)}.campfire-hero>*{position:relative;z-index:1}.campfire-hero__eyebrow{margin:0 0 .3rem;color:#f6cf62;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.campfire-hero h1{margin:0;color:#fff;font-size:clamp(1.75rem,5vw,2.65rem)}.campfire-hero p{max-width:640px;margin:.5rem 0 0;color:rgba(255,255,255,.82)}.campfire-hero__mark{display:grid;place-items:center;flex:0 0 84px;width:84px;height:84px;border:1px solid rgba(255,255,255,.18);border-radius:26px;color:#f6c94d;background:rgba(255,255,255,.09);font-size:2.3rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.campfire-toolbar{position:sticky;top:0;z-index:8;margin-bottom:1rem;padding:.65rem;border:1px solid #dce6e3;border-radius:17px;background:rgba(248,250,249,.95);box-shadow:0 8px 24px rgba(15,31,46,.07);backdrop-filter:blur(10px)}.campfire-toolbar__top{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.campfire-mode-tabs{display:flex;gap:.35rem}.campfire-mode-tabs .btn{border-radius:12px;font-weight:650}.campfire-category-rail{display:flex;gap:.5rem;margin-top:.65rem;padding:.1rem 0 .15rem;overflow-x:auto;scrollbar-width:thin}.campfire-category-chip{position:relative;flex:0 0 auto;margin:0}.campfire-category-chip span{display:block;padding:.48rem .75rem;border:1px solid #d5e0dd;border-radius:999px;color:#45565e;background:#fff;font-size:.8rem;font-weight:600;cursor:pointer}.campfire-category-chip input:checked+span{border-color:#1e6f5e;color:#fff;background:#1e6f5e}.campfire-category-clear{flex:0 0 auto;padding:.48rem .75rem;border-radius:999px;color:#1e6f5e;text-decoration:none;font-size:.8rem;font-weight:700}
.campfire-feed{display:grid;gap:1.15rem;max-width:590px;margin:0 auto;scroll-snap-type:y proximity}.campfire-reel{position:relative;overflow:hidden;min-height:min(74vh,780px);border-radius:25px;background:#07110f;box-shadow:0 15px 40px rgba(15,31,46,.2);scroll-snap-align:start;isolation:isolate}.campfire-reel__media{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#050a09}.campfire-reel__shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.07) 45%,rgba(0,0,0,.78) 100%)}.campfire-reel__play{position:absolute;inset:50% auto auto 50%;z-index:3;display:grid;place-items:center;width:62px;height:62px;transform:translate(-50%,-50%);border:0;border-radius:50%;color:#fff;background:rgba(15,31,46,.62);font-size:1.35rem;backdrop-filter:blur(4px);transition:.18s}.campfire-reel.is-playing .campfire-reel__play{opacity:0;pointer-events:none}.campfire-reel__featured{position:absolute;top:1rem;left:1rem;z-index:3;padding:.4rem .62rem;border-radius:999px;color:#1e2a27;background:#f4c746;font-size:.72rem;font-weight:800;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.18)}.campfire-reel__content{position:absolute;left:0;right:76px;bottom:0;z-index:3;padding:1.25rem;color:#fff}.campfire-reel__content h2{margin:0 0 .35rem;color:#fff;font-size:clamp(1.1rem,4vw,1.45rem)}.campfire-reel__content p{display:-webkit-box;overflow:hidden;margin:0 0 .6rem;color:rgba(255,255,255,.82);font-size:.85rem;-webkit-line-clamp:2;-webkit-box-orient:vertical}.campfire-reel__meta{display:flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.72);font-size:.74rem}.campfire-reel__actions{position:absolute;right:.7rem;bottom:1rem;z-index:4;display:grid;gap:.55rem}.campfire-action{display:grid;place-items:center;width:53px;min-height:53px;padding:.35rem;border:1px solid rgba(255,255,255,.22);border-radius:18px;color:#fff;background:rgba(9,24,21,.66);font-size:1.05rem;backdrop-filter:blur(8px)}.campfire-action small{display:block;font-size:.6rem;font-weight:650}.campfire-action:hover,.campfire-action:focus{color:#fff;background:#1e6f5e}.campfire-action.is-active{color:#fff;background:#1e6f5e}.campfire-action--liked.is-active{color:#ffe0e5;background:#b52d47}.campfire-load-more{display:flex;justify-content:center;margin:1.25rem 0}.campfire-empty{padding:3rem 1.25rem;border:1px dashed #bdcfca;border-radius:22px;text-align:center;background:#fff}.campfire-empty i{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:20px;color:#d59418;background:#fff1cd;font-size:1.6rem}.campfire-empty h2{font-size:1.2rem}
.campfire-watch{max-width:980px!important}.campfire-watch__back{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.8rem;color:#1e6f5e;font-weight:700;text-decoration:none}.campfire-watch__stage{overflow:hidden;border-radius:25px;background:#050a09;box-shadow:0 18px 45px rgba(15,31,46,.22)}.campfire-watch__stage video{display:block;width:100%;max-height:76vh;aspect-ratio:9/16;object-fit:contain;margin:auto}.campfire-watch__details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.15rem 0}.campfire-watch__details h1{margin:0 0 .45rem;font-size:clamp(1.3rem,4vw,1.8rem)}.campfire-watch__description{color:#56666d;white-space:normal}.campfire-watch__actions{display:flex;gap:.5rem;align-items:start}.campfire-watch__actions .btn{min-width:82px;border-radius:13px}.campfire-toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:1200;max-width:calc(100% - 2rem);padding:.65rem 1rem;transform:translate(-50%,12px);border-radius:999px;color:#fff;background:#0f1f2e;opacity:0;pointer-events:none;transition:.2s}.campfire-toast.is-visible{transform:translate(-50%,0);opacity:1}
/* Admin publishing studio */
.campfire-admin-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.campfire-admin-head__title{display:flex;align-items:center;gap:.8rem}.campfire-admin-head__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;color:#d99414;background:#fff0c8;font-size:1.2rem}.campfire-admin-head h1{margin:0;font-size:1.8rem}.campfire-admin-head p{margin:.15rem 0 0;color:#66747a}.campfire-studio{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);gap:1rem;align-items:start}.campfire-admin-card{overflow:hidden;border:1px solid #dce5e2;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(15,31,46,.07)}.campfire-admin-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;border-bottom:1px solid #e3eae8}.campfire-admin-card__head h2{margin:0;font-size:1.05rem}.campfire-admin-card__body{padding:1.15rem}.campfire-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.campfire-upload-box{padding:1rem;border:1px dashed #b8cbc6;border-radius:15px;background:#f7faf9}.campfire-upload-box label{display:flex;align-items:center;gap:.5rem}.campfire-upload-box i{color:#1e6f5e}.campfire-upload-status{min-height:52px;margin-top:.55rem;color:#66747a;font-size:.76rem}.campfire-upload-status img{width:76px;height:52px;object-fit:cover;border-radius:9px}.campfire-target-card{padding:1rem;border:1px solid #dce6e3;border-radius:15px;background:#f8fbfa}.campfire-state-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:.35rem}.campfire-state-grid .form-check{position:relative;padding:0}.campfire-state-grid input{position:absolute;opacity:0}.campfire-state-grid label{display:grid;place-items:center;min-height:36px;border:1px solid #d6e1de;border-radius:9px;background:#fff;font-size:.72rem;font-weight:650;cursor:pointer}.campfire-state-grid input:checked+label{border-color:#1e6f5e;color:#fff;background:#1e6f5e}.campfire-category-grid{display:flex;gap:.45rem;flex-wrap:wrap}.campfire-category-grid .form-check{position:relative;padding:0}.campfire-category-grid input{position:absolute;opacity:0}.campfire-category-grid label{padding:.43rem .65rem;border:1px solid #d6e1de;border-radius:999px;background:#fff;font-size:.76rem;cursor:pointer}.campfire-category-grid input:checked+label{border-color:#1e6f5e;color:#fff;background:#1e6f5e}.campfire-library{display:grid;gap:.65rem}.campfire-library-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.7rem;padding:.65rem;border:1px solid #dce6e3;border-radius:14px;background:#fff}.campfire-library-item__thumb{display:grid;place-items:center;width:72px;height:92px;overflow:hidden;border-radius:10px;color:#1e6f5e;background:#e6f1ee}.campfire-library-item__thumb img{width:100%;height:100%;object-fit:cover}.campfire-library-item__body{min-width:0}.campfire-library-item__body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campfire-library-item__meta{display:flex;gap:.35rem;flex-wrap:wrap;margin:.3rem 0}.campfire-library-item__actions{display:flex;align-items:center;gap:.35rem;margin-top:.45rem}.campfire-category-list{display:grid;gap:.55rem}.campfire-category-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem;border:1px solid #dce6e3;border-radius:13px}.campfire-category-row__info{display:flex;align-items:center;gap:.65rem}.campfire-category-order{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#1e6f5e;background:#e7f2ef;font-weight:700}
@media(max-width:1050px){.campfire-studio{grid-template-columns:1fr}.campfire-library{grid-template-columns:repeat(2,minmax(0,1fr))}.campfire-state-grid{grid-template-columns:repeat(7,1fr)}}
@media(max-width:767px){.campfire-page{padding-left:.7rem!important;padding-right:.7rem!important}.campfire-hero{border-radius:18px}.campfire-hero__mark{display:none}.campfire-toolbar{top:.25rem}.campfire-reel{min-height:min(73vh,720px);border-radius:20px}.campfire-watch{padding-left:.7rem!important;padding-right:.7rem!important}.campfire-watch__stage{border-radius:18px}.campfire-watch__details{grid-template-columns:1fr}.campfire-watch__actions{width:100%}.campfire-watch__actions .btn{flex:1}.campfire-admin-head{align-items:flex-start}.campfire-upload-grid{grid-template-columns:1fr}.campfire-state-grid{grid-template-columns:repeat(6,1fr)}.campfire-library{grid-template-columns:1fr}}
@media(max-width:480px){.campfire-hero{padding:1rem}.campfire-hero p{font-size:.82rem}.campfire-toolbar__top{align-items:stretch}.campfire-mode-tabs{width:100%}.campfire-mode-tabs .btn{flex:1}.campfire-reel{min-height:68vh}.campfire-reel__content{right:66px;padding:1rem}.campfire-reel__actions{right:.5rem}.campfire-action{width:49px;min-height:49px}.campfire-state-grid{grid-template-columns:repeat(5,1fr)}.campfire-admin-head__icon{display:none}}
@media(prefers-reduced-motion:reduce){.campfire-reel__play,.campfire-toast{transition:none}.campfire-reel{scroll-snap-align:none}}

/* Sanitized rich-text descriptions: compact in the reel, fully readable on the watch page. */
.campfire-reel__description{display:-webkit-box;overflow:hidden;margin:0 0 .6rem;color:rgba(255,255,255,.82);font-size:.85rem;-webkit-line-clamp:2;-webkit-box-orient:vertical}.campfire-reel__description p{margin:0}.campfire-reel__description ul,.campfire-reel__description ol{margin:0;padding-left:1.2rem}.campfire-reel__description a{position:relative;z-index:5;color:#fff;text-decoration:underline}.campfire-watch__description>:last-child{margin-bottom:0}.campfire-watch__description a{color:#1e6f5e;font-weight:650}
