@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dbbdd2d89d2ef0ef-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a06229eb79a83cfc-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c9e224327ce7933e-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d85064eaed4b8683-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db234bd00cda6a96-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Press Start\ 2P Fallback;src:local("Arial");ascent-override:44.58%;descent-override:0.00%;line-gap-override:0.00%;size-adjust:224.32%}.__className_6d0c14{font-family:Press Start\ 2P,Press Start\ 2P Fallback;font-weight:400;font-style:normal}.__variable_6d0c14{--font-pixel-next:"Press Start 2P","Press Start 2P Fallback"}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5662512df8b0ccdf-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/07ef58f5f6014a87-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5ab5267d02dae909-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_6335ad{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_6335ad{--font-body-next:"Be Vietnam Pro","Be Vietnam Pro Fallback"}:root{--bg-dark:#1a1a2e;--bg-darker:#0f0f1a;--bg-panel:#16213e;--bg-panel-hover:#1c2d50;--bg-surface:#0a0a15;--bg-elevated:#1e1e38;--color-primary:#f7d354;--color-primary-dim:#c4a430;--color-secondary:#5bc0eb;--color-accent:#ff6b6b;--color-success:#57cc99;--color-danger:#e63946;--color-purple:#9b5de5;--color-orange:#f77f00;--text-primary:#e8e8e8;--text-secondary:#8a8aaa;--text-muted:#5a5a7a;--border-color:#3a3a5c;--border-highlight:#5a5a8c;--pixel-border:3px solid var(--border-color);--pixel-border-highlight:3px solid var(--border-highlight);--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--font-pixel:var(--font-pixel-next,"Press Start 2P"),monospace;--font-body:var(--font-body-next,"Be Vietnam Pro"),system-ui,sans-serif;--topbar-height:56px;--sidebar-width:272px;--drawer-width:340px;--touch-target:44px;--shadow-pixel:4px 4px 0px rgba(0,0,0,0.5);--shadow-pixel-sm:2px 2px 0px rgba(0,0,0,0.4);--shadow-glow:0 0 12px rgba(247,211,84,0.3)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden;background:var(--bg-darker);color:var(--text-primary);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;padding-env:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.pixel-text{font-family:var(--font-pixel);font-size:10px;letter-spacing:.5px;text-transform:uppercase;line-height:1.6}:root:lang(vi){--font-pixel:var(--font-body-next,"Be Vietnam Pro"),system-ui,sans-serif}:lang(vi) .pixel-text{font-size:12.5px;font-weight:700;line-height:1.8}:lang(vi) .pixel-btn{font-size:11.5px;font-weight:600}:lang(vi) .pixel-btn-sm{font-size:10px}:lang(vi) body,:lang(vi) html{font-size:15px;line-height:1.75}:lang(vi) .catalog-item-label{font-size:9.5px;font-weight:600}:lang(vi) .furniture-bar .pixel-text{font-size:11px;font-weight:700}:lang(vi) .room-item-count{font-size:9.5px;font-weight:600}:lang(vi) .stored-item-name{font-size:11.5px;font-weight:700}:lang(vi) .item-tag{font-size:8.5px;font-weight:600}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}#app{display:grid;grid-template-columns:1fr;grid-template-rows:var(--topbar-height) 1fr;grid-template-areas:"topbar" "canvas";width:100%;height:100%}@media (min-width:769px){#app{grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:"topbar topbar" "sidebar canvas"}}#topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);background:var(--bg-panel);border-bottom:var(--pixel-border);z-index:100;gap:var(--space-sm)}@media (min-width:769px){#topbar{padding:0 var(--space-lg)}}.topbar-left{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.topbar-left .logo{font-size:10px;color:var(--color-primary);text-shadow:2px 2px 0 rgba(0,0,0,.5);display:flex;align-items:center;gap:6px}.topbar-center{flex:1 1;display:flex;justify-content:center;min-width:0}.topbar-right{display:flex;gap:var(--space-xs);flex-shrink:0}@media (min-width:769px){.topbar-right{gap:var(--space-sm)}}.search-btn{display:flex;align-items:center;gap:var(--space-sm);max-width:280px;width:100%}.topbar-shortcut{font-family:var(--font-body);font-size:11px;color:var(--text-muted);background:var(--bg-surface);padding:1px 5px;border:1px solid var(--border-color);display:none}@media (min-width:900px){.topbar-shortcut{display:inline}}.topbar-action-label{display:none}@media (min-width:600px){.topbar-action-label{display:inline}}.icon-btn{min-width:var(--touch-target);padding:var(--space-xs)}.icon-btn,.pixel-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target)}.pixel-btn{font-family:var(--font-pixel);font-size:9px;padding:var(--space-sm) var(--space-md);background:var(--bg-panel);color:var(--text-primary);border:var(--pixel-border);cursor:pointer;transition:all .1s;text-transform:uppercase;white-space:nowrap;image-rendering:pixelated;box-shadow:var(--shadow-pixel-sm);position:relative;gap:6px}.pixel-btn:hover{background:var(--bg-panel-hover);border-color:var(--border-highlight);transform:translate(-1px,-1px);box-shadow:3px 3px 0 rgba(0,0,0,.5)}.pixel-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(0,0,0,.5)}.pixel-btn-accent{background:var(--color-primary);color:var(--bg-darker);border-color:var(--color-primary-dim)}.pixel-btn-accent:hover{background:#ffe066;border-color:var(--color-primary);box-shadow:3px 3px 0 rgba(0,0,0,.5),0 0 16px rgba(247,211,84,.3)}.pixel-btn-danger{background:var(--color-danger);border-color:#b22b35}.pixel-btn-danger:hover{background:#ff4d5a;border-color:var(--color-danger)}.pixel-btn-sm{padding:var(--space-xs) var(--space-sm);font-size:8px}.pixel-btn-block{width:100%;text-align:center}.pixel-btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.pixel-btn-ghost:hover{background:var(--bg-panel-hover);border-color:var(--border-color)}#sidebar{background:var(--bg-panel);border-right:var(--pixel-border);overflow-y:auto;display:flex;flex-direction:column;z-index:150;position:fixed;top:var(--topbar-height);left:0;width:var(--sidebar-width);height:calc(100dvh - var(--topbar-height));transform:translateX(-100%);transition:transform .25s ease-out;box-shadow:4px 0 24px rgba(0,0,0,.4)}#sidebar.open{transform:translateX(0)}@media (min-width:769px){#sidebar{position:relative;top:auto;left:auto;height:auto;transform:none!important;box-shadow:none;grid-area:sidebar}}#sidebar::-webkit-scrollbar{width:4px}#sidebar::-webkit-scrollbar-track{background:var(--bg-darker)}#sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.sidebar-section{padding:var(--space-lg);border-bottom:var(--pixel-border)}.section-title{font-size:8px;color:var(--color-secondary);margin-bottom:var(--space-md);text-shadow:1px 1px 0 rgba(0,0,0,.5);letter-spacing:1px}.sidebar-mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.sidebar-mobile-header .section-title{margin-bottom:0}.close-sidebar-btn{display:inline-flex}@media (min-width:769px){.close-sidebar-btn{display:none}}.menu-btn{display:inline-flex}@media (min-width:769px){.menu-btn{display:none}}.room-list{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.room-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);min-height:48px;background:var(--bg-surface);border:2px solid transparent;cursor:pointer;transition:all .15s;font-family:var(--font-pixel);font-size:8px;position:relative}.room-item:hover{background:var(--bg-panel-hover);border-color:var(--border-color)}.room-item.active{border-color:var(--color-primary);background:rgba(247,211,84,.08);box-shadow:inset 0 0 8px rgba(247,211,84,.1)}.room-item-icon{color:var(--color-secondary);flex-shrink:0;display:flex}.room-item-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;flex:1 1;white-space:nowrap}.room-item-count{color:var(--text-muted);font-size:7px;flex-shrink:0;background:var(--bg-panel);padding:2px 5px;border:1px solid var(--border-color)}.room-item-actions{display:flex;gap:2px;flex-shrink:0;opacity:1}@media (min-width:769px){.room-item-actions{opacity:0;transition:opacity .15s}.room-item:hover .room-item-actions{opacity:1}}.room-item-btn{background:none;border:1px solid transparent;cursor:pointer;padding:6px;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:2px;transition:all .1s;min-width:30px;min-height:30px}.room-item-btn:hover{color:var(--text-primary);background:var(--bg-panel-hover);border-color:var(--border-color)}.room-item-btn-danger:hover{color:var(--color-danger);border-color:var(--color-danger)}.furniture-catalog{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm)}.catalog-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);min-height:72px;background:var(--bg-surface);border:2px solid var(--border-color);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:center}.catalog-item:hover{border-color:var(--color-primary);background:rgba(247,211,84,.06);transform:translate(-1px,-1px);box-shadow:2px 2px 0 rgba(0,0,0,.4)}.catalog-item:active{transform:translate(1px,1px);box-shadow:none}.catalog-item-icon{font-size:22px;image-rendering:pixelated;line-height:1}.catalog-item-label{font-size:7px;text-align:center}.catalog-item-label,.room-info{font-family:var(--font-pixel);color:var(--text-secondary)}.room-info{font-size:8px;line-height:2}.room-info-row{display:flex;justify-content:space-between}.room-info-value{color:var(--color-primary)}#canvas-container{grid-area:canvas;position:relative;overflow:hidden;background:var(--bg-darker)}#scene-canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:5;padding:var(--space-xl);text-align:center}.empty-state-icon{margin-bottom:var(--space-lg);color:var(--color-primary);opacity:.5;animation:float 3s ease-in-out infinite}.empty-state .pixel-text{font-size:11px;color:var(--color-primary);text-shadow:2px 2px 0 rgba(0,0,0,.5);margin-bottom:var(--space-sm)}.empty-state-sub{color:var(--text-muted);font-size:13px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.furniture-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom));background:var(--bg-panel);border-top:var(--pixel-border);box-shadow:0 -4px 16px rgba(0,0,0,.4);z-index:10;animation:slideUpMobile .2s ease-out;justify-content:space-between}@media (min-width:769px){.furniture-bar{bottom:var(--space-lg);left:50%;right:auto;transform:translateX(-50%);width:auto;min-width:380px;max-width:560px;border:var(--pixel-border);border-top:var(--pixel-border);box-shadow:var(--shadow-pixel);padding:var(--space-sm) var(--space-lg);animation:slideUpDesktop .2s ease-out}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideUpDesktop{0%{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.furniture-bar-identity{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1 1}.furniture-bar-emoji{font-size:18px;flex-shrink:0}.furniture-bar .pixel-text{color:var(--color-primary);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.furniture-bar-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.storage-drawer{position:fixed;top:var(--topbar-height);right:calc(-1 * var(--drawer-width));width:var(--drawer-width);height:calc(100dvh - var(--topbar-height));background:var(--bg-panel);border-left:var(--pixel-border);display:flex;flex-direction:column;z-index:200;transform:translateX(0);transition:transform .25s ease-out;box-shadow:-4px 0 24px rgba(0,0,0,.5)}.storage-drawer.open{transform:translateX(calc(-1 * var(--drawer-width)))}.drawer-header{justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:var(--pixel-border);min-height:56px}.drawer-header,.drawer-title-group{display:flex;align-items:center;gap:var(--space-sm)}.drawer-title-group{min-width:0}.drawer-title-icon{font-size:18px;flex-shrink:0}.drawer-header .pixel-text{font-size:9px;color:var(--color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-content{flex:1 1;overflow-y:auto;padding:var(--space-lg);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.drawer-content::-webkit-scrollbar{width:4px}.drawer-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.drawer-footer{padding:var(--space-lg);border-top:var(--pixel-border);padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.empty-storage{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) 0;gap:var(--space-sm)}.empty-storage-icon{color:var(--text-muted);margin-bottom:var(--space-sm)}.empty-storage .pixel-text{font-size:10px;color:var(--text-muted)}.empty-storage-sub{color:var(--text-muted);font-size:12px}.stored-items-list{display:flex;flex-direction:column;gap:var(--space-sm)}.stored-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--bg-surface);border:2px solid var(--border-color);transition:all .15s;position:relative}.stored-item:hover{border-color:var(--border-highlight)}.stored-item-icon{font-size:20px;flex-shrink:0;margin-top:2px}.stored-item-info{flex:1 1;min-width:0}.stored-item-name{font-family:var(--font-pixel);font-size:8px;color:var(--text-primary);margin-bottom:4px;word-break:break-word}.stored-item-desc{font-size:11px;color:var(--text-secondary);margin-bottom:6px;line-height:1.5}.stored-item-meta{display:flex;gap:var(--space-xs);flex-wrap:wrap;align-items:center}.item-tag{font-size:6px;padding:2px 6px;background:rgba(91,192,235,.15);color:var(--color-secondary);border:1px solid rgba(91,192,235,.3)}.item-qty,.item-tag{font-family:var(--font-pixel)}.item-qty{font-size:7px;color:var(--color-success)}.stored-item-delete{background:none;border:1px solid transparent;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;border-radius:2px;transition:all .1s;min-width:32px;min-height:32px;opacity:1}@media (min-width:769px){.stored-item-delete{opacity:0}.stored-item:hover .stored-item-delete{opacity:1}}.stored-item-delete:hover{color:var(--color-danger);border-color:var(--color-danger);background:rgba(230,57,70,.1)}.category-badge{font-family:var(--font-pixel);font-size:6px;padding:2px 6px;border:1px solid}.category-badge.clothing{background:rgba(155,93,229,.15);color:var(--color-purple);border-color:rgba(155,93,229,.3)}.category-badge.documents{background:rgba(91,192,235,.15);color:var(--color-secondary);border-color:rgba(91,192,235,.3)}.category-badge.electronics{background:rgba(247,127,0,.15);color:var(--color-orange);border-color:rgba(247,127,0,.3)}.category-badge.tools{background:rgba(87,204,153,.15);color:var(--color-success);border-color:rgba(87,204,153,.3)}.category-badge.books{background:rgba(247,211,84,.15);color:var(--color-primary);border-color:rgba(247,211,84,.3)}.category-badge.kitchenware{background:rgba(255,107,107,.15);color:var(--color-accent);border-color:rgba(255,107,107,.3)}.category-badge.toys{background:rgba(155,93,229,.15);color:var(--color-purple);border-color:rgba(155,93,229,.3)}.category-badge.misc{background:rgba(138,138,170,.15);color:var(--text-secondary);border-color:rgba(138,138,170,.3)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .15s;padding:var(--space-md)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-panel);padding:var(--space-xl);width:100%;max-width:440px;box-shadow:var(--shadow-pixel);animation:modalIn .2s ease-out;max-height:calc(100dvh - 32px);overflow-y:auto}@keyframes modalIn{0%{transform:scale(.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.pixel-border{border:var(--pixel-border);outline:2px solid var(--bg-darker);outline-offset:-1px}.modal-title{font-size:11px;color:var(--color-primary);margin-bottom:var(--space-xl);text-shadow:2px 2px 0 rgba(0,0,0,.5)}.modal-form{gap:var(--space-lg)}.form-row,.modal-form{display:flex;flex-direction:column}.form-row{gap:var(--space-md)}@media (min-width:480px){.form-row{flex-direction:row}.form-row .pixel-label{flex:1 1}}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-sm)}.pixel-label{display:flex;flex-direction:column;gap:var(--space-xs);font-family:var(--font-pixel);font-size:8px;color:var(--text-secondary)}.pixel-input{font-family:var(--font-body);font-size:14px;padding:var(--space-sm) var(--space-md);min-height:var(--touch-target);background:var(--bg-surface);color:var(--text-primary);border:2px solid var(--border-color);outline:none;transition:border-color .15s}.pixel-input:focus{border-color:var(--color-primary);box-shadow:0 0 8px rgba(247,211,84,.2)}.pixel-input::placeholder{color:var(--text-muted)}.pixel-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238a8aaa' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.pixel-textarea{resize:vertical;min-height:60px}.pixel-color{width:44px;height:44px;border:2px solid var(--border-color);cursor:pointer;background:none;padding:0}.pixel-color::-webkit-color-swatch-wrapper{padding:2px}.pixel-color::-webkit-color-swatch{border:none}.color-picker-row{display:flex;align-items:center;gap:var(--space-md)}.color-label{font-family:var(--font-body);font-size:12px;color:var(--text-muted)}.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-md);padding-top:max(var(--space-md),10vh);z-index:600;animation:fadeIn .15s}@media (min-width:600px){.search-overlay{padding-top:15vh}}.search-container{background:var(--bg-panel);width:100%;max-width:560px;box-shadow:var(--shadow-pixel);border:var(--pixel-border)}.search-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:var(--pixel-border)}.search-icon{color:var(--text-secondary);display:flex;flex-shrink:0}.search-input{flex:1 1;border:none!important;background:transparent!important;font-size:16px;box-shadow:none!important;min-height:auto;padding:0!important}.search-results{max-height:min(400px,50dvh);overflow-y:auto}.search-result{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background .1s;border-bottom:1px solid var(--bg-surface);min-height:52px}.search-result:hover{background:var(--bg-panel-hover)}.search-result-icon{font-size:18px;flex-shrink:0}.search-result-info{flex:1 1;min-width:0}.search-result-name{font-family:var(--font-pixel);font-size:9px;color:var(--text-primary);margin-bottom:2px}.search-result-path{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-path span{color:var(--text-secondary)}.search-no-results{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-family:var(--font-pixel);font-size:9px}.toast-container{position:fixed;bottom:max(var(--space-lg),calc(env(safe-area-inset-bottom) + 8px));right:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);z-index:700;pointer-events:none}@media (max-width:768px){.toast-container{bottom:max(70px,calc(env(safe-area-inset-bottom) + 70px))}}.toast{padding:var(--space-md) var(--space-lg);background:var(--bg-panel);border:var(--pixel-border);box-shadow:var(--shadow-pixel);font-family:var(--font-pixel);font-size:8px;color:var(--text-primary);animation:toastIn .2s ease-out;min-width:200px;display:flex;align-items:center;gap:var(--space-md)}.toast.toast-out{animation:toastOut .2s ease-in forwards}.toast-success{border-color:var(--color-success)}.toast-error{border-color:var(--color-danger)}.toast-info{border-color:var(--color-secondary)}@keyframes toastIn{0%{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes toastOut{0%{transform:translateX(0);opacity:1}to{transform:translateX(100px);opacity:0}}#canvas-container:after{inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 4px);z-index:2}#canvas-container:after,.modal:before{content:"";position:absolute;pointer-events:none}.modal:before{top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid var(--color-primary);opacity:.3}.modal{position:relative}.furniture-badge{position:absolute;background:var(--color-primary);color:var(--bg-darker);font-family:var(--font-pixel);font-size:8px;padding:2px 6px;border:2px solid var(--color-primary-dim);box-shadow:var(--shadow-pixel-sm);pointer-events:none;z-index:5;transform:translate(-50%,-100%);white-space:nowrap}.drawer-overlay-mobile,.sidebar-overlay-mobile{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:140;animation:fadeIn .2s ease-out}.drawer-overlay-mobile{z-index:190}.intro-tip-box{padding:var(--space-md);background:rgba(91,192,235,.06);border-color:rgba(91,192,235,.3)!important}.pixel-tooltip{position:absolute;background:var(--bg-darker);color:var(--text-primary);font-family:var(--font-pixel);font-size:7px;padding:var(--space-xs) var(--space-sm);border:2px solid var(--border-color);box-shadow:var(--shadow-pixel-sm);pointer-events:none;z-index:300;white-space:nowrap}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-shimmer{background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-panel-hover) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.fade-enter{opacity:0;transition:opacity .2s}.fade-enter-active{opacity:1}.instruction-preview-box{width:90px;height:90px;background:var(--bg-darker);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0;border-radius:4px}.anim-house{font-size:36px;display:inline-block;animation:houseBounce 2s ease-in-out infinite}@keyframes houseBounce{0%,to{transform:scale(1)}50%{transform:scale(1.15) translateY(-6px)}}.anim-furniture{font-size:36px;display:inline-block;animation:furnitureDrop 2.5s cubic-bezier(.25,1,.5,1) infinite}@keyframes furnitureDrop{0%{transform:translateY(-45px) scaleY(1.3);opacity:0}60%{transform:translateY(0) scaleY(.85);opacity:1}75%{transform:translateY(-8px) scaleY(1.05)}90%{transform:translateY(0) scaleY(.95)}to{transform:translateY(0) scaleY(1)}}.anim-target{font-size:32px;position:relative;width:32px;height:32px}.anim-hand{font-size:24px;position:absolute;top:12px;left:18px;animation:handClick 1.8s ease-in-out infinite}@keyframes handClick{0%,to{transform:translate(0) scale(1)}40%{transform:translate(-4px,-4px) scale(1)}50%{transform:translate(-2px,-2px) scale(.8)}60%{transform:translate(-4px,-4px) scale(1)}}.anim-chest{font-size:36px;display:inline-block;animation:chestOpen 2.5s ease-in-out infinite}.anim-sparkle{position:absolute;font-size:12px;opacity:0;animation:sparklePop 2.5s ease-in-out infinite}.anim-sparkle-1{top:20px;left:16px;animation-delay:.3s}.anim-sparkle-2{top:12px;right:20px;animation-delay:.6s}@keyframes chestOpen{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.12) rotate(6deg)}}@keyframes sparklePop{0%,to{opacity:0;transform:translateY(0) scale(0)}40%{opacity:0;transform:translateY(0) scale(0)}60%{opacity:1;transform:translateY(-12px) scale(1.2)}85%{opacity:0;transform:translateY(-20px) scale(.4)}}.anim-ledger{display:flex;flex-direction:column;gap:5px;width:80%}.anim-ledger-item{height:14px;background:var(--bg-panel);border-radius:2px;display:flex;align-items:center;padding:0 5px;font-size:8px;font-weight:500;color:var(--color-primary);opacity:0}.anim-ledger-item:first-child{animation:ledgerShow 3s .3s infinite}.anim-ledger-item:nth-child(2){animation:ledgerShow 3s .9s infinite}.anim-ledger-item:nth-child(3){animation:ledgerShow 3s 1.5s infinite}@keyframes ledgerShow{0%,to{opacity:0;transform:translateX(-8px)}15%,85%{opacity:1;transform:translateX(0)}}.anim-search-container{width:76px;height:20px;border:1px solid var(--border-color);background:var(--bg-surface);border-radius:10px;position:relative;display:flex;align-items:center;padding-left:6px}.anim-search-glass{font-size:11px;position:absolute;right:6px;animation:searchMove 3s ease-in-out infinite}.anim-search-text{font-size:7px;color:var(--text-secondary);overflow:hidden;white-space:nowrap;width:0;animation:searchType 3s steps(10) infinite}@keyframes searchMove{0%,to{transform:translateX(0)}50%{transform:translateX(-36px)}}@keyframes searchType{0%,to{width:0}30%,75%{width:42px}}