.auth-widget[data-v-51326149]{font-size:.85rem}.auth-loading[data-v-51326149]{color:var(--text-m)}.auth-user[data-v-51326149]{display:flex;align-items:center;gap:1rem}.auth-email[data-v-51326149]{font-weight:500;color:var(--text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-credits[data-v-51326149]{background:#fdf9f5;border:1px solid var(--border);padding:.25rem .5rem;border-radius:6px;display:flex;align-items:center;gap:.4rem}.btn-buy[data-v-51326149]{background:var(--accent);color:#fff;border:none;border-radius:4px;width:20px;height:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.btn-buy[data-v-51326149]:hover{background:var(--accent-l)}.btn-logout[data-v-51326149]{background:#c0392b;border:1px solid #c0392b;padding:.25rem .6rem;border-radius:4px;cursor:pointer;color:#fff;font-weight:600}.btn-logout[data-v-51326149]:hover{background:#a93226;border-color:#a93226}.btn-settings[data-v-51326149]{background:transparent;border:1px solid var(--border);padding:.25rem .4rem;border-radius:4px;cursor:pointer;color:var(--text-m);display:flex;align-items:center}.btn-settings[data-v-51326149]:hover{background:#0000000d}.auth-form[data-v-51326149]{display:flex;align-items:center;gap:.5rem}.auth-form input[data-v-51326149]{padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.85rem}.auth-actions[data-v-51326149]{display:flex;gap:.25rem;align-items:center}.btn-login[data-v-51326149]{background:var(--accent);color:#fff;border:none;padding:.35rem .75rem;border-radius:4px;cursor:pointer}.btn-login[data-v-51326149]:hover{background:var(--accent-l)}.btn-register[data-v-51326149]{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.35rem .75rem;border-radius:4px;cursor:pointer}.btn-register[data-v-51326149]:hover{background:#7c685312}.auth-error[data-v-51326149]{color:#c53030;margin-top:.5rem;font-weight:500;text-align:center}.confirm-overlay[data-v-51326149]{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-modal[data-v-51326149]{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:320px;width:100%;text-align:center}.confirm-modal h3[data-v-51326149]{margin:0 0 1rem;font-size:1.1rem}.confirm-modal p[data-v-51326149]{margin:0 0 1.5rem;line-height:1.5;color:var(--text-m)}.confirm-actions[data-v-51326149]{display:flex;gap:.75rem}.btn-cancel[data-v-51326149],.btn-pay[data-v-51326149]{flex:1;padding:.6rem;border-radius:6px;font-weight:600;cursor:pointer;border:none}.btn-cancel[data-v-51326149]{background:#f1f1f1;color:#666}.btn-pay[data-v-51326149]{background:#333;color:#fff}.btn-pay[data-v-51326149]:disabled{opacity:.6}.btn-google-icon[data-v-51326149]{background:#fff;border:1px solid var(--border);border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-google-icon[data-v-51326149]:hover{background:#fdf9f5;border-color:#d1d1d1}@media(max-width:600px){.auth-user[data-v-51326149]{gap:.5rem}.auth-form[data-v-51326149]{flex-direction:column;align-items:stretch}.auth-form input[data-v-51326149]{width:100%}.auth-actions[data-v-51326149]{flex-wrap:wrap}.btn-register[data-v-51326149]{font-size:.78rem}}.header-brand-link[data-v-5f1db297],.header-brand-link[data-v-651fcfc0]{display:flex;align-items:center;gap:.65rem;text-decoration:none}.header-mobile[data-v-651fcfc0]{padding:.55rem 1rem}.header-mobile .header-content[data-v-651fcfc0]{flex-wrap:nowrap}.header-nav--mobile[data-v-651fcfc0]{width:100%;margin-left:0;justify-content:flex-end;gap:.4rem;padding-top:.35rem;border-top:1px solid var(--border);flex-wrap:wrap}.btn-nav-icon[data-v-651fcfc0]{width:34px;height:34px;padding:0;justify-content:center}.btn-logout-mobile[data-v-651fcfc0]{background:#c0392b!important;border-color:#c0392b!important;color:#fff!important}.btn-logout-mobile[data-v-651fcfc0]:hover{background:#a93226!important;border-color:#a93226!important}.account-page[data-v-75216966]{background:#fff;border:1px solid var(--border);border-radius:8px;padding:2rem;max-width:600px;margin:2rem auto}.account-header[data-v-75216966]{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:2rem}.account-header h2[data-v-75216966]{margin:0;font-size:1.5rem;color:var(--text)}.account-section[data-v-75216966]{margin-bottom:2rem}.account-section h3[data-v-75216966]{font-size:1.1rem;margin-bottom:1rem;color:var(--text)}.prop-row[data-v-75216966]{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px dashed var(--border);color:var(--text-m)}.prop-row label[data-v-75216966]{font-weight:500;color:var(--text)}.btn-buy[data-v-75216966]{background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500}.btn-buy[data-v-75216966]:hover{background:var(--accent-l)}.dev-hint[data-v-75216966]{font-size:.82rem;color:var(--text-m);margin-top:.5rem}.toggle[data-v-75216966]{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input[data-v-75216966]{display:none}.toggle-track[data-v-75216966]{width:36px;height:20px;background:var(--border);border-radius:10px;position:relative;transition:background .2s}.toggle input:checked+.toggle-track[data-v-75216966]{background:var(--accent)}.toggle-thumb[data-v-75216966]{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .2s}.toggle input:checked~.toggle-track .toggle-thumb[data-v-75216966],.toggle input:checked+.toggle-track .toggle-thumb[data-v-75216966]{left:18px}.toggle-label[data-v-75216966]{font-size:.85rem;color:var(--text-m)}.danger-zone[data-v-75216966]{margin-top:3rem;padding:1.5rem;background:#fdf5f4;border:1px solid #f5d6d3;border-radius:6px}.danger-zone h3[data-v-75216966]{color:#c0392b;margin-top:0}.danger-zone p[data-v-75216966]{color:#c0392b;margin-bottom:1rem;font-size:.9rem}.btn-delete[data-v-75216966]{background:#fff;border:1px solid #e0b4b0;padding:.6rem 1.2rem;border-radius:4px;cursor:pointer;color:#c0392b;font-weight:700}.btn-delete[data-v-75216966]:hover:not(:disabled){background:#fae6e3}.btn-delete[data-v-75216966]:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay[data-v-75216966]{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.confirm-modal[data-v-75216966]{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:400px;width:100%;text-align:center}.confirm-modal h3[data-v-75216966]{margin:0 0 1rem;font-size:1.3rem;color:var(--text)}.confirm-modal p[data-v-75216966]{margin:0 0 2rem;line-height:1.6;font-size:1.05rem;color:var(--text-m)}.confirm-actions[data-v-75216966]{display:flex;gap:1rem}.btn-cancel[data-v-75216966],.btn-pay[data-v-75216966]{flex:1;padding:.8rem;border-radius:6px;font-weight:600;cursor:pointer;border:none;font-size:1rem}.btn-cancel[data-v-75216966]{background:#f1f1f1;color:#666}.btn-pay[data-v-75216966]{background:var(--accent);color:#fff}.btn-pay[data-v-75216966]:disabled{opacity:.6}.info-overlay[data-v-e858ef3b]{position:fixed;inset:0;background:#3a30288c;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.info-modal[data-v-e858ef3b]{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.info-header[data-v-e858ef3b]{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid #ddd3c8;flex-shrink:0}.info-header h2[data-v-e858ef3b]{font-size:1.1rem;font-weight:700;color:#7c6853}.info-close[data-v-e858ef3b]{background:none;border:none;font-size:1rem;color:#999;cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1}.info-close[data-v-e858ef3b]:hover{background:#f0ebe5;color:#3a3028}.info-body[data-v-e858ef3b]{overflow-y:auto;padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:1.1rem}section h3[data-v-e858ef3b]{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7c6853;margin-bottom:.45rem}section p[data-v-e858ef3b]{font-size:.9rem;color:#3a3028;line-height:1.6}section ol[data-v-e858ef3b],section ul[data-v-e858ef3b]{padding-left:1.25rem;font-size:.9rem;color:#3a3028;line-height:1.7}section ol li[data-v-e858ef3b],section ul li[data-v-e858ef3b]{margin-bottom:.15rem}section strong[data-v-e858ef3b]{color:#3a3028}kbd[data-v-e858ef3b]{display:inline-block;padding:.1rem .4rem;border:1px solid #ccc;border-bottom-width:2px;border-radius:4px;font-size:.8rem;font-family:monospace;background:#f8f4f0;color:#3a3028;line-height:1.4}.key-grid[data-v-e858ef3b]{display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem;align-items:center;font-size:.88rem;color:#3a3028}.key-combo[data-v-e858ef3b]{display:flex;gap:.3rem}.info-footer-note[data-v-e858ef3b]{margin-top:.25rem;padding:.85rem 1rem;background:#f8f4f0;border-radius:8px;font-size:.84rem;color:#6b5e50;line-height:1.6}.info-footer-note a[data-v-e858ef3b]{color:#7c6853}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f0eb;--surface: #fff;--accent: #7c6853;--accent-l: #a89279;--text: #3a3028;--text-m: #6b5e50;--border: #ddd3c8;--radius: 12px;--shadow: 0 2px 12px rgba(0,0,0,.08)}html{scrollbar-gutter:stable}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-y:scroll}a{color:var(--accent)}header{background:var(--surface);border-bottom:1px solid var(--border);padding:.7rem 2rem}.header-content{display:flex;align-items:center;gap:.6rem;max-width:1280px;margin:0 auto;flex-wrap:wrap}.header-brand{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.header-logo{width:30px;height:30px;flex-shrink:0}.header-title{font-size:1.15rem;font-weight:700;color:var(--accent);letter-spacing:-.01em;cursor:pointer;text-decoration:none}.header-nav{display:flex;align-items:center;gap:.6rem;margin-left:auto}.header-user{display:flex;align-items:center;flex-shrink:0}.btn-header-ghost{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .75rem;border:1.5px solid var(--border);border-radius:7px;background:transparent;color:var(--text-m);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s;font-family:inherit;text-decoration:none;line-height:1}.btn-header-ghost:hover{border-color:var(--accent-l);color:var(--accent);background:#7c68530d}.btn-header-ghost.router-link-active{border-color:var(--accent);color:var(--accent)}.room-info{display:flex;justify-content:center;gap:2rem;margin-top:.75rem;font-size:.85rem;color:var(--text-m);flex-wrap:wrap}.room-info span:before{content:"•";margin-right:.4rem;color:var(--accent-l)}.app-wrap{display:flex;flex-direction:column;min-height:100vh}.container{flex:1}.site-footer{text-align:center;padding:.5rem 1rem;font-size:.75rem;color:var(--text-m);border-top:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.footer-sep{color:var(--border)}.footer-link{color:var(--text-m);text-decoration:none}.footer-link:hover{color:var(--accent)}.account-overlay{position:fixed;inset:0;z-index:300;background:var(--bg);overflow-y:auto}.account-overlay-inner{padding-top:2rem;padding-bottom:2rem}.login-banner{background:#fff8e1;border:1px solid #f0c040;border-radius:var(--radius);padding:.75rem 1.25rem;margin-bottom:1.25rem;font-size:.9rem;color:#7a5c00}.container{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.section-title{font-size:1.15rem;font-weight:600;margin-bottom:1rem;color:var(--accent)}.editor-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.editor-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:.4rem}.toolbar-group--right{margin-left:auto}.toolbar-label{font-size:.85rem;font-weight:500;color:var(--text-m);white-space:nowrap}.toolbar-select{border:1px solid var(--border);border-radius:6px;padding:.38rem .6rem;font-size:.88rem;background:var(--surface);color:var(--text);cursor:pointer}.toolbar-select:focus{outline:none;border-color:var(--accent)}.toolbar-name-input{border:1px solid var(--border);border-radius:6px;padding:.38rem .6rem;font-size:.88rem;width:190px;font-family:inherit;color:var(--text)}.toolbar-name-input:focus{outline:none;border-color:var(--accent)}.toolbar-name-input::placeholder{color:var(--text-m)}.btn-tool{padding:.38rem .85rem;border:1.5px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.btn-tool:hover{border-color:var(--accent-l)}.btn-tool.snap-on{border-color:var(--accent);background:#7c68531a;color:var(--accent)}.btn-snap-toggle{padding:.38rem .55rem}.btn-help{padding:.38rem .6rem;font-weight:700;color:var(--text-m);min-width:28px}.btn-tool:disabled{opacity:.45;cursor:not-allowed}.btn-danger-soft{border-color:#c0392b;color:#c0392b}.btn-danger-soft:hover{background:#c0392b0f}.palette-groups{display:flex;flex-direction:column;border-top:1px solid var(--border)}.palette-group{display:grid;grid-template-columns:90px 1fr;align-items:baseline;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.palette-group-label{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding-top:.15rem}.palette-group-items{display:flex;flex-wrap:wrap;gap:.35rem}.palette-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;border:1.5px solid var(--border);border-radius:12px;font-size:.78rem;font-weight:600;cursor:pointer;background:var(--surface);color:var(--text);transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.palette-chip:hover{border-color:var(--accent);background:#7c685312}.chip-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0;display:inline-block}.editor-svg-container{width:100%;background:#fdf9f5;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;cursor:default;-webkit-user-select:none;user-select:none}.editor-svg-container svg{display:block;width:100%;height:auto}.editor-grid-line{stroke:#b4a08c33;stroke-width:.5;pointer-events:none}.fp-furniture-selected{stroke:#2980b9!important;stroke-width:2!important;filter:drop-shadow(0 0 3px rgba(41,128,185,.5))}.corner-resize-handle{transition:opacity .15s}.corner-resize-handle:hover{opacity:1!important}.props-bar{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .85rem;background:#eef2f6;border:1px solid #c5d3de;border-radius:6px}.props-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.props-row--main{gap:.6rem}.props-label{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap}.props-dims{font-size:.82rem;color:var(--text-m);white-space:nowrap}.props-hint{font-size:.78rem;color:var(--text-m)}.props-actions{display:flex;gap:.45rem;margin-left:auto;flex-shrink:0}.props-subtypes{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}.btn-subtype{padding:.18rem .55rem;border:1.5px solid #c0ad97;border-radius:4px;background:transparent;font-size:.75rem;font-weight:600;color:#7c6853;cursor:pointer;line-height:1.4}.btn-subtype.active{background:#7c6853;color:#fff;border-color:#7c6853}.btn-subtype:hover:not(.active){background:#f5ede5}.props-colors{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.props-pane-styles{display:flex;align-items:center;gap:.3rem}.props-color-label{font-size:.72rem;color:var(--text-m);font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.color-swatch{width:16px;height:16px;border-radius:3px;border:1.5px solid rgba(0,0,0,.15);cursor:pointer;flex-shrink:0;padding:0;transition:transform .1s}.color-swatch:hover{transform:scale(1.2);border-color:#00000059}.color-swatch--active{outline:2px solid #2980b9;outline-offset:1px}.color-swatch--reset{background:var(--surface)!important;font-size:.7rem;color:var(--text-m);display:inline-flex;align-items:center;justify-content:center;width:18px;height:16px}.style-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.style-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.style-chip{padding:.35rem .85rem;border:2px solid var(--border);border-radius:16px;font-size:.8rem;font-weight:500;cursor:pointer;background:var(--surface);color:var(--text);transition:all .15s;-webkit-user-select:none;user-select:none;font-family:inherit}.style-chip:hover{border-color:var(--style-color, var(--accent-l));color:var(--style-color, var(--accent))}.style-chip.active{border-color:var(--style-color, var(--accent));background:var(--style-color, var(--accent));color:#fff;font-weight:600}.style-desc{font-size:.88rem;color:var(--text-m);font-style:italic;min-height:1.4em;padding:.1rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.3rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-l)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;border:2px solid var(--accent);color:var(--accent);padding:.5rem 1rem;font-size:.82rem;border-radius:6px}.btn-outline:hover{background:#7c685312}.results-title{font-size:1.15rem;font-weight:600;margin-bottom:1rem;color:var(--accent)}.results-empty{text-align:center;padding:3rem 1rem;color:var(--text-m);font-size:.95rem}.result-list{display:flex;flex-direction:column;gap:1.5rem}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.result-card img{width:100%;display:block;max-height:520px;object-fit:contain;background:#e8e0d8}.result-meta{padding:1rem 1.25rem}.result-meta h4{font-size:1rem;margin-bottom:.35rem}.tag{display:inline-block;font-size:.72rem;padding:.12rem .45rem;border-radius:4px;margin-right:.35rem;margin-bottom:.35rem}.tag-model{background:#ece6df;color:var(--accent)}.tag-persp{background:#dfe8ec;color:#4a6e7f}.tag-style{background:#e8ece0;color:#4a6a30}.result-meta .feedback-used{font-size:.82rem;color:var(--text-m);font-style:italic;margin-bottom:.5rem}.grade-section{margin-top:.5rem}.grade-section summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--accent)}.grade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem;margin-top:.5rem}.grade-item{display:flex;justify-content:space-between;font-size:.8rem;padding:.2rem .45rem;background:#f8f4f0;border-radius:4px}.grade-item .label{color:var(--text-m)}.grade-item .score{font-weight:700;color:var(--accent)}.grade-feedback{margin-top:.5rem;font-size:.85rem;color:var(--text-m);padding:.5rem .75rem;background:#fdf9f5;border-left:3px solid var(--accent-l);border-radius:4px}.overall-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.82rem;font-weight:700;padding:.15rem .55rem;border-radius:6px;margin-left:.4rem}.result-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.refine-box{margin-top:.65rem;display:grid;gap:.45rem}.refine-box textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;min-height:54px;resize:vertical;font-size:.85rem;font-family:inherit}.refine-box textarea:focus{outline:none;border-color:var(--accent)}.refine-row{display:flex;gap:.5rem;flex-wrap:wrap}.render-progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.75rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.rp-label{font-size:.95rem;font-weight:600;color:var(--text)}.rp-track{height:8px;background:#ece6df;border-radius:999px;overflow:hidden}.rp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-l) 100%);transition:width .5s ease-out}.rp-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-m)}.rp-pct{font-weight:700;color:var(--accent)}.spinner-overlay{display:none;position:fixed;inset:0;background:#f5f0ebe0;z-index:100;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.spinner-overlay.active{display:flex}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-text{font-size:1rem;color:var(--text-m);text-align:center;max-width:300px}.error-box{background:var(--surface);padding:2rem;border-radius:var(--radius);border:2px solid #e74c3c;box-shadow:0 10px 30px #00000026;text-align:center;max-width:400px;display:flex;flex-direction:column;gap:1rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.error-icon{font-size:2.5rem;margin-bottom:-.5rem}.error-box h3{color:#c0392b;font-size:1.25rem}.error-box p{color:var(--text-m);font-size:.95rem;line-height:1.5}.error-actions{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem}.fp-room{fill:#fdf9f5;stroke:#7c6853;stroke-width:1.5}.fp-label{font-size:5.5px;fill:#3a3028;font-family:system-ui,sans-serif;pointer-events:none}.fp-dim{font-size:5px;fill:#999;font-family:system-ui,sans-serif}.planner-layout{display:flex;flex-direction:column;gap:1.25rem}.col-editor{order:1}.col-sidebar{order:2}.col-results{order:3}@media(orientation:landscape)and (min-width:960px){.planner-layout{display:grid;grid-template-columns:300px 1fr 260px;grid-template-areas:"results editor sidebar";grid-template-rows:auto;align-items:start;gap:1.25rem}.col-results{grid-area:results;order:unset}.col-editor{grid-area:editor;order:unset;min-width:0}.col-sidebar{grid-area:sidebar;order:unset}}.palette-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem}@media(max-width:768px){.toolbar-group--right{margin-left:0}.toolbar-name-input{width:130px}}@media(max-width:600px){.btn-label-text{display:none}.container{padding:.85rem .75rem}.login-banner{padding:.6rem .85rem;font-size:.85rem}.editor-section{padding:.85rem .75rem}.palette-panel{padding:.75rem .85rem}}@media(max-width:480px){header h1{font-size:1.2rem}.room-info{flex-direction:column;gap:.3rem}.header-title{font-size:1rem}.toolbar-name-input{width:100px}}.mobile-nudge{display:none;padding:.5rem 0 .25rem}.nudge-grid{display:grid;grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px;gap:4px;width:fit-content;margin:0 auto}.nudge-rotate{grid-column:1;grid-row:1}.nudge-up{grid-column:2;grid-row:1}.nudge-delete{grid-column:3;grid-row:1}.nudge-left{grid-column:1;grid-row:2}.nudge-down{grid-column:2;grid-row:2}.nudge-right{grid-column:3;grid-row:2}.nudge-delete,.nudge-delete-wall{color:#c0392b;border-color:#e8b4ae}.nudge-delete:active,.nudge-delete-wall:active{background:#c0392b14}.nudge-wall-row{display:flex;gap:6px;justify-content:center}.nudge-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;touch-action:manipulation;transition:background .1s}.nudge-btn:active{background:#ece6df}.nudge-btn.nudge-wall{width:auto;padding:0 14px}@media(max-width:768px){.mobile-nudge{display:block}}.items-3d-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0;margin-bottom:.75rem;overflow:hidden}.items-3d-title{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;padding:.6rem 1rem .4rem;border-bottom:1px solid var(--border)}.items-3d-scroll{max-height:340px;overflow-y:auto;padding:.25rem 0 .5rem}.items-3d-section{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-l);padding:.45rem 1rem .15rem}.items-3d-row{padding:.35rem 1rem;border-bottom:1px solid #f0ebe4;display:flex;flex-direction:column;gap:.25rem;cursor:pointer;transition:background .1s}.items-3d-row:last-child{border-bottom:none}.items-3d-row:hover{background:#fdf9f5}.items-3d-row--sel{background:#eef4ff!important}.items-3d-controls-row{display:flex;gap:.5rem;align-items:center}.items-3d-colors{display:flex;flex-wrap:wrap;gap:2px;flex:1;justify-content:flex-end}.items-3d-swatch{width:13px!important;height:13px!important}.items-3d-name{font-size:.8rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.4rem}.items-3d-wall-tag{font-size:.67rem;font-weight:500;color:var(--accent-l);background:#f0ebe4;border-radius:3px;padding:.05rem .3rem}.items-3d-controls{display:flex;gap:.25rem;flex-wrap:wrap}.items-3d-height-row{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0}.items-3d-hl{font-size:.67rem;font-weight:600;color:var(--text-m);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;width:36px;flex-shrink:0}.items-3d-slider{flex:1;min-width:0;accent-color:var(--accent);cursor:pointer}.items-3d-pct{font-size:.72rem;font-weight:600;color:var(--accent);width:32px;text-align:right;flex-shrink:0}.items-3d-empty{padding:.85rem 1rem;font-size:.78rem;color:var(--text-m)}.page-wrap{max-width:700px;margin:0 auto}.page-heading{font-size:1.6rem;font-weight:800;color:var(--text);margin-bottom:.35rem;line-height:1.2}.page-sub{font-size:1rem;color:var(--text-m);margin-bottom:2rem;line-height:1.5}.page-section{margin-bottom:2rem}.page-section h2{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin-bottom:.75rem}.page-section p,.page-section li{font-size:.95rem;color:var(--text);line-height:1.7}.page-section ul{padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem}.page-back{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1.5rem;font-size:.85rem;font-weight:600;color:var(--accent);text-decoration:none}.page-back:hover{opacity:.75}.page-cta{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.4rem;background:var(--accent);color:#fff;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s}.page-cta:hover{background:var(--accent-l);color:#fff}@media(max-width:600px){.page-heading{font-size:1.3rem}.page-sub{font-size:.9rem}}.picker-select[data-v-9f5c88df]{width:100%;padding:.4rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-family:inherit;font-size:.85rem;color:var(--text)}.picker-select[data-v-9f5c88df]:focus{outline:none;border-color:var(--accent)}.wcp[data-v-2d42dcfd]{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.wcp-section[data-v-2d42dcfd]{display:flex;flex-direction:column;gap:.35rem}.wcp-label[data-v-2d42dcfd]{font-size:.75rem;font-weight:600;color:var(--text-m);text-transform:uppercase;letter-spacing:.04em}.wcp-swatches[data-v-2d42dcfd]{display:flex;flex-wrap:wrap;gap:.3rem}.wcp-swatch[data-v-2d42dcfd]{width:22px;height:22px;border-radius:4px;border:1.5px solid transparent;cursor:pointer;padding:0;transition:transform .1s;flex-shrink:0}.wcp-swatch[data-v-2d42dcfd]:hover{transform:scale(1.15)}.wcp-swatch--active[data-v-2d42dcfd]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.wcp-swatch--custom[data-v-2d42dcfd]{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);display:flex;align-items:center;justify-content:center;cursor:pointer;border:1.5px solid var(--border)}.wcp-swatch--custom input[type=color][data-v-2d42dcfd]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.wcp-swatch--custom svg[data-v-2d42dcfd]{color:#ffffffe6;pointer-events:none}.wcp-features[data-v-2d42dcfd]{display:flex;gap:.35rem}.wcp-feat-btn[data-v-2d42dcfd]{flex:1;padding:.3rem .5rem;font-size:.78rem;font-weight:600;border:1.5px solid var(--border);border-radius:6px;background:transparent;color:var(--text-m);cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-family:inherit}.wcp-feat-btn[data-v-2d42dcfd]:hover{background:#0000000a}.wcp-feat-btn--active[data-v-2d42dcfd]{background:var(--accent);border-color:var(--accent);color:#fff}.btn-icon[data-v-ba44251a]{display:inline-flex;align-items:center;gap:.35rem}.portfolio-menu[data-v-ba44251a]{margin-top:.75rem;padding:.75rem;background:#fdf9f5;border:1px solid var(--border);border-radius:6px}.pf-loading[data-v-ba44251a]{font-size:.85rem;color:var(--text-m)}.pf-list[data-v-ba44251a]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.pf-create[data-v-ba44251a]{display:flex;gap:.5rem}.pf-input[data-v-ba44251a]{flex-grow:1;border:1px solid var(--border);border-radius:4px;padding:.35rem .5rem;font-size:.85rem;font-family:inherit}.pf-input[data-v-ba44251a]:focus{outline:none;border-color:var(--accent)}.btn-sm[data-v-ba44251a]{padding:.25rem .5rem;font-size:.75rem}.pf-msg[data-v-ba44251a]{margin-top:.5rem;font-size:.8rem;color:var(--accent);font-weight:500}.p3d-overlay[data-v-4e472d79]{display:flex;flex-direction:column;height:560px;border-radius:8px;overflow:hidden;border:1.5px solid #ddd3c8}.p3d-main[data-v-4e472d79]{flex:1;display:flex;min-height:0}.p3d-canvas-wrap[data-v-4e472d79]{flex:1;overflow:hidden;min-width:0}.p3d-canvas-wrap[data-v-4e472d79] canvas{display:block;width:100%!important;height:100%!important}.p3d-sidebar[data-v-4e472d79]{width:190px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-left:1px solid #ddd3c8;overflow:hidden}.p3d-sidebar-title[data-v-4e472d79]{font-size:.82rem;font-weight:700;color:#7c6853;padding:.65rem .75rem .4rem;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;border-bottom:1px solid #ede7e0}.p3d-sidebar-empty[data-v-4e472d79]{padding:.85rem .75rem;font-size:.78rem;color:#a89279;line-height:1.5}.p3d-snap-list[data-v-4e472d79]{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.6rem}.p3d-snap-card[data-v-4e472d79]{border:1.5px solid #ede7e0;border-radius:6px;overflow:hidden;background:#fdf9f5;flex-shrink:0}.p3d-snap-thumb[data-v-4e472d79]{display:block;width:100%;height:88px;object-fit:cover;cursor:pointer;transition:opacity .15s;flex-shrink:0}.p3d-snap-thumb[data-v-4e472d79]:hover{opacity:.85}.p3d-snap-row[data-v-4e472d79]{display:flex;align-items:center;gap:.3rem;padding:.3rem .4rem}.p3d-snap-status[data-v-4e472d79]{flex:1;font-size:.72rem;font-weight:600}.p3d-snap-status.pending[data-v-4e472d79]{color:#a89279}.p3d-snap-status.done[data-v-4e472d79]{color:#4a8a50}.p3d-btn-del[data-v-4e472d79]{padding:.25rem .4rem;background:transparent;border:1.5px solid #ddd3c8;border-radius:5px;font-size:.72rem;color:#c0392b;cursor:pointer;line-height:1}.p3d-btn-del[data-v-4e472d79]:hover{background:#c0392b12}.p3d-bar[data-v-4e472d79]{display:flex;align-items:center;padding:.55rem .9rem;background:#fff;border-top:1px solid #ddd3c8;flex-shrink:0;gap:.75rem}.p3d-hint[data-v-4e472d79]{font-size:.78rem;color:#a89279;white-space:nowrap}.p3d-bar-center[data-v-4e472d79]{flex:1}.p3d-feedback[data-v-4e472d79]{width:100%;border:1px solid #ddd3c8;border-radius:6px;padding:.35rem .55rem;font-size:.8rem;font-family:inherit;resize:none;color:#3a3028}.p3d-feedback[data-v-4e472d79]:focus{outline:none;border-color:#7c6853}.p3d-bar-actions[data-v-4e472d79]{display:flex;gap:.5rem;flex-shrink:0}.p3d-btn-snap[data-v-4e472d79]{padding:.38rem .9rem;background:#7c6853;color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.p3d-btn-snap[data-v-4e472d79]:hover{background:#a89279}.p3d-btn-render[data-v-4e472d79]{padding:.38rem 1rem;background:#4a8a50;color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.p3d-btn-render[data-v-4e472d79]:hover{background:#3a7040}.p3d-btn-render[data-v-4e472d79]:disabled{opacity:.45;cursor:not-allowed}.p3d-btn-render--queued[data-v-4e472d79]{background:#7c6853}.p3d-btn-render--queued[data-v-4e472d79]:hover{background:#a89279}.p3d-alert-overlay[data-v-4e472d79]{position:fixed;inset:0;background:#3a302880;z-index:300;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.p3d-alert-box[data-v-4e472d79]{background:#fff;border-radius:12px;box-shadow:0 16px 48px #0000002e;padding:1.6rem 1.8rem 1.3rem;max-width:360px;width:calc(100% - 2rem);display:flex;flex-direction:column;gap:1.1rem;align-items:center}.p3d-alert-msg[data-v-4e472d79]{font-size:.92rem;color:#3a3028;line-height:1.55;text-align:center;margin:0}.p3d-alert-ok[data-v-4e472d79]{padding:.42rem 1.6rem;background:#7c6853;color:#fff;border:none;border-radius:7px;font-size:.85rem;font-weight:600;cursor:pointer}.p3d-alert-ok[data-v-4e472d79]:hover{background:#a89279}.p3d-login-box[data-v-4e472d79]{max-width:400px;gap:1rem}.p3d-login-form[data-v-4e472d79]{display:flex;flex-direction:column;gap:.5rem;width:100%}.p3d-login-form input[data-v-4e472d79]{padding:.4rem .6rem;border:1px solid #d4c9bc;border-radius:6px;font-size:.85rem;width:100%;box-sizing:border-box}.p3d-login-actions[data-v-4e472d79]{display:flex;gap:.4rem;align-items:center;margin-top:.2rem}.p3d-login-btn[data-v-4e472d79]{flex:1;padding:.42rem 0;background:#7c6853;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer}.p3d-login-btn[data-v-4e472d79]:hover{background:#a89279}.p3d-register-btn[data-v-4e472d79]{flex:1;padding:.42rem 0;background:transparent;color:#7c6853;border:1px solid #7c6853;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer}.p3d-register-btn[data-v-4e472d79]:hover{background:#7c685312}.p3d-google-btn[data-v-4e472d79]{background:#fff;border:1px solid #d4c9bc;border-radius:6px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.p3d-google-btn[data-v-4e472d79]:hover{background:#fdf9f5}.p3d-login-btn[data-v-4e472d79]:disabled,.p3d-register-btn[data-v-4e472d79]:disabled,.p3d-google-btn[data-v-4e472d79]:disabled{opacity:.5;cursor:not-allowed}.p3d-login-error[data-v-4e472d79]{color:#c53030;font-size:.82rem;margin:0;text-align:center}.p3d-login-cancel[data-v-4e472d79]{background:transparent;color:#9e8e7e;border:1px solid #d4c9bc;font-weight:400;font-size:.8rem;padding:.3rem 1rem}.p3d-login-cancel[data-v-4e472d79]:hover{background:#0000000a}@media(max-width:600px){.p3d-overlay[data-v-4e472d79]{height:auto}.p3d-main[data-v-4e472d79]{flex-direction:column}.p3d-canvas-wrap[data-v-4e472d79]{min-height:280px;height:280px}.p3d-sidebar[data-v-4e472d79]{width:100%;height:130px;border-left:none;border-top:1px solid #ddd3c8;flex-direction:row}.p3d-sidebar-title[data-v-4e472d79]{writing-mode:initial;padding:.5rem .65rem;border-bottom:none;border-right:1px solid #ede7e0;flex-shrink:0;display:flex;align-items:center;font-size:.72rem}.p3d-sidebar-empty[data-v-4e472d79]{padding:.65rem .75rem;font-size:.75rem;display:flex;align-items:center}.p3d-snap-list[data-v-4e472d79]{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:.4rem;gap:.4rem;flex:1}.p3d-snap-card[data-v-4e472d79]{flex-shrink:0;width:110px}.p3d-snap-thumb[data-v-4e472d79]{height:70px}.p3d-bar[data-v-4e472d79]{flex-wrap:wrap;gap:.4rem;padding:.45rem .65rem}.p3d-hint[data-v-4e472d79]{display:none}.p3d-bar-center[data-v-4e472d79]{width:100%;order:-1}.p3d-bar-actions[data-v-4e472d79]{width:100%;justify-content:flex-end}}.tp-wrap[data-v-01ee984b]{padding:2rem 0 1.5rem;text-align:center}.tp-hero[data-v-01ee984b]{max-width:580px;margin:0 auto 2rem;padding:0 1rem}.tp-kicker[data-v-01ee984b]{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.tp-heading[data-v-01ee984b]{font-size:1.75rem;font-weight:800;color:var(--text);margin-bottom:.35rem;line-height:1.2}.tp-sub[data-v-01ee984b]{font-size:1rem;color:var(--text-m);margin-bottom:1.25rem}.tp-features[data-v-01ee984b]{list-style:none;padding:0;margin:0 auto 1.1rem;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left}.tp-features li[data-v-01ee984b]{font-size:.88rem;color:var(--text-m);display:flex;align-items:center;gap:.5rem}.tp-features li[data-v-01ee984b]:before{content:"✔";font-size:.75rem;color:var(--accent);flex-shrink:0}.tp-free-note[data-v-01ee984b]{font-size:.82rem;color:var(--text-m);opacity:.8;margin:0}.tp-pick-label[data-v-01ee984b]{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-m);opacity:.7;margin-bottom:.85rem}.tp-grid[data-v-01ee984b]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:900px;margin:0 auto}.tp-card[data-v-01ee984b]{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;text-align:left;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column}.tp-card[data-v-01ee984b]:hover{border-color:var(--accent);box-shadow:0 4px 16px #0000001a}.tp-img[data-v-01ee984b]{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.tp-info[data-v-01ee984b]{padding:.85rem 1rem}.tp-label[data-v-01ee984b]{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.25rem}.tp-desc[data-v-01ee984b]{font-size:.82rem;color:var(--text-m);line-height:1.45}.tp-footer[data-v-01ee984b]{margin:2rem auto 0;max-width:480px;font-size:.8rem;color:var(--text-m);opacity:.65;line-height:1.5;padding:0 1rem}@media(max-width:680px){.tp-wrap[data-v-01ee984b]{padding:1.25rem 0 1rem}.tp-heading[data-v-01ee984b]{font-size:1.35rem}.tp-hero[data-v-01ee984b]{margin-bottom:1.5rem}.tp-grid[data-v-01ee984b]{grid-template-columns:repeat(2,1fr);gap:.75rem}.tp-info[data-v-01ee984b]{padding:.6rem .75rem}.tp-label[data-v-01ee984b]{font-size:.88rem}.tp-desc[data-v-01ee984b]{font-size:.75rem}}@media(max-width:380px){.tp-grid[data-v-01ee984b]{grid-template-columns:1fr}}.portfolios-view[data-v-25d6e2df]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.portfolios-header[data-v-25d6e2df]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.portfolios-header h2[data-v-25d6e2df]{color:var(--accent);font-size:1.4rem;margin:0}.loading-state[data-v-25d6e2df],.empty-state[data-v-25d6e2df]{text-align:center;padding:3rem 1rem;color:var(--text-m)}.empty-state p+p[data-v-25d6e2df]{margin-top:.5rem;font-size:.88rem}.portfolios-grid[data-v-25d6e2df]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.portfolio-card[data-v-25d6e2df]{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--surface);transition:box-shadow .15s,border-color .15s}.portfolio-card[data-v-25d6e2df]:hover{border-color:var(--accent-l);box-shadow:0 4px 16px #0000001a}.portfolio-cover[data-v-25d6e2df]{position:relative;aspect-ratio:4/3;background:#ece6df;overflow:hidden}.portfolio-cover-img[data-v-25d6e2df]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.portfolio-card:hover .portfolio-cover-img[data-v-25d6e2df]{transform:scale(1.03)}.portfolio-cover-empty[data-v-25d6e2df]{display:flex;align-items:center;justify-content:center;height:100%;font-size:.85rem;color:var(--text-m);font-style:italic}.portfolio-count-badge[data-v-25d6e2df]{position:absolute;bottom:.5rem;right:.5rem;background:#3a3028a6;color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portfolio-footer[data-v-25d6e2df]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border)}.portfolio-footer-main[data-v-25d6e2df]{display:flex;align-items:center;gap:.5rem;min-width:0}.portfolio-name[data-v-25d6e2df]{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-count[data-v-25d6e2df]{font-size:.78rem;color:#b8962e;font-weight:600;background:#f1c40f1f;padding:.1rem .4rem;border-radius:4px;flex-shrink:0}.share-btn[data-v-25d6e2df]{flex-shrink:0;padding:.25rem .65rem;border:1.5px solid var(--border);border-radius:6px;background:transparent;color:var(--text-m);font-size:.75rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;font-family:inherit;white-space:nowrap}.share-btn[data-v-25d6e2df]:hover{border-color:var(--accent-l);color:var(--accent)}.carousel-overlay[data-v-25d6e2df]{position:fixed;inset:0;z-index:500;background:#120c08f2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem}.carousel-header[data-v-25d6e2df]{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent)}.carousel-title[data-v-25d6e2df]{font-size:1rem;font-weight:700;color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carousel-counter[data-v-25d6e2df]{font-size:.82rem;color:#fff9;flex-shrink:0}.carousel-star[data-v-25d6e2df]{padding:.2rem .6rem;border-radius:6px;background:#ffffff1a;border:1.5px solid rgba(255,255,255,.2);color:#ffffffb3;font-size:.82rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.carousel-star[data-v-25d6e2df]:hover{background:#fff3;color:#fff}.carousel-star.active[data-v-25d6e2df]{color:#f1c40f;border-color:#f1c40f;background:#f1c40f26}.carousel-close[data-v-25d6e2df]{width:34px;height:34px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.carousel-close[data-v-25d6e2df]:hover{background:#ffffff40}.carousel-stage[data-v-25d6e2df]{display:flex;align-items:center;gap:1rem;max-width:100%;max-height:75vh}.carousel-img[data-v-25d6e2df]{max-width:min(90vw,900px);max-height:72vh;object-fit:contain;border-radius:6px;animation:fadeIn-25d6e2df .2s ease}@keyframes fadeIn-25d6e2df{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.carousel-arrow[data-v-25d6e2df]{width:48px;height:48px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;line-height:1}.carousel-arrow[data-v-25d6e2df]:hover{background:#ffffff47}.carousel-dots[data-v-25d6e2df]{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.carousel-dot[data-v-25d6e2df]{width:7px;height:7px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;padding:0;transition:background .15s,transform .15s}.carousel-dot.active[data-v-25d6e2df]{background:#fff;transform:scale(1.25)}.carousel-meta[data-v-25d6e2df]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.carousel-layout-name[data-v-25d6e2df]{font-size:.85rem;color:#ffffff8c}.share-btn--light[data-v-25d6e2df]{border-color:#ffffff40;color:#ffffffb3}.share-btn--light[data-v-25d6e2df]:hover{border-color:#ffffff80;color:#fff}@media(max-width:560px){.portfolios-grid[data-v-25d6e2df]{grid-template-columns:1fr}.carousel-arrow[data-v-25d6e2df]{width:38px;height:38px;font-size:1.5rem}.carousel-stage[data-v-25d6e2df]{gap:.35rem}}
