/* HUD fit (Solar 10:01): matching Storage / Shop / Design squares + no clipping (hudfit.js sets --hk per panel, hk-wrap = second row) */
.sc-hudli .h-pn{--hk:1}
.sc-hudli .h-cats{overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;scroll-snap-type:none}
.sc-hudli .h-pn .h-cat{min-width:calc(58px * var(--hk))!important;font-size:max(8px,calc(10.5px * var(--hk)))!important;gap:calc(4px * var(--hk))!important;padding:1px!important}
.sc-hudli .h-pn .h-cat .h-b{width:calc(44px * var(--hk))!important;height:calc(44px * var(--hk))!important;border-radius:calc(14px * var(--hk))!important}
.sc-hudli .h-cat .h-b svg{width:calc(24px * var(--hk));height:calc(24px * var(--hk))}
.sc-hudli .h-main .h-cats,.sc-hudli .h-tray .h-cats{gap:calc(6px * var(--hk))!important}
.sc-hudli .h-hs{gap:calc(6px * var(--hk))!important;align-items:flex-start}
.sc-hudli .h-hs .hq{width:auto!important;height:auto!important;min-width:calc(58px * var(--hk));display:flex;flex-direction:column;align-items:center;gap:calc(4px * var(--hk));padding:1px;background:none;border:0;box-shadow:none;cursor:pointer;color:var(--txt,#e8e6ff);font-family:inherit;font-weight:500;font-size:max(8px,calc(10.5px * var(--hk)))!important;line-height:1.1;white-space:nowrap;align-self:flex-start;border-radius:0}
.sc-hudli .h-hs .hq>img{display:none}
.sc-hudli .h-hs .hq .hq-sq{width:calc(40px * var(--hk));height:calc(40px * var(--hk));border-radius:calc(14px * var(--hk));display:grid;place-items:center;box-sizing:border-box;border:2px solid #7a4a00;background:linear-gradient(#ffd36b,#f2a93b);color:#3b2300;box-shadow:0 calc(2px * var(--hk)) 0 #9c5d00;margin-top:calc(2px * var(--hk));transition:transform .08s,filter .12s}
.sc-hudli .h-hs .hq .hq-sq svg{width:calc(21px * var(--hk));height:calc(21px * var(--hk))}
.sc-hudli .h-hs .hq:hover .hq-sq{filter:brightness(1.07)}.sc-hudli .h-hs .hq:active .hq-sq{transform:translateY(2px);box-shadow:0 1px 0 #9c5d00}
.sc-hudli .h-hs .hq:focus{outline:0}.sc-hudli .h-hs .hq:focus-visible .hq-sq{outline:3px solid #22E4FF;outline-offset:2px}
.sc-hudli[data-layout=d] .h-dock .h-hs{gap:calc(18px * var(--hk))!important}
/* wrap: A/B bar -> categories (+ Storage/Shop/Design) on their own centered row(s) */
.sc-hudli .h-main.hk-wrap{flex-wrap:wrap;row-gap:6px;justify-content:center}
.sc-hudli .h-main.hk-wrap .h-cats{order:9;flex:1 0 100%;width:100%;flex-wrap:wrap;justify-content:center!important;border-top:1px solid rgba(178,164,236,.4);padding-top:6px;row-gap:4px}
.sc-hudli .h-tray.hk-wrap .h-cats{flex-wrap:wrap;justify-content:center;row-gap:4px}
@media (min-width:601px) and (min-height:501px){.sc-hudli .h-main.hk-wrap .h-hs{order:10;flex:0 0 auto;margin:0 auto}}
@media (max-width:600px){.sc-hudli .h-main .h-cats{justify-content:center!important;flex-wrap:wrap;row-gap:4px}}
/* C rail: 2 columns when it doesn't fit tall */
.sc-hudli[data-layout=c] .h-rail .h-cats{overflow:visible!important}
.sc-hudli[data-layout=c] .h-rail.hk-wrap{width:auto;min-width:112px}
.sc-hudli[data-layout=c] .h-rail.hk-wrap .h-cats{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:calc(4px * var(--hk))}
.sc-hudli[data-layout=c] .h-rail.hk-wrap .h-hs{display:grid;grid-template-columns:repeat(3,auto);justify-content:center}
.sc-hudli .h-main .h-hs{flex-direction:row!important;flex-wrap:nowrap}
/* Notes bundle art (DaVinci final, chests fill ~50-68% of frame) */
.sc-drw-art:has(>img.sc-nb){overflow:hidden}
.sc-drw-art>img.sc-nb{width:100%;height:100%;object-fit:contain;transform:scale(1.45);transform-origin:50% 55%}
@media (max-width:600px){.sc-hudli .h-main .h-hs{justify-content:center!important;align-self:center;margin-left:auto!important;margin-right:auto!important}}
.sc-hudli .h-hs .hq .hq-sq:has(>.hq-art){background:none;border:0;box-shadow:none}.sc-hudli .h-hs .hq .hq-art{width:100%;height:100%;object-fit:contain}
/* nav slot (hudnav.js): static, no transition/animation */
.sc-hudli a.hn-b{text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;animation:none!important;transition:none!important}.sc-hudli a.hn-b:focus{outline:0}.sc-hudli a.hn-b:focus-visible{outline:2px solid #22E4FF;outline-offset:2px}
/* Sell prop bubble = Rotate bubble size (Solar 10:33): same pill box, art scale and text colors */
.ib-sell .sb-art::after{color:#000!important}
.ib-sell .sb-art{background:#fff!important}
/* ONE HUD button system (Solar 10:34): every square (categories, gold Storage/Shop/Design, right icons) uses --hb; one gap --hg
   between buttons, --hgg between groups; --hl = label line so box tops line up across groups. hudfit.js scales all via --hk. */
.sc-hudli .h-pn{--hb:calc(44px * var(--hk));--hc:calc(58px * var(--hk));--hg:calc(4px * var(--hk));--hgg:calc(16px * var(--hk));--hlf:max(8px,calc(10.5px * var(--hk)));--hl:calc(var(--hlf) * 1.1 + var(--hg))}
.sc-hudli .h-pn .h-cat .h-b,.sc-hudli .h-hs .hq .hq-sq,.sc-hudli .h-pn .h-acts>.h-b{width:var(--hb)!important;height:var(--hb)!important;min-width:0!important;min-height:0!important;border-radius:calc(var(--hb) * .3)!important;box-sizing:border-box!important;padding:0!important;margin:0!important;flex:none!important}
.sc-hudli .h-pn .h-cat .h-b svg,.sc-hudli .h-hs .hq .hq-sq svg,.sc-hudli .h-hs .hq .hq-sq .hq-art,.sc-hudli .h-pn .h-acts>.h-b svg{width:calc(var(--hb) * .5)!important;height:calc(var(--hb) * .5)!important}
.sc-hudli .h-hs .hq .hq-sq{box-shadow:0 calc(2px * var(--hk)) 0 #9c5d00}
.sc-hudli .h-pn .h-cat,.sc-hudli .h-hs .hq{width:var(--hc)!important;min-width:var(--hc)!important;max-width:var(--hc)!important;gap:var(--hg)!important;padding:0!important;margin:0!important;font-size:var(--hlf)!important;line-height:1.1!important;justify-content:flex-start!important;align-self:flex-start!important;overflow:visible}
.sc-hudli .h-pn .h-cat>span:not(.h-b),.sc-hudli .h-hs .hq .hq-l{font-size:var(--hlf)!important;line-height:1.1!important;white-space:nowrap}
.sc-hudli .h-pn .h-cats,.sc-hudli .h-pn .h-hs{gap:0!important;align-items:flex-start!important}
.sc-hudli .h-pn .h-acts{gap:calc(var(--hc) - var(--hb))!important;align-items:flex-start!important;padding-bottom:var(--hl)}
.sc-hudli .h-main{column-gap:var(--hgg)!important;align-items:flex-start}
.sc-hudli .h-main>.h-prof,.sc-hudli .h-main>.h-stats{align-self:center}
.mv-grp{filter:drop-shadow(0 0 3px #22E4FF) drop-shadow(0 0 6px rgba(34,228,255,.7)) brightness(1.08)!important}
/* DaVinci option B PNGs (Solar 10:38): idle art fills the --hb box exactly; hover/press via CSS */
.sc-hudli .h-hs .hq .hq-sq:has(>.hq-art){background:none!important;border:0!important;box-shadow:none!important;border-radius:calc(10px * var(--hk))!important;overflow:visible}
.sc-hudli .h-hs .hq .hq-sq>.hq-art{width:var(--hb)!important;height:var(--hb)!important;display:block;object-fit:contain;transition:filter .12s,transform .08s}
.sc-hudli .h-hs .hq:hover .hq-art{filter:brightness(1.08)}.sc-hudli .h-hs .hq:active .hq-art{transform:translateY(2px) scale(.97);filter:brightness(.95)}
.sc-hudli .h-hs .hq:active .hq-sq:has(>.hq-art){transform:none}
/* Storage grid (GDD 6.6.1): 25 slots / page, fixed height, 44px arrows in bubble style, dots */
.sc-drw-row:has(>.sc-stg){display:block;overflow:visible}
.sc-stg{list-style:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.sc-stg-hd{align-self:flex-end;font:600 13px Lexend,Inter,sans-serif;color:#DCE6FF;padding-right:52px}
.sc-stg-pg{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}
.sc-stg-grid{--sz:60px;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,13),var(--sz));grid-auto-rows:var(--sz);gap:6px;height:calc(var(--rows,2) * var(--sz) + (var(--rows,2) - 1) * 6px);align-content:start}
@media (max-width:1399px){.sc-stg-grid{--cols:9;--rows:3}}
@media (max-width:760px){.sc-stg-grid{--cols:5;--rows:5;--sz:52px}}
@media (min-width:1900px){.sc-stg-grid{--cols:25;--rows:1;--sz:62px}}
.sc-slot{position:relative;box-sizing:border-box;width:var(--sz);height:var(--sz);min-height:0!important;flex:none!important;padding:4px!important;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);display:grid;place-items:center;overflow:hidden}
.sc-slot .sc-drw-art{width:100%;height:100%;display:grid;place-items:center}.sc-slot .sc-drw-art img,.sc-slot .sc-drw-art svg{max-width:100%;max-height:100%;object-fit:contain}
.sc-slot-q{position:absolute;right:3px;bottom:2px;font:700 11px Lexend,sans-serif;color:#fff;text-shadow:0 1px 2px #000}
.sc-slot-empty{background:rgba(255,255,255,.025);border:1px dashed rgba(255,255,255,.12)}
.sc-slot-lock{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.06);color:rgba(220,230,255,.35)}
.sc-slot-up{padding:0!important;border:1px solid #2F7BFF}.sc-up-b{width:100%;height:100%;border:0;background:#2F7BFF;color:#fff;font:700 10px/1.15 Lexend,sans-serif;cursor:pointer;border-radius:9px}
.sc-slot-max{font:600 11px Lexend,sans-serif;color:#9fb2ff}
.sc-slot.is-sel{outline:2px solid #22E4FF;outline-offset:1px}
.sc-pg-b{flex:none;width:44px;height:44px;border-radius:12px;background:#FFFAF0;color:#1C1E2E;border:1.5px solid #1C1E2E;box-shadow:0 1px 0 #D9CFBF inset,0 1px 3px rgba(0,0,0,.35);font:700 24px/1 Lexend,sans-serif;cursor:pointer}
.sc-pg-b:disabled{opacity:.35;cursor:default}.sc-pg-b:focus{outline:0}.sc-pg-b:focus-visible{outline:2px solid #22E4FF;outline-offset:2px}
.sc-stg-dots{display:flex;gap:6px;min-height:8px}.sc-dot{width:8px;height:8px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.3);cursor:pointer}.sc-dot[aria-current=true]{background:#22E4FF}
.sc-slot-bar{display:flex;align-items:center;gap:8px;font:600 13px Lexend,sans-serif;color:#fff}.sc-slot-bar .sc-drw-bs{display:flex;gap:6px}
.sc-lquick{display:flex;gap:4px}.sc-lqb{min-width:34px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font:600 12px Lexend,sans-serif;cursor:pointer}.sc-lqb[aria-pressed=true]{background:#2F7BFF;border-color:#2F7BFF}
.sc-logs,.sc-upg{flex-basis:220px!important}
/* ONE prop bubble size (Solar 10:49): every .sb-pill art box is the same; Rotate/Sell no longer scaled down. --pb-s = shared scale */
.sb-pill{--pb-s:1}
.sb-pill .sb-art,.sb-pill.ib-rotate .sb-art,.sb-pill.ib-sell .sb-art{scale:var(--pb-s)!important}
.ib-sell .sb-art::after{font-size:calc(var(--ak,1px) * 8)!important}
/* placement redesign (Solar 10:52) */
.sc-drw-ghost{opacity:.75}.sc-drw-ghost.is-ok{outline:3px solid #3BE37A;outline-offset:2px;background:rgba(59,227,122,.18);border-radius:12px}
.sc-drw-ghost.is-bad{outline:3px solid #FF4D5E;outline-offset:2px;background:rgba(255,77,94,.18);border-radius:12px}
.mv-new{filter:drop-shadow(0 0 4px #FFD36B) drop-shadow(0 0 10px rgba(255,211,107,.8))!important;animation:mvNew 1s ease-in-out 3}
@keyframes mvNew{50%{filter:drop-shadow(0 0 8px #FFD36B) drop-shadow(0 0 16px rgba(255,211,107,.9))}}
.sc-hudli .hq{position:relative}.sc-pop1{position:absolute;top:-6px;right:-4px;background:#3BE37A;color:#06210f;font:800 11px/1 Lexend,sans-serif;padding:3px 5px;border-radius:9px;pointer-events:none;animation:scPop 1.1s ease-out forwards}
@keyframes scPop{0%{transform:scale(.4);opacity:0}20%{transform:scale(1.15);opacity:1}100%{transform:translateY(-14px);opacity:0}}
@media (prefers-reduced-motion:reduce){.mv-new,.sc-pop1{animation-duration:.01s}}
.sc-hudli .h-hs .hq .hq-sq>img.hq-art{position:static!important;inset:auto!important;opacity:1!important}
/* equal group gaps: categories | gold | right icons spaced by --hgg; bar centered */
.sc-hudli .h-main:not(.hk-wrap){justify-content:center!important}
.sc-hudli .h-main:not(.hk-wrap)>.h-cats{flex:0 0 auto!important}
.sc-hudli .h-pn .h-acts{margin-left:calc((var(--hc) - var(--hb)) / 2)!important}
/* mail star (Solar 11:02): same size as the other mail buttons */
.m2-filt{display:flex;gap:6px;margin:4px 0 6px}.m2-f[aria-pressed=true]{background:#1C1E2E;color:#fff}
.m2-list .ebx-row{display:flex;align-items:center;gap:6px}.m2-list .ebx-row .ebx-open{flex:1;min-width:0}
.m2-rstar{flex:none;min-width:44px;font-size:18px;line-height:1}.m2-rstar[aria-pressed=true]{color:#E8A500}
.m2-starred .ebx-t{font-weight:700}
.sc-drw-bs{display:flex;gap:4px;flex-wrap:nowrap;width:100%}.sc-drw-bs .sc-drw-b{flex:1 1 0;min-width:0;padding-left:4px;padding-right:4px;white-space:nowrap}
/* B(1) Solar 11:12: one thinner drawer shell for every drawer; width hugs the content (grid + arrows), centred */
.sc-drw-in{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box;padding:4px 10px 4px}
.sc-drw-hd{min-height:36px;gap:6px}
.sc-drw-row:has(>.sc-stg){padding-top:0;padding-bottom:0}
.sc-stg{gap:3px}
.sc-stg-hd{align-self:stretch;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-right:52px}
.sc-stg-hd .sc-drw-reset{margin:0;min-height:28px}
.sc-slot-bar{flex-wrap:nowrap;white-space:nowrap;max-width:100%;min-height:32px}.sc-slot-bar>b{overflow:hidden;text-overflow:ellipsis;min-width:0}.sc-slot-bar .sc-drw-bs{flex-wrap:nowrap;width:auto}.sc-slot-bar .sc-drw-b{flex:0 0 auto}
/* Solar 11:26: "Layout" tooltip on the HUD layout switcher (custom, no native title): shared white bubble, black text, ~300 ms, above the button, never on touch */
.sc-hudli .h-sw[data-act="cycle"]{overflow:visible}
.sc-hudli .h-sw[data-act="cycle"]::after{content:"Layout";position:absolute;bottom:calc(100% + 8px);right:0;padding:4px 10px;border-radius:11px;background:#FFFAF0;color:#1C1E2E;border:1.5px solid #1C1E2E;box-shadow:0 2px 0 rgba(28,30,46,.35);font:700 12px/1.2 Lexend,Inter,system-ui,sans-serif;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .12s ease 0s,transform .12s ease 0s;z-index:5}
.sc-hudli .h-sw[data-act="cycle"].hf-tip::after{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sc-hudli .h-sw[data-act="cycle"]::after{transform:none}}
/* Solar 11:27: layout C rail - a bit more vertical gap and width to use the height (button size = shared --hb/--hc) */
.sc-hudli[data-layout=c] .h-rail{min-width:120px;padding-top:14px;padding-bottom:14px}
.sc-hudli[data-layout=c] .h-rail .h-cats{gap:calc(8px * var(--hk,1))!important}
.sc-hudli[data-layout=c] .h-rail .h-hs{gap:calc(8px * var(--hk,1));padding-bottom:12px}
/* Solar 11:27: C/D at phone width - the top row (who + actions) fits; action squares shrink a little instead of running off the edge */
@media (max-width:600px){.sc-hudli[data-layout=c] .h-top .h-acts,.sc-hudli[data-layout=d] .h-top .h-acts{--hb:38px;gap:5px!important;min-width:0;flex-shrink:1}.sc-hudli[data-layout=c] .h-top .h-acts .h-b,.sc-hudli[data-layout=d] .h-top .h-acts .h-b{width:var(--hb)!important;height:var(--hb)!important}.sc-hudli[data-layout=c] .h-top,.sc-hudli[data-layout=d] .h-top{gap:6px!important}.sc-hudli[data-layout=c] .h-top .h-xbar,.sc-hudli[data-layout=d] .h-top .h-xbar{max-width:44px}}
/* Solar 11:40: Lamp room prop (desk-top, 20x27 @1x on the 458x375 stage) */
#prop-lamp{left:30%;top:40%;width:4.36681%;height:7.2%;z-index:6;width:round(4.36681%,1px);height:round(7.2%,1px)}
#prop-lamp .dec-sprite{background:url("/brand/room/lamp-1@2x.webp") 0 0/100% 100% no-repeat}   /* Solar 1:03 PM: always @2x (no room-big/zoom rule existed for the lamp) */
#prop-lamp .dec-shadow{display:none}
.prop--lamp.is-gone-init{visibility:hidden}
/* Solar 12:04: "N online" header on the bottom-left activity feed (track.js) */
.sc-feed-on{display:flex;align-items:center;gap:6px;width:max-content;margin:0 0 6px;padding:4px 10px;border-radius:999px;background:rgba(10,13,38,.86);border:1px solid rgba(94,230,208,.45);color:#E8E9F7;font:600 12px/1.2 Lexend,Inter,sans-serif;pointer-events:auto;white-space:nowrap}
.sc-feed-on[hidden]{display:none}
.sc-feed-on .sp-dot{width:8px;height:8px;border-radius:50%;background:#3BE37A;box-shadow:0 0 6px rgba(59,227,122,.8);flex:none}
/* Solar 12:05: shop/design tile buttons = clean centered pills inside the card (no Sell on tiles) */
.sc-drw-tile>.sc-drw-b,.sc-drw-tile .sc-drw-bs .sc-drw-b{flex:0 0 auto;width:auto;min-width:64px;max-width:100%;height:30px;min-height:30px;padding:0 12px;border-radius:999px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;line-height:30px;align-self:center}
.sc-drw-tile .sc-drw-bs{flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;max-width:100%;box-sizing:border-box}
/* Solar 12:14: stats = fixed grid (icon | right-aligned tabular number, 7ch | label): icons and labels line up, the block never grows (statgrid.js compacts 100K+) */
.sc-hudli .h-st b{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.sc-hudli .h-st{flex:none!important}
/* mobile: natural-width stats (Solar 2:03 QA: the fixed 6.2ch column spread icon and number apart) */
@media (min-width:601px){.sc-hudli .h-main .h-stats{grid-template-columns:22px auto max-content!important;column-gap:0!important}.sc-hudli .h-main .h-st{display:contents!important}.sc-hudli .h-main .h-st i{width:22px!important;justify-self:center;text-align:center;overflow:visible}.sc-hudli .h-main .h-st b{width:6.2ch;min-width:0!important;justify-self:end;box-sizing:content-box}.sc-hudli .h-main .h-st em{padding-left:6px}}
@media (min-width:601px) and (max-width:999px){.sc-hudli .h-main .h-stats{grid-template-columns:22px auto!important}}
.hud-st b{display:inline-block;min-width:6ch;text-align:right;font-variant-numeric:tabular-nums}
.pf-stats b{font-variant-numeric:tabular-nums;white-space:nowrap}
/* Solar 1:05 AM: MOBILE layout C only. Lvl pill fits its content; owner XP bar gets the space; Remi row left-aligned label + full-width bar */
@media (max-width:600px){
.sc-hudli[data-layout="c"] .h-pg .h-prof{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.sc-hudli[data-layout="c"] .h-pg .h-who{flex:1 1 0;min-width:0;width:calc(100% - 40px);max-width:calc(100% - 40px);overflow:hidden;grid-template-columns:minmax(0,1fr)!important}.sc-hudli[data-layout="c"] .h-pg .h-prof{gap:6px!important}.sc-hudli[data-layout="c"] .h-pg .h-av{width:34px!important;height:34px!important;min-width:34px!important;flex:none}
.sc-hudli[data-layout="c"] .h-pg .h-who>.h-row:first-child{display:flex!important;align-items:center;gap:6px;min-width:0;width:100%}
.sc-hudli[data-layout="c"] .h-pg .h-lvl{flex:none;width:max-content!important;min-width:0!important;padding:0 6px!important;gap:3px;white-space:nowrap}
.sc-hudli[data-layout="c"] .h-pg .h-who>.h-row:first-child>.h-xbar{flex:1 1 60px!important;width:60px!important;min-width:28px;max-width:none!important;height:6px}
.sc-hudli[data-layout="c"] .h-remi{justify-content:flex-start!important;padding:0 10px!important;box-sizing:border-box}
.sc-hudli[data-layout="c"] .h-remi .h-xbar{flex:1 1 auto!important;width:auto!important;max-width:none!important;height:20px;background:none!important;overflow:visible!important;position:relative}
.sc-hudli[data-layout="c"] .h-remi .h-xbar::before{content:"";position:absolute;left:96px;right:0;top:6px;bottom:6px;border-radius:999px;background:rgba(255,255,255,.14)}
.sc-hudli[data-layout="c"] .h-remi .h-xbar>[data-k="petPct"]{position:absolute!important;left:96px!important;right:0!important;top:6px!important;bottom:6px!important;width:auto!important;height:auto!important}
.sc-hudli[data-layout="c"] .h-remi .h-xlab{position:absolute!important;left:0!important;top:0;bottom:0;width:92px!important;justify-content:flex-start!important;padding:0!important;gap:3px;white-space:nowrap;overflow:visible!important;text-shadow:none}
}
/* Solar 2:03: sprite-strip art (plant) = first frame (52x90 frames), sized to the thumbnail box; tile pills always inside */
.sc-drw-strip{display:block;height:100%;aspect-ratio:52/90;max-width:100%;background-repeat:no-repeat;background-position:0 0;background-size:auto 100%;image-rendering:auto;pointer-events:none}
.sc-drw-tile .sc-drw-bs:empty{display:none}
.sc-drw-tile{overflow:hidden}
.sc-drw-tile .sc-drw-art>img{min-height:38px;width:auto;height:auto;image-rendering:auto}
/* PWA shell (Oct 21): locked page only in the installed app (html.pwa); browser tabs unchanged */
html.pwa,html.pwa body{overflow:hidden!important;position:fixed;inset:0;width:100%;height:100dvh;overscroll-behavior:none;touch-action:manipulation}
html.pwa body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
html.pwa input,html.pwa textarea,html.pwa [contenteditable]{-webkit-user-select:text;user-select:text}
html.pwa .sc-hudli{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
html.pwa-ios #mz-fs,html.pwa-ios .mz-fs{display:none!important}
.sc-inst{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9700;display:flex;align-items:center;gap:10px;max-width:min(92vw,420px);padding:10px 12px;border-radius:14px;background:#141a2b;border:1px solid #2F7BFF;color:#fff;font:500 13px/1.35 Lexend,system-ui,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.sc-inst img{border-radius:9px;flex:none}.sc-inst-t{flex:1;min-width:0}
.sc-inst-go{flex:none;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:#FFB547;color:#1b1203;font:700 13px Lexend,system-ui,sans-serif;cursor:pointer}
.sc-inst-x{flex:none;width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:#fff;font-size:20px;cursor:pointer}

/* Solar 2:46: layout D top bar - each pill wraps its own content (no stats under the action buttons), buttons centred in their pill, even gap */
.sc-hudli[data-layout=d] .h-top{gap:calc(16px * var(--hk,1))}.sc-hudli[data-layout=d] .h-top .h-pg,.sc-hudli[data-layout=d] .h-top .h-actp{flex:0 0 auto!important;width:max-content!important;align-items:center}.sc-hudli[data-layout=d] .h-top .h-acts{margin-top:0!important;margin-bottom:0!important}

/* Solar 3:38: install bubble at the top (pwa.js sets top below the HUD panels), compact; dismiss = 24 h */
.sc-inst{top:calc(8px + env(safe-area-inset-top));bottom:auto!important;gap:8px;max-width:min(calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)),360px);padding:6px 6px 6px 8px;border-radius:12px;font-size:12px;line-height:1.3;box-shadow:0 6px 18px rgba(0,0,0,.35)}.sc-inst img{width:28px;height:28px}.sc-inst-t b:first-child{display:block;font-size:13px}.sc-inst-t span{display:block;opacity:.85}.sc-inst-go{min-height:30px;padding:0 12px;font-size:12px}.sc-inst-x{width:30px;height:30px;font-size:18px}.sc-inst.sc-inst--r{left:auto;right:calc(16px + env(safe-area-inset-right));transform:none}
.sc-inst-mail{margin:10px 0 0}.sc-inst-mailb{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:#FFB547;color:#1b1203;font:700 13px Lexend,system-ui,sans-serif;cursor:pointer}
.sc-inst{width:min(calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)),340px)}
/* Solar 3:52: settings pop-up (cube visibility) */
.cv-ov{position:fixed;inset:0;z-index:9800;display:grid;place-items:center;background:rgba(6,8,22,.55);padding:16px}
.cv-box{position:relative;width:min(100%,340px);background:#141a2b;border:2px solid #8f86ff;border-radius:16px;padding:16px 16px 12px;color:#fff;font:500 14px/1.35 Lexend,system-ui,sans-serif;box-shadow:0 12px 32px rgba(0,0,0,.45)}
.cv-box h2{margin:0 0 10px;font-size:17px}.cv-box fieldset{border:0;margin:0;padding:0;display:grid;gap:6px}.cv-box legend{font-weight:700;margin-bottom:6px;font-size:13px;opacity:.85}
.cv-o{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid #2c3354;border-radius:10px;cursor:pointer}.cv-o:has(input:checked){border-color:#FFB547;background:rgba(255,181,71,.08)}
.cv-o input{margin-top:3px;accent-color:#FFB547}.cv-o b{display:block}.cv-o small{display:block;opacity:.75;font-size:12px}
.cv-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:#fff;font-size:20px;cursor:pointer}.cv-msg{min-height:18px;margin:8px 0 0;font-size:12px;opacity:.85}
/* Solar 4:59: visitor mode */
html.sc-visit .sc-hudli,html.sc-visit .topbar,html.sc-visit .sc-inst,html.sc-visit .mail-bubble,html.sc-visit .sc-drw,html.sc-visit .sc-feed,html.sc-visit #hs-mail{display:none!important}
.sc-vbar{position:fixed;z-index:9600;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:6px 8px;border-radius:999px;background:rgba(20,26,43,.94);border:2px solid #8f86ff;color:#fff;font:500 13px/1.2 Lexend,system-ui,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.sc-vbar a{color:inherit;text-decoration:none}.sc-vb-back,.sc-vb-home{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border-radius:999px;background:#232a45;font-weight:700}
.sc-vb-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#7b6cff;font-weight:700;flex:none}.sc-vb-n{display:grid;min-width:0}.sc-vb-n b,.sc-vb-n small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-vb-n small{opacity:.75;font-size:11px}
.sc-vb-f{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:#FFB547;color:#1b1203;font:700 13px Lexend,system-ui,sans-serif;cursor:pointer;display:inline-flex;align-items:center}
.sc-vlock{position:fixed;inset:0;z-index:9500;display:grid;place-content:center;gap:6px;text-align:center;background:rgba(6,8,22,.8);color:#fff;font:500 15px Lexend,system-ui,sans-serif}.sc-vlock a{color:#FFB547}
@media (max-width:420px){.sc-vb-home{display:none}.sc-vbar{gap:6px}}
/* Solar 5:02: XP texts - smaller, muted, tabular, centred with their bars, never overflow */
.sc-hudli .h-row .h-xpt{font-size:11px!important;font-weight:500;opacity:1;color:rgba(214,220,255,.62);font-variant-numeric:tabular-nums;white-space:nowrap;align-self:center;line-height:1;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sc-hudli .h-row .h-xpt b{font-weight:600;color:rgba(232,236,255,.78)}
.sc-hudli .h-row:has(.h-xbar--pet){align-items:center}
@media (max-width:600px){.sc-hudli[data-layout=c] .h-xpt--pet{display:none!important}}
/* Solar 5:01: top bars get breathing room; buttons centred in their bar (equal padding), mail badge never clipped */
.sc-hudli[data-layout=a] .h-main{padding-top:calc(16px + env(safe-area-inset-top))!important;padding-bottom:10px!important}
.sc-hudli[data-layout=a] .h-main .h-acts,.sc-hudli[data-layout=b] .h-main .h-acts{align-self:center}
.sc-hudli[data-layout=b] .h-main{padding-top:10px!important;padding-bottom:10px!important}
.sc-hudli[data-layout=d] .h-top{top:calc(18px + env(safe-area-inset-top))!important}
.sc-hudli[data-layout=d] .h-top .h-actp,.sc-hudli[data-layout=d] .h-top .h-pg{height:auto!important;min-height:var(--th);padding-top:8px!important;padding-bottom:8px!important;display:flex;align-items:center;box-sizing:border-box}
.sc-hudli[data-layout=d] .h-top .h-acts{height:auto!important;padding-top:0!important;padding-bottom:0!important;align-items:center}
.sc-hudli[data-layout=c] .h-top{top:calc(10px + env(safe-area-inset-top))}
.sc-hudli .h-acts,.sc-hudli .h-acts .h-b,.sc-hudli .h-actp,.sc-hudli .h-main{overflow:visible!important}
.sc-drw-ask{position:fixed;z-index:9900;transform:translate(-50%,-100%);min-width:220px;max-width:300px;padding:10px 12px;border-radius:14px;background:#141a2b;border:2px solid #FFB547;color:#fff;font:600 14px/1.3 Lexend,system-ui,sans-serif;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.45)}
.sc-drw-ask p{margin:0 0 8px}.sc-drw-ask div{display:flex;gap:8px;justify-content:center}
@media (min-width:1200px){.sc-hudli[data-layout=a] .h-row .h-xpt,.sc-hudli[data-layout=b] .h-row .h-xpt{display:inline-block!important;flex:0 1 auto}}
/* Solar 5:28 visit XP note */
.sc-vxp{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 64px);transform:translate(-50%,-8px);opacity:0;z-index:9700;pointer-events:none;background:rgba(20,26,43,.92);color:#ffe08a;font:600 13px/1.2 system-ui,sans-serif;padding:6px 12px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:opacity .3s,transform .3s;font-variant-numeric:tabular-nums}
.sc-vxp.on{opacity:1;transform:translate(-50%,0)}
/* Solar 6:30: mail view never scrolls sideways (long links wrap) */
.m2-mail,.m2-mail .ebx-body{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.m2-mail .ebx-body a{overflow-wrap:anywhere;word-break:break-all}
.m2-mail .ebx-sig{margin:10px 0 8px;max-width:100%;overflow:hidden}.m2-mail .ebx-sig img{max-width:100%;object-fit:contain}
.m2-mail .ebx-spot{align-self:flex-start;width:max-content;max-width:100%;margin-bottom:10px}
.ebx-mail.m2-mail{overflow-x:hidden}
.sc-xp-pop{color:#ffe08a}
/* Solar 8:37: ONE top layer. Tabs < toasts/hints < menus < popups/settings < drag ghost; all above camera controls (.hli-fsd 61), HUD, room + fullscreen stage (30-32). All are body-level fixed nodes (no transformed ancestor). */
:root{--z-ui:2147470000}
html body .sc-drw{z-index:calc(var(--z-ui) + 100)}html body .sc-drw-ask{z-index:calc(var(--z-ui) + 200)}
html body .hli-menu,html body .pf-hmenu{z-index:calc(var(--z-ui) + 1000)}
html body .ebx{z-index:calc(var(--z-ui) + 2000)}html body .adm-modal{z-index:calc(var(--z-ui) + 2080)}html body .pf-ov{z-index:calc(var(--z-ui) + 2090)}html body .auth-modal{z-index:calc(var(--z-ui) + 2100)}html body .pf-sc{z-index:calc(var(--z-ui) + 2200)}html body .sc-sell{z-index:calc(var(--z-ui) + 2300)}html body .cv-ov{z-index:calc(var(--z-ui) + 2800)}
html body .hud-toast,html body .sc-vxp,html body .sc-inst,html body .sc-sell-float{z-index:calc(var(--z-ui) + 500)}
/* Solar 8:42: profile-page mail overlay frame + embedded mail-only home page */
.sc-mailfr{position:fixed;inset:0;width:100vw;height:100vh;border:0;margin:0;padding:0;background:transparent;color-scheme:normal;z-index:calc(var(--z-ui) + 2000);opacity:0;transition:opacity .15s}.sc-mailfr.on{opacity:1}
html.sc-embed-mail,html.sc-embed-mail body{background:transparent!important}
html.sc-embed-mail body>*:not(.ebx){visibility:hidden!important}html.sc-embed-mail .night-bg{display:none!important}
/* Solar 8:42: no build bar (categories, Storage, Shop, Design) on profile pages (own + others) or in visit mode */
html.pf-hud .sc-hudli .h-cats,html.pf-hud .sc-hudli .h-hs,html.sc-visit .sc-hudli .h-cats,html.sc-visit .sc-hudli .h-hs{display:none!important}
/* Solar 8:45 (corrected): layouts A + B (Solar 8:59) stats = icon | label | number. Icons in a fixed column, labels left-aligned at one x, numbers left-aligned at one x
   (columns sized to the widest label / number, so large numbers never misalign or push the block out). */
.sc-hudli[data-layout=a] .h-main .h-stats,.sc-hudli[data-layout=b] .h-main .h-stats{grid-auto-flow:row dense!important}
@media (min-width:601px){.sc-hudli[data-layout=a] .h-main .h-stats,.sc-hudli[data-layout=b] .h-main .h-stats{grid-template-columns:22px max-content max-content!important}}
.sc-hudli[data-layout=a] .h-main .h-st em,.sc-hudli[data-layout=b] .h-main .h-st em{grid-column:2!important;order:1;margin-left:6px!important;text-align:left!important;justify-self:start!important}
.sc-hudli[data-layout=a] .h-main .h-st b,.sc-hudli[data-layout=b] .h-main .h-st b{grid-column:3!important;order:2;margin-left:8px!important;text-align:left!important;justify-self:start!important}
@media (min-width:601px) and (max-width:999px){.sc-hudli[data-layout=a] .h-main .h-st b,.sc-hudli[data-layout=b] .h-main .h-st b{grid-column:2!important;margin-left:6px!important}.sc-hudli[data-layout=a] .h-main .h-stats,.sc-hudli[data-layout=b] .h-main .h-stats{grid-template-columns:22px max-content!important}}
/* Solar 9:20/9:21: logged-in top-right bar (scbar.js): '?' (ghost), gold Log out, @studiocubeapp; logged-out .topbar unchanged */
.sc-tbar{display:flex;align-items:center;gap:14px;font:500 .9rem Lexend,Inter,sans-serif}.sc-tbar[hidden]{display:none!important}
.sc-tb-b{font:600 .85rem/1 Lexend,Inter,sans-serif;color:#1b1203;background:#FFB547;border:0;border-radius:999px;padding:8px 14px;cursor:pointer;min-height:32px}
.sc-tb-ghost{color:#fff;background:transparent;box-shadow:inset 0 0 0 1px rgba(123,108,230,.9)}.sc-tb-help{min-width:36px;padding-left:0;padding-right:0;font-weight:700}
.sc-tb-x{color:#EDEBFF;text-decoration:none;opacity:.9;padding:6px 0;white-space:nowrap}.sc-tb-x:hover{opacity:1}

.sc-tbar--fx{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(clamp(16px,2.5vw,28px) + env(safe-area-inset-right));z-index:calc(var(--z-ui) + 400)}
@media (max-width:520px){.sc-tbar{gap:10px}}

/* City window wall prop (Solar 9:43, DaVinci art): city sheet behind the see-through frame; position/size set by moveall renderWin */
#prop-win{position:absolute;left:66%;top:20%;width:25.1092%;height:34.1333%;z-index:3;pointer-events:none}
#prop-win.is-gone-init{visibility:hidden}
#prop-win>div,#prop-win .wc-city>div{position:absolute;inset:0}
#prop-win .wc-city{overflow:hidden}
#prop-win .wc-cy{height:800%;bottom:auto;animation:wcY 12s steps(8) infinite}
#prop-win .wc-cx{position:absolute;top:0;left:0;height:100%;width:1200%;background-size:100% 100%;animation:wcX 1.5s steps(12) infinite}
#prop-win .wc-still{display:none;background-size:100% 100%}
#prop-win .wc-frame{background-size:100% 100%;background-repeat:no-repeat}
#prop-win .dec-hit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#prop-win .dec-hit polygon{fill:transparent;pointer-events:all;cursor:pointer}
#prop-win.is-active,#prop-win.mv-up{filter:drop-shadow(0 0 1.5px #22E4FF) drop-shadow(0 0 6px rgba(34,228,255,.7))}
@keyframes wcY{to{transform:translateY(-100%)}}
@keyframes wcX{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){#prop-win .wc-cy{display:none}#prop-win .wc-still{display:block}}

/* Library windows (Solar 11:19): City night behind the glass mask, frame copy on top; box/position set by moveall renderLib */
.prop--wlib{position:absolute;z-index:3;pointer-events:none}
.prop--wlib.is-gone-init{visibility:hidden}
.prop--wlib .wl-city,.prop--wlib .wl-frame{position:absolute;inset:0}
.prop--wlib .wl-city{overflow:hidden;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.prop--wlib .wl-cbox{position:absolute;overflow:hidden}
.prop--wlib .wc-cy{position:absolute;left:0;top:0;width:100%;height:800%;animation:wcY 12s steps(8) infinite}
.prop--wlib .wc-cx{position:absolute;top:0;left:0;height:100%;width:1200%;background-size:100% 100%;animation:wcX 1.5s steps(12) infinite}
.prop--wlib .wc-still{position:absolute;inset:0;display:none;background-size:100% 100%}
.prop--wlib .wl-frame{background-size:100% 100%;background-repeat:no-repeat}
#prop-wfrost .wl-city{filter:blur(.6px)}
.prop--wlib .dec-hit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.prop--wlib .dec-hit polygon{fill:transparent;pointer-events:all;cursor:pointer}
.prop--wlib.is-active,.prop--wlib.mv-up{filter:drop-shadow(0 0 1.5px #22E4FF) drop-shadow(0 0 6px rgba(34,228,255,.7))}
@media (prefers-reduced-motion:reduce){.prop--wlib .wc-cy{display:none}.prop--wlib .wc-still{display:block}}

/* Placed windows follow the room window's time of day (Solar 12:52): the built-in window-city sheets (12x8, 8 fps) behind each glass, current = html[data-ctod],
   crossfade layer = html[data-ctod-next] + html.ctod-on (set by app.js with the room's 1.5 s fade). Anti-drift (Solar 12:53): one element per layer,
   whole-pixel box (round), background-position steps like .room-city (frame offset = n x box width, whole px), no transforms, so loops land exactly. */
.wc-sheet{position:absolute;left:0;top:0;width:round(100%,1px);height:round(100%,1px);background-size:1200% 800%;background-repeat:no-repeat;background-position:0 0;
  animation:city-x 1.5s steps(12,end) infinite,city-y 12s steps(8,end) infinite}
.wc-sheet.wc-next{opacity:0;transition:none}
html.ctod-on .wc-sheet.wc-next{opacity:1;transition:opacity 1.5s linear}
#prop-win[data-face="right"] .wc-sheet,.prop--wlib[data-face="right"] .wl-cbox,.prop--wcorner .wl-city[data-pane="right"] .wl-cbox{transform:scaleX(-1)}
#prop-win .wc-city>.wc-sheet{inset:auto;left:0;top:0}
@media (prefers-reduced-motion:reduce){.wc-sheet{animation:none!important;background-position:0 0!important}html.ctod-on .wc-sheet.wc-next{transition:none}}
html[data-ctod="dawn"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-dawn-wide@2x.webp")}
html.win-8w[data-ctod="dawn"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-dawn-8w@2x.webp")}
html[data-ctod="day"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-day-wide@2x.webp")}
html.win-8w[data-ctod="day"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-day-8w@2x.webp")}
html[data-ctod="dusk"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-dusk-wide@2x.webp")}
html.win-8w[data-ctod="dusk"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-dusk-8w@2x.webp")}
html[data-ctod="night"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-night-wide@2x.webp")}
html.win-8w[data-ctod="night"] .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-night-8w@2x.webp")}
.wc-sheet,.prop--wlib .wl-frame,#prop-win .wc-frame{image-rendering:auto}
/* Solar 1:08 PM: Buy Notes / Logs / Storage upgrades — cards size to content, compact Custom amount, no stretched blanks */
.sc-drw-tile.sc-pack,.sc-logs,.sc-upg{align-self:flex-start;min-height:0}
.sc-cust{min-width:184px;gap:3px;padding:6px 8px}
.sc-cust .sc-drw-art{height:34px}.sc-cust .sc-drw-art img{max-height:34px}
.sc-cust-ctl{gap:6px}.sc-cust-b{width:34px;height:34px;border-radius:10px;font-size:18px}
.sc-cust-n{min-width:56px;font-size:16px}.sc-cust-r{height:22px}
.sc-cust button:not(.sc-cust-b){padding:4px 16px;min-height:30px}
@media (pointer:coarse){.sc-cust-b{width:40px;height:40px}.sc-cust-r{height:32px}}
/* Solar 1:10: Add-log pill shows loaded/max; full = dimmed + "Full" */
.fb-addlog[data-n]::after{content:attr(data-n);position:absolute;left:50%;top:100%;transform:translate(-50%,calc(2px * var(--k,1)));font:700 calc(9px * var(--k,1) * var(--d,1))/1 Lexend,system-ui;color:#fff;background:rgba(14,18,40,.85);border-radius:999px;padding:calc(2px * var(--k,1) * var(--d,1)) calc(5px * var(--k,1) * var(--d,1));white-space:nowrap;pointer-events:none}
.fb-addlog.is-full .sb-art{opacity:.45;filter:grayscale(.6)}.fb-addlog.is-full::after{content:"Full (" attr(data-n) ")"}
/* Solar 1:08: Custom amount as a compact 2-row grid, same height as a pack card: [art|name|stepper] / [art|slider|price+Buy] */
.sc-drw-tile.sc-cust{flex:0 0 300px;min-width:0;display:grid;grid-template-columns:44px 1fr auto;grid-template-rows:auto auto auto;grid-template-areas:"art name ctl" "art r r" "p p buy";column-gap:8px;row-gap:4px;align-items:center;justify-items:start;padding:8px 10px}
.sc-cust .sc-drw-art{grid-area:art;width:44px;height:40px;overflow:visible}.sc-cust .sc-drw-art img{max-height:40px}
.sc-cust .sc-drw-name{grid-area:name;margin:0}.sc-cust .sc-cust-ctl{grid-area:ctl}.sc-cust .sc-cust-r{grid-area:r;width:100%}
.sc-cust .sc-drw-price{grid-area:p;margin:0}.sc-cust>[data-cbuy]{grid-area:buy;justify-self:end}
.sc-cust-b{width:30px;height:30px}.sc-cust-n{min-width:52px}
@media (pointer:coarse){.sc-cust-b{width:36px;height:36px}.sc-cust-r{height:28px}}
@media (max-width:480px){.sc-drw-tile.sc-cust{flex-basis:260px}}
.sc-cust .sc-drw-name{white-space:nowrap}.sc-drw-tile.sc-cust{flex-basis:320px}@media (max-width:480px){.sc-drw-tile.sc-cust{flex-basis:280px}}

/* Solar 1:20: never the wall through the glass - the matching time-of-day still sits under the animated sheet (instant while the sheet loads) */
.wl-cbox,#prop-win .wc-city{background-size:100% 100%;background-repeat:no-repeat;background-color:#0b1030}
.wl-cbox[data-k="2"] .wc-sheet,.wl-cbox[data-k="3"] .wc-sheet{image-rendering:pixelated}
html[data-ctod="dawn"] .wl-cbox,html[data-ctod="dawn"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-dawn-wide-still@2x.webp")}
html.win-8w[data-ctod="dawn"] .wl-cbox,html.win-8w[data-ctod="dawn"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-dawn-8w-still@2x.webp")}
html[data-ctod="day"] .wl-cbox,html[data-ctod="day"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-day-wide-still@2x.webp")}
html.win-8w[data-ctod="day"] .wl-cbox,html.win-8w[data-ctod="day"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-day-8w-still@2x.webp")}
html[data-ctod="dusk"] .wl-cbox,html[data-ctod="dusk"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-dusk-wide-still@2x.webp")}
html.win-8w[data-ctod="dusk"] .wl-cbox,html.win-8w[data-ctod="dusk"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-dusk-8w-still@2x.webp")}
html[data-ctod="night"] .wl-cbox,html[data-ctod="night"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-night-wide-still@2x.webp")}
html.win-8w[data-ctod="night"] .wl-cbox,html.win-8w[data-ctod="night"] #prop-win .wc-city{background-image:url("/brand/room/city/window-city-night-8w-still@2x.webp")}
html:not([data-ctod]) .wl-cbox,html:not([data-ctod]) #prop-win .wc-city{background-image:url("/brand/room/city/window-city-night-wide-still@2x.webp")}html:not([data-ctod]) .wc-sheet:not(.wc-next){background-image:url("/brand/room/city/window-city-night-wide@2x.webp")}

/* Solar 1:07: the room window's floor light, drawn in code (DaVinci's windowless rooms have none), so it follows the window; colour per time of day */
.prop--wlib .wl-glow{position:absolute;left:0;top:0;width:136.364%;height:151.181%;pointer-events:none;clip-path:polygon(2.00% 88.28%,71.33% 61.20%,97.33% 71.35%,28.00% 98.44%);
  background:linear-gradient(160deg,var(--wg,rgba(150,170,255,.16)) 0%,transparent 75%);mix-blend-mode:screen;transition:opacity 1.5s linear}
.prop--wlib[data-face="right"] .wl-glow{left:auto;right:0;transform:scaleX(-1)}
html[data-ctod="day"] .wl-glow{--wg:rgba(255,246,220,.26)}html[data-ctod="dawn"] .wl-glow{--wg:rgba(255,200,170,.2)}html[data-ctod="dusk"] .wl-glow{--wg:rgba(255,170,110,.2)}html[data-ctod="night"] .wl-glow{--wg:rgba(140,160,255,.14)}
/* the built-in city layers stay (they drive the time of day) but are not drawn: the window is the wroom prop now */
#room-city,#room-city-next,#hs-window{visibility:hidden;pointer-events:none}

/* Solar 1:46: fireplace log success + Full (3/3) toasts green (errors stay red) */
.sc-drw-toast.is-ok,.fb-toast.is-ok{background:#0f2a1c;color:#C8FFD9;border:1px solid #3FD47A}
/* Solar 2:21: layout C mobile - top-right icons centred in their box (equal top/bottom and left/right padding) */
@media (max-width:600px){.sc-hudli[data-layout=c] .h-top .h-actp{display:flex!important;align-items:center!important;justify-content:center!important}.sc-hudli[data-layout=c] .h-top .h-actp>.h-acts{align-self:stretch!important;height:auto!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 auto}}
/* Solar 2:23: mobile profile - bar in flow at the end; no HUD layout switcher badge over the content */
.sc-tbar--flow{position:static!important;justify-content:center;flex-wrap:wrap;margin:28px auto 8px;padding:0 12px}
@media (max-width:600px){html.pf-hud .sc-hudli .h-sw{display:none!important}}
/* Solar 2:35: no bottom-left ☰ category button on profile pages (mobile + desktop); the room view keeps it */
html.pf-hud .sc-hudli .h-drw{display:none!important}

/* Solar 5:05: driftwood desk (shop prop, absent until bought); moveall viewSet sets box + sprite per rotation */
#prop-ddesk{left:31.11354%;top:40.93333%;width:34.9345%;height:37.46667%;z-index:5}
#prop-ddesk .dec-sprite{background:url("/brand/room/decor/desk-driftwood-e30-r0@2x.webp") 0 0/100% 100% no-repeat}
#prop-ddesk .dec-shadow{background:url("/brand/room/decor/desk-driftwood-e30-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
.prop--ddesk.is-gone-init{visibility:hidden}

/* Solar 5:10: City window navy box - the 1:20 backdrop colour filled the transparent (skewed) corners of the glass box; the still/sheet art is already skewed, so no backdrop colour. Right wall: mirror the still with the sheet (whole box flips, sheet itself not double-flipped). */
#prop-win .wc-city{background-color:transparent}
#prop-win[data-face="right"] .wc-city{transform:scaleX(-1)}
#prop-win[data-face="right"] .wc-city>.wc-sheet{transform:none}

/* Solar/Luna 5:32 PM: outside-view-day v6 (ov6.js) - day panorama layer inside each window's glass box, masked by the glass shape */
.ov6{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.ov6>*{visibility:hidden!important}
.ov6{background-image:none!important;background-color:transparent!important}
.ov6::before{content:"";position:absolute;inset:0;z-index:5;background-image:var(--ov-img);background-size:var(--ov-size);background-position:var(--ov-pos);background-repeat:no-repeat,no-repeat,repeat;image-rendering:auto;clip-path:var(--ov-clip,none)}
.ov6.ov6-flip::before{transform:scaleX(-1)}

/* Solar/Luna 5:39: library + corner windows already mask .wl-city with their own glass PNG; the City still (one wall parallelogram) cut the clerestory panes (seam + holes), so no still mask there */
.prop--wlib .ov6{-webkit-mask-image:none!important;mask-image:none!important}

/* Solar 5:38: music gear shop props (Luna QA PASS); absent until bought; moveall viewSet sets box + sprite */
#prop-mgmidi{left:37.22707%;top:32.13333%;width:11.35371%;height:10.8%;z-index:6}#prop-mgmidi .dec-sprite{background:url("/brand/room/decor/midi-controller-25key-r0@2x.webp") 0 0/100% 100% no-repeat}#prop-mgmidi .dec-shadow{background:url("/brand/room/decor/midi-controller-25key-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
#prop-mgsynda{left:37.22707%;top:32.93333%;width:9.9345%;height:10.0%;z-index:6}#prop-mgsynda .dec-sprite{background:url("/brand/room/decor/synth-desktop-analog-r0@2x.webp") 0 0/100% 100% no-repeat}#prop-mgsynda .dec-shadow{background:url("/brand/room/decor/synth-desktop-analog-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
#prop-mgspk{left:36.79039%;top:29.06667%;width:9.38865%;height:14.4%;z-index:6}#prop-mgspk .dec-sprite{background:url("/brand/room/decor/speaker-black-r0@2x.webp") 0 0/100% 100% no-repeat}#prop-mgspk .dec-shadow{background:url("/brand/room/decor/speaker-black-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
#prop-mgsynk{left:37.22707%;top:29.53333%;width:17.03057%;height:14.26667%;z-index:6}#prop-mgsynk .dec-sprite{background:url("/brand/room/decor/synth-61key-r0@2x.webp") 0 0/100% 100% no-repeat}#prop-mgsynk .dec-shadow{background:url("/brand/room/decor/synth-61key-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
.prop--mg.is-gone-init{visibility:hidden}

/* Solar 5:41: e30 plant props (shop, absent until bought); moveall viewSet sets box + sprite per rotation */
#prop-pplg{left:54.25764%;top:34.8%;width:14.19214%;height:27.46667%;z-index:5}
#prop-pplg .dec-sprite{background:url("/brand/room/decor/plant-potted-large-r0@2x.webp") 0 0/100% 100% no-repeat}
#prop-pplg .dec-shadow{background:url("/brand/room/decor/plant-potted-large-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
.prop--pplg.is-gone-init{visibility:hidden}
#prop-pptall{left:65.61135%;top:34.0%;width:14.19214%;height:31.73333%;z-index:5}
#prop-pptall .dec-sprite{background:url("/brand/room/decor/plant-potted-tall-5ft-r0@2x.webp") 0 0/100% 100% no-repeat}
#prop-pptall .dec-shadow{background:url("/brand/room/decor/plant-potted-tall-5ft-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
.prop--pptall.is-gone-init{visibility:hidden}
#prop-ptree{left:34.38865%;top:48.8%;width:14.19214%;height:36.0%;z-index:5}
#prop-ptree .dec-sprite{background:url("/brand/room/decor/plant-floor-tree-6ft-r0@2x.webp") 0 0/100% 100% no-repeat}
#prop-ptree .dec-shadow{background:url("/brand/room/decor/plant-floor-tree-6ft-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
.prop--ptree.is-gone-init{visibility:hidden}
#prop-pslim{left:51.41921%;top:23.6%;width:8.51528%;height:28.26667%;z-index:5}
#prop-pslim .dec-sprite{background:url("/brand/room/decor/plant-slim-tall-5ft-r0@2x.webp") 0 0/100% 100% no-repeat}
#prop-pslim .dec-shadow{background:url("/brand/room/decor/plant-slim-tall-5ft-r0-shadow@2x.webp") 0 0/100% 100% no-repeat}
.prop--pslim.is-gone-init{visibility:hidden}

/* Solar 5:47: wall decor (renderWdec sets box + face sprite) */
.prop--wdec{z-index:4}
.prop--wdec .dec-sprite{position:absolute;inset:0;background:0 0/100% 100% no-repeat}
.prop--wdec.is-gone-init{visibility:hidden}
.prop--wdec .dec-hit polygon{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}
/* Solar 6:10: admin Edit demo cube bar */
.sc-demo-bar{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%);z-index:90;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:8px 12px;border-radius:14px;background:rgba(10,13,38,.94);border:1px solid #FFB547;color:#fff;font:600 13px/1.3 Inter,system-ui,sans-serif}
.sc-demo-bar b{color:#FFB547}.sc-demo-st{color:rgba(255,255,255,.75)}
.sc-demo-bar select,.sc-demo-bar button,.sc-demo-bar a{font:600 13px Inter,system-ui,sans-serif;border-radius:9px;border:1px solid rgba(201,184,255,.5);background:#1b1f4a;color:#fff;padding:5px 10px;text-decoration:none;cursor:pointer}
.sc-demo-bar [data-a="done"]{background:#FFB547;color:#141630;border-color:#FFB547}
html.sc-demoedit .sc-drw,html.sc-demoedit .sc-gchat,html.sc-demoedit .sc-inst{display:none!important}
/* Luna/Solar 6:09: global chat (spec brand/hud/global-chat/final, chat.css values); bottom-left, replaces the activity pills */
.sc-gchat{position:fixed;left:var(--gc-left,calc(24px + env(safe-area-inset-left)));bottom:calc(24px + env(safe-area-inset-bottom));width:440px;max-width:calc(100vw - var(--gc-left,24px) - 12px);font:600 15px/20px Nunito,sans-serif;color:#fff;text-shadow:0 0 2px #0b0d2a,0 1px 3px #0b0d2a,0 0 8px rgba(11,13,42,.9);pointer-events:none;z-index:60}
.sc-gchat .feed{-webkit-mask-image:linear-gradient(to top,#000 45%,transparent 100%);mask-image:linear-gradient(to top,#000 45%,transparent 100%);overflow:hidden;max-height:224px;display:flex;flex-direction:column;justify-content:flex-end}
.sc-gchat .l{margin:4px 0;transition:transform .25s ease-out,opacity .6s ease;overflow-wrap:anywhere}
.sc-gchat .l.enter{transform:translateY(24px);opacity:0}
.sc-gchat .l.out{opacity:0}
.sc-gchat .n{color:#c9b8ff;font-weight:800}
.sc-gchat .sys{color:#ffb547;font-weight:800}
.sc-gchat .sys .i{display:inline-block;width:18px;height:18px;vertical-align:-4px;margin-right:6px;filter:drop-shadow(0 1px 2px #0b0d2a)}
.sc-gchat .ft{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.sc-gchat .in{margin-top:8px;font:600 14px Nunito,sans-serif;color:rgba(255,255,255,.55);text-shadow:0 1px 3px #0b0d2a;pointer-events:auto}
.sc-gchat .tap{display:none}
.sc-gchat .box{margin-top:8px;pointer-events:auto;flex:1 1 100%}
.sc-gchat .box input{width:100%;box-sizing:border-box;font:600 15px Nunito,sans-serif;color:#fff;background:rgba(11,13,42,.72);border:1px solid rgba(201,184,255,.55);border-radius:10px;padding:7px 10px;outline:none}
.sc-gchat .box input:focus{border-color:#c9b8ff}
.sc-gchat .msg{margin-top:6px;font:700 13px Nunito,sans-serif;color:#ffb547;flex:1 1 100%}
.sc-gchat .sc-feed{position:static;max-width:none;margin-top:8px;pointer-events:auto}
.sc-gchat .sc-feed .sc-feed-on{margin:0}
.sc-gchat.guest .hint,.sc-gchat.guest .tap,.sc-gchat.guest .box{display:none!important}
html.sc-visit .sc-gchat .hint,html.sc-visit .sc-gchat .tap{display:none!important}
@media (max-width:600px){
 .sc-gchat{left:var(--gc-left,calc(12px + env(safe-area-inset-left)));bottom:calc(40px + env(safe-area-inset-bottom));width:270px;font-size:13.5px;line-height:18px}
 .sc-gchat .feed{max-height:153px}
 .sc-gchat .l{margin:3.6px 0}
 .sc-gchat .sys .i{width:16px;height:16px;vertical-align:-3.5px;margin-right:5.4px}
 .sc-gchat .hint{display:none}
 .sc-gchat .tap{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:700 14px Nunito,sans-serif;color:#ffb547;-webkit-text-stroke:3px #10123a;paint-order:stroke fill;text-shadow:none;background:none;border:0;padding:0;pointer-events:auto;cursor:pointer}
 .sc-gchat .tap .b{width:26px;height:26px;background:url(/brand/hud/global-chat/tap-to-chat-idle.svg) 0 0/26px 26px;transition:transform .08s}
 .sc-gchat .tap:active .b{background-image:url(/brand/hud/global-chat/tap-to-chat-pressed.svg);transform:scale(.92)}
 .sc-gchat .box input{font-size:16px}
}
.sc-stg-hd .sc-stg-pet{margin:0;min-height:28px}
.adm-card .adm-demo{margin:0 0 10px;padding:6px 12px;border-radius:8px;border:1px solid #6d5bd0;background:#2a2350;color:#fff;font:600 13px Lexend,Inter,sans-serif;cursor:pointer}.cv-box .cv-chat{margin-top:10px}
/* Solar 8:33: reverted the 7:55 full-box corner rule (it broke the face/wall classification: flat left pane, wall in the right pane) */

/* Solar 8:22: table lamp on/off - off dims the shade (filter, art untouched); on = soft warm radial glow */
#prop-lamp .dec-sprite{transition:filter .25s}
#prop-lamp.lamp-off .dec-sprite{filter:brightness(.55) saturate(.55)}
#prop-lamp::before{content:"";position:absolute;left:-120%;top:-110%;width:340%;height:300%;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,rgba(255,196,110,.45),rgba(255,170,80,.18) 55%,rgba(255,160,70,0) 100%);mix-blend-mode:screen;transition:opacity .3s;opacity:1;z-index:-1}
#prop-lamp.lamp-off::before{opacity:0}

/* Solar 8:52: blocked while rotating/moving = faded ghost (no red glow); only while lifted (mv-bad is set by the move/rotate check only) */
#stage .mv-bad,#stage .hotspot.mv-bad.is-active,#stage .prop.mv-bad,#stage #hs-neon.mv-bad .neon-tubes{filter:none!important;opacity:.45!important}

/* Solar 8:40: demo edit Save button, top-center */
.sc-demo-save{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:1200;display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:rgba(20,18,48,.88);border:1px solid #6d5bd0;font:600 13px Lexend,Inter,sans-serif}
.sc-demo-save button{border:0;border-radius:999px;padding:6px 14px;background:#ffb547;color:#1b1433;font:inherit;cursor:pointer}.sc-demo-save button:disabled{opacity:.6}
.sc-demo-save .sc-demo-ok{color:#9ff0b5;min-width:0}.sc-demo-save .sc-demo-ok:empty{display:none}
.sc-demo-save a{color:#c9d0f0;text-decoration:none;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:16px}.sc-demo-save a:hover{background:rgba(255,255,255,.1)}
.sc-demo-bar{display:none!important}
html.sc-demoedit .ib-sell,html.sc-demoedit .sc-drw-sell,html.sc-demoedit .sc-drw-buy{display:none!important}   /* demo edit: never sells/buys with Solar's Notes */
html.sc-demoedit .sc-drw-reset,html.sc-demoedit .sc-stg-pet,html.sc-demoedit .sc-drw-cube{display:none!important}   /* demo edit: no account-level storage actions */
