/* One light storefront shell. Dark surfaces belong only inside media stages. */
:root{--obsidian:#faf9f6;--charcoal:#f0ede7;--ivory:#202020;--muted:#696760;--gold:#8a6a2f;--pumpkin:#b76c2c;--poison:#527046}
body,body.studio-chrome,.app{background:#faf9f6;color:#202020}
.panel,.panel.white{background:#faf9f6;color:#202020}
.panel__inner{max-width:1200px;margin:auto;padding:32px 36px 70px}
.panel.white .panel__inner.wide{max-width:1200px;padding:28px 32px 70px}
.topbar,body.studio-chrome .topbar{background:rgba(250,249,246,.96);border-bottom:1px solid #e8e3db;box-shadow:none}
.topbar__search,body.studio-chrome .topbar__search{background:#fff;border:1px solid #e4dfd6}
/* Full-bleed tabs: the topbar keeps brand + account, search lives on /search */
.topbar__search{display:none!important}
.topbar__search input,.topbar__btn,body.studio-chrome .topbar__btn{color:#202020}
.tabrail,body.studio-chrome .tabrail{background:#faf9f6;border-right:1px solid #e8e3db}
.tab{text-decoration:none;color:#666;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:8px;line-height:1.25;letter-spacing:.02em;text-transform:uppercase;overflow:hidden}
.tab__icon{font-size:19px;line-height:1;flex:0 0 auto}
.tabrail{overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.tabrail::-webkit-scrollbar{display:none}
.tab.active,.tab[aria-current=page]{background:#f1e8d7;color:#78551c}
.tab:hover{color:#202020;background:#eee9df}
.panel input:not([type=checkbox]):not([type=range]):not([type=file]),.panel select,.panel textarea{background:white;color:#202020;border:1px solid #d9d3c7;border-radius:10px}
.dialogue{background:#faf9f6;border-top:1px solid #e8e3db}
.dialogue__input{background:#fff;color:#202020;border-color:#ded9ce}
.dialogue__mic{border-color:#d9d3c7}.greet{display:none!important}
[hidden]{display:none!important}
.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.friends.swiper{display:block;overflow:hidden;padding:18px 0 24px;scroll-snap-type:none}
.friends .swiper-slide{width:94px}.friend{width:94px;gap:9px;transition:transform .2s;scroll-snap-align:none}
.friend img,.friend-initial{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid transparent;background:#e9e2d5}
.friend-initial{display:grid;place-items:center;font-size:27px}
.friend[aria-selected=true]{transform:scale(1.08)}
.friend[aria-selected=true] img,.friend[aria-selected=true] .friend-initial{border-color:#ad8740;box-shadow:0 0 0 4px #f3ead5}
.friend-name{font-size:13px;color:#222}.studio-filters{display:flex;gap:8px;overflow:auto;padding:12px 0 18px}
.studio-filter{white-space:nowrap;border:1px solid #ded9ce;border-radius:24px;background:#fff;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}
.studio-filter[aria-pressed=true]{background:#ede2cc;border-color:#bd9d61}
.chip.on{border-color:#b76c2c;background:#f6ecda;color:#202020}
.chip[aria-pressed=true]{border-color:#b76c2c}
.studio-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.studio-photo{background:#fff;border:1px solid #e6e1d8;border-radius:14px;padding:0;overflow:hidden;text-align:left;cursor:pointer;color:#333}
.studio-photo img{display:block;width:100%;height:210px;object-fit:cover}
.studio-photo-caption{display:block;padding:11px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-empty{padding:28px 0;color:#706b60;grid-column:1/-1}
.studio-dialog{width:min(640px,calc(100vw - 32px));max-height:90dvh;padding:0;border:1px solid #dfd8ca;border-radius:20px;color:#202020;background:#faf9f6}
.studio-dialog::backdrop{background:rgba(30,25,15,.22);backdrop-filter:blur(4px)}
.studio-dialog-inner{padding:28px;display:flex;flex-direction:column;gap:14px}
.studio-dialog-inner h2{margin:0}.studio-dialog-inner label{display:flex;gap:10px;flex-direction:column}
.studio-dialog-inner fieldset label{flex-direction:row;margin:8px 0}
.studio-dialog-inner input:not([type=checkbox]),.studio-dialog-inner select{padding:10px;border:1px solid #d9d3c7;border-radius:8px;background:#fff;color:#222;max-width:100%;font:inherit}
.studio-dialog-close{align-self:flex-end;border:0;background:transparent;color:#555;font:inherit;cursor:pointer}
.studio-photo-inspect{position:relative;align-self:center;max-width:100%}.studio-photo-inspect img{display:block;width:100%;max-height:390px;object-fit:contain}
.studio-face-box{position:absolute;border:2px solid #b77918;color:#fff;background:rgba(146,98,10,.15);font-size:12px;pointer-events:none}
.basket-row{padding:20px;border:1px solid #e0d8c8;border-radius:14px;margin:16px 0;background:#fff}.basket-row h2{font-size:18px}
.unassigned-meshes{padding:16px;border:1px solid #e0d8c8;border-radius:12px;margin:14px 0}.unassigned-meshes label{display:block;margin:10px 0}
#panel-upload,#panel-shop{display:none!important}
@media(max-width:640px){.panel__inner,.panel.white .panel__inner.wide{padding:20px 16px 70px!important}.studio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.studio-photo img{height:175px}.studio-dialog-inner{padding:20px}.topbar__search{min-width:0}.studio-heading h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.friend{transition:none!important}}

/* Reserve the rail in the panel itself, including narrow screens. */
body.studio-chrome .panel,body.studio-chrome .panel.white{left:72px;padding:0}
body.studio-chrome .panel .panel__inner,body.studio-chrome .panel.white .panel__inner{max-width:1200px;padding:110px 28px 70px}
body.studio-chrome .panel.white.model-open{padding-left:0}
@media(max-width:640px){
 body.studio-chrome .panel,body.studio-chrome .panel.white{left:60px}
 body.studio-chrome .tabrail{width:60px}
 body.studio-chrome .topbar{left:60px;right:0}
 body.studio-chrome .search-drop{left:60px;padding-left:16px;padding-right:16px}
 body.studio-chrome .panel .panel__inner,body.studio-chrome .panel.white .panel__inner{padding:110px 14px 70px!important}
 .studio-heading{align-items:flex-start;gap:8px}.studio-heading .cta{padding:8px 10px;font-size:12px}
 .stv__meta{overflow-wrap:anywhere}
}

@media(max-width:640px){
 body.studio-chrome .cs__side{display:none}.cs__arrow{flex-basis:36px;width:36px;height:36px}
 .cs__live .cs__nm{font-size:16px;white-space:nowrap}.cs__active{text-align:center;letter-spacing:0;font-size:10px}
}

/* ── canonical shell (peer review §§22-28): one token source, floating chrome ── */
:root{
  --canvas:#faf9f6; --text:#202020;
  --chrome-bg:rgba(255,255,255,.66); --chrome-border:rgba(30,30,30,.10);
  --chrome-glow:0 0 0 transparent; --accent:#c4891a; --surface:#ffffff;
}
body[data-theme="halloween"]{
  --canvas:#080707; --text:#f6eee4;
  --chrome-bg:rgba(20,12,8,.68); --chrome-border:rgba(255,111,24,.30);
  --chrome-glow:0 0 28px rgba(255,92,12,.24); --accent:#ff721b;
}
body[data-theme="christmas"]{
  --canvas:#08130e; --text:#f8f2df;
  --chrome-bg:rgba(10,35,23,.65); --chrome-border:rgba(218,174,82,.30);
  --chrome-glow:0 0 26px rgba(196,36,45,.20); --accent:#d8ad57;
}
/* dead 110px header space is gone: pages begin near the top */
body.studio-chrome .panel .panel__inner,body.studio-chrome .panel.white .panel__inner{max-width:1200px;padding:24px 28px 70px!important;padding-left:86px!important}
/* world logo fixed on canvas; rail floats below it */
.world-logo{position:fixed;left:16px;top:14px;z-index:100;line-height:0}
.world-logo .switcher{position:fixed;left:70px;top:66px}
.tabrail{position:fixed!important;left:12px!important;top:74px!important;bottom:14px!important;height:auto!important;width:58px!important;border-radius:22px!important;background:var(--chrome-bg)!important;border:1px solid var(--chrome-border)!important;backdrop-filter:blur(18px) saturate(130%);box-shadow:var(--chrome-glow),0 12px 40px rgba(0,0,0,.12);overflow-y:auto;padding:10px 0 12px!important}
.tabrail .tab{width:48px;max-width:48px}
/* panels own the full canvas; inner safe inset clears the floating rail */
.app,.panel{padding-left:0!important;left:0!important}
/* canonical app type: Inter for chrome, mono for technical data only */
body,.tab,.topbar__btn,.oc-button,.chip,.secchip{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.overlay-panel h2,.concept__name,.product__name,.quick__title,.qk-hero,.qk-flash__text,.hero h3,.panel__h{font-family:Inter,system-ui,sans-serif!important;font-weight:600!important;letter-spacing:-.01em}
@media(max-width:640px){
  body.studio-chrome .panel .panel__inner,body.studio-chrome .panel.white .panel__inner{padding:20px 14px 70px!important;padding-left:76px!important}
  .tabrail{left:8px!important;width:52px!important}
  .world-logo{left:10px;top:10px}
}
/* chrome serif purge, part 2: section/product headings stay Inter */
.store-head h2,.detail-card h3,.feed__name,.cs__slot .cs__nm,.cs__live .cs__nm,.pr-detail h3,.spot__name{font-family:Inter,system-ui,sans-serif!important;font-weight:600!important;letter-spacing:-.01em}
