/* Path to Magic — Studio (private admin) */
:root{
  --violet:#8C66CF; --violet-d:#6E47B5; --pink:#E07BA8; --sky:#3CB0D9; --sun:#EFC76A; --mint:#46B391;
  --ink:#2C1E45; --inkSoft:#675A7E; --cream:#FFFDF9; --lav:#F6F1FA; --lav2:#ECE3F6; --lav3:#E2D6F2;
  --line:#E8DEF5; --danger:#D9657E;
  --radius:18px; --radius-lg:24px;
  --shadow:0 10px 30px rgba(60,40,100,.08),0 2px 6px rgba(60,40,100,.05);
  --shadow-sm:0 2px 8px rgba(60,40,100,.06);
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;}
body{font-family:'Nunito',sans-serif;background:var(--lav);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;}
#root{height:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;font-size:15px;color:var(--ink);}
h1,h2,h3,h4{font-family:'Fredoka',sans-serif;margin:0;letter-spacing:-.3px;line-height:1.15;font-weight:500;}
a{color:var(--violet-d);}
::placeholder{color:#a99ec0;}

/* ---------- LOGIN ---------- */
.login-wrap{min-height:100%;display:grid;place-items:center;padding:40px 20px;
  background:radial-gradient(120% 120% at 50% -10%,#efe6fb 0%,var(--lav) 55%);}
.login-card{width:100%;max-width:420px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);
  border:1px solid var(--line);padding:34px 34px 28px;text-align:center;}
.login-mark{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;color:var(--violet-d);margin-bottom:6px;}
.login-mark .dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--violet),var(--pink));display:grid;place-items:center;color:#fff;}
.login-card h1{font-size:24px;font-weight:600;margin:14px 0 6px;}
.login-card .sub{color:var(--inkSoft);font-size:14.5px;margin-bottom:22px;}
.key-field{display:flex;align-items:center;gap:8px;background:var(--lav);border:1.5px solid var(--line);border-radius:12px;padding:4px 4px 4px 14px;transition:border-color .15s;}
.key-field:focus-within{border-color:var(--violet);background:#fff;}
.key-field svg{color:var(--violet);flex:none;}
.key-field input{flex:1;border:none;background:none;outline:none;padding:11px 4px;font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:.3px;}
.key-field button{background:var(--violet);color:#fff;border-radius:9px;padding:10px 16px;font-weight:700;font-size:14px;transition:background .15s;}
.key-field button:hover{background:var(--violet-d);}
.login-err{color:var(--danger);font-size:13.5px;font-weight:700;margin-top:12px;min-height:18px;}
.login-hint{margin-top:18px;background:var(--lav);border:1px dashed var(--lav3);border-radius:12px;padding:13px 15px;text-align:left;font-size:12.5px;color:var(--inkSoft);}
.login-hint b{color:var(--ink);font-family:'Fredoka',sans-serif;}
.login-hint code{font-family:'JetBrains Mono',monospace;background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 6px;color:var(--violet-d);font-size:11.5px;}
.login-hint button{color:var(--violet-d);font-weight:700;text-decoration:underline;font-size:12px;padding:0;}
.boot-spin{width:28px;height:28px;border-radius:50%;border:3px solid var(--lav2);border-top-color:var(--violet);margin:18px auto 4px;animation:boot-spin .8s linear infinite;}
@keyframes boot-spin{to{transform:rotate(360deg);}}
.shake{animation:shake .35s;}
@keyframes shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-7px);}40%,80%{transform:translateX(7px);}}

/* ---------- SHELL ---------- */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%;}
.sidebar{background:linear-gradient(180deg,#1f1238 0%,#2a1850 100%);color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;}
.side-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;}
.side-brand .dot{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--violet),var(--pink));display:grid;place-items:center;color:#fff;flex:none;}
.side-brand .nm{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;line-height:1.1;}
.side-brand .nm span{display:block;font-size:11px;color:#b9a7e0;font-weight:500;letter-spacing:.5px;}
.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#8f7cb8;font-family:'Fredoka',sans-serif;font-weight:600;padding:14px 10px 6px;}
.nav-item{display:flex;align-items:center;gap:11px;white-space:nowrap;padding:10px 12px;border-radius:11px;color:#d9ccf2;font-weight:600;font-size:14.5px;text-align:left;width:100%;transition:background .14s,color .14s;}
.nav-item svg{flex:none;opacity:.85;}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav-item.active{background:linear-gradient(135deg,rgba(140,102,207,.95),rgba(224,123,168,.9));color:#fff;box-shadow:0 6px 16px rgba(140,102,207,.35);}
.nav-item.locked{opacity:.45;cursor:not-allowed;}
.nav-item .lock{margin-left:auto;opacity:.6;}
.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);}
.side-user{display:flex;align-items:center;gap:10px;padding:8px 8px 12px;}
.side-user .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--mint));display:grid;place-items:center;color:#fff;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14px;flex:none;}
.side-user .meta{line-height:1.2;min-width:0;}
.side-user .meta b{font-size:13.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.side-user .meta .role{font-size:11px;color:#b9a7e0;}
.signout{display:flex;align-items:center;gap:8px;color:#cbb9ee;font-weight:600;font-size:13px;padding:8px 10px;border-radius:9px;width:100%;}
.signout:hover{background:rgba(255,255,255,.07);color:#fff;}

/* ---------- MAIN ---------- */
.main{display:flex;flex-direction:column;min-width:0;}
.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 30px;background:rgba(255,253,249,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;}
.topbar>div:first-child{min-width:0;}
.topbar h2{font-size:19px;font-weight:600;white-space:nowrap;}
.topbar .crumb{color:var(--inkSoft);font-size:13px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px;}
.topbar .spacer{flex:1;}
.dirty-dot{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;font-weight:700;color:var(--sun);background:#fff7e4;border:1px solid #f0dca6;padding:6px 12px;border-radius:999px;}
.mode-badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--inkSoft);background:#fff;border:1px solid var(--line);padding:6px 11px;border-radius:999px;}
.mode-badge i{width:7px;height:7px;border-radius:50%;background:var(--inkSoft);display:block;}
.mode-badge.live{color:var(--mint);border-color:#bfe6d3;background:#e9f7f0;}
.mode-badge.live i{background:var(--mint);box-shadow:0 0 0 3px rgba(70,179,145,.18);}
.dirty-dot.saved{color:var(--mint);background:#e9f7f0;border-color:#bfe6d3;}
.dirty-dot i{width:8px;height:8px;border-radius:50%;background:currentColor;display:block;}
.btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:700;font-size:14px;border-radius:11px;padding:10px 16px;transition:transform .12s,background .14s,box-shadow .14s;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--violet);color:#fff;box-shadow:0 6px 16px rgba(140,102,207,.3);}
.btn-primary:hover{background:var(--violet-d);}
.btn-primary:disabled{opacity:.5;cursor:default;box-shadow:none;}
.btn-ghost{background:#fff;color:var(--violet-d);border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--violet);background:var(--lav);}

.content{padding:28px 30px 80px;max-width:1180px;width:100%;}
.section-head{margin-bottom:20px;}
.section-head h3{font-size:24px;font-weight:600;}
.section-head p{color:var(--inkSoft);font-size:14.5px;margin:5px 0 0;max-width:640px;}

.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 24px;margin-bottom:18px;}
.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.panel-head h4{font-size:16px;font-weight:600;}
.panel-head .count{font-size:12px;font-weight:700;color:var(--violet-d);background:var(--lav2);padding:3px 10px;border-radius:999px;}
.panel-head .spacer{flex:1;}

.field{margin-bottom:14px;}
.field label{display:block;font-size:12.5px;font-weight:700;color:var(--inkSoft);font-family:'Fredoka',sans-serif;margin-bottom:5px;letter-spacing:.2px;}
.field input[type=text],.field textarea{width:100%;border:1.5px solid var(--line);background:var(--cream);border-radius:11px;padding:11px 13px;outline:none;transition:border-color .14s,background .14s;}
.field input[type=text]:focus,.field textarea:focus{border-color:var(--violet);background:#fff;}
.field textarea{resize:vertical;min-height:70px;line-height:1.5;}
.field .hint{font-size:11.5px;color:#9a8eb5;margin-top:4px;}
.field.mono input{font-family:'JetBrains Mono',monospace;font-size:13px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:900px){.grid2{grid-template-columns:1fr;}}

/* video band section layout */
.videos-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;}
.videos-preview{}
@media(min-width:1180px){
  .videos-layout{grid-template-columns:1.08fr .92fr;}
  .videos-preview{position:sticky;top:92px;}
}

/* video card editor */
.vcard{display:grid;grid-template-columns:168px 1fr auto;gap:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);margin-bottom:14px;align-items:start;}
.vthumb{position:relative;width:168px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--lav2);flex:none;}
.vthumb img{width:100%;height:100%;object-fit:cover;display:block;}
.vthumb .ph{position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(140,102,207,.28) 0 12px,rgba(140,102,207,.13) 12px 24px);display:grid;place-items:center;color:#7b69a6;font-size:11px;font-weight:700;text-align:center;padding:8px;}
.vthumb .play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;}
.vthumb .play span{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2);}
.vthumb .play svg{margin-left:2px;}
.vcard-body{min-width:0;}
.vcard-actions{display:flex;flex-direction:column;gap:6px;}
.icon-btn{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--inkSoft);background:#fff;border:1px solid var(--line);transition:all .13s;}
.icon-btn:hover{border-color:var(--violet);color:var(--violet-d);background:var(--lav);}
.icon-btn:disabled{opacity:.35;cursor:default;}
.icon-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#fdeef1;}
.pull-btn{font-size:12px;font-weight:700;color:var(--violet-d);background:var(--lav2);border-radius:8px;padding:7px 11px;margin-top:6px;display:inline-flex;align-items:center;gap:6px;transition:background .13s;}
.pull-btn:hover{background:var(--lav3);}
.add-card{width:100%;border:1.5px dashed var(--lav3);border-radius:var(--radius);background:var(--lav);color:var(--violet-d);font-weight:700;font-size:14.5px;padding:15px;display:flex;align-items:center;justify-content:center;gap:9px;transition:all .14s;}
.add-card:hover{border-color:var(--violet);background:var(--lav2);}

/* social rows */
.social-row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--lav2);}
.social-row:last-child{border-bottom:none;}
.social-row .plat{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;}
.social-row .plat .ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none;}
.social-row input{width:100%;border:1.5px solid var(--line);background:var(--cream);border-radius:10px;padding:9px 12px;outline:none;font-size:13.5px;}
.social-row input:focus{border-color:var(--violet);background:#fff;}

/* access / keys */
.key-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--lav2);}
.key-row:last-child{border-bottom:none;}
.key-row .kmeta{flex:1;}
.key-row .kmeta b{font-size:14.5px;font-family:'Fredoka',sans-serif;font-weight:600;}
.key-row .kmeta .v{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--inkSoft);margin-top:3px;}
.member{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--lav2);}
.member:last-child{border-bottom:none;}
.member .av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:'Fredoka',sans-serif;font-weight:600;flex:none;}
.member .mm{flex:1;}
.member .mm b{font-size:14.5px;}
.member .mm .e{font-size:12.5px;color:var(--inkSoft);}
.role-pill{font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;}
.role-owner{background:#efe4fb;color:var(--violet-d);}
.role-editor{background:#e3f2f8;color:#2b7ea0;}
.role-view{background:#eef0f3;color:#6a7180;}
select.role-select{border:1.5px solid var(--line);border-radius:9px;padding:7px 10px;background:#fff;font-weight:700;font-size:13px;color:var(--ink);outline:none;}
select.role-select:focus{border-color:var(--violet);}

/* live preview band */
.preview-band{background:linear-gradient(135deg,#1f1238,#3a2168);border-radius:var(--radius-lg);padding:26px;}
.preview-band .pb-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.preview-band .pb-head .yt{width:32px;height:23px;background:#FF0033;border-radius:6px;display:grid;place-items:center;}
.preview-band .pb-head h4{color:#fff;font-size:17px;}
.preview-band .pb-head .sub{color:#c3b2e6;font-size:12.5px;}
.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
.pb-card{background:rgba(255,255,255,.06);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.pb-card .t{position:relative;aspect-ratio:16/9;}
.pb-card .t img{width:100%;height:100%;object-fit:cover;display:block;}
.pb-card .t .ph{position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(140,102,207,.4) 0 12px,rgba(140,102,207,.2) 12px 24px);}
.pb-card .t .play{position:absolute;inset:0;display:grid;place-items:center;}
.pb-card .t .play span{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;}
.pb-card .lbl{color:#fff;font-size:13px;font-weight:600;padding:11px 13px;line-height:1.35;}
.pb-empty{color:#c3b2e6;font-size:13px;text-align:center;padding:24px;border:1px dashed rgba(255,255,255,.2);border-radius:12px;}

/* how it works */
.flow{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;margin:6px 0 4px;}
.flow .node{flex:1;min-width:150px;background:var(--lav);border:1px solid var(--line);border-radius:14px;padding:15px 16px;text-align:center;}
.flow .node .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin:0 auto 9px;color:#fff;}
.flow .node b{font-size:14px;font-family:'Fredoka',sans-serif;font-weight:600;display:block;}
.flow .node span{font-size:11.5px;color:var(--inkSoft);}
.flow .arr{display:grid;place-items:center;color:var(--violet);font-size:22px;padding:0 6px;flex:none;}
@media(max-width:820px){.flow .arr{transform:rotate(90deg);width:100%;padding:4px 0;}.flow .node{min-width:0;}}
.note{background:linear-gradient(180deg,#FFF9EE,#FFF4DC);border:1px solid #f0dca6;border-radius:13px;padding:13px 16px;font-size:13.5px;color:#6b5526;margin-top:14px;}
.note b{color:#5a4416;}
.note.violet{background:linear-gradient(180deg,#FBF7FF,#F1E9FB);border-color:#dccbef;color:#4a2f73;}
.note.violet b{color:var(--violet-d);}
ul.ticks{list-style:none;padding:0;margin:8px 0 0;}
ul.ticks li{position:relative;padding:6px 0 6px 28px;font-size:14px;color:#3f3358;}
ul.ticks li::before{content:"";position:absolute;left:2px;top:10px;width:16px;height:16px;border-radius:50%;background:var(--mint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;}

/* toast */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--ink);color:#fff;
  padding:13px 22px;border-radius:13px;font-weight:700;font-size:14px;box-shadow:0 12px 30px rgba(40,25,70,.4);display:flex;align-items:center;gap:10px;
  transition:opacity .25s,transform .25s;z-index:60;pointer-events:none;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.err .chk{background:var(--danger);}
.toast .chk{width:22px;height:22px;border-radius:50%;background:var(--mint);display:grid;place-items:center;flex:none;}

/* ---- segmented control ---- */
.seg{display:inline-flex;background:var(--lav2);border-radius:11px;padding:3px;gap:3px;}
.seg-btn{font-family:inherit;font-weight:700;font-size:13.5px;color:var(--inkSoft);padding:9px 16px;border-radius:9px;transition:all .14s;}
.seg-btn.on{background:#fff;color:var(--violet-d);box-shadow:0 1px 4px rgba(60,40,100,.12);}

/* ---- accent swatches ---- */
.swatches{display:flex;gap:10px;}
.swatch{width:34px;height:34px;border-radius:9px;border:2px solid transparent;box-shadow:0 0 0 1px rgba(0,0,0,.06) inset;transition:transform .12s;}
.swatch:hover{transform:scale(1.08);}
.swatch.on{border-color:#fff;box-shadow:0 0 0 2px var(--ink);}

/* ---- toggle rows / switches ---- */
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--lav2);font-weight:600;font-size:14.5px;color:var(--ink);}
.toggle-row:last-child{border-bottom:none;}
.switch{width:44px;height:26px;border-radius:999px;background:#cfc4e2;position:relative;transition:background .16s;flex:none;}
.switch i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .16s;}
.switch.on{background:var(--violet);}
.switch.on i{transform:translateX(18px);}

/* ============ EDITORIAL LIVE PREVIEW ============ */
.preview-pane{padding:0;overflow:hidden;position:sticky;top:92px;}
.ep-frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#F7F3EC;box-shadow:0 8px 24px rgba(60,40,100,.1);font-family:'Hanken Grotesk',sans-serif;}
.ep-chrome{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#ece4f4;border-bottom:1px solid var(--line);}
.ep-dot{width:9px;height:9px;border-radius:50%;background:#c9bce0;}
.ep-url{margin-left:10px;font-size:11px;color:#8a7caa;font-family:'JetBrains Mono',monospace;}
.ep-scroll{max-height:560px;overflow-y:auto;}

.ep-hero{position:relative;padding:30px 26px 28px;background-size:cover;background-position:center 36%;min-height:230px;display:flex;align-items:center;}
.ep-hero-clean{background:#F7F3EC !important;min-height:auto;padding:30px 26px 24px;}
.ep-hero-card{position:relative;max-width:340px;background:rgba(247,243,236,.94);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:20px 22px;box-shadow:0 16px 40px rgba(15,12,30,.34);}
.ep-hero-clean .ep-hero-card{background:transparent;border:none;box-shadow:none;padding:0;max-width:none;backdrop-filter:none;}
.ep-kicker{display:flex;align-items:center;gap:8px;font-weight:800;font-size:10px;letter-spacing:1.4px;margin-bottom:11px;}
.ep-kicker-rule{width:18px;height:2px;display:block;}
.ep-headline{font-family:'Newsreader',serif;font-weight:500;font-size:27px;line-height:1.08;letter-spacing:-.6px;color:#241D2E;margin-bottom:9px;}
.ep-headline em{font-style:italic;}
.ep-sub{font-size:13px;line-height:1.5;color:#4f4760;margin-bottom:15px;}
.ep-ctas{display:flex;gap:9px;align-items:center;margin-bottom:15px;flex-wrap:wrap;}
.ep-btn-primary{background:#241D2E;color:#fff;font-weight:700;font-size:12px;padding:9px 15px;border-radius:8px;}
.ep-btn-secondary{font-weight:700;font-size:12px;padding:8px 4px;border-bottom:2px solid;white-space:nowrap;}
.ep-mana{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;}
.ep-mana span{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1.5px #F7F3EC,0 0 0 2.5px rgba(0,0,0,.1);}
.ep-mana-label{margin-left:6px;font-size:10.5px;font-weight:600;color:#8a8096;white-space:nowrap;}

.ep-band{background:linear-gradient(118deg,#1a1230,#241a40 60%,#1b2438);padding:22px 24px 26px;}
.ep-band-kicker{font-weight:800;font-size:10px;letter-spacing:1.4px;color:var(--sun);margin-bottom:9px;}
.ep-band-title{font-family:'Newsreader',serif;font-weight:500;font-size:21px;color:#fff;margin-bottom:16px;letter-spacing:-.3px;}
.ep-band-title em{font-style:italic;color:var(--sun);}
.ep-band-empty{color:#c3b2e6;font-size:12px;border:1px dashed rgba(255,255,255,.2);border-radius:10px;padding:18px;text-align:center;}
.ep-band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.ep-vcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:11px;overflow:hidden;}
.ep-vthumb{position:relative;aspect-ratio:16/9;background:repeating-linear-gradient(135deg,rgba(140,102,207,.4) 0 12px,rgba(140,102,207,.2) 12px 24px);}
.ep-vthumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ep-vph{position:absolute;inset:0;}
.ep-vplay{position:absolute;inset:0;margin:auto;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;}
.ep-vlabel{color:#d8cdeb;font-size:11px;font-weight:600;padding:8px 10px;line-height:1.3;}
@media(max-width:1180px){.preview-pane{position:static;}}

@media(max-width:760px){
  .shell{grid-template-columns:1fr;}
  .sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;}
  .side-brand{padding:6px 8px;width:100%;}
  .nav-label,.side-foot{display:none;}
  .nav-item{width:auto;}
  .vcard{grid-template-columns:120px 1fr;}
  .vcard-actions{grid-column:1/-1;flex-direction:row;}
}
