
:root{
  --bg:#09090a;--panel:#111114;--panel2:#17171b;--panel3:#1d1d22;--border:#2a2a30;
  --text:#f5f5f6;--muted:#9999a3;--accent:#e33f3f;--accent2:#ff6767;
  --shadow:0 18px 55px rgba(0,0,0,.35)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:radial-gradient(circle at 88% 0%,rgba(135,26,26,.13),transparent 26rem),var(--bg);
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
button,input,select{font:inherit}
button{color:inherit}
a{color:inherit}
.site-header{
  min-height:72px;padding:0 clamp(18px,4vw,52px);display:grid;grid-template-columns:auto 1fr minmax(220px,320px);
  gap:32px;align-items:center;position:sticky;top:0;z-index:50;background:rgba(8,8,9,.9);
  backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06)
}
.brand{font-size:28px;font-weight:850;letter-spacing:-1.4px;text-decoration:none}
.brand-index{color:var(--accent)}
.top-nav{display:flex;justify-content:center;gap:28px}
.top-nav a,.site-footer a{color:#d9d9de;text-decoration:none;font-size:14px}
.top-nav a:hover,.site-footer a:hover{color:white}
.header-search,.hero-search,.browse-search{
  display:flex;align-items:center;gap:10px;background:#121214;border:1px solid #27272d;border-radius:14px;padding:0 14px
}
.header-search{height:44px}
.hero-search{height:58px;max-width:780px;border-color:rgba(227,63,63,.85)}
.header-search input,.hero-search input,.browse-search input{
  width:100%;background:transparent;border:0;outline:0;color:white
}
.search-icon{color:#ddd;font-size:22px}
main{width:min(1500px,calc(100% - 36px));margin:0 auto}
.hero{
  min-height:510px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  padding:70px 12px 54px;border-bottom:1px solid rgba(255,255,255,.06)
}
.eyebrow,.section-kicker{color:var(--accent2);font-size:11px;letter-spacing:.14em;font-weight:800;margin:0 0 10px}
.hero h1{font-size:clamp(44px,6vw,82px);line-height:.97;max-width:780px;letter-spacing:-3px;margin:0 0 24px}
.hero h1 span{color:var(--accent)}
.hero-sub{color:#babac2;font-size:18px;line-height:1.55;max-width:670px;margin:0 0 28px}
.popular-searches{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:15px}
.popular-searches>span{color:#777781;font-size:10px;font-weight:800;letter-spacing:.08em;margin-right:5px}
.popular-searches button{
  border:1px solid rgba(227,63,63,.6);background:rgba(227,63,63,.04);border-radius:999px;padding:7px 12px;cursor:pointer
}
.popular-searches button:hover{background:rgba(227,63,63,.14)}
.hero-art{
  position:relative;min-height:360px;border:1px solid #24242a;border-radius:26px;overflow:hidden;
  background:linear-gradient(135deg,rgba(24,24,28,.45),rgba(10,10,12,.92)),
  radial-gradient(circle at 70% 35%,rgba(207,108,51,.32),transparent 22%),linear-gradient(160deg,#18191c,#0b0c0e 58%);
  box-shadow:var(--shadow)
}
.hero-art:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0 44%,rgba(255,255,255,.035) 44% 45%,transparent 45% 72%,rgba(255,255,255,.025) 72% 73%,transparent 73%),
  linear-gradient(0deg,transparent 0 63%,rgba(255,255,255,.025) 63% 64%,transparent 64%)
}
.house-glow{position:absolute;right:13%;top:17%;width:36%;height:45%;border:1px solid rgba(227,63,63,.17);background:rgba(204,103,45,.08)}
.hero-card{
  position:absolute;left:28px;bottom:28px;width:min(410px,calc(100% - 56px));padding:22px;border-radius:18px;
  background:rgba(12,12,14,.82);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)
}
.hero-card-kicker{display:block;color:var(--accent2);font-size:10px;letter-spacing:.14em;margin-bottom:8px}
.hero-card strong{display:block;font-size:23px;margin-bottom:8px}
.hero-card small{color:#aaaab3;line-height:1.5}
.signature-preview{display:flex;gap:8px;margin-top:15px}
.signature-preview span,.badge.signature{
  border:1px solid rgba(227,63,63,.65);color:#ff7777;font-weight:800
}
.signature-preview span{border-radius:9px;padding:7px 10px}
.section{padding:40px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.compact-section{padding-top:30px;padding-bottom:30px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}
.section-heading h2{margin:0;font-size:26px;letter-spacing:-.7px}
.text-button{border:0;background:transparent;color:var(--accent2);cursor:pointer;padding:6px 0}
.cast-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.cast-card{
  min-height:132px;padding:20px 15px;text-align:left;border-radius:16px;border:1px solid rgba(227,63,63,.45);
  background:linear-gradient(150deg,#161619,#0d0d0f);cursor:pointer
}
.cast-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.cast-card strong{display:block;font-size:34px;color:var(--accent2);margin-bottom:8px}
.cast-card span{display:block;font-size:13px;min-height:35px}
.cast-card small{display:block;color:var(--accent2);margin-top:12px}
.cast-more{border-style:dashed}
.cast-more strong{color:white}
.scene-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.scene-card{
  overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#151518,#101012);
  border:1px solid #28282e;min-width:0
}
.scene-thumb{
  position:relative;aspect-ratio:16/10;
  background:radial-gradient(circle at 70% 40%,rgba(255,151,94,.28),transparent 23%),linear-gradient(135deg,#46312e,#1b1c20 58%,#0e0f11)
}
.scene-thumb:after{
  content:"▶";position:absolute;left:12px;bottom:10px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;
  background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.7);font-size:12px
}
.duration{position:absolute;right:8px;top:8px;background:rgba(0,0,0,.8);padding:4px 6px;border-radius:6px;font-size:11px;font-weight:700}
.scene-body{padding:12px}
.scene-body h3{font-size:15px;line-height:1.25;margin:0 0 6px}
.scene-body p{color:#a5a5ad;font-size:12px;margin:0 0 10px}
.scene-meta{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;border:1px solid #3a3a42;border-radius:6px;padding:4px 6px;font-size:10px;font-weight:800}
.studio{display:block;margin-top:10px;color:#777780;font-size:11px}
.pill-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.pill-grid button{
  min-height:58px;border-radius:12px;border:1px solid #313138;background:#131316;cursor:pointer
}
.pill-grid button:hover{border-color:var(--accent)}
.performer-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.performer-card{background:#111114;border:1px solid #26262c;border-radius:14px;overflow:hidden;padding-bottom:12px}
.avatar{
  aspect-ratio:1/1;display:grid;place-items:center;font-size:34px;font-weight:850;
  background:linear-gradient(135deg,#312424,#15161a)
}
.performer-card strong,.performer-card small{display:block;padding:0 10px}
.performer-card strong{margin-top:10px}
.performer-card small{color:#898992;margin-top:3px}
.trend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.trend-grid button{
  text-align:left;min-height:115px;padding:18px;border-radius:15px;border:1px solid #2c2c32;
  background:linear-gradient(150deg,#151518,#0f0f11);cursor:pointer
}
.trend-grid button:hover{border-color:rgba(227,63,63,.6)}
.trend-grid strong,.trend-grid span,.trend-grid small{display:block}
.trend-grid strong{font-size:18px;margin-bottom:8px}
.trend-grid span{color:#b8b8c0;font-size:13px}
.trend-grid small{color:var(--accent2);margin-top:8px}
.site-footer{
  width:min(1500px,calc(100% - 36px));margin:0 auto;min-height:135px;display:grid;grid-template-columns:auto 1fr;
  gap:22px 34px;align-items:center;padding:28px 12px 38px;color:#8f8f98
}
.site-footer nav{display:flex;gap:26px;flex-wrap:wrap}
.site-footer p{grid-column:2;margin:-16px 0 0;font-size:12px}
.age-mark{
  grid-row:1/span 2;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--accent);
  color:var(--accent2);font-weight:850
}
.toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#202024;border:1px solid #3a3a42;
  border-radius:12px;padding:11px 15px;opacity:0;pointer-events:none;transition:.2s ease;box-shadow:var(--shadow);z-index:100
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Browse page */
.browse-page{padding:42px 12px 70px}
.browse-hero{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.07)
}
.browse-hero h1{font-size:clamp(38px,5vw,68px);letter-spacing:-2px;margin:4px 0 10px}
.browse-hero h1 span{color:var(--accent)}
.browse-hero p{margin:0;color:#aaaab3;max-width:760px;line-height:1.5}
.result-count{color:var(--accent2);font-weight:800}
.browse-controls{
  display:grid;grid-template-columns:minmax(260px,1fr) repeat(4,minmax(150px,auto));gap:10px;padding:22px 0
}
.browse-search{height:48px}
.filter-select{
  height:48px;background:#131316;color:#f4f4f6;border:1px solid #303037;border-radius:12px;padding:0 12px;outline:none
}
.filter-select:focus,.browse-search:focus-within{border-color:var(--accent)}
.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:-6px 0 20px}
.filter-chip{
  border:1px solid rgba(227,63,63,.5);background:rgba(227,63,63,.07);border-radius:999px;padding:7px 10px;color:#ff8080;font-size:12px
}
.browse-layout{display:grid;grid-template-columns:250px 1fr;gap:24px}
.filter-sidebar{
  align-self:start;position:sticky;top:94px;background:#101012;border:1px solid #29292f;border-radius:16px;padding:18px
}
.filter-sidebar h3{margin:0 0 14px}
.filter-group{padding:15px 0;border-top:1px solid #26262c}
.filter-group:first-of-type{border-top:0}
.filter-group strong{display:block;font-size:12px;color:#bfbfc6;margin-bottom:10px}
.filter-check{display:flex;gap:8px;align-items:center;color:#a8a8b1;font-size:13px;padding:5px 0}
.filter-check input{accent-color:var(--accent)}
.browse-scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.empty-state{
  grid-column:1/-1;padding:70px 20px;text-align:center;border:1px dashed #35353d;border-radius:16px;color:#9898a1
}
.back-link{display:inline-flex;margin-bottom:18px;color:#aaaab3;text-decoration:none}
.back-link:hover{color:white}

@media(max-width:1180px){
  .top-nav{display:none}.site-header{grid-template-columns:1fr minmax(200px,320px)}
  .hero{grid-template-columns:1fr}.hero-art{min-height:280px}
  .cast-grid,.scene-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pill-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .performer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .browse-controls{grid-template-columns:1fr 1fr 1fr}
  .browse-search{grid-column:1/-1}
  .browse-scene-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .browse-layout{grid-template-columns:1fr}
  .filter-sidebar{position:static}
}
@media(max-width:720px){
  main,.site-footer{width:min(100% - 22px,1500px)}
  .site-header{height:auto;min-height:68px;grid-template-columns:1fr;gap:10px;padding:14px 16px}
  .brand{font-size:26px}.header-search{display:none}
  .hero{padding:44px 4px 34px;gap:28px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-sub{font-size:16px}.hero-art{min-height:250px}
  .section{padding-left:4px;padding-right:4px}
  .cast-grid,.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .performer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trend-grid{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr}.site-footer p{grid-column:1;margin:0}.age-mark{grid-row:auto}
  .browse-page{padding-left:4px;padding-right:4px}
  .browse-hero{grid-template-columns:1fr}.browse-controls{grid-template-columns:1fr}
  .browse-search{grid-column:auto}.browse-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){
  .scene-grid,.browse-scene-grid{grid-template-columns:1fr}
  .performer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cast-card strong{font-size:28px}
}


/* Performer system — V0.3 */
.nav-active{color:white!important}
.performer-inline-link{color:#a9a9b2;text-decoration:none}
.performer-inline-link:hover{color:white;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.performer-separator{color:#66666f}
.performer-card-link{display:block;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease}
.performer-card-link:hover{transform:translateY(-2px);border-color:rgba(227,63,63,.6)}

.performers-page,.performer-page{width:min(1500px,calc(100% - 36px));margin:0 auto;padding:42px 12px 70px}
.directory-hero{padding:0 0 30px;border-bottom:1px solid rgba(255,255,255,.07)}
.directory-hero h1{font-size:clamp(42px,5vw,68px);letter-spacing:-2px;margin:4px 0 12px}
.directory-hero h1 span{color:var(--accent)}
.directory-hero>p:not(.section-kicker){color:#aaaab3;max-width:760px;line-height:1.55}
.directory-search{max-width:650px;height:52px;margin-top:22px}
.directory-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 0}
.performer-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.directory-performer-card{
  display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;min-height:132px;padding:16px;
  color:inherit;text-decoration:none;border:1px solid #29292f;border-radius:16px;background:linear-gradient(145deg,#151518,#0f0f11);
  transition:transform .16s ease,border-color .16s ease
}
.directory-performer-card:hover{transform:translateY(-2px);border-color:rgba(227,63,63,.6)}
.directory-avatar{
  width:92px;height:92px;border-radius:14px;display:grid;place-items:center;font-size:28px;font-weight:850;letter-spacing:-1px;
  background:radial-gradient(circle at 65% 32%,rgba(227,63,63,.19),transparent 35%),linear-gradient(135deg,#322426,#17171a);
  border:1px solid #33333a
}
.directory-performer-body{min-width:0}
.directory-performer-body h2{margin:0 0 5px;font-size:20px}
.directory-performer-body>p{margin:0;color:#888892;font-size:12px}
.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}
.mini-stats span{min-width:0;padding:8px;border-radius:9px;background:#101012;border:1px solid #25252b}
.mini-stats small,.mini-stats strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-stats small{font-size:9px;color:#777781;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.mini-stats strong{font-size:12px}
.profile-arrow{color:var(--accent2);font-size:22px;padding:10px}

.performer-profile-hero{
  display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:center;padding:16px 0 34px;border-bottom:1px solid rgba(255,255,255,.07)
}
.profile-avatar-large{
  width:230px;aspect-ratio:1/1;display:grid;place-items:center;border-radius:24px;font-size:72px;font-weight:900;letter-spacing:-4px;
  border:1px solid #34343b;
  background:radial-gradient(circle at 67% 31%,rgba(227,63,63,.22),transparent 33%),linear-gradient(140deg,#3a292b,#16171a 64%);
  box-shadow:var(--shadow)
}
.profile-intro h1{font-size:clamp(46px,6vw,82px);line-height:.98;letter-spacing:-3px;margin:3px 0 18px}
.profile-intro>p:not(.section-kicker){font-size:17px;color:#aaaab3;line-height:1.55;max-width:780px}
.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.primary-action,.secondary-action{
  min-height:45px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:0 16px;text-decoration:none;font-weight:750;font-size:13px
}
.primary-action{background:var(--accent);color:white;border:1px solid var(--accent)}
.primary-action:hover{background:#ef4b4b}
.secondary-action{background:#151518;border:1px solid #323239;color:#dddde3}
.secondary-action:hover{border-color:#55555f}

.profile-stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:22px 0}
.profile-stat{
  min-height:92px;padding:15px;border:1px solid #29292f;border-radius:14px;background:linear-gradient(145deg,#141417,#0f0f11)
}
.profile-stat small,.profile-stat strong{display:block}
.profile-stat small{font-size:10px;color:#777781;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}
.profile-stat strong{font-size:20px;overflow:hidden;text-overflow:ellipsis}

.profile-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-bottom:28px}
.profile-panel{border:1px solid #29292f;background:#101012;border-radius:16px;padding:18px}
.profile-panel .section-heading{margin-bottom:14px}
.profile-panel .section-heading h2{font-size:19px}
.profile-tag-cloud{display:flex;gap:8px;flex-wrap:wrap}
.profile-tag{
  display:inline-flex;align-items:center;gap:9px;padding:8px 10px;border-radius:999px;text-decoration:none;color:#dddde2;
  border:1px solid #34343b;background:#151518;font-size:12px
}
.profile-tag:hover{border-color:rgba(227,63,63,.7);color:white}
.profile-tag span{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:rgba(227,63,63,.12);color:var(--accent2);font-size:10px;font-weight:800}
.profile-none{color:#777781;font-size:12px}
.performer-scenes-section{padding-left:0;padding-right:0}
.performer-scenes-heading{align-items:center}
.performer-scene-controls{display:flex;gap:10px}
.profile-source-note{
  margin-top:26px;padding:18px;border:1px solid #29292f;border-radius:14px;background:#101012;color:#888892;font-size:12px;line-height:1.55
}
.profile-source-note strong{display:block;color:#c8c8ce;margin-bottom:5px}
.profile-source-note p{margin:0}

@media(max-width:1180px){
  .performer-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .profile-details-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .performers-page,.performer-page{width:min(100% - 22px,1500px);padding-left:4px;padding-right:4px}
  .performer-directory-grid{grid-template-columns:1fr}
  .performer-profile-hero{grid-template-columns:1fr;gap:24px}
  .profile-avatar-large{width:min(230px,60vw)}
  .profile-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .performer-scenes-heading{align-items:flex-start;flex-direction:column}
}
@media(max-width:500px){
  .directory-performer-card{grid-template-columns:72px 1fr auto;padding:12px}
  .directory-avatar{width:72px;height:72px}
  .mini-stats{grid-template-columns:1fr}
  .profile-stat-strip{grid-template-columns:1fr 1fr}
}



/* V0.3.2 hero refresh: replace info card with house visual */
.hero-house-visual{
  position:relative;
  min-height:420px;
  border:1px solid #24242a;
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 14%, rgba(131, 28, 28, .16), transparent 24rem),
    linear-gradient(180deg, #0d1016 0%, #0b0c10 28%, #0c0d10 58%, #0a0a0c 100%);
  box-shadow: var(--shadow);
}

.hero-house-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 28%, transparent 72%, rgba(0,0,0,.22)),
    radial-gradient(circle at 73% 30%, rgba(230, 104, 47, .08), transparent 18%),
    radial-gradient(circle at 16% 78%, rgba(24, 43, 74, .13), transparent 20%);
  pointer-events:none;
}

.hero-house-visual .night-sky-glow{
  position:absolute;
  inset:auto 0 0 0;
  height:54%;
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,.15) 30%, rgba(0,0,0,.42)),
    radial-gradient(circle at 50% 40%, rgba(255,145,84,.06), transparent 24%);
  pointer-events:none;
}

.hero-art.hero-house-visual .house-glow,
.hero-art.hero-house-visual .hero-card{
  display:none !important;
}

.house-scene{
  position:absolute;
  inset:0;
}

.house-main{
  position:absolute;
  right:9%;
  bottom:13%;
  width:min(560px, 80%);
  height:63%;
  border-radius:10px 10px 16px 16px;
  background:
    linear-gradient(180deg, #262220 0%, #1b1818 48%, #141315 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:
    0 30px 55px rgba(0,0,0,.36),
    inset 0 0 0 1px rgba(255,255,255,.02);
}

.roof-line{
  position:absolute;
  left:0;
  right:0;
  top:-4px;
  height:8px;
  background:linear-gradient(90deg, #242529, #373239, #25262b);
  border-radius:7px 7px 0 0;
}

.upper, .lower{
  position:absolute;
  display:flex;
  gap:16px;
}

.upper-left{
  left:5%;
  top:11%;
  width:34%;
}

.upper-right{
  right:5%;
  top:11%;
  width:30%;
  justify-content:flex-end;
}

.lower-left{
  left:5%;
  bottom:11%;
  width:24%;
}

.lower-right{
  right:5%;
  bottom:11%;
  width:24%;
  justify-content:flex-end;
}

.window{
  position:relative;
  flex:1 1 auto;
  min-width:68px;
  height:78px;
  border-radius:3px;
  background:
    linear-gradient(180deg, #1a1a1e, #111216);
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);
}

.window::before,
.window::after{
  content:"";
  position:absolute;
  background:rgba(16,17,20,.35);
}

.window::before{
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  transform:translateX(-50%);
}

.window::after{
  left:0;
  right:0;
  top:50%;
  height:2px;
  transform:translateY(-50%);
}

.window.lit{
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 186, 120, .18), transparent 52%),
    linear-gradient(180deg, #f2c08f 0%, #d28952 55%, #744a34 100%);
  box-shadow:
    0 0 26px rgba(214, 132, 66, .18),
    inset 0 0 0 1px rgba(255,255,255,.05);
}

.window.dim{
  background:
    radial-gradient(circle at 50% 45%, rgba(167, 117, 84, .12), transparent 48%),
    linear-gradient(180deg, #6f584b 0%, #41363a 54%, #22242a 100%);
}

.window.tall{
  height:108px;
}

.window.wide{
  min-width:110px;
  height:86px;
}

.entry-block{
  position:absolute;
  left:50%;
  bottom:8%;
  transform:translateX(-50%);
  width:150px;
  height:70%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.entry-steps{
  position:absolute;
  left:50%;
  bottom:-22px;
  width:170px;
  height:54px;
  transform:translateX(-50%);
  background:
    linear-gradient(180deg, transparent 0 10px, rgba(255,255,255,.06) 10px 12px, transparent 12px 24px, rgba(255,255,255,.06) 24px 26px, transparent 26px 38px, rgba(255,255,255,.06) 38px 40px, transparent 40px),
    linear-gradient(180deg, #292a2d, #151619);
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  border-radius:0 0 8px 8px;
  box-shadow:0 18px 22px rgba(0,0,0,.24);
}

.door-frame{
  position:relative;
  width:86px;
  height:188px;
  border-radius:6px 6px 0 0;
  background:linear-gradient(180deg, #342820, #201913);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 36px rgba(223, 129, 58, .13),
    inset 0 0 0 2px rgba(50,32,20,.58);
}

.door{
  position:absolute;
  inset:8px;
  border-radius:4px 4px 0 0;
  background:
    linear-gradient(180deg, #4b3427, #2a1d16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.door-glass{
  position:absolute;
  left:50%;
  top:18px;
  transform:translateX(-50%);
  width:30px;
  height:74px;
  border-radius:3px;
  background:
    linear-gradient(180deg, rgba(255, 210, 140, .92), rgba(194, 123, 63, .75));
  box-shadow:
    0 0 18px rgba(225, 150, 86, .24),
    inset 0 0 0 1px rgba(255,255,255,.08);
}

.sconce{
  position:absolute;
  top:52px;
  width:9px;
  height:28px;
  border-radius:5px;
  background:linear-gradient(180deg, #edb17d, #8f5938);
  box-shadow: 0 0 16px rgba(226, 141, 76, .34);
}

.sconce.left{ left:18px; }
.sconce.right{ right:18px; }

.house-path{
  position:absolute;
  right:17%;
  bottom:0;
  width:270px;
  height:130px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
    linear-gradient(90deg, transparent 0 10%, rgba(255,255,255,.03) 10% 12%, transparent 12% 22%, rgba(255,255,255,.03) 22% 24%, transparent 24% 34%, rgba(255,255,255,.03) 34% 36%, transparent 36% 46%, rgba(255,255,255,.03) 46% 48%, transparent 48% 58%, rgba(255,255,255,.03) 58% 60%, transparent 60%);
  clip-path: polygon(40% 0, 61% 0, 100% 100%, 0 100%);
  border-radius:8px 8px 0 0;
  opacity:.85;
}

.house-plant{
  position:absolute;
  bottom:7%;
  width:54px;
  height:92px;
  background:
    radial-gradient(circle at 50% 100%, rgba(0,0,0,.25), transparent 48%),
    radial-gradient(circle at 34% 34%, #243529 0 16%, transparent 17%),
    radial-gradient(circle at 66% 27%, #2b412f 0 16%, transparent 17%),
    radial-gradient(circle at 28% 57%, #2a3f2d 0 15%, transparent 16%),
    radial-gradient(circle at 70% 56%, #355039 0 15%, transparent 16%),
    radial-gradient(circle at 50% 44%, #2f4634 0 18%, transparent 19%),
    linear-gradient(180deg, transparent 0 74%, #17181a 74% 100%);
  filter: drop-shadow(0 10px 10px rgba(0,0,0,.18));
}

.plant-left{ right:34%; }
.plant-right{ right:11%; }

@media(max-width:1180px){
  .hero-house-visual{
    min-height:340px;
  }
  .house-main{
    width:min(540px, 86%);
    height:60%;
    right:7%;
  }
}

@media(max-width:720px){
  .hero-house-visual{
    min-height:280px;
  }
  .house-main{
    right:5%;
    width:90%;
    height:58%;
    bottom:14%;
  }
  .door-frame{
    width:68px;
    height:145px;
  }
  .window{
    min-width:46px;
    height:58px;
  }
  .window.tall{
    height:82px;
  }
  .window.wide{
    min-width:76px;
    height:64px;
  }
  .entry-steps{
    width:128px;
    height:42px;
  }
  .house-path{
    width:180px;
    height:90px;
  }
  .house-plant{
    width:38px;
    height:68px;
  }
}


/* =========================================================
   Hero photo patch
   Replaces the CSS-illustrated house with the photographic
   house treatment from the original TabooIndex mockup.
   ========================================================= */

.hero {
  grid-template-columns: 0.94fr 1.06fr;
  gap: 0;
  align-items: stretch;
  min-height: 500px;
  padding-top: 54px;
  padding-bottom: 0;
}

.hero-copy {
  position: relative;
  z-index: 3;
  align-self: center;
  padding: 20px 28px 56px 0;
}

.hero-house-photo {
  position: relative;
  z-index: 1;
  min-height: 440px;
  align-self: stretch;

  /* No card/container treatment. */
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;

  background-image: url("./assets/hero-house.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 61% center;
}

/* Fade the photograph into the black text area like the original mock-up. */
.hero-house-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      #09090a 0%,
      rgba(9, 9, 10, .98) 4%,
      rgba(9, 9, 10, .80) 16%,
      rgba(9, 9, 10, .38) 31%,
      rgba(9, 9, 10, .08) 47%,
      transparent 63%
    ),
    linear-gradient(
      0deg,
      #09090a 0%,
      rgba(9, 9, 10, .55) 5%,
      transparent 19%
    );
}

/* Slightly darken the photo so the warm house windows remain the focus. */
.hero-house-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.05),
    rgba(0,0,0,.02) 52%,
    rgba(0,0,0,.18)
  );
}

/* Neutralize the generic framed hero-art treatment for this photo version. */
.hero-art.hero-house-photo {
  background-color: transparent;
}

/* Desktop: let the image visually reach toward the right edge. */
@media (min-width: 1181px) {
  .hero-house-photo {
    margin-right: -12px;
    margin-left: -34px;
  }
}

/* Tablet/mobile: retain the photograph, but put it below the copy cleanly. */
@media (max-width: 1180px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-bottom: 34px;
  }

  .hero-copy {
    padding-right: 0;
    padding-bottom: 10px;
  }

  .hero-house-photo {
    min-height: 330px;
    border-radius: 18px;
    background-position: 67% center;
  }

  .hero-house-photo::before {
    background:
      linear-gradient(
        90deg,
        rgba(9,9,10,.48) 0%,
        rgba(9,9,10,.12) 27%,
        transparent 55%
      ),
      linear-gradient(
        0deg,
        #09090a 0%,
        rgba(9,9,10,.40) 7%,
        transparent 23%
      );
  }
}

@media (max-width: 720px) {
  .hero {
    min-height: auto;
    padding-top: 38px;
  }

  .hero-house-photo {
    min-height: 255px;
    border-radius: 16px;
    background-position: 69% center;
  }
}


/* V0.3.5 Cast Combinations directory */
.cast-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.cast-directory-page{
  width:min(1500px,calc(100% - 36px));
  margin:0 auto;
  padding:42px 12px 70px;
}

.cast-directory-hero{
  padding:0 0 30px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.cast-directory-hero h1{
  font-size:clamp(42px,5vw,68px);
  letter-spacing:-2px;
  margin:4px 0 12px;
}

.cast-directory-hero h1 span{
  color:var(--accent);
}

.cast-directory-hero p{
  color:#aaaab3;
  max-width:760px;
  line-height:1.55;
  margin:0;
}

.combination-search{
  width:min(520px,100%);
  height:48px;
}

.combination-directory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.combination-directory-card{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:18px;
  align-items:center;
  min-height:150px;
  padding:18px;
  color:inherit;
  text-decoration:none;
  border:1px solid #29292f;
  border-radius:16px;
  background:linear-gradient(145deg,#151518,#0f0f11);
  transition:transform .16s ease,border-color .16s ease;
}

.combination-directory-card:hover{
  transform:translateY(-2px);
  border-color:rgba(227,63,63,.65);
}

.combination-code{
  min-height:112px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(227,63,63,.48);
  background:rgba(227,63,63,.045);
  color:var(--accent2);
  font-size:34px;
  font-weight:900;
  letter-spacing:-1px;
}

.combination-copy h2{
  margin:0 0 5px;
  font-size:20px;
}

.combination-copy>p{
  margin:0;
  color:#9999a3;
  font-size:13px;
}

.combination-mini-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:15px;
}

.combination-mini-meta span{
  padding:6px 8px;
  border-radius:8px;
  border:1px solid #29292f;
  background:#101012;
  color:#888892;
  font-size:10px;
}

@media(max-width:800px){
  .cast-directory-page{
    width:min(100% - 22px,1500px);
    padding-left:4px;
    padding-right:4px;
  }

  .combination-directory-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .combination-directory-card{
    grid-template-columns:88px 1fr auto;
    padding:12px;
  }

  .combination-code{
    min-height:88px;
    font-size:26px;
  }
}


/* V0.3.6 internal page header normalization
   Homepage hero h1 intentionally remains larger. */
.browse-hero h1,
.directory-hero h1,
.cast-directory-hero h1,
.profile-intro h1 {
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: -2px;
}

/* Preserve red emphasis consistently across internal page titles. */
.browse-hero h1 span,
.directory-hero h1 span,
.cast-directory-hero h1 span,
.profile-intro h1 span {
  color: var(--accent);
}


/* V0.3.7 top-level page title alignment */
.browse-hero,
.directory-hero,
.cast-directory-hero {
  padding-top: 0;
}


/* V0.3.8 top-level header spacing normalization
   Reserve the same two-line description area on every top-level internal page,
   so content below does not move when a subtitle wraps. */
.browse-hero p,
.directory-hero > p,
.cast-directory-hero p {
  min-height: 3.1em;
  line-height: 1.55;
  margin-bottom: 0;
}

/* Keep the top-level heading blocks vertically consistent. */
.browse-hero,
.directory-hero,
.cast-directory-hero {
  padding-top: 0;
  padding-bottom: 30px;
}


/* =========================================================
   V0.4 Scene detail pages
   ========================================================= */

.scene-card-clickable{
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease;
}

.scene-card-clickable:hover,
.scene-card-clickable:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(227,63,63,.55);
  outline:none;
}

.scene-thumb-link,
.scene-title-link{
  color:inherit;
  text-decoration:none;
}

.scene-title-link:hover{
  color:white;
}

.scene-page{
  width:min(1500px,calc(100% - 36px));
  margin:0 auto;
  padding:42px 12px 70px;
}

.scene-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:24px;
  align-items:start;
}

.scene-main-column{
  min-width:0;
}

.scene-player-shell{
  width:100%;
  aspect-ratio:16/9;
  border:1px solid #2c2c32;
  border-radius:18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 64% 38%,rgba(227,63,63,.08),transparent 24%),
    linear-gradient(145deg,#17171b,#0b0b0d 72%);
  box-shadow:var(--shadow);
}

.scene-player-placeholder{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#8f8f99;
  text-align:center;
  padding:24px;
}

.scene-player-placeholder strong{
  color:#dadade;
  font-size:18px;
}

.scene-player-placeholder span{
  font-size:12px;
}

.scene-player-button{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  color:white;
  background:rgba(0,0,0,.52);
  font-size:22px;
  padding-left:4px;
  margin-bottom:4px;
}

.scene-title-block{
  padding:24px 2px 0;
}

.scene-title-block h1{
  margin:0 0 10px;
  font-size:clamp(32px,4vw,52px);
  line-height:1.04;
  letter-spacing:-1.7px;
}

.scene-detail-performers{
  color:#aaaab3;
  font-size:14px;
  margin-bottom:14px;
}

.scene-detail-badges{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.scene-badge-link{
  text-decoration:none;
}

.scene-action-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:20px 0 8px;
}

.secondary-button{
  min-height:45px;
  border-radius:11px;
  padding:0 16px;
  color:#dddde3;
  background:#151518;
  border:1px solid #323239;
  cursor:pointer;
  font-weight:750;
  font-size:13px;
}

.secondary-button:hover{
  border-color:#55555f;
}

.scene-source-disabled{
  opacity:.56;
  cursor:not-allowed;
  pointer-events:none;
}

.scene-metadata-panel{
  position:sticky;
  top:94px;
  border:1px solid #29292f;
  border-radius:17px;
  background:linear-gradient(155deg,#151518,#101012);
  padding:20px;
}

.scene-metadata-panel h2{
  margin:0 0 18px;
  font-size:22px;
}

.scene-details-list{
  margin:0;
}

.scene-details-list>div{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  padding:11px 0;
  border-top:1px solid #29292f;
}

.scene-details-list>div:first-child{
  border-top:0;
  padding-top:0;
}

.scene-details-list dt{
  color:#808089;
  font-size:12px;
}

.scene-details-list dd{
  margin:0;
  color:#e3e3e7;
  font-size:12px;
  font-weight:700;
  text-align:right;
}

.scene-details-list dd a{
  color:var(--accent2);
  text-decoration:none;
}

.scene-details-list dd a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.scene-tag-group{
  padding-top:18px;
  margin-top:8px;
  border-top:1px solid #29292f;
}

.scene-tag-group>strong{
  display:block;
  margin-bottom:10px;
  font-size:12px;
}

.scene-rights-status{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  margin-top:20px;
  padding:13px;
  border-radius:12px;
  border:1px solid #2a2a30;
  background:#101012;
}

.rights-status-dot{
  width:8px;
  height:8px;
  margin-top:5px;
  border-radius:50%;
  background:#777781;
}

.scene-rights-status strong,
.scene-rights-status small{
  display:block;
}

.scene-rights-status strong{
  font-size:11px;
  margin-bottom:4px;
}

.scene-rights-status small{
  color:#777781;
  line-height:1.45;
  font-size:10px;
}

.scene-related-section{
  margin-top:34px;
  padding-left:0;
  padding-right:0;
}

@media(max-width:1050px){
  .scene-detail-layout{
    grid-template-columns:1fr;
  }

  .scene-metadata-panel{
    position:static;
  }
}

@media(max-width:720px){
  .scene-page{
    width:min(100% - 22px,1500px);
    padding-left:4px;
    padding-right:4px;
  }

  .scene-player-shell{
    border-radius:14px;
  }

  .scene-title-block h1{
    font-size:34px;
  }
}


/* =========================================================
   V0.5 PRIVATE CONTENT CONSOLE
   ========================================================= */

.admin-body{
  background:
    radial-gradient(circle at 90% 0%, rgba(128,24,24,.10), transparent 24rem),
    #09090a;
}

.admin-header{
  min-height:76px;
  padding:0 clamp(18px,4vw,52px);
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:28px;
  align-items:center;
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(8,8,9,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.07);
}

.admin-header-copy strong,
.admin-header-copy span{
  display:block;
}

.admin-header-copy strong{
  font-size:14px;
}

.admin-header-copy span{
  margin-top:3px;
  color:#777781;
  font-size:11px;
}

.admin-header-actions{
  display:flex;
  gap:9px;
  align-items:center;
}

.admin-page{
  width:min(1520px,calc(100% - 36px));
  margin:0 auto;
  padding:30px 12px 70px;
}

.admin-banner{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding:18px 20px;
  border:1px solid rgba(227,63,63,.28);
  border-radius:15px;
  background:rgba(227,63,63,.035);
}

.admin-banner strong{
  display:block;
  margin-bottom:5px;
}

.admin-banner p{
  max-width:900px;
  margin:0;
  color:#91919b;
  font-size:12px;
  line-height:1.55;
}

.admin-local-pill{
  flex:0 0 auto;
  border:1px solid rgba(227,63,63,.55);
  border-radius:999px;
  padding:7px 10px;
  color:var(--accent2);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}

.admin-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}

.admin-stats>div{
  min-height:88px;
  padding:14px;
  border:1px solid #28282e;
  border-radius:13px;
  background:linear-gradient(145deg,#151518,#101012);
}

.admin-stats small,
.admin-stats strong{
  display:block;
}

.admin-stats small{
  color:#787881;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.admin-stats strong{
  margin-top:7px;
  font-size:26px;
}

.admin-tabs{
  display:flex;
  gap:7px;
  margin-bottom:16px;
  padding:6px;
  border:1px solid #29292f;
  border-radius:13px;
  background:#101012;
}

.admin-tab{
  min-height:40px;
  padding:0 15px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#8d8d97;
  cursor:pointer;
  font-weight:750;
  font-size:12px;
}

.admin-tab:hover{
  color:white;
}

.admin-tab.active{
  background:#202024;
  color:white;
}

.admin-panel{
  display:none;
}

.admin-panel.active{
  display:block;
}

.admin-section-heading{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  padding:25px 0 20px;
}

.admin-section-heading h1{
  margin:0;
  font-size:32px;
  letter-spacing:-1px;
}

.admin-section-heading p{
  margin:6px 0 0;
  color:#83838d;
  font-size:12px;
}

.admin-form{
  display:grid;
  gap:14px;
}

.admin-form-section{
  padding:20px;
  border:1px solid #29292f;
  border-radius:15px;
  background:#101012;
}

.admin-form-section h2{
  margin:0 0 18px;
  font-size:18px;
}

.admin-form-grid{
  display:grid;
  gap:12px;
  margin-bottom:12px;
}

.admin-form-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.admin-form-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.admin-form-grid.four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.admin-form label,
.import-card label{
  display:block;
}

.admin-form label>span,
.import-card label>span{
  display:block;
  margin-bottom:7px;
  color:#bebec5;
  font-size:11px;
  font-weight:700;
}

.admin-form input,
.admin-form select,
.admin-form textarea,
.review-toolbar input,
.review-toolbar select{
  width:100%;
  min-height:44px;
  padding:10px 11px;
  color:#eeeef1;
  background:#151518;
  border:1px solid #303037;
  border-radius:10px;
  outline:none;
}

.admin-form textarea{
  resize:vertical;
}

.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.review-toolbar input:focus,
.review-toolbar select:focus{
  border-color:rgba(227,63,63,.75);
}

.admin-form label>small{
  display:block;
  margin-top:5px;
  color:#696971;
  font-size:10px;
}

.admin-checkbox-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.admin-check{
  display:grid!important;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid #29292f;
  border-radius:11px;
  background:#131316;
}

.admin-check input{
  width:auto;
  min-height:auto;
  margin-top:2px;
  accent-color:var(--accent);
}

.admin-check span,
.admin-check strong,
.admin-check small{
  display:block;
}

.admin-check strong{
  font-size:11px;
}

.admin-check small{
  margin-top:4px;
  color:#74747d;
  font-size:9px;
  line-height:1.4;
}

.admin-form-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
}

.admin-primary-button{
  border:0;
  cursor:pointer;
}

.admin-primary-button.disabled,
.admin-primary-button:disabled{
  opacity:.42;
  cursor:not-allowed;
}

.import-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.import-card{
  min-height:290px;
  padding:20px;
  border:1px solid #29292f;
  border-radius:15px;
  background:#101012;
}

.import-card h2{
  margin:0 0 6px;
}

.import-card>p{
  color:#82828c;
  font-size:12px;
  line-height:1.5;
}

.file-drop{
  min-height:170px;
  margin-top:18px;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px dashed #404049;
  border-radius:13px;
  background:#131316;
  cursor:pointer;
}

.file-drop:hover{
  border-color:rgba(227,63,63,.65);
}

.file-drop input{
  margin-bottom:12px;
}

.file-drop strong{
  font-size:14px;
}

.file-drop span{
  margin-top:6px;
  max-width:430px;
  color:#72727b;
  font-size:10px;
  line-height:1.45;
}

.import-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.field-token-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:16px 0;
}

.field-token-list span{
  padding:5px 7px;
  border:1px solid #303037;
  border-radius:7px;
  color:#aaaab2;
  background:#151518;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:9px;
}

.import-note{
  color:#777781!important;
  font-size:10px!important;
}

.import-template-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:17px;
}

.import-template-links a{
  color:var(--accent2);
  font-size:11px;
}

.import-log{
  margin-top:14px;
  padding:18px;
  border:1px solid #29292f;
  border-radius:15px;
  background:#101012;
}

.import-log strong{
  display:block;
  margin-bottom:10px;
}

.import-log pre{
  max-height:260px;
  overflow:auto;
  margin:0;
  color:#8e8e98;
  white-space:pre-wrap;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:10px;
  line-height:1.55;
}

.review-heading{
  align-items:center;
}

.review-toolbar{
  display:flex;
  gap:8px;
  align-items:center;
}

.review-toolbar select{
  width:170px;
}

.review-toolbar input{
  width:280px;
}

.review-layout{
  display:grid;
  grid-template-columns:minmax(400px,.92fr) minmax(470px,1.08fr);
  gap:14px;
  align-items:start;
}

.review-queue{
  display:grid;
  gap:8px;
}

.review-card{
  width:100%;
  text-align:left;
  padding:14px;
  border:1px solid #29292f;
  border-radius:13px;
  background:linear-gradient(145deg,#151518,#101012);
  cursor:pointer;
}

.review-card:hover,
.review-card.selected{
  border-color:rgba(227,63,63,.62);
}

.review-card.selected{
  box-shadow:inset 3px 0 0 var(--accent);
}

.review-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}

.review-card-top small{
  color:#676770;
  font-size:9px;
}

.review-card>strong,
.review-card>span{
  display:block;
}

.review-card>strong{
  font-size:14px;
}

.review-card>span{
  margin-top:4px;
  color:#85858f;
  font-size:10px;
}

.review-card-meta{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:10px;
}

.review-card-meta span{
  padding:4px 6px;
  border-radius:6px;
  background:#0e0e10;
  color:#85858e;
  font-size:9px;
}

.status-pill{
  display:inline-flex;
  min-height:23px;
  align-items:center;
  border-radius:999px;
  padding:0 8px;
  border:1px solid #393941;
  color:#aaaab3;
  font-size:8px;
  font-weight:850;
  letter-spacing:.06em;
}

.status-ready{
  border-color:rgba(70,176,106,.45);
  color:#72d092;
}

.status-published{
  border-color:rgba(70,176,106,.68);
  color:#91e6ac;
  background:rgba(70,176,106,.055);
}

.status-needs_review{
  border-color:rgba(209,151,52,.48);
  color:#ddb368;
}

.status-blocked{
  border-color:rgba(227,63,63,.68);
  color:#ff7474;
}

.review-inspector{
  position:sticky;
  top:96px;
  min-height:450px;
  padding:18px;
  border:1px solid #29292f;
  border-radius:15px;
  background:#101012;
}

.review-inspector-empty{
  min-height:410px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  text-align:center;
  color:#707079;
}

.review-inspector-empty strong{
  color:#b6b6bd;
}

.review-inspector-empty span{
  max-width:330px;
  font-size:10px;
  line-height:1.5;
}

.inspector-top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:15px;
  align-items:start;
}

.inspector-top h2{
  margin:9px 0 4px;
  font-size:23px;
  letter-spacing:-.5px;
}

.inspector-top p{
  margin:0;
  color:#84848e;
  font-size:11px;
}

.inspector-close{
  width:34px;
  height:34px;
  border:1px solid #303037;
  border-radius:9px;
  background:#151518;
  color:#aaaab2;
  cursor:pointer;
}

.inspector-preview{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:14px;
  align-items:center;
  margin:18px 0;
  padding:12px;
  border:1px solid #29292f;
  border-radius:12px;
  background:#131316;
}

.inspector-preview-thumb{
  aspect-ratio:16/10;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:linear-gradient(145deg,#342726,#16171a);
  color:#71717a;
  font-size:10px;
}

.inspector-preview-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.inspector-preview>div:last-child strong,
.inspector-preview>div:last-child span{
  display:block;
}

.inspector-preview>div:last-child strong{
  color:var(--accent2);
  font-size:22px;
}

.inspector-preview>div:last-child span{
  margin-top:4px;
  color:#85858e;
  font-size:10px;
}

.inspector-section{
  padding:15px 0;
  border-top:1px solid #29292f;
}

.inspector-section h3{
  margin:0 0 11px;
  font-size:12px;
}

.validation-list{
  margin:0;
  padding-left:18px;
  font-size:10px;
  line-height:1.6;
}

.validation-list.errors{
  color:#e27f7f;
}

.validation-list.warnings{
  margin-top:8px;
  color:#c4a56d;
}

.validation-pass{
  padding:9px;
  border-radius:9px;
  border:1px solid rgba(70,176,106,.35);
  background:rgba(70,176,106,.045);
  color:#83d39d;
  font-size:10px;
}

.inspector-dl{
  margin:0;
}

.inspector-dl>div{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:12px;
  padding:6px 0;
}

.inspector-dl dt{
  color:#777781;
  font-size:9px;
}

.inspector-dl dd{
  margin:0;
  color:#c5c5cb;
  text-align:right;
  font-size:9px;
  overflow-wrap:anywhere;
}

.inspector-tags{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.inspector-tags span{
  padding:5px 7px;
  border:1px solid #303037;
  border-radius:7px;
  color:#a3a3ac;
  background:#151518;
  font-size:9px;
}

.inspector-notes{
  color:#777781;
  font-size:10px;
  line-height:1.5;
}

.inspector-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding-top:16px;
  border-top:1px solid #29292f;
}

.danger-outline{
  border-color:rgba(227,63,63,.45);
  color:#ee8585;
}

.danger-outline:hover{
  border-color:rgba(227,63,63,.78);
}

.queue-empty{
  padding:60px 20px;
  text-align:center;
  border:1px dashed #34343c;
  border-radius:14px;
  color:#73737c;
  font-size:11px;
}

@media(max-width:1100px){
  .admin-form-grid.four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-form-grid.three{
    grid-template-columns:1fr 1fr;
  }

  .admin-checkbox-grid{
    grid-template-columns:1fr;
  }

  .review-layout{
    grid-template-columns:1fr;
  }

  .review-inspector{
    position:static;
  }
}

@media(max-width:780px){
  .admin-header{
    grid-template-columns:1fr;
    gap:10px;
    padding-top:14px;
    padding-bottom:14px;
  }

  .admin-header-actions{
    flex-wrap:wrap;
  }

  .admin-page{
    width:min(100% - 22px,1520px);
    padding-left:4px;
    padding-right:4px;
  }

  .admin-banner{
    align-items:flex-start;
    flex-direction:column;
  }

  .admin-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-tabs{
    overflow:auto;
  }

  .admin-form-grid.two,
  .admin-form-grid.three,
  .admin-form-grid.four,
  .import-layout{
    grid-template-columns:1fr;
  }

  .admin-section-heading,
  .review-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .review-toolbar{
    width:100%;
    flex-direction:column;
  }

  .review-toolbar select,
  .review-toolbar input{
    width:100%;
  }

  .inspector-preview{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V0.6 LAUNCH INFRASTRUCTURE
   ========================================================= */
.ad-slot{margin:18px auto;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#0c0c0e;overflow:hidden}
.ad-slot[hidden]{display:none!important}
.ad-leaderboard{width:min(970px,calc(100% - 36px));height:100px}
.ad-sidebar{width:100%;min-height:250px}
.ad-frame{display:block;width:100%;height:100%;border:0;background:transparent}
.browse-ad-sidebar,.scene-ad-sidebar{margin-top:18px;min-height:250px}
.tabooindex-video{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:15px}
.admin-auth-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(4,4,5,.94);backdrop-filter:blur(16px)}
.admin-auth-overlay.hidden{display:none}
.admin-auth-card{width:min(430px,calc(100% - 30px));padding:28px;border:1px solid #303037;border-radius:18px;background:#101012;box-shadow:var(--shadow)}
.admin-auth-card h1{margin:24px 0 8px;font-size:28px}.admin-auth-card p{color:#888892;font-size:12px;line-height:1.55}
.admin-auth-card input{width:100%;min-height:48px;margin:12px 0;padding:0 12px;border:1px solid #33333a;border-radius:10px;background:#151518;color:white}
.admin-auth-card button{width:100%;justify-content:center}.admin-auth-card small{display:block;margin-top:10px;color:#e78686}
.admin-inline-note{display:block;color:#777781;font-size:10px;line-height:1.5;margin-top:8px}
@media(max-width:900px){.ad-leaderboard{height:90px}.browse-ad-sidebar,.scene-ad-sidebar{display:none!important}}
