:root{--bg:#0e0e12;--surface:#16161e;--surface-2:#1e1e2a;--border:#2a2a3c;--border-hover:#3d3d55;--accent:#7c6af7;--accent-2:#9580ff;--text:#e2e0f0;--text-muted:#8886a0;--text-faint:#55536a;--heart:#f43f5e;--free:#22c55e;--tag-bg:#1e1e2a;--tag-active-bg:#7c6af72e;--tag-active-border:#7c6af7;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow:0 2px 16px #0006;--sidebar-w:260px;--mobile-topbar-h:50px}[data-theme=light]{--bg:#f4f4f8;--surface:#fff;--surface-2:#ebebf3;--border:#d8d8e8;--border-hover:#b0b0cc;--accent:#6553e8;--accent-2:#7c6af7;--text:#1a1a2e;--text-muted:#5a5a7a;--text-faint:#aac;--tag-bg:#ebebf3;--tag-active-bg:#6553e81f;--tag-active-border:#6553e8;--shadow:0 2px 16px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,Segoe UI,system-ui,sans-serif;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;z-index:200;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-header-row{align-items:center;padding:0 10px 0 0;display:flex}.sidebar-logo{letter-spacing:-.5px;background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;background-clip:text;flex:1 0;padding:18px 16px 14px;font-size:16px;font-weight:800}.theme-icon-btn{width:28px;height:28px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .14s;display:flex}.theme-icon-btn:hover{border-color:var(--accent);color:var(--accent-2)}.sidebar-close-btn{width:28px;height:28px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;font-size:16px;transition:all .14s;display:none}.sidebar-close-btn:hover{color:var(--text)}.category-tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 8px;display:flex}.cat-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 4px;font-size:13px;font-weight:600;transition:all .14s}.cat-tab.active{color:var(--accent-2);border-bottom-color:var(--accent)}.filter-section{flex:1;padding:12px 14px 0}.sort-row{gap:4px;margin-bottom:10px;display:flex}.sort-btn{color:var(--text-muted);background:var(--tag-bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;padding:5px 0;font-size:12px;font-weight:500;transition:all .14s}.sort-btn.active{background:var(--tag-active-bg);border-color:var(--accent);color:var(--accent-2);font-weight:600}.tag-search{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;margin-bottom:10px;padding:6px 10px;font-size:12px;transition:border-color .14s}.tag-search::placeholder{color:var(--text-faint)}.tag-search:focus{border-color:var(--accent)}.selected-chips{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.selected-chip{background:var(--tag-active-bg);border:1px solid var(--accent);color:var(--accent-2);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.selected-chip .x{opacity:.7;font-size:10px}.chip-group-header{color:var(--text-muted);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 0 5px;font-size:12.5px;font-weight:700;display:flex}.chip-group-header .arrow{font-size:9px;transition:transform .2s}.chip-group-header.open .arrow{transform:rotate(180deg)}.chip-group-chips{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.chip{border:1px solid var(--border);background:var(--tag-bg);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:500;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--border-hover);color:var(--text)}.chip.active{background:var(--tag-active-bg);border-color:var(--tag-active-border);color:var(--accent-2)}.chip.chip-more{border-color:var(--accent);color:var(--accent-2);opacity:.85;font-weight:600}.chip.chip-more:hover{opacity:1;background:var(--tag-active-bg)}.chip-count{opacity:.55;margin-left:3px;font-size:9.5px}.price-slider{margin:8px 0 12px}.price-slider-header{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.price-slider-value{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:10.5px;font-weight:400}.price-slider-value.active{color:var(--accent-2);font-weight:600}.dual-range{height:24px;margin:0 2px;position:relative}.dual-range-bg{background:var(--border);border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.dual-range-fill{background:var(--accent);pointer-events:none;border-radius:2px;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.dual-range input[type=range]{appearance:none;pointer-events:none;background:0 0;width:100%;height:100%;margin:0;position:absolute;top:0;left:0}.dual-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;background:var(--accent-2);border:2px solid var(--bg);width:16px;height:16px;box-shadow:0 0 0 1.5px var(--accent);cursor:grab;border-radius:50%;transition:transform .1s}.dual-range input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.2)}.dual-range input[type=range]::-moz-range-thumb{pointer-events:all;background:var(--accent-2);border:2px solid var(--bg);width:16px;height:16px;box-shadow:0 0 0 1.5px var(--accent);cursor:grab;border-radius:50%}.price-slider-ticks{color:var(--text-faint);justify-content:space-between;margin-top:4px;font-size:9.5px;display:flex}.sidebar-divider{border:none;border-top:1px solid var(--border);margin:10px 14px 6px}.sidebar-nav{flex-direction:column;gap:1px;padding:2px 10px 10px;display:flex}.sidebar-nav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:all .12s;display:flex}.sidebar-nav-item:hover,.sidebar-nav-item.active{background:var(--surface-2);color:var(--text)}.nav-icon{text-align:center;flex-shrink:0;width:16px;font-size:13px;line-height:1}.sidebar-badge{background:var(--accent);color:#fff;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}@keyframes heartPop{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}13%{opacity:1;transform:translate(-50%, -50%) translate(calc(var(--dx) * .7), calc(var(--dy) * .7)) scale(1.2)}30%{opacity:1;transform:translate(-50%, -50%) translate(var(--dx), var(--dy)) scale(.95)}to{opacity:0;transform:translate(-50%, -50%) translate(calc(var(--dx) * 1.5), calc(var(--dy) * 1.5)) scale(.2)}}.heart-particle{pointer-events:none;z-index:9999;will-change:transform, opacity;line-height:1;animation:.75s linear forwards heartPop;position:fixed}@keyframes viewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view-transition{flex-direction:column;flex:1;animation:.18s viewIn;display:flex}.mobile-topbar{height:var(--mobile-topbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:10px;padding:0 14px;display:none;position:fixed;top:0;left:0;right:0}.mobile-topbar-logo{letter-spacing:-.5px;background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;cursor:pointer;-webkit-background-clip:text;background-clip:text;flex:1;font-size:15px;font-weight:800}.mobile-filter-btn{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:17px;transition:all .14s;display:flex}.mobile-filter-btn:hover,.mobile-filter-btn.active{border-color:var(--accent);color:var(--accent-2)}.sidebar-backdrop{z-index:190;background:#0000008c;display:none;position:fixed;inset:0}.main-page{padding:40px 32px}.main-logo{letter-spacing:-2px;background:linear-gradient(135deg, var(--accent), var(--accent-2), #c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:clamp(36px,5vw,64px);font-weight:900;line-height:1}.main-tagline{color:var(--text-muted);margin-bottom:32px;font-size:14px}.section-label{color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:600}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.theme-card{border-radius:var(--radius-lg);cursor:pointer;background:var(--surface-2);border:1px solid var(--border);aspect-ratio:3/4;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.theme-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px #0006}@media (width<=480px){.theme-card-en{font-size:14px}.theme-card-label{padding:10px}}.theme-card-img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .4s;display:block}.theme-card:hover .theme-card-img{transform:scale(1.05)}.theme-card-overlay{background:linear-gradient(#0000 0%,#00000014 50%,#000000c7 100%);position:absolute;inset:0}.theme-card-label{padding:16px;position:absolute;bottom:0;left:0;right:0}.theme-card-en{color:#fff;letter-spacing:-.5px;font-size:clamp(18px,2.2vw,26px);font-weight:800;line-height:1.1}.theme-card-ko{color:#ffffff8c;margin-top:3px;font-size:12px}.theme-card-count{color:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:999px;padding:3px 8px;font-size:11px;position:absolute;top:10px;right:10px}.search-page{flex-direction:column;flex:1;display:flex}.search-topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;flex-wrap:nowrap;align-items:center;gap:10px;height:48px;padding:0 24px;display:flex;position:sticky;top:0;overflow:hidden}.search-back{color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-size:13px;transition:color .12s;display:flex}.search-back:hover{color:var(--text)}.topbar-divider{color:var(--border);font-size:12px}.breadcrumbs{scrollbar-width:none;flex-wrap:nowrap;flex:1;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.breadcrumbs::-webkit-scrollbar{display:none}.breadcrumb-chip{background:var(--tag-active-bg);border:1px solid var(--accent);color:var(--accent-2);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;display:inline-flex}.breadcrumb-chip .x{opacity:.6;font-size:10px}.topbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.result-info{color:var(--text-muted);white-space:nowrap;font-size:12px}.search-content{flex:1;padding:20px 24px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:28px;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s;overflow:hidden}.product-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-2px)}.product-card-img-wrap{aspect-ratio:1;background:var(--surface-2);position:relative;overflow:hidden}.product-card-img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .3s;display:block}.product-card:hover .product-card-img{transform:scale(1.04)}.product-card-placeholder{width:100%;height:100%;color:var(--text-faint);justify-content:center;align-items:center;font-size:24px;display:flex}.badge-free{background:var(--free);color:#fff;border-radius:var(--radius-sm);padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:8px;left:8px}.heart-btn{width:28px;height:28px;color:var(--text-muted);z-index:2;background:#0e0e12a6;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:13px;transition:all .14s;display:flex;position:absolute;top:7px;right:7px}.heart-btn:hover,.heart-btn.on{color:var(--heart);border-color:var(--heart)}.heart-btn.on{background:#f43f5e2e}.product-card-body{padding:10px 11px 11px}.product-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:12.5px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-meta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.product-card-price{font-size:13px;font-weight:700}.product-card-price.free{color:var(--free)}.product-card-hearts{color:var(--text-muted);align-items:center;gap:3px;font-size:11.5px;display:flex}.product-card-hearts .hi{color:var(--heart);font-size:10px}.product-card-tags{flex-wrap:wrap;gap:3px;display:flex}.product-card-tag{color:var(--text-faint);background:var(--surface-2);border-radius:4px;padding:2px 5px;font-size:10px}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;padding:8px 0 24px;display:flex}.page-btn{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);min-width:34px;height:34px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-size:13px;transition:all .12s;display:inline-flex}.page-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-2)}.page-btn.active{background:var(--tag-active-bg);border-color:var(--accent);color:var(--accent-2);font-weight:700}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-ellipsis{color:var(--text-faint);padding:0 2px;font-size:13px}.empty-state{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:60px 20px}.empty-state .empty-icon{margin-bottom:12px;font-size:40px}.empty-state h3{color:var(--text);margin-bottom:6px;font-size:15px}.empty-state p{font-size:12.5px}.shared-list-page{padding:32px 24px}.shared-list-header{margin-bottom:24px}.shared-list-header h2{margin-bottom:4px;font-size:20px;font-weight:700}.shared-list-header p{color:var(--text-muted);font-size:13px}.lists-view{flex:1;padding:28px 24px}.lists-header{margin-bottom:20px}.lists-header h2{margin-bottom:4px;font-size:18px;font-weight:700}.lists-header p{color:var(--text-muted);font-size:13px}.lists-accordion{flex-direction:column;gap:8px;display:flex}.list-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.list-block.open{border-color:var(--accent)}.list-block-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:13px 16px;transition:background .12s;display:flex}.list-block-header:hover{background:var(--surface-2)}.list-block-arrow{color:var(--text-faint);flex-shrink:0;font-size:12px}.list-block-name{flex:1;font-size:14px;font-weight:600}.list-block-count{color:var(--text-muted);flex-shrink:0;font-size:12px}.list-block-actions{flex-shrink:0;gap:4px;display:flex}.list-action-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.list-action-btn:hover{color:var(--accent-2);border-color:var(--accent);background:var(--tag-active-bg)}.list-action-btn.success{color:var(--free);border-color:var(--free)}.list-action-btn.delete:hover{color:var(--heart);border-color:var(--heart);background:#f43f5e1a}.list-block-body{border-top:1px solid var(--border);padding:16px}.list-block-empty{color:var(--text-faint);font-size:13px}.list-item-wrap{position:relative}.list-item-remove{color:#ffffffb3;cursor:pointer;opacity:0;z-index:3;background:#0e0e12b3;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;transition:opacity .14s;display:flex;position:absolute;top:6px;left:6px}.list-item-wrap:hover .list-item-remove{opacity:1}.detail-page{flex-direction:column;flex:1;min-height:0;display:flex}.detail-topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;align-items:center;height:48px;padding:0 24px;display:flex;position:sticky;top:0}.detail-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;transition:color .12s}.detail-back:hover{color:var(--text)}.detail-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;padding:32px 28px;display:grid}.detail-image-col{flex-direction:column;gap:12px;display:flex}.detail-main-img-wrap{aspect-ratio:1;background:var(--surface-2);border-radius:var(--radius-lg);border:1px solid var(--border);width:min(100%,480px);overflow:hidden}.detail-main-img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.detail-img-placeholder{width:100%;height:100%;color:var(--text-faint);justify-content:center;align-items:center;font-size:48px;display:flex}.detail-thumbnails{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.detail-thumbnails::-webkit-scrollbar{height:3px}.detail-thumbnails::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.detail-thumb{aspect-ratio:1;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--surface-2);cursor:pointer;flex-shrink:0;width:calc(25% - 6px);height:auto;padding:0;transition:border-color .14s;overflow:hidden}.detail-thumb img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.detail-thumb.active{border-color:var(--accent)}.detail-thumb:hover{border-color:var(--border-hover)}.detail-info-col{flex-direction:column;gap:20px;display:flex}.detail-name{color:var(--text);font-size:clamp(16px,2vw,22px);font-weight:700;line-height:1.4}.detail-price-row{align-items:baseline;gap:14px;display:flex}.detail-price{letter-spacing:-.5px;font-size:26px;font-weight:800}.detail-price.free{color:var(--free)}.detail-hearts{color:var(--text-muted);align-items:center;gap:4px;font-size:13px;display:flex}.detail-hearts .hi{color:var(--heart);font-size:11px}.detail-tags-section{flex-direction:column;gap:10px;display:flex}.detail-tag-group{align-items:flex-start;gap:10px;display:flex}.detail-tag-label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;min-width:36px;padding-top:3px;font-size:11px;font-weight:600}.detail-tag-chips{flex-wrap:wrap;gap:5px;display:flex}.detail-tag-chip{cursor:pointer;border:1px solid var(--border);background:var(--tag-bg);color:var(--text-muted);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}.detail-tag-chip:hover{border-color:var(--accent);color:var(--accent-2);background:var(--tag-active-bg)}.detail-tag-chip.detail-tag-style{color:var(--accent-2);background:var(--tag-active-bg);border-color:#7c6af766}.detail-tag-chip.detail-tag-item_type{color:#4ade80;background:#22c55e14;border-color:#22c55e4d}.detail-tag-chip.detail-tag-textures{color:#fbbf24;background:#fbbf2412;border-color:#fbbf244d}.detail-actions{flex-direction:column;gap:10px;margin-top:4px;display:flex}.detail-btn-row{gap:8px;display:flex}.detail-btn-row .detail-btn-heart{flex:1}.detail-list-wrap{flex:1;position:relative}.detail-btn-list{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:11px 0;font-size:13px;font-weight:600;transition:all .14s;display:flex}.detail-btn-list:hover,.detail-btn-list.on{border-color:var(--accent);color:var(--accent-2);background:var(--tag-active-bg)}.list-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);z-index:50;min-width:160px;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden}.list-dropdown-empty{color:var(--text-faint);padding:10px 14px;font-size:12px}.list-dropdown-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:9px 14px;font-size:13px;transition:background .12s;display:flex}.list-dropdown-item:hover{background:var(--surface-2)}.list-dropdown-name{flex:1}.list-dropdown-count{color:var(--text-faint);margin-left:8px;font-size:11px}.list-dropdown-divider{border:none;border-top:1px solid var(--border);margin:2px 0}.list-dropdown-new{width:100%;color:var(--accent-2);cursor:pointer;text-align:left;background:0 0;border:none;padding:9px 14px;font-size:12px;transition:background .12s}.list-dropdown-new:hover{background:var(--surface-2)}.list-dropdown-create{gap:6px;padding:8px 10px;display:flex}.list-dropdown-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;min-width:0;padding:5px 8px;font-size:12px}.list-dropdown-input:focus{border-color:var(--accent)}.list-dropdown-confirm{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:5px 10px;font-size:12px;font-weight:600}.detail-btn-primary{border-radius:var(--radius-md);background:var(--accent);color:#fff;border:none;justify-content:center;align-items:center;padding:13px 0;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .14s,transform .12s;display:flex}.detail-btn-primary:hover{opacity:.88;transform:translateY(-1px)}.detail-btn-heart{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:11px 0;font-size:13px;font-weight:600;transition:all .14s;display:flex}.detail-btn-heart:hover{border-color:var(--heart);color:var(--heart)}.detail-btn-heart.on{border-color:var(--heart);color:var(--heart);background:#f43f5e1f}.fb-trigger-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-self:flex-end;margin-top:4px;padding:4px 2px;font-size:11.5px;transition:color .14s}.fb-trigger-btn:hover{color:var(--text-muted)}.fb-overlay{z-index:300;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fb-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px 24px 24px;display:flex;position:relative}.fb-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;line-height:1;position:absolute;top:12px;right:14px}.fb-close:hover{color:var(--text)}.fb-title{color:var(--text);margin:0;padding-right:20px;font-size:14px;font-weight:600}.fb-options{flex-direction:column;gap:8px;display:flex}.fb-option-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:left;cursor:pointer;padding:10px 14px;font-size:13px;transition:border-color .14s,background .14s}.fb-option-btn:hover{border-color:var(--accent);background:var(--surface-3)}.fb-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:9px 12px;font-size:13px;transition:border-color .14s}.fb-input:focus{border-color:var(--accent)}.fb-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;outline:none;padding:9px 12px;font-size:13px;transition:border-color .14s}.fb-select:focus{border-color:var(--accent)}.fb-textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);resize:vertical;outline:none;min-height:90px;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .14s}.fb-textarea:focus{border-color:var(--accent)}.fb-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.fb-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px}.fb-back:hover{color:var(--text)}.fb-submit{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;padding:8px 20px;font-size:13px;font-weight:600;transition:opacity .14s}.fb-submit:disabled{opacity:.35;cursor:not-allowed}.fb-submit:not(:disabled):hover{opacity:.85}.fb-done{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.fb-done-icon{color:var(--accent);font-size:22px}.fb-done-msg{color:var(--text);margin:0;font-size:13.5px;line-height:1.6}@media (width<=768px){.sidebar{height:100dvh;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0006}.sidebar.open{transform:translate(0)}.sidebar-close-btn{display:flex}.sidebar-backdrop.visible{display:block}.mobile-topbar{display:flex}.main-content{padding-top:var(--mobile-topbar-h)}.search-topbar{top:var(--mobile-topbar-h)}.main-page{padding:16px 12px}.search-content{padding:10px 12px}.product-grid{grid-template-columns:repeat(2,1fr);gap:8px}.product-card-img-wrap{aspect-ratio:4/3}.search-topbar{padding:10px 16px}.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px}.detail-body{grid-template-columns:1fr;gap:16px;padding:12px}.detail-main-img-wrap{width:min(100%,72vw)}.detail-thumbnails{max-width:min(100%,72vw)}.detail-topbar{top:var(--mobile-topbar-h);padding:10px 16px}.detail-name{font-size:16px}.detail-price{font-size:22px}}@media (width>=1440px){:root{--sidebar-w:290px}.sidebar-logo{font-size:18px}.cat-tab{font-size:14px}.sort-btn{font-size:13px}.chip-group-header{font-size:12px}.chip{padding:4px 10px;font-size:12.5px}.tag-search{font-size:13px}}
