:root{
    --qflow-green:#063d24;
    --qflow-neon-green:#25ff7a;
    --qflow-orange:#ff7a00;
    --qflow-orange-soft:#ff9d3d;
    --qflow-black:#050706;
    --qflow-white:#fff;
}

.qflow-shell{width:100%;max-width:100%;background:var(--qflow-black);color:#fff}
.qflow-feed{height:calc(100vh - 20px);min-height:620px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}
.qflow-feed::-webkit-scrollbar{display:none}
.qflow-slide{position:relative;width:min(100%,560px);height:calc(100vh - 20px);min-height:620px;margin:0 auto;background:#000;overflow:hidden;scroll-snap-align:start;isolation:isolate}
.qflow-player{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.qflow-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25),transparent 30%,rgba(0,0,0,.05) 55%,rgba(0,0,0,.82) 100%);pointer-events:none}
.qflow-top-bar{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;z-index:4}
.qflow-brand{font-weight:900;letter-spacing:.18em;font-size:12px;color:var(--qflow-neon-green);text-shadow:0 0 14px rgba(37,255,122,.35)}
.qflow-post-link{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;text-decoration:none}
.qflow-actions{position:absolute;right:12px;bottom:120px;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:5}
.qflow-artist-action{position:relative;width:54px;height:62px;color:#fff;text-decoration:none;display:block}
.qflow-avatar-wrap{display:block;width:52px;height:52px;border:2px solid #fff;border-radius:50%;overflow:hidden;background:#111}
.qflow-avatar-img{width:100%;height:100%;display:block;object-fit:cover}
.qflow-follow-badge{position:absolute;right:-3px;bottom:3px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--qflow-orange);color:#fff;font-size:15px;font-weight:900;border:2px solid #000;box-shadow:0 0 12px rgba(255,122,0,.45)}
.qflow-follow-badge.is-following{background:var(--qflow-neon-green);color:#021b0d;box-shadow:0 0 12px rgba(37,255,122,.4)}
.qflow-action-btn{
    appearance:none;
    border:1px solid rgba(37,255,122,.72) !important;
    background:rgba(0,0,0,.08) !important;
    color:#35ff88;
    width:38px;
    height:38px;
    min-height:38px;
    padding:0;
    border-radius:9px !important;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    text-decoration:none;
    box-shadow:0 0 7px rgba(37,255,122,.08);
    backdrop-filter:blur(3px);
    transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.qflow-action-btn span{font-size:20px;line-height:20px}
.qflow-action-btn small{display:none}
.qflow-action-btn:hover{
    color:#35ff88;
    border-color:#35ff88 !important;
    transform:scale(1.06);
    box-shadow:0 0 10px rgba(37,255,122,.18);
}
.qflow-action-btn.is-active,.qflow-like-btn.is-active{
    color:#06130b;
    background:#ff7a00 !important;
    border-color:#ff7a00 !important;
    box-shadow:0 0 12px rgba(255,122,0,.28);
}
.qflow-caption{position:absolute;left:18px;right:86px;bottom:22px;z-index:4;color:#fff}
.qflow-artist-name{color:var(--qflow-neon-green);font-weight:800;text-decoration:none}
.qflow-caption h2{font-size:22px;line-height:1.15;margin:5px 0;color:#fff}
.qflow-caption p{margin:0 0 8px;font-size:14px;line-height:1.4;color:#eee;max-width:90%}
.qflow-views{font-size:11px;color:#ddd}
.qflow-feed-switch{position:fixed;z-index:20;top:12px;left:50%;transform:translateX(-50%);display:flex;padding:4px;border:1px solid rgba(37,255,122,.3);border-radius:999px;background:rgba(3,18,10,.8);backdrop-filter:blur(10px)}
.qflow-feed-switch a{padding:7px 14px;color:#cbd5ce;text-decoration:none;font-size:12px;font-weight:700;border-radius:999px}
.qflow-feed-switch a.is-active{background:var(--qflow-neon-green);color:#04150b}
.qflow-empty,.qflow-login-note{padding:30px;text-align:center;background:#08100b;color:#fff}
.qflow-empty span{display:block;color:#aeb7b1;margin-top:8px}

.qflow-comments-modal,.qflow-report-modal{position:fixed;inset:0;z-index:99999}
.qflow-comments-modal[hidden],.qflow-report-modal[hidden]{display:none}
.qflow-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.qflow-comments-panel,.qflow-report-panel{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(620px,100%);max-height:80vh;background:#0b120e;color:#fff;border-radius:22px 22px 0 0;padding:24px;box-shadow:0 -20px 60px rgba(0,0,0,.5)}
.qflow-modal-close{position:absolute;right:16px;top:12px;background:transparent;border:0;color:#fff;font-size:28px;cursor:pointer}
.qflow-comments-panel h3,.qflow-report-panel h3{margin:0 0 18px}
.qflow-comments-list{max-height:48vh;overflow:auto}
.qflow-comment{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.qflow-comment strong{color:var(--qflow-neon-green)}
.qflow-comment p{margin:4px 0}
.qflow-comment small{color:#89938d}
.qflow-comment-form textarea,.qflow-report-form textarea,.qflow-report-form select{width:100%;box-sizing:border-box;background:#050806;color:#fff;border:1px solid #314338;border-radius:10px;padding:12px;margin-top:12px}
.qflow-comment-form button,.qflow-report-form button{margin-top:10px;border:0;border-radius:999px;padding:10px 18px;background:var(--qflow-orange);color:#fff;font-weight:800;cursor:pointer}
.qflow-upload-card{max-width:640px;margin:30px auto;padding:28px;background:#08100b;color:#fff;border:1px solid rgba(37,255,122,.2);border-radius:20px}
.qflow-eyebrow{color:var(--qflow-neon-green);font-size:11px;font-weight:900;letter-spacing:.18em}
.qflow-upload-head h2{font-size:30px;margin:6px 0}
.qflow-upload-head p{color:#aeb7b1}
.qflow-dropzone{min-height:260px;border:2px dashed #2b563d;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-align:center;background:#050906;transition:.2s}
.qflow-dropzone.is-dragging,.qflow-dropzone:hover{border-color:var(--qflow-neon-green);box-shadow:0 0 30px rgba(37,255,122,.08)}
.qflow-dropzone input{position:absolute;width:1px;height:1px;opacity:0}
.qflow-drop-icon{font-size:44px;color:var(--qflow-orange)}
.qflow-dropzone strong{font-size:18px}
.qflow-dropzone span{color:#c7d0ca}
.qflow-dropzone small{color:#77827b;margin-top:8px}
.qflow-preview-wrap{margin:18px 0}
.qflow-preview-wrap video{display:block;width:220px;aspect-ratio:9/16;object-fit:cover;margin:auto;border-radius:14px;background:#000}
.qflow-video-meta{text-align:center;margin-top:8px;font-size:12px;color:var(--qflow-neon-green)}
.qflow-video-meta.is-error{color:var(--qflow-orange)}
.qflow-field{display:block;margin-top:18px}
.qflow-field span{display:block;font-weight:800;margin-bottom:7px}
.qflow-field b{color:var(--qflow-orange)}
.qflow-field em{font-style:normal;color:#7f8a83;font-weight:400;font-size:12px}
.qflow-field input,.qflow-field textarea{width:100%;box-sizing:border-box;background:#050806;color:#fff;border:1px solid #314338;border-radius:10px;padding:13px}
.qflow-field input:focus,.qflow-field textarea:focus{outline:0;border-color:var(--qflow-neon-green);box-shadow:0 0 0 2px rgba(37,255,122,.12)}
.qflow-primary-btn{width:100%;margin-top:20px;border:0;border-radius:999px;padding:14px 20px;background:var(--qflow-neon-green);color:#04150b;font-weight:900;letter-spacing:.06em;cursor:pointer}
.qflow-primary-btn:disabled{opacity:.45;cursor:not-allowed}
.qflow-upload-status{min-height:20px;margin-top:12px;color:#cdd6d0}
.qflow-progress{height:8px;background:#18251c;border-radius:99px;overflow:hidden;margin-top:8px}
.qflow-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--qflow-green),var(--qflow-neon-green),var(--qflow-orange))}
@media(max-width:700px){
    .qflow-feed{height:100svh;min-height:560px}
    .qflow-slide{height:100svh;min-height:560px;width:100%}
    .qflow-actions{bottom:115px}
    .qflow-caption{bottom:18px}
    .qflow-caption h2{font-size:19px}
}

.qflow-center-sound{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:20;
    border:0 !important;
    outline:0;
    padding:5px;
    margin:0;
    width:auto;
    height:auto;
    min-width:0;
    background:transparent !important;
    color:#a0a0a0;
    cursor:pointer;
    opacity:.82;
    box-shadow:none !important;
    text-shadow:0 1px 7px rgba(0,0,0,.8);
    transition:opacity .2s ease,color .2s ease;
}
.qflow-center-sound .qflow-sound-icon{
    display:block;
    font-size:15px;
    line-height:1;
    filter:grayscale(1);
}
.qflow-center-sound.is-on{color:#a0a0a0}
.qflow-center-sound.qflow-sound-hidden{
    opacity:0;
    pointer-events:none;
}

/* Flow V1.2.0.9 — refined action rail */
.qflow-action-svg{
    width:20px;
    height:20px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.qflow-like-btn .qflow-action-svg{
    width:21px;
    height:21px;
}
.qflow-like-btn.is-active .qflow-action-svg{
    fill:currentColor;
}
.qflow-action-btn{
    width:40px;
    height:40px;
    border:1px solid rgba(37,255,122,.62) !important;
    border-radius:9px !important;
    background:transparent !important;
    color:#35ff88;
    box-shadow:none !important;
}
.qflow-action-btn:hover{
    border-color:#35ff88 !important;
    background:rgba(37,255,122,.06) !important;
}
.qflow-action-btn.is-active,
.qflow-like-btn.is-active{
    background:#ff7a00 !important;
    border-color:#ff7a00 !important;
    color:#07130c;
    box-shadow:0 0 12px rgba(255,122,0,.22) !important;
}

/* Artist avatar uses Profile Plugin photo; follow control is independent. */
.qflow-artist-action{position:relative}
.qflow-artist-profile-link{display:block}
.qflow-follow-badge{
    cursor:pointer;
    border:0;
    padding:0;
    font:inherit;
}
.qflow-follow-badge:disabled{opacity:.7;cursor:wait}

/* Explore-selected FLOW card */
.qflow-slide.qflow-selected-from-explore {
    outline: 2px solid #F28C28;
    outline-offset: -2px;
}


/* QB-Flow Upload Page — Share Your Art */
/* QB-FLOW — UPLOAD PAGE HEADING */

.qflow-upload * {
    --qflow-heading-color: #FFFFFF;
}

.qflow-upload h1,
.qflow-upload h2,
.qflow-upload h3,
.qflow-upload .qflow-upload-title,
.qflow-upload .qflow-upload-heading,
.qflow-upload .qflow-form-title,
.qflow-upload .qflow-upload-head h2 {
    color: #FFFFFF !important;
}

/* QB FLOW — EXPLORE VIDEO CARDS START */
.qb-flow-explore-list{
    display:flex;
    flex-wrap:nowrap;
    gap:16px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}
.qb-flow-explore-list::-webkit-scrollbar{display:none;}

.qb-flow-explore-card{
    position:relative;
    flex:0 0 calc((100% - 80px)/6);
    min-width:0;
    aspect-ratio:9/14;
    overflow:hidden;
    border-radius:14px;
    background:#063B26;
    border:1px solid rgba(255,255,255,.10);
    box-sizing:border-box;
}

.qb-flow-explore-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
    background:#05291C;
}

.qb-flow-explore-video,
.qb-flow-explore-poster{
    position:absolute;
    inset:0;
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    display:block;
}

.qb-flow-explore-video{
    z-index:2;
}

.qb-flow-explore-poster{
    z-index:1;
}

.qb-flow-explore-play{
    position:absolute;
    z-index:5;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.85);
    background:rgba(4,28,20,.72);
    color:#fff;
    cursor:pointer;
}

.qb-flow-explore-meta{
    position:absolute;
    z-index:6;
    left:12px;
    right:12px;
    bottom:12px;
}

.qb-flow-explore-artist{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#fff !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:600;
}

.qb-flow-explore-avatar{
    display:inline-flex;
    width:30px;
    height:30px;
    overflow:hidden;
    border-radius:50%;
}

.qb-flow-explore-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

@media(max-width:1100px){
    .qb-flow-explore-card{
        flex-basis:calc((100% - 48px)/4);
    }
}

@media(max-width:700px){
    .qb-flow-explore-card{
        flex-basis:68%;
        max-width:280px;
    }
}
/* QB FLOW — EXPLORE VIDEO CARDS END */


/* QB FLOW — EXPLORE VIDEO LOOP FIX START */
.qb-flow-explore-video {
    opacity: 1 !important;
    z-index: 2 !important;
    object-fit: cover !important;
}
.qb-flow-explore-poster {
    z-index: 1 !important;
}
.qb-flow-explore-media {
    background: #05291C;
}
/* QB FLOW — EXPLORE VIDEO LOOP FIX END */
