:root{--bg:#070b14;--panel:#101728;--panel2:#0c1220;--line:#24304a;--text:#f4f7fb;--muted:#96a3b9;--accent:#7c5cff;--accent2:#20d6a1;--danger:#ff6b7a;--warning:#f7c96b;--shadow:0 18px 50px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#172142 0,transparent 30%),var(--bg);color:var(--text);min-height:100vh}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px;border-right:1px solid var(--line);background:rgba(8,12,22,.92);backdrop-filter:blur(16px);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,var(--accent),#b954ff);box-shadow:0 10px 28px rgba(124,92,255,.35)}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--muted);margin-top:2px}.sidebar nav{display:grid;gap:6px}.nav-btn{border:0;background:transparent;color:var(--muted);text-align:left;border-radius:11px;padding:12px 13px;font-weight:700;cursor:pointer;display:flex;gap:11px;align-items:center}.nav-btn:hover,.nav-btn.active{background:#161f35;color:var(--text)}.nav-btn.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{margin-top:auto;padding:16px 8px 2px;display:grid;gap:9px}.sidebar-foot small{color:var(--muted);line-height:1.45}.plan-pill,.badge{display:inline-flex;width:max-content;border:1px solid #38476b;background:#151e33;color:#cbd5e8;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.main{padding:28px 32px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:900;color:#8795ae;margin:0 0 6px}.topbar h1{font-size:30px;margin:0;letter-spacing:-.03em}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn{border:1px solid transparent;border-radius:11px;padding:11px 15px;font-weight:800;cursor:pointer;color:var(--text);transition:.15s transform,.15s opacity,.15s background}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg,var(--accent),#9a55ff);box-shadow:0 10px 24px rgba(124,92,255,.22)}.btn.secondary{background:#151e30;border-color:#2e3b58}.btn.wide{width:100%;padding:14px 16px}.status{font-size:11px;font-weight:900;border-radius:999px;padding:7px 10px;border:1px solid}.status.pending{color:#b7c0d2;border-color:#39445b;background:#121928}.status.good{color:#6ef0c3;border-color:#215e4d;background:#102821}.status.bad{color:#ff9eaa;border-color:#69323a;background:#2d1519}.view{display:none}.view.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat,.panel{background:linear-gradient(180deg,rgba(17,24,42,.98),rgba(12,18,32,.98));border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.stat{padding:20px}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:32px;margin:8px 0 3px}.stat small{font-size:11px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:22px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.panel h2{margin:0;font-size:20px;letter-spacing:-.02em}.workflow{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:12px}.workflow li{display:flex;gap:12px;align-items:flex-start}.workflow b{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#1a2540;color:#bfaeff;flex:0 0 auto}.workflow strong,.workflow span{display:block}.workflow span{color:var(--muted);font-size:13px;margin-top:3px}.meter{height:10px;background:#090e19;border-radius:999px;border:1px solid #24304a;overflow:hidden}.meter>div{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));transition:width .25s}.meter-row{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:9px 0 16px}.rule-card{display:grid;gap:5px;padding:14px;border:1px solid #26324b;border-radius:12px;background:#0b1220;margin-top:10px}.rule-card span{color:var(--muted);font-size:12px;line-height:1.55}.empty-state{border:1px dashed #33405c;border-radius:13px;padding:22px;text-align:center;color:var(--muted);background:#0b111e}.empty-state.tall{min-height:280px;display:grid;place-items:center}.builder-grid{display:grid;grid-template-columns:minmax(360px,.84fr) minmax(460px,1.16fr);gap:18px}.builder-form label,.blueprint-panel label{display:grid;gap:7px;font-size:12px;font-weight:800;margin-bottom:14px}.optional{color:var(--muted);font-weight:600}input,textarea{width:100%;border:1px solid #2b3854;background:#090f1b;color:var(--text);border-radius:11px;padding:12px 13px;outline:none;font:inherit}input:focus,textarea:focus{border-color:#755dce;box-shadow:0 0 0 3px rgba(124,92,255,.12)}textarea{resize:vertical}.callout{background:#131d33;border:1px solid #304165;border-left:3px solid var(--warning);color:#c5cede;border-radius:11px;padding:12px 13px;font-size:12px;line-height:1.55;margin:3px 0 15px}.error-box{background:#2a1218;border:1px solid #69313c;color:#ffc1c8;border-radius:11px;padding:12px;margin-top:12px;font-size:12px}.hidden{display:none!important}.blueprint-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.blueprint-summary>div{background:#0b1220;border:1px solid #27324c;border-radius:12px;padding:13px}.blueprint-summary span,.blueprint-summary strong{display:block}.blueprint-summary span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.section-block{padding-top:17px;border-top:1px solid #25304a;margin-top:17px}.section-block h3{font-size:13px;margin:0 0 10px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.fact-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fact{background:#0a111e;border:1px solid #26324a;border-radius:10px;padding:10px}.fact span,.fact strong{display:block}.fact span{font-size:10px;color:var(--muted);text-transform:uppercase}.fact strong{font-size:12px;margin-top:3px;word-break:break-word}.module-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.module-option,.game-option{display:flex!important;align-items:flex-start!important;grid-template-columns:none!important;gap:9px!important;margin:0!important;padding:11px;border:1px solid #293551;border-radius:10px;background:#0a111e}.module-option input,.game-option input{width:auto;margin-top:2px}.module-option strong,.module-option span,.game-option strong,.game-option span{display:block}.module-option span,.game-option span{font-size:11px;color:var(--muted);font-weight:500;line-height:1.4;margin-top:3px}.game-list,.missing-list{display:grid;gap:9px}.missing{padding:10px 11px;border-radius:10px;background:#221b0d;border:1px solid #5a4822;color:#ecd596;font-size:12px}.confirm-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;gap:9px!important;padding:13px;background:#0b1220;border:1px solid #283551;border-radius:11px;margin:18px 0 12px!important;line-height:1.5}.confirm-row input{width:auto;margin-top:3px}.micro,.muted{color:var(--muted);font-size:11px;line-height:1.55}.owner-validation{margin-top:10px;padding:10px 11px;border-radius:10px;background:#2a1218;border:1px solid #69313c;color:#ffc1c8;font-size:11px;line-height:1.45}.owner-media-intake.owner-required{border-top-color:#69313c}.owner-media-intake.owner-required #owner-name{border-color:#8b3f4b;box-shadow:0 0 0 3px rgba(139,63,75,.12)}.owner-media-intake.owner-complete #owner-name{border-color:#215e4d}.owner-media-intake .badge.required{color:#ffb3bc;border-color:#69323a;background:#2d1519}.owner-media-intake .badge.complete{color:#6ef0c3;border-color:#215e4d;background:#102821}.big-credit{text-align:center;padding:18px 0}.big-credit strong,.big-credit span{display:block}.big-credit strong{font-size:54px}.big-credit span{color:var(--muted)}.app-row,.usage-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:12px;align-items:center;border:1px solid #28344f;background:#0a111e;border-radius:11px;padding:12px;margin-top:9px}.app-row span,.usage-row span{font-size:12px;color:var(--muted)}.app-row strong,.usage-row strong{font-size:13px}.toast{position:fixed;right:22px;bottom:22px;background:#151f35;border:1px solid #3a496c;box-shadow:var(--shadow);padding:13px 16px;border-radius:12px;max-width:360px;transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s}.toast.show{transform:none;opacity:1}@media(max-width:1050px){.shell{grid-template-columns:82px 1fr}.sidebar{padding:24px 12px}.brand>div:last-child,.nav-btn:not(.active){} .brand strong,.brand span,.nav-btn{font-size:0}.nav-btn span{font-size:18px}.nav-btn{justify-content:center}.sidebar-foot{display:none}.stats-grid{grid-template-columns:1fr 1fr}.builder-grid{grid-template-columns:1fr}}@media(max-width:720px){.shell{display:block}.sidebar{height:auto;position:sticky;z-index:20;bottom:auto;top:0;display:flex;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:9px 10px}.brand{padding:0;margin-right:8px}.brand-mark{width:36px;height:36px}.brand>div:last-child{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.nav-btn{padding:9px 11px}.nav-btn span{font-size:16px}.sidebar-foot{display:none}.main{padding:20px 14px 35px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start}.topbar h1{font-size:25px}.stats-grid,.grid-2,.blueprint-summary,.fact-list,.module-list{grid-template-columns:1fr}.panel{padding:17px}.app-row,.usage-row{grid-template-columns:1fr 1fr}.builder-grid{grid-template-columns:1fr}.status#api-status{display:none}}

.modal{position:fixed;inset:0;background:#02050bbd;display:grid;place-items:center;padding:20px;z-index:100;backdrop-filter:blur(10px)}.modal-card{position:relative;width:min(460px,100%);background:#101728;border:1px solid #32405e;border-radius:20px;padding:24px;box-shadow:0 25px 90px #0009}.modal-card h2{margin:0 0 8px}.modal-card label{display:grid;gap:7px;margin-top:13px;font-size:12px;font-weight:800}.modal-close{position:absolute;right:13px;top:11px;border:0;background:transparent;color:#aab5c8;font-size:28px;cursor:pointer}.auth-actions{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}


/* BTS App Maker brand system */
.brand-logo{width:54px;height:54px;display:block;flex:0 0 auto;filter:drop-shadow(0 10px 22px rgba(124,92,255,.26))}
.brand-copy{min-width:0}.brand-copy strong{font-size:19px;letter-spacing:-.035em;line-height:1.05;background:linear-gradient(90deg,#fff 0%,#ddd6ff 58%,#a9ffe8 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-copy .tm{display:inline!important;font-size:9px!important;vertical-align:top;margin-left:2px;color:#a9ffe8!important;background:none!important;-webkit-text-fill-color:#a9ffe8}.brand-copy>span{font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:#8390a7!important;margin-top:5px!important}.eyebrow{color:#9ba9c0}.btn.primary{background:linear-gradient(135deg,#765bff,#8d54ff 56%,#16d9b3)}
@media(max-width:1050px){.brand-logo{width:48px;height:48px}.brand-copy{display:none}}
@media(max-width:720px){.brand-logo{width:42px;height:42px}.brand{margin-right:8px}}

.runtime-banner{margin:0 0 18px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-color:#8a5b1b;background:linear-gradient(135deg,rgba(138,91,27,.18),rgba(11,16,32,.98))}.runtime-banner.hidden{display:none}.runtime-banner h2{margin:0 0 6px}.runtime-banner p{margin:0;max-width:850px}.runtime-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:760px){.runtime-banner{align-items:flex-start;flex-direction:column}.runtime-actions,.runtime-actions .btn{width:100%}}
\n.runtime-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:14px}\n.runtime-evidence{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:4px}\n.runtime-evidence span{font-size:.76rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}\n.runtime-evidence strong{font-size:.9rem;color:#f8fafc;word-break:break-word}\n
/* v3.3 product-quality corrections */
.sidebar .brand-wordmark{width:206px!important;height:auto!important;max-height:54px;object-fit:contain;object-position:left center;filter:none!important;flex:0 1 auto}
.game-module-card{grid-column:1/-1;border:1px solid #3b4770;border-radius:12px;background:#0b1323;padding:12px}.game-module-toggle{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:0!important}.game-module-toggle input{width:auto;margin-top:2px}.game-module-toggle strong,.game-module-toggle span{display:block}.game-module-toggle span span{font-size:11px;color:var(--muted);font-weight:500;line-height:1.45;margin-top:3px}.game-concepts{display:grid;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid #293551}.owner-media-selected{color:#6ef0c3!important;font-weight:800}


/* v3.6 wordmark + owner intake integrity */
.owner-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.owner-info-grid label{margin-bottom:10px!important}
.sidebar .brand-wordmark{width:206px!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important;flex:0 0 auto!important}
@media(max-width:1050px){.shell{grid-template-columns:220px 1fr}.sidebar{padding:24px 16px}.sidebar .brand-wordmark{width:184px!important;height:auto!important}.nav-btn{font-size:13px!important;justify-content:flex-start!important}.nav-btn span{font-size:18px!important}.sidebar-foot{display:grid!important}}
@media(max-width:720px){.shell{display:block}.sidebar{height:auto;position:sticky;z-index:20;top:0;display:flex;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:9px 10px;gap:8px}.brand{padding:0;margin-right:4px;flex:0 0 auto}.sidebar .brand-wordmark{width:150px!important;height:auto!important;max-height:none!important;flex:0 0 150px!important}.sidebar nav{display:flex;overflow:auto;gap:4px}.nav-btn{font-size:0!important;padding:9px 10px!important;justify-content:center!important}.nav-btn span{font-size:16px!important}.sidebar-foot{display:none!important}.owner-info-grid{grid-template-columns:1fr}}


/* v3.6.2 — high-contrast BTS App Maker wordmark without a plate */
.sidebar .brand{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0 8px 28px!important;
  margin:0!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
}
.sidebar .brand-logo{
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 18px rgba(53,93,255,.28))!important;
}
.sidebar .brand-copy{
  display:block!important;
  min-width:0!important;
  line-height:1!important;
}
.sidebar .brand-name{
  display:inline-block!important;
  color:#fff!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-fill-color:#fff!important;
  -webkit-text-stroke:.7px #ff8a1f;
  text-shadow:
    0 0 1px #ff8a1f,
    0 1px 0 #ff8a1f,
    0 3px 10px rgba(0,0,0,.45)!important;
  font-size:25px!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.sidebar .brand-name .tm{
  display:inline!important;
  color:#ffb25f!important;
  -webkit-text-fill-color:#ffb25f!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  font-size:9px!important;
  margin-left:2px!important;
  vertical-align:top!important;
  position:relative!important;
  top:-1px!important;
}
.sidebar .brand-subtitle{
  display:block!important;
  margin-top:6px!important;
  color:#aeb9cc!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
@media(max-width:1050px){
  .shell{grid-template-columns:220px 1fr}
  .sidebar .brand{padding:0 3px 24px!important;gap:9px!important}
  .sidebar .brand-logo{width:42px!important;height:42px!important;flex-basis:42px!important}
  .sidebar .brand-name{font-size:21px!important}
  .sidebar .brand-subtitle{font-size:8px!important}
}
@media(max-width:720px){
  .sidebar .brand{
    padding:0!important;
    margin:0 5px 0 0!important;
    gap:7px!important;
    flex:0 0 auto!important;
  }
  .sidebar .brand-logo{width:34px!important;height:34px!important;flex-basis:34px!important}
  .sidebar .brand-name{font-size:17px!important;-webkit-text-stroke:.55px #ff8a1f!important}
  .sidebar .brand-subtitle{display:none!important}
}


/* v4.5.5 — background analysis reliability; iPhone public-link safety, ZIP library, and visual integrity retained */
.app-library-copy{max-width:760px;margin:7px 0 0}.app-row-download>div:first-child,.app-library-main{min-width:0}.app-row-download small,.app-library-main small{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zip-download{min-height:42px;white-space:nowrap}.zip-download.compact{padding:9px 12px}.archive-missing{font-size:11px;color:#d8c589}.app-library-row{grid-template-columns:minmax(0,1.55fr) minmax(180px,.9fr) auto;padding:14px 15px}.app-library-main{display:grid;gap:3px}.app-library-main>span{font-size:11px;color:#aab5c9}.archive-state{display:grid;gap:3px}.archive-state b{font-size:11px;color:#83efd0}.archive-state span{font-size:10px!important}.archive-actions{display:flex;justify-content:flex-end;align-items:center}.archive-actions .btn{min-width:128px}.app-row-download{grid-template-columns:minmax(0,1.5fr) .8fr .7fr auto}
@media(max-width:720px){.app-library-row{grid-template-columns:1fr}.archive-actions{justify-content:stretch}.archive-actions .btn{width:100%}.app-row-download{grid-template-columns:1fr 1fr}.app-row-download .zip-download,.app-row-download .archive-missing{grid-column:1/-1}.zip-download.compact{width:100%}}
