/* XXXIndia — MeetSweetMeet-style dark tube UI.
   Vanilla, ~5KB, budget-device friendly (padding-top aspect boxes, no aspect-ratio). */
:root{
  --bg:#1a1a1a; --panel:#252525; --card:#202020; --line:#353535;
  --text:#c7c7c7; --muted:#8a8a8a; --white:#fff;
  --green:#34c13a; --red:#e02d2d; --orange:#fb9c0e; --hover:#ffbe5e;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:14px/1.4 Roboto,Arial,Helvetica,sans-serif;
  overflow-x:hidden;-webkit-tap-highlight-color:transparent;
}
a{color:inherit;text-decoration:none}
img{border:0;display:block}
button{font:inherit}

#app{max-width:1100px;margin:0 auto;padding:12px 10px 0}

/* ---- Header ---- */
.hdr{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:8px;
  height:52px;padding:0 8px;background:var(--panel);border-bottom:1px solid var(--line);
}
.logo{flex:1;text-align:center;font-size:21px;font-weight:700;color:var(--white);letter-spacing:.3px}
.logo span{color:var(--orange)}
.ic-btn{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:none;border:0;color:var(--white);cursor:pointer;border-radius:4px;
}
.ic-btn:active{background:rgba(255,255,255,.08)}
.ic-btn svg{width:24px;height:24px;fill:currentColor}

/* ---- Search bar ---- */
.searchbar{position:sticky;top:52px;z-index:29;background:var(--panel);border-bottom:1px solid var(--line);padding:8px 10px}
.searchbar input{
  width:100%;height:38px;padding:0 12px;color:var(--white);background:#171717;
  border:1px solid var(--line);border-radius:4px;outline:none;font-size:15px;
}
.searchbar input:focus{border-color:var(--orange)}

/* ---- Drawer ---- */
.drawer{
  position:fixed;top:0;left:0;bottom:0;width:78%;max-width:300px;z-index:50;
  background:#1e1e1e;border-right:1px solid var(--line);transform:translateX(-100%);
  transition:transform .2s ease;overflow-y:auto;
}
.drawer[hidden]{display:block}          /* keep in DOM for the transition */
.drawer.open{transform:none}
.drawer-head{padding:16px;font-size:16px;font-weight:700;color:var(--white);border-bottom:1px solid var(--line)}
.drawer-list a{display:block;padding:11px 16px;color:var(--text);border-bottom:1px solid #262626;font-size:15px}
.drawer-list a:active{background:#262626;color:var(--hover)}
.backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55)}

/* ---- Section headings ---- */
.sec-title{text-align:center;color:var(--white);font-size:17px;font-weight:700;margin:18px 0 12px}
.crumb{display:flex;align-items:center;gap:8px;margin:2px 0 10px}
.crumb a{color:var(--orange);font-weight:600;font-size:14px}
.crumb .n{color:var(--muted);font-size:13px}

/* ---- Tabs (Best / Latest) ---- */
.tabs{display:flex;gap:8px;justify-content:center;margin:0 0 14px}
.tab{
  height:34px;padding:0 16px;line-height:32px;border-radius:4px;border:1px solid var(--line);
  background:var(--card);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;
}
.tab.on{background:var(--red);border-color:var(--red);color:#fff}

/* ---- Pager ---- */
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:16px 0 6px}
.pg{
  min-width:34px;height:34px;padding:0 9px;line-height:32px;text-align:center;
  border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--text);
  font-size:13px;font-weight:600;cursor:pointer;
}
.pg.on{background:var(--red);border-color:var(--red);color:#fff}
.pg.dots{border:0;background:none;cursor:default;color:var(--muted)}
.pg[disabled]{opacity:.4;cursor:default}

/* ---- Grid ---- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:640px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1120px){.grid{grid-template-columns:repeat(5,1fr)}}

.card{display:block;position:relative;min-width:0;content-visibility:auto;contain-intrinsic-size:180px}
/* aspect-ratio box via padding-top (universally supported) */
.ph{position:relative;width:100%;padding-top:56.25%;background:var(--panel);border-radius:5px;overflow:hidden}
.ph img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ttl{
  display:block;margin:6px 2px 0;color:var(--white);font-size:13px;font-weight:500;
  line-height:1.25;max-height:2.5em;overflow:hidden;
}
.card:active .ttl{color:var(--hover)}
.tags{display:block;margin:3px 2px 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* play overlay */
.play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.play i{
  width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
}
.play i svg{width:18px;height:18px;fill:#fff;margin-left:2px}
.card:active .play i{background:var(--green)}

/* overlay badges */
.bdg{
  position:absolute;height:19px;line-height:19px;padding:0 5px;font-size:11px;color:#fff;
  background:rgba(0,0,0,.72);border-radius:3px;display:inline-flex;align-items:center;gap:3px;pointer-events:none;
}
.bdg svg{width:11px;height:11px;fill:currentColor}
.b-tr{top:5px;right:5px}
.b-bl{bottom:5px;left:5px}
.b-br{bottom:5px;right:5px}

/* ---- Featured hero ---- */
.hero{margin:4px 0 6px;position:relative;border-radius:6px;overflow:hidden}
.hero .ph{border-radius:6px;padding-top:52%}
.hero-grad{position:absolute;left:0;right:0;bottom:0;height:55%;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.hero-txt{position:absolute;left:12px;bottom:10px;right:12px}
.hero-tag{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:1px}
.hero-name{color:#fff;font-size:22px;font-weight:700;margin:2px 0 0}
.hero-sub{color:#cfcfcf;font-size:13px}
.hero .play i{width:56px;height:56px;background:var(--green)}
.hero .play i svg{width:24px;height:24px}
.hero-btns{display:flex;gap:10px;margin:10px 0 4px}
.hero-btns .btn{flex:1}

/* ---- Buttons ---- */
.btn{
  height:42px;line-height:40px;border-radius:5px;border:1px solid var(--line);background:var(--card);
  color:var(--white);font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;
  align-items:center;justify-content:center;gap:7px;padding:0 16px;
}
.btn svg{width:16px;height:16px;fill:currentColor}
.btn.green{background:var(--green);border-color:var(--green)}
.btn.on{background:var(--red);border-color:var(--red)}
.btn[disabled]{opacity:.45}

/* ---- Player ---- */
.pv-title{color:#fff;font-size:16px;font-weight:700;text-align:center;margin:12px 6px 10px;line-height:1.3}
.player{width:100%;max-height:70vh;background:#000;border-radius:5px;display:block}
.pv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:12px 4px;color:var(--muted);font-size:13px}
.pv-meta .m{display:inline-flex;align-items:center;gap:5px}
.pv-meta svg{width:14px;height:14px;fill:currentColor}
.pv-meta .up{color:var(--green)}
.pv-chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 4px}
.chip{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:3px 11px;font-size:12px;color:var(--text)}
.pv-actions{display:flex;gap:8px;margin:12px 4px}

/* ---- States ---- */
.loader{width:28px;height:28px;margin:44px auto;border:3px solid var(--line);border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.msg{padding:34px 10px;text-align:center;color:var(--muted)}
.msg .btn{display:inline-flex;margin-top:12px}
.ftr{border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center;padding:20px 10px;margin-top:26px}
.ftr-nav{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-bottom:10px}
.ftr-nav a{color:var(--text)}
.ftr-nav a:active{color:var(--hover)}
.ftr-copy{color:var(--muted)}

/* legal / static docs */
.doc{max-width:760px;margin:8px auto 0;color:var(--text);line-height:1.6}
.doc h1{color:#fff;font-size:20px;font-weight:700;margin:6px 0 14px}
.doc p{margin:0 0 12px}
.doc ul{margin:0 0 12px;padding-left:20px}
.doc li{margin:0 0 6px}
.doc b{color:var(--white)}
