/* =========================
   ART-DECO 1930s THEME
   ========================= */

:root{
  --bg:#091019;
  --bg-deep:#060b12;
  --panel:#121925;
  --panel2:#0d131d;
  --panel3:#1a2434;
  --line:rgba(218,196,154,.18);
  --line-strong:rgba(218,196,154,.3);

  --text:#f5efe4;
  --muted:#c6b9a4;

  --gold:#e3bc63;
  --gold-soft:rgba(227,188,99,.18);
  --gold-strong:rgba(227,188,99,.34);
  --teal:#52a7aa;
  --teal-soft:rgba(82,167,170,.18);
  --teal-strong:rgba(82,167,170,.34);
  --copper:#d07c58;
  --copper-soft:rgba(208,124,88,.18);
  --copper-strong:rgba(208,124,88,.34);
  --sky:#7f98c7;
  --sky-soft:rgba(127,152,199,.18);
  --sky-strong:rgba(127,152,199,.34);
  --rose:#cc6d7b;
  --rose-soft:rgba(204,109,123,.18);
  --rose-strong:rgba(204,109,123,.34);
  --jade:#88b88f;
  --jade-soft:rgba(136,184,143,.18);
  --jade-strong:rgba(136,184,143,.34);

  --accent:var(--gold);
  --accent-soft:var(--gold-soft);
  --accent-strong:var(--gold-strong);
  --section-wash:rgba(227,188,99,.08);
  --section-wash-strong:rgba(227,188,99,.16);
  --section-glow:rgba(227,188,99,.12);

  --good:#8fd4a3;
  --bad:#e06b5a;
  --warn:#e1ba68;
  --info:#7faecc;

  --btn:#1b2433;
  --btn2:#121927;
}

*{box-sizing:border-box}
html,body{
  height:100%;
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial;
  letter-spacing:.15px;
}
body{
  background:
    radial-gradient(circle at top left, rgba(82,167,170,.12), transparent 24%),
    radial-gradient(circle at top right, rgba(208,124,88,.12), transparent 28%),
    radial-gradient(circle at bottom center, rgba(227,188,99,.08), transparent 34%),
    linear-gradient(180deg, #091019 0%, #0b1119 42%, #090e15 100%);
  color:var(--text);
  overflow:hidden;
}
button,input,select{font:inherit}

/* Layout */
#app{
  height:100%;
  overflow:hidden;
}
.main{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
}

/* Topbar */
.topbar{
  background:
    linear-gradient(90deg, rgba(82,167,170,.08), transparent 24%, rgba(208,124,88,.06) 76%, transparent),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    linear-gradient(180deg,#16202d 0%,#101722 55%,#0d121b 100%);
  border-bottom:1px solid var(--line-strong);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
  padding:12px 18px 10px;
  display:grid;
  grid-template-rows:auto auto;
  gap:10px;
  min-height:78px;
}
.topbar-main{
  display:grid;
  grid-template-columns:minmax(240px, 360px) minmax(280px, 1fr) auto;
  align-items:center;
  gap:18px;
  min-width:0;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.brand-logo{
  width:34px;
  height:34px;
  object-fit:cover;
  border:1px solid rgba(227,188,99,.38);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    linear-gradient(180deg, #223043 0%, #141b28 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
.brand-copy{
  min-width:0;
  max-width:300px;
}
.brand-title{
  font-weight:900;
  letter-spacing:.7px;
  font-size:17px;
  line-height:1.05;
  text-transform:uppercase;
  color:var(--accent);
  text-shadow:0 0 18px rgba(227,188,99,.14);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brand--long .brand-title{
  font-size:15px;
  letter-spacing:.45px;
}
.brand-subtitle{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.7px;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topnav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  align-items:center;
}
.topnav button{
  background:transparent;
  border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  padding:8px 13px;
  cursor:pointer;
  position:relative;
  font-weight:650;
  white-space:nowrap;
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012)),
    linear-gradient(180deg, rgba(20,27,38,.96), rgba(11,16,23,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.topnav button::after{
  content:none;
}
.topnav button.active{
  color:#171109;
  background:
    linear-gradient(180deg, rgba(255,245,220,.18), rgba(255,245,220,0) 28%),
    linear-gradient(180deg,#e5c56d 0%,#c9962e 100%);
  border-color:#e3bc63;
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;
}
.topnav button:hover{
  color:var(--text);
  border-color:rgba(82,167,170,.32);
  background:
    linear-gradient(180deg, rgba(82,167,170,.12), rgba(82,167,170,.02) 55%),
    linear-gradient(180deg, rgba(20,27,38,.98), rgba(11,16,23,.98));
}
.topnav-shell{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:10px;
  min-width:0;
}

.topbar-newsbar{
  border:1px solid rgba(227,188,99,.42);
  background:
    linear-gradient(90deg, rgba(227,188,99,.28), rgba(255,231,170,.12) 42%, rgba(227,188,99,.22)),
    linear-gradient(180deg, rgba(48,38,16,.95), rgba(28,23,12,.98));
  box-shadow:inset 0 1px 0 rgba(255,245,220,.08);
  overflow:hidden;
}

.topbar-newsbar-inner{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:8px 12px;
}

.topbar-newsbar-kicker{
  flex:0 0 auto;
  color:#1f1606;
  background:linear-gradient(180deg, #f4d47a, #d0a53c);
  border:1px solid rgba(94,63,6,.32);
  padding:4px 8px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.75px;
  text-transform:uppercase;
}

.topbar-newsbar-text{
  min-width:0;
  color:#f5e7c4;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.topbar-newsbar-text strong{
  color:#fff1c8;
  font-weight:800;
}

/* Inbox badge */
.tab-badge{
  position:absolute;
  top:-6px;right:-6px;
  min-width:18px;height:18px;
  padding:0 6px;
  border-radius:999px;
  background:linear-gradient(180deg, #ef7b69 0%, #bf4f45 100%);
  color:#fff;
  font-size:11px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.5);
  box-shadow:0 8px 16px rgba(0,0,0,.2);
}

/* Right side */
.topbar .right{display:flex;gap:14px;align-items:center;justify-content:flex-end;min-width:0;flex-wrap:wrap}
.topbar-search{
  position:relative;
  min-width:0;
}
.topbar-search input{
  width:100%;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(82,167,170,.08), rgba(82,167,170,0) 40%),
    linear-gradient(180deg,#182131 0%,#101722 100%);
  color:var(--text);
  padding:10px 12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.topbar-search input::placeholder{
  color:rgba(183,173,152,.7);
}
.topbar-search-results{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:40;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, var(--section-wash-strong), transparent 34%),
    linear-gradient(180deg,#182131 0%,#111824 100%);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
  overflow:hidden;
}
.topbar-search-item{
  width:100%;
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:none;
  border-top:1px solid rgba(255,255,255,.08);
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.topbar-search-item:first-child{
  border-top:none;
}
.topbar-search-item:hover{
  background:linear-gradient(90deg, var(--section-wash-strong), rgba(255,255,255,.02));
}
.special-star{
  color:var(--accent);
  margin-right:4px;
  text-shadow:0 0 12px rgba(227,188,99,.22);
}
.topbar-search-empty{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.topbar-search-empty{
  padding:12px;
}

.talent-inline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.talent-inline--xs{
  gap:8px;
}

.talent-inline--md{
  gap:12px;
}

.talent-inline-portrait{
  width:30px;
  height:30px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid rgba(127,152,199,.28);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.09), transparent 32%),
    linear-gradient(180deg,#30415a 0%, #131a24 100%);
  display:grid;
  place-items:center;
  flex:0 0 auto;
}

.talent-inline--xs .talent-inline-portrait{
  width:24px;
  height:24px;
}

.talent-inline--md .talent-inline-portrait{
  width:36px;
  height:36px;
}

.talent-inline-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.talent-inline-initials{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-style:normal;
  font-size:10px;
  line-height:1;
  letter-spacing:.5px;
  color:var(--text);
  text-transform:uppercase;
}

.talent-inline--md .talent-inline-initials{
  font-size:11px;
}

.talent-inline-copy{
  display:grid;
  gap:2px;
  min-width:0;
}

.talent-inline-name{
  color:var(--text);
  font-weight:700;
  font-size:13px;
  letter-spacing:.2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.talent-inline--xs .talent-inline-name{
  font-size:12px;
}

.talent-inline-subtitle{
  color:var(--muted);
  font-size:11px;
  line-height:1.25;
}

.topbar-search-item .talent-inline{
  width:100%;
}

.topbar-search-item .talent-inline-subtitle{
  color:var(--muted);
}
.pill{
  border:1px solid rgba(255,255,255,.08);
  padding:8px 14px;
  color:var(--muted);
  font-size:13px;
  background:
    linear-gradient(180deg, rgba(127,152,199,.08), rgba(127,152,199,0) 42%),
    linear-gradient(180deg,#182131 0%,#101722 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

/* Speed */
.speed{display:flex;gap:6px}
.speed button{
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    linear-gradient(180deg,#182131 0%,#111824 100%);
  color:var(--muted);
  padding:6px 12px;
  cursor:pointer;
  font-weight:800;
}
.speed button.active{
  color:#000;
  background:var(--accent);
  border-color:var(--accent);
}
.speed button.active[data-speed="1"]{
  color:#0b1410;
  background:var(--good);
  border-color:var(--good);
}
.speed button.active[data-speed="2"]{
  color:#081313;
  background:#7fd8c8;
  border-color:#7fd8c8;
}
.speed button.active[data-speed="4"]{
  color:#1c1406;
  background:#e9bf62;
  border-color:#e9bf62;
}
.speed button.active[data-speed="10"]{
  color:#170707;
  background:var(--bad);
  border-color:var(--bad);
}

.value-positive{color:var(--good) !important}
.value-negative{color:var(--bad) !important}
.value-neutral{color:var(--muted) !important}

.topbar-toast-rack{
  position:fixed;
  top:18px;
  right:18px;
  z-index:1200;
  display:grid;
  gap:10px;
  width:min(360px, calc(100vw - 36px));
  pointer-events:none;
}

.topbar-toast{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:8px;
  padding:12px 14px 16px;
  border:1px solid var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash-strong), transparent 38%),
    linear-gradient(180deg, rgba(21,25,34,.98), rgba(15,19,24,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.3);
  pointer-events:auto;
}

.topbar-toast strong{
  padding-right:22px;
  color:var(--text);
  font-size:13px;
  letter-spacing:.3px;
  text-transform:uppercase;
}

.topbar-toast-copy{
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.topbar-toast-close{
  position:absolute;
  top:8px;
  right:8px;
  border:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  text-transform:uppercase;
}

.topbar-toast-bar{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:rgba(255,255,255,.08);
}

.topbar-toast-bar i{
  display:block;
  height:100%;
  width:100%;
  transform-origin:left center;
  background:linear-gradient(90deg, var(--teal), var(--accent));
  animation:toast-timer linear forwards;
}

@keyframes toast-timer{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}

.news-shell{
  display:grid;
  gap:16px;
}

.news-header{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(340px,.9fr);
  gap:16px;
  align-items:start;
}

.news-header-note{
  color:var(--muted);
  max-width:78ch;
  line-height:1.5;
}

.news-header-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.news-metric{
  border:1px solid rgba(212,175,55,.18);
  background:rgba(255,255,255,.02);
  padding:12px;
  display:grid;
  gap:6px;
}

.news-metric span,
.news-rival-stat span,
.news-section-head span,
.news-item-meta{
  color:var(--muted);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.news-metric strong{
  font-size:18px;
}

.news-metric small{
  color:var(--muted);
  line-height:1.4;
}

.news-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.25fr);
  gap:16px;
}

.news-section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  margin-bottom:12px;
}

.news-rival-grid{
  display:grid;
  gap:12px;
}

.news-rival-card{
  border:1px solid rgba(212,175,55,.16);
  background:rgba(255,255,255,.02);
  padding:14px;
  display:grid;
  gap:10px;
}

.news-rival-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
}

.news-rival-top strong{
  font-size:17px;
}

.news-rival-top span,
.news-rival-meta{
  color:var(--muted);
  font-size:12px;
}

.news-rival-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
}

.news-rival-stat{
  border:1px solid rgba(212,175,55,.12);
  background:rgba(255,255,255,.015);
  padding:10px;
  display:grid;
  gap:4px;
}

.news-rival-stat strong{
  font-size:15px;
}

.news-rival-copy{
  color:var(--text);
  line-height:1.45;
}

.news-feed{
  display:grid;
  gap:10px;
}

.news-item{
  border:1px solid rgba(212,175,55,.14);
  background:rgba(255,255,255,.02);
  padding:14px;
  display:grid;
  gap:8px;
}

.news-item-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
}

.news-item-top strong{
  font-size:16px;
}

.news-item-top span{
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}

.news-item p{
  margin:0;
  color:var(--text);
  line-height:1.5;
}

.news-empty{
  color:var(--muted);
  line-height:1.5;
  padding:8px 0 2px;
}

@media (max-width: 1180px){
  .news-header,
  .news-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 680px){
  .news-header-stats,
  .news-rival-stats{
    grid-template-columns:1fr;
  }

  .news-item-top,
  .news-rival-top{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Content */
.content{
  min-height:0;
  padding:20px;
  overflow:auto;
}

.content[data-route="studio"]{
  min-width:0;
  padding:12px 14px 14px;
  overflow:hidden;
}

.content[data-route="studio"] > *{
  height:100%;
}

.content[data-route="debug"]{
  overflow:auto;
}

.content{
  --accent:var(--gold);
  --accent-soft:var(--gold-soft);
  --accent-strong:var(--gold-strong);
  --section-wash:rgba(227,188,99,.08);
  --section-wash-strong:rgba(227,188,99,.16);
  --section-glow:rgba(227,188,99,.12);
}

.content[data-route="studio"]{
  --accent:var(--teal);
  --accent-soft:var(--teal-soft);
  --accent-strong:var(--teal-strong);
  --section-wash:rgba(82,167,170,.08);
  --section-wash-strong:rgba(82,167,170,.18);
  --section-glow:rgba(82,167,170,.12);
}

.content[data-route="people"]{
  --accent:var(--sky);
  --accent-soft:var(--sky-soft);
  --accent-strong:var(--sky-strong);
  --section-wash:rgba(127,152,199,.08);
  --section-wash-strong:rgba(127,152,199,.18);
  --section-glow:rgba(127,152,199,.12);
}

.content[data-route="scripts"]{
  --accent:var(--copper);
  --accent-soft:var(--copper-soft);
  --accent-strong:var(--copper-strong);
  --section-wash:rgba(208,124,88,.08);
  --section-wash-strong:rgba(208,124,88,.18);
  --section-glow:rgba(208,124,88,.12);
}

.content[data-route="production"]{
  --accent:var(--rose);
  --accent-soft:var(--rose-soft);
  --accent-strong:var(--rose-strong);
  --section-wash:rgba(204,109,123,.08);
  --section-wash-strong:rgba(204,109,123,.18);
  --section-glow:rgba(204,109,123,.12);
}

.content[data-route="finances"]{
  --accent:var(--jade);
  --accent-soft:var(--jade-soft);
  --accent-strong:var(--jade-strong);
  --section-wash:rgba(136,184,143,.08);
  --section-wash-strong:rgba(136,184,143,.18);
  --section-glow:rgba(136,184,143,.12);
}

.content[data-route="news"]{
  --accent:var(--teal);
  --accent-soft:var(--teal-soft);
  --accent-strong:var(--teal-strong);
  --section-wash:rgba(82,167,170,.08);
  --section-wash-strong:rgba(82,167,170,.18);
  --section-glow:rgba(82,167,170,.12);
}

.content[data-route="inbox"]{
  --accent:var(--gold);
  --accent-soft:var(--gold-soft);
  --accent-strong:var(--gold-strong);
  --section-wash:rgba(227,188,99,.08);
  --section-wash-strong:rgba(227,188,99,.18);
  --section-glow:rgba(227,188,99,.12);
}

.content[data-route="debug"]{
  --accent:var(--copper);
  --accent-soft:var(--copper-soft);
  --accent-strong:var(--copper-strong);
  --section-wash:rgba(208,124,88,.08);
  --section-wash-strong:rgba(208,124,88,.18);
  --section-glow:rgba(208,124,88,.12);
}

.content[data-route="settings"]{
  --accent:var(--sky);
  --accent-soft:var(--sky-soft);
  --accent-strong:var(--sky-strong);
  --section-wash:rgba(127,152,199,.08);
  --section-wash-strong:rgba(127,152,199,.18);
  --section-glow:rgba(127,152,199,.12);
}

/* Cards */
.card{
  background:
    linear-gradient(180deg, var(--section-wash-strong), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012)),
    linear-gradient(180deg, var(--panel) 0%, var(--panel2) 100%);
  border:1px solid rgba(255,255,255,.08);
  padding:18px;
  box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.card h3{
  margin:0 0 14px 0;
  font-size:15px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--accent);
}

/* Grids */
.grid{display:grid;gap:14px}
.grid.cols2{grid-template-columns:1fr 1fr}
.grid.cols3{grid-template-columns:1fr 1fr 1fr}

/* KPI */
.kpi{display:flex;justify-content:space-between;align-items:baseline}
.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.8px}
.kpi .value{font-weight:900;font-size:22px;color:var(--text)}

/* Tables */
.table{width:100%;border-collapse:collapse;border:1px solid var(--line)}
.table{
  background:rgba(7,11,17,.24);
  border-color:rgba(255,255,255,.08);
}
.table th,.table td{
  padding:12px 12px;
  font-size:13px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.table th{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.6px;
  font-size:12px;
  background:linear-gradient(180deg, var(--section-wash-strong), rgba(255,255,255,.02));
}
.table-sort{
  border:none;
  padding:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:800;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
}
.table-sort:hover{color:var(--text)}
.table-sort.active{color:var(--text)}
.table tr:nth-child(even) td{background:rgba(255,255,255,.012)}
.table tr:hover td{background:linear-gradient(90deg, var(--section-wash), rgba(255,255,255,.025))}

/* Separators */
hr.sep{border:none;border-top:1px solid var(--line);margin:12px 0}

/* ---------- NEW: Readable Art-Deco buttons ---------- */

.btn{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,var(--btn) 0%, var(--btn2) 100%);
  color:var(--text);
  padding:8px 12px;
  cursor:pointer;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.btn:hover{
  border-color:var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash), rgba(255,255,255,.02) 50%),
    linear-gradient(180deg,var(--btn) 0%, var(--btn2) 100%);
}
.btn:active{transform:translateY(1px)}

.btn-primary{
  background:
    linear-gradient(180deg, rgba(255,245,220,.18), rgba(255,245,220,0) 32%),
    linear-gradient(180deg, rgba(227,188,99,.98) 0%, rgba(191,138,34,.88) 100%);
  border-color:rgba(227,188,99,.92);
  color:#120f08;
  box-shadow:0 10px 22px rgba(227,188,99,.16);
}
.btn-danger{
  background:
    linear-gradient(180deg, rgba(255,230,225,.18), rgba(255,230,225,0) 32%),
    linear-gradient(180deg, rgba(224,107,90,.96) 0%, rgba(174,67,57,.86) 100%);
  border-color:rgba(224,107,90,.9);
  color:#140b09;
  box-shadow:0 10px 22px rgba(224,107,90,.16);
}

.btn-tab{
  opacity:.9;
}
.btn-tab.active{
  border-color:var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash-strong), var(--section-wash)),
    linear-gradient(180deg,var(--btn) 0%, var(--btn2) 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
  opacity:1;
}

/* Small tag chips */
.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border:1px solid rgba(127,152,199,.22);
  background:
    linear-gradient(180deg, rgba(127,152,199,.08), rgba(127,152,199,.03)),
    rgba(255,255,255,.02);
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.45px;
  margin-right:6px;
  margin-bottom:6px;
}
.chip strong{color:var(--text)}
.chip.on{
  border-color:var(--accent-strong);
  color:var(--text);
  background:linear-gradient(180deg, var(--section-wash-strong), var(--section-wash));
}
.chip--good{
  border-color:rgba(143,212,163,.42);
  background:linear-gradient(180deg, rgba(143,212,163,.16), rgba(143,212,163,.08));
  color:var(--text);
}
.chip--warn{
  border-color:rgba(227,188,99,.52);
  background:linear-gradient(180deg, rgba(227,188,99,.16), rgba(227,188,99,.08));
  color:var(--text);
}
.chip--bad{
  border-color:rgba(224,107,90,.52);
  background:linear-gradient(180deg, rgba(224,107,90,.18), rgba(224,107,90,.08));
  color:var(--text);
}

/* Filter box */
.filters{
  border:1px solid rgba(255,255,255,.08);
  padding:12px;
  background:
    linear-gradient(180deg, var(--section-wash-strong), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01)),
    linear-gradient(180deg, rgba(18,25,37,.94), rgba(11,16,23,.94));
  margin-bottom:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.1);
}
.filters-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:end;
}
.field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.field label{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.field input, .field select{
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(127,152,199,.06), rgba(127,152,199,0) 42%),
    linear-gradient(180deg, rgba(13,19,29,.96), rgba(10,15,23,.96));
  color:var(--text);
  padding:8px 10px;
  min-width:220px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.field input::placeholder{color:rgba(183,173,152,.6)}
.small-note{color:var(--muted);font-size:12px}

/* Pagination */
.pager{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  margin-top:10px;
}
.pager .muted{color:var(--muted);font-size:12px}

/* Loader */
#loader{
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at top, rgba(82,167,170,.18), transparent 20%),
    radial-gradient(circle at bottom, rgba(227,188,99,.12), transparent 28%),
    radial-gradient(circle at top,#151d29 0%,#091019 62%);
  display:grid;
  place-items:center;
  z-index:9999;
}
.loader-card{
  width:480px;
  padding:22px;
  border:1px solid var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash-strong), transparent 30%),
    linear-gradient(180deg,#121a27 0%,#0d131d 100%);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.loader-title{
  font-size:18px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:6px;
}
.loader-sub{font-size:13px;color:var(--muted);margin-bottom:16px}
.loader-bar{height:8px;border:1px solid var(--accent-soft);overflow:hidden}
.loader-bar-fill{height:100%;width:10%;background:var(--accent);transition:width .25s ease}
.loader-hint{margin-top:14px;font-size:12px;color:var(--muted)}

/* Debug */
.debug-shell{
  display:grid;
  gap:14px;
}

.debug-hero{
  display:grid;
  gap:14px;
}

.debug-hero-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

.debug-hero-copy{
  display:grid;
  gap:6px;
}

.debug-note{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  max-width:780px;
}

.debug-banner{
  padding:12px 14px;
  border:1px solid rgba(212,175,55,.28);
  background:rgba(212,175,55,.08);
  color:var(--text);
  font-size:13px;
}

.debug-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
}

.debug-kpi-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.debug-kpi{
  display:grid;
  gap:6px;
}

.debug-kpi span{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.debug-kpi strong{
  font-size:24px;
  line-height:1.1;
}

.debug-kpi small{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

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

.debug-card{
  display:grid;
  gap:14px;
}

.debug-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.debug-card-head h3{
  margin:0;
}

.debug-card-head span{
  color:var(--muted);
  font-size:12px;
}

.debug-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.debug-actions .btn{
  display:grid;
  gap:5px;
  justify-items:start;
  min-width:190px;
}

.debug-code{
  color:var(--muted);
  font-size:11px;
  text-transform:none;
  letter-spacing:0;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.debug-developer-card{
  border-color:rgba(212,175,55,.34);
  background:
    linear-gradient(180deg, rgba(212,175,55,.09), rgba(212,175,55,.02)),
    var(--panel);
}

.debug-developer-lock{
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
}

.debug-dev-input{
  width:100%;
}

.debug-developer-live{
  display:grid;
  gap:14px;
}

.debug-developer-toggle-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
}

.debug-developer-columns{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.debug-developer-pane{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(9,16,24,.48);
}

.debug-pane-kicker{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.9px;
  text-transform:uppercase;
}

.debug-hidden-metrics{
  display:grid;
  gap:12px;
}

/* Start Menu */
.content[data-route="start"]{
  display:grid;
  place-items:center;
  overflow:auto;
}

.start-shell{
  width:min(1180px, 100%);
  display:grid;
  gap:16px;
}

.start-hero{
  display:grid;
  gap:10px;
  text-align:center;
  padding:28px;
}

.start-kicker{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:1.2px;
  font-size:12px;
}

.start-hero h1{
  margin:0;
  font-size:42px;
  letter-spacing:1px;
  text-transform:uppercase;
}

.start-hero p{
  margin:0 auto;
  max-width:760px;
  color:var(--muted);
  line-height:1.6;
}

.start-notice{
  padding:12px 14px;
  border:1px solid rgba(212,175,55,.22);
  background:rgba(212,175,55,.08);
}

.start-menu-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

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

.start-choice{
  display:grid;
  gap:10px;
  min-height:180px;
  text-align:left;
  cursor:pointer;
}

.start-choice span{
  color:var(--accent);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
}

.start-choice strong{
  font-size:24px;
  line-height:1.25;
}

.start-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(320px, .75fr);
  gap:16px;
}

.start-load-wrap{
  display:grid;
  justify-content:center;
}

.start-card{
  display:grid;
  gap:14px;
}

.start-card--preview{
  align-content:start;
}

.start-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

.start-card-head h3{
  margin:0;
}

.start-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.start-template-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
}

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

.start-template,
.start-difficulty{
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  cursor:pointer;
}

.start-template{
  display:grid;
  gap:8px;
  padding:10px;
  text-align:left;
}

.start-template img{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.08);
  background:#0f1318;
}

.start-template.selected,
.start-difficulty.selected{
  border-color:rgba(212,175,55,.85);
  box-shadow:0 0 0 1px rgba(212,175,55,.18) inset;
}

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

.start-difficulty{
  display:grid;
  gap:8px;
  padding:14px;
  text-align:left;
}

.start-difficulty span{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.85px;
  font-size:11px;
}

.start-difficulty strong{
  font-size:22px;
}

.start-difficulty small{
  color:var(--muted);
  line-height:1.4;
}

.start-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.start-special-panel{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}

.start-check{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:10px;
  align-items:start;
}

.start-check strong{
  display:block;
  margin-bottom:4px;
}

.start-check small{
  color:var(--muted);
  line-height:1.4;
}

.start-custom-specials{
  display:grid;
  gap:12px;
  padding-top:8px;
  border-top:1px solid var(--line);
}

.start-custom-list{
  display:grid;
  gap:8px;
}

.start-custom-item{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:10px;
  align-items:start;
  padding:10px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.start-custom-item.selected{
  border-color:rgba(212,175,55,.75);
  background:rgba(212,175,55,.08);
}

.start-custom-item strong{
  display:block;
}

.start-custom-item small{
  color:var(--muted);
  line-height:1.35;
}

.start-creator-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.start-static-value{
  min-height:44px;
  display:grid;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
}

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

.start-meter-card{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
}

.start-meter-card span{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.start-meter-card strong{
  font-size:13px;
}

.start-meter-card--locked{
  border-color:rgba(212,175,55,.6);
  background:rgba(212,175,55,.08);
}

.start-creator-genres{
  display:grid;
  gap:10px;
}

.start-genre-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(120px, .8fr) 60px;
  gap:10px;
  align-items:center;
}

.start-genre-row span{
  color:var(--muted);
  font-size:12px;
}

.start-character-preview{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
}

.start-character-portrait{
  width:min(220px, 100%);
  aspect-ratio:3 / 4;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  overflow:hidden;
}

.start-character-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.start-character-portrait-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.start-character-preview strong{
  font-size:28px;
}

.start-character-preview span,
.start-character-preview small{
  color:var(--muted);
}

.start-preview-micro{
  color:var(--text);
  font-size:13px;
  line-height:1.45;
}

.start-preview-logo{
  display:grid;
  place-items:center;
  padding:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
}

.start-preview-logo img{
  width:min(240px, 100%);
  aspect-ratio:1 / 1;
  object-fit:cover;
}

.start-preview-copy{
  display:grid;
  gap:6px;
  min-width:0;
}

.start-preview-copy strong{
  font-size:clamp(24px, 2.2vw, 28px);
  line-height:1.12;
  overflow-wrap:anywhere;
}

.start-preview-copy span,
.start-preview-copy small,
.start-load-status{
  color:var(--muted);
  overflow-wrap:anywhere;
}

/* Settings */
.settings-shell{
  display:grid;
  gap:16px;
}

.settings-hero,
.settings-card{
  display:grid;
  gap:14px;
}

.settings-hero-copy{
  display:grid;
  gap:6px;
}

.settings-note,
.settings-file-status{
  color:var(--muted);
  line-height:1.45;
}

.settings-notice{
  padding:12px 14px;
  border:1px solid rgba(212,175,55,.22);
  background:rgba(212,175,55,.08);
}

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

.settings-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.settings-card-head h3{
  margin:0;
}

.settings-card-head span{
  color:var(--muted);
  font-size:12px;
}

.settings-studio{
  display:grid;
  grid-template-columns:120px minmax(0, 1fr);
  gap:14px;
  align-items:center;
}

.settings-studio-logo{
  width:120px;
  height:120px;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.03);
}

.settings-studio-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.settings-logo-fallback{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.settings-studio-copy{
  display:grid;
  gap:6px;
  min-width:0;
}

.settings-studio-copy strong{
  font-size:24px;
  line-height:1.12;
  overflow-wrap:anywhere;
}

.settings-studio-copy span,
.settings-studio-copy small{
  color:var(--muted);
  overflow-wrap:anywhere;
}

.settings-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width: 1100px){
  .debug-kpi-grid,
  .debug-grid{
    grid-template-columns:1fr;
  }

  .debug-developer-lock,
  .debug-developer-columns{
    grid-template-columns:1fr;
  }

  .start-grid,
  .settings-grid{
    grid-template-columns:1fr;
  }

  .start-creator-grid,
  .start-creator-meters,
  .start-template-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .start-difficulty-grid,
  .start-menu-grid{
    grid-template-columns:1fr;
  }

  .start-menu-grid--three{
    grid-template-columns:1fr;
  }
}

@media (max-width: 1520px){
  .topbar-main{
    grid-template-columns:minmax(220px, 300px) minmax(220px, 1fr) auto;
    gap:14px;
  }

  .brand-copy{
    max-width:240px;
  }

  .topnav button{
    padding:7px 11px;
  }
}

/* Studio */
.studio-shell{
  display:grid;
  grid-template-rows:auto minmax(0, 1fr);
  gap:12px;
  height:100%;
  min-height:0;
  overflow:hidden;
}

.studio-shell--inventory{
  overflow:auto;
}

.studio-shell--operations{
  overflow:auto;
}

.studio-header-row{
  display:grid;
  gap:10px;
  justify-items:start;
  align-items:start;
}

.studio-header-copy{
  display:grid;
  gap:6px;
}

.studio-header-copy h3{
  margin:0;
}

.studio-header-note{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.studio-summary-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.5fr) minmax(320px, 1fr);
  gap:14px;
  align-items:start;
}

.studio-summary-copy{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.studio-summary-title{
  color:var(--text);
  font-size:22px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-summary-text{
  color:var(--muted);
  line-height:1.55;
}

.studio-summary-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.studio-stat{
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.studio-stat span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.studio-stat strong{
  display:block;
  margin-top:6px;
  font-size:24px;
  color:var(--text);
}

.studio-tab-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

.studio-overview-layout{
  display:grid;
  grid-template-columns:256px minmax(0, 1fr);
  gap:14px;
  align-items:stretch;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}

.studio-world-pane{
  display:grid;
  grid-column:2;
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
}

.studio-world-window{
  display:grid;
  grid-template-rows:auto minmax(260px, 1fr) auto;
  gap:10px;
  height:100%;
  width:100%;
  justify-self:stretch;
  padding:12px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(20,25,34,.98), rgba(14,18,24,.98));
  min-width:0;
  min-height:0;
  overflow:hidden;
}

.studio-world-window-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.studio-world-controls{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.studio-world-controls .btn{
  padding:7px 10px;
  font-size:11px;
}

.studio-world-topline{
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) minmax(320px, 1fr);
  gap:14px;
  align-items:start;
}

.studio-world-kicker{
  color:var(--accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

.studio-world-title{
  margin-top:2px;
  color:var(--text);
  font-size:21px;
  font-weight:900;
  letter-spacing:.9px;
  text-transform:uppercase;
}

.studio-world-copy{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  max-width:36rem;
}

.studio-world-viewport{
  position:relative;
  height:100%;
  min-height:0;
  min-width:0;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  background:linear-gradient(180deg, rgba(53,73,92,.9), rgba(31,43,32,.96));
  isolation:isolate;
  contain:layout paint size;
}

.studio-world-svg{
  position:absolute;
  inset:0;
  display:block;
  width:100% !important;
  height:100% !important;
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  cursor:pointer;
  touch-action:none;
}

.studio-world-svg--build{
  cursor:crosshair;
}

.studio-world-placement{
  cursor:pointer;
}

.studio-world-walker{
  cursor:pointer;
}

.studio-world-overlay{
  position:absolute;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  pointer-events:none;
}

.studio-world-overlay--top-left{
  top:10px;
  left:10px;
}

.studio-world-overlay--top-right{
  top:10px;
  right:10px;
  justify-content:flex-end;
}

.studio-world-overlay--bottom-left{
  left:10px;
  bottom:10px;
  max-width:min(360px, calc(100% - 20px));
}

.studio-world-overlay--bottom-right{
  right:10px;
  bottom:10px;
  flex-direction:column;
  align-items:flex-end;
  max-width:min(260px, calc(100% - 20px));
}

.studio-world-chip,
.studio-world-message,
.studio-world-panel{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(16,20,26,.74);
  color:var(--text);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}

.studio-world-chip{
  padding:5px 8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.studio-world-chip--accent{
  border-color:rgba(212,175,55,.9);
  background:rgba(212,175,55,.14);
}

.studio-world-message{
  padding:8px 10px;
  font-size:12px;
  line-height:1.35;
}

.studio-world-panel{
  display:grid;
  gap:4px;
  width:100%;
  min-width:180px;
  padding:8px 10px;
}

.studio-world-panel span{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-world-panel strong{
  color:var(--text);
  font-size:12px;
  line-height:1.3;
}

.studio-world-window-footer{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}

.studio-world-statusline{
  padding:8px 10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.studio-world-statusline span{
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-world-statusline strong{
  display:block;
  margin-top:3px;
  color:var(--text);
  font-size:13px;
}

.studio-world-statbar{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.studio-world-stat{
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.studio-world-stat span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.studio-world-stat strong{
  display:block;
  margin-top:6px;
  color:var(--text);
  font-size:20px;
}

.studio-inventory-layout{
  display:grid;
  gap:12px;
}

.studio-ops-shell{
  display:grid;
  gap:14px;
}

.studio-summary-grid--ops{
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .95fr);
}

.studio-ops-actionbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.studio-ops-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:14px;
}

.studio-ops-grid--primary{
  align-items:start;
}

.studio-pane--ops{
  display:grid;
  gap:12px;
}

.studio-ops-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.studio-ops-card{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.studio-ops-card span{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-ops-card strong{
  color:var(--text);
  font-size:18px;
  line-height:1.3;
}

.studio-ops-card small{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.studio-ops-feed{
  display:grid;
  gap:12px;
}

.studio-market-section{
  display:grid;
  gap:10px;
}

.studio-market-list,
.studio-portfolio-list{
  display:grid;
  gap:10px;
}

.studio-market-row,
.studio-portfolio-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.studio-market-row{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
}

.studio-market-copy{
  display:grid;
  gap:5px;
  min-width:0;
}

.studio-market-copy strong{
  color:var(--text);
  font-size:15px;
}

.studio-market-copy span{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.studio-market-copy small{
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.studio-market-actions{
  display:grid;
  gap:8px;
  justify-items:end;
  min-width:170px;
}

.studio-market-price{
  color:var(--text);
  font-size:18px;
  font-weight:800;
}

.studio-market-note{
  max-width:220px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
  text-align:right;
}

.studio-portfolio-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.studio-portfolio-head strong{
  color:var(--text);
  font-size:16px;
}

.studio-portfolio-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.studio-portfolio-rating{
  display:grid;
  gap:4px;
  min-width:110px;
  padding:10px 12px;
  border:1px solid rgba(212,175,55,.22);
  background:rgba(212,175,55,.08);
  text-align:right;
}

.studio-portfolio-rating span{
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.studio-portfolio-rating strong{
  color:var(--text);
  font-size:24px;
}

.studio-portfolio-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.studio-portfolio-meta span{
  padding:6px 10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  color:var(--muted);
  font-size:11px;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.studio-portfolio-stats{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:8px;
}

.studio-portfolio-stat{
  display:grid;
  gap:5px;
  padding:10px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}

.studio-portfolio-stat span{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-portfolio-stat strong{
  color:var(--text);
  font-size:18px;
}

.studio-upgrade-list{
  display:grid;
  gap:8px;
}

.studio-upgrade-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}

.studio-upgrade-copy{
  display:grid;
  gap:4px;
}

.studio-upgrade-copy strong{
  color:var(--text);
  font-size:13px;
}

.studio-upgrade-copy span{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.studio-ops-highlight{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid rgba(212,175,55,.18);
  background:rgba(212,175,55,.08);
}

.studio-ops-highlight span{
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.studio-ops-highlight strong{
  color:var(--text);
  font-size:16px;
}

.studio-ops-highlight p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
}

.studio-ops-list{
  display:grid;
  gap:8px;
}

.studio-ops-list-row{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.studio-ops-list-row strong{
  color:var(--text);
  font-size:13px;
}

.studio-ops-list-row span{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.studio-ops-production-list{
  display:grid;
  gap:8px;
}

.studio-ops-production-row{
  position:relative;
  display:grid;
  gap:6px;
  width:100%;
  padding:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}

.studio-ops-production-row.is-active{
  border-color:rgba(212,175,55,.8);
  background:rgba(212,175,55,.08);
  box-shadow:0 0 0 1px rgba(212,175,55,.14) inset;
}

.studio-ops-production-row-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}

.studio-ops-production-row-top strong{
  color:var(--text);
  font-size:14px;
}

.studio-ops-production-row-top span{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-ops-production-row-status{
  color:var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.4px;
}

.studio-ops-production-row-detail{
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.studio-ops-detail{
  display:grid;
  gap:12px;
}

.studio-ops-detail-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.studio-ops-detail-copy{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.studio-ops-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.studio-ops-detail-block{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.studio-ops-detail-block span{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-ops-detail-block strong{
  color:var(--text);
  font-size:16px;
}

.studio-ops-detail-block p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.studio-pane{
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.studio-pane--lot,
.studio-pane--inventory{
  display:grid;
  gap:12px;
}

.studio-pane--menu{
  grid-column:1;
  position:relative;
  height:100%;
  min-height:0;
  padding:12px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:
    linear-gradient(180deg, rgba(244,214,144,.18), rgba(244,214,144,.04) 14%, rgba(255,255,255,.015) 30%),
    radial-gradient(circle at top, rgba(212,175,55,.12), transparent 50%),
    linear-gradient(180deg, rgba(20,24,31,.99), rgba(10,13,18,.99));
  border-color:rgba(212,175,55,.24);
  box-shadow:
    inset 0 0 0 1px rgba(212,175,55,.14),
    0 18px 36px rgba(0,0,0,.18);
}

.studio-pane--menu::before{
  content:"";
  display:block;
  height:10px;
  margin-bottom:6px;
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(244,214,144,.72) 8% 16%, transparent 16% 24%, rgba(244,214,144,.45) 24% 32%, transparent 32% 68%, rgba(244,214,144,.45) 68% 76%, transparent 76% 84%, rgba(244,214,144,.72) 84% 92%, transparent 92% 100%);
  opacity:.9;
}

.studio-pane--menu .studio-panel-head{
  position:relative;
  margin:0;
  padding:0 0 10px;
  border-bottom:1px solid rgba(212,175,55,.18);
}

.studio-pane--menu .studio-panel-head::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(244,214,144,.82), transparent);
}

.studio-pane--menu .studio-panel-head h3{
  font-size:13px;
  letter-spacing:1px;
}

.studio-pane--menu .studio-panel-head span{
  max-width:92px;
  font-size:10px;
}

.studio-menu-stats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
}

.studio-menu-stat{
  padding:8px 9px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}

.studio-menu-stat span{
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-menu-stat strong{
  display:block;
  margin-top:3px;
  color:var(--text);
  font-size:13px;
}

.studio-panel-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:8px;
}

.studio-panel-head h3{
  margin:0;
  font-size:13px;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--accent);
}

.studio-panel-head span{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.65px;
  text-align:right;
}

.studio-section + .studio-section{
  margin-top:0;
  padding-top:10px;
  border-top:1px solid var(--line);
}

.studio-section--catalog{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}

.studio-section-title{
  margin-bottom:8px;
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
}

.studio-inline{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.studio-menu-toolbar{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
}

.studio-menu-toolbar .btn{
  padding:8px 4px;
  font-size:10px;
}

.studio-catalog-tabs{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
  margin-bottom:8px;
}

.studio-catalog-tabs .btn{
  padding:8px 4px;
  font-size:10px;
}

.studio-catalog-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

.studio-catalog-scroll::-webkit-scrollbar{
  width:8px;
}

.studio-catalog-scroll::-webkit-scrollbar-thumb{
  background:rgba(212,175,55,.24);
  border-radius:999px;
}

.studio-palette{
  display:grid;
  gap:10px;
}

.studio-compact-palette{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
}

.studio-compact-palette-item{
  display:grid;
  gap:6px;
  width:100%;
  padding:8px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  color:var(--text);
  cursor:pointer;
  text-align:left;
}

.studio-compact-palette-item.selected{
  border-color:rgba(212,175,55,.9);
  box-shadow:0 0 0 1px rgba(212,175,55,.18) inset;
  background:rgba(212,175,55,.08);
}

.studio-compact-palette-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}

.studio-compact-palette-code{
  display:inline-grid;
  place-items:center;
  min-height:34px;
  min-width:42px;
  padding:0 6px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.7px;
  color:#141414;
  background:
    linear-gradient(180deg, var(--asset-roof), var(--asset-accent) 45%, var(--asset-base) 45%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);
}

.studio-compact-palette-family{
  color:var(--muted);
  font-size:9px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-compact-palette-name{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.45px;
  text-transform:uppercase;
  line-height:1.2;
}

.studio-compact-palette-meta{
  display:block;
  color:var(--muted);
  font-size:10px;
  line-height:1.2;
}

.studio-palette-item{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:12px;
  align-items:center;
  width:100%;
  padding:12px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  color:var(--text);
  cursor:pointer;
  text-align:left;
}

.studio-palette-item.selected{
  border-color:rgba(212,175,55,.9);
  box-shadow:0 0 0 1px rgba(212,175,55,.18) inset;
  background:rgba(212,175,55,.08);
}

.studio-palette-swatch{
  display:grid;
  place-items:center;
  min-height:58px;
  font-weight:900;
  letter-spacing:.8px;
  color:#141414;
  background:
    linear-gradient(180deg, var(--asset-roof), var(--asset-accent) 45%, var(--asset-base) 45%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);
}

.studio-palette-copy{
  display:grid;
  gap:3px;
}

.studio-palette-copy strong{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.7px;
}

.studio-palette-copy span,
.studio-palette-copy small{
  color:var(--muted);
  line-height:1.45;
}

.studio-empty-card,
.studio-selected-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(212,175,55,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
}

.studio-selected-card{
  align-content:start;
}

.studio-empty-card--compact{
  gap:8px;
  padding:10px 12px;
  font-size:12px;
  line-height:1.35;
}

.studio-selected-chip{
  width:96px;
  padding:16px 0;
  text-align:center;
  font-weight:900;
  color:#111;
  letter-spacing:.9px;
  background:
    linear-gradient(180deg, var(--asset-roof), var(--asset-accent) 42%, var(--asset-base) 42%);
}

.studio-selected-copy{
  display:grid;
  gap:4px;
}

.studio-selected-copy strong{
  font-size:14px;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:.7px;
}

.studio-selected-copy span{
  color:var(--muted);
  line-height:1.45;
}

.studio-selected-card--compact{
  gap:10px;
  padding:10px 12px;
}

.studio-selected-row{
  display:grid;
  grid-template-columns:52px minmax(0, 1fr);
  gap:10px;
  align-items:start;
}

.studio-selected-card--compact .studio-selected-chip{
  width:52px;
  padding:10px 0;
  font-size:10px;
}

.studio-selected-card--compact .studio-selected-copy{
  gap:3px;
}

.studio-selected-card--compact .studio-selected-copy strong{
  font-size:12px;
}

.studio-selected-card--compact .studio-selected-copy span{
  font-size:11px;
  line-height:1.25;
}

.studio-selected-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
}

.studio-selected-actions .btn{
  padding:8px 4px;
  font-size:10px;
}

.studio-lot-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.studio-notice{
  padding:12px 14px;
  border:1px solid var(--line);
  background:rgba(212,175,55,.08);
  color:var(--text);
  line-height:1.5;
}

.studio-lot-shell{
  position:relative;
  padding:14px;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(244,216,160,.07), rgba(255,255,255,.01)),
    linear-gradient(180deg, rgba(80,95,111,.24), rgba(45,49,55,.95) 18%, rgba(36,39,43,.99));
  overflow:hidden;
}

.studio-lot-shell--overview{
  padding:18px;
  background:
    linear-gradient(180deg, rgba(244,216,160,.09), rgba(255,255,255,.015)),
    linear-gradient(180deg, rgba(30,34,39,.96), rgba(16,19,24,.99));
}

.studio-world-banner{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.studio-world-banner--top{
  margin-bottom:12px;
}

.studio-world-banner--bottom{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}

.studio-world-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-size:11px;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.studio-world-pill--active{
  border-color:rgba(212,175,55,.85);
  background:rgba(212,175,55,.12);
  color:var(--text);
}

.studio-world-alert{
  margin-bottom:12px;
  padding:11px 12px;
  border:1px solid rgba(212,175,55,.38);
  background:rgba(212,175,55,.08);
  color:var(--text);
  line-height:1.45;
}

.studio-world-status{
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.studio-world-status span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.studio-world-status strong{
  display:block;
  margin-top:4px;
  color:var(--text);
  font-size:14px;
  line-height:1.45;
}

.studio-world-status--wide{
  flex:1 1 260px;
}

.studio-lot-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(24, minmax(0, 1fr));
  grid-template-rows:repeat(24, minmax(0, 1fr));
  aspect-ratio:1;
  border:8px solid rgba(212,175,55,.42);
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.06),
    inset 0 0 0 18px rgba(255,255,255,.02);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 18%),
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.04), transparent 18%),
    linear-gradient(180deg, #65676c, #474a4f 38%, #3f4348);
}

.studio-lot-grid--build{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 18%),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #65676c, #474a4f 38%, #3f4348);
  background-size:auto, calc(100% / 24) 100%, 100% calc(100% / 24), 100% 100%;
}

.studio-lot-grid::before,
.studio-lot-grid::after{
  content:"";
  position:absolute;
  inset:-16px;
  border:4px solid rgba(255,255,255,.06);
  pointer-events:none;
}

.studio-lot-grid::after{
  inset:-28px;
  border-color:rgba(0,0,0,.34);
}

.studio-grid-cell{
  position:relative;
  z-index:1;
  background:transparent;
  border:none;
  padding:0;
}

.studio-grid-cell--build{
  cursor:crosshair;
}

.studio-grid-cell--build:hover{
  background:rgba(212,175,55,.12);
}

.studio-road{
  position:absolute;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 44%, rgba(251,224,160,.26) 44%, rgba(251,224,160,.26) 56%, transparent 56%),
    linear-gradient(180deg, rgba(72,77,86,.95), rgba(52,55,62,.98));
}

.studio-road--spine{
  left:40%;
  width:20%;
  top:0;
  height:100%;
}

.studio-road--cross{
  top:54%;
  left:40%;
  width:60%;
  height:12%;
}

.studio-road--office{
  top:71%;
  left:0;
  width:42%;
  height:12%;
}

.studio-world-plaza,
.studio-world-lawn,
.studio-world-parking,
.studio-world-label,
.studio-world-callout{
  position:absolute;
  pointer-events:none;
}

.studio-world-plaza{
  z-index:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 0 10%, transparent 10% 20%, rgba(255,255,255,.08) 20% 30%, transparent 30% 40%, rgba(255,255,255,.08) 40% 50%, transparent 50% 60%, rgba(255,255,255,.08) 60% 70%, transparent 70% 80%, rgba(255,255,255,.08) 80% 90%, transparent 90% 100%),
    linear-gradient(180deg, rgba(116, 122, 131, .5), rgba(78, 84, 91, .4));
  opacity:.55;
}

.studio-world-plaza--gate{
  left:33%;
  top:83%;
  width:34%;
  height:7%;
}

.studio-world-plaza--office{
  left:3%;
  top:67%;
  width:26%;
  height:10%;
}

.studio-world-lawn{
  z-index:0;
  border:1px solid rgba(210, 185, 120, .16);
  background:
    radial-gradient(circle at 25% 30%, rgba(255,255,255,.08), transparent 26%),
    linear-gradient(180deg, rgba(150, 174, 118, .55), rgba(93, 116, 72, .6));
}

.studio-world-lawn--west{
  left:4%;
  top:8%;
  width:18%;
  height:16%;
}

.studio-world-lawn--east{
  right:5%;
  top:10%;
  width:16%;
  height:14%;
}

.studio-world-parking{
  z-index:0;
  left:66%;
  top:60%;
  width:26%;
  height:24%;
  opacity:.4;
  background:
    repeating-linear-gradient(90deg, transparent 0 16%, rgba(255,255,255,.15) 16% 18%, transparent 18% 34%),
    linear-gradient(180deg, rgba(92, 99, 108, .45), rgba(64, 69, 76, .4));
}

.studio-world-label{
  z-index:2;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(18, 22, 28, .72);
  color:#f5e0ae;
  font-size:10px;
  font-weight:800;
  letter-spacing:.75px;
  text-transform:uppercase;
}

.studio-world-label--gate{
  left:41%;
  top:87%;
}

.studio-world-label--office{
  left:7%;
  top:73%;
}

.studio-world-label--yard{
  left:58%;
  top:18%;
}

.studio-world-callout{
  z-index:2;
  color:rgba(255, 235, 190, .78);
  font-size:10px;
  font-weight:700;
  letter-spacing:.65px;
  text-transform:uppercase;
}

.studio-world-callout--west{
  left:7%;
  top:24%;
}

.studio-world-callout--east{
  right:7%;
  top:26%;
}

.studio-signboard{
  position:absolute;
  z-index:2;
  bottom:2.5%;
  left:50%;
  transform:translateX(-50%);
  padding:8px 18px;
  border:1px solid rgba(255,255,255,.24);
  background:linear-gradient(180deg,#9b3d35,#712925);
  color:#fff2d8;
  font-weight:900;
  font-size:12px;
  letter-spacing:1.1px;
  text-transform:uppercase;
  pointer-events:none;
}

.studio-placement{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  padding:4px;
  border:1px solid rgba(0,0,0,.32);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  background:
    linear-gradient(180deg, var(--asset-roof), var(--asset-roof) 30%, var(--asset-accent) 30%, var(--asset-accent) 45%, var(--asset-base) 45%, var(--asset-base));
  color:#151515;
  cursor:pointer;
}

.studio-placement.selected{
  outline:2px solid rgba(212,175,55,.95);
  box-shadow:0 0 0 2px rgba(212,175,55,.22), 0 8px 18px rgba(0,0,0,.18);
}

.studio-placement--decor{
  background:
    radial-gradient(circle at 24% 26%, rgba(255,255,255,.24), transparent 18%),
    linear-gradient(180deg, var(--asset-roof), var(--asset-accent) 40%, var(--asset-base));
}

.studio-placement-roof{
  font-size:10px;
  letter-spacing:.7px;
  font-weight:900;
  color:#111;
  text-transform:uppercase;
}

.studio-placement-meta{
  align-self:flex-end;
  font-size:10px;
  font-weight:800;
  color:rgba(17,17,17,.72);
}

.studio-walker-layer{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
}

.studio-walker{
  position:absolute;
  width:20px;
  height:20px;
  margin-left:-10px;
  margin-top:-10px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#0d0f12;
  font-size:9px;
  font-weight:900;
  letter-spacing:.4px;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 0 0 3px rgba(12,16,20,.34);
}

.studio-walker--actor{ background:#f0be7a; }
.studio-walker--director{ background:#d97b74; }
.studio-walker--writer{ background:#c8d7d3; }
.studio-walker--crew{ background:#77abc4; }

.studio-sheet{
  table-layout:fixed;
  background:rgba(0,0,0,.08);
}

.studio-sheet th,
.studio-sheet td{
  vertical-align:top;
}

.studio-sheet tfoot td{
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.02);
}

.studio-buy-btn{
  width:100%;
  min-width:72px;
}

.production-text-warn{
  color:var(--warn);
  font-weight:800;
}

/* Scripts */
.scripts-shell{
  display:grid;
  gap:14px;
}

.scripts-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
}

.scripts-header-copy{
  display:grid;
  gap:6px;
}

.scripts-header-copy h3{
  margin:0;
}

.scripts-header-note{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  max-width:58rem;
}

.scripts-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.scripts-tab-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.scripts-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}

.scripts-kpi-card{
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.scripts-kpi-card span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.scripts-kpi-card strong{
  display:block;
  margin-top:8px;
  color:var(--text);
  font-size:24px;
}

.scripts-kpi-card div{
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.scripts-workspace{
  display:grid;
  gap:14px;
}

.scripts-workspace-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

.scripts-workspace-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.scripts-section-kicker{
  color:var(--accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

.scripts-section-title{
  margin-top:3px;
  color:var(--text);
  font-size:22px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.scripts-section-copy{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  max-width:48rem;
}

.scripts-notice{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid rgba(212,175,55,.7);
  background:rgba(212,175,55,.12);
  color:var(--text);
  font-size:12px;
  line-height:1.3;
}

.scripts-notice-close{
  border:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  text-transform:uppercase;
}

.scripts-table-wrap{
  overflow:auto;
}

.scripts-market-toolbar{
  display:grid;
  gap:12px;
}

.scripts-market-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.scripts-market-meta strong{
  color:var(--text);
  font-size:12px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.scripts-market-meta span{
  color:var(--muted);
  font-size:12px;
}

.scripts-market-filters{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
}

.scripts-market-filters label{
  display:grid;
  gap:6px;
}

.scripts-market-filters span{
  color:var(--muted);
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.scripts-market-filters input,
.scripts-market-filters select{
  width:100%;
  border:1px solid var(--line);
  background:rgba(0,0,0,.18);
  color:var(--text);
  padding:9px 10px;
  font:inherit;
}

.scripts-market-action{
  display:grid;
  gap:6px;
}

.scripts-table-copy{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.scripts-table-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}

.scripts-role-chip-row{
  margin-top:8px;
}

.scripts-empty{
  display:grid;
  justify-items:start;
  gap:8px;
  padding:18px;
  border:1px dashed rgba(212,175,55,.28);
  background:rgba(255,255,255,.02);
}

.scripts-empty strong{
  color:var(--text);
  font-size:16px;
}

.scripts-empty span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

/* Production */
.production-shell{
  display:grid;
  gap:14px;
}

.production-header,
.production-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
}

.production-header-copy{
  display:grid;
  gap:6px;
}

.production-header-copy h3{
  margin:0;
}

.production-header-note{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  max-width:58rem;
}

.production-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.production-subtabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.production-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}

.production-inline-note{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(212,175,55,.42);
  background:rgba(212,175,55,.08);
  color:var(--text);
  font-size:12px;
  line-height:1.35;
}
.production-inline-note--warning{
  border-color:rgba(212,175,55,.62);
  background:rgba(212,175,55,.12);
}
.production-inline-note--danger{
  border-color:rgba(224,107,90,.64);
  background:rgba(224,107,90,.14);
}

.production-kpi-card,
.production-stat-card{
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.production-kpi-card span,
.production-stat-card span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.production-kpi-card strong,
.production-stat-card strong{
  display:block;
  margin-top:8px;
  color:var(--text);
  font-size:24px;
}

.production-kpi-card div,
.production-stat-card div{
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.production-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.5fr) minmax(280px, .68fr);
  gap:14px;
  align-items:start;
}

.production-layout--desk{
  grid-template-columns:minmax(0, 1.5fr) minmax(320px, .72fr);
}

.production-main,
.production-side,
.production-current{
  display:grid;
  gap:14px;
  min-width:0;
}

.production-side{
  position:sticky;
  top:0;
}

.production-section-kicker{
  color:var(--accent);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

.production-section-title{
  margin-top:3px;
  color:var(--text);
  font-size:22px;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.production-section-copy,
.production-panel-note{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.production-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

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

.production-form-grid .field,
.production-form-grid .field input,
.production-form-grid .field select{
  min-width:0;
  width:100%;
}

.production-static-field{
  display:grid;
  gap:6px;
  min-height:42px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(127,152,199,.06), rgba(127,152,199,0) 42%),
    linear-gradient(180deg, rgba(13,19,29,.96), rgba(10,15,23,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.production-static-field strong{
  color:var(--text);
  font-size:14px;
}

.production-script-brief{
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
}

.production-script-title{
  color:var(--text);
  font-size:20px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.production-script-meta{
  margin-top:10px;
}

.production-script-copy{
  margin-top:10px;
  color:var(--muted);
  line-height:1.5;
}

.production-style-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.production-style-row input[type="range"]{
  flex:1;
}

.production-cast-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.production-table-wrap{
  max-width:100%;
  min-width:0;
  overflow:auto;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(7,11,17,.24);
}

.production-table-wrap .table{
  min-width:760px;
  border:none;
}

.production-table-wrap .table th,
.production-table-wrap .table td{
  vertical-align:top;
}

.production-table-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}

.production-table-sub--talent{
  color:inherit;
}

.production-table-sub--talent .talent-inline{
  width:100%;
}

.production-row--missing td{
  background:rgba(224,107,90,.08);
}

.production-launch-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.production-launch-note{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  max-width:42rem;
}

.production-empty{
  display:grid;
  justify-items:start;
  gap:8px;
  padding:18px;
  border:1px dashed rgba(212,175,55,.28);
  background:rgba(255,255,255,.02);
}

.production-empty strong{
  color:var(--text);
  font-size:16px;
}

.production-empty span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

.production-current-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
}

.production-desk-grid{
  display:grid;
  grid-template-columns:minmax(240px, .72fr) minmax(0, 1.5fr);
  gap:14px;
  align-items:start;
}

.production-desk-list{
  display:grid;
  gap:10px;
  min-width:0;
}

.production-desk-row{
  position:relative;
  display:grid;
  gap:5px;
  text-align:left;
  padding:14px 15px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  color:var(--text);
}

.production-desk-row strong{
  color:var(--text);
  font-size:15px;
}

.production-desk-row span{
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.production-desk-row small{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

.production-desk-row.is-active{
  border-color:rgba(212,175,55,.72);
  background:linear-gradient(180deg, rgba(212,175,55,.12), rgba(212,175,55,.05));
  box-shadow:0 0 0 1px rgba(212,175,55,.16) inset;
}

.production-desk-detail{
  min-width:0;
}

.production-prep-toolbar,
.production-prep-confirm{
  display:grid;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(127,152,199,.08), rgba(127,152,199,.02)),
    linear-gradient(180deg, rgba(20,27,38,.96), rgba(11,16,23,.96));
}

.production-prep-toolbar{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
}

.production-prep-toolbar-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.production-prep-toolbar-copy strong{
  color:var(--text);
  font-size:15px;
}

.production-prep-toolbar-copy span{
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.production-prep-confirm-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.production-phase-strip,
.production-phase-list{
  display:grid;
  gap:10px;
}

.production-phase-strip{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.production-phase-item,
.production-phase-row{
  padding:12px 14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}

.production-phase-item strong,
.production-phase-row strong{
  display:block;
  color:var(--text);
}

.production-phase-item span,
.production-phase-row span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}

.production-phase-item small,
.production-phase-row small{
  display:block;
  margin-top:6px;
  color:var(--accent);
  font-size:11px;
  letter-spacing:.35px;
}

.production-phase-item.is-active{
  border-color:rgba(212,175,55,.8);
  background:rgba(212,175,55,.1);
}

.production-phase-item.is-complete{
  border-color:rgba(143,212,163,.45);
}

.production-aside{
  display:grid;
  gap:12px;
}

.production-aside-head{
  display:grid;
  gap:4px;
}

.production-budget-card{
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}

.production-budget-card span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.85px;
  text-transform:uppercase;
}

.production-budget-card strong{
  display:block;
  margin-top:8px;
  color:var(--text);
  font-size:24px;
}

.production-budget-card div{
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.production-release-list{
  display:grid;
  gap:12px;
}

.production-release-item,
.production-release-card{
  display:grid;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}

.production-release-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.production-release-top strong{
  color:var(--text);
  font-size:16px;
}

.production-release-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:12px;
  align-items:start;
}

.production-release-metric{
  padding:12px 14px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.production-release-metric span{
  display:block;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.production-release-metric strong{
  display:block;
  margin-top:8px;
  color:var(--text);
  font-size:22px;
}

.production-release-metric div{
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.production-release-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.production-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:26px 20px;
  background:rgba(6,9,14,.74);
}

.production-modal{
  width:min(920px, 100%);
  max-height:min(90vh, 940px);
  overflow:auto;
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #151922 0%, #0f1318 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.46);
}

.production-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
}

.production-archive-detail{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.production-signal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:10px;
}

.production-signal-card{
  padding:12px 14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}

.production-signal-card span{
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.production-signal-card strong{
  display:block;
  margin-top:7px;
  color:var(--text);
  font-size:18px;
}

.production-signal-card div{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.production-stat-card--talent{
  display:grid;
  gap:8px;
}

.production-stat-card--talent strong{
  margin:0;
}

.production-stat-card--talent .talent-inline{
  width:100%;
}

.production-text-good{
  color:var(--good);
  font-weight:800;
}

.production-text-bad{
  color:var(--bad);
  font-weight:800;
}

/* Staff */
.staff-table-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}

.staff-action-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.staff-role-meters{
  display:grid;
  gap:6px;
}

.staff-role-meters--compact{
  min-width:150px;
}

.staff-role-meter{
  display:grid;
  grid-template-columns:18px minmax(0, 1fr) 28px;
  gap:8px;
  align-items:center;
}

.staff-role-meter span{
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.75px;
  text-transform:uppercase;
}

.staff-role-meter strong{
  color:var(--text);
  font-size:11px;
  text-align:right;
}

.staff-role-meter-track{
  height:8px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
}

.staff-role-meter-track i{
  display:block;
  height:100%;
  background:linear-gradient(90deg, rgba(212,175,55,.58), rgba(212,175,55,.95));
}

.staff-skill-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.staff-skill-ring{
  --skill-pct:0%;
  --skill-ring:var(--bad);
  position:relative;
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at center, rgba(9,16,25,1) 54%, transparent 55%),
    conic-gradient(var(--skill-ring) 0 var(--skill-pct), rgba(255,255,255,.08) var(--skill-pct) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    0 0 0 1px rgba(0,0,0,.24);
}

.staff-skill-ring::after{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.01)),
    linear-gradient(180deg, #16202d 0%, #0f1620 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}

.staff-skill-ring span{
  position:relative;
  z-index:1;
  font-size:12px;
  font-weight:900;
  line-height:1;
  color:var(--text);
}

/* Modernized Deco color pass */
.news-metric,
.news-rival-card,
.news-rival-stat,
.news-item,
.scripts-kpi-card,
.production-kpi-card,
.production-stat-card,
.production-release-item,
.production-release-card,
.production-release-metric,
.production-budget-card,
.production-signal-card,
.production-phase-item,
.production-phase-row,
.production-desk-row,
.studio-stat,
.studio-world-stat,
.studio-world-statusline,
.studio-ops-card,
.studio-ops-detail-block,
.studio-ops-list-row,
.studio-ops-production-row,
.studio-summary-copy,
.studio-world-status,
.studio-world-panel,
.studio-empty-card,
.studio-selected-card,
.scripts-empty,
.production-empty,
.settings-notice{
  background:
    linear-gradient(180deg, var(--section-wash-strong), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    linear-gradient(180deg, rgba(20,27,38,.98), rgba(11,16,23,.98));
  border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.1);
}

.studio-world-chip,
.studio-world-message,
.studio-world-panel,
.studio-world-status,
.production-modal,
.scripts-market-filters input,
.scripts-market-filters select{
  border-color:rgba(255,255,255,.08);
}

.studio-world-chip--accent,
.studio-ops-highlight,
.studio-notice,
.studio-world-alert,
.scripts-notice,
.production-inline-note,
.settings-notice{
  border-color:var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash-strong), var(--section-wash)),
    linear-gradient(180deg, rgba(20,27,38,.96), rgba(11,16,23,.96));
}

.scripts-notice-close,
.studio-ops-highlight span{
  color:var(--accent);
}

.production-inline-note--danger{
  border-color:rgba(224,107,90,.64);
  background:
    linear-gradient(180deg, rgba(224,107,90,.18), rgba(224,107,90,.08)),
    linear-gradient(180deg, rgba(20,27,38,.96), rgba(11,16,23,.96));
}

.production-inline-note--warning{
  border-color:var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash-strong), var(--section-wash)),
    linear-gradient(180deg, rgba(20,27,38,.96), rgba(11,16,23,.96));
}

.news-header-stats .news-metric:nth-child(4n+1),
.scripts-kpi-grid .scripts-kpi-card:nth-child(4n+1),
.production-kpi-grid .production-kpi-card:nth-child(4n+1),
.production-current-stats .production-stat-card:nth-child(4n+1),
.studio-summary-stats .studio-stat:nth-child(4n+1),
.studio-ops-card-grid .studio-ops-card:nth-child(4n+1){
  border-color:rgba(82,167,170,.3);
  background:
    linear-gradient(180deg, rgba(82,167,170,.18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    linear-gradient(180deg, rgba(20,27,38,.98), rgba(11,16,23,.98));
}

.news-header-stats .news-metric:nth-child(4n+2),
.scripts-kpi-grid .scripts-kpi-card:nth-child(4n+2),
.production-kpi-grid .production-kpi-card:nth-child(4n+2),
.production-current-stats .production-stat-card:nth-child(4n+2),
.studio-summary-stats .studio-stat:nth-child(4n+2),
.studio-ops-card-grid .studio-ops-card:nth-child(4n+2){
  border-color:rgba(127,152,199,.3);
  background:
    linear-gradient(180deg, rgba(127,152,199,.18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    linear-gradient(180deg, rgba(20,27,38,.98), rgba(11,16,23,.98));
}

.news-header-stats .news-metric:nth-child(4n+3),
.scripts-kpi-grid .scripts-kpi-card:nth-child(4n+3),
.production-kpi-grid .production-kpi-card:nth-child(4n+3),
.production-current-stats .production-stat-card:nth-child(4n+3),
.studio-summary-stats .studio-stat:nth-child(4n+3),
.studio-ops-card-grid .studio-ops-card:nth-child(4n+3){
  border-color:rgba(208,124,88,.3);
  background:
    linear-gradient(180deg, rgba(208,124,88,.18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    linear-gradient(180deg, rgba(20,27,38,.98), rgba(11,16,23,.98));
}

.news-header-stats .news-metric:nth-child(4n),
.scripts-kpi-grid .scripts-kpi-card:nth-child(4n),
.production-kpi-grid .production-kpi-card:nth-child(4n),
.production-current-stats .production-stat-card:nth-child(4n),
.studio-summary-stats .studio-stat:nth-child(4n),
.studio-ops-card-grid .studio-ops-card:nth-child(4n){
  border-color:rgba(204,109,123,.3);
  background:
    linear-gradient(180deg, rgba(204,109,123,.18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
    linear-gradient(180deg, rgba(20,27,38,.98), rgba(11,16,23,.98));
}

.production-release-grid .production-release-metric:nth-child(3n+1),
.production-signal-grid .production-signal-card:nth-child(3n+1),
.news-rival-stats .news-rival-stat:nth-child(3n+1){
  border-color:rgba(82,167,170,.26);
}

.production-release-grid .production-release-metric:nth-child(3n+2),
.production-signal-grid .production-signal-card:nth-child(3n+2),
.news-rival-stats .news-rival-stat:nth-child(3n+2){
  border-color:rgba(127,152,199,.26);
}

.production-release-grid .production-release-metric:nth-child(3n),
.production-signal-grid .production-signal-card:nth-child(3n),
.news-rival-stats .news-rival-stat:nth-child(3n){
  border-color:rgba(208,124,88,.26);
}

.news-item{
  position:relative;
}

.news-item::before,
.production-desk-row::before,
.studio-ops-production-row::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, var(--accent), transparent 80%);
  pointer-events:none;
}

.news-rival-card,
.news-item,
.scripts-market-filters input,
.scripts-market-filters select,
.studio-world-window,
.production-modal{
  box-shadow:0 20px 42px rgba(0,0,0,.14);
}

.studio-world-window{
  background:
    linear-gradient(180deg, rgba(82,167,170,.12), rgba(82,167,170,0) 16%),
    linear-gradient(180deg, rgba(20,25,34,.98), rgba(14,18,24,.98));
  border-color:rgba(255,255,255,.08);
}

.studio-world-viewport{
  border-color:rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(126,155,189,.14), rgba(126,155,189,0) 35%),
    linear-gradient(180deg, rgba(58,92,95,.08), rgba(58,92,95,0) 65%),
    linear-gradient(180deg, rgba(53,73,92,.9), rgba(31,43,32,.96));
}

.studio-world-pill{
  border-color:rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(127,152,199,.1), rgba(127,152,199,.03)),
    rgba(255,255,255,.03);
  color:var(--muted);
}

.studio-world-pill--active{
  border-color:var(--accent-strong);
  background:
    linear-gradient(180deg, var(--section-wash-strong), var(--section-wash)),
    rgba(255,255,255,.03);
  color:var(--text);
}

.studio-walker--actor{ background:#f0be7a; }
.studio-walker--director{ background:#d97b74; }
.studio-walker--writer{ background:#c7d8f0; }
.studio-walker--crew{ background:#77c0c4; }

.staff-role-meter-track{
  border-color:rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    linear-gradient(180deg, rgba(14,20,29,.94), rgba(10,14,21,.94));
}

.staff-role-meter-track i{
  background:linear-gradient(90deg, var(--teal), var(--sky) 48%, var(--accent) 100%);
}

@media (max-width: 1100px){
  .studio-overview-layout{
    grid-template-columns:228px minmax(0, 1fr);
  }

  .studio-portfolio-stats{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .studio-summary-grid--ops,
  .studio-ops-grid{
    grid-template-columns:1fr;
  }

  .studio-world-window-footer{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

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

  .scripts-market-filters{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .production-kpi-grid,
  .production-current-stats,
  .production-form-grid--settings,
  .production-release-grid,
  .production-prep-confirm-grid{
    grid-template-columns:1fr 1fr;
  }

  .production-desk-grid,
  .production-layout{
    grid-template-columns:1fr;
  }

  .production-side{
    position:static;
  }

  .staff-role-meters--compact{
    min-width:120px;
  }
}

@media (max-width: 860px){
  .content[data-route="studio"]{
    overflow:auto;
  }

  .content[data-route="studio"] > *{
    height:auto;
  }

  .studio-summary-grid,
  .studio-overview-layout,
  .studio-ops-grid,
  .studio-ops-detail-grid,
  .studio-world-topline,
  .studio-world-window-footer{
    grid-template-columns:1fr;
  }

  .studio-market-row,
  .studio-upgrade-row{
    grid-template-columns:1fr;
  }

  .studio-market-actions{
    justify-items:start;
    min-width:0;
  }

  .studio-market-note{
    max-width:none;
    text-align:left;
  }

  .studio-portfolio-head{
    flex-direction:column;
  }

  .studio-portfolio-rating{
    width:100%;
    text-align:left;
  }

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

  .studio-shell{
    height:auto;
    overflow:visible;
  }

  .scripts-header,
  .scripts-workspace-head{
    align-items:stretch;
  }

  .scripts-market-filters{
    grid-template-columns:1fr;
  }

  .production-header,
  .production-panel-head,
  .production-cast-head,
  .production-launch-row,
  .production-release-top,
  .production-desk-grid,
  .production-prep-toolbar{
    align-items:stretch;
  }

  .staff-action-row{
    justify-content:flex-start;
  }

  .studio-pane--menu{
    position:static;
    height:auto;
    overflow:visible;
  }

  .studio-section--catalog{
    min-height:240px;
  }

  .studio-catalog-scroll{
    max-height:320px;
  }

  .studio-world-pane,
  .studio-pane--menu{
    grid-column:auto;
  }

  .production-release-grid{
    grid-template-columns:1fr;
  }

  .production-prep-toolbar,
  .production-prep-confirm-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .topbar{
    gap:12px;
  }

  .topbar-main{
    grid-template-columns:1fr;
    gap:12px;
  }

  .topbar .right{
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .studio-summary-title{
    font-size:19px;
  }

  .studio-summary-stats{
    grid-template-columns:1fr;
  }

  .studio-world-title{
    font-size:22px;
  }

  .studio-ops-card-grid{
    grid-template-columns:1fr;
  }

  .production-kpi-grid,
  .production-current-stats,
  .production-form-grid,
  .production-form-grid--settings,
  .production-desk-grid,
  .production-phase-strip{
    grid-template-columns:1fr;
  }

  .studio-world-statbar,
  .studio-menu-stats{
    grid-template-columns:1fr;
  }

  .studio-world-viewport{
    min-height:260px;
  }

  .studio-panel-head{
    flex-direction:column;
  }

  .studio-panel-head span{
    text-align:left;
  }
}
