/* The root URL is the GB Studio launcher. Each tool keeps its own workspace URL. */
.studio-home-pres-logo { width:min(75%,150px); height:140px; object-fit:contain; }
.studio-home-card-pres .studio-home-version,.studio-home-card-pres .studio-home-card-status { color:var(--studio-hub-accent); }
.studio-home { --studio-hub-accent:#FF60D3; display:none; min-height:calc(100dvh - 54px); color:#f6f4ef; background:#101010; }
html[data-studio-app="home"] .studio-home { display:block; }
html[data-studio-app="home"] .breadcrumbs { display:none; }
html[data-studio-app="home"] .top-actions { margin-left:auto; }
/* Shared account dialogs take the hub identity only on the launcher.
   The same dialogs inside Mira/Visto keep their existing app theme. */
html[data-studio-app="home"] :is(#profileModal,#reviewsAdminModal,#reviewsPersonModal) { --brand-orange:#FF60D3; --brand-orange-rgb:255,96,211; }
html[data-studio-app="home"] :is(.profile-signout-button,.studio-add-person,.studio-person-save) { color:#101010; }
html[data-studio-app="home"] :is(.studio-settings-panel,.studio-person-panel) { border-top:2px solid #FF60D3; }
html[data-studio-app="home"] :is(.account-button,.studio-settings-button,.profile-close-icon,.studio-settings-close,.studio-person-header button):hover { border-color:#FF60D3; color:#FF60D3; background:#171717; }
html[data-studio-app="home"] :is(#profileModal,#reviewsAdminModal,#reviewsPersonModal) :is(button,input,select,a):focus-visible,
html[data-studio-app="home"] :is(.account-button,.studio-settings-button):focus-visible { outline:2px solid #FF60D3; outline-offset:3px; }
@media (max-width:700px) {
  html[data-studio-app="home"] :is(.studio-people-columns,.reviews-staff-row) { grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.6fr) 12px; gap:8px; }
  html[data-studio-app="home"] .studio-person-actions { flex-wrap:wrap; }
  html[data-studio-app="home"] .studio-person-remove { flex-basis:100%; text-align:left; }
}
@media (max-width:560px) {
  html[data-studio-app="home"] .studio-people-title { flex-direction:column; align-items:stretch; }
  html[data-studio-app="home"] .studio-add-person { width:100%; }
  html[data-studio-app="home"] .studio-people-toolbar { flex-wrap:wrap; }
  html[data-studio-app="home"] .reviews-admin-search { min-width:0; }
}
.studio-home-inner { width:min(1600px,100%); margin:auto; padding:0 clamp(20px,3vw,48px); }
.studio-home-kicker { color:var(--studio-hub-accent); font:600 10px 'DM Mono',monospace; letter-spacing:1.8px; }
.studio-home-intro { padding:22px 0 20px; }
.studio-home-intro-copy { max-width:940px; }
.studio-home-intro h1 { margin:8px 0; color:#f6f4ef; font:600 clamp(30px,3.1vw,44px)/1.08 'Space Grotesk',sans-serif; letter-spacing:-.055em; }
.studio-home-intro-copy>p { max-width:900px; margin:0; color:#aaa; font-size:13px; line-height:1.5; }
.studio-home-plan { padding:clamp(22px,3vw,36px); border:1px solid #5c4031; background:linear-gradient(135deg,#231b16,#161616); }
.studio-home-plan-badge { display:inline-block; color:var(--studio-hub-accent); font:600 10px 'DM Mono',monospace; letter-spacing:1px; line-height:1.6; }
.studio-home-plan h3 { margin:16px 0 22px; font:600 clamp(23px,2.5vw,32px)/1.15 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.studio-home-plan-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin:0; }
.studio-home-plan-price>span { font:600 clamp(30px,3vw,43px)/1.1 'Space Grotesk',sans-serif; letter-spacing:-.05em; }
.studio-home-plan-price small { color:#aaa; font-size:13px; }
.studio-home-plan ul { margin:22px 0; padding-left:17px; color:#ccc; font-size:13px; line-height:1.8; }
.studio-home-plan .studio-home-plan-note { margin:0; padding-top:17px; border-top:1px solid #42342c; color:#999; font-size:11px; line-height:1.65; }
.studio-home-tools { padding:16px 0; border-top:1px solid #333; scroll-margin-top:76px; }
.studio-home-tools .studio-home-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.studio-home-group + .studio-home-group { margin-top:28px; padding-top:24px; border-top:1px solid #333; }
.studio-home-group-heading { margin-bottom:16px; }
.studio-home-group-heading h2 { margin:0 0 6px; font:600 22px/1.2 'Space Grotesk',sans-serif; letter-spacing:-.035em; }
.studio-home-group-heading p { margin:0; color:#aaa; font-size:14px; line-height:1.5; }
/* Match the current app identities, not the still-proposed palette assignments. */
.studio-home-card-pres { --studio-app-accent:#FF6047; }
.studio-home-card-storyboards { --studio-app-accent:#37E7FF; }
.studio-home-card-reviews { --studio-app-accent:#FF6B2B; }
.studio-home-card-divi { --studio-app-accent:#DFEF86; }
.studio-home-card-pdr { --studio-app-accent:#FFDF58; }
.studio-home-card-compi { --studio-app-accent:#FFFFFF; }
.studio-home-card-fig { --studio-app-accent:#35E0B5; }
.studio-home-card-eddie { --studio-app-accent:#9AF23D; }
.studio-home-card-lingo { --studio-app-accent:#B792FF; }
/* Geometry belongs to the grid, never to a description's intrinsic height. */
.studio-home-card { --card-space:clamp(10px,5cqi,16px); --card-icon:clamp(48px,calc(50cqi - 64px),84px); container-type:inline-size; position:relative; display:flex; box-sizing:border-box; width:100%; aspect-ratio:1 / 1; min-width:0; min-height:0; padding:0; flex-direction:column; overflow:hidden; border:1px solid #414141; color:#fff; background:#181818; text-align:left; text-decoration:none; font:inherit; transition:transform .2s,border-color .2s,box-shadow .2s; }
.studio-home-card:not(.is-unavailable):hover { transform:translateY(-4px); border-color:var(--studio-app-accent,#FFFFFF); box-shadow:0 18px 34px rgba(0,0,0,.25); }
.studio-home-card:focus-visible { outline:2px solid var(--studio-app-accent,#FFFFFF); outline-offset:4px; }
.studio-home-card.is-unavailable { cursor:default; opacity:.53; }
.studio-home-card-art { position:relative; display:flex; height:var(--card-icon); flex:none; align-items:center; justify-content:center; margin:var(--card-space) var(--card-space) 0; overflow:hidden; }
/* Keep each app's colored, rounded icon tile; only the white outline is removed. */
.studio-home-card .studio-home-card-art { padding:0; border:0; background:transparent; }
.studio-home-card .studio-home-card-art img { width:min(100%,var(--card-icon)); height:var(--card-icon); aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 8px 22px #0005); }
.studio-home-card-bottom { display:grid; flex:1; min-height:0; grid-template-rows:auto minmax(0,1fr) auto; gap:clamp(4px,2cqi,6px); padding:var(--card-space); }
.studio-home-card-bottom h3 { margin:0; font:600 clamp(24px,10cqi,30px)/1 'Space Grotesk',sans-serif; letter-spacing:-.055em; }
.studio-home-card-bottom .studio-home-version { display:inline-block; margin-left:6px; color:var(--studio-hub-accent); font:600 10px 'DM Mono',monospace; letter-spacing:0; vertical-align:baseline; }
.studio-home-card-bottom>p { max-width:440px; margin:0; color:#aaa; font-size:12px; line-height:1.45; }
.studio-home-card-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:2px; }
[data-catalog-group="desktop"] .studio-home-card-footer { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap:6px; }
.studio-home-platforms { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.studio-home-downloads { display:flex; gap:6px; }
.studio-home-web-label { display:inline-flex; align-items:center; gap:5px; flex:none; color:#ddd; font-size:12px; line-height:1.4; }
.studio-home-web-label.is-unavailable { color:#777; }
.studio-home-card-status { color:var(--studio-hub-accent); font:400 10px/1.5 'DM Mono',monospace; }
.studio-home-open { position:absolute; inset:0; z-index:1; display:block; padding:0; border:0; border-radius:0; color:inherit; background:transparent; text-decoration:none; cursor:pointer; }
.studio-home-open.is-unavailable { cursor:not-allowed; }
.studio-home-open:focus-visible { outline:2px solid var(--studio-app-accent,#FFFFFF); outline-offset:-5px; }
.studio-home-download { position:relative; z-index:2; display:flex; flex:none; width:36px; height:36px; align-items:center; justify-content:center; padding:0; border:1px solid #595959; border-radius:3px; color:#f6f4ef; background:#222; cursor:pointer; }
.studio-home-download:not(:disabled):hover { border-color:var(--studio-app-accent,#FFFFFF); color:var(--studio-app-accent,#FFFFFF); }
.studio-home-download:focus-visible { outline:2px solid var(--studio-app-accent,#FFFFFF); outline-offset:2px; }
.studio-home-download:disabled { border-color:#333; color:#777; background:#161616; cursor:default; }
.studio-home-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (pointer:coarse) { .studio-home-download { width:44px; height:44px; } }
.studio-home-card-compi,.studio-home-card-fig { background:#181818; }
.studio-home-card-pdr { background:#151515; }
.studio-home-card-soon { position:absolute; top:16px; right:20px; padding:8px 10px; border:1px solid #555; border-radius:3px; color:#b3b3b3; font:600 9px 'DM Mono',monospace; letter-spacing:.7px; white-space:nowrap; }
.studio-home-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0; border-top:1px solid #333; color:#777; font:10px 'DM Mono',monospace; letter-spacing:.5px; }
.studio-home-footer-links { display:flex; align-items:center; gap:20px; }
.studio-home-footer :is(button,a) { display:inline-flex; align-items:center; min-height:44px; padding:8px 4px; border:0; background:transparent; color:var(--studio-hub-accent); font:inherit; text-decoration:none; cursor:pointer; }
.studio-home-footer :is(button,a):focus-visible { outline:2px solid var(--studio-hub-accent); outline-offset:2px; }
@media (max-width:1200px) { .studio-home-tools .studio-home-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .studio-home-tools .studio-home-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .studio-home-tools .studio-home-cards { grid-template-columns:1fr; }.studio-home-intro { padding:24px 0; } }
/* Compact the introduction, not the cards: their 1:1 ratio stays screen-independent. */
@media (min-width:1201px) and (max-height:800px) {
  .studio-home-intro { padding:14px 0; }
}
@media (max-width:640px) { .topbar { height:auto; min-height:54px; flex-wrap:wrap; }.studio-nav-link { justify-content:center; min-height:38px; } }
@media (prefers-reduced-motion:reduce) { .studio-home-card { transition:none; }.studio-home-card:not(.is-unavailable):hover { transform:none; } }

.studio-plans-dialog { width:min(1120px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:clamp(20px,3vw,36px); overflow:auto; border:1px solid #555; color:#f6f4ef; background:#151515; }
.studio-plans-dialog::backdrop { background:rgba(0,0,0,.8); }
.studio-plans-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.studio-plans-heading h2 { margin:14px 0; font:600 clamp(26px,3vw,38px)/1.1 'Space Grotesk',sans-serif; letter-spacing:-.04em; }
.studio-plans-close { flex:none; display:grid; place-items:center; width:44px; height:44px; border:1px solid #555; color:#fff; background:transparent; font-size:26px; cursor:pointer; }
.studio-plans-close:focus-visible { outline:2px solid var(--studio-hub-accent); outline-offset:3px; }
.studio-plans-notice,.studio-plans-detail { color:#aaa; font-size:13px; line-height:1.6; }
.studio-plans-notice { margin:0 0 24px; }
.studio-plans-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.studio-plans-grid .studio-home-plan { min-width:0; padding:22px; border-color:#444; background:#1b1b1b; }
.studio-plans-grid .studio-home-plan:first-child { border-color:var(--studio-hub-accent); }
.studio-plans-grid .studio-home-plan-note { border-color:#444; }
.studio-plans-grid .studio-home-plan-price>span { font-size:32px; }
.studio-plans-price-pending { min-height:35px; margin:0; color:#ddd; font-size:18px; }
.studio-plans-detail { margin:18px 0 0; }
@media (max-width:800px) { .studio-plans-grid { grid-template-columns:1fr; }.studio-plans-grid .studio-home-plan { max-width:none; } }

.studio-home-card-refes { --studio-app-accent:#C3B2FF; }
.studio-home-refes-logo { width:min(57%,150px); aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 8px 22px #0005); }

/* Catalog visibility is independent of access: each destination still checks permissions. */
.topbar .brand,.topbar .top-actions { flex-shrink:0; }
.topbar .studio-nav { flex:0 1 auto; min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#444 #050505; }
.topbar .studio-nav-link { flex:0 0 auto; min-height:44px; white-space:nowrap; }
.topbar .studio-nav-link:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
/* No app switcher or empty navigation row inside a tool, including before JS loads. */
html:not([data-studio-app="home"]) .topbar .studio-nav,.topbar .studio-nav[hidden] { display:none!important; }
html:not([data-studio-app="home"]) .topbar .top-actions { margin-left:auto; }
.topbar .breadcrumbs { min-width:0; }
@media (max-width:900px) {
  .topbar { height:auto; min-height:54px; flex-wrap:wrap; row-gap:0; }
  .topbar .brand,.topbar .top-actions { min-height:54px; }
  .topbar .studio-nav { order:3; flex:0 0 100%; width:100%; height:44px; }
}

.studio-home-card-reno { --studio-app-accent:#245DEB; }

/* PC Spa is exclusively a Windows installer; it has no browser workspace. */
.studio-home-card-pcspa { --studio-app-accent:#B8CE95; }
.studio-home-local-badge { color:#B8CE95; border:1px solid #58624c; border-radius:3px; padding:5px 7px; font:9px 'DM Mono',monospace; }
