:root {
    --gf-house-ink: #18213c;
    --gf-house-muted: #69708a;
    --gf-house-panel: rgba(255, 255, 255, 0.94);
    --gf-house-line: rgba(53, 62, 99, 0.13);
    --gf-house-accent: var(--primaryColor, #0442da);
    --gf-house-cyan: var(--secondaryColor, #13bfc8);
    --gf-house-shadow: 0 24px 70px rgba(24, 31, 68, 0.18);
}

html.is_dark {
    --gf-house-ink: #f6f4ff;
    --gf-house-muted: #aaa7c5;
    --gf-house-panel: rgba(25, 25, 48, 0.95);
    --gf-house-line: rgba(225, 221, 255, 0.14);
    --gf-house-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

.alpha-house-nav {
    position: relative;
    margin: 0;
}

.alpha-house-nav > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.35rem;
    list-style: none;
    white-space: nowrap;
}

.alpha-house-nav > summary::-webkit-details-marker {
    display: none;
}
.alpha-house-nav.is-active > summary,
.alpha-house-nav[open] > summary {
    color: var(--primaryColor, #0442da);
}
.alpha-house-nav__chevron {
    font-size: 0.72rem;
    transition: transform 0.2s ease;
}
.alpha-house-nav[open] .alpha-house-nav__chevron {
    transform: rotate(180deg);
}

.alpha-house-nav__menu {
    animation: gf-house-menu-in 0.18s ease both;
    background: var(--gf-house-panel);
    border: 1px solid var(--gf-house-line);
    border-radius: 18px;
    box-shadow: var(--gf-house-shadow);
    display: grid;
    gap: 0.35rem;
    inset-inline-start: 50%;
    min-width: 290px;
    padding: 0.6rem;
    position: absolute;
    top: calc(100% + 12px);
    transform: translateX(-50%);
    z-index: 1200;
}

[dir="rtl"] .alpha-house-nav__menu {
    transform: translateX(50%);
}
.alpha-house-nav__menu::before {
    content: "";
    height: 14px;
    inset-inline: 0;
    position: absolute;
    top: -14px;
}
.alpha-house-nav__menu a {
    align-items: center;
    border-radius: 13px;
    color: var(--gf-house-ink);
    display: flex;
    gap: 0.8rem;
    padding: 0.72rem 0.8rem;
    text-decoration: none;
}
.alpha-house-nav__menu a:hover {
    background: rgba(109, 74, 255, 0.09);
    color: var(--gf-house-accent);
}
.alpha-house-nav__menu a > i {
    align-items: center;
    background: rgba(109, 74, 255, 0.1);
    border-radius: 11px;
    display: flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
}
.alpha-house-nav__menu a span {
    display: grid;
    line-height: 1.2;
}
.alpha-house-nav__menu a small {
    color: var(--gf-house-muted);
    font-size: 0.72rem;
    margin-top: 0.2rem;
}

@keyframes gf-house-menu-in {
    from {
        opacity: 0;
        transform: translate(-50%, -5px) scale(0.98);
    }
}

.gf-house-invite-layer {
    align-items: center;
    background: rgba(11, 12, 31, 0.55);
    backdrop-filter: blur(9px);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1.25rem;
    position: fixed;
    z-index: 10050;
}
.gf-house-invite-layer[hidden] {
    display: none !important;
}
.gf-house-invite-popup {
    background: var(--gf-house-panel);
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 28px;
    box-shadow: 0 35px 100px rgba(15, 10, 50, 0.42);
    color: var(--gf-house-ink);
    max-width: 500px;
    overflow: hidden;
    padding: 2.3rem;
    position: relative;
    text-align: center;
    width: 100%;
}
.gf-house-invite-popup::before {
    background: linear-gradient(90deg, #0442da, #13bfc8, #ffb44c);
    content: "";
    height: 5px;
    inset: 0 0 auto;
    position: absolute;
}
.gf-house-invite-popup__close {
    background: transparent;
    border: 0;
    color: var(--gf-house-muted);
    font-size: 1.25rem;
    inset-inline-end: 1rem;
    position: absolute;
    top: 1rem;
}
.gf-house-invite-popup__icon {
    align-items: center;
    background: linear-gradient(135deg, #0442da, #13bfc8);
    border-radius: 22px;
    color: white;
    display: inline-flex;
    font-size: 2rem;
    height: 70px;
    justify-content: center;
    margin-bottom: 1rem;
    transform: rotate(-4deg);
    width: 70px;
}
.gf-house-invite-popup__kicker {
    color: var(--gf-house-accent);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    margin: 0 0 0.35rem;
    text-transform: uppercase;
}
.gf-house-invite-popup h2 {
    color: var(--gf-house-ink);
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin: 0 0 0.6rem;
}
.gf-house-invite-popup > p:not(.gf-house-invite-popup__kicker) {
    color: var(--gf-house-muted);
}
.gf-house-invite-popup__meta {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    margin: 1.2rem 0;
}
.gf-house-invite-popup__meta span,
.gf-house-invite-popup__meta time {
    background: rgba(109, 74, 255, 0.09);
    border-radius: 999px;
    color: var(--gf-house-ink);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.45rem 0.75rem;
}
.gf-house-invite-popup__actions {
    display: flex;
    gap: 0.7rem;
    justify-content: center;
}

.gf-houses-page,
.gf-house-room-page {
    background:
        radial-gradient(
            circle at 10% 5%,
            rgba(109, 74, 255, 0.09),
            transparent 30%
        ),
        var(--bodyBg, #f7f8fc);
    color: var(--gf-house-ink);
}
.gf-house-directory {
    margin: 0 auto;
    max-width: 1440px;
    min-height: 70vh;
    padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 4vw, 3.5rem);
}
.gf-house-hero {
    align-items: end;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin-bottom: 2.2rem;
}
.gf-house-hero h1 {
    color: var(--gf-house-ink);
    font-size: clamp(2.2rem, 5vw, 4.6rem);
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin: 0.45rem 0 1rem;
}
.gf-house-hero p {
    color: var(--gf-house-muted);
    font-size: 1.02rem;
    margin: 0;
    max-width: 680px;
}
.gf-house-hero__actions {
    align-items: end;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.gf-house-balance {
    background: var(--gf-house-panel);
    border: 1px solid var(--gf-house-line);
    border-radius: 999px;
    box-shadow: 0 12px 35px rgba(32, 38, 70, 0.08);
    color: var(--gf-house-ink);
    font-weight: 700;
    padding: 0.65rem 1rem;
    white-space: nowrap;
}
.gf-house-balance b {
    align-items: center;
    background: #ffca48;
    border-radius: 50%;
    color: #4f3700;
    display: inline-flex;
    height: 25px;
    justify-content: center;
    margin-inline-end: 0.35rem;
    width: 25px;
}
.gf-house-grid {
    display: grid;
    gap: 1.4rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
}
.gf-house-card,
.gf-store-card {
    background: var(--gf-house-panel);
    border: 1px solid var(--gf-house-line);
    border-radius: 25px;
    box-shadow: 0 20px 55px rgba(30, 35, 74, 0.1);
    overflow: hidden;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.gf-house-card:hover,
.gf-store-card:hover {
    box-shadow: var(--gf-house-shadow);
    transform: translateY(-5px);
}
.gf-house-card__scene,
.gf-store-card__preview { align-items: center; background: #bfe2f2; display: flex; height: 210px; justify-content: center; overflow: hidden; position: relative; }
.gf-house-architecture { --arch-sky: linear-gradient(#94d9ff, #e8f8ff); --arch-ground: #76ad70; --arch-body: linear-gradient(135deg, #fffdf7, #d8e2e7); --arch-roof: #40566e; --arch-glass: #66c9e7; --arch-accent: #f3a94c; background: var(--arch-sky); inset: 0; overflow: hidden; position: absolute; }
.gf-house-architecture::after { background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent); content: ""; height: 160%; left: -45%; position: absolute; top: -35%; transform: rotate(24deg); width: 28%; }
.gf-house-card:hover .gf-house-architecture::after,
.gf-store-card:hover .gf-house-architecture::after { animation: gf-architecture-shine .9s ease both; }
.gf-house-architecture__orb { background: #fff2a6; border-radius: 50%; box-shadow: 0 0 28px rgba(255,239,151,.75); height: 34px; position: absolute; right: 13%; top: 14%; width: 34px; }
.gf-house-architecture__landscape { background: var(--arch-ground); bottom: 0; height: 42%; inset-inline: 0; position: absolute; }
.gf-house-architecture__landscape::before { background: rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 20px; inset: 14% -10% auto; position: absolute; transform: rotate(-3deg); }
.gf-house-architecture__structure { bottom: 15%; height: 112px; left: 50%; position: absolute; transform: translateX(-50%); width: 172px; }
.gf-house-architecture__body,
.gf-house-architecture__wing { background: var(--arch-body); border: 2px solid rgba(31,45,60,.18); bottom: 0; box-shadow: 0 15px 26px rgba(28,39,54,.25); height: 79px; left: 17px; position: absolute; width: 138px; }
.gf-house-architecture__wing { height: 54px; left: -13px; width: 61px; }
.gf-house-architecture__roof { background: var(--arch-roof); clip-path: polygon(50% 0,100% 82%,94% 100%,5% 100%,0 82%); height: 43px; left: 7px; position: absolute; top: 0; width: 158px; }
.gf-house-architecture__roof--second { height: 30px; left: -20px; top: 30px; width: 78px; }
.gf-house-architecture__windows { background: repeating-linear-gradient(90deg, var(--arch-glass) 0 19px, rgba(255,255,255,.9) 20px 25px); border: 4px solid rgba(255,255,255,.85); bottom: 18px; box-shadow: inset 0 0 10px rgba(255,255,255,.7); height: 33px; left: 42px; position: absolute; width: 95px; }
.gf-house-architecture__door { background: var(--arch-accent); border: 3px solid rgba(42,39,45,.35); bottom: 0; height: 45px; left: 18px; position: absolute; width: 25px; }
.gf-house-architecture__balcony { border: 4px solid var(--arch-accent); border-top-width: 7px; bottom: 42px; height: 19px; left: 76px; position: absolute; width: 67px; }
.gf-house-architecture__accent { background: var(--arch-accent); border-radius: 50%; bottom: -4px; box-shadow: 138px 2px 0 var(--arch-accent); height: 19px; left: 2px; position: absolute; width: 19px; }
.gf-house-architecture__foreground { background: radial-gradient(ellipse, rgba(23,38,48,.25), transparent 65%); bottom: 4%; height: 18px; left: 14%; position: absolute; width: 72%; }

/* Every catalog home gets its own real-world anime architecture, landscape and silhouette. */
[data-architecture="city_loft"] { --arch-sky: linear-gradient(#82c5ee 0 62%, #9aa5b5 62%); --arch-ground: repeating-linear-gradient(90deg,#526070 0 20px,#667383 21px 40px); --arch-body: linear-gradient(90deg,#8d5543,#c17b5d); --arch-roof:#414853; --arch-glass:#70d9ee; --arch-accent:#26394e; }
[data-architecture="city_loft"] .gf-house-architecture__structure { height:132px; width:168px; }
[data-architecture="city_loft"] :is(.gf-house-architecture__body,.gf-house-architecture__wing) { border-radius:5px; height:112px; }
[data-architecture="city_loft"] .gf-house-architecture__roof { clip-path:none; height:9px; top:10px; }
[data-architecture="sunlit_studio"] { --arch-sky:linear-gradient(145deg,#ffe6a4,#bfeaff); --arch-ground:#90bb76; --arch-body:linear-gradient(135deg,#fffdf2,#e9ddc5); --arch-roof:#e7bc73; --arch-glass:#65cfe6; --arch-accent:#ef8f62; }
[data-architecture="sunlit_studio"] .gf-house-architecture__structure { height:91px; width:188px; }
[data-architecture="sunlit_studio"] .gf-house-architecture__body { border-radius:32px 5px 5px; height:72px; left:4px; width:181px; }
[data-architecture="sunlit_studio"] .gf-house-architecture__roof { clip-path:none; border-radius:50% 6px 0 0; height:25px; left:0; top:5px; width:188px; }
[data-architecture="suburban_townhouse"] { --arch-sky:linear-gradient(#a8dcfb,#ecf8ff); --arch-ground:#6ca65f; --arch-body:linear-gradient(90deg,#e9d0b8,#fff2df); --arch-roof:#48627b; --arch-glass:#91d8eb; --arch-accent:#bb624d; }
[data-architecture="suburban_townhouse"] .gf-house-architecture__structure { width:198px; }
[data-architecture="suburban_townhouse"] .gf-house-architecture__body { left:7px; width:184px; }
[data-architecture="suburban_townhouse"] .gf-house-architecture__roof { left:0; width:198px; }
[data-architecture="meadow_cottage"] { --arch-sky:linear-gradient(#a8dcff,#f9f3d4); --arch-ground:linear-gradient(#82bd5f,#477a46); --arch-body:radial-gradient(circle at 20% 30%,#d5b98d 0 5px,#ead4aa 6px); --arch-roof:#8f5c3b; --arch-glass:#7ccde5; --arch-accent:#a64c55; }
[data-architecture="meadow_cottage"] .gf-house-architecture__roof { border-radius:50% 50% 8px 8px; clip-path:none; transform:rotate(-2deg); }
[data-architecture="meadow_cottage"] .gf-house-architecture__body { border-radius:18px 18px 4px 4px; }
[data-architecture="forest_cabin"] { --arch-sky:linear-gradient(#a7d8d0,#dce7d2); --arch-ground:linear-gradient(#436f52,#274b3b); --arch-body:repeating-linear-gradient(0deg,#9e633c 0 7px,#75452c 8px 11px); --arch-roof:#273d36; --arch-glass:#efc76f; --arch-accent:#4a2d20; }
[data-architecture="forest_cabin"] .gf-house-architecture__roof { clip-path:polygon(50% 0,100% 100%,0 100%); height:77px; left:11px; top:-13px; width:151px; }
[data-architecture="forest_cabin"] .gf-house-architecture__windows { height:45px; left:61px; width:60px; }
[data-architecture="alpine_chalet"] { --arch-sky:linear-gradient(#9fceef,#f5f9ff); --arch-ground:linear-gradient(155deg,#d9e8f2 0 45%,#7892a2 46%); --arch-body:linear-gradient(#eee3d3,#b47d54); --arch-roof:#4d382f; --arch-glass:#86cbe9; --arch-accent:#794734; }
[data-architecture="alpine_chalet"] .gf-house-architecture__roof { clip-path:polygon(50% 0,100% 83%,85% 100%,50% 72%,15% 100%,0 83%); height:69px; top:-8px; }
[data-architecture="alpine_chalet"] .gf-house-architecture__balcony { bottom:35px; left:34px; width:109px; }
[data-architecture="lakeside_lodge"] { --arch-sky:linear-gradient(#8dcbe7,#e7f4ed); --arch-ground:linear-gradient(#4f997c 0 38%,#4ba0b6 39% 72%,#285f71 73%); --arch-body:linear-gradient(90deg,#765037,#b78458); --arch-roof:#3e5149; --arch-glass:#8ed8e8; --arch-accent:#d49b53; }
[data-architecture="lakeside_lodge"] .gf-house-architecture__structure { bottom:22%; width:202px; }
[data-architecture="lakeside_lodge"] .gf-house-architecture__body { left:2px; width:198px; }
[data-architecture="mediterranean_townhome"] { --arch-sky:linear-gradient(#63c8f0,#d9f5ff); --arch-ground:#d7bd7e; --arch-body:linear-gradient(#fffdf3,#e8eee7); --arch-roof:#4b9cc7; --arch-glass:#3ec2df; --arch-accent:#2879ad; }
[data-architecture="mediterranean_townhome"] .gf-house-architecture__roof { border-radius:50% 50% 0 0; clip-path:none; height:38px; left:35px; width:102px; }
[data-architecture="mediterranean_townhome"] .gf-house-architecture__door { border-radius:50px 50px 0 0; }
[data-architecture="garden_villa"] { --arch-sky:linear-gradient(#ffd7b0,#d9f0fb); --arch-ground:linear-gradient(#72b55f,#4f8b54); --arch-body:linear-gradient(135deg,#fff7e8,#d8c7a8); --arch-roof:#5d745f; --arch-glass:#6dc9da; --arch-accent:#d28a58; }
[data-architecture="garden_villa"] .gf-house-architecture__structure { width:218px; }
[data-architecture="garden_villa"] .gf-house-architecture__body { left:3px; width:209px; }
[data-architecture="garden_villa"] .gf-house-architecture__roof { clip-path:none; height:11px; left:0; top:24px; width:218px; }
[data-architecture="kyoto_machiya"] { --arch-sky:linear-gradient(#e9b7b5,#f8e8d4); --arch-ground:#718153; --arch-body:repeating-linear-gradient(90deg,#e7d6b8 0 17px,#3b302a 18px 23px); --arch-roof:#302d33; --arch-glass:#f1dbc0; --arch-accent:#b54d48; }
[data-architecture="kyoto_machiya"] .gf-house-architecture__roof { clip-path:polygon(8% 0,92% 0,100% 75%,94% 100%,6% 100%,0 75%); height:29px; left:-4px; top:16px; width:180px; }
[data-architecture="kyoto_machiya"] .gf-house-architecture__body { height:72px; }
[data-architecture="tuscan_farmhouse"] { --arch-sky:linear-gradient(#efbf85,#f8e3b1); --arch-ground:#858e50; --arch-body:radial-gradient(circle,#b89669 0 3px,#d4b887 4px); --arch-roof:#9b4e34; --arch-glass:#76b6bd; --arch-accent:#60422e; }
[data-architecture="tuscan_farmhouse"] .gf-house-architecture__wing { height:105px; left:6px; width:46px; }
[data-architecture="tuscan_farmhouse"] .gf-house-architecture__roof--second { left:0; top:-3px; width:58px; }
[data-architecture="tropical_bungalow"] { --arch-sky:linear-gradient(#7ddcf1,#d4f8ec); --arch-ground:linear-gradient(#54a886 0 46%,#e5cf82 47%); --arch-body:linear-gradient(#f5e2ba,#be8b56); --arch-roof:#6d4930; --arch-glass:#52c5d7; --arch-accent:#d88a3e; }
[data-architecture="tropical_bungalow"] .gf-house-architecture__structure { height:82px; width:210px; }
[data-architecture="tropical_bungalow"] .gf-house-architecture__body { height:61px; left:5px; width:199px; }
[data-architecture="tropical_bungalow"] .gf-house-architecture__roof { clip-path:polygon(12% 0,88% 0,100% 100%,0 100%); height:25px; left:-2px; top:5px; width:214px; }
[data-architecture="desert_oasis"] { --arch-sky:linear-gradient(#ffbf75,#ffe5ba); --arch-ground:linear-gradient(#d99b56,#b97942); --arch-body:linear-gradient(#f0c98e,#d7a565); --arch-roof:#b96f4b; --arch-glass:#43bad1; --arch-accent:#3d8c85; }
[data-architecture="desert_oasis"] .gf-house-architecture__roof { border-radius:60px 60px 0 0; clip-path:none; height:44px; left:36px; width:100px; }
[data-architecture="desert_oasis"] .gf-house-architecture__wing { border-radius:50% 50% 0 0; }
[data-architecture="azure_beach"] { --arch-sky:linear-gradient(#6ad9f4 0 54%,#bff6ff 55%); --arch-ground:linear-gradient(#36b8d0 0 42%,#f0d28a 43%); --arch-body:linear-gradient(135deg,#fff,#d9f1f1); --arch-roof:#ecf6f5; --arch-glass:#2cb8d5; --arch-accent:#ef9d56; }
[data-architecture="azure_beach"] .gf-house-architecture__structure { width:213px; }
[data-architecture="azure_beach"] .gf-house-architecture__body { left:4px; transform:skewX(-9deg); width:202px; }
[data-architecture="azure_beach"] .gf-house-architecture__roof { clip-path:none; height:8px; left:0; top:24px; width:213px; }
[data-architecture="cliffside_villa"] { --arch-sky:linear-gradient(#87c9ed,#e6f4f3); --arch-ground:linear-gradient(145deg,transparent 0 36%,#565058 37% 74%,#248fae 75%); --arch-body:linear-gradient(135deg,#fff9ec,#bebfc2); --arch-roof:#343b47; --arch-glass:#4bc6df; --arch-accent:#e67852; }
[data-architecture="cliffside_villa"] .gf-house-architecture__structure { bottom:29%; left:58%; width:214px; }
[data-architecture="cliffside_villa"] .gf-house-architecture__body { left:0; transform:skewX(-13deg); width:209px; }
[data-architecture="cliffside_villa"] .gf-house-architecture__roof { clip-path:none; height:10px; left:-4px; top:18px; width:218px; }
[data-architecture="glass_treehouse"] { --arch-sky:linear-gradient(#7bc7cc,#d9efcf); --arch-ground:linear-gradient(#407458,#24493c); --arch-body:rgba(157,232,237,.62); --arch-roof:#4a755b; --arch-glass:#9df4f3; --arch-accent:#704b32; }
[data-architecture="glass_treehouse"] .gf-house-architecture__structure { bottom:27%; }
[data-architecture="glass_treehouse"] .gf-house-architecture__body { border:6px solid #4e705b; border-radius:50%; height:96px; left:27px; width:120px; }
[data-architecture="glass_treehouse"] .gf-house-architecture__roof { display:none; }
[data-architecture="glass_treehouse"] .gf-house-architecture__wing { background:#66452f; height:89px; left:73px; transform:translateY(64px); width:27px; }
[data-architecture="skyline_penthouse"] { --arch-sky:linear-gradient(#3b3675,#151c3c); --arch-ground:repeating-linear-gradient(90deg,#121a34 0 24px,#26345c 25px 42px); --arch-body:linear-gradient(135deg,#323d5e,#151d36); --arch-roof:#8290af; --arch-glass:#8c75ff; --arch-accent:#f2b85c; }
[data-architecture="skyline_penthouse"] .gf-house-architecture__orb { background:#f7f4dc; box-shadow:0 0 28px #b9b3ff; }
[data-architecture="skyline_penthouse"] .gf-house-architecture__structure { bottom:20%; width:220px; }
[data-architecture="skyline_penthouse"] .gf-house-architecture__body { left:0; width:216px; }
[data-architecture="skyline_penthouse"] .gf-house-architecture__roof { clip-path:none; height:7px; left:0; top:27px; width:220px; }
[data-architecture="private_island"] { --arch-sky:linear-gradient(#63c9ed,#dffaff); --arch-ground:linear-gradient(#36aecd 0 50%,#ecd58e 51% 70%,#5ba75d 71%); --arch-body:linear-gradient(135deg,#fffdf2,#d8e8e1); --arch-roof:#69a28a; --arch-glass:#45c2db; --arch-accent:#e3a052; }
[data-architecture="private_island"] .gf-house-architecture__structure { bottom:22%; width:226px; }
[data-architecture="private_island"] .gf-house-architecture__body { border-radius:40px 5px 5px; left:2px; width:218px; }
[data-architecture="private_island"] .gf-house-architecture__roof { clip-path:none; border-radius:50%; height:22px; left:0; top:18px; width:226px; }
[data-architecture="aurora_palace"] { --arch-sky:linear-gradient(145deg,#17183a,#296875 48%,#69e4b8); --arch-ground:linear-gradient(#c3eff4,#6f9bb0); --arch-body:linear-gradient(135deg,#e4fbff,#829dd6); --arch-roof:#865df0; --arch-glass:#83ffe1; --arch-accent:#f2d378; }
[data-architecture="aurora_palace"] .gf-house-architecture__structure { height:142px; }
[data-architecture="aurora_palace"] .gf-house-architecture__body { clip-path:polygon(50% 0,100% 38%,91% 100%,9% 100%,0 38%); height:119px; }
[data-architecture="aurora_palace"] .gf-house-architecture__roof { clip-path:polygon(50% 0,68% 100%,32% 100%); height:83px; left:41px; top:-18px; width:90px; }
[data-architecture="floating_sky_villa"] { --arch-sky:linear-gradient(#877ee6,#a9dbf8 58%,#edfaff); --arch-ground:radial-gradient(ellipse at 50% 25%,#fff 0 19%,transparent 20%),linear-gradient(transparent,#f4fbff); --arch-body:linear-gradient(135deg,#fff,#c7d9ec); --arch-roof:#7c6fe0; --arch-glass:#60ddec; --arch-accent:#f1be67; }
[data-architecture="floating_sky_villa"] .gf-house-architecture__structure { bottom:33%; width:220px; }
[data-architecture="floating_sky_villa"] .gf-house-architecture__body { border-radius:50px 8px 24px; left:4px; transform:skewX(-8deg); width:210px; }
[data-architecture="floating_sky_villa"] .gf-house-architecture__roof { clip-path:none; border-radius:50%; height:10px; left:0; top:20px; width:220px; }
[data-architecture="floating_sky_villa"] .gf-house-architecture__foreground { background:radial-gradient(ellipse,#fff 0 44%,transparent 46%); bottom:16%; height:34px; }

/* UHD vector catalog expansion: twenty new structures with distinct silhouettes. */
[data-architecture="canal_palazzo"] { --arch-sky:linear-gradient(#f4a477,#765a98);--arch-ground:linear-gradient(#6c557b 0 42%,#3f9eb4 43% 78%,#d1a260 79%);--arch-body:linear-gradient(90deg,#d58865,#f4c494);--arch-roof:#6b3342;--arch-glass:#63d6e3;--arch-accent:#f5d27a; }
[data-architecture="lighthouse_cliff"] { --arch-sky:linear-gradient(#76cbe9,#eff8e9);--arch-ground:linear-gradient(150deg,#6d755f 0 54%,#287e9f 55%);--arch-body:repeating-linear-gradient(0deg,#f8f0dc 0 16px,#d85b4f 17px 27px);--arch-roof:#263e50;--arch-glass:#91e8f1;--arch-accent:#d85148; }
[data-architecture="greenhouse_atrium"] { --arch-sky:linear-gradient(#a2ddff,#e8f7cd);--arch-ground:radial-gradient(circle,#ffd55c 0 3px,transparent 4px),#62a862;--arch-body:rgba(197,244,234,.58);--arch-roof:#4d8c72;--arch-glass:#9cf3eb;--arch-accent:#e6a959; }
[data-architecture="windmill_hill"] { --arch-sky:linear-gradient(#87d2f3,#fff0c8);--arch-ground:repeating-linear-gradient(105deg,#ca9b45 0 12px,#e5bd64 13px 28px);--arch-body:linear-gradient(#f4dfb1,#b98655);--arch-roof:#75452f;--arch-glass:#6cbdd2;--arch-accent:#6a4634; }
[data-architecture="sakura_castle_island"] { --arch-sky:linear-gradient(#efb6d2,#b7dff4);--arch-ground:linear-gradient(#73a97c 0 43%,#559fb5 44% 77%,#6b8d68 78%);--arch-body:linear-gradient(#fff6ee,#d8b6b0);--arch-roof:#513b65;--arch-glass:#d8ecf1;--arch-accent:#e9698b; }
[data-architecture="redwood_canopy_village"] { --arch-sky:linear-gradient(#68aa9c,#d5edce);--arch-ground:linear-gradient(#37634d,#203e34);--arch-body:repeating-linear-gradient(90deg,#a2693e 0 9px,#75472f 10px 14px);--arch-roof:#315545;--arch-glass:#ffd985;--arch-accent:#d59d58; }
[data-architecture="nile_garden_citadel"] { --arch-sky:linear-gradient(#73cced,#f6dfae);--arch-ground:linear-gradient(#62a779 0 40%,#3aa7c3 41% 67%,#d9ad62 68%);--arch-body:linear-gradient(#efd69b,#c99151);--arch-roof:#cf9c5e;--arch-glass:#43bed0;--arch-accent:#267e80; }
[data-architecture="waterfall_temple"] { --arch-sky:linear-gradient(#81c9b3,#d8eddb);--arch-ground:linear-gradient(145deg,#315a48 0 37%,#77dbe2 38% 54%,#294c3d 55%);--arch-body:linear-gradient(#d6b67c,#80563d);--arch-roof:#34483e;--arch-glass:#8ddbe1;--arch-accent:#df754e; }
[data-architecture="arctic_research_dome"] { --arch-sky:linear-gradient(#759fc8,#d9eff6);--arch-ground:linear-gradient(150deg,#ecf8fb,#89aebe);--arch-body:rgba(211,245,251,.7);--arch-roof:#65a7bd;--arch-glass:#99eeef;--arch-accent:#f19a55; }
[data-architecture="crystal_cavern_estate"] { --arch-sky:radial-gradient(circle at 50% 10%,#8259ac,#171a3a 68%);--arch-ground:linear-gradient(145deg,#40375c,#16182d);--arch-body:linear-gradient(135deg,#84f0ee,#7354bd);--arch-roof:#a17be5;--arch-glass:#d0ffff;--arch-accent:#ffcf6e; }
[data-architecture="solar_desert_arcology"] { --arch-sky:linear-gradient(#ef994d,#ffe0a0);--arch-ground:linear-gradient(160deg,#d38c43,#91572f);--arch-body:linear-gradient(145deg,#eee3cb,#a9b8b1);--arch-roof:#3d7470;--arch-glass:#50d5df;--arch-accent:#f2c653; }
[data-architecture="dragon_peak_monastery"] { --arch-sky:linear-gradient(#7a88ba,#d9e2ef);--arch-ground:linear-gradient(145deg,#68707c,#313746);--arch-body:linear-gradient(#b68058,#694731);--arch-roof:#252a36;--arch-glass:#f4bd67;--arch-accent:#ad4d43; }
[data-architecture="neo_tokyo_rain_tower"] { --arch-sky:linear-gradient(#31275b,#11152c);--arch-ground:repeating-linear-gradient(90deg,#14182f 0 17px,#283158 18px 32px);--arch-body:linear-gradient(100deg,#17243f,#485a7a);--arch-roof:#7d5cff;--arch-glass:#31e8ef;--arch-accent:#ff4fa3; }
[data-architecture="mars_canyon_habitat"] { --arch-sky:linear-gradient(#bd5d42,#e7a56d);--arch-ground:linear-gradient(155deg,#9e4935,#542c2b);--arch-body:linear-gradient(135deg,#d9d4c7,#79838e);--arch-roof:#be674a;--arch-glass:#66d9e7;--arch-accent:#f0b64f; }
[data-architecture="volcanic_caldera"] { --arch-sky:linear-gradient(#44343f,#cf5d38);--arch-ground:linear-gradient(#2c282c 0 54%,#f06232 55% 62%,#17171b 63%);--arch-body:linear-gradient(#4b474b,#1c1c22);--arch-roof:#17171c;--arch-glass:#ffb13c;--arch-accent:#e24f31; }
[data-architecture="underwater_coral_dome"] { --arch-sky:linear-gradient(#168bb2,#07365e);--arch-ground:radial-gradient(circle,#f28b6d 0 5px,transparent 6px),#17536a;--arch-body:rgba(96,211,228,.45);--arch-roof:#3dc4d1;--arch-glass:#92f5ef;--arch-accent:#ff8d79; }
[data-architecture="lunar_observatory"] { --arch-sky:radial-gradient(circle at 73% 18%,#4d6da6 0 15%,#11152d 16%);--arch-ground:linear-gradient(#9aa3b2,#4b5260);--arch-body:linear-gradient(145deg,#e4e8e9,#788494);--arch-roof:#b8dce5;--arch-glass:#70dce8;--arch-accent:#f5bd58; }
[data-architecture="orbital_ring_residence"] { --arch-sky:radial-gradient(circle at 25% 35%,#6b83d9 0 22%,#17193c 23%);--arch-ground:linear-gradient(#1d2147,#090c22);--arch-body:linear-gradient(135deg,#d9e6f3,#52617e);--arch-roof:#7a78dd;--arch-glass:#6af1eb;--arch-accent:#f4c86d; }
[data-architecture="cloud_kingdom_castle"] { --arch-sky:linear-gradient(#7b94e2,#c9e9fb 62%,#fff);--arch-ground:radial-gradient(ellipse,#fff 0 38%,transparent 40%);--arch-body:linear-gradient(#fff8ef,#b7c9e7);--arch-roof:#7e68c8;--arch-glass:#7ce8ee;--arch-accent:#e9bc55; }
[data-architecture="celestial_airship_mansion"] { --arch-sky:linear-gradient(#7563bd,#f0ad88);--arch-ground:linear-gradient(transparent,#5b5289);--arch-body:linear-gradient(145deg,#e6d1ae,#7e614f);--arch-roof:#4e385b;--arch-glass:#72dce7;--arch-accent:#e4b54c; }

/* World residences: culture- and coast-specific previews for the additional
   production catalog. These keys are shared by the shop and admin catalog. */
[data-architecture="zen_bamboo_teahouse"] { --arch-sky:linear-gradient(#acd8c0,#f4e7c1);--arch-ground:repeating-linear-gradient(90deg,#4c8659 0 8px,#6aa46b 9px 16px);--arch-body:linear-gradient(#eadbbc,#c9ad78);--arch-roof:#43584b;--arch-glass:#e8d6ae;--arch-accent:#9a5343; }
[data-architecture="suzhou_canal_cottage"] { --arch-sky:linear-gradient(#a8dff0,#f5f0dc);--arch-ground:linear-gradient(#62a4a9 0 63%,#778963 64%);--arch-body:linear-gradient(#fffdf2,#d9e1d9);--arch-roof:#38454b;--arch-glass:#77c8d1;--arch-accent:#bd5750; }
[data-architecture="marrakech_courtyard_riad"] { --arch-sky:linear-gradient(#efad70,#f8dbad);--arch-ground:radial-gradient(circle,#49a6a0 0 5px,transparent 6px),#c78e56;--arch-body:linear-gradient(#e6b875,#bc784c);--arch-roof:#8c4c3e;--arch-glass:#4bbbc0;--arch-accent:#2e8c89; }
[data-architecture="mangrove_floating_home"] { --arch-sky:linear-gradient(#78d8df,#dff6dd);--arch-ground:linear-gradient(#2da6aa 0 67%,#456f50 68%);--arch-body:repeating-linear-gradient(90deg,#d9bd83 0 18px,#9e6f43 19px 23px);--arch-roof:#587a58;--arch-glass:#76dbe0;--arch-accent:#e5a24d; }
[data-architecture="fuji_lakeside_minka"] { --arch-sky:linear-gradient(#9fcdeb,#f4cfca 62%,#7086a0 63%);--arch-ground:linear-gradient(#5195ae 0 51%,#6f8a62 52%);--arch-body:repeating-linear-gradient(90deg,#e9d7b5 0 20px,#46382f 21px 25px);--arch-roof:#353440;--arch-glass:#e8cfc0;--arch-accent:#d36e72; }
[data-architecture="guilin_cloud_pavilion"] { --arch-sky:linear-gradient(#a7c8d0,#eef1dc);--arch-ground:linear-gradient(145deg,#587968 0 44%,#4695a0 45% 67%,#55755a 68%);--arch-body:linear-gradient(#c99261,#7d4d3b);--arch-roof:#34433c;--arch-glass:#efd080;--arch-accent:#b84f47; }
[data-architecture="wadi_rum_stargazer_camp"] { --arch-sky:radial-gradient(circle at 76% 16%,#f0dcab 0 8%,#342a5e 9% 50%,#c06e45);--arch-ground:linear-gradient(#a55136,#72382f);--arch-body:linear-gradient(#ddaa70,#8f543f);--arch-roof:#3d3154;--arch-glass:#72d8dc;--arch-accent:#efc65b; }
[data-architecture="polynesian_island_longhouse"] { --arch-sky:linear-gradient(#67d3ec,#daf9ed);--arch-ground:linear-gradient(#2bb7ca 0 46%,#ecd183 47% 72%,#4c9d66 73%);--arch-body:linear-gradient(#d8b16c,#93603c);--arch-roof:repeating-linear-gradient(90deg,#6c432b 0 5px,#90623d 6px 12px);--arch-glass:#61ced8;--arch-accent:#f08e4e; }
[data-architecture="hokkaido_snow_ryokan"] { --arch-sky:linear-gradient(#738bab,#d9edf2);--arch-ground:linear-gradient(#edf8fa,#7d9ba4);--arch-body:repeating-linear-gradient(90deg,#d7c5aa 0 18px,#4e4039 19px 24px);--arch-roof:linear-gradient(#38414b 0 72%,#f4fbff 73%);--arch-glass:#ffd983;--arch-accent:#b2534d; }
[data-architecture="forbidden_city_scholar_home"] { --arch-sky:linear-gradient(#efb56c,#f4dca8);--arch-ground:#74835a;--arch-body:linear-gradient(#b83e36,#752f2b);--arch-roof:#d5a43e;--arch-glass:#f1c868;--arch-accent:#e1b242; }
[data-architecture="andalusian_moon_palace"] { --arch-sky:radial-gradient(circle at 75% 15%,#fff4c4 0 9%,#504981 10% 56%,#e19a75);--arch-ground:linear-gradient(#61766a 0 58%,#318e9a 59%);--arch-body:linear-gradient(#f4d8ad,#cc9a67);--arch-roof:#57928e;--arch-glass:#70d7d5;--arch-accent:#376b7d; }
[data-architecture="santorini_cliff_house"] { --arch-sky:linear-gradient(#55c5ed,#ecfbff);--arch-ground:linear-gradient(145deg,#f5f0e6 0 54%,#188ab4 55%);--arch-body:linear-gradient(#fff,#ddebed);--arch-roof:#2888c0;--arch-glass:#4ecce0;--arch-accent:#287fb2; }
[data-architecture="okinawa_coral_villa"] { --arch-sky:linear-gradient(#5bd5ef,#e5fbf4);--arch-ground:linear-gradient(#31bad1 0 55%,#f0d593 56% 73%,#5b9e6d 74%);--arch-body:linear-gradient(#f6e8c9,#b99061);--arch-roof:#465d52;--arch-glass:#5fd2db;--arch-accent:#ef7d6d; }
[data-architecture="shanghai_sky_lantern_penthouse"] { --arch-sky:linear-gradient(#332b66,#10162f);--arch-ground:repeating-linear-gradient(90deg,#171c35 0 18px,#2d3763 19px 34px);--arch-body:linear-gradient(#2c3b5c,#18223f);--arch-roof:#e95b8f;--arch-glass:#2de4e5;--arch-accent:#ffb33f; }
[data-architecture="arabian_sea_pearl_palace"] { --arch-sky:linear-gradient(#62c7e6,#f1e1c0);--arch-ground:linear-gradient(#2faac3 0 53%,#dcc27d 54%);--arch-body:linear-gradient(#fff8df,#d5ba82);--arch-roof:#36a5a5;--arch-glass:#67d8dc;--arch-accent:#d39a3f; }
[data-architecture="maldives_lagoon_villa"] { --arch-sky:linear-gradient(#61d9ee,#e7fcf5);--arch-ground:linear-gradient(#27bfd2 0 74%,#e6d28c 75%);--arch-body:linear-gradient(#fff8e7,#d3bd91);--arch-roof:#6f4f3c;--arch-glass:#53d5dd;--arch-accent:#e99a53; }
[data-architecture="shogun_sakura_palace"] { --arch-sky:linear-gradient(#e9abc9,#91cde8);--arch-ground:linear-gradient(#648c69 0 46%,#4d9cae 47% 68%,#718d64 69%);--arch-body:linear-gradient(#f5e9df,#b74d47);--arch-roof:#443653;--arch-glass:#f4d5d7;--arch-accent:#e95f8b; }
[data-architecture="celestial_dragon_mountain_city"] { --arch-sky:linear-gradient(#6979ac,#dce4ee);--arch-ground:linear-gradient(145deg,#596373,#303746);--arch-body:linear-gradient(#b4754f,#70452f);--arch-roof:#282c38;--arch-glass:#f2c85f;--arch-accent:#42b38c; }
[data-architecture="thousand_nights_sky_citadel"] { --arch-sky:linear-gradient(#493d88,#dc8d72 60%,#f3c078);--arch-ground:radial-gradient(ellipse,#fff 0 36%,#a292cb 37% 52%,transparent 53%);--arch-body:linear-gradient(#e4b779,#a86a4d);--arch-roof:#7651a1;--arch-glass:#55d7d2;--arch-accent:#f5c85b; }
[data-architecture="atlantis_living_island"] { --arch-sky:linear-gradient(#1596b9,#073a64);--arch-ground:radial-gradient(ellipse,#4dc0b4 0 40%,#20819d 41% 63%,transparent 64%);--arch-body:linear-gradient(#5bd4cb,#237b9b);--arch-roof:#795ed0;--arch-glass:#9cfff0;--arch-accent:#ffc85b; }

[data-architecture="zen_bamboo_teahouse"] .gf-house-architecture__roof,
[data-architecture="fuji_lakeside_minka"] .gf-house-architecture__roof,
[data-architecture="guilin_cloud_pavilion"] .gf-house-architecture__roof,
[data-architecture="hokkaido_snow_ryokan"] .gf-house-architecture__roof,
[data-architecture="forbidden_city_scholar_home"] .gf-house-architecture__roof,
[data-architecture="shogun_sakura_palace"] .gf-house-architecture__roof,
[data-architecture="celestial_dragon_mountain_city"] .gf-house-architecture__roof { clip-path:polygon(8% 0,92% 0,100% 62%,72% 68%,66% 100%,34% 100%,28% 68%,0 62%);height:40px;left:-12px;width:196px; }
[data-architecture="shogun_sakura_palace"] .gf-house-architecture__roof--second,
[data-architecture="celestial_dragon_mountain_city"] .gf-house-architecture__roof--second { display:block;left:17px;top:-22px;width:138px; }
[data-architecture="marrakech_courtyard_riad"] .gf-house-architecture__roof,
[data-architecture="andalusian_moon_palace"] .gf-house-architecture__roof,
[data-architecture="arabian_sea_pearl_palace"] .gf-house-architecture__roof,
[data-architecture="thousand_nights_sky_citadel"] .gf-house-architecture__roof { border-radius:80px 80px 0 0;clip-path:none;height:49px;left:34px;width:107px; }
[data-architecture="santorini_cliff_house"] .gf-house-architecture__body,
[data-architecture="okinawa_coral_villa"] .gf-house-architecture__body,
[data-architecture="maldives_lagoon_villa"] .gf-house-architecture__body { border-radius:45px 6px 6px;left:0;width:210px; }
[data-architecture="santorini_cliff_house"] .gf-house-architecture__structure,
[data-architecture="okinawa_coral_villa"] .gf-house-architecture__structure,
[data-architecture="maldives_lagoon_villa"] .gf-house-architecture__structure { bottom:22%;width:214px; }
[data-architecture="shanghai_sky_lantern_penthouse"] .gf-house-architecture__structure { bottom:8%;height:170px;width:126px; }
[data-architecture="shanghai_sky_lantern_penthouse"] .gf-house-architecture__body { clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);height:162px;left:8px;width:110px; }
[data-architecture="atlantis_living_island"] .gf-house-architecture__body { border-radius:100px 100px 15px 15px;height:98px;left:2px;width:168px; }
[data-architecture="atlantis_living_island"] .gf-house-architecture__roof { border:8px solid var(--arch-roof);border-bottom:0;border-radius:110px 110px 0 0;clip-path:none;height:82px;left:2px;top:-2px;width:168px; }

[data-architecture="lighthouse_cliff"] .gf-house-architecture__structure,
[data-architecture="windmill_hill"] .gf-house-architecture__structure { bottom:10%; height:156px; width:100px; }
[data-architecture="lighthouse_cliff"] .gf-house-architecture__body,
[data-architecture="windmill_hill"] .gf-house-architecture__body { border-radius:45% 45% 8px 8px; height:137px; left:17px; width:66px; }
[data-architecture="lighthouse_cliff"] .gf-house-architecture__roof,
[data-architecture="windmill_hill"] .gf-house-architecture__roof { height:34px; left:9px; top:0; width:82px; }
[data-architecture="greenhouse_atrium"] .gf-house-architecture__body,
[data-architecture="arctic_research_dome"] .gf-house-architecture__body,
[data-architecture="underwater_coral_dome"] .gf-house-architecture__body { border-radius:90px 90px 8px 8px; height:96px; left:2px; width:168px; }
[data-architecture="greenhouse_atrium"] .gf-house-architecture__roof,
[data-architecture="arctic_research_dome"] .gf-house-architecture__roof,
[data-architecture="underwater_coral_dome"] .gf-house-architecture__roof { border:8px solid var(--arch-roof); border-bottom:0; border-radius:100px 100px 0 0; clip-path:none; height:79px; left:2px; top:-1px; width:168px; }
[data-architecture="sakura_castle_island"] .gf-house-architecture__roof,
[data-architecture="waterfall_temple"] .gf-house-architecture__roof,
[data-architecture="dragon_peak_monastery"] .gf-house-architecture__roof { clip-path:polygon(12% 0,88% 0,100% 65%,72% 69%,66% 100%,34% 100%,28% 69%,0 65%); height:38px; left:-12px; width:196px; }
[data-architecture="sakura_castle_island"] .gf-house-architecture__roof--second,
[data-architecture="waterfall_temple"] .gf-house-architecture__roof--second,
[data-architecture="dragon_peak_monastery"] .gf-house-architecture__roof--second { display:block; left:18px; top:-22px; width:135px; }
[data-architecture="redwood_canopy_village"] .gf-house-architecture__structure { bottom:29%; }
[data-architecture="redwood_canopy_village"] .gf-house-architecture__body { border-radius:50%; height:105px; left:31px; width:112px; }
[data-architecture="redwood_canopy_village"] .gf-house-architecture__wing { height:125px; left:73px; transform:translateY(80px); width:29px; }
[data-architecture="nile_garden_citadel"] .gf-house-architecture__roof { border-radius:60px 60px 0 0; clip-path:none; height:50px; left:35px; width:105px; }
[data-architecture="crystal_cavern_estate"] .gf-house-architecture__body { clip-path:polygon(50% 0,98% 34%,84% 100%,16% 100%,2% 34%); height:112px; }
[data-architecture="solar_desert_arcology"] .gf-house-architecture__body { border-radius:80px 8px 80px 8px; height:92px; left:-4px; transform:skewX(-10deg); width:184px; }
[data-architecture="neo_tokyo_rain_tower"] .gf-house-architecture__structure { bottom:8%; height:170px; width:122px; }
[data-architecture="neo_tokyo_rain_tower"] .gf-house-architecture__body { clip-path:polygon(18% 0,82% 0,100% 100%,0 100%); height:162px; left:8px; width:106px; }
[data-architecture="neo_tokyo_rain_tower"] .gf-house-architecture__roof { clip-path:none; height:7px; left:6px; top:0; width:110px; }
[data-architecture="mars_canyon_habitat"] .gf-house-architecture__body,
[data-architecture="lunar_observatory"] .gf-house-architecture__body { border-radius:80px 80px 9px 9px; height:88px; left:12px; width:150px; }
[data-architecture="volcanic_caldera"] .gf-house-architecture__roof { clip-path:polygon(0 0,15% 0,15% 42%,32% 42%,32% 0,50% 0,50% 42%,68% 42%,68% 0,85% 0,85% 42%,100% 42%,100% 100%,0 100%); height:36px; top:0; }
[data-architecture="orbital_ring_residence"] .gf-house-architecture__structure { border:14px solid var(--arch-roof); border-radius:50%; bottom:19%; height:128px; width:222px; }
[data-architecture="orbital_ring_residence"] .gf-house-architecture__body { border-radius:50%; height:65px; left:22px; width:150px; }
[data-architecture="cloud_kingdom_castle"] .gf-house-architecture__body { clip-path:polygon(8% 28%,20% 28%,20% 0,33% 0,33% 34%,65% 34%,65% 5%,79% 5%,79% 27%,92% 27%,92% 100%,8% 100%); height:134px; top:-35px; }
[data-architecture="celestial_airship_mansion"] .gf-house-architecture__structure { bottom:27%; width:232px; }
[data-architecture="celestial_airship_mansion"] .gf-house-architecture__body { border-radius:50% 50% 22% 22%; height:61px; left:1px; width:226px; }
[data-architecture="celestial_airship_mansion"] .gf-house-architecture__roof { border-radius:50%; clip-path:none; height:65px; left:26px; top:-49px; width:180px; }

@keyframes gf-architecture-shine { to { left:125%; } }
.gf-rarity-chip { background: rgba(19, 22, 47, .78); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; font-size: .69rem; font-weight: 800; inset-inline-start: .9rem; letter-spacing: .08em; padding: .36rem .62rem; position: absolute; text-transform: uppercase; top: .9rem; }
.gf-rarity-uncommon .gf-rarity-chip { background: #187b5b; }
.gf-rarity-rare .gf-rarity-chip { background: #2464bd; }
.gf-rarity-epic .gf-rarity-chip { background: #803fbd; }
.gf-rarity-legendary .gf-rarity-chip { background: linear-gradient(90deg, #b66c00, #e0a218); }
.gf-store-card__preview {
    align-items: center;
    background: linear-gradient(150deg, #cfe9ff 0 50%, #c7e2b7 50%);
    display: flex;
    height: 210px;
    justify-content: center;
    overflow: hidden;
    position: relative;
}
[data-scene="forest_cabin"] .gf-house-card__scene,
[data-scene="forest_cabin"].gf-store-card .gf-store-card__preview {
    background: linear-gradient(155deg, #bce2dd 0 52%, #527b62 52%);
}
[data-scene="alpine_chalet"] .gf-house-card__scene,
[data-scene="alpine_chalet"].gf-store-card .gf-store-card__preview {
    background: linear-gradient(155deg, #d9eaff 0 52%, #eef5ff 52%);
}
[data-scene="garden_villa"] .gf-house-card__scene,
[data-scene="garden_villa"].gf-store-card .gf-store-card__preview {
    background: linear-gradient(155deg, #ffe3c6 0 52%, #83bd72 52%);
}
[data-scene="desert_oasis"] .gf-house-card__scene,
[data-scene="desert_oasis"].gf-store-card .gf-store-card__preview {
    background: linear-gradient(155deg, #ffddb7 0 52%, #d79e5e 52%);
}
[data-scene="azure_beach"] .gf-house-card__scene,
[data-scene="azure_beach"].gf-store-card .gf-store-card__preview {
    background: linear-gradient(
        155deg,
        #bceaff 0 48%,
        #44bdcf 48% 70%,
        #f1d99d 70%
    );
}
[data-scene="skyline_penthouse"] .gf-house-card__scene,
[data-scene="skyline_penthouse"].gf-store-card .gf-store-card__preview {
    background: linear-gradient(155deg, #332c67 0 52%, #0c1735 52%);
}
.gf-house-card__home,
.gf-store-card__preview > i {
    align-items: center;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 24px 24px 10px 10px;
    box-shadow: 0 18px 45px rgba(19, 28, 65, 0.22);
    color: #5c4c70;
    display: flex;
    font-size: 4.2rem;
    height: 105px;
    justify-content: center;
    position: relative;
    transform: translateY(14px);
    width: 140px;
}
.gf-house-card__sun {
    background: #ffd76d;
    border-radius: 50%;
    box-shadow: 0 0 45px rgba(255, 215, 109, 0.7);
    height: 42px;
    inset-inline-end: 13%;
    position: absolute;
    top: 14%;
    width: 42px;
}
.gf-rarity-chip {
    background: rgba(19, 22, 47, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: #fff;
    font-size: 0.69rem;
    font-weight: 800;
    inset-inline-start: 0.9rem;
    letter-spacing: 0.08em;
    padding: 0.36rem 0.62rem;
    position: absolute;
    text-transform: uppercase;
    top: 0.9rem;
}
.gf-rarity-uncommon .gf-rarity-chip {
    background: #187b5b;
}
.gf-rarity-rare .gf-rarity-chip {
    background: #2464bd;
}
.gf-rarity-epic .gf-rarity-chip {
    background: #803fbd;
}
.gf-rarity-legendary .gf-rarity-chip {
    background: linear-gradient(90deg, #b66c00, #e0a218);
}
.gf-house-card__body,
.gf-store-card__body {
    padding: 1.35rem;
}
.gf-house-card__body > small,
.gf-store-card__body > small {
    color: var(--gf-house-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}
.gf-house-card__body h2,
.gf-store-card__body h2 {
    color: var(--gf-house-ink);
    font-size: 1.35rem;
    margin: 0.25rem 0 0.55rem;
}
.gf-house-card__body p,
.gf-store-card__body p {
    color: var(--gf-house-muted);
    font-size: 0.87rem;
    min-height: 2.7em;
}
.gf-house-card__meta {
    border-bottom: 1px solid var(--gf-house-line);
    border-top: 1px solid var(--gf-house-line);
    color: var(--gf-house-muted);
    display: flex;
    font-size: 0.78rem;
    gap: 1rem;
    justify-content: space-between;
    margin: 1rem 0;
    padding: 0.7rem 0;
}
.gf-house-card__body .alpha-button,
.gf-store-card__body .alpha-button {
    justify-content: center;
    width: 100%;
}
.gf-house-empty,
.gf-panel-empty {
    color: var(--gf-house-muted);
    grid-column: 1 / -1;
    padding: 3rem;
    text-align: center;
}
.gf-house-empty > i {
    color: var(--gf-house-accent);
    font-size: 4rem;
}

.gf-house-breadcrumbs {
    color: var(--gf-house-muted);
    display: flex;
    gap: 0.4rem;
    margin-bottom: 1.5rem;
}
.gf-house-breadcrumbs a {
    color: var(--gf-house-accent);
}
.gf-house-store__tabs {
    background: var(--gf-house-panel);
    border: 1px solid var(--gf-house-line);
    border-radius: 16px;
    display: inline-flex;
    gap: 0.25rem;
    margin-bottom: 1.5rem;
    padding: 0.3rem;
}
.gf-house-store__tabs a {
    border-radius: 12px;
    color: var(--gf-house-muted);
    font-weight: 700;
    padding: 0.7rem 1.1rem;
}
.gf-house-store__tabs a.is-active {
    background: var(--gf-house-accent);
    color: #fff;
}
.gf-store-grid {
    display: grid;
    gap: 1.2rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
.gf-store-grid--furniture {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr));
}
.gf-store-card__preview {
    height: 180px;
}
.gf-store-card--furniture .gf-store-card__preview {
    background:
        radial-gradient(
            circle at 50% 55%,
            rgba(109, 74, 255, 0.13),
            transparent 42%
        ),
        linear-gradient(
            140deg,
            rgba(109, 74, 255, 0.04),
            rgba(19, 191, 200, 0.09)
        );
}
.gf-store-card--furniture .gf-furniture-visual {
    filter: drop-shadow(0 18px 16px rgba(30, 34, 70, 0.18));
    font-size: 5rem;
}

.gf-house-experience { background: #11152c; color: white; min-height: calc(100vh - 90px); overflow: hidden; padding: 1rem; }
.gf-house-room-header { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin: 0 auto 1rem; max-width: 1700px; }
.gf-house-room-header > div:first-child { min-width: 0; position: relative; }
.gf-house-room-header > div:first-child > a { color: rgba(255,255,255,.7); font-size: .78rem; }
.gf-house-room-header .gf-rarity-chip { display: inline-block; inset: auto; margin-inline-start: .5rem; position: relative; top: auto; }
.gf-house-room-header h1 { color: white; font-size: clamp(1.5rem, 3vw, 2.35rem); margin: .25rem 0 0; }
.gf-house-room-header p { color: rgba(255,255,255,.65); font-size: .8rem; margin: 0; }
.gf-house-room-actions { align-items: flex-end; display: flex; flex-direction: column; gap: .45rem; }
.gf-house-identity { align-items: center; background: rgba(22,25,53,.8); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; display: flex; gap: .8rem; margin-inline-end: 3rem; padding: .38rem .65rem; }
.gf-house-identity span { display: grid; gap: .05rem; }
.gf-house-identity span + span { border-inline-start: 1px solid rgba(255,255,255,.15); padding-inline-start: .8rem; }
.gf-house-identity small { color: rgba(255,255,255,.58); font-size: .57rem; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.gf-house-identity strong { color: #fff; font-size: .76rem; line-height: 1.25; }
.gf-house-room-toolbar { background: rgba(22, 25, 53, .8); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; display: flex; gap: .25rem; padding: .35rem; }
.gf-house-room-toolbar button { align-items: center; background: transparent; border: 0; border-radius: 11px; color: rgba(255,255,255,.72); display: flex; font-size: .75rem; gap: .35rem; padding: .65rem .7rem; }
.gf-house-room-toolbar button:hover,
.gf-house-room-toolbar button.is-active { background: rgba(109,74,255,.35); color: white; }
.gf-house-room-toolbar button b { align-items: center; background: #6d4aff; border-radius: 50%; display: inline-flex; font-size: .62rem; height: 19px; justify-content: center; width: 19px; }
.gf-house-room-layout { margin: 0 auto; max-width: 1700px; min-height: min(780px, calc(100vh - 190px)); position: relative; }
.gf-house-stage { --house-wall:#ede5d9; --house-floor:#c9aa82; --house-floor-texture:repeating-linear-gradient(90deg,rgba(106,72,46,.12) 0 3px,transparent 3px 72px); --house-view:linear-gradient(#8bd9ff 0 55%,#5dbb87 55% 70%,#407f4c 70%); --house-trim:rgba(255,255,255,.78); --house-door:#805033; --house-accent:#d69e57; background:linear-gradient(var(--house-wall) 0 36%,var(--house-floor) 36%); border:1px solid rgba(255,255,255,.14); border-radius:25px; box-shadow:inset 0 0 100px rgba(0,0,0,.1); height:min(780px,calc(100vh - 190px)); min-height:570px; overflow:hidden; position:relative; }
.gf-house-scenery { inset: 0; overflow: hidden; pointer-events: none; position: absolute; }
.gf-house-scene-sky { background:radial-gradient(circle at 72% 15%,rgba(255,255,255,.72),transparent 24%),linear-gradient(120deg,rgba(255,255,255,.18),transparent 42%); height:36%; inset:0 0 auto; position:absolute; }
.gf-house-scene-horizon { bottom:64%; height:48px; inset-inline:0; opacity:.62; position:absolute; }
.gf-house-scene-horizon::before { background:var(--house-accent); bottom:0; clip-path:polygon(0 100%,0 70%,8% 70%,8% 28%,14% 28%,14% 78%,21% 78%,21% 48%,27% 48%,27% 100%,72% 100%,72% 66%,78% 66%,78% 33%,85% 33%,85% 72%,91% 72%,91% 48%,96% 48%,96% 100%); content:""; inset-inline:0; opacity:.16; position:absolute; top:0; }
.gf-house-ceiling-detail { border:2px solid color-mix(in srgb,var(--house-accent) 34%,transparent); border-radius:50%; height:180px; left:50%; position:absolute; top:-145px; transform:translateX(-50%); width:56%; }
.gf-house-wall-feature { background:linear-gradient(135deg,color-mix(in srgb,var(--house-accent) 22%,transparent),transparent); border:2px solid color-mix(in srgb,var(--house-accent) 34%,transparent); border-radius:24px; height:145px; position:absolute; top:90px; width:96px; }
.gf-house-wall-feature--one { inset-inline-start:16%; transform:rotate(-4deg); }
.gf-house-wall-feature--two { inset-inline-end:10%; transform:rotate(5deg); }
.gf-house-window { background:var(--house-view); border:13px solid var(--house-trim); border-radius:80px 80px 8px 8px; box-shadow:0 18px 45px rgba(44,69,81,.15); height:220px; left:50%; overflow:hidden; position:absolute; top:45px; transform:translateX(-50%); width:min(46%,560px); }
.gf-house-window::before,
.gf-house-window::after { background: rgba(255,255,255,.65); content: ""; left: 50%; position: absolute; transform: translateX(-50%); }
.gf-house-window::before { height: 100%; width: 8px; }
.gf-house-window::after { height: 8px; top: 54%; width: 100%; }
.gf-house-window > b { background: linear-gradient(115deg, transparent 12%, rgba(255,255,255,.46) 13% 18%, transparent 19% 48%, rgba(255,255,255,.24) 49% 53%, transparent 54%); inset: 0; position: absolute; }
.gf-house-window > i { background: #e8d0a8; border-radius: 40% 40% 10% 10%; bottom: 5%; box-shadow: -25px -7px 0 -18px #4b9862, 24px -10px 0 -17px #65ad73; height: 13%; left: 50%; position: absolute; transform: translateX(-50%); width: 14%; }
.gf-house-door { background:linear-gradient(105deg,color-mix(in srgb,var(--house-door) 78%,white),var(--house-door)); border:8px solid var(--house-trim); border-bottom:0; border-radius:70px 70px 0 0; bottom:64%; box-shadow:inset -12px 0 0 rgba(55,25,11,.2),0 12px 30px rgba(54,31,20,.18); height:27%; inset-inline-start:5%; position:absolute; width:clamp(88px,10vw,142px); }
.gf-house-door::before,
.gf-house-door::after { border: 2px solid rgba(255,226,190,.25); border-radius: 45% 45% 8px 8px; content: ""; inset-inline: 17%; position: absolute; }
.gf-house-door::before { height: 36%; top: 13%; }
.gf-house-door::after { bottom: 8%; height: 31%; }
.gf-house-door > b { background: #f1c65b; border: 2px solid #8d5d20; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.35); height: 11px; inset-inline-start: 14%; position: absolute; top: 57%; width: 11px; z-index: 2; }
.gf-house-door > i { background: rgba(255,240,188,.72); border-radius: 50%; box-shadow: 0 0 20px rgba(255,224,133,.45); height: 18%; left: 50%; position: absolute; top: 17%; transform: translateX(-50%); width: 34%; }
.gf-house-wall-light { background:radial-gradient(circle,color-mix(in srgb,var(--house-accent) 32%,white),transparent 68%); height:330px; left:12%; opacity:.6; position:absolute; top:-100px; width:330px; }
.gf-house-scenery-label { background: rgba(255,255,255,.58); border-radius: 999px; color: #595d69; font-size: .7rem; font-weight: 800; inset-inline-start: 1rem; letter-spacing: .1em; padding: .4rem .7rem; position: absolute; text-transform: uppercase; top: 1rem; }
.gf-house-stage[data-scene="city_loft"] { --house-wall:#b87962; --house-floor:#895f48; --house-floor-texture:repeating-linear-gradient(90deg,#6f4836 0 2px,transparent 2px 68px); --house-view:linear-gradient(#5687bb 0 58%,#596781 59%); --house-trim:#303b49; --house-door:#5c342a; --house-accent:#3e526b; }
.gf-house-stage[data-scene="city_loft"] .gf-house-window { border-radius:5px; height:252px; top:20px; width:min(62%,720px); }
.gf-house-stage[data-scene="city_loft"] .gf-house-wall-feature { background:repeating-linear-gradient(0deg,#865541 0 9px,#6f4537 10px 12px); border-radius:4px; }
.gf-house-stage[data-scene="sunlit_studio"] { --house-wall:#fff4da; --house-floor:#e0be86; --house-view:linear-gradient(#a7e4fa 0 55%,#9ac775 56%); --house-trim:#fffdf4; --house-door:#d78762; --house-accent:#efa562; }
.gf-house-stage[data-scene="sunlit_studio"] .gf-house-window { border-radius:120px 120px 35px 35px; height:265px; top:16px; width:min(56%,650px); }
.gf-house-stage[data-scene="sunlit_studio"] .gf-house-ceiling-detail { border-width:18px; opacity:.34; }
.gf-house-stage[data-scene="suburban_townhouse"] { --house-wall:#e7d0b8; --house-floor:#b68761; --house-view:linear-gradient(#95d7f0 0 56%,#6ea05c 57%); --house-trim:#fff5e5; --house-door:#a74f43; --house-accent:#586e83; }
.gf-house-stage[data-scene="suburban_townhouse"] .gf-house-window { border-radius:16px; width:min(42%,500px); }
.gf-house-stage[data-scene="suburban_townhouse"] .gf-house-wall-feature { border:8px double rgba(88,110,131,.35); }
.gf-house-stage[data-scene="meadow_cottage"] { --house-wall:#d6bf97; --house-floor:#a67d54; --house-floor-texture:radial-gradient(circle,#805d3f 0 2px,transparent 3px); --house-view:linear-gradient(#9edafa 0 49%,#7cac54 50% 74%,#4d763f 75%); --house-trim:#f7e8c4; --house-door:#7b4630; --house-accent:#a04e58; }
.gf-house-stage[data-scene="meadow_cottage"] .gf-house-window { border-radius:50% 50% 12px 12px; height:235px; width:min(40%,470px); }
.gf-house-stage[data-scene="meadow_cottage"] .gf-house-wall-feature { background:radial-gradient(circle,#b75a6b 0 6px,transparent 7px),linear-gradient(45deg,transparent 46%,#6f9257 47% 53%,transparent 54%); }
.gf-house-stage[data-scene="forest_cabin"] { --house-wall:#7f573d; --house-floor:#875f43; --house-floor-texture:repeating-linear-gradient(90deg,#5c3c2c 0 5px,transparent 6px 54px); --house-view:linear-gradient(#9dd3ce 0 45%,#315e47 46%); --house-trim:#493324; --house-door:#4c2c20; --house-accent:#d5a15c; }
.gf-house-stage[data-scene="forest_cabin"] .gf-house-window { border-radius:6px; border-width:16px; height:230px; width:min(38%,450px); }
.gf-house-stage[data-scene="forest_cabin"] .gf-house-wall-feature { background:repeating-linear-gradient(0deg,#936544 0 8px,#68452f 9px 12px); border-color:#4d3527; }
.gf-house-stage[data-scene="alpine_chalet"] { --house-wall:#e8dfd5; --house-floor:#956d50; --house-floor-texture:repeating-linear-gradient(90deg,#75513c 0 3px,transparent 4px 62px); --house-view:linear-gradient(#abd7f4 0 43%,#f8fbff 44% 73%,#92a8b4 74%); --house-trim:#704c37; --house-door:#6c3f2e; --house-accent:#7d96a7; }
.gf-house-stage[data-scene="alpine_chalet"] .gf-house-window { clip-path:polygon(50% 0,100% 38%,100% 100%,0 100%,0 38%); border-radius:4px; height:260px; top:14px; }
.gf-house-stage[data-scene="alpine_chalet"] .gf-house-ceiling-detail { border-radius:0; border-width:8px; transform:translateX(-50%) rotate(45deg); }
.gf-house-stage[data-scene="lakeside_lodge"] { --house-wall:#9a7555; --house-floor:#866247; --house-view:linear-gradient(#91d0e5 0 44%,#4e8067 45% 59%,#4d9bb1 60%); --house-trim:#4e3b30; --house-door:#503124; --house-accent:#d3a45d; }
.gf-house-stage[data-scene="lakeside_lodge"] .gf-house-window { border-radius:8px; height:245px; width:min(66%,760px); }
.gf-house-stage[data-scene="lakeside_lodge"] .gf-house-wall-feature { border-color:#d2ad74; border-radius:50%; }
.gf-house-stage[data-scene="mediterranean_townhome"] { --house-wall:#f7f3e7; --house-floor:#d9c38f; --house-floor-texture:repeating-linear-gradient(45deg,rgba(53,133,169,.17) 0 12px,transparent 13px 26px); --house-view:linear-gradient(#65caed 0 55%,#2ca7c5 56% 72%,#e5c57d 73%); --house-trim:#398cb4; --house-door:#2c78a3; --house-accent:#4aa0b0; }
.gf-house-stage[data-scene="mediterranean_townhome"] .gf-house-window { border-radius:120px 120px 8px 8px; height:252px; width:min(44%,520px); }
.gf-house-stage[data-scene="mediterranean_townhome"] .gf-house-door { border-radius:50% 50% 0 0; }
.gf-house-stage[data-scene="garden_villa"] { --house-wall:#eee4cf; --house-floor:#cdb88c; --house-view:linear-gradient(#f5c79f 0 40%,#76ad61 41%); --house-trim:#f9f4e8; --house-door:#8d5c3d; --house-accent:#62925c; }
.gf-house-stage[data-scene="garden_villa"] .gf-house-window { border-radius:3px; height:258px; width:min(70%,810px); }
.gf-house-stage[data-scene="garden_villa"] .gf-house-wall-feature { background:linear-gradient(90deg,transparent 46%,#5b8f59 47% 53%,transparent 54%),radial-gradient(circle,#7eb969 0 11px,transparent 12px); border:0; }
.gf-house-stage[data-scene="kyoto_machiya"] { --house-wall:#dfd0b4; --house-floor:#c2ad7b; --house-floor-texture:repeating-linear-gradient(90deg,rgba(61,51,43,.24) 0 2px,transparent 3px 78px); --house-view:linear-gradient(#e9b7af 0 45%,#7c8959 46%); --house-trim:#352e2b; --house-door:#46342d; --house-accent:#b74e49; }
.gf-house-stage[data-scene="kyoto_machiya"] .gf-house-window { background:repeating-linear-gradient(90deg,rgba(240,222,191,.78) 0 36px,#3d332e 37px 43px); border-radius:2px; border-width:9px; height:245px; width:min(58%,680px); }
.gf-house-stage[data-scene="kyoto_machiya"] .gf-house-window::after { background:#3d332e; box-shadow:0 -52px #3d332e,0 52px #3d332e; }
.gf-house-stage[data-scene="tuscan_farmhouse"] { --house-wall:#c9a978; --house-floor:#a47752; --house-floor-texture:radial-gradient(circle,#79563d 0 2px,transparent 3px); --house-view:linear-gradient(#efc287 0 52%,#7b8c4a 53%); --house-trim:#ead3a5; --house-door:#6d402e; --house-accent:#9c5439; }
.gf-house-stage[data-scene="tuscan_farmhouse"] .gf-house-window { border-radius:100px 100px 5px 5px; height:232px; width:min(37%,430px); }
.gf-house-stage[data-scene="tuscan_farmhouse"] .gf-house-wall-feature { background:radial-gradient(circle at 30% 25%,#a88358 0 7px,transparent 8px),#c09b6d; border-radius:4px; }
.gf-house-stage[data-scene="tropical_bungalow"] { --house-wall:#eddab5; --house-floor:#b88957; --house-floor-texture:repeating-linear-gradient(90deg,#8d633e 0 4px,transparent 5px 75px); --house-view:linear-gradient(#76d9ee 0 48%,#35afc0 49% 68%,#e4cf86 69%); --house-trim:#704a31; --house-door:#795035; --house-accent:#4d9e72; }
.gf-house-stage[data-scene="tropical_bungalow"] .gf-house-window { border-radius:5px; height:265px; top:10px; width:min(74%,850px); }
.gf-house-stage[data-scene="tropical_bungalow"] .gf-house-ceiling-detail { border:12px dashed #7a5538; border-radius:50%; }
.gf-house-stage[data-scene="desert_oasis"] { --house-wall:#d7a96f; --house-floor:#c28e59; --house-floor-texture:radial-gradient(circle at 50% 0,rgba(255,232,177,.28),transparent 58%); --house-view:linear-gradient(#f4bd77 0 50%,#d78e4e 51% 73%,#43a6a0 74%); --house-trim:#e7c18b; --house-door:#806145; --house-accent:#318b86; }
.gf-house-stage[data-scene="desert_oasis"] .gf-house-window { border-radius:140px 140px 0 0; height:265px; top:14px; width:min(46%,540px); }
.gf-house-stage[data-scene="desert_oasis"] .gf-house-wall-feature { border-radius:50% 50% 5px 5px; }
.gf-house-stage[data-scene="azure_beach"] { --house-wall:#edf5f0; --house-floor:#dec894; --house-view:linear-gradient(#8de2fa 0 43%,#31b6d0 44% 73%,#efd596 74%); --house-trim:rgba(235,252,255,.8); --house-door:#59aab7; --house-accent:#ed9b58; }
.gf-house-stage[data-scene="azure_beach"] .gf-house-window { border-radius:3px; border-width:8px; height:280px; top:0; width:min(82%,940px); }
.gf-house-stage[data-scene="azure_beach"] .gf-house-wall-feature { border-radius:50%; border-color:#56bbc8; }
.gf-house-stage[data-scene="cliffside_villa"] { --house-wall:#d8d8d5; --house-floor:#8c8580; --house-floor-texture:linear-gradient(145deg,transparent 49%,rgba(255,255,255,.18) 50%); --house-view:linear-gradient(#82c9ed 0 54%,#267f9d 55% 70%,#55525a 71%); --house-trim:#3c4650; --house-door:#4b4d50; --house-accent:#df7552; }
.gf-house-stage[data-scene="cliffside_villa"] .gf-house-window { clip-path:polygon(8% 0,100% 0,92% 100%,0 100%); border-radius:0; height:272px; top:4px; width:min(72%,830px); }
.gf-house-stage[data-scene="cliffside_villa"] .gf-house-door { border-radius:2px; }
.gf-house-stage[data-scene="glass_treehouse"] { --house-wall:#71957a; --house-floor:#785a3f; --house-floor-texture:radial-gradient(circle at 50% 100%,#503c2c 0 13%,transparent 14%); --house-view:linear-gradient(#8bd6d4 0 43%,#3f7558 44%); --house-trim:#45644e; --house-door:#63452f; --house-accent:#8fe1d7; }
.gf-house-stage[data-scene="glass_treehouse"] .gf-house-window { border-radius:50%; border-width:10px; height:270px; top:8px; width:min(52%,610px); }
.gf-house-stage[data-scene="glass_treehouse"] .gf-house-wall-feature { background:linear-gradient(70deg,transparent 44%,#503b2b 45% 56%,transparent 57%),radial-gradient(circle,#5e9a69 0 23px,transparent 24px); border:0; }
.gf-house-stage[data-scene="skyline_penthouse"] { --house-wall:#252b48; --house-floor:#353a50; --house-floor-texture:linear-gradient(145deg,rgba(143,123,255,.15),transparent); --house-view:linear-gradient(#141b40 0 66%,#344273 67%); --house-trim:rgba(180,200,244,.4); --house-door:#24283b; --house-accent:#9c7dff; }
.gf-house-stage[data-scene="skyline_penthouse"] .gf-house-window { border-radius:2px; border-width:7px; height:285px; top:0; width:min(85%,980px); }
.gf-house-stage[data-scene="skyline_penthouse"] .gf-house-wall-feature { background:linear-gradient(135deg,rgba(137,115,255,.5),transparent); border-color:rgba(173,158,255,.4); }
.gf-house-stage[data-scene="private_island"] { --house-wall:#f3ede0; --house-floor:#d6c395; --house-view:linear-gradient(#72d2ef 0 45%,#31b1cb 46% 71%,#f1d796 72%); --house-trim:#fff; --house-door:#519d91; --house-accent:#d9a15c; }
.gf-house-stage[data-scene="private_island"] .gf-house-window { border-radius:100px 10px 100px 10px; height:275px; top:6px; width:min(76%,880px); }
.gf-house-stage[data-scene="private_island"] .gf-house-ceiling-detail { border:15px solid rgba(82,159,145,.19); }
.gf-house-stage[data-scene="aurora_palace"] { --house-wall:#dbeaf0; --house-floor:#9ab9c7; --house-floor-texture:conic-gradient(from 45deg,rgba(123,96,226,.18),transparent,#62d7bb,transparent); --house-view:linear-gradient(145deg,#171c43 0 23%,#4c71a3 47%,#64e0b1 72%,#d7eff8 73%); --house-trim:#b9dbe9; --house-door:#755ab6; --house-accent:#63dcb9; }
.gf-house-stage[data-scene="aurora_palace"] .gf-house-window { clip-path:polygon(50% 0,100% 28%,92% 100%,8% 100%,0 28%); border-radius:0; height:280px; top:0; width:min(54%,630px); }
.gf-house-stage[data-scene="aurora_palace"] .gf-house-wall-feature { clip-path:polygon(50% 0,100% 25%,88% 100%,12% 100%,0 25%); border-radius:0; }
.gf-house-stage[data-scene="floating_sky_villa"] { --house-wall:#e3e8f2; --house-floor:#c2d1df; --house-floor-texture:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.8),transparent 54%); --house-view:linear-gradient(#8c84e6 0 34%,#b3ddf4 66%,#f8fdff 67%); --house-trim:rgba(255,255,255,.72); --house-door:#7366c9; --house-accent:#61d3dc; }
.gf-house-stage[data-scene="floating_sky_villa"] .gf-house-window { border-radius:50%; border-width:8px; height:275px; top:4px; width:min(78%,900px); }
.gf-house-stage[data-scene="floating_sky_villa"] .gf-house-ceiling-detail { border:18px solid rgba(110,100,211,.18); height:240px; top:-190px; }

.gf-house-floor { background-color:var(--house-floor); background-image:linear-gradient(rgba(68,61,76,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(68,61,76,.14) 1px,transparent 1px),var(--house-floor-texture); background-size:calc(100% / var(--gf-house-cols)) calc(100% / var(--gf-house-rows)),calc(100% / var(--gf-house-cols)) calc(100% / var(--gf-house-rows)),auto; border-top:1px solid rgba(70,60,70,.15); bottom:0; height:64%; inset-inline:0; position:absolute; }
.gf-house-floor.is-drop-target { box-shadow: inset 0 0 0 4px rgba(109,74,255,.75), inset 0 0 80px rgba(109,74,255,.15); }
.gf-placed-furniture { align-items: center; background: transparent; border: 2px solid transparent; border-radius: 13px; box-shadow: none; color: #282439; display: flex; flex-direction: column; height: calc(var(--h) * 100% / var(--gf-house-rows)); justify-content: center; left: calc(var(--x) * 100% / var(--gf-house-cols)); min-height: 42px; overflow: visible; padding: .2rem; position: absolute; top: calc(var(--y) * 100% / var(--gf-house-rows)); touch-action: none; transition: box-shadow .15s ease, transform .15s ease; width: calc(var(--w) * 100% / var(--gf-house-cols)); z-index: var(--z); }
[dir="rtl"] .gf-placed-furniture { left: auto; right: calc(var(--x) * 100% / var(--gf-house-cols)); }
.gf-placed-furniture:hover,
.gf-placed-furniture.is-selected { border-color: #6d4aff; box-shadow: 0 0 0 4px rgba(109,74,255,.2), 0 14px 25px rgba(48,42,58,.25); transform: translateY(-3px); }
.gf-placed-furniture.is-pointer-ready { cursor:grabbing; }
.gf-placed-furniture.is-pointer-moving { border-color:#19c6cf; box-shadow:0 0 0 5px rgba(25,198,207,.27),0 22px 34px rgba(28,35,50,.32); opacity:.9; transform:translateY(-8px) scale(1.02); transition:none; }
.gf-placed-furniture.is-saving { filter:saturate(.65); opacity:.72; pointer-events:none; }
.gf-placed-furniture .gf-furniture-visual { font-size: clamp(1.45rem, 3.5vw, 3.5rem); filter: drop-shadow(0 7px 5px rgba(35,30,45,.18)); line-height: 1; }
.gf-house-placement-help { background: rgba(18,20,44,.72); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; bottom: 1rem; color: rgba(255,255,255,.86); font-size: .72rem; left: 50%; padding: .5rem .8rem; pointer-events: none; position: absolute; transform: translateX(-50%); z-index: 100; }
.gf-house-selection-tools { align-items: center; background: rgba(20,22,47,.94); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; bottom: 1rem; display: flex; gap: .5rem; inset-inline-start: 1rem; padding: .45rem; position: absolute; z-index: 180; }
.gf-house-selection-tools[hidden] { display: none; }
.gf-house-selection-tools strong { font-size: .72rem; padding: 0 .4rem; }
.gf-house-selection-tools button { background: rgba(255,255,255,.09); border: 0; border-radius: 9px; color: #fff; font-size: .69rem; padding: .45rem .6rem; }
.gf-house-nudge-pad { display:grid; gap:2px; grid-template-columns:repeat(3,25px); grid-template-rows:repeat(2,24px); }
.gf-house-nudge-pad button { align-items:center; display:flex; height:24px; justify-content:center; padding:0; width:25px; }
.gf-house-nudge-pad [data-gf-nudge="up"] { grid-column:2; grid-row:1; }
.gf-house-nudge-pad [data-gf-nudge="left"] { grid-column:1; grid-row:2; }
.gf-house-nudge-pad [data-gf-nudge="down"] { grid-column:2; grid-row:2; }
.gf-house-nudge-pad [data-gf-nudge="right"] { grid-column:3; grid-row:2; }
.gf-house-experience {
    background: #11152c;
    color: white;
    min-height: calc(100vh - 90px);
    overflow: hidden;
    padding: 1rem;
}
.gf-house-room-header {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 0 auto 1rem;
    max-width: 1700px;
}
.gf-house-room-header > div:first-child {
    min-width: 0;
    position: relative;
}
.gf-house-room-header > div:first-child > a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
}
.gf-house-room-header .gf-rarity-chip {
    display: inline-block;
    inset: auto;
    margin-inline-start: 0.5rem;
    position: relative;
    top: auto;
}
.gf-house-room-header h1 {
    color: white;
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    margin: 0.25rem 0 0;
}
.gf-house-room-header p {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.8rem;
    margin: 0;
}
.gf-house-room-toolbar {
    background: rgba(22, 25, 53, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    display: flex;
    gap: 0.25rem;
    padding: 0.35rem;
}
.gf-house-room-toolbar button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 11px;
    color: rgba(255, 255, 255, 0.72);
    display: flex;
    font-size: 0.75rem;
    gap: 0.35rem;
    padding: 0.65rem 0.7rem;
}
.gf-house-room-toolbar button:hover,
.gf-house-room-toolbar button.is-active {
    background: rgba(109, 74, 255, 0.35);
    color: white;
}
.gf-house-room-toolbar button b {
    align-items: center;
    background: #0442da;
    border-radius: 50%;
    display: inline-flex;
    font-size: 0.62rem;
    height: 19px;
    justify-content: center;
    width: 19px;
}
.gf-house-room-layout {
    margin: 0 auto;
    max-width: 1700px;
    min-height: min(780px, calc(100vh - 190px));
    position: relative;
}
.gf-house-stage {
    background: linear-gradient(#cfe8fb 0 35%, #e9e2d6 35%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 25px;
    box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.1);
    height: min(780px, calc(100vh - 190px));
    min-height: 570px;
    overflow: hidden;
    position: relative;
}
.gf-house-scenery {
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
}
.gf-house-window {
    background: linear-gradient(#8bd9ff 0 55%, #5dbb87 55% 70%, #407f4c 70%);
    border: 13px solid rgba(255, 255, 255, 0.72);
    border-radius: 80px 80px 8px 8px;
    box-shadow: 0 18px 45px rgba(44, 69, 81, 0.15);
    height: 220px;
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 45px;
    transform: translateX(-50%);
    width: min(46%, 560px);
}
.gf-house-window::before,
.gf-house-window::after {
    background: rgba(255, 255, 255, 0.65);
    content: "";
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}
.gf-house-window::before {
    height: 100%;
    width: 8px;
}
.gf-house-window::after {
    height: 8px;
    top: 54%;
    width: 100%;
}
.gf-house-wall-light {
    background: radial-gradient(
        circle,
        rgba(255, 246, 205, 0.95),
        rgba(255, 246, 205, 0) 68%
    );
    height: 330px;
    left: 12%;
    position: absolute;
    top: -100px;
    width: 330px;
}
.gf-house-scenery-label {
    background: rgba(255, 255, 255, 0.58);
    border-radius: 999px;
    color: #595d69;
    font-size: 0.7rem;
    font-weight: 800;
    inset-inline-start: 1rem;
    letter-spacing: 0.1em;
    padding: 0.4rem 0.7rem;
    position: absolute;
    text-transform: uppercase;
    top: 1rem;
}
.gf-house-stage[data-scene="forest_cabin"] {
    background: linear-gradient(#d2dfd8 0 35%, #9a785b 35%);
}
.gf-house-stage[data-scene="forest_cabin"] .gf-house-window {
    background: linear-gradient(#b9e1dd 0 50%, #3c7457 50%);
}
.gf-house-stage[data-scene="alpine_chalet"] {
    background: linear-gradient(#dfe9ef 0 35%, #9b7659 35%);
}
.gf-house-stage[data-scene="alpine_chalet"] .gf-house-window {
    background: linear-gradient(#b9d9f4 0 50%, #f5f9fd 50%);
}
.gf-house-stage[data-scene="garden_villa"] {
    background: linear-gradient(#f4e6d2 0 35%, #d8c49f 35%);
}
.gf-house-stage[data-scene="desert_oasis"] {
    background: linear-gradient(#f0d8bd 0 35%, #c89a6a 35%);
}
.gf-house-stage[data-scene="azure_beach"] {
    background: linear-gradient(#d7f2fb 0 35%, #dfd0aa 35%);
}
.gf-house-stage[data-scene="azure_beach"] .gf-house-window {
    background: linear-gradient(#9ee7ff 0 45%, #37bad4 45% 75%, #f0d89a 75%);
}
.gf-house-stage[data-scene="skyline_penthouse"] {
    background: linear-gradient(#24284b 0 35%, #353952 35%);
}
.gf-house-stage[data-scene="skyline_penthouse"] .gf-house-window {
    background: linear-gradient(#171f4a 0 70%, #2e386b 70%);
    border-color: rgba(197, 211, 255, 0.35);
}
.gf-house-floor {
    background-color: rgba(255, 255, 255, 0.16);
    background-image:
        linear-gradient(rgba(68, 61, 76, 0.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(68, 61, 76, 0.14) 1px, transparent 1px);
    background-size: calc(100% / var(--gf-house-cols))
        calc(100% / var(--gf-house-rows));
    border-top: 1px solid rgba(70, 60, 70, 0.15);
    bottom: 0;
    height: 64%;
    inset-inline: 0;
    position: absolute;
}
.gf-house-floor.is-drop-target {
    box-shadow:
        inset 0 0 0 4px rgba(109, 74, 255, 0.75),
        inset 0 0 80px rgba(109, 74, 255, 0.15);
}
.gf-house-placement-help {
    background: rgba(18, 20, 44, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    bottom: 1rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.72rem;
    left: 50%;
    padding: 0.5rem 0.8rem;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    z-index: 100;
}
.gf-house-selection-tools {
    align-items: center;
    background: rgba(20, 22, 47, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    bottom: 1rem;
    display: flex;
    gap: 0.5rem;
    inset-inline-start: 1rem;
    padding: 0.45rem;
    position: absolute;
    z-index: 110;
}
.gf-house-selection-tools[hidden] {
    display: none;
}
.gf-house-selection-tools strong {
    font-size: 0.72rem;
    padding: 0 0.4rem;
}
.gf-house-selection-tools button {
    background: rgba(255, 255, 255, 0.09);
    border: 0;
    border-radius: 9px;
    color: #fff;
    font-size: 0.69rem;
    padding: 0.45rem 0.6rem;
}

.gf-house-panel {
    background: var(--gf-house-panel);
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 20px;
    box-shadow: var(--gf-house-shadow);
    color: var(--gf-house-ink);
    display: flex;
    flex-direction: column;
    max-height: calc(100% - 2rem);
    overflow: hidden;
    padding: 1rem;
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: min(355px, calc(100% - 2rem));
    z-index: 220;
}
[dir="rtl"] .gf-house-panel {
    left: 1rem;
    right: auto;
}
.gf-house-panel[hidden] {
    display: none !important;
}
.gf-house-panel > header {
    align-items: center;
    border-bottom: 1px solid var(--gf-house-line);
    display: flex;
    justify-content: space-between;
    margin: -1rem -1rem 0.75rem;
    padding: 0.8rem 1rem;
}
.gf-house-panel > header small {
    color: var(--gf-house-accent);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}
.gf-house-panel > header h2 {
    color: var(--gf-house-ink);
    font-size: 1rem;
    margin: 0;
}
.gf-house-panel > header button {
    background: rgba(109, 74, 255, 0.08);
    border: 0;
    border-radius: 9px;
    color: var(--gf-house-muted);
    height: 32px;
    width: 32px;
}
.gf-house-panel > p {
    color: var(--gf-house-muted);
    font-size: 0.76rem;
}
.gf-house-inventory__list {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.8rem;
    overflow-y: auto;
    padding-inline-end: 0.2rem;
}
.gf-inventory-item {
    align-items: center;
    background: rgba(109, 74, 255, 0.045);
    border: 1px solid var(--gf-house-line);
    border-radius: 13px;
    color: var(--gf-house-ink);
    display: flex;
    gap: 0.65rem;
    padding: 0.55rem;
    text-align: start;
}
.gf-inventory-item:hover:not(.is-placed) {
    border-color: var(--gf-house-accent);
    cursor: grab;
}
.gf-inventory-item.is-placed {
    opacity: 0.48;
}
.gf-inventory-item > .gf-furniture-visual {
    align-items: center;
    background: rgba(109, 74, 255, 0.08);
    border-radius: 10px;
    display: flex;
    flex: 0 0 45px;
    font-size: 1.7rem;
    height: 45px;
    justify-content: center;
}
.gf-inventory-item > span:nth-child(2) {
    display: grid;
    flex: 1;
}
.gf-inventory-item strong {
    font-size: 0.78rem;
}
.gf-inventory-item small {
    color: var(--gf-house-muted);
    font-size: 0.64rem;
}
.gf-inventory-item > i {
    color: #1aaa78;
}
.gf-house-invite-panel form,
.gf-house-invite-panel label {
    display: grid;
    gap: 0.35rem;
}
.gf-house-invite-panel form {
    gap: 0.8rem;
}
.gf-house-invite-panel label {
    color: var(--gf-house-ink);
    font-size: 0.72rem;
    font-weight: 700;
}
.gf-house-invite-panel input,
.gf-house-invite-panel select,
.gf-house-teaching-form input,
.gf-house-teaching-form select,
.gf-house-teaching-form textarea,
.gf-house-chat textarea {
    background: transparent;
    border: 1px solid var(--gf-house-line);
    border-radius: 10px;
    color: var(--gf-house-ink);
    padding: 0.65rem;
}
.gf-house-teaching-panel { gap:.7rem; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.gf-house-teaching-form,
.gf-house-teaching-form label { display:grid; gap:.35rem; }
.gf-house-teaching-form { border-top:1px solid var(--gf-house-line); gap:.7rem; padding-top:.75rem; }
.gf-house-teaching-form label { color:var(--gf-house-ink); font-size:.7rem; font-weight:800; }
.gf-house-teaching-form textarea { resize:vertical; }
.gf-house-teaching-live { background:linear-gradient(145deg,rgba(109,74,255,.13),rgba(31,197,174,.1)); border:1px solid rgba(109,74,255,.25); border-radius:15px; display:grid; gap:.5rem; padding:.85rem; }
.gf-house-teaching-live__status { color:#1b9b7d; font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.gf-house-teaching-live h3 { color:var(--gf-house-ink); font-size:1rem; margin:0; }
.gf-house-teaching-live p { color:var(--gf-house-muted); font-size:.72rem; line-height:1.5; margin:0; }
.gf-house-teaching-live > div { display:flex; flex-wrap:wrap; gap:.35rem; }
.gf-house-teaching-live > div span,
.gf-house-teaching-live > div time { background:rgba(109,74,255,.08); border-radius:999px; color:var(--gf-house-ink); font-size:.59rem; font-weight:800; padding:.3rem .48rem; }
[data-gf-teaching-live-badge] { color:#22c79b; font-size:.6rem; }
.gf-house-live-video-fields,
.gf-house-live-form-grid { display:grid; gap:.65rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.gf-house-live-form-grid label:last-child { grid-column:1 / -1; }
.gf-house-live-question-builder { border:1px solid var(--gf-house-line); border-radius:14px; display:grid; gap:.65rem; padding:.7rem; }
.gf-house-live-question-builder__head { align-items:center; display:flex; gap:.5rem; justify-content:space-between; }
.gf-house-live-question-builder__head strong { color:var(--gf-house-ink); font-size:.72rem; }
.gf-house-live-question-builder__head button,
.gf-house-live-question-editor > header button { background:color-mix(in srgb,var(--gf-house-accent) 12%,transparent); border:1px solid color-mix(in srgb,var(--gf-house-accent) 35%,transparent); border-radius:9px; color:var(--gf-house-accent); font-size:.66rem; font-weight:800; padding:.42rem .55rem; }
[data-gf-live-question-list] { display:grid; gap:.65rem; }
.gf-house-live-question-editor { background:color-mix(in srgb,var(--gf-house-panel) 86%,var(--gf-house-accent) 5%); border:1px solid var(--gf-house-line); border-radius:12px; display:grid; gap:.55rem; padding:.65rem; }
.gf-house-live-question-editor > header { align-items:center; display:flex; justify-content:space-between; }
.gf-house-live-question-editor > header strong { color:var(--gf-house-accent); font-size:.7rem; }
.gf-house-live-question-options { display:grid; gap:.45rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.gf-house-live-question-options label { align-items:center; display:grid; grid-template-columns:24px minmax(0,1fr); }
.gf-house-live-question-options label span { align-items:center; background:var(--gf-house-accent); border-radius:50%; color:#fff; display:flex; height:22px; justify-content:center; width:22px; }
.gf-house-teaching-results { overflow-y:auto; }
.gf-house-results-summary { display:grid; gap:.45rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.gf-house-results-summary > span { background:color-mix(in srgb,var(--gf-house-accent) 10%,transparent); border:1px solid var(--gf-house-line); border-radius:11px; display:grid; padding:.55rem; }
.gf-house-results-summary small { color:var(--gf-house-muted); font-size:.56rem; }
.gf-house-results-summary strong { color:var(--gf-house-ink); font-size:1rem; }
.gf-house-results-list { display:grid; gap:.45rem; margin-top:.7rem; }
.gf-house-results-list article { align-items:center; border:1px solid var(--gf-house-line); border-radius:11px; display:grid; gap:.5rem; grid-template-columns:minmax(0,1fr) auto auto; padding:.6rem; }
.gf-house-results-list article div { display:grid; min-width:0; }
.gf-house-results-list article strong { color:var(--gf-house-ink); font-size:.7rem; }
.gf-house-results-list article small { color:var(--gf-house-muted); font-size:.6rem; }
.gf-house-live-stage { backdrop-filter:blur(18px); background:linear-gradient(145deg,color-mix(in srgb,var(--gf-house-accent) 86%,#10152c),color-mix(in srgb,var(--gf-house-cyan) 72%,#151b36)); border:1px solid rgba(255,255,255,.5); border-radius:22px; box-shadow:0 24px 70px rgba(8,12,34,.38); color:#fff; display:grid; gap:.8rem; inset:4.5% 50% auto auto; max-height:58%; overflow:auto; padding:1rem; position:absolute; transform:translateX(50%); width:min(720px,78%); z-index:90; }
.gf-house-live-stage[hidden] { display:none !important; }
.gf-house-live-stage > header { align-items:center; display:flex; justify-content:space-between; }
.gf-house-live-stage > header span { font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.gf-house-live-stage > header time { background:rgba(5,9,28,.45); border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:.82rem; font-variant-numeric:tabular-nums; font-weight:900; padding:.38rem .65rem; }
.gf-house-live-stage__video { display:grid; gap:.4rem; }
.gf-house-live-stage__video video { aspect-ratio:16/9; background:#050817; border:1px solid rgba(255,255,255,.22); border-radius:14px; max-height:340px; object-fit:contain; width:100%; }
.gf-house-live-stage__video p,
.gf-house-live-stage__status { color:rgba(255,255,255,.78); font-size:.7rem; margin:0; text-align:center; }
.gf-house-live-stage__question { display:grid; gap:.75rem; }
.gf-house-live-stage__question > small { color:rgba(255,255,255,.7); font-size:.64rem; font-weight:800; text-align:center; text-transform:uppercase; }
.gf-house-live-stage__question h2 { color:#fff; font-size:clamp(1.15rem,2.5vw,2rem); line-height:1.2; margin:0; text-align:center; text-wrap:balance; }
.gf-house-live-choices { display:grid; gap:.6rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.gf-house-live-choice { align-items:center; background:rgba(255,255,255,.12); border:2px solid rgba(255,255,255,.25); border-radius:15px; color:#fff; display:flex; gap:.65rem; min-height:62px; padding:.65rem; text-align:start; transition:transform .18s ease,background .18s ease,border-color .18s ease; }
.gf-house-live-choice:hover:not(:disabled) { background:rgba(255,255,255,.2); transform:translateY(-3px) scale(1.01); }
.gf-house-live-choice.is-selected { background:rgba(255,255,255,.27); border-color:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.12); transform:scale(1.02); }
.gf-house-live-choice > span { align-items:center; background:rgba(5,9,28,.38); border-radius:50%; display:flex; flex:0 0 36px; font-size:1rem; font-weight:900; height:36px; justify-content:center; }
.gf-house-live-choice > strong { font-size:.82rem; line-height:1.3; }
.gf-house-live-choice.is-true,
.gf-house-live-choice.is-false { border-radius:50%; flex-direction:column; justify-content:center; justify-self:center; min-height:130px; text-align:center; width:130px; }
.gf-house-live-choice.is-true { background:linear-gradient(145deg,#19aa76,#0a744e); }
.gf-house-live-choice.is-false { background:linear-gradient(145deg,#e45161,#9f2536); }
.gf-house-live-choice.is-true > span,
.gf-house-live-choice.is-false > span { background:rgba(255,255,255,.2); font-size:1.4rem; }
.gf-house-live-stage [data-gf-live-submit] { justify-self:center; }
.gf-house-live-stage__leave { background:transparent; border:0; color:rgba(255,255,255,.76); font-size:.66rem; justify-self:center; text-decoration:underline; }
.gf-house-live-stage[aria-busy="true"] { pointer-events:none; }
.gf-house-form-status {
    margin: 0;
    min-height: 1.2em;
}
.gf-house-form-status.is-error {
    color: #d24b61;
}
.gf-house-people-panel {
    left: 1rem;
    right: auto;
    width: 300px;
}
[dir="rtl"] .gf-house-people-panel {
    left: auto;
    right: 1rem;
}
.gf-house-people {
    display: grid;
    gap: 0.6rem;
    overflow-y: auto;
}
.gf-house-people > div {
    align-items: center;
    background: rgba(109, 74, 255, 0.05);
    border-radius: 12px;
    display: flex;
    gap: 0.65rem;
    padding: 0.55rem;
}
.gf-house-people > div > span {
    align-items: center;
    background: linear-gradient(135deg, #0442da, #13bfc8);
    border-radius: 50%;
    color: white;
    display: flex;
    flex: 0 0 38px;
    font-weight: 800;
    height: 38px;
    justify-content: center;
}
.gf-house-people p {
    display: grid;
    margin: 0;
}
.gf-house-people strong {
    font-size: 0.75rem;
}
.gf-house-people small {
    color: var(--gf-house-muted);
    font-size: 0.64rem;
}
.gf-house-chat {
    bottom: 1rem;
    left: 1rem;
    max-height: min(540px, calc(100% - 2rem));
    right: auto;
    top: auto;
    width: min(390px, calc(100% - 2rem));
}
[dir="rtl"] .gf-house-chat {
    left: auto;
    right: 1rem;
}
.gf-house-chat__messages {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 180px;
    overflow-y: auto;
    padding: 0.2rem;
}
.gf-chat-message {
    align-self: flex-start;
    background: rgba(109, 74, 255, 0.07);
    border-radius: 14px 14px 14px 4px;
    max-width: 88%;
    padding: 0.55rem 0.7rem;
}
[dir="rtl"] .gf-chat-message {
    border-radius: 14px 14px 4px 14px;
}
.gf-chat-message.is-mine {
    align-self: flex-end;
    background: rgba(19, 191, 200, 0.12);
    border-radius: 14px 14px 4px 14px;
}
.gf-chat-message strong {
    display: block;
    font-size: 0.65rem;
    margin-bottom: 0.15rem;
}
.gf-chat-message p {
    font-size: 0.75rem;
    margin: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.gf-chat-message time {
    color: var(--gf-house-muted);
    display: block;
    font-size: 0.56rem;
    margin-top: 0.25rem;
    text-align: end;
}
.gf-chat-message .gf-chat-report {
    border: 0;
    background: transparent;
    color: var(--gf-house-muted);
    cursor: pointer;
    font-size: 0.58rem;
    padding: 0;
    text-decoration: underline;
}
.gf-chat-message__attachment {
    align-items: center;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 9px;
    color: var(--gf-house-accent);
    display: flex;
    font-size: 0.68rem;
    gap: 0.35rem;
    margin-top: 0.35rem;
    overflow: hidden;
    padding: 0.4rem;
}
html.is_dark .gf-chat-message__attachment {
    background: rgba(255, 255, 255, 0.08);
}
.gf-chat-message__attachment img {
    border-radius: 8px;
    max-height: 170px;
    max-width: 100%;
}
.gf-house-chat__form {
    border-top: 1px solid var(--gf-house-line);
    display: grid;
    gap: 0.4rem;
    margin-top: 0.6rem;
    padding-top: 0.6rem;
}
.gf-house-chat__form textarea {
    resize: none;
    width: 100%;
}
.gf-house-chat__form > div {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.gf-chat-attachment {
    color: var(--gf-house-muted);
    cursor: pointer;
    font-size: 0.7rem;
}
.gf-chat-attachment input {
    display: none;
}
.gf-house-chat__form button {
    align-items: center;
    background: var(--gf-house-accent);
    border: 0;
    border-radius: 10px;
    color: white;
    display: flex;
    height: 37px;
    justify-content: center;
    width: 42px;
}
.gf-house-chat__form > small {
    color: var(--gf-house-muted);
    font-size: 0.62rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* House avatars reuse the exact campus avatar rig and equipped cosmetics. */
.gf-house-avatars { inset: 0; pointer-events: none; position: absolute; }
.gf-house-stage .gf-avatar-actor { pointer-events: none; width: clamp(54px, 5.4vw, 88px); }
.gf-house-stage .gf-avatar-actor[data-current="false"] { opacity: .98; width: clamp(50px, 4.8vw, 76px); }
.gf-house-stage .gf-avatar-nameplate { background: rgba(18,20,44,.82); border-color: rgba(255,255,255,.22); color: #fff; }
.gf-house-stage:focus-visible { outline: 3px solid #64dce5; outline-offset: 3px; }
.gf-house-stage.is-avatar-moving { cursor: crosshair; }

/* The campus Avatar Studio stays available without leaving the live house. */
.gf-house-avatar-studio-panel { --gf-line:rgba(255,255,255,.14); --gf-muted:#aeb7d3; --gf-violet:#7c5cff; --gf-cyan:#25c6da; --gf-gold:#ffc857; background:linear-gradient(145deg,rgba(31,38,83,.98),rgba(13,17,43,.99)); bottom:1rem; color:#fff; left:1rem; max-height:none; padding:1rem; position:fixed; right:1rem; top:1rem; width:auto; z-index:12000; }
[dir="rtl"] .gf-house-avatar-studio-panel { left:1rem; right:1rem; }
.gf-house-avatar-studio-panel > header { border-color:var(--gf-line); flex:0 0 auto; }
.gf-house-avatar-studio-panel > header h2 { color:#fff; }
.gf-house-avatar-studio-panel > header button { background:rgba(255,255,255,.1); color:#fff; }
.gf-house-room-page.gf-house-studio-open .main_wrapper { z-index:12001; }
.gf-house-avatar-studio-panel__body { flex:1; min-height:0; overflow:auto; padding:.25rem; }
.gf-house-avatar-studio-panel .gf-avatar-studio { display:grid; gap:20px; grid-template-areas:"preview collection" "appearance collection"; grid-template-columns:minmax(250px,.72fr) minmax(430px,1.28fr); }
.gf-house-avatar-studio-panel .gf-avatar-studio-preview { grid-area:preview; margin:0; }
.gf-house-avatar-studio-panel .gf-avatar-appearance { grid-area:appearance; margin:0; }
.gf-house-avatar-studio-panel .gf-avatar-collection { grid-area:collection; }

/* Furniture is constructed from layered DOM parts; no thumbnail or emoji is used. */
.gf-furniture-visual { align-items: center; display: flex; height: 100%; justify-content: center; min-height: 0; width: 100%; }
.gf-furniture-object { --gf-object-1: #8f5b3a; --gf-object-2: #d6a16d; --gf-object-3: #f5d3a3; --gf-object-aspect:1.15; aspect-ratio:var(--gf-object-aspect); display:block; filter:drop-shadow(0 9px 6px rgba(35,30,45,.24)); height:min(92%,118px); max-width:170px; min-height:32px; position:relative; transform:rotateX(1deg); transform-origin:50% 90%; width:auto; }
.gf-furniture-object__part,
.gf-furniture-object__shadow { display: none; position: absolute; }
.gf-furniture-object__shadow { background: rgba(28,25,38,.23); border-radius: 50%; bottom: 1%; display: block; filter: blur(3px); height: 12%; left: 12%; width: 76%; }
.gf-placed-furniture .gf-furniture-visual { bottom:0; flex:1; font-size:inherit; height:clamp(58px,calc(100% + 2.4vw),150px); max-height:none; min-height:58px; position:absolute; width:100%; }
.gf-placed-furniture .gf-furniture-object { height:92%; max-height:100%; max-width:92%; min-height:0; width:auto; }
.gf-inventory-item > .gf-furniture-visual { overflow: hidden; padding: 3px; }
.gf-inventory-item .gf-furniture-object { height:39px; max-width:43px; min-height:0; width:auto; }
.gf-store-card--furniture .gf-furniture-visual { filter: none; font-size: inherit; height: 145px; width: min(86%, 190px); }
.gf-store-card--furniture .gf-furniture-object { height:min(90%,132px); max-width:94%; width:auto; }

/* Seating: recognizable backs, cushions, arms and legs. */
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--1 { background: linear-gradient(145deg, var(--gf-object-3), var(--gf-object-2)); border: 3px solid var(--gf-object-1); border-radius: 25% 25% 12% 12%; display: block; height: 49%; left: 25%; top: 12%; width: 50%; }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--2 { background: var(--gf-object-2); border: 3px solid var(--gf-object-1); border-radius: 22% 22% 13% 13%; bottom: 22%; display: block; height: 25%; left: 19%; width: 62%; }
.gf-furniture-object[data-kind="seating"] :is(.gf-furniture-object__part--3,.gf-furniture-object__part--4) { background: var(--gf-object-1); bottom: 7%; display: block; height: 22%; width: 8%; }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--3 { left: 27%; transform: rotate(5deg); }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--4 { right: 27%; transform: rotate(-5deg); }
.gf-furniture-object[data-object="sofa"] .gf-furniture-object__part--1,
.gf-furniture-object[data-object="velvet_sectional"] .gf-furniture-object__part--1,
.gf-furniture-object[data-object="floating_sofa"] .gf-furniture-object__part--1 { border-radius: 22px 22px 8px 8px; height: 44%; left: 8%; top: 19%; width: 84%; }
.gf-furniture-object[data-object="sofa"] .gf-furniture-object__part--2,
.gf-furniture-object[data-object="velvet_sectional"] .gf-furniture-object__part--2,
.gf-furniture-object[data-object="floating_sofa"] .gf-furniture-object__part--2 { left: 5%; width: 90%; }
.gf-furniture-object[data-object="sofa"] .gf-furniture-object__part--5,
.gf-furniture-object[data-object="velvet_sectional"] .gf-furniture-object__part--5,
.gf-furniture-object[data-object="floating_sofa"] .gf-furniture-object__part--5 { border-inline: 3px solid var(--gf-object-1); display: block; height: 23%; left: 49%; top: 32%; }
.gf-furniture-object[data-object="velvet_sectional"] { --gf-object-1: #4b235d; --gf-object-2: #874b9d; --gf-object-3: #bb78c9; }
.gf-furniture-object[data-object="rattan_chair"] { --gf-object-1: #8b5d34; --gf-object-2: #c69a5d; --gf-object-3: #e8c890; }
.gf-furniture-object[data-object="floating_sofa"] { --gf-object-1: #5464a8; --gf-object-2: #8ae3f0; --gf-object-3: #e7fcff; animation: gf-object-float 2.8s ease-in-out infinite; }

/* Desks and tables include tops, legs and a real monitor/work surface. */
.gf-furniture-object[data-kind="tables"] .gf-furniture-object__part--1,
.gf-furniture-object[data-kind="study"] .gf-furniture-object__part--1 { background: linear-gradient(#d7a066, #8b5535); border: 3px solid #694029; border-radius: 50% 50% 14% 14%; display: block; height: 18%; left: 8%; top: 48%; width: 84%; }
.gf-furniture-object[data-kind="tables"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3),
.gf-furniture-object[data-kind="study"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3) { background: #71452d; bottom: 9%; display: block; height: 31%; width: 9%; }
.gf-furniture-object[data-kind="tables"] .gf-furniture-object__part--2,
.gf-furniture-object[data-kind="study"] .gf-furniture-object__part--2 { left: 19%; }
.gf-furniture-object[data-kind="tables"] .gf-furniture-object__part--3,
.gf-furniture-object[data-kind="study"] .gf-furniture-object__part--3 { right: 19%; }
.gf-furniture-object[data-object="desk"] .gf-furniture-object__part--4,
.gf-furniture-object[data-object="smart_glass_desk"] .gf-furniture-object__part--4,
.gf-furniture-object[data-object="maker_table"] .gf-furniture-object__part--4 { background: linear-gradient(145deg, #263452, #10172a); border: 3px solid #69799a; border-radius: 6px; display: block; height: 37%; left: 31%; top: 9%; width: 42%; }
.gf-furniture-object[data-object="desk"] .gf-furniture-object__part--4::after,
.gf-furniture-object[data-object="smart_glass_desk"] .gf-furniture-object__part--4::after,
.gf-furniture-object[data-object="maker_table"] .gf-furniture-object__part--4::after { background: linear-gradient(135deg, #6de5ff, #776dff); border-radius: 3px; content: ""; inset: 10%; position: absolute; }
.gf-furniture-object[data-object="desk"] .gf-furniture-object__part--5,
.gf-furniture-object[data-object="smart_glass_desk"] .gf-furniture-object__part--5,
.gf-furniture-object[data-object="maker_table"] .gf-furniture-object__part--5 { background: #53617d; display: block; height: 10%; left: 49%; top: 43%; width: 5%; }
.gf-furniture-object[data-object="smart_glass_desk"] { --gf-object-1: #2c85a2; --gf-object-2: #7be6f0; }
.gf-furniture-object[data-object="smart_glass_desk"] .gf-furniture-object__part--1 { background: rgba(102,231,244,.62); border-color: #58bfd5; }
.gf-furniture-object[data-object="coffee_table"] .gf-furniture-object__part--1 { border-radius: 50%; height: 25%; left: 17%; top: 44%; width: 66%; }
.gf-furniture-object[data-object="dining_table"] .gf-furniture-object__part--4,
.gf-furniture-object[data-object="bistro_set"] .gf-furniture-object__part--4 { background: #f7efe4; border: 2px solid #afa28e; border-radius: 50%; display: block; height: 17%; left: 41%; top: 40%; width: 18%; }

/* Shelves and storage show cabinet depth, shelves and books. */
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--1 { background: linear-gradient(90deg, #57351f, #94603b 12% 88%, #57351f); border: 3px solid #4b2d1c; border-radius: 8px 8px 3px 3px; display: block; height: 80%; left: 17%; top: 7%; width: 66%; }
.gf-furniture-object[data-kind="storage"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3,.gf-furniture-object__part--4) { background: #4b2d1c; display: block; height: 5%; left: 20%; width: 60%; }
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--2 { top: 29%; }
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--3 { top: 51%; }
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--4 { top: 73%; }
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--5 { background: repeating-linear-gradient(90deg, #d65b51 0 9%, #f2c456 10% 19%, #4c92c8 20% 29%, #8a66b8 30% 39%); display: block; height: 55%; left: 24%; top: 17%; width: 52%; }
.gf-furniture-object[data-object="arched_bookcase"] .gf-furniture-object__part--1 { border-radius: 45% 45% 4px 4px; }
.gf-furniture-object[data-object="library_ladder"] .gf-furniture-object__part--6 { border-inline: 4px solid #c99554; border-top: 3px solid #c99554; display: block; height: 73%; left: 57%; top: 14%; transform: rotate(8deg); width: 21%; }
.gf-furniture-object[data-object="dragon_library"] { --gf-object-1: #211d2a; filter: drop-shadow(0 0 10px rgba(136,86,255,.5)); }

/* Rugs and wall decor remain physical, textured objects. */
.gf-furniture-object[data-object="rug"] .gf-furniture-object__part--1 { background: repeating-linear-gradient(45deg, #c35258 0 9%, #f0c46f 10% 18%, #4c82a8 19% 27%); border: 5px solid #76383c; border-radius: 50%; bottom: 11%; display: block; height: 46%; left: 6%; transform: perspective(80px) rotateX(52deg); width: 88%; }
.gf-furniture-object[data-object="wall_clock"] .gf-furniture-object__part--1 { background: #f7ebcf; border: 6px solid #6d4930; border-radius: 50%; display: block; height: 62%; left: 25%; top: 13%; width: 50%; }
.gf-furniture-object[data-object="wall_clock"] .gf-furniture-object__part--2 { background: #49311f; display: block; height: 22%; left: 49%; top: 28%; transform: rotate(35deg); transform-origin: bottom; width: 3%; }
.gf-furniture-object[data-object="room_divider"] .gf-furniture-object__part--1 { background: repeating-linear-gradient(90deg, #b98653 0 5%, #e3c18e 6% 13%); border: 5px solid #79502f; display: block; height: 76%; left: 13%; top: 8%; width: 74%; }
.gf-furniture-object[data-object="celestial_orrery"] .gf-furniture-object__part--1 { border: 5px solid #d7ae45; border-radius: 50%; display: block; height: 68%; left: 19%; top: 8%; transform: rotate(-14deg); width: 62%; }
.gf-furniture-object[data-object="celestial_orrery"] .gf-furniture-object__part--2 { background: #6e64d9; border-radius: 50%; box-shadow: 33px 8px 0 -3px #e7a952, -23px 20px 0 -5px #6acbd0; display: block; height: 18%; left: 41%; top: 33%; width: 18%; }

/* Lights have a stand or suspension plus a luminous shade. */
.gf-furniture-object[data-kind="lighting"] .gf-furniture-object__part--1 { background: #5c4d42; bottom: 11%; display: block; height: 60%; left: 48%; width: 5%; }
.gf-furniture-object[data-kind="lighting"] .gf-furniture-object__part--2 { background: radial-gradient(circle at 50% 70%, #fffbd1, #ffd66e 55%, #b77b38); border-radius: 50% 50% 20% 20%; box-shadow: 0 0 18px rgba(255,221,118,.82); display: block; height: 37%; left: 30%; top: 7%; width: 40%; }
.gf-furniture-object[data-kind="lighting"] .gf-furniture-object__part--3 { background: #594b41; border-radius: 50%; bottom: 8%; display: block; height: 8%; left: 34%; width: 32%; }
.gf-furniture-object[data-object="pendant_light"] .gf-furniture-object__part--1,
.gf-furniture-object[data-object="starlight_chandelier"] .gf-furniture-object__part--1 { bottom: auto; height: 26%; top: 0; }
.gf-furniture-object[data-object="starlight_chandelier"] .gf-furniture-object__part--2 { clip-path: polygon(50% 0,61% 34%,98% 34%,68% 55%,79% 92%,50% 70%,21% 92%,32% 55%,2% 34%,39% 34%); }
.gf-furniture-object[data-object="cloud_lamp"] .gf-furniture-object__part--2 { background: #f8fbff; border-radius: 50%; box-shadow: -28px 7px 0 -8px #f8fbff, 28px 8px 0 -9px #eaf8ff, 0 0 24px #abddff; top: 22%; }

/* Plants have a pot, trunk and individual leafy crowns. */
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--1 { background: linear-gradient(90deg, #9f553b, #d47a55); border-radius: 10% 10% 40% 40%; bottom: 8%; display: block; height: 31%; left: 34%; width: 32%; }
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--2 { background: #5a6d35; bottom: 31%; display: block; height: 42%; left: 48%; width: 5%; }
.gf-furniture-object[data-kind="plants"] :is(.gf-furniture-object__part--3,.gf-furniture-object__part--4,.gf-furniture-object__part--5) { background: linear-gradient(145deg, #72b65b, #2f7247); border-radius: 70% 20% 70% 20%; display: block; height: 31%; top: 14%; width: 29%; }
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--3 { left: 26%; transform: rotate(-28deg); }
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--4 { right: 25%; transform: rotate(28deg) scaleX(-1); }
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--5 { left: 39%; top: 5%; transform: rotate(-4deg); }
.gf-furniture-object[data-object="moon_gate"] .gf-furniture-object__part--6 { border: 9px solid #879586; border-radius: 50%; display: block; height: 72%; left: 18%; top: 5%; width: 64%; }
.gf-furniture-object[data-object="world_tree"] .gf-furniture-object__part--1 { background: #765034; border-radius: 45% 45% 20% 20%; height: 48%; left: 43%; width: 14%; }
.gf-furniture-object[data-object="world_tree"] :is(.gf-furniture-object__part--3,.gf-furniture-object__part--4,.gf-furniture-object__part--5) { height: 48%; top: 0; width: 42%; }

/* Beds visibly include frame, mattress, pillow and optional canopy posts. */
.gf-furniture-object[data-kind="sleeping"] .gf-furniture-object__part--1 { background: #725039; border-radius: 9px; bottom: 14%; display: block; height: 38%; left: 7%; transform: perspective(90px) rotateX(18deg); width: 86%; }
.gf-furniture-object[data-kind="sleeping"] .gf-furniture-object__part--2 { background: linear-gradient(145deg, #f4e8d6, #aaceed); border: 4px solid #774f38; border-radius: 13px; bottom: 22%; display: block; height: 33%; left: 10%; width: 80%; }
.gf-furniture-object[data-kind="sleeping"] .gf-furniture-object__part--3 { background: #fff9ef; border-radius: 50%; display: block; height: 20%; left: 17%; top: 42%; width: 29%; }
.gf-furniture-object[data-object="four_poster_bed"] :is(.gf-furniture-object__part--4,.gf-furniture-object__part--5),
.gf-furniture-object[data-object="canopy_bed"] :is(.gf-furniture-object__part--4,.gf-furniture-object__part--5) { border-block: 5px solid #775039; display: block; height: 81%; top: 5%; width: 6%; }
.gf-furniture-object[data-object="four_poster_bed"] .gf-furniture-object__part--4,
.gf-furniture-object[data-object="canopy_bed"] .gf-furniture-object__part--4 { border-inline-start: 5px solid #775039; left: 8%; }
.gf-furniture-object[data-object="four_poster_bed"] .gf-furniture-object__part--5,
.gf-furniture-object[data-object="canopy_bed"] .gf-furniture-object__part--5 { border-inline-end: 5px solid #775039; right: 8%; }

/* Kitchens expose counters, cabinets, burners and appliances. */
.gf-furniture-object[data-kind="kitchen"] .gf-furniture-object__part--1 { background: linear-gradient(#ddd5c8 0 17%, #6c7b83 18%); border: 3px solid #4e5960; border-radius: 5px; bottom: 9%; display: block; height: 57%; left: 8%; width: 84%; }
.gf-furniture-object[data-kind="kitchen"] .gf-furniture-object__part--2 { background: repeating-linear-gradient(90deg, transparent 0 31%, #374047 32% 34%); display: block; height: 31%; left: 13%; top: 49%; width: 74%; }
.gf-furniture-object[data-kind="kitchen"] .gf-furniture-object__part--3 { background: radial-gradient(circle, #15191d 0 34%, #92999d 36% 60%, transparent 62%); display: block; height: 23%; left: 18%; top: 30%; width: 64%; }

/* Music objects are instruments, not icons. */
.gf-furniture-object[data-kind="music"] .gf-furniture-object__part--1 { background: linear-gradient(145deg, #2f2421, #09090d); border: 3px solid #665044; border-radius: 65% 12% 12% 28%; bottom: 21%; display: block; height: 48%; left: 10%; width: 80%; }
.gf-furniture-object[data-kind="music"] .gf-furniture-object__part--2 { background: repeating-linear-gradient(90deg, #f5f1e9 0 8%, #18191d 9% 12%); border: 3px solid #32271f; bottom: 20%; display: block; height: 18%; left: 31%; transform: skewX(-16deg); width: 57%; }
.gf-furniture-object[data-kind="music"] :is(.gf-furniture-object__part--3,.gf-furniture-object__part--4) { background: #2e241f; bottom: 7%; display: block; height: 18%; width: 6%; }
.gf-furniture-object[data-kind="music"] .gf-furniture-object__part--3 { left: 33%; }
.gf-furniture-object[data-kind="music"] .gf-furniture-object__part--4 { right: 20%; }
.gf-furniture-object[data-object="concert_harp"] .gf-furniture-object__part--1 { background: transparent; border: 7px solid #c6923c; border-inline-end-width: 16px; border-radius: 80% 12% 30% 30%; height: 76%; left: 22%; top: 7%; width: 55%; }
.gf-furniture-object[data-object="concert_harp"] .gf-furniture-object__part--2 { background: repeating-linear-gradient(90deg, #ead49b 0 2px, transparent 2px 7px); border: 0; height: 55%; left: 36%; top: 21%; transform: skewX(-9deg); width: 31%; }
.gf-furniture-object[data-object="record_station"] .gf-furniture-object__part--1 { border-radius: 6px; height: 50%; }
.gf-furniture-object[data-object="record_station"] .gf-furniture-object__part--2 { background: radial-gradient(circle, #d8515b 0 11%, #222 13% 55%, #555 57% 59%, #222 61%); border: 0; border-radius: 50%; height: 38%; left: 22%; top: 29%; transform: none; width: 31%; }

/* Technology has screens, projectors and enclosed holographic pods. */
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--1 { background: linear-gradient(145deg, #253149, #101522); border: 5px solid #52627b; border-radius: 8px; display: block; height: 55%; left: 12%; top: 12%; width: 76%; }
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--2 { background: linear-gradient(135deg, #5ceaff, #795fff 55%, #ff72c5); border-radius: 4px; display: block; height: 43%; left: 17%; top: 18%; width: 66%; }
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--3 { background: #52627b; bottom: 12%; display: block; height: 23%; left: 48%; width: 5%; }
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--4 { background: #52627b; border-radius: 50%; bottom: 9%; display: block; height: 7%; left: 34%; width: 32%; }
.gf-furniture-object[data-object="aurora"] .gf-furniture-object__part--2 { background: conic-gradient(from 30deg, #61ffd5, #7c68ff, #ff6dcc, #61ffd5); border-radius: 50%; filter: blur(2px); }
.gf-furniture-object[data-object="hologram_pod"] .gf-furniture-object__part--1 { background: rgba(99,220,242,.18); border: 5px solid #5ddbec; border-radius: 48% 48% 20% 20%; height: 80%; left: 23%; top: 4%; width: 54%; }
.gf-furniture-object[data-object="hologram_pod"] .gf-furniture-object__part--2 { border-radius: 50%; height: 36%; left: 33%; top: 23%; width: 34%; }

/* Feature and outdoor pieces retain physical mass, water, fire and seating. */
.gf-furniture-object[data-kind="feature"] .gf-furniture-object__part--1 { background: linear-gradient(145deg, #887264, #413b3b); border: 4px solid #393337; border-radius: 45% 45% 8px 8px; bottom: 8%; display: block; height: 71%; left: 15%; width: 70%; }
.gf-furniture-object[data-kind="feature"] .gf-furniture-object__part--2 { background: radial-gradient(ellipse at 50% 90%, #fff2a0 0 10%, #ff9b36 22% 47%, #d73d2f 49% 68%, transparent 70%); bottom: 14%; display: block; height: 49%; left: 31%; width: 38%; }
.gf-furniture-object[data-object="fountain"] .gf-furniture-object__part--1 { background: #b79569; border-radius: 50%; bottom: 8%; height: 29%; left: 8%; width: 84%; }
.gf-furniture-object[data-object="fountain"] .gf-furniture-object__part--2 { background: linear-gradient(90deg, transparent 30%, #72d8ee 31% 69%, transparent 70%); border-radius: 50% 50% 10% 10%; bottom: 22%; height: 62%; left: 26%; width: 48%; }
.gf-furniture-object[data-object="aquarium"] .gf-furniture-object__part--1 { background: linear-gradient(#7bd9ee 0 72%, #c6a36a 73%); border: 6px solid #425d67; border-radius: 9px; height: 65%; left: 7%; top: 13%; width: 86%; }
.gf-furniture-object[data-object="aquarium"] .gf-furniture-object__part--2 { background: #ffbd58; border-radius: 70% 30% 60% 40%; bottom: 37%; height: 15%; left: 34%; width: 23%; }
.gf-furniture-object[data-object="waterfall_wall"] .gf-furniture-object__part--1 { background: linear-gradient(90deg, #5b6265, #87dce8 18% 82%, #5b6265); border-radius: 5px; }
.gf-furniture-object[data-object="infinity_pool"] .gf-furniture-object__part--1 { background: linear-gradient(#89e7f4, #247ca8); border: 5px solid rgba(215,247,255,.9); border-radius: 7px; height: 61%; left: 4%; top: 16%; width: 92%; }
.gf-furniture-object[data-kind="outdoor"] .gf-furniture-object__part--1 { background: #9b704a; border: 4px solid #59402d; border-radius: 50%; bottom: 14%; display: block; height: 33%; left: 27%; width: 46%; }
.gf-furniture-object[data-kind="outdoor"] .gf-furniture-object__part--2 { background: radial-gradient(circle, #fff0a0 0 9%, #ff8838 26% 51%, #b93229 53% 68%, #3e3028 70%); border-radius: 50%; bottom: 19%; display: block; height: 25%; left: 34%; width: 32%; }
.gf-furniture-object[data-object="bistro_set"] .gf-furniture-object__part--2 { background: #70452d; border-radius: 0; bottom: 9%; height: 35%; left: 47%; width: 6%; }

/* Live house world: an open-front anime cutaway with the entire setting still visible. */
.gf-house-stage {
    --world-sky: linear-gradient(#8fdcff 0 58%, #eaf9ff 100%);
    --world-sun: #fff2a3;
    --world-horizon: #77a77b;
    --world-water: linear-gradient(#48c2df, #2589b4);
    --world-terrain: #72ad62;
    --world-landmark: #66807d;
    --world-path: #d8c18f;
    --world-roof: linear-gradient(145deg, #42576c, #26384d);
    --world-facade: #f6eee1;
    --world-water-opacity: 0;
    --world-plant-opacity: 1;
    background: #8fdcff;
    isolation: isolate;
}
.gf-house-world { background:var(--world-sky); inset:0; overflow:hidden; pointer-events:none; position:absolute; z-index:0; }
.gf-house-world__sky { background:radial-gradient(circle at 26% 22%,rgba(255,255,255,.75),transparent 20%),linear-gradient(125deg,rgba(255,255,255,.18),transparent 42%); inset:0; position:absolute; }
.gf-house-world__sun { background:var(--world-sun); border-radius:50%; box-shadow:0 0 0 10px rgba(255,241,159,.13),0 0 42px rgba(255,239,133,.78); height:clamp(42px,5vw,78px); position:absolute; right:9%; top:7%; width:clamp(42px,5vw,78px); }
.gf-house-world__cloud { --cloud-scale:1; background:rgba(255,255,255,.88); border-radius:999px; filter:drop-shadow(0 8px 8px rgba(61,103,136,.12)); height:18px; position:absolute; transform:scale(var(--cloud-scale)); width:82px; }
.gf-house-world__cloud::before,.gf-house-world__cloud::after { background:inherit; border-radius:50%; content:""; position:absolute; }
.gf-house-world__cloud::before { height:38px; left:14px; top:-19px; width:38px; }
.gf-house-world__cloud::after { height:29px; right:10px; top:-13px; width:29px; }
.gf-house-world__cloud--one { left:7%; top:12%; }
.gf-house-world__cloud--two { --cloud-scale:.7; left:42%; top:7%; }
.gf-house-world__cloud--three { --cloud-scale:1.15; right:18%; top:27%; }
.gf-house-world__horizon { background:var(--world-horizon); bottom:25%; clip-path:polygon(0 100%,0 55%,8% 37%,16% 64%,25% 20%,34% 58%,43% 31%,54% 70%,64% 23%,74% 55%,84% 17%,94% 54%,100% 40%,100% 100%); height:39%; inset-inline:0; opacity:.78; position:absolute; }
.gf-house-world__water { background:var(--world-water); bottom:0; height:32%; inset-inline:0; opacity:var(--world-water-opacity); position:absolute; }
.gf-house-world__water::after { background:repeating-linear-gradient(168deg,rgba(255,255,255,.5) 0 2px,transparent 3px 28px); content:""; inset:0; opacity:.5; position:absolute; }
.gf-house-world__terrain { background:var(--world-terrain); border-radius:50% 50% 0 0/35% 35% 0 0; bottom:-12%; box-shadow:inset 0 18px 0 rgba(255,255,255,.12); height:38%; left:-7%; position:absolute; transform:rotate(-1deg); width:114%; }
.gf-house-world__path { background:var(--world-path); bottom:-8%; clip-path:polygon(43% 0,57% 0,78% 100%,22% 100%); height:34%; left:31%; opacity:.9; position:absolute; width:38%; }
.gf-house-world__landmark { background:var(--world-landmark); bottom:24%; box-shadow:inset -8px 0 rgba(0,0,0,.1); position:absolute; }
.gf-house-world__landmark--one { clip-path:polygon(10% 100%,10% 34%,29% 34%,29% 5%,55% 5%,55% 48%,78% 48%,78% 19%,94% 19%,94% 100%); height:32%; left:-2%; width:25%; }
.gf-house-world__landmark--two { border-radius:55% 55% 8% 8%; height:19%; right:2%; transform:rotate(5deg); width:20%; }
.gf-house-world__landmark--three { border-radius:50%; bottom:31%; height:13%; right:23%; width:14%; }
.gf-house-world__plant { bottom:17%; height:24%; opacity:var(--world-plant-opacity); position:absolute; width:70px; }
.gf-house-world__plant::before { background:#725036; border-radius:50% 50% 12px 12px; bottom:0; content:""; height:72%; left:46%; position:absolute; transform:rotate(4deg); width:10%; }
.gf-house-world__plant::after { background:#4d9760; border-radius:80% 12% 80% 12%; box-shadow:-26px 10px #3c8052,22px 15px #6bad65,-14px -11px #66aa68,15px -8px #397a4e; content:""; height:42%; left:31%; position:absolute; top:0; transform:rotate(-18deg); width:38%; }
.gf-house-world__plant--one { left:2%; }
.gf-house-world__plant--two { right:2%; transform:scale(.85) scaleX(-1); }

.gf-house-scenery { background:linear-gradient(120deg,var(--house-wall),color-mix(in srgb,var(--house-wall) 84%,white)); border:4px solid color-mix(in srgb,var(--world-facade) 80%,#2f3545); border-bottom:0; border-radius:7px 7px 0 0; box-shadow:inset 0 0 45px rgba(67,52,44,.11),0 15px 42px rgba(26,34,47,.2); height:29%; inset:17% 8% auto; z-index:4; }
.gf-house-stage .gf-house-window { height:76%; top:12%; }
.gf-house-stage .gf-house-door { bottom:0; height:82%; }
.gf-house-stage .gf-house-wall-feature { height:52%; top:27%; }
.gf-house-floor { border:4px solid color-mix(in srgb,var(--world-facade) 74%,#3b3c46); border-top-width:7px; border-radius:0 0 10px 10px; bottom:7%; box-shadow:0 22px 35px rgba(22,31,43,.33),inset 0 0 48px rgba(89,62,39,.09); height:47%; inset-inline:8%; z-index:5; }
.gf-house-cutaway { inset:0; pointer-events:none; position:absolute; z-index:12; }
.gf-house-cutaway__roof { background:var(--world-roof); clip-path:polygon(50% 0,100% 82%,94% 100%,6% 100%,0 82%); filter:drop-shadow(0 12px 8px rgba(28,36,48,.3)); height:12%; left:6%; position:absolute; top:7%; width:88%; }
.gf-house-cutaway__roof-detail { border:3px solid rgba(255,255,255,.24); border-bottom:0; clip-path:polygon(50% 0,100% 100%,0 100%); height:8%; left:20%; position:absolute; top:5.5%; width:60%; }
.gf-house-cutaway__pillar { background:linear-gradient(90deg,color-mix(in srgb,var(--world-facade) 72%,#59606d),var(--world-facade),color-mix(in srgb,var(--world-facade) 78%,#3b4050)); bottom:6%; box-shadow:0 8px 12px rgba(24,30,42,.22); height:78%; position:absolute; width:clamp(12px,1.4vw,24px); }
.gf-house-cutaway__pillar--left { left:7%; }
.gf-house-cutaway__pillar--right { right:7%; }
.gf-house-cutaway__deck { background:linear-gradient(var(--world-facade),color-mix(in srgb,var(--world-facade) 72%,#4b5060)); bottom:5%; box-shadow:0 9px 16px rgba(20,29,40,.32); height:3%; left:6%; position:absolute; width:88%; }
.gf-house-cutaway__steps { background:var(--world-facade); bottom:2%; box-shadow:0 5px 0 color-mix(in srgb,var(--world-facade) 70%,#515666),0 10px 0 color-mix(in srgb,var(--world-facade) 55%,#515666); height:2%; left:42%; width:16%; position:absolute; }
.gf-house-avatars { z-index:20; }

/* Full-world palettes: every seeded home has a distinct place, climate and facade. */
.gf-house-stage[data-scene="city_loft"] { --world-sky:linear-gradient(#587ca6,#bed5df);--world-horizon:#34495e;--world-terrain:#59636c;--world-landmark:#2f3e50;--world-path:#353a40;--world-roof:linear-gradient(#353b44,#1e252e);--world-facade:#7b4c3e;--world-plant-opacity:0; }
.gf-house-stage[data-scene="sunlit_studio"] { --world-sky:linear-gradient(145deg,#ffd98c,#bfeeff);--world-horizon:#86b96c;--world-terrain:#9ac778;--world-roof:linear-gradient(145deg,#e7bc73,#c78955);--world-facade:#fff6df; }
.gf-house-stage[data-scene="suburban_townhouse"] { --world-sky:linear-gradient(#8dd3f7,#eaf8ff);--world-horizon:#769665;--world-terrain:#70a85f;--world-path:#b9b9b3;--world-roof:linear-gradient(#536b81,#34495e);--world-facade:#ead5bd; }
.gf-house-stage[data-scene="meadow_cottage"] { --world-sky:linear-gradient(#9ddcff,#fff1c4);--world-horizon:#6da155;--world-terrain:radial-gradient(circle,#efcf63 0 3px,transparent 4px),#79b65c;--world-path:#cbb47c;--world-roof:repeating-linear-gradient(90deg,#805238 0 13px,#9d6843 14px 26px);--world-facade:#dbc29a; }
.gf-house-stage[data-scene="forest_cabin"] { --world-sky:linear-gradient(#7fb6ad,#dce7d2);--world-horizon:#315a44;--world-terrain:#294c3b;--world-landmark:#214335;--world-path:#77543c;--world-roof:linear-gradient(#263b33,#182920);--world-facade:#744b34; }
.gf-house-stage[data-scene="alpine_chalet"] { --world-sky:linear-gradient(#8fc9ef,#f4f9ff);--world-horizon:#9cb2c0;--world-terrain:linear-gradient(155deg,#eef7fb 0 54%,#b7cad5 55%);--world-landmark:#dce8ef;--world-path:#d3dce0;--world-roof:linear-gradient(#563d31 0 72%,#f3f7fa 73%);--world-facade:#d5b28f; }
.gf-house-stage[data-scene="lakeside_lodge"] { --world-sky:linear-gradient(#83cae7,#e7f4ed);--world-horizon:#416c58;--world-water:linear-gradient(#67c5d4,#2f819b);--world-water-opacity:1;--world-terrain:#4f7652;--world-path:#826044;--world-roof:linear-gradient(#40534a,#273d35);--world-facade:#815b3d; }
.gf-house-stage[data-scene="mediterranean_townhome"] { --world-sky:linear-gradient(#55c6f2,#e8fbff);--world-horizon:#9cb26d;--world-water:linear-gradient(#38bfdc,#147fae);--world-water-opacity:1;--world-terrain:#d9c481;--world-path:#eee3bd;--world-roof:repeating-linear-gradient(90deg,#318dbb 0 14px,#51acd0 15px 28px);--world-facade:#f8f4e8; }
.gf-house-stage[data-scene="garden_villa"] { --world-sky:linear-gradient(#f4cda9,#dff2fb);--world-horizon:#638a55;--world-terrain:radial-gradient(circle,#f7d36d 0 3px,transparent 4px),#66a45b;--world-path:#d1b68b;--world-roof:linear-gradient(#617963,#405746);--world-facade:#eee2cb; }
.gf-house-stage[data-scene="kyoto_machiya"] { --world-sky:linear-gradient(#ebb5b6,#f7e9d6);--world-horizon:#7e8b59;--world-terrain:#718154;--world-path:#b7aa8a;--world-roof:repeating-linear-gradient(90deg,#29272c 0 10px,#403b40 11px 21px);--world-facade:#44362f; }
.gf-house-stage[data-scene="tuscan_farmhouse"] { --world-sky:linear-gradient(#efb777,#fae5b8);--world-horizon:#848d4c;--world-terrain:repeating-linear-gradient(100deg,#858c48 0 13px,#a69b54 14px 29px);--world-path:#c3935f;--world-roof:repeating-linear-gradient(90deg,#984d33 0 11px,#b86743 12px 23px);--world-facade:#c7a272; }
.gf-house-stage[data-scene="tropical_bungalow"] { --world-sky:linear-gradient(#60d4f0,#dcfbef);--world-horizon:#4a9776;--world-water:linear-gradient(#3cc3d5,#168eac);--world-water-opacity:1;--world-terrain:#ead28a;--world-path:#c9a86b;--world-roof:repeating-linear-gradient(90deg,#62402b 0 5px,#815838 6px 11px);--world-facade:#e7c894; }
.gf-house-stage[data-scene="desert_oasis"] { --world-sky:linear-gradient(#ffb866,#ffe5ba);--world-horizon:#c67e40;--world-water:linear-gradient(#4bc9c5,#258d9e);--world-water-opacity:.45;--world-terrain:linear-gradient(165deg,#e5ab61,#bd743c);--world-path:#efc47f;--world-roof:linear-gradient(#bd754c,#924b38);--world-facade:#d8aa6d; }
.gf-house-stage[data-scene="azure_beach"] { --world-sky:linear-gradient(#55d5f5 0 56%,#d9fbff);--world-horizon:#36a1ad;--world-water:linear-gradient(#3dcce4,#188cb8);--world-water-opacity:1;--world-terrain:#f1d38b;--world-path:#f6e2af;--world-roof:linear-gradient(145deg,#ff718d,#d84869);--world-facade:#fff9ef; }
.gf-house-stage[data-scene="cliffside_villa"] { --world-sky:linear-gradient(#70c1ec,#e5f4f4);--world-horizon:#4e5960;--world-water:linear-gradient(#269cbd,#176988);--world-water-opacity:1;--world-terrain:linear-gradient(145deg,#666064,#3d3b43);--world-path:#8f8982;--world-roof:linear-gradient(#39414b,#20262e);--world-facade:#dad9d5;--world-plant-opacity:.25; }
.gf-house-stage[data-scene="glass_treehouse"] { --world-sky:linear-gradient(#70c1c4,#dcefd0);--world-horizon:#315e47;--world-terrain:#244738;--world-landmark:#416e50;--world-path:#73543c;--world-roof:radial-gradient(circle,#5d8d69,#315a43);--world-facade:#4d7358; }
.gf-house-stage[data-scene="skyline_penthouse"] { --world-sky:linear-gradient(#25255f,#0d142e);--world-sun:#f3efff;--world-horizon:#151d3a;--world-terrain:#11172c;--world-landmark:#222d50;--world-path:#242a40;--world-roof:linear-gradient(#7886a4,#343e58);--world-facade:#2e3855;--world-plant-opacity:0; }
.gf-house-stage[data-scene="private_island"] { --world-sky:linear-gradient(#52c7ed,#e8fcff);--world-horizon:#3295a1;--world-water:linear-gradient(#35c7de,#167ea9);--world-water-opacity:1;--world-terrain:radial-gradient(ellipse,#63ad5c 0 45%,#f0d68d 46% 72%,transparent 73%);--world-path:#f4dda4;--world-roof:linear-gradient(145deg,#ff8c75,#ef5367);--world-facade:#fff9e9; }
.gf-house-stage[data-scene="aurora_palace"] { --world-sky:linear-gradient(145deg,#121632,#255e75 50%,#62dfb0);--world-sun:#d6efff;--world-horizon:#74cdbf;--world-terrain:linear-gradient(145deg,#d8f5f7,#789eaf);--world-landmark:#bce8ed;--world-path:#d5edf2;--world-roof:linear-gradient(145deg,#79e2dc,#6956bd);--world-facade:#c9e7ef;--world-plant-opacity:0; }
.gf-house-stage[data-scene="floating_sky_villa"] { --world-sky:linear-gradient(145deg,#8580df,#b6e0f5 68%,#f8fdff);--world-sun:#fff8d5;--world-horizon:rgba(255,255,255,.75);--world-terrain:radial-gradient(ellipse,#fff 0 44%,#c7dce8 45% 58%,transparent 59%);--world-landmark:#eaf8ff;--world-path:#d4e8ef;--world-roof:linear-gradient(145deg,#6d63c6,#56c9d1);--world-facade:#e1e9f3;--world-plant-opacity:.3; }

.gf-house-stage[data-scene="canal_palazzo"] { --house-wall:#d78f70;--house-floor:#b87a55;--house-floor-texture:repeating-linear-gradient(90deg,rgba(91,44,44,.2) 0 3px,transparent 4px 68px);--house-view:linear-gradient(#e69b78 0 46%,#4bb1c6 47% 77%,#725070 78%);--house-trim:#f4d7b1;--house-door:#6d3544;--house-accent:#f2cb72;--world-sky:linear-gradient(#f3a27b,#71558f);--world-sun:#ffd98c;--world-horizon:#664d70;--world-water:linear-gradient(#55b9c9,#275c7f);--world-water-opacity:1;--world-terrain:#b17e58;--world-landmark:#75485a;--world-path:#ca9d69;--world-roof:#6d3446;--world-facade:#dc9270; }
.gf-house-stage[data-scene="lighthouse_cliff"] { --house-wall:#f5ead4;--house-floor:#c4ac89;--house-view:linear-gradient(#8edcf2 0 52%,#2889a8 53% 78%,#67745e 79%);--house-trim:#d95b50;--house-door:#2f4b5c;--house-accent:#d7534a;--world-sky:linear-gradient(#77cde9,#f0f7e8);--world-horizon:#657867;--world-water:linear-gradient(#4bb5d1,#236e91);--world-water-opacity:1;--world-terrain:linear-gradient(150deg,#899078,#4d5b50);--world-landmark:#56665a;--world-path:#cbb990;--world-roof:#2c4351;--world-facade:#f4ead8;--world-plant-opacity:.35; }
.gf-house-stage[data-scene="greenhouse_atrium"] { --house-wall:rgba(222,244,225,.9);--house-floor:#b9c79a;--house-floor-texture:radial-gradient(circle,#5c9f61 0 3px,transparent 4px);--house-view:linear-gradient(#9bdbf2 0 47%,#62ad66 48%);--house-trim:#5e9279;--house-door:#4e7d67;--house-accent:#e9a95c;--world-sky:linear-gradient(#a3dcfa,#eaf6d2);--world-horizon:#5b9462;--world-terrain:radial-gradient(circle,#f5cf5f 0 3px,transparent 4px),#66aa64;--world-landmark:#477b55;--world-path:#cbbf8a;--world-roof:linear-gradient(rgba(114,211,190,.72),#4f8d74);--world-facade:#d8ead9; }
.gf-house-stage[data-scene="windmill_hill"] { --house-wall:#ead5a7;--house-floor:#b98554;--house-floor-texture:repeating-linear-gradient(90deg,#8e603d 0 4px,transparent 5px 70px);--house-view:linear-gradient(#92d5ed 0 45%,#d8aa51 46%);--house-trim:#76503b;--house-door:#724630;--house-accent:#d09d4b;--world-sky:linear-gradient(#89d1f0,#fff0c7);--world-horizon:#b78b41;--world-terrain:repeating-linear-gradient(105deg,#c79643 0 12px,#e4ba5c 13px 28px);--world-landmark:#8e6a38;--world-path:#d7c18b;--world-roof:#70432f;--world-facade:#ead5aa; }
.gf-house-stage[data-scene="sakura_castle_island"] { --house-wall:#efe0df;--house-floor:#bc9d80;--house-floor-texture:repeating-linear-gradient(90deg,rgba(88,55,72,.2) 0 2px,transparent 3px 65px);--house-view:linear-gradient(#efbad1 0 45%,#599eaf 46% 72%,#779a75 73%);--house-trim:#4f3d61;--house-door:#50384b;--house-accent:#e86e91;--world-sky:linear-gradient(#efb8d1,#b8e0f3);--world-horizon:#82947e;--world-water:linear-gradient(#6cb8c8,#3b778f);--world-water-opacity:1;--world-terrain:radial-gradient(circle,#ef8cab 0 4px,transparent 5px),#72a376;--world-landmark:#7b5b72;--world-path:#c2ae92;--world-roof:#503b64;--world-facade:#f4e4e2; }
.gf-house-stage[data-scene="redwood_canopy_village"] { --house-wall:#80543b;--house-floor:#694832;--house-floor-texture:repeating-linear-gradient(90deg,#4d3327 0 4px,transparent 5px 68px);--house-view:linear-gradient(#70b0a3 0 39%,#2f654d 40%);--house-trim:#c2945d;--house-door:#513426;--house-accent:#e0a85a;--world-sky:linear-gradient(#6aa99c,#d4eccf);--world-horizon:#274e3d;--world-terrain:#1f4034;--world-landmark:#75462f;--world-path:#93633f;--world-roof:#305443;--world-facade:#8b593b; }
.gf-house-stage[data-scene="nile_garden_citadel"] { --house-wall:#e5c687;--house-floor:#c29960;--house-floor-texture:radial-gradient(circle at 50% 0,rgba(255,237,179,.34),transparent 60%);--house-view:linear-gradient(#78cbea 0 46%,#3da9c1 47% 72%,#64a276 73%);--house-trim:#f4dfaa;--house-door:#8a5b38;--house-accent:#318889;--world-sky:linear-gradient(#78cdec,#f7dfaa);--world-horizon:#6b9b76;--world-water:linear-gradient(#48b4cd,#267ea2);--world-water-opacity:1;--world-terrain:#d3aa63;--world-landmark:#aa7a4a;--world-path:#e2c58b;--world-roof:#c79759;--world-facade:#e4c385; }
.gf-house-stage[data-scene="waterfall_temple"] { --house-wall:#825b41;--house-floor:#72523a;--house-floor-texture:repeating-linear-gradient(90deg,#503c2f 0 4px,transparent 5px 74px);--house-view:linear-gradient(#76c2aa 0 41%,#72d6df 42% 64%,#315a47 65%);--house-trim:#3b4c42;--house-door:#51372d;--house-accent:#df7451;--world-sky:linear-gradient(#83c9b4,#d8edde);--world-horizon:#315a48;--world-water:linear-gradient(90deg,transparent 0 39%,#8ce8eb 40% 59%,transparent 60%);--world-water-opacity:1;--world-terrain:linear-gradient(145deg,#315b47,#1f4035);--world-landmark:#244b3a;--world-path:#9e8061;--world-roof:#34473e;--world-facade:#a1724f; }
.gf-house-stage[data-scene="arctic_research_dome"] { --house-wall:#d8edf0;--house-floor:#91acb7;--house-floor-texture:linear-gradient(145deg,rgba(255,255,255,.38),transparent);--house-view:linear-gradient(#718fb8 0 48%,#cce9ef 49% 75%,#7396aa 76%);--house-trim:#84c6d2;--house-door:#4e6d86;--house-accent:#ef9a58;--world-sky:linear-gradient(#6f91bd,#d9edf4);--world-sun:#dbefff;--world-horizon:#9fb8c3;--world-terrain:linear-gradient(145deg,#e9f7f9,#7e9fab);--world-landmark:#c9e6eb;--world-path:#c7dce1;--world-roof:linear-gradient(rgba(151,231,235,.78),#679fae);--world-facade:#d7e8ea;--world-plant-opacity:0; }
.gf-house-stage[data-scene="crystal_cavern_estate"] { --house-wall:#372e55;--house-floor:#29243f;--house-floor-texture:conic-gradient(from 45deg,rgba(127,235,228,.16),transparent,#845bc7,transparent);--house-view:radial-gradient(circle,#99f5ed 0 8%,#7757b1 36%,#17182e 74%);--house-trim:#8f72cc;--house-door:#443269;--house-accent:#7ce9e4;--world-sky:radial-gradient(circle at 50% 8%,#7d59a4,#17182f 68%);--world-sun:#a7fff3;--world-horizon:#4f3c72;--world-terrain:linear-gradient(145deg,#403657,#171827);--world-landmark:#7d61b5;--world-path:#665485;--world-roof:linear-gradient(145deg,#9e75dd,#4b3c7c);--world-facade:#51446b;--world-plant-opacity:0; }
.gf-house-stage[data-scene="solar_desert_arcology"] { --house-wall:#d9d2bd;--house-floor:#9aa89c;--house-floor-texture:linear-gradient(135deg,rgba(48,125,120,.18),transparent);--house-view:linear-gradient(#ef9d51 0 45%,#c77b3d 46% 72%,#3f7771 73%);--house-trim:#3f7672;--house-door:#3e6a67;--house-accent:#efc452;--world-sky:linear-gradient(#ee984d,#ffdfa0);--world-horizon:#b56838;--world-terrain:linear-gradient(160deg,#d38b43,#8c522f);--world-landmark:#536c62;--world-path:#e2b768;--world-roof:linear-gradient(#4f8c82,#315f5d);--world-facade:#d9d1ba;--world-plant-opacity:.15; }
.gf-house-stage[data-scene="dragon_peak_monastery"] { --house-wall:#8c6046;--house-floor:#694a38;--house-floor-texture:repeating-linear-gradient(90deg,#4d372d 0 4px,transparent 5px 70px);--house-view:linear-gradient(#7888b5 0 45%,#dce5ed 46% 66%,#59616c 67%);--house-trim:#2d303b;--house-door:#49342b;--house-accent:#bd594d;--world-sky:linear-gradient(#7785b3,#dce5ef);--world-horizon:#68717e;--world-terrain:linear-gradient(145deg,#68717b,#303641);--world-landmark:#49515e;--world-path:#a5a3a0;--world-roof:#252a35;--world-facade:#986746;--world-plant-opacity:.15; }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] { --house-wall:#192542;--house-floor:#1b2940;--house-floor-texture:linear-gradient(145deg,rgba(45,231,238,.18),transparent 48%,rgba(255,74,162,.14));--house-view:linear-gradient(#2c2855 0 58%,#12172e 59%);--house-trim:#3a5678;--house-door:#23284c;--house-accent:#ff4fa1;--world-sky:linear-gradient(#302759,#10142b);--world-sun:#9f88ff;--world-horizon:#14182e;--world-terrain:#11162b;--world-landmark:#263454;--world-path:#272a43;--world-roof:linear-gradient(90deg,#6e55d9,#25dce4);--world-facade:#293753;--world-plant-opacity:0; }
.gf-house-stage[data-scene="mars_canyon_habitat"] { --house-wall:#aeb0aa;--house-floor:#7e746b;--house-floor-texture:linear-gradient(145deg,rgba(255,191,112,.16),transparent);--house-view:linear-gradient(#bc6045 0 45%,#8f4637 46% 75%,#543030 76%);--house-trim:#7b8891;--house-door:#58636b;--house-accent:#efb24e;--world-sky:linear-gradient(#bd6045,#e7a36b);--world-sun:#ffe0a0;--world-horizon:#8f4536;--world-terrain:linear-gradient(155deg,#a24d38,#512b2b);--world-landmark:#6f3833;--world-path:#b56c4a;--world-roof:linear-gradient(#b96248,#6d4b46);--world-facade:#b6b5ac;--world-plant-opacity:0; }
.gf-house-stage[data-scene="volcanic_caldera"] { --house-wall:#3c393e;--house-floor:#27262b;--house-floor-texture:linear-gradient(145deg,transparent 47%,rgba(255,95,41,.25) 48% 51%,transparent 52%);--house-view:linear-gradient(#47333d 0 46%,#ee5d30 47% 62%,#17171c 63%);--house-trim:#15151a;--house-door:#252329;--house-accent:#ff6935;--world-sky:linear-gradient(#493641,#cf5d38);--world-sun:#ff8b42;--world-horizon:#32282d;--world-water:linear-gradient(#ff7a31,#c52924);--world-water-opacity:.65;--world-terrain:linear-gradient(#2d292d,#17171b);--world-landmark:#17171b;--world-path:#4a3330;--world-roof:#17171c;--world-facade:#494449;--world-plant-opacity:0; }
.gf-house-stage[data-scene="underwater_coral_dome"] { --house-wall:rgba(56,133,154,.72);--house-floor:#2f7787;--house-floor-texture:radial-gradient(circle,#ef8d72 0 4px,transparent 5px);--house-view:linear-gradient(#168caf 0 45%,#075076 46% 73%,#083452 74%);--house-trim:#6ed8df;--house-door:#297b8d;--house-accent:#ff8d78;--world-sky:linear-gradient(#168db1,#06365e);--world-sun:#8df6ef;--world-horizon:#0a5874;--world-water:linear-gradient(#168caf,#052f55);--world-water-opacity:1;--world-terrain:radial-gradient(circle,#f28c70 0 5px,transparent 6px),#18546b;--world-landmark:#ed806d;--world-path:#3e8990;--world-roof:linear-gradient(rgba(96,229,232,.75),#2694a9);--world-facade:#5cb9c2;--world-plant-opacity:.8; }
.gf-house-stage[data-scene="lunar_observatory"] { --house-wall:#c9ced1;--house-floor:#818994;--house-floor-texture:radial-gradient(circle at 20% 50%,rgba(52,57,69,.19) 0 4px,transparent 5px);--house-view:radial-gradient(circle at 70% 20%,#5c81bd 0 18%,#11152d 19% 58%,#777f8c 59%);--house-trim:#8097a5;--house-door:#5a6675;--house-accent:#efbd5b;--world-sky:radial-gradient(circle at 74% 20%,#5a7fba 0 14%,#11152d 15%);--world-sun:#6e91c9;--world-horizon:#555c68;--world-terrain:radial-gradient(circle at 30% 45%,#6e7580 0 9%,transparent 10%),#8f97a3;--world-landmark:#5b626e;--world-path:#a8adb3;--world-roof:linear-gradient(#a9d6dd,#6f8998);--world-facade:#cbd0d1;--world-plant-opacity:0; }
.gf-house-stage[data-scene="orbital_ring_residence"] { --house-wall:#d2ddea;--house-floor:#68738d;--house-floor-texture:linear-gradient(145deg,rgba(103,243,234,.18),transparent);--house-view:radial-gradient(circle at 28% 48%,#7189da 0 31%,#181b3e 32%);--house-trim:#7476c8;--house-door:#4c5274;--house-accent:#6ef0e8;--world-sky:radial-gradient(circle at 26% 42%,#6f87d8 0 25%,#17193b 26%);--world-sun:#8ea6f3;--world-horizon:#1d2148;--world-terrain:radial-gradient(ellipse,#72809e 0 32%,transparent 33%);--world-landmark:#6a7391;--world-path:#8491aa;--world-roof:linear-gradient(90deg,#716ed6,#4bcbd1);--world-facade:#d2dce8;--world-plant-opacity:0; }
.gf-house-stage[data-scene="cloud_kingdom_castle"] { --house-wall:#e9e6ed;--house-floor:#b9c4dc;--house-floor-texture:conic-gradient(from 45deg,rgba(121,103,196,.16),transparent,#fff,transparent);--house-view:linear-gradient(#8297df 0 55%,#cdeafd 56% 72%,#fff 73%);--house-trim:#7968c1;--house-door:#66549e;--house-accent:#e8ba56;--world-sky:linear-gradient(#7c94df,#cceafa 63%,#fff);--world-sun:#fff3b0;--world-horizon:rgba(255,255,255,.75);--world-terrain:radial-gradient(ellipse,#fff 0 43%,#bbcde2 44% 57%,transparent 58%);--world-landmark:#e5eafa;--world-path:#d9e3ee;--world-roof:linear-gradient(#826ac9,#504389);--world-facade:#e9e7ec;--world-plant-opacity:.4; }
.gf-house-stage[data-scene="celestial_airship_mansion"] { --house-wall:#d3bea2;--house-floor:#8c6e59;--house-floor-texture:repeating-linear-gradient(90deg,#6d5142 0 3px,transparent 4px 68px);--house-view:linear-gradient(#7866bd 0 45%,#eead8c 46% 66%,#4e477a 67%);--house-trim:#4e3b5a;--house-door:#5c423e;--house-accent:#dfb24d;--world-sky:linear-gradient(#7664ba,#efad8a);--world-sun:#ffe2a4;--world-horizon:#5a5085;--world-terrain:radial-gradient(ellipse,#d4c3a5 0 35%,#70566b 36% 52%,transparent 53%);--world-landmark:#a28896;--world-path:#d4b674;--world-roof:linear-gradient(#4d385b,#2e2b49);--world-facade:#d1bca0;--world-plant-opacity:0; }

/* The same new scene keys drive distinct full House interiors and exterior
   worlds; no production residence falls back to the generic starter palette. */
.gf-house-stage[data-scene="zen_bamboo_teahouse"] { --house-wall:#d9c89e;--house-floor:#b59b69;--house-view:linear-gradient(#acd9c3 0 48%,#4e865c 49%);--house-trim:#425348;--house-door:#715041;--house-accent:#a85849;--world-sky:linear-gradient(#acd8c0,#f3e5bd);--world-horizon:#56805a;--world-terrain:repeating-linear-gradient(90deg,#4b8558 0 9px,#6ba36a 10px 17px);--world-roof:#415649;--world-facade:#d7c399; }
.gf-house-stage[data-scene="suzhou_canal_cottage"] { --house-wall:#f0eee2;--house-floor:#b9a682;--house-view:linear-gradient(#a8deef 0 44%,#55a8b0 45% 74%,#70865f 75%);--house-trim:#3c474a;--house-door:#4b4037;--house-accent:#bd5850;--world-sky:linear-gradient(#a8dff0,#f5f0dc);--world-water:linear-gradient(#5db5bb,#327d8b);--world-water-opacity:1;--world-terrain:#738965;--world-roof:#38454a;--world-facade:#f5f1e5; }
.gf-house-stage[data-scene="marrakech_courtyard_riad"] { --house-wall:#d8a466;--house-floor:#b67b4f;--house-floor-texture:repeating-linear-gradient(45deg,rgba(42,132,132,.25) 0 11px,transparent 12px 24px);--house-view:linear-gradient(#eda96d 0 54%,#3aa4a0 55%);--house-trim:#f0ca91;--house-door:#844b3b;--house-accent:#298d8a;--world-sky:linear-gradient(#efad70,#f8dbae);--world-terrain:#c48a53;--world-water:radial-gradient(ellipse,#4bb8b0 0 54%,transparent 56%);--world-water-opacity:.65;--world-roof:#8c4c3d;--world-facade:#dda967; }
.gf-house-stage[data-scene="mangrove_floating_home"] { --house-wall:#d4b77e;--house-floor:#9e7249;--house-view:linear-gradient(#78d8df 0 43%,#2da4a9 44% 73%,#476e50 74%);--house-trim:#536d53;--house-door:#765139;--house-accent:#e2a04b;--world-sky:linear-gradient(#78d8df,#def6dc);--world-water:linear-gradient(#2eb2b4,#1b747c);--world-water-opacity:1;--world-terrain:#476f51;--world-landmark:#355b43;--world-roof:#587958;--world-facade:#d3b77d; }
.gf-house-stage[data-scene="fuji_lakeside_minka"] { --house-wall:#dfcdb0;--house-floor:#b69a72;--house-view:linear-gradient(#9fcbea 0 43%,#7187a1 44% 60%,#4f96ac 61%);--house-trim:#3e3733;--house-door:#49382f;--house-accent:#d16b70;--world-sky:linear-gradient(#9fcceb,#f4cfca);--world-horizon:#76879b;--world-water:linear-gradient(#6bb0c3,#3e8098);--world-water-opacity:1;--world-terrain:#708963;--world-roof:#353440;--world-facade:#decdb0; }
.gf-house-stage[data-scene="guilin_cloud_pavilion"] { --house-wall:#9f694a;--house-floor:#79543d;--house-view:linear-gradient(#a6c8d0 0 42%,#58796a 43% 64%,#4494a0 65%);--house-trim:#35433d;--house-door:#654032;--house-accent:#b74f47;--world-sky:linear-gradient(#a7c8d0,#eff1dd);--world-horizon:#66786b;--world-water:linear-gradient(#5bb4ba,#347d89);--world-water-opacity:1;--world-terrain:linear-gradient(145deg,#587a68,#354f45);--world-roof:#34433c;--world-facade:#a26b4a; }
.gf-house-stage[data-scene="wadi_rum_stargazer_camp"] { --house-wall:#a66449;--house-floor:#7e4939;--house-view:radial-gradient(circle at 70% 18%,#f1dda9 0 8%,#332b5e 9% 56%,#9f4e39 57%);--house-trim:#3e3354;--house-door:#654035;--house-accent:#efc55a;--world-sky:radial-gradient(circle at 76% 16%,#f0dcab 0 8%,#342a5e 9% 50%,#c06e45);--world-terrain:linear-gradient(#a65137,#6e382f);--world-roof:#3d3154;--world-facade:#a96749;--world-plant-opacity:0; }
.gf-house-stage[data-scene="polynesian_island_longhouse"] { --house-wall:#d3ab68;--house-floor:#a27145;--house-view:linear-gradient(#67d3ec 0 42%,#2bb7ca 43% 69%,#ecd182 70%);--house-trim:#70492f;--house-door:#775038;--house-accent:#ef8d4d;--world-sky:linear-gradient(#67d3ec,#daf9ed);--world-water:linear-gradient(#31c3d3,#1988a7);--world-water-opacity:1;--world-terrain:#ead083;--world-roof:#70492f;--world-facade:#d4ad69; }
.gf-house-stage[data-scene="hokkaido_snow_ryokan"] { --house-wall:#cfbea5;--house-floor:#9e8267;--house-view:linear-gradient(#748bab 0 45%,#ecf7fa 46% 75%,#79959f 76%);--house-trim:#423d3a;--house-door:#4c3932;--house-accent:#b2534c;--world-sky:linear-gradient(#738bab,#d9edf2);--world-terrain:linear-gradient(#edf8fa,#7c9aa4);--world-roof:linear-gradient(#38414a 0 72%,#f4fbff 73%);--world-facade:#d1c0a7;--world-plant-opacity:.2; }
.gf-house-stage[data-scene="forbidden_city_scholar_home"] { --house-wall:#ad4138;--house-floor:#895640;--house-view:linear-gradient(#efb56c 0 46%,#748358 47%);--house-trim:#d5a43e;--house-door:#742d2b;--house-accent:#e0b141;--world-sky:linear-gradient(#efb56c,#f4dca8);--world-terrain:#748359;--world-roof:#d5a43e;--world-facade:#ad4138; }
.gf-house-stage[data-scene="andalusian_moon_palace"] { --house-wall:#dfbd8f;--house-floor:#ae805e;--house-view:radial-gradient(circle at 74% 16%,#fff4c4 0 8%,#504980 9% 55%,#328f9b 56%);--house-trim:#57918d;--house-door:#80543e;--house-accent:#376b7c;--world-sky:radial-gradient(circle at 75% 15%,#fff4c4 0 9%,#504981 10% 56%,#e19a75);--world-water:linear-gradient(#48b7b6,#267884);--world-water-opacity:.6;--world-terrain:#65776b;--world-roof:#57928e;--world-facade:#dfbd8f; }
.gf-house-stage[data-scene="santorini_cliff_house"] { --house-wall:#f7f7f1;--house-floor:#d9d3c5;--house-view:linear-gradient(#55c5ed 0 54%,#178ab4 55%);--house-trim:#2a88bd;--house-door:#337ba2;--house-accent:#2b86b8;--world-sky:linear-gradient(#55c5ed,#ecfbff);--world-water:linear-gradient(#239fc5,#0e6796);--world-water-opacity:1;--world-terrain:#f3eee5;--world-roof:#2888c0;--world-facade:#fff; }
.gf-house-stage[data-scene="okinawa_coral_villa"] { --house-wall:#e8dabd;--house-floor:#b79a70;--house-view:linear-gradient(#5bd5ef 0 43%,#31bad1 44% 69%,#efd493 70%);--house-trim:#485d51;--house-door:#6f513d;--house-accent:#ef7d6d;--world-sky:linear-gradient(#5bd5ef,#e5fbf4);--world-water:linear-gradient(#37c8d8,#1789aa);--world-water-opacity:1;--world-terrain:#efd493;--world-roof:#465d52;--world-facade:#e9dbbd; }
.gf-house-stage[data-scene="shanghai_sky_lantern_penthouse"] { --house-wall:#1b2947;--house-floor:#1d2941;--house-view:linear-gradient(#332b66 0 58%,#10162f 59%);--house-trim:#405b7c;--house-door:#252c4e;--house-accent:#ffb33f;--world-sky:linear-gradient(#332b66,#10162f);--world-terrain:#12172e;--world-landmark:#29375d;--world-roof:#e95b8f;--world-facade:#293956;--world-plant-opacity:0; }
.gf-house-stage[data-scene="arabian_sea_pearl_palace"] { --house-wall:#efe2c2;--house-floor:#ccb782;--house-view:linear-gradient(#62c7e6 0 48%,#2faac3 49% 75%,#ddc17c 76%);--house-trim:#3ba3a3;--house-door:#92643e;--house-accent:#d39a3f;--world-sky:linear-gradient(#62c7e6,#f1e1c0);--world-water:linear-gradient(#39bbcc,#197e9f);--world-water-opacity:1;--world-terrain:#dcc27d;--world-roof:#36a5a5;--world-facade:#efe2c2; }
.gf-house-stage[data-scene="maldives_lagoon_villa"] { --house-wall:#ebdfc5;--house-floor:#b99c72;--house-view:linear-gradient(#61d9ee 0 44%,#27bfd2 45% 77%,#e5d28c 78%);--house-trim:#755640;--house-door:#76523b;--house-accent:#e99a53;--world-sky:linear-gradient(#61d9ee,#e7fcf5);--world-water:linear-gradient(#2cc9d7,#1688a5);--world-water-opacity:1;--world-terrain:#e6d28c;--world-roof:#6f4f3c;--world-facade:#eee3ca; }
.gf-house-stage[data-scene="shogun_sakura_palace"] { --house-wall:#e4d4cb;--house-floor:#a98770;--house-view:linear-gradient(#e9abc9 0 44%,#4d9cab 45% 68%,#668b68 69%);--house-trim:#443653;--house-door:#593642;--house-accent:#e95f8b;--world-sky:linear-gradient(#e9abc9,#91cde8);--world-water:linear-gradient(#64b7c3,#397e94);--world-water-opacity:1;--world-terrain:radial-gradient(circle,#ea83a5 0 4px,transparent 5px),#648b68;--world-roof:#443653;--world-facade:#eadbd1; }
.gf-house-stage[data-scene="celestial_dragon_mountain_city"] { --house-wall:#875840;--house-floor:#654636;--house-view:linear-gradient(#6979ac 0 46%,#dde5ee 47% 64%,#596372 65%);--house-trim:#292d38;--house-door:#4a332b;--house-accent:#42b38c;--world-sky:linear-gradient(#6979ac,#dce4ee);--world-terrain:linear-gradient(145deg,#596373,#303746);--world-landmark:#454d5b;--world-roof:#282c38;--world-facade:#875840; }
.gf-house-stage[data-scene="thousand_nights_sky_citadel"] { --house-wall:#c68f61;--house-floor:#8d634e;--house-view:linear-gradient(#493d88 0 45%,#dc8d72 46% 65%,#a193ca 66%);--house-trim:#7651a1;--house-door:#784c3c;--house-accent:#f5c85b;--world-sky:linear-gradient(#493d88,#dc8d72 60%,#f3c078);--world-terrain:radial-gradient(ellipse,#fff 0 36%,#a292cb 37% 52%,transparent 53%);--world-roof:#7651a1;--world-facade:#c78f61;--world-plant-opacity:.2; }
.gf-house-stage[data-scene="atlantis_living_island"] { --house-wall:#318ca0;--house-floor:#216b7c;--house-view:linear-gradient(#1596b9 0 46%,#073a64 47%);--house-trim:#63d8d2;--house-door:#286f86;--house-accent:#ffc85b;--world-sky:linear-gradient(#1596b9,#073a64);--world-water:linear-gradient(#1596b9,#052e56);--world-water-opacity:1;--world-terrain:radial-gradient(ellipse,#4dc0b4 0 40%,#20819d 41% 63%,transparent 64%);--world-roof:#795ed0;--world-facade:#318ca0;--world-plant-opacity:.8; }

/* Silhouette families make the outside read as city, mountain, coast, forest, or floating island. */
.gf-house-stage:is([data-scene="city_loft"],[data-scene="skyline_penthouse"]) .gf-house-world__landmark { border-radius:2px 2px 0 0; box-shadow:inset 0 0 0 2px rgba(255,255,255,.05),inset 12px 0 rgba(0,0,0,.12); clip-path:none; }
.gf-house-stage:is([data-scene="city_loft"],[data-scene="skyline_penthouse"]) .gf-house-world__landmark--one { background:repeating-linear-gradient(90deg,var(--world-landmark) 0 20px,color-mix(in srgb,var(--world-landmark) 72%,white) 21px 31px); height:36%; width:29%; }
.gf-house-stage:is([data-scene="city_loft"],[data-scene="skyline_penthouse"]) .gf-house-world__landmark--two { height:29%; width:23%; }
.gf-house-stage:is([data-scene="alpine_chalet"],[data-scene="aurora_palace"]) .gf-house-world__horizon { clip-path:polygon(0 100%,0 78%,17% 28%,26% 62%,41% 4%,54% 65%,71% 18%,85% 66%,100% 32%,100% 100%); }
.gf-house-stage:is([data-scene="forest_cabin"],[data-scene="glass_treehouse"]) .gf-house-world__landmark { border-radius:70% 70% 8% 8%; bottom:20%; height:46%; opacity:.65; width:10%; }
.gf-house-stage:is([data-scene="azure_beach"],[data-scene="private_island"],[data-scene="tropical_bungalow"]) .gf-house-world__plant { height:31%; }
.gf-house-stage:is([data-scene="azure_beach"],[data-scene="private_island"]) .gf-house-cutaway__roof { border-radius:60% 60% 8px 8px; clip-path:none; height:8%; top:7%; }
.gf-house-stage:is([data-scene="alpine_chalet"],[data-scene="forest_cabin"]) .gf-house-cutaway__roof { height:18%; top:0; }
.gf-house-stage[data-scene="kyoto_machiya"] .gf-house-cutaway__roof { clip-path:polygon(7% 0,93% 0,100% 70%,95% 100%,5% 100%,0 70%); height:9%; top:7%; }
.gf-house-stage:is([data-scene="city_loft"],[data-scene="garden_villa"],[data-scene="cliffside_villa"],[data-scene="skyline_penthouse"]) .gf-house-cutaway__roof { clip-path:none; height:4%; top:10%; }
.gf-house-stage[data-scene="floating_sky_villa"] .gf-house-world__cloud--three { bottom:8%; top:auto; transform:scale(2.6); }

/* Expanded world silhouettes keep the residence embedded in its complete setting. */
.gf-house-stage:is([data-scene="canal_palazzo"],[data-scene="neo_tokyo_rain_tower"]) .gf-house-world__landmark { border-radius:3px 3px 0 0; clip-path:none; }
.gf-house-stage:is([data-scene="canal_palazzo"],[data-scene="neo_tokyo_rain_tower"]) .gf-house-world__landmark--one { background:repeating-linear-gradient(90deg,var(--world-landmark) 0 16px,color-mix(in srgb,var(--world-landmark) 70%,white) 17px 24px); height:42%; width:27%; }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] .gf-house-world__sky { background:repeating-linear-gradient(104deg,transparent 0 16px,rgba(92,224,239,.18) 17px 18px),radial-gradient(circle at 70% 20%,rgba(255,72,165,.32),transparent 28%); }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] .gf-house-world__landmark { box-shadow:inset 5px 0 #25dce4,inset -5px 0 #f34e9f; }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] .gf-house-world__cloud { display:none; }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] .gf-house-cutaway__roof { border-bottom:5px solid #2de4eb; clip-path:none; height:4%; top:10%; }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] .gf-house-cutaway__roof-detail { border:0; border-inline-end:5px solid #ff4fa1; clip-path:none; height:12%; left:49%; top:0; width:2%; }

.gf-house-stage[data-scene="lighthouse_cliff"] .gf-house-world__landmark--one { background:repeating-linear-gradient(0deg,#f5ead4 0 23%,#d5554c 24% 38%); border-radius:50% 50% 4px 4px; clip-path:none; height:54%; left:4%; width:8%; }
.gf-house-stage[data-scene="lighthouse_cliff"] .gf-house-world__landmark--one::after { background:#273f4e; border-radius:50%; box-shadow:0 0 22px #ffe49b; content:""; height:24%; left:-35%; position:absolute; top:-8%; width:170%; }
.gf-house-stage[data-scene="windmill_hill"] .gf-house-world__landmark--one { background:#8e623f; border-radius:40% 40% 4px 4px; clip-path:none; height:42%; left:7%; width:9%; }
.gf-house-stage[data-scene="windmill_hill"] .gf-house-world__landmark--one::after { background:linear-gradient(transparent 45%,#6f4a34 46% 54%,transparent 55%),linear-gradient(90deg,transparent 45%,#6f4a34 46% 54%,transparent 55%); content:""; height:150%; left:-250%; position:absolute; top:-48%; transform:rotate(18deg); width:600%; }

.gf-house-stage:is([data-scene="greenhouse_atrium"],[data-scene="arctic_research_dome"],[data-scene="underwater_coral_dome"]) .gf-house-cutaway__roof { border:5px solid var(--world-roof); border-bottom:0; border-radius:55% 55% 0 0; clip-path:none; height:14%; top:3%; }
.gf-house-stage:is([data-scene="greenhouse_atrium"],[data-scene="arctic_research_dome"],[data-scene="underwater_coral_dome"]) .gf-house-cutaway__roof-detail { border-radius:50% 50% 0 0; clip-path:none; }
.gf-house-stage[data-scene="greenhouse_atrium"] .gf-house-world__landmark { background:radial-gradient(circle,#73b96e 0 28%,#3f7e54 29% 58%,transparent 59%); box-shadow:none; }

.gf-house-stage:is([data-scene="sakura_castle_island"],[data-scene="waterfall_temple"],[data-scene="dragon_peak_monastery"]) .gf-house-cutaway__roof { clip-path:polygon(9% 0,91% 0,100% 55%,73% 61%,68% 100%,32% 100%,27% 61%,0 55%); height:10%; top:7%; }
.gf-house-stage[data-scene="sakura_castle_island"] .gf-house-world__plant::after { background:#ec86a7; box-shadow:-26px 10px #f2a0b9,22px 15px #dc7499,-14px -11px #ffc0d0,15px -8px #d8618c; }
.gf-house-stage[data-scene="waterfall_temple"] .gf-house-world__water { left:42%; right:auto; width:16%; }
.gf-house-stage:is([data-scene="waterfall_temple"],[data-scene="dragon_peak_monastery"]) .gf-house-world__horizon { clip-path:polygon(0 100%,0 82%,13% 23%,25% 71%,41% 5%,55% 77%,72% 14%,88% 73%,100% 37%,100% 100%); }

.gf-house-stage[data-scene="redwood_canopy_village"] .gf-house-world__landmark { background:#70442f; border-radius:45% 45% 4px 4px; bottom:12%; clip-path:none; height:70%; opacity:.9; width:8%; }
.gf-house-stage[data-scene="redwood_canopy_village"] .gf-house-world__landmark::after { background:#2f6749; border-radius:50%; box-shadow:-30px 12px #285840,31px 17px #397552; content:""; height:31%; left:-130%; position:absolute; top:-5%; width:360%; }
.gf-house-stage[data-scene="nile_garden_citadel"] .gf-house-world__landmark--one { border-radius:70% 70% 0 0; clip-path:none; height:24%; }

.gf-house-stage[data-scene="crystal_cavern_estate"] .gf-house-world__landmark { background:linear-gradient(145deg,#9ef7ed,#7352b5); box-shadow:0 0 24px rgba(120,238,228,.48); clip-path:polygon(50% 0,100% 100%,0 100%); }
.gf-house-stage[data-scene="crystal_cavern_estate"] .gf-house-world__landmark--one { height:48%; width:17%; }
.gf-house-stage[data-scene="crystal_cavern_estate"] .gf-house-world__landmark--two { border-radius:0; height:35%; width:14%; }
.gf-house-stage[data-scene="solar_desert_arcology"] .gf-house-world__landmark { background:linear-gradient(145deg,#5bc6c4,#315f5d); border-radius:100% 0 100% 0; clip-path:none; height:25%; transform:skewX(-18deg); }

.gf-house-stage:is([data-scene="mars_canyon_habitat"],[data-scene="lunar_observatory"],[data-scene="orbital_ring_residence"]) .gf-house-world__cloud,
.gf-house-stage:is([data-scene="mars_canyon_habitat"],[data-scene="lunar_observatory"],[data-scene="orbital_ring_residence"]) .gf-house-world__plant { display:none; }
.gf-house-stage:is([data-scene="mars_canyon_habitat"],[data-scene="lunar_observatory"],[data-scene="orbital_ring_residence"]) .gf-house-world__sky { background-image:radial-gradient(circle at 11% 15%,#fff 0 1px,transparent 2px),radial-gradient(circle at 36% 8%,#fff 0 1px,transparent 2px),radial-gradient(circle at 82% 32%,#fff 0 1px,transparent 2px),radial-gradient(circle at 63% 13%,#fff 0 1px,transparent 2px); background-size:170px 130px,210px 180px,260px 160px,320px 220px; }
.gf-house-stage:is([data-scene="mars_canyon_habitat"],[data-scene="lunar_observatory"]) .gf-house-cutaway__roof { border-radius:70% 70% 8px 8px; clip-path:none; height:10%; top:8%; }
.gf-house-stage[data-scene="orbital_ring_residence"] .gf-house-cutaway__roof { border:12px solid #7776d5; border-bottom:0; border-radius:50% 50% 0 0; clip-path:none; height:17%; top:0; }
.gf-house-stage[data-scene="orbital_ring_residence"] .gf-house-world__horizon { background:transparent; border:clamp(14px,2vw,34px) solid rgba(153,165,224,.42); border-radius:50%; clip-path:none; height:85%; left:-12%; top:-24%; transform:rotate(-16deg); width:125%; }

.gf-house-stage[data-scene="volcanic_caldera"] .gf-house-cutaway__roof { clip-path:polygon(0 0,11% 0,11% 42%,22% 42%,22% 0,36% 0,36% 42%,50% 42%,50% 0,64% 0,64% 42%,78% 42%,78% 0,89% 0,89% 42%,100% 42%,100% 100%,0 100%); height:9%; top:7%; }
.gf-house-stage[data-scene="volcanic_caldera"] .gf-house-world__water { box-shadow:0 -12px 38px rgba(255,85,35,.72); }

.gf-house-stage[data-scene="underwater_coral_dome"] .gf-house-world__sun { box-shadow:0 0 60px #87f5ed; opacity:.55; }
.gf-house-stage[data-scene="underwater_coral_dome"] .gf-house-world__cloud { background:transparent; border:3px solid rgba(202,255,253,.54); border-radius:50%; filter:none; height:32px; width:32px; }
.gf-house-stage[data-scene="underwater_coral_dome"] .gf-house-world__cloud::before,
.gf-house-stage[data-scene="underwater_coral_dome"] .gf-house-world__cloud::after { background:transparent; border:2px solid rgba(202,255,253,.48); }
.gf-house-stage[data-scene="underwater_coral_dome"] .gf-house-world__plant::after { background:#ed7b68; box-shadow:-26px 10px #f4b255,22px 15px #ae62bc,-14px -11px #ef6c82,15px -8px #49b9a4; }

.gf-house-stage:is([data-scene="cloud_kingdom_castle"],[data-scene="celestial_airship_mansion"]) .gf-house-world__cloud--three { bottom:7%; top:auto; transform:scale(2.8); }
.gf-house-stage[data-scene="cloud_kingdom_castle"] .gf-house-cutaway__roof { clip-path:polygon(10% 100%,16% 16%,21% 100%,44% 100%,50% 0,56% 100%,79% 100%,84% 16%,90% 100%); height:17%; top:0; }
.gf-house-stage[data-scene="celestial_airship_mansion"] .gf-house-cutaway__roof { border-radius:50%; clip-path:none; height:12%; top:2%; }
.gf-house-stage[data-scene="celestial_airship_mansion"] .gf-house-cutaway__roof-detail { border:7px solid rgba(255,224,158,.5); border-radius:50%; clip-path:none; height:18%; left:29%; top:-8%; width:42%; }

/* More material, depth and small functional details on the CSS-built furniture. */
.gf-furniture-object { filter:drop-shadow(0 11px 7px rgba(26,25,36,.3)); perspective:180px; }
.gf-furniture-object[data-kind="decor"] { --gf-object-aspect:1.1; }
.gf-furniture-object[data-kind="study"] { --gf-object-aspect:1.55; }
.gf-furniture-object[data-kind="seating"] { --gf-object-aspect:1; }
.gf-furniture-object[data-kind="tables"] { --gf-object-aspect:1.65; }
.gf-furniture-object[data-kind="storage"] { --gf-object-aspect:.78; }
.gf-furniture-object[data-kind="lighting"] { --gf-object-aspect:.62; }
.gf-furniture-object[data-kind="plants"] { --gf-object-aspect:.78; }
.gf-furniture-object[data-kind="sleeping"] { --gf-object-aspect:1.7; }
.gf-furniture-object[data-kind="kitchen"] { --gf-object-aspect:1.7; }
.gf-furniture-object[data-kind="music"] { --gf-object-aspect:1.7; }
.gf-furniture-object[data-kind="technology"] { --gf-object-aspect:1.5; }
.gf-furniture-object[data-kind="feature"] { --gf-object-aspect:1.3; }
.gf-furniture-object[data-kind="outdoor"] { --gf-object-aspect:1.55; }
.gf-furniture-object:is([data-object="sofa"],[data-object="velvet_sectional"],[data-object="floating_sofa"]) { --gf-object-aspect:1.85; }
.gf-furniture-object:is([data-object="rug"],[data-object="infinity_pool"],[data-object="waterfall_wall"],[data-object="cinema_wall"]) { --gf-object-aspect:2.05; }
.gf-furniture-object:is([data-object="wall_clock"],[data-object="celestial_orrery"],[data-object="fountain"]) { --gf-object-aspect:1; }
.gf-furniture-object:is([data-object="room_divider"],[data-object="arched_bookcase"],[data-object="bookshelf"],[data-object="library_ladder"],[data-object="dragon_library"]) { --gf-object-aspect:.82; }
.gf-furniture-object:is([data-object="concert_harp"],[data-object="hologram_pod"],[data-object="world_tree"],[data-object="olive_tree"]) { --gf-object-aspect:.76; }
.gf-furniture-object:is([data-object="piano"],[data-object="royal_piano"],[data-object="record_station"]) { --gf-object-aspect:1.85; }
.gf-furniture-object__shadow { background:radial-gradient(ellipse,rgba(24,23,34,.35),transparent 70%); filter:blur(2px); height:16%; }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--9 { border-top:2px solid color-mix(in srgb,var(--gf-object-1) 55%,white); display:block; height:3%; left:25%; top:45%; width:50%; }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--10 { background:radial-gradient(circle,var(--gf-object-1) 0 2px,transparent 3px); display:block; height:18%; left:31%; top:25%; width:38%; }
.gf-furniture-object:is([data-object="desk"],[data-object="smart_glass_desk"],[data-object="maker_table"]) .gf-furniture-object__part--6 { background:repeating-linear-gradient(90deg,#d9e2ea 0 4px,#677487 5px 6px); border:2px solid #4d5869; border-radius:3px; display:block; height:8%; left:34%; top:51%; transform:skewX(-18deg); width:34%; }
.gf-furniture-object:is([data-object="desk"],[data-object="smart_glass_desk"],[data-object="maker_table"]) .gf-furniture-object__part--7 { background:#70452f; border-radius:50% 50% 35% 35%; box-shadow:inset 0 -4px #e9eee8; display:block; height:13%; left:15%; top:42%; width:11%; }
.gf-furniture-object:is([data-object="desk"],[data-object="smart_glass_desk"],[data-object="maker_table"]) .gf-furniture-object__part--8 { background:#59687d; border-radius:50%; display:block; height:6%; right:21%; top:54%; width:7%; }
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--9 { background:radial-gradient(circle,#e8c16c 0 3px,transparent 4px); display:block; height:58%; left:46%; top:20%; width:9%; }
.gf-furniture-object[data-kind="tables"] .gf-furniture-object__part--9 { background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent); display:block; height:4%; left:15%; top:51%; transform:rotate(-3deg); width:70%; }
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--9 { background:rgba(255,255,255,.42); border-radius:999px; display:block; height:2%; left:25%; top:23%; transform:rotate(-16deg); width:35%; }
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--10 { background:#40e1ee; border-radius:50%; box-shadow:12px 0 #ff66c3,24px 0 #ffd76a; bottom:14%; display:block; height:4%; left:25%; width:4%; }
.gf-furniture-object[data-kind="lighting"] .gf-furniture-object__part--9 { background:radial-gradient(circle,rgba(255,246,172,.8),transparent 68%); display:block; filter:blur(2px); height:62%; left:17%; top:0; width:66%; }
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--9 { background:linear-gradient(145deg,#98d477,#397b4f); border-radius:80% 10% 80% 10%; display:block; height:27%; left:19%; top:27%; transform:rotate(-54deg); width:26%; }
.gf-furniture-object[data-kind="sleeping"] .gf-furniture-object__part--9 { border-top:3px solid rgba(255,255,255,.54); border-radius:50%; display:block; height:15%; left:46%; top:51%; width:34%; }
.gf-furniture-object[data-kind="kitchen"] .gf-furniture-object__part--9 { background:radial-gradient(circle,#ccd4d8 0 18%,#31383e 20% 45%,transparent 47%); display:block; height:12%; left:21%; top:33%; width:58%; }
.gf-furniture-object[data-kind="music"] .gf-furniture-object__part--9 { background:linear-gradient(120deg,transparent,rgba(255,255,255,.32),transparent); display:block; height:38%; left:20%; top:16%; transform:rotate(-14deg); width:18%; }
.gf-furniture-object[data-kind="feature"] .gf-furniture-object__part--9 { border:2px solid rgba(255,255,255,.35); border-radius:50%; display:block; height:34%; left:37%; top:34%; width:26%; }

/* Physical depth and functional details keep the silhouettes readable at room scale. */
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--6,
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--7 { background:linear-gradient(90deg,var(--gf-object-1),var(--gf-object-2)); border:2px solid var(--gf-object-1); border-radius:35% 35% 18% 18%; display:block; height:28%; top:43%; width:15%; }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--6 { left:13%; transform:rotate(5deg); }
.gf-furniture-object[data-kind="seating"] .gf-furniture-object__part--7 { right:13%; transform:rotate(-5deg); }
.gf-furniture-object:is([data-object="sofa"],[data-object="velvet_sectional"],[data-object="floating_sofa"]) :is(.gf-furniture-object__part--6,.gf-furniture-object__part--7) { height:35%; top:39%; width:12%; }
.gf-furniture-object:is([data-object="sofa"],[data-object="velvet_sectional"],[data-object="floating_sofa"]) .gf-furniture-object__part--6 { left:3%; }
.gf-furniture-object:is([data-object="sofa"],[data-object="velvet_sectional"],[data-object="floating_sofa"]) .gf-furniture-object__part--7 { right:3%; }
.gf-furniture-object:is([data-object="piano"],[data-object="royal_piano"]) .gf-furniture-object__part--5 { background:linear-gradient(145deg,#49372e,#08080b); border:3px solid #6b5142; border-radius:70% 8% 5% 20%; display:block; height:43%; left:10%; top:8%; transform:skewX(-13deg) rotate(-4deg); transform-origin:bottom right; width:78%; }
.gf-furniture-object:is([data-object="piano"],[data-object="royal_piano"]) .gf-furniture-object__part--6 { background:repeating-linear-gradient(90deg,#fff 0 7%,#1b1b20 8% 11%); border:2px solid #352920; bottom:23%; display:block; height:13%; left:34%; transform:skewX(-14deg); width:52%; }
.gf-furniture-object:is([data-object="piano"],[data-object="royal_piano"]) .gf-furniture-object__part--7 { border-bottom:4px solid #b9904b; border-inline:2px solid #5c4937; bottom:3%; display:block; height:15%; left:55%; width:12%; }
.gf-furniture-object[data-kind="tables"] .gf-furniture-object__part--1,
.gf-furniture-object[data-kind="study"] .gf-furniture-object__part--1 { box-shadow:inset 0 5px rgba(255,255,255,.22),0 7px 0 color-mix(in srgb,#694029 78%,black); }
.gf-furniture-object[data-kind="storage"] .gf-furniture-object__part--1 { box-shadow:inset 8px 0 rgba(255,255,255,.08),inset -9px 0 rgba(0,0,0,.16),5px 5px 0 #3b271d; }
.gf-furniture-object[data-kind="technology"] .gf-furniture-object__part--2 { box-shadow:inset 10px 9px rgba(255,255,255,.13),0 0 18px rgba(78,222,240,.4); }
.gf-furniture-object:is([data-object="fireplace"],[data-object="portal_fireplace"]) .gf-furniture-object__part--3 { background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(30,24,28,.45) 8px 10px),repeating-linear-gradient(90deg,#6e5a51 0 20px,#4b403e 21px 24px); display:block; inset:14% 19% 16%; }
.gf-furniture-object:is([data-object="fireplace"],[data-object="portal_fireplace"]) .gf-furniture-object__part--4 { background:linear-gradient(#9e8877,#514742); border-radius:5px; display:block; height:9%; left:9%; top:14%; width:82%; }
.gf-furniture-object[data-object="celestial_orrery"] .gf-furniture-object__part--3 { background:linear-gradient(#d7ae45,#6e4d28); bottom:7%; display:block; height:39%; left:48%; width:5%; }
.gf-furniture-object[data-object="celestial_orrery"] .gf-furniture-object__part--4 { background:#8e6630; border-radius:50%; bottom:5%; display:block; height:8%; left:31%; width:38%; }
.gf-furniture-object[data-kind="plants"] .gf-furniture-object__part--1 { box-shadow:inset 7px 0 rgba(255,255,255,.14),inset -8px 0 rgba(74,42,34,.22),0 5px 0 #744232; }

.gf-house-active-invitations { border-top:1px solid var(--gf-house-line); margin-top:.8rem; padding-top:.8rem; }
.gf-house-active-invitations h3 { color:var(--gf-house-ink); font-size:.72rem; margin:0 0 .55rem; text-transform:uppercase; }
.gf-house-active-invitations > div { display:grid; gap:.45rem; max-height:180px; overflow:auto; }
.gf-house-active-invitations article { align-items:center; background:rgba(109,74,255,.055); border:1px solid var(--gf-house-line); border-radius:11px; display:flex; gap:.5rem; justify-content:space-between; padding:.5rem; }
.gf-house-active-invitations article > span { display:grid; min-width:0; }
.gf-house-active-invitations strong { font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gf-house-active-invitations small { color:var(--gf-house-muted); font-size:.6rem; }
.gf-house-active-invitations button,.gf-house-people > div > button { background:rgba(201,76,97,.1); border:1px solid rgba(201,76,97,.2); border-radius:8px; color:#c94c61; flex:0 0 auto; font-size:.62rem; padding:.4rem .48rem; }
.gf-house-people p { flex:1; min-width:0; }

@keyframes gf-object-float { 50% { transform: translateY(-7px); } }

.gf-house-experience:fullscreen { height: 100vh; max-width: none; overflow: hidden; padding: .65rem; width: 100vw; }
.gf-house-experience:fullscreen .gf-house-room-layout { max-width: none; min-height: calc(100vh - 105px); }
.gf-house-experience:fullscreen .gf-house-stage { height: calc(100vh - 105px); min-height: 0; }
.gf-house-experience:fullscreen .gf-house-room-header { max-width: none; }
.gf-house-experience:fullscreen {
    height: 100vh;
    max-width: none;
    overflow: hidden;
    padding: 0.65rem;
    width: 100vw;
}
.gf-house-experience:fullscreen .gf-house-room-layout {
    max-width: none;
    min-height: calc(100vh - 105px);
}
.gf-house-experience:fullscreen .gf-house-stage {
    height: calc(100vh - 105px);
    min-height: 0;
}
.gf-house-experience:fullscreen .gf-house-room-header {
    max-width: none;
}

@media (max-width: 1100px) {
    .alpha-house-nav__menu {
        inset-inline-start: auto;
        inset-inline-end: 0;
        transform: none;
    }
    .gf-house-room-toolbar button span {
        display: none;
    }
    .gf-house-room-toolbar button {
        font-size: 1rem;
        padding: 0.6rem;
    }
}

@media (max-width: 767px) {
    .alpha-house-nav__menu {
        min-width: min(290px, 86vw);
        position: fixed;
        right: 7vw;
        top: 74px;
    }
    [dir="rtl"] .alpha-house-nav__menu {
        left: 7vw;
        right: auto;
        transform: none;
    }
    .gf-house-invite-popup {
        border-radius: 22px;
        padding: 1.5rem;
    }
    .gf-house-invite-popup__actions,
    .gf-house-hero { align-items: stretch; flex-direction: column; }
    .gf-house-invite-popup__actions .alpha-button { justify-content: center; width: 100%; }
    .gf-house-hero__actions { align-items: stretch; }
    .gf-house-directory { padding-top: 2rem; }
    .gf-house-room-header { align-items: stretch; flex-direction: column; }
    .gf-house-room-actions { align-items: stretch; }
    .gf-house-identity { align-self: flex-end; }
    .gf-house-room-toolbar { justify-content: space-between; overflow-x: auto; }
    .gf-house-room-toolbar button { flex: 1; justify-content: center; }
    .gf-house-experience { min-height: 100vh; padding: .6rem; }
    .gf-house-stage { border-radius: 18px; height: calc(100vh - 190px); min-height: 510px; }
    .gf-house-window { height: 165px; top: 35px; width: 70%; }
    .gf-house-floor { height: 68%; }
    .gf-house-scenery { height:27%; inset:18% 6% auto; }
    .gf-house-floor { bottom:7%; height:48%; inset-inline:6%; }
    .gf-house-cutaway__pillar--left { left:5%; }
    .gf-house-cutaway__pillar--right { right:5%; }
    .gf-house-world__plant { transform:scale(.7); transform-origin:bottom; }
    .gf-house-world__plant--two { transform:scale(.65) scaleX(-1); }
    .gf-house-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .gf-house-invite-popup__actions .alpha-button {
        justify-content: center;
        width: 100%;
    }
    .gf-house-hero__actions {
        align-items: stretch;
    }
    .gf-house-directory {
        padding-top: 2rem;
    }
    .gf-house-room-header {
        align-items: stretch;
        flex-direction: column;
    }
    .gf-house-room-toolbar {
        justify-content: space-between;
        overflow-x: auto;
    }
    .gf-house-room-toolbar button {
        flex: 1;
        justify-content: center;
    }
    .gf-house-experience {
        min-height: 100vh;
        padding: 0.6rem;
    }
    .gf-house-stage {
        border-radius: 18px;
        height: calc(100vh - 190px);
        min-height: 510px;
    }
    .gf-house-window {
        height: 165px;
        top: 35px;
        width: 70%;
    }
    .gf-house-floor {
        height: 68%;
    }
    .gf-house-panel,
    .gf-house-chat,
    .gf-house-people-panel {
        bottom: 0.5rem;
        left: 0.5rem;
        max-height: 62%;
        right: 0.5rem;
        top: auto;
        width: auto;
    }
    [dir="rtl"] .gf-house-panel,
    [dir="rtl"] .gf-house-chat,
    [dir="rtl"] .gf-house-people-panel { left: .5rem; right: .5rem; }
    .gf-house-avatar-studio-panel,
    [dir="rtl"] .gf-house-avatar-studio-panel { bottom:.5rem; left:.5rem; max-height:calc(100% - 1rem); right:.5rem; top:.5rem; }
    .gf-house-avatar-studio-panel .gf-avatar-studio { display:block; }
    .gf-house-avatar-studio-panel .gf-avatar-studio-preview,
    .gf-house-avatar-studio-panel .gf-avatar-appearance { margin-bottom:1rem; }
    .gf-house-placement-help { bottom: .6rem; max-width: 86%; text-align: center; white-space: normal; width:330px; }
    .gf-house-selection-tools { bottom: 3.4rem; flex-wrap: wrap; max-width:calc(100% - 2rem); }
    .gf-house-selection-tools strong { flex:1 0 100%; }
    .gf-house-store__tabs { display: flex; }
    .gf-house-store__tabs a { flex: 1; text-align: center; }
    [dir="rtl"] .gf-house-people-panel {
        left: 0.5rem;
        right: 0.5rem;
    }
    .gf-house-placement-help {
        bottom: 0.6rem;
        max-width: 82%;
        text-align: center;
        white-space: nowrap;
    }
    .gf-house-selection-tools {
        bottom: 3.4rem;
        flex-wrap: wrap;
    }
    .gf-house-store__tabs {
        display: flex;
    }
    .gf-house-store__tabs a {
        flex: 1;
        text-align: center;
    }
}

/* The vector scene has no raster ceiling; use the available UHD canvas on large displays. */
@media (min-width: 2200px) and (min-height: 1200px) {
    .gf-house-directory { max-width:2400px; }
    .gf-house-room-header,
    .gf-house-room-layout { max-width:3840px; }
    .gf-house-room-layout { min-height:calc(100vh - 190px); }
    .gf-house-stage { height:calc(100vh - 190px); min-height:1000px; }
    .gf-house-stage .gf-avatar-actor { width:clamp(84px,4vw,154px); }
    .gf-house-stage .gf-avatar-actor[data-current="false"] { width:clamp(78px,3.6vw,140px); }
    .gf-placed-furniture .gf-furniture-visual { height:clamp(110px,calc(100% + 2.8vw),300px); min-height:110px; }
    .gf-house-placement-help { font-size:1.05rem; padding:.7rem 1.1rem; }
    .gf-house-scenery-label { font-size:.9rem; padding:.55rem .85rem; }
    .gf-house-panel { width:min(440px,calc(100% - 2rem)); }
}

/* Shared soundtrack controls stay available in normal and fullscreen house views. */
.gf-house-soundtrack-panel { gap:.75rem; }
.gf-house-soundtrack-picker { color:var(--gf-house-muted); display:grid; font-size:.7rem; font-weight:800; gap:.35rem; text-transform:uppercase; }
.gf-house-soundtrack-picker select { background:color-mix(in srgb,var(--gf-house-panel) 86%,#6d4aff 14%); border:1px solid var(--gf-house-line); border-radius:12px; color:var(--gf-house-ink); font-size:.76rem; min-height:44px; padding:.6rem; text-transform:none; width:100%; }
.gf-house-soundtrack-actions { display:grid; gap:.45rem; grid-template-columns:1.35fr 1fr 1fr; }
.gf-house-soundtrack-actions button { align-items:center; background:rgba(109,74,255,.1); border:1px solid rgba(109,74,255,.22); border-radius:11px; color:var(--gf-house-ink); display:flex; font-size:.67rem; font-weight:800; gap:.3rem; justify-content:center; min-height:40px; padding:.5rem; }
.gf-house-soundtrack-actions button:first-child { background:linear-gradient(135deg,#6d4aff,#20aeb9); color:#fff; }
.gf-house-soundtrack-actions button:disabled { cursor:wait; opacity:.5; }
.gf-house-soundtrack-credit { background:rgba(109,74,255,.055); border:1px solid var(--gf-house-line); border-radius:13px; display:grid; gap:.28rem; padding:.7rem; }
.gf-house-soundtrack-credit strong { color:var(--gf-house-ink); font-size:.76rem; }
.gf-house-soundtrack-credit small { color:var(--gf-house-muted); font-size:.61rem; line-height:1.45; }
.gf-house-soundtrack-credit > span { display:flex; flex-wrap:wrap; gap:.65rem; }
.gf-house-soundtrack-credit a { color:var(--gf-house-accent); font-size:.62rem; font-weight:800; }

.gf-house-audio-dock { align-items:center; backdrop-filter:blur(18px); background:rgba(13,18,39,.9); border:1px solid rgba(255,255,255,.16); border-radius:999px; bottom:18px; box-shadow:0 18px 48px rgba(5,8,23,.38); color:#fff; display:flex; gap:.65rem; max-width:min(610px,calc(100vw - 24px)); min-height:58px; padding:.42rem; position:fixed; right:18px; transition:max-width .24s ease,background .24s ease; z-index:1060; }
.gf-house-room-page .alpha-sound-toggle { bottom:18px; inset-block-end:auto; inset-inline-end:auto; inset-inline-start:auto; left:18px; right:auto; }
.gf-house-audio-dock__toggle { align-items:center; background:linear-gradient(145deg,#6d4aff,#20b7c1); border:0; border-radius:50%; box-shadow:0 7px 19px rgba(70,65,220,.42); color:#fff; display:flex; flex:0 0 auto; font-size:1.25rem; height:46px; justify-content:center; width:46px; }
.gf-house-audio-dock[data-sound-enabled="true"] .gf-house-audio-dock__toggle { background:linear-gradient(145deg,#1fc5ae,#397de4); }
.gf-house-audio-dock__track { display:grid; line-height:1.1; max-width:0; opacity:0; overflow:hidden; transition:max-width .24s ease,opacity .2s ease; white-space:nowrap; }
.gf-house-audio-dock[data-sound-enabled="true"] .gf-house-audio-dock__track { max-width:190px; opacity:1; }
.gf-house-audio-dock__track small { color:#7de8e3; font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.gf-house-audio-dock__track strong { font-size:.74rem; max-width:190px; overflow:hidden; text-overflow:ellipsis; }
.gf-house-audio-dock__track span { color:rgba(255,255,255,.62); font-size:.55rem; }
.gf-house-audio-dock__volume { align-items:center; display:none; gap:.35rem; }
.gf-house-audio-dock[data-sound-enabled="true"] .gf-house-audio-dock__volume { display:flex; }
.gf-house-audio-dock__volume span { font-size:.6rem; }
.gf-house-audio-dock__volume input { accent-color:#63ddd3; cursor:pointer; width:clamp(76px,8vw,125px); }
.gf-house-audio-dock__volume output { color:rgba(255,255,255,.72); font-size:.58rem; min-width:32px; }
.gf-house-audio-dock__source { color:#7de8e3; display:none; font-size:.58rem; font-weight:800; margin-inline-end:.5rem; }
.gf-house-audio-dock[data-sound-enabled="true"] .gf-house-audio-dock__source:not([hidden]) { display:inline; }
.gf-house-experience:fullscreen .gf-house-audio-dock { position:absolute; }

/* Theme atmosphere: every house receives motion that belongs to its setting. */
.gf-house-effects { inset:0; overflow:hidden; pointer-events:none; position:absolute; z-index:16; }
.gf-house-effects span { animation-delay:calc(var(--fx-delay,0s) - (var(--fx-duration,8s) * .8)); animation-duration:var(--fx-duration,8s); animation-iteration-count:infinite; animation-timing-function:linear; background:var(--fx-color,rgba(255,255,255,.7)); border-radius:var(--fx-radius,50%); box-shadow:var(--fx-glow,none); height:var(--fx-size,6px); left:calc((var(--fx-index) * 5.55%) - 3%); opacity:0; position:absolute; top:var(--fx-top,-8%); width:var(--fx-width,var(--fx-size,6px)); }
.gf-house-effects span:nth-child(1) { --fx-index:1;--fx-delay:-1s;--fx-size:4px; }
.gf-house-effects span:nth-child(2) { --fx-index:2;--fx-delay:-6s;--fx-size:7px; }
.gf-house-effects span:nth-child(3) { --fx-index:3;--fx-delay:-3s;--fx-size:3px; }
.gf-house-effects span:nth-child(4) { --fx-index:4;--fx-delay:-8s;--fx-size:6px; }
.gf-house-effects span:nth-child(5) { --fx-index:5;--fx-delay:-2s;--fx-size:5px; }
.gf-house-effects span:nth-child(6) { --fx-index:6;--fx-delay:-10s;--fx-size:8px; }
.gf-house-effects span:nth-child(7) { --fx-index:7;--fx-delay:-4s;--fx-size:4px; }
.gf-house-effects span:nth-child(8) { --fx-index:8;--fx-delay:-7s;--fx-size:6px; }
.gf-house-effects span:nth-child(9) { --fx-index:9;--fx-delay:-12s;--fx-size:3px; }
.gf-house-effects span:nth-child(10) { --fx-index:10;--fx-delay:-5s;--fx-size:7px; }
.gf-house-effects span:nth-child(11) { --fx-index:11;--fx-delay:-9s;--fx-size:4px; }
.gf-house-effects span:nth-child(12) { --fx-index:12;--fx-delay:-1.5s;--fx-size:8px; }
.gf-house-effects span:nth-child(13) { --fx-index:13;--fx-delay:-6.5s;--fx-size:5px; }
.gf-house-effects span:nth-child(14) { --fx-index:14;--fx-delay:-3.5s;--fx-size:3px; }
.gf-house-effects span:nth-child(15) { --fx-index:15;--fx-delay:-8.5s;--fx-size:6px; }
.gf-house-effects span:nth-child(16) { --fx-index:16;--fx-delay:-11s;--fx-size:4px; }
.gf-house-effects span:nth-child(17) { --fx-index:17;--fx-delay:-4.5s;--fx-size:7px; }
.gf-house-effects span:nth-child(18) { --fx-index:18;--fx-delay:-9.5s;--fx-size:5px; }

@keyframes gf-fx-fall { 0% { opacity:0; transform:translate3d(0,-8vh,0) rotate(0); } 12% { opacity:.9; } 100% { opacity:0; transform:translate3d(var(--fx-drift,30px),105vh,0) rotate(540deg); } }
@keyframes gf-fx-rain { 0% { opacity:0; transform:translate3d(4vw,-12vh,0) rotate(14deg); } 8% { opacity:.75; } 100% { opacity:0; transform:translate3d(-14vw,108vh,0) rotate(14deg); } }
@keyframes gf-fx-rise { 0% { opacity:0; transform:translate3d(0,92vh,0) scale(.55); } 15% { opacity:.85; } 75% { opacity:.55; } 100% { opacity:0; transform:translate3d(var(--fx-drift,28px),-12vh,0) scale(1.35); } }
@keyframes gf-fx-drift { 0% { opacity:0; transform:translate3d(-10vw,20vh,0); } 18% { opacity:.75; } 82% { opacity:.45; } 100% { opacity:0; transform:translate3d(108vw,var(--fx-drift,10vh),0); } }
@keyframes gf-fx-pulse { 0%,100% { opacity:.12; transform:scale(.45); } 45% { opacity:.95; transform:scale(1.7); } }
@keyframes gf-fx-orbit { from { opacity:.25; transform:rotate(0deg) translateX(8vw) rotate(0deg); } 50% { opacity:.9; } to { opacity:.25; transform:rotate(360deg) translateX(8vw) rotate(-360deg); } }
@keyframes gf-fx-water { 0%,100% { filter:brightness(.9); transform:translateX(-2%); } 50% { filter:brightness(1.35); transform:translateX(2%); } }
@keyframes gf-fx-sway { 0%,100% { transform:rotate(-3deg); } 50% { transform:rotate(4deg); } }
@keyframes gf-fx-cloud { 0%,100% { margin-left:-1.5%; } 50% { margin-left:2%; } }
@keyframes gf-fx-spin { to { transform:rotate(378deg); } }
@keyframes gf-fx-beam { 0%,100% { filter:drop-shadow(0 0 5px #ffeaa0); opacity:.55; transform:rotate(-12deg); } 50% { filter:drop-shadow(0 0 24px #fff1a2); opacity:1; transform:rotate(12deg); } }
@keyframes gf-fx-haze { 0%,100% { filter:blur(0); transform:skewX(-1deg) scaleX(1); } 50% { filter:blur(2px); transform:skewX(2deg) scaleX(1.02); } }
@keyframes gf-fx-float-world { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }

/* 40 individual scene treatments, layered over the shared architecture. */
.gf-house-stage[data-scene="city_loft"] .gf-house-effects span { --fx-color:#ffd36d;--fx-glow:0 0 7px #ff9e4b;--fx-duration:3.8s;animation:gf-fx-pulse var(--fx-duration) ease-in-out var(--fx-delay) infinite;top:calc(8% + (var(--fx-index) % 5) * 6%); }
.gf-house-stage[data-scene="sunlit_studio"] .gf-house-effects span { --fx-color:rgba(255,239,157,.72);--fx-duration:12s;--fx-drift:25vh;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="suburban_townhouse"] .gf-house-world__cloud { animation:gf-fx-cloud 7s ease-in-out infinite; }
.gf-house-stage[data-scene="suburban_townhouse"] .gf-house-effects span { --fx-color:#fff;--fx-size:3px;--fx-width:14px;--fx-radius:70% 15%;--fx-duration:15s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="meadow_cottage"] .gf-house-effects span { --fx-color:#f29ab4;--fx-radius:90% 10% 90% 10%;--fx-duration:10s;--fx-drift:70px;animation:gf-fx-fall var(--fx-duration) ease-in var(--fx-delay) infinite; }
.gf-house-stage[data-scene="forest_cabin"] .gf-house-effects span { --fx-color:#ffe66d;--fx-glow:0 0 10px #cfff75;--fx-duration:7s;--fx-top:30%;animation:gf-fx-rise var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="alpine_chalet"] .gf-house-effects span { --fx-color:#fff;--fx-duration:9s;--fx-drift:45px;animation:gf-fx-fall var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="lakeside_lodge"] .gf-house-world__water { animation:gf-fx-water 5.5s ease-in-out infinite; }
.gf-house-stage[data-scene="lakeside_lodge"] .gf-house-effects span { --fx-color:rgba(202,246,255,.72);--fx-size:2px;--fx-width:22px;--fx-duration:8s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite;top:66%; }
.gf-house-stage[data-scene="mediterranean_townhome"] .gf-house-world__water { animation:gf-fx-water 3.8s ease-in-out infinite; }
.gf-house-stage[data-scene="mediterranean_townhome"] .gf-house-effects span { --fx-color:#fff8c4;--fx-glow:0 0 8px #fff;--fx-duration:5s;animation:gf-fx-pulse var(--fx-duration) ease var(--fx-delay) infinite;top:calc(12% + (var(--fx-index) % 4) * 8%); }
.gf-house-stage[data-scene="garden_villa"] .gf-house-world__plant { animation:gf-fx-sway 4.2s ease-in-out infinite; transform-origin:bottom; }
.gf-house-stage[data-scene="garden_villa"] .gf-house-effects span { --fx-color:#e3e989;--fx-radius:90% 5%;--fx-duration:13s;animation:gf-fx-fall var(--fx-duration) ease-in var(--fx-delay) infinite; }
.gf-house-stage[data-scene="kyoto_machiya"] .gf-house-effects span { --fx-color:#ff9fbd;--fx-radius:80% 10% 80% 10%;--fx-duration:11s;--fx-drift:90px;animation:gf-fx-fall var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="tuscan_farmhouse"] .gf-house-effects span { --fx-color:#f8d773;--fx-size:3px;--fx-glow:0 0 5px #f6be4c;--fx-duration:14s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="tropical_bungalow"] .gf-house-world__plant { animation:gf-fx-sway 3.2s ease-in-out infinite; transform-origin:bottom; }
.gf-house-stage[data-scene="tropical_bungalow"] .gf-house-effects span { --fx-color:rgba(255,255,255,.75);--fx-size:3px;--fx-width:18px;--fx-duration:9s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite;top:68%; }
.gf-house-stage[data-scene="desert_oasis"] .gf-house-world__terrain { animation:gf-fx-haze 5s ease-in-out infinite; }
.gf-house-stage[data-scene="desert_oasis"] .gf-house-effects span { --fx-color:#f2bf79;--fx-size:2px;--fx-width:20px;--fx-duration:7s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="azure_beach"] .gf-house-world__water { animation:gf-fx-water 2.8s ease-in-out infinite; }
.gf-house-stage[data-scene="azure_beach"] .gf-house-effects span { --fx-color:#e9ffff;--fx-size:3px;--fx-width:24px;--fx-duration:6s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite;top:62%; }
.gf-house-stage[data-scene="cliffside_villa"] .gf-house-effects span { --fx-color:rgba(223,246,255,.58);--fx-size:12px;--fx-width:48px;--fx-radius:50%;--fx-duration:13s;filter:blur(6px);animation:gf-fx-drift var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="glass_treehouse"] .gf-house-effects span { --fx-color:#8ff8a1;--fx-glow:0 0 12px #6effb3;--fx-duration:9s;animation:gf-fx-rise var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="skyline_penthouse"] .gf-house-effects span { --fx-color:#b782ff;--fx-glow:0 0 12px #6ca8ff;--fx-duration:2.7s;animation:gf-fx-pulse var(--fx-duration) ease-in-out var(--fx-delay) infinite;top:calc(7% + (var(--fx-index) % 6) * 6%); }
.gf-house-stage[data-scene="private_island"] .gf-house-world__water { animation:gf-fx-water 3.4s ease-in-out infinite; }
.gf-house-stage[data-scene="private_island"] .gf-house-world__cloud { animation:gf-fx-cloud 9s ease-in-out infinite; }
.gf-house-stage[data-scene="aurora_palace"] .gf-house-world__sky { animation:gf-fx-haze 4.5s ease-in-out infinite; filter:hue-rotate(0deg); }
.gf-house-stage[data-scene="aurora_palace"] .gf-house-effects span { --fx-color:#74ffd1;--fx-glow:0 0 15px #875fff;--fx-duration:5s;animation:gf-fx-pulse var(--fx-duration) ease-in-out var(--fx-delay) infinite;top:calc(4% + (var(--fx-index) % 5) * 6%); }
.gf-house-stage[data-scene="floating_sky_villa"] .gf-house-world__cloud { animation:gf-fx-float-world 6s ease-in-out infinite; }
.gf-house-stage[data-scene="floating_sky_villa"] .gf-house-effects span { --fx-color:rgba(255,255,255,.72);--fx-size:10px;--fx-width:45px;--fx-duration:16s;filter:blur(5px);animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="canal_palazzo"] .gf-house-world__water { animation:gf-fx-water 4.3s ease-in-out infinite; }
.gf-house-stage[data-scene="canal_palazzo"] .gf-house-effects span { --fx-color:#ffc35f;--fx-glow:0 0 12px #ff8d58;--fx-duration:4.4s;animation:gf-fx-pulse var(--fx-duration) ease var(--fx-delay) infinite;top:calc(35% + (var(--fx-index) % 5) * 7%); }
.gf-house-stage[data-scene="lighthouse_cliff"] .gf-house-world__landmark--one::after { animation:gf-fx-beam 4.8s ease-in-out infinite; transform-origin:center bottom; }
.gf-house-stage[data-scene="lighthouse_cliff"] .gf-house-effects span { --fx-color:#dff8ff;--fx-size:2px;--fx-width:20px;--fx-duration:5s;animation:gf-fx-rain var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="greenhouse_atrium"] .gf-house-effects span { --fx-color:#d8ffb0;--fx-glow:0 0 8px #8ee488;--fx-duration:12s;animation:gf-fx-rise var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="windmill_hill"] .gf-house-world__landmark--one::after { animation:gf-fx-spin 7s linear infinite; transform-origin:center; }
.gf-house-stage[data-scene="windmill_hill"] .gf-house-effects span { --fx-color:#e7c56a;--fx-size:2px;--fx-width:16px;--fx-duration:10s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="sakura_castle_island"] .gf-house-effects span { --fx-color:#ff91b6;--fx-radius:90% 5% 80% 10%;--fx-duration:9s;--fx-drift:110px;animation:gf-fx-fall var(--fx-duration) ease-in var(--fx-delay) infinite; }
.gf-house-stage[data-scene="redwood_canopy_village"] .gf-house-effects span { --fx-color:#d9ef84;--fx-glow:0 0 9px #c0ef6d;--fx-duration:11s;animation:gf-fx-rise var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="nile_garden_citadel"] .gf-house-world__water { animation:gf-fx-water 5.8s ease-in-out infinite; }
.gf-house-stage[data-scene="nile_garden_citadel"] .gf-house-effects span { --fx-color:#f8d887;--fx-size:3px;--fx-duration:15s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="waterfall_temple"] .gf-house-effects span { --fx-color:rgba(219,255,255,.8);--fx-size:2px;--fx-width:11px;--fx-duration:2.2s;animation:gf-fx-fall var(--fx-duration) linear var(--fx-delay) infinite;left:calc(42% + (var(--fx-index) % 7) * 2.2%); }
.gf-house-stage[data-scene="arctic_research_dome"] .gf-house-effects span { --fx-color:#fff;--fx-duration:7.5s;--fx-drift:85px;animation:gf-fx-fall var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="crystal_cavern_estate"] .gf-house-world__landmark { animation:gf-fx-pulse 3.8s ease-in-out infinite; }
.gf-house-stage[data-scene="crystal_cavern_estate"] .gf-house-effects span { --fx-color:#9dfff2;--fx-glow:0 0 14px #b16cff;--fx-duration:4s;animation:gf-fx-pulse var(--fx-duration) ease var(--fx-delay) infinite;top:calc(8% + (var(--fx-index) % 8) * 7%); }
.gf-house-stage[data-scene="solar_desert_arcology"] .gf-house-world__terrain { animation:gf-fx-haze 3.5s ease-in-out infinite; }
.gf-house-stage[data-scene="solar_desert_arcology"] .gf-house-effects span { --fx-color:#ffc86d;--fx-size:2px;--fx-width:25px;--fx-duration:6.5s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="dragon_peak_monastery"] .gf-house-world__cloud { animation:gf-fx-cloud 5s ease-in-out infinite; }
.gf-house-stage[data-scene="dragon_peak_monastery"] .gf-house-effects span { --fx-color:rgba(255,244,214,.8);--fx-radius:90% 10%;--fx-duration:12s;animation:gf-fx-fall var(--fx-duration) ease-in-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="neo_tokyo_rain_tower"] .gf-house-effects span { --fx-color:#5cf5ff;--fx-width:2px;--fx-size:26px;--fx-radius:2px;--fx-duration:1.15s;--fx-glow:0 0 6px #ff4fa2;animation:gf-fx-rain var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="mars_canyon_habitat"] .gf-house-effects span { --fx-color:#e88a62;--fx-size:3px;--fx-width:24px;--fx-duration:8s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }
.gf-house-stage[data-scene="volcanic_caldera"] .gf-house-effects span { --fx-color:#ff7b32;--fx-glow:0 0 13px #ff321f;--fx-duration:4.3s;animation:gf-fx-rise var(--fx-duration) ease-out var(--fx-delay) infinite; }
.gf-house-stage[data-scene="underwater_coral_dome"] .gf-house-effects span { --fx-color:transparent;--fx-size:11px;--fx-width:11px;--fx-glow:inset 0 0 0 2px rgba(218,255,255,.75),0 0 7px rgba(114,247,241,.45);--fx-duration:7s;animation:gf-fx-rise var(--fx-duration) ease-in var(--fx-delay) infinite; }
.gf-house-stage[data-scene="lunar_observatory"] .gf-house-effects span { --fx-color:#fff;--fx-glow:0 0 8px #9bc4ff;--fx-duration:3.6s;animation:gf-fx-pulse var(--fx-duration) ease-in-out var(--fx-delay) infinite;top:calc(3% + (var(--fx-index) % 7) * 5%); }
.gf-house-stage[data-scene="orbital_ring_residence"] .gf-house-effects span { --fx-color:#b2c8ff;--fx-glow:0 0 10px #847cff;--fx-duration:12s;--fx-top:23%;animation:gf-fx-orbit var(--fx-duration) linear var(--fx-delay) infinite;left:48%; }
.gf-house-stage[data-scene="cloud_kingdom_castle"] .gf-house-world__cloud { animation:gf-fx-float-world 5.4s ease-in-out infinite; }
.gf-house-stage[data-scene="cloud_kingdom_castle"] .gf-house-effects span { --fx-color:#fff4b0;--fx-glow:0 0 13px #fff;--fx-duration:6s;animation:gf-fx-pulse var(--fx-duration) ease var(--fx-delay) infinite;top:calc(5% + (var(--fx-index) % 7) * 6%); }
.gf-house-stage[data-scene="celestial_airship_mansion"] .gf-house-cutaway__roof-detail { animation:gf-fx-float-world 4.5s ease-in-out infinite; }
.gf-house-stage[data-scene="celestial_airship_mansion"] .gf-house-effects span { --fx-color:rgba(255,242,207,.72);--fx-size:4px;--fx-width:34px;--fx-duration:10s;animation:gf-fx-drift var(--fx-duration) linear var(--fx-delay) infinite; }

@media (max-width: 767px) {
    .gf-house-audio-dock { bottom:10px; max-width:calc(100vw - 20px); right:10px; }
    .gf-house-audio-dock[data-sound-enabled="true"] { border-radius:22px; flex-wrap:wrap; max-width:min(350px,calc(100vw - 20px)); }
    .gf-house-audio-dock[data-sound-enabled="true"] .gf-house-audio-dock__track { max-width:220px; }
    .gf-house-audio-dock__volume { margin-inline-start:52px; }
    .gf-house-audio-dock__source { margin-inline-start:auto; }
}

@media (prefers-reduced-motion: reduce) {
    .alpha-house-nav__menu,
    .gf-house-card,
    .gf-store-card,
    .gf-placed-furniture,
    .gf-house-effects span,
    .gf-house-world *,
    .gf-house-cutaway * { animation: none !important; transition: none !important; }
    .gf-house-effects { display:none; }
    .gf-placed-furniture {
        animation: none;
        transition: none;
    }
}

/* Grid-fitted furniture catalog -------------------------------------------------
   The placement button is only a hitbox. Artwork stays transparent and consumes
   the complete integer grid footprint supplied by the catalog. */
.gf-house-floor .gf-placed-furniture {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    overflow: visible;
    padding: 0;
}
.gf-house-floor .gf-placed-furniture:hover,
.gf-house-floor .gf-placed-furniture.is-selected {
    background: color-mix(in srgb, #6d4aff 8%, transparent);
    border-color: color-mix(in srgb, #6d4aff 78%, transparent);
    box-shadow: 0 0 0 3px color-mix(in srgb, #6d4aff 18%, transparent);
}
.gf-furniture-object {
    aspect-ratio: var(--gf-object-cols, 1) / var(--gf-object-rows, 1);
    height: min(100%, calc(var(--gf-object-rows, 1) * 52px));
    max-height: 100%;
    max-width: 100%;
    width: min(100%, calc(var(--gf-object-cols, 1) * 52px));
}
.gf-placed-furniture .gf-furniture-visual { height: 100%; inset: 0; min-height: 0; position: absolute; width: 100%; }
.gf-placed-furniture .gf-furniture-object { aspect-ratio: auto; height: 100%; max-height: none; max-width: none; width: 100%; }
.gf-furniture-object__asset { display: block; height: 100%; inset: 0; object-fit: contain; position: absolute; width: 100%; z-index: 20; }
.gf-furniture-object:has(.gf-furniture-object__asset) :is(.gf-furniture-object__part, .gf-furniture-object__shadow) { display: none; }
.gf-store-card--furniture .gf-furniture-object { height: min(94%, calc(var(--gf-object-rows, 1) * 45px)); max-width: 96%; width: min(96%, calc(var(--gf-object-cols, 1) * 58px)); }
.gf-inventory-item .gf-furniture-object { height: min(42px, calc(var(--gf-object-rows, 1) * 24px)); max-width: 48px; width: min(48px, calc(var(--gf-object-cols, 1) * 24px)); }

/* Three complete color systems make the new collections read as coordinated
   Japanese, anime-inspired and Arabian rooms without copyrighted characters. */
.gf-furniture-object[data-theme="japanese"] { --gf-object-1:#49362d;--gf-object-2:#a86b55;--gf-object-3:#f0d8cc; }
.gf-furniture-object[data-theme="anime"] { --gf-object-1:#33296f;--gf-object-2:#7b5cff;--gf-object-3:#73eff2; filter:drop-shadow(0 8px 4px rgba(36,24,92,.3)) drop-shadow(0 0 7px rgba(255,91,203,.24)); }
.gf-furniture-object[data-theme="arabian"] { --gf-object-1:#5f3028;--gf-object-2:#b45c43;--gf-object-3:#e6bd67; }
.gf-furniture-object[data-theme="japanese"][data-kind="tables"] .gf-furniture-object__part--1,
.gf-furniture-object[data-theme="japanese"][data-kind="study"] .gf-furniture-object__part--1 { background:linear-gradient(#c99a69,#70452f);border-color:#49332a; }
.gf-furniture-object[data-theme="anime"][data-kind="tables"] .gf-furniture-object__part--1,
.gf-furniture-object[data-theme="anime"][data-kind="study"] .gf-furniture-object__part--1 { background:linear-gradient(90deg,#52e5ee,#8b5dff,#ff65bd);border-color:#302469; }
.gf-furniture-object[data-theme="arabian"][data-kind="tables"] .gf-furniture-object__part--1,
.gf-furniture-object[data-theme="arabian"][data-kind="study"] .gf-furniture-object__part--1 { background:linear-gradient(#e1b457,#9d492f);border-color:#673023; }
.gf-furniture-object[data-theme="japanese"][data-kind="storage"] .gf-furniture-object__part--1 { background:repeating-linear-gradient(90deg,#4a342a 0 8%,#987055 9% 18%); }
.gf-furniture-object[data-theme="anime"][data-kind="storage"] .gf-furniture-object__part--1 { background:linear-gradient(135deg,#202b61,#6547ba 60%,#d458a9);border-color:#151b46; }
.gf-furniture-object[data-theme="arabian"][data-kind="storage"] .gf-furniture-object__part--1 { background:repeating-linear-gradient(90deg,#723322 0 10%,#ca7a3f 11% 20%);border-color:#55251d; }
.gf-furniture-object[data-theme="japanese"][data-kind="lighting"] .gf-furniture-object__part--2 { background:linear-gradient(#fff6d9,#e4b777);box-shadow:0 0 18px #f0c988; }
.gf-furniture-object[data-theme="anime"][data-kind="lighting"] .gf-furniture-object__part--2 { background:linear-gradient(#f9f1ff,#69eff1 48%,#f260c5);box-shadow:0 0 22px #7cf3ff; }
.gf-furniture-object[data-theme="arabian"][data-kind="lighting"] .gf-furniture-object__part--2 { background:radial-gradient(circle,#fff3b6,#e3a438 58%,#8b3f27);box-shadow:0 0 21px #ffc55c; }
.gf-furniture-object[data-theme="anime"][data-kind="technology"] .gf-furniture-object__part--2 { background:linear-gradient(135deg,#61f5ef,#725dff 48%,#ff5bb8);box-shadow:inset 0 0 18px rgba(255,255,255,.4),0 0 12px #6a5cff; }
.gf-furniture-object[data-theme="arabian"][data-kind="technology"] .gf-furniture-object__part--1 { border-color:#c28e45; }
.gf-furniture-object[data-theme="arabian"][data-kind="technology"] .gf-furniture-object__part--2 { background:linear-gradient(135deg,#176f78,#42b8ad 50%,#d7ad52); }
.gf-furniture-object[data-theme="japanese"][data-kind="sleeping"] .gf-furniture-object__part--2 { background:linear-gradient(145deg,#f4e7d2,#c46d79); }
.gf-furniture-object[data-theme="anime"][data-kind="sleeping"] .gf-furniture-object__part--2 { background:linear-gradient(145deg,#6ce7ee,#7867df 55%,#f17bc5); }
.gf-furniture-object[data-theme="arabian"][data-kind="sleeping"] .gf-furniture-object__part--2 { background:repeating-linear-gradient(45deg,#f1ce79 0 12%,#a64234 13% 25%,#176b72 26% 38%); }

/* Named silhouettes provide a full recognizable shape for every themed item. */
.gf-furniture-object[data-object*="floor_cushion"] .gf-furniture-object__part--1,
.gf-furniture-object[data-object*="pet_nook"] .gf-furniture-object__part--1 { border-radius:50% 50% 28% 28%;height:38%;left:13%;top:auto;bottom:16%;width:74%; }
.gf-furniture-object[data-object*="floor_cushion"] .gf-furniture-object__part--2,
.gf-furniture-object[data-object*="pet_nook"] .gf-furniture-object__part--2 { bottom:10%;height:22%;left:8%;width:84%; }
.gf-furniture-object[data-object*="loveseat"] .gf-furniture-object__part--1,
.gf-furniture-object[data-object*="balcony_bench"] .gf-furniture-object__part--1 { border-radius:24px 24px 8px 8px;height:45%;left:8%;top:18%;width:84%; }
.gf-furniture-object[data-object*="loveseat"] .gf-furniture-object__part--2,
.gf-furniture-object[data-object*="balcony_bench"] .gf-furniture-object__part--2 { left:5%;width:90%; }
.gf-furniture-object[data-object*="tea_table"] .gf-furniture-object__part--1 { border-radius:50%;height:28%;left:12%;top:40%;width:76%; }
.gf-furniture-object[data-object*="storage_chest"] .gf-furniture-object__part--1 { border-radius:48% 48% 8px 8px;height:62%;left:8%;top:20%;width:84%; }
.gf-furniture-object[data-object*="storage_chest"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3,.gf-furniture-object__part--4) { display:none; }
.gf-furniture-object[data-object*="screen_divider"] .gf-furniture-object__part--1 { background:repeating-linear-gradient(90deg,var(--gf-object-1) 0 4%,var(--gf-object-3) 5% 29%,var(--gf-object-1) 30% 34%);border:5px solid var(--gf-object-1);border-radius:5px;display:block;height:82%;left:5%;top:7%;width:90%; }
.gf-furniture-object[data-object*="screen_divider"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3,.gf-furniture-object__part--4,.gf-furniture-object__part--5) { display:none; }
.gf-furniture-object[data-object*="wall_art"] .gf-furniture-object__part--1 { background:linear-gradient(145deg,var(--gf-object-3),var(--gf-object-2));border:8px double var(--gf-object-1);border-radius:4px;display:block;height:72%;left:12%;top:10%;width:76%; }
.gf-furniture-object[data-object*="wall_art"] .gf-furniture-object__part--2 { background:radial-gradient(circle,var(--gf-object-3) 0 18%,transparent 19%),linear-gradient(135deg,transparent 42%,var(--gf-object-1) 43% 57%,transparent 58%);display:block;inset:23% 25%; }
.gf-furniture-object[data-object*="round_rug"] .gf-furniture-object__part--1,
.gf-furniture-object[data-object*="runner_rug"] .gf-furniture-object__part--1 { background:repeating-linear-gradient(45deg,var(--gf-object-1) 0 9%,var(--gf-object-3) 10% 18%,var(--gf-object-2) 19% 27%);border-color:var(--gf-object-1); }
.gf-furniture-object[data-object*="runner_rug"] .gf-furniture-object__part--1 { border-radius:45%;height:36%;left:3%;width:94%; }
.gf-furniture-object[data-object*="tea_service"] .gf-furniture-object__part--1 { background:var(--gf-object-3);border:4px solid var(--gf-object-1);border-radius:50% 50% 35% 35%;bottom:20%;display:block;height:48%;left:30%;width:40%; }
.gf-furniture-object[data-object*="tea_service"] .gf-furniture-object__part--2 { border:4px solid var(--gf-object-1);border-inline-start:0;border-radius:0 50% 50% 0;display:block;height:24%;right:18%;top:43%;width:18%; }
.gf-furniture-object:is([data-object="cinema_wall"],[data-object*="media_wall"]) .gf-furniture-object__part--1 { height:72%;left:3%;top:5%;width:94%; }
.gf-furniture-object:is([data-object="cinema_wall"],[data-object*="media_wall"]) .gf-furniture-object__part--2 { height:56%;left:7%;top:11%;width:86%; }
.gf-furniture-object:is([data-object="cinema_wall"],[data-object*="media_wall"]) .gf-furniture-object__part--3 { bottom:7%;height:10%;left:12%;width:76%; }
.gf-furniture-object:is([data-object="cinema_wall"],[data-object*="media_wall"]) .gf-furniture-object__part--4 { display:none; }
.gf-furniture-object[data-object*="game_station"] .gf-furniture-object__part--1 { height:61%;left:6%;top:5%;width:88%; }
.gf-furniture-object[data-object*="game_station"] .gf-furniture-object__part--5 { background:radial-gradient(circle,#ffec72 0 15%,#313650 16% 52%,transparent 53%);bottom:4%;display:block;height:30%;left:13%;width:24%; }
.gf-furniture-object[data-object*="telescope"] .gf-furniture-object__part--1 { background:linear-gradient(90deg,#27344b,#9caabd);border:4px solid var(--gf-object-1);border-radius:50% 20% 20% 50%;display:block;height:27%;left:13%;top:20%;transform:rotate(-18deg);width:72%; }
.gf-furniture-object[data-object*="telescope"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3) { background:var(--gf-object-1);bottom:7%;display:block;height:55%;top:auto;transform-origin:top;width:6%; }
.gf-furniture-object[data-object*="telescope"] .gf-furniture-object__part--2 { left:43%;transform:rotate(17deg); }
.gf-furniture-object[data-object*="telescope"] .gf-furniture-object__part--3 { right:40%;transform:rotate(-17deg); }
.gf-furniture-object[data-object*="garden_gate"] .gf-furniture-object__part--1 { background:transparent;border:10px solid var(--gf-object-1);border-bottom:0;border-radius:50% 50% 0 0;display:block;height:86%;left:12%;top:4%;width:76%; }
.gf-furniture-object[data-object*="garden_gate"] .gf-furniture-object__part--2 { background:repeating-linear-gradient(90deg,var(--gf-object-1) 0 5%,transparent 6% 18%);bottom:8%;display:block;height:65%;left:22%;width:56%; }
.gf-furniture-object[data-object*="sculpture"] .gf-furniture-object__part--1 { background:linear-gradient(145deg,var(--gf-object-3),var(--gf-object-2));border:5px solid var(--gf-object-1);clip-path:polygon(50% 0,69% 27%,95% 39%,73% 59%,79% 91%,50% 73%,21% 91%,27% 59%,5% 39%,31% 27%);display:block;height:74%;left:18%;top:3%;width:64%; }
.gf-furniture-object[data-object*="sculpture"] .gf-furniture-object__part--2 { background:var(--gf-object-1);border-radius:4px;bottom:6%;display:block;height:16%;left:27%;width:46%; }

/* Legacy playbook pieces predate the themed catalog. Their individual
   silhouettes prevent the category fallback from making every study item a
   desk or every feature item a fireplace. */
.gf-furniture-object[data-object^="playbook-"] .gf-furniture-object__part { display:none; }
.gf-furniture-object[data-object="playbook-rainbow-rug"] .gf-furniture-object__part--1 {
    background:repeating-linear-gradient(90deg,#ef5d70 0 14%,#f2a84b 15% 28%,#f5dd62 29% 42%,#64c987 43% 56%,#4d9ce8 57% 70%,#8d6ade 71% 84%,#ef72b0 85% 100%);
    border:4px solid #704d7f;border-radius:50%;bottom:12%;display:block;height:50%;left:3%;width:94%;
}
.gf-furniture-object[data-object="playbook-low-reading-sofa"] .gf-furniture-object__part--1 {
    background:linear-gradient(145deg,#79c9c3,#4888ac);border:4px solid #30526e;border-radius:26px 26px 9px 9px;display:block;height:47%;left:8%;top:16%;width:84%;
}
.gf-furniture-object[data-object="playbook-low-reading-sofa"] .gf-furniture-object__part--2 {
    background:linear-gradient(#f5c46f,#e89162);border:4px solid #704b55;border-radius:18px;bottom:17%;display:block;height:31%;left:4%;width:92%;
}
.gf-furniture-object[data-object="playbook-low-reading-sofa"] :is(.gf-furniture-object__part--3,.gf-furniture-object__part--4) {
    background:#30526e;border-radius:8px;bottom:5%;display:block;height:19%;width:7%;
}
.gf-furniture-object[data-object="playbook-low-reading-sofa"] .gf-furniture-object__part--3 { left:17%; }
.gf-furniture-object[data-object="playbook-low-reading-sofa"] .gf-furniture-object__part--4 { right:17%; }
.gf-furniture-object[data-object="playbook-counting-table"] .gf-furniture-object__part--1 {
    background:radial-gradient(circle at 18% 50%,#f05e72 0 4%,transparent 5%),radial-gradient(circle at 35% 50%,#f1b84b 0 4%,transparent 5%),radial-gradient(circle at 52% 50%,#65bd86 0 4%,transparent 5%),radial-gradient(circle at 69% 50%,#4f91df 0 4%,transparent 5%),radial-gradient(circle at 86% 50%,#8467d1 0 4%,transparent 5%),linear-gradient(#f5dd9e,#d99a58);
    border:4px solid #75472f;border-radius:50%;display:block;height:29%;left:5%;top:35%;width:90%;
}
.gf-furniture-object[data-object="playbook-counting-table"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3) { background:#70442f;bottom:8%;display:block;height:38%;width:8%; }
.gf-furniture-object[data-object="playbook-counting-table"] .gf-furniture-object__part--2 { left:22%; }
.gf-furniture-object[data-object="playbook-counting-table"] .gf-furniture-object__part--3 { right:22%; }
.gf-furniture-object[data-object="playbook-quran-stand"] :is(.gf-furniture-object__part--1,.gf-furniture-object__part--2) {
    background:linear-gradient(#c38b46,#704428);border:3px solid #55301f;border-radius:7px;bottom:10%;display:block;height:69%;left:39%;transform-origin:50% 80%;width:20%;
}
.gf-furniture-object[data-object="playbook-quran-stand"] .gf-furniture-object__part--1 { transform:rotate(35deg); }
.gf-furniture-object[data-object="playbook-quran-stand"] .gf-furniture-object__part--2 { transform:rotate(-35deg); }
.gf-furniture-object[data-object="playbook-quran-stand"] .gf-furniture-object__part--3 {
    background:linear-gradient(90deg,#fff6d5 0 48%,#c9a95f 49% 51%,#fff6d5 52%);border:3px solid #38706a;border-radius:45% 45% 12% 12%;display:block;height:36%;left:17%;top:9%;transform:perspective(80px) rotateX(18deg);width:66%;
}
.gf-furniture-object[data-object="playbook-plant-shelf"] .gf-furniture-object__part--1 {
    background:repeating-linear-gradient(0deg,#70472f 0 5%,transparent 6% 27%);border:7px solid #70472f;border-radius:8px;display:block;height:87%;left:16%;top:5%;width:68%;
}
.gf-furniture-object[data-object="playbook-plant-shelf"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3,.gf-furniture-object__part--4) {
    background:radial-gradient(ellipse at 30% 35%,#79bd5e 0 23%,transparent 25%),radial-gradient(ellipse at 70% 35%,#4e9657 0 23%,transparent 25%),linear-gradient(90deg,transparent 34%,#ad6744 35% 66%,transparent 67%);
    display:block;height:23%;left:22%;width:56%;
}
.gf-furniture-object[data-object="playbook-plant-shelf"] .gf-furniture-object__part--2 { top:8%; }
.gf-furniture-object[data-object="playbook-plant-shelf"] .gf-furniture-object__part--3 { top:37%; }
.gf-furniture-object[data-object="playbook-plant-shelf"] .gf-furniture-object__part--4 { top:66%; }
.gf-furniture-object[data-object="playbook-story-lamp"] .gf-furniture-object__part--1 { background:#5a4a43;bottom:12%;display:block;height:61%;left:47%;width:7%; }
.gf-furniture-object[data-object="playbook-story-lamp"] .gf-furniture-object__part--2 { background:radial-gradient(circle at 50% 75%,#fff9c7,#ffd66f 58%,#dc9551);border:4px solid #895b42;border-radius:50% 50% 22% 22%;box-shadow:0 0 24px rgba(255,214,111,.88);display:block;height:31%;left:21%;top:7%;width:58%; }
.gf-furniture-object[data-object="playbook-story-lamp"] .gf-furniture-object__part--3 { background:#5a4a43;border-radius:50%;bottom:5%;display:block;height:9%;left:26%;width:48%; }
.gf-furniture-object[data-object="playbook-art-basket"] .gf-furniture-object__part--1 { background:repeating-linear-gradient(45deg,#b66d40 0 8%,#e3a65f 9% 17%);border:4px solid #78452d;clip-path:polygon(9% 0,91% 0,80% 100%,20% 100%);bottom:8%;display:block;height:52%;left:14%;width:72%; }
.gf-furniture-object[data-object="playbook-art-basket"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3,.gf-furniture-object__part--4,.gf-furniture-object__part--5,.gf-furniture-object__part--6) { border-radius:999px 999px 3px 3px;bottom:46%;display:block;height:45%;transform-origin:bottom;width:7%; }
.gf-furniture-object[data-object="playbook-art-basket"] .gf-furniture-object__part--2 { background:#e94f5f;left:30%;transform:rotate(-18deg); }
.gf-furniture-object[data-object="playbook-art-basket"] .gf-furniture-object__part--3 { background:#f3bb48;left:40%;transform:rotate(-8deg); }
.gf-furniture-object[data-object="playbook-art-basket"] .gf-furniture-object__part--4 { background:#51af76;left:50%;transform:rotate(4deg); }
.gf-furniture-object[data-object="playbook-art-basket"] .gf-furniture-object__part--5 { background:#4b91df;left:60%;transform:rotate(13deg); }
.gf-furniture-object[data-object="playbook-art-basket"] .gf-furniture-object__part--6 { background:#8a62cf;left:68%;transform:rotate(20deg); }
.gf-furniture-object[data-object="playbook-weather-board"] .gf-furniture-object__part--1 { background:linear-gradient(#87d8f2,#dff5f8);border:7px solid #71533c;border-radius:8px;display:block;height:77%;left:8%;top:6%;width:84%; }
.gf-furniture-object[data-object="playbook-weather-board"] .gf-furniture-object__part--2 { background:#ffd75f;border-radius:50%;box-shadow:0 0 0 5px rgba(255,210,85,.3);display:block;height:27%;left:18%;top:21%;width:25%; }
.gf-furniture-object[data-object="playbook-weather-board"] .gf-furniture-object__part--3 { background:linear-gradient(#fff,#d9e3ed);border-radius:999px;display:block;height:17%;right:14%;top:41%;width:43%; }
.gf-furniture-object[data-object="playbook-weather-board"] .gf-furniture-object__part--4 { background:repeating-linear-gradient(110deg,transparent 0 24%,#4f95d0 25% 34%,transparent 35% 54%);display:block;height:23%;right:15%;top:55%;width:40%; }
.gf-furniture-object[data-object="playbook-friendship-cushions"] :is(.gf-furniture-object__part--1,.gf-furniture-object__part--2,.gf-furniture-object__part--3) { border:4px solid #654f72;border-radius:50%;bottom:8%;display:block;height:57%;width:35%; }
.gf-furniture-object[data-object="playbook-friendship-cushions"] .gf-furniture-object__part--1 { background:linear-gradient(145deg,#ffafbf,#e76894);left:8%; }
.gf-furniture-object[data-object="playbook-friendship-cushions"] .gf-furniture-object__part--2 { background:linear-gradient(145deg,#79d8cc,#3f9ea5);left:33%;top:14%; }
.gf-furniture-object[data-object="playbook-friendship-cushions"] .gf-furniture-object__part--3 { background:linear-gradient(145deg,#f7d66a,#e6964d);right:8%; }
.gf-furniture-object[data-object="playbook-mini-whiteboard"] .gf-furniture-object__part--1 { background:linear-gradient(145deg,#fff,#eaf4f5);border:7px solid #52626d;border-radius:7px;display:block;height:68%;left:8%;top:7%;width:84%; }
.gf-furniture-object[data-object="playbook-mini-whiteboard"] .gf-furniture-object__part--2 { background:linear-gradient(90deg,#476fd4 0 30%,#e65465 31% 60%,#52626d 61%);border-radius:999px;bottom:13%;display:block;height:8%;left:24%;width:52%; }
.gf-furniture-object[data-object="playbook-calm-corner-tent"] .gf-furniture-object__part--1 { background:linear-gradient(135deg,#9c6ed3 0 49%,#7352ad 50%);clip-path:polygon(50% 0,100% 100%,0 100%);display:block;height:91%;left:2%;top:4%;width:96%; }
.gf-furniture-object[data-object="playbook-calm-corner-tent"] .gf-furniture-object__part--2 { background:#192341;clip-path:polygon(50% 0,100% 100%,0 100%);bottom:0;display:block;height:62%;left:29%;width:42%; }
.gf-furniture-object[data-object="playbook-calm-corner-tent"] .gf-furniture-object__part--3 { background:repeating-linear-gradient(45deg,#f3b75d 0 13%,#e66c86 14% 27%,#65b8bd 28% 41%);border:4px solid #584378;border-radius:50%;bottom:1%;display:block;height:19%;left:21%;width:58%; }
.gf-furniture-object[data-object="playbook-teacher-easel"] .gf-furniture-object__part--1 { background:linear-gradient(145deg,#fffdf2,#f2e5c5);border:7px solid #78513a;border-radius:5px;display:block;height:65%;left:12%;top:5%;width:76%; }
.gf-furniture-object[data-object="playbook-teacher-easel"] :is(.gf-furniture-object__part--2,.gf-furniture-object__part--3) { background:#66432e;bottom:2%;display:block;height:48%;top:auto;transform-origin:top;width:7%; }
.gf-furniture-object[data-object="playbook-teacher-easel"] .gf-furniture-object__part--2 { left:34%;transform:rotate(12deg); }
.gf-furniture-object[data-object="playbook-teacher-easel"] .gf-furniture-object__part--3 { right:34%;transform:rotate(-12deg); }
.gf-furniture-object[data-object="playbook-teacher-easel"] .gf-furniture-object__part--4 { background:linear-gradient(90deg,#e95e69,#f0b94e,#56b77b,#5196e0);border-radius:4px;display:block;height:8%;left:7%;top:66%;width:86%; }

@media (max-width: 767px) {
    .gf-house-live-stage { inset:1rem 50% auto auto; max-height:70%; padding:.75rem; width:calc(100% - 2rem); }
    .gf-house-live-choices { grid-template-columns:1fr; }
    .gf-house-live-choice.is-true,
    .gf-house-live-choice.is-false { min-height:95px; width:95px; }
    .gf-house-live-form-grid,
    .gf-house-live-video-fields,
    .gf-house-live-question-options { grid-template-columns:1fr; }
}
