@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap";:root{--original-black:#252525;--original-white:#fcfbf8;--accent-color:#b00000;--tag-bg:#3b82f6;--tag-text:#000;--viewer-bg:#000;--viewer-text:#fff;--text-primary:var(--original-black);--text-secondary:#666;--bg-primary:var(--original-white);--bg-secondary:#f5f4f1;--border-color:#e0deda;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--header-height:64px;--container-max-width:1400px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--z-dropdown:100;--z-header:200;--z-modal:300;--z-fullscreen:400}[data-theme=dark]{--text-primary:var(--original-white);--text-secondary:#a0a0a0;--bg-primary:var(--original-black);--bg-secondary:#1a1a1a;--border-color:#3a3a3a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.3}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-md)}a{color:var(--accent-color);transition:color var(--transition-fast);text-decoration:none}a:hover{color:#8a0000}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-fast);font-weight:500;display:inline-flex}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:#8a0000}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-ghost{color:var(--text-primary);background-color:#0000}.btn-ghost:hover{background-color:var(--bg-secondary)}input,textarea,select{font-family:inherit;font-size:inherit;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--accent-color);outline:none}.container{width:100%;max-width:var(--container-max-width);padding:0 var(--spacing-md);margin:0 auto}.page{min-height:calc(100vh - var(--header-height));padding-top:var(--header-height)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}}body:has(.viewer-page.fullscreen) .header{display:none!important}.header{height:var(--header-height);background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:var(--z-header);padding:0 var(--spacing-md);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-content{width:100%;max-width:var(--container-max-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-logo{align-items:center;gap:var(--spacing-sm);color:var(--text-primary);font-weight:500;font-size:var(--font-size-lg);flex-shrink:0;text-decoration:none;display:flex}.header-logo:hover{color:var(--accent-color)}.logo-image{width:auto;height:24px}.logo-text{letter-spacing:.1em;font-family:Noto Serif JP,serif;font-size:var(--font-size-base)}.header-search{max-width:500px;margin:0 var(--spacing-lg);flex:1}.search-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:var(--spacing-xs)var(--spacing-sm);transition:border-color var(--transition-fast);align-items:center;display:flex}.search-form:focus-within{border-color:var(--accent-color)}.search-input{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-sm);background:0 0;border:none;outline:none;flex:1;min-width:0}.search-input::placeholder{color:var(--text-secondary)}.search-button{border-radius:var(--radius-full);background-color:var(--accent-color);color:#fff;width:32px;height:32px;transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.search-button:hover{background-color:#8a0000}.search-button svg{width:16px;height:16px}.header-account{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.account-button{border-radius:var(--radius-full);height:32px;color:var(--text-primary);transition:background-color var(--transition-fast);align-items:center;gap:6px;max-width:160px;padding:4px 10px;display:flex}.account-button:hover{background-color:var(--bg-secondary)}.account-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex;overflow:hidden;width:32px!important;height:32px!important}.account-icon img.default-icon{object-fit:contain;opacity:.7;width:16px;height:16px}.header-menu{position:relative}.menu-button{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-primary);transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.menu-button:hover{background-color:var(--bg-secondary)}.menu-button svg{width:18px;height:18px}.menu-dropdown{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:100;min-width:160px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.menu-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary);text-align:left;transition:background-color var(--transition-fast);display:flex}.menu-item:hover{background-color:var(--bg-secondary)}.menu-item svg{width:16px;height:16px}.menu-item.logout-item{color:var(--error-color)}.menu-item.logout-item:hover{background-color:#b000000d}.auth-buttons{align-items:center;gap:var(--spacing-sm);display:flex}.login-button{font-size:var(--font-size-sm);color:var(--text-primary);border-radius:var(--radius-full);transition:background-color var(--transition-fast);padding:4px 12px;font-weight:500;text-decoration:none}.login-button:hover{background-color:var(--bg-secondary)}.signup-button{font-size:var(--font-size-sm);color:#fff;background-color:var(--accent-color);border-radius:var(--radius-full);transition:background-color var(--transition-fast);padding:4px 12px;font-weight:500;text-decoration:none}.signup-button:hover{background-color:#8a0000}@media (max-width:768px){.header{padding:0 var(--spacing-sm)}.header-search{margin:0 var(--spacing-sm)}.auth-buttons{gap:var(--spacing-xs)}.login-button,.signup-button{font-size:var(--font-size-xs);padding:4px 8px}}@media (max-width:480px){.header-search{top:var(--header-height);padding:var(--spacing-sm);background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);margin:0;display:none;position:fixed;left:0;right:0}.header-search.active{display:block}.mobile-search-toggle{display:flex}}.product-grid{gap:var(--spacing-lg);padding:var(--spacing-lg)0;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.product-card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast);color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.product-thumbnail{background-color:var(--bg-secondary);width:100%;padding-top:75%;position:relative;overflow:hidden}.product-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-normal);position:absolute;top:0;left:0}.product-card:hover .product-thumbnail img{transform:scale(1.05)}.product-info{padding:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.product-title{font-size:var(--font-size-base);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:500;display:-webkit-box;overflow:hidden}.product-era{font-size:var(--font-size-xs);color:var(--text-secondary);background-color:var(--bg-secondary);border-radius:var(--radius-sm);width:fit-content;padding:2px 8px;display:inline-block}.product-price{font-size:var(--font-size-lg);color:var(--accent-color);font-weight:500}.product-seller{font-size:var(--font-size-s);color:var(--text-secondary);align-items:center;gap:4px;margin-top:4px;display:flex}.product-card .seller-icon{border-radius:var(--radius-full);background-color:var(--bg-secondary);flex-shrink:0;width:32px;height:32px;overflow:hidden}.product-card .seller-icon img{object-fit:cover;width:100%;height:100%}.seller-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-grid-loading{justify-content:center;align-items:center;min-height:200px;display:flex}.product-grid-empty{text-align:center;min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.product-grid-empty svg{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.5}@media (max-width:768px){.product-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.product-info{padding:var(--spacing-sm)}.product-title{font-size:var(--font-size-sm)}.product-price{font-size:var(--font-size-base)}}.home-page{padding-top:var(--header-height);min-height:100vh}.home-content{max-width:var(--container-max-width);padding:var(--spacing-lg)var(--spacing-md);margin:0 auto}.home-hero{text-align:center;padding:var(--spacing-2xl)0;margin-bottom:var(--spacing-lg)}.home-hero h1{font-family:Noto Serif JP,serif;font-size:var(--font-size-3xl);letter-spacing:.1em;margin-bottom:var(--spacing-md);color:var(--text-primary);font-weight:400}.home-hero p{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:0}.section-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--font-size-xl);color:var(--text-primary);margin:0;font-weight:500}.search-results-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);display:flex}.search-info{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.search-query{font-size:var(--font-size-base);color:var(--text-primary)}.search-query strong{color:var(--accent-color)}.search-filter{font-size:var(--font-size-sm);background-color:var(--accent-color);color:#fff;border-radius:var(--radius-sm);padding:4px 8px}.clear-search{font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;text-decoration:underline}.clear-search:hover{color:var(--accent-color)}.filter-toggle{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.filter-toggle:hover,.filter-toggle.active{color:var(--accent-color);border-color:var(--accent-color)}.filter-panel{gap:var(--spacing-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.filter-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.filter-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.filter-select{padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;min-width:150px}.filter-select:focus{border-color:var(--accent-color);outline:none}.load-more{padding:var(--spacing-xl)0;justify-content:center;display:flex}.load-more-button{padding:var(--spacing-md)var(--spacing-xl);font-size:var(--font-size-base);border-radius:var(--radius-full);background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);transition:all var(--transition-fast)}.load-more-button:hover{background-color:var(--border-color)}.load-more-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.home-hero{padding:var(--spacing-xl)0}.home-hero h1{font-size:var(--font-size-2xl)}.home-hero p{font-size:var(--font-size-base)}}.viewer-page{min-height:100vh;padding-top:var(--header-height);background-color:var(--bg-primary)}.viewer-container{max-width:1800px;min-height:calc(100vh - var(--header-height));flex-direction:row;margin:0;display:flex}.viewer-left{background-color:#000;flex-direction:column;flex:3;display:flex;position:relative}.viewer-canvas-area{aspect-ratio:var(--viewer-ratio,.6);max-height:calc(100vh - var(--header-height));flex:1;position:relative}.viewer-3d-container{width:100%;height:100%;position:absolute;top:0;left:0}.viewer-canvas{width:100%;height:100%;display:block}.viewer-controls{bottom:80px;left:var(--spacing-md);right:var(--spacing-md);pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.viewer-controls>*{pointer-events:auto}.viewer-help{color:#fff;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);background-color:#000000b3;line-height:1.6}.viewer-help p{margin:0}.fullscreen-button{color:#fff;border-radius:var(--radius-md);width:44px;height:44px;transition:background-color var(--transition-fast);background-color:#000000b3;justify-content:center;align-items:center;display:flex}.fullscreen-button:hover{background-color:#000000e6}.fullscreen-button svg{width:20px;height:20px}.media-selector{bottom:var(--spacing-md);gap:var(--spacing-sm);padding:var(--spacing-sm);z-index:5;background-color:#0000;flex-direction:row;display:flex;position:absolute;left:50%;transform:translate(-50%)}.media-item{border-radius:var(--radius-sm);cursor:pointer;width:56px;height:56px;transition:border-color var(--transition-fast),transform var(--transition-fast);background-color:#00000080;border:2px solid #ffffff4d;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.media-item:hover{border-color:#ffffffb3;transform:scale(1.05)}.media-item.active{border-color:var(--accent-color)}.media-item img{object-fit:cover;width:100%;height:100%}.media-item svg{color:#fff;width:28px;height:28px}.image-viewer{background-color:#000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.image-viewer img{object-fit:contain;max-width:100%;max-height:100%}.viewer-loading{color:#fff;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-loading .spinner{border-color:#fff #fff3 #fff3}.loading-progress{flex-direction:column;align-items:center;gap:8px;width:200px;display:flex}.progress-bar{background-color:#fff3;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background-color:var(--accent-color);border-radius:4px;height:100%;transition:width .3s}.progress-text{color:#ffffffe6;font-size:14px;font-weight:500}.cellular-warning{z-index:10;background-color:#000000e6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cellular-warning-content{text-align:center;color:#fff;padding:var(--spacing-xl);max-width:400px}.cellular-warning-icon{margin-bottom:var(--spacing-md);font-size:48px}.cellular-warning-content h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);font-weight:500}.cellular-warning-content p{font-size:var(--font-size-sm);color:#fffc;margin-bottom:var(--spacing-sm)}.cellular-warning-content .file-size{font-size:var(--font-size-md);color:var(--accent-color);margin-bottom:var(--spacing-lg)}.cellular-warning-content .file-size strong{font-weight:600}.cellular-warning-actions{gap:var(--spacing-md);justify-content:center;display:flex}.cellular-warning-actions .btn{min-width:100px}.viewer-right{background-color:var(--bg-primary);min-width:350px;max-width:450px;max-height:calc(100vh - var(--header-height));flex:2;overflow-y:auto}.product-details{padding:var(--spacing-lg)}.product-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--text-primary);font-weight:500}.product-price{font-size:var(--font-size-xl);color:var(--accent-color);margin-bottom:var(--spacing-lg);font-weight:500}.seller-info{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex}.seller-icon{border-radius:var(--radius-full);background-color:var(--border-color);flex-shrink:0;width:48px;height:48px;overflow:hidden}.seller-icon img{object-fit:cover;width:100%;height:100%}.seller-details{flex:1;min-width:0}.seller-name{color:var(--text-primary);font-weight:500;text-decoration:none}.seller-name:hover{color:var(--accent-color)}.seller-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.favorite-button{border-radius:var(--radius-full);background-color:var(--bg-primary);border:1px solid var(--border-color);width:40px;height:40px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.favorite-button:hover{background-color:var(--bg-secondary)}.favorite-button.active{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.favorite-button svg{width:20px;height:20px}.detail-section{margin-bottom:var(--spacing-lg)}.detail-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.detail-value{color:var(--text-primary);line-height:1.6}.tags{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.tag{font-size:var(--font-size-sm);padding:var(--spacing-xs)var(--spacing-sm);background-color:var(--tag-bg);border-radius:var(--radius-full);color:var(--tag-text);transition:background-color var(--transition-fast);text-decoration:none}.tag:hover{background-color:var(--tag-bg);filter:brightness(.9);color:var(--tag-text)}.meta-info{gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.meta-item{align-items:center;gap:var(--spacing-xs);display:flex}.meta-item svg{width:16px;height:16px}.viewer-page.fullscreen{z-index:var(--z-fullscreen);background-color:#000;padding-top:0;position:fixed;inset:0}.viewer-page.fullscreen~.header{display:none}body:has(.viewer-page.fullscreen) .header{display:none}.viewer-page.fullscreen .viewer-container{width:100vw;max-width:none;height:100vh}.viewer-page.fullscreen .viewer-left{flex:1;width:100%}.viewer-page.fullscreen .viewer-right{display:none}.viewer-page.fullscreen .viewer-canvas-area{aspect-ratio:auto;width:100vw;height:100vh;max-height:100vh}.viewer-page.fullscreen .viewer-3d-container,.viewer-page.fullscreen .viewer-canvas{width:100vw;height:100vh}@media (max-width:1024px){.viewer-right{width:350px}}@media (max-width:768px){.viewer-container{flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.viewer-left{flex-direction:column;flex:none;height:50%;position:sticky;top:0;overflow:hidden}.viewer-canvas-area{aspect-ratio:auto;touch-action:none;height:100%;max-height:none;overflow:hidden}.viewer-3d-container,.viewer-canvas{touch-action:none;height:100%}.viewer-right{-webkit-overflow-scrolling:touch;flex:none;width:100%;min-width:0;max-width:none;height:40%;max-height:none;overflow-y:auto}.viewer-page.fullscreen .viewer-canvas-area{aspect-ratio:auto;height:100vh}}.login-page{min-height:100vh;padding-top:var(--header-height);background-color:var(--bg-secondary);justify-content:center;align-items:center;display:flex}.login-container{width:100%;max-width:400px;margin:var(--spacing-lg);padding:var(--spacing-xl);background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:500}.login-header p{color:var(--text-secondary);margin-bottom:0}.login-tabs{margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex}.login-tab{padding:var(--spacing-md);font-size:var(--font-size-base);color:var(--text-secondary);transition:all var(--transition-fast);border-bottom:2px solid #0000;flex:1}.login-tab:hover{color:var(--text-primary)}.login-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-group label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.form-group input{width:100%}.form-error{color:var(--accent-color);font-size:var(--font-size-sm)}.submit-button{width:100%;padding:var(--spacing-md);margin-top:var(--spacing-sm)}.login-divider{align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg)0;color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}.login-divider:before,.login-divider:after{content:"";background-color:var(--border-color);flex:1;height:1px}.social-buttons{gap:var(--spacing-sm);flex-direction:column;display:flex}.social-button{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast);display:flex}.social-button:hover{background-color:var(--bg-secondary)}.social-button svg{width:20px;height:20px}.social-button.google{color:#4285f4;border-color:#4285f4}.social-button.google:hover{background-color:#4285f410}.social-button.anonymous{border-color:var(--text-secondary);color:var(--text-secondary)}.login-error{padding:var(--spacing-md);border:1px solid var(--accent-color);border-radius:var(--radius-md);color:var(--accent-color);font-size:var(--font-size-sm);text-align:center;background-color:#fee}.account-page{min-height:100vh;padding-top:var(--header-height);background-color:var(--bg-secondary)}.account-content{max-width:var(--container-max-width);padding:var(--spacing-lg)var(--spacing-md);margin:0 auto}.account-header{align-items:flex-start;gap:var(--spacing-xl);padding:var(--spacing-xl);background-color:var(--bg-primary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);display:flex}.account-icon{border-radius:var(--radius-full);background-color:var(--bg-secondary);flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.account-icon img{object-fit:cover;width:100%;height:100%}.account-icon svg{width:60px;height:60px;color:var(--text-secondary)}.account-info{flex:1}.account-name{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:500}.account-uid{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.account-details{gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary);flex-direction:column;display:flex}.account-detail-item{align-items:center;gap:var(--spacing-xs);display:flex}.account-detail-item svg{width:16px;height:16px}.account-products{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.products-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.products-title{font-size:var(--font-size-xl);color:var(--text-primary);margin:0;font-weight:500}.products-filters{gap:var(--spacing-sm);display:flex}.filter-select{padding:var(--spacing-xs)var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.account-loading,.account-not-found{text-align:center;min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}@media (max-width:768px){.account-header{text-align:center;flex-direction:column;align-items:center}.account-icon{width:100px;height:100px}.products-header{flex-direction:column;align-items:stretch}.products-filters{flex-direction:column}}.era-input{flex-direction:column;gap:12px;display:flex}.era-type-selector{flex-wrap:wrap;gap:8px;display:flex}.era-type-btn{border:1px solid var(--original-black);background:var(--original-white);color:var(--original-black);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.era-type-btn:hover{background:#f0efe9}.era-type-btn.active{background:var(--accent-color);color:var(--original-white);border-color:var(--accent-color)}.era-mode-selector{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.era-mode-label,.era-bce-label{cursor:pointer;align-items:center;gap:4px;font-size:14px;display:flex}.era-bce-label{color:var(--accent-color);margin-left:auto;font-weight:500}.era-bce-toggle{color:var(--accent-color);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;margin-right:8px;font-size:13px;font-weight:500;display:flex}.era-value-inputs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.era-value-group{align-items:center;gap:4px;display:flex}.era-input-field{text-align:center;border:1px solid #ccc;border-radius:4px;width:80px;padding:8px 12px;font-size:14px}.era-input-field:focus{border-color:var(--accent-color);outline:none}.era-unit{color:#666;font-size:14px}.era-separator{color:#666;padding:0 4px;font-size:16px}.era-range-error{color:#dc2626;padding:4px 0;font-size:13px;font-weight:500}.era-preview{color:#666;background:#f5f5f5;border-radius:4px;padding:8px 12px;font-size:13px}.era-preview strong{color:var(--original-black)}.era-preview-range{color:#888;margin-left:8px;font-size:12px}@media (max-width:480px){.era-type-btn{padding:6px 12px;font-size:13px}.era-input-field{width:70px;padding:6px 8px}}.tag-input-wrapper{flex-direction:column;gap:4px;display:flex}.tag-input-container{background:var(--original-white);cursor:text;border:1px solid #ccc;border-radius:4px;flex-wrap:wrap;gap:6px;min-height:44px;padding:8px;transition:border-color .2s;display:flex}.tag-input-container:focus-within{border-color:var(--accent-color)}.tag-input-container.max-reached{cursor:default;background:#f5f5f5}.tag-item{background:var(--tag-bg);color:var(--tag-text);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:transform .15s,opacity .15s,box-shadow .15s;animation:.2s tagAppear;display:inline-flex}.tag-item:active{cursor:grabbing}.tag-item.dragging{opacity:.5;transform:scale(.95)}.tag-item.drag-over{box-shadow:-3px 0 0 var(--tag-bg);transform:translate(4px)}@keyframes tagAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tag-remove-btn{color:#000;cursor:pointer;background:#0003;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:12px;line-height:1;transition:background .2s;display:flex}.tag-remove-btn:hover{background:#ffffff80}.tag-pending{background:var(--tag-bg);color:var(--tag-text);opacity:.8;border-radius:4px;align-items:center;padding:4px 8px;font-size:13px;display:inline-flex}.tag-input-field{background:0 0;border:none;outline:none;flex:1;min-width:120px;padding:4px;font-size:14px}.tag-input-field::placeholder{color:#999}.tag-counter{color:#666;justify-content:flex-end;align-items:center;gap:8px;font-size:12px;display:flex}.tag-counter .max-reached{color:var(--accent-color);font-weight:500}.tag-max-message{color:var(--accent-color);font-size:11px}@media (max-width:480px){.tag-input-container{padding:6px}.tag-item{padding:3px 6px;font-size:12px}.tag-input-field{min-width:80px}}.management-page{min-height:100vh;padding-top:var(--header-height);background-color:var(--bg-secondary)}.management-content{max-width:var(--container-max-width);padding:var(--spacing-lg)var(--spacing-md);margin:0 auto}.access-denied{text-align:center;background-color:var(--bg-primary);border-radius:var(--radius-lg);min-height:400px;padding:var(--spacing-xl);flex-direction:column;justify-content:center;align-items:center;display:flex}.access-denied svg{width:64px;height:64px;color:var(--accent-color);margin-bottom:var(--spacing-lg)}.access-denied h2{margin-bottom:var(--spacing-md)}.access-denied p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.management-tabs{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);background-color:var(--bg-primary);padding:var(--spacing-xs);border-radius:var(--radius-lg);display:flex}.management-tab{padding:var(--spacing-md);text-align:center;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);flex:1;font-weight:500}.management-tab:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.management-tab.active{background-color:var(--accent-color);color:#fff}.management-section{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.section-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--text-primary);font-weight:500}.profile-form{gap:var(--spacing-lg);flex-direction:column;max-width:500px;display:flex}.form-row{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-row label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.form-row input,.form-row textarea{width:100%}.form-row textarea{resize:vertical;min-height:100px}.icon-upload{align-items:center;gap:var(--spacing-md);display:flex}.icon-preview{border-radius:var(--radius-full);background-color:var(--bg-secondary);justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.icon-preview img{object-fit:cover;width:100%;height:100%}.icon-preview svg{width:40px;height:40px;color:var(--text-secondary)}.form-actions{gap:var(--spacing-md);padding-top:var(--spacing-md);display:flex}.products-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.new-product-button{align-items:center;gap:var(--spacing-xs);white-space:nowrap;display:flex}.new-product-button span{display:inline}.product-list{gap:var(--spacing-md);flex-direction:column;display:flex}.product-list-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);display:flex}.product-list-thumbnail{border-radius:var(--radius-sm);background-color:var(--border-color);flex-shrink:0;width:80px;height:60px;overflow:hidden}.product-list-thumbnail img{object-fit:cover;width:100%;height:100%}.product-list-info{flex:1;min-width:0}.product-list-title{color:var(--text-primary);margin-bottom:var(--spacing-xs);align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;font-weight:500;display:flex}.product-list-details{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs);display:flex}.product-list-price{font-size:var(--font-size-sm);color:var(--accent-color);font-weight:500}.product-list-era{font-size:var(--font-size-xs);color:var(--text-secondary);background-color:var(--bg-primary);border-radius:var(--radius-sm);padding:2px 8px}.product-list-meta{font-size:var(--font-size-xs);color:var(--text-secondary)}.product-list-actions{gap:var(--spacing-xs);display:flex}.edit-button,.delete-button{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.edit-button{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary)}.delete-button{border:1px solid var(--accent-color);color:var(--accent-color);background-color:#fee}.modal-overlay{z-index:var(--z-modal);padding:var(--spacing-md);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;padding:var(--spacing-xl);overflow-y:auto}.modal-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-xl);font-weight:500}.modal-close{border-radius:var(--radius-full);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.modal-close:hover{background-color:var(--bg-secondary)}.product-form{gap:var(--spacing-md);flex-direction:column;display:flex}.file-upload{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;cursor:pointer;transition:border-color var(--transition-fast)}.file-upload:hover{border-color:var(--accent-color)}.file-upload.has-file{border-color:var(--accent-color);background-color:#f0fff0}.file-upload input{display:none}.file-upload-icon{width:48px;height:48px;margin:0 auto var(--spacing-sm);color:var(--text-secondary)}.file-upload p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.file-name{color:var(--accent-color);font-weight:500}.tags-input{gap:var(--spacing-xs);padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;min-height:44px;display:flex}.tag-item{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background-color:var(--tag-bg);color:var(--tag-text);border-radius:var(--radius-full);font-size:var(--font-size-sm);display:flex}.tag-remove{border-radius:var(--radius-full);justify-content:center;align-items:center;width:16px;height:16px;display:flex}.tag-remove:hover{background-color:var(--border-color)}.tag-input{outline:none;flex:1;min-width:100px;padding:var(--spacing-xs)!important;border:none!important}.upload-progress{margin-top:var(--spacing-md)}.progress-bar{background-color:var(--bg-secondary);border-radius:var(--radius-full);height:4px;overflow:hidden}.progress-fill{background-color:var(--accent-color);height:100%;transition:width var(--transition-fast)}.progress-text{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;margin-top:var(--spacing-xs)}@media (max-width:768px){.management-tabs{flex-direction:row}.products-header{gap:var(--spacing-md);flex-direction:column;align-items:stretch}.product-list-item{text-align:left;flex-wrap:wrap}.product-list-thumbnail{width:70px;height:70px}.product-list-info{flex:1;min-width:0}.product-list-actions{width:100%;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);justify-content:flex-start}.modal{border-radius:0;max-height:100vh}}.unpublished-badge{color:#fff;vertical-align:middle;background-color:#6b7280;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.published-badge{color:#fff;vertical-align:middle;background-color:#10b981;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.editor-title .unpublished-badge,.editor-title .published-badge{margin-left:12px}.product-list-item.unpublished{background-color:#f9f9f9;border-left:3px solid #6b7280}.product-list-title .unpublished-badge,.product-list-title .published-badge{margin-left:0;margin-right:8px}.unpublish-button{color:#fff;cursor:pointer;background-color:#f59e0b;border:none;border-radius:4px;padding:6px 12px;font-size:13px;transition:background-color .2s}.unpublish-button:hover{background-color:#d97706}.publish-button{color:#fff;cursor:pointer;background-color:#10b981;border:none;border-radius:4px;padding:6px 12px;font-size:13px;transition:background-color .2s}.publish-button:hover{background-color:#059669}.required{color:var(--accent-color);margin-left:4px;font-size:11px;font-weight:400}.product-modal{max-width:700px}.product-modal .form-row{gap:var(--spacing-sm)}.form-help{color:#6b7280;margin-top:4px;font-size:12px}.price-input-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.price-input-group.horizontal{flex-flow:wrap;align-items:center}.price-type-selector{gap:var(--spacing-xs);display:flex}.price-type-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;padding:8px 16px;font-size:14px;transition:all .2s}.price-type-btn:hover{border-color:var(--accent-color)}.price-type-btn.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.price-toggle-buttons{gap:var(--spacing-xs);display:flex}.price-toggle-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:13px;transition:all .2s}.price-toggle-btn:hover{border-color:var(--text-secondary)}.price-toggle-btn.active{background-color:var(--text-secondary);color:#fff;border-color:var(--text-secondary)}.price-amount-input{align-items:center;gap:var(--spacing-xs);flex:1;display:flex}.price-amount-input .currency{color:var(--text-primary);font-size:16px;font-weight:500}.price-amount-input input{flex:1;max-width:200px}.price-amount-input input:disabled{background-color:var(--bg-secondary);color:var(--text-secondary)}.existing-images{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.existing-images.new-images{border-top:1px dashed var(--border-color);padding-top:var(--spacing-sm)}.existing-image-item{border-radius:var(--radius-sm);background-color:var(--bg-secondary);width:80px;height:80px;position:relative;overflow:hidden}.existing-image-item img{object-fit:cover;width:100%;height:100%}.remove-image-btn{color:#fff;cursor:pointer;background-color:#0009;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:background-color .2s;display:flex;position:absolute;top:4px;right:4px}.remove-image-btn:hover{background-color:var(--accent-color)}.remove-image-btn svg{width:12px;height:12px}.new-badge{color:#fff;background-color:#3b82f6;border-radius:2px;padding:1px 4px;font-size:9px;position:absolute;bottom:4px;left:4px}.thumbnail-preview{object-fit:contain;border-radius:var(--radius-sm);max-width:120px;max-height:90px;margin-bottom:var(--spacing-xs)}.file-upload.small{padding:var(--spacing-md)}.file-upload.small .file-upload-icon{width:32px;height:32px}.publish-checklist{padding:var(--spacing-md);border-radius:var(--radius-md);background-color:#fff7ed;border:1px solid #fed7aa}.checklist-title{margin-bottom:var(--spacing-sm);color:#c2410c;font-weight:500}.checklist-item{color:#c2410c;padding-left:16px;font-size:13px;position:relative}.checklist-item:before{content:"•";position:absolute;left:0}.checklist-item.complete{color:#16a34a}.checklist-item.incomplete{color:#c2410c}.btn.btn-ghost{color:var(--text-secondary);background-color:#0000;border:none}.btn.btn-ghost:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.product-modal .form-actions{gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);flex-wrap:wrap}@media (max-width:480px){.price-type-selector{flex-wrap:wrap}.price-type-btn{flex:1;min-width:80px;padding:6px 12px;font-size:13px}.existing-image-item{width:60px;height:60px}.product-modal .form-actions{flex-direction:column}.product-modal .form-actions .btn{width:100%}}.product-editor-overlay{background-color:var(--bg-primary);z-index:1000;position:fixed;inset:0;overflow:hidden}.product-editor{flex-direction:row;width:100%;height:100%;display:flex}.editor-main-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.editor-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex}.editor-title{font-size:var(--font-size-xl);align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin:0;font-weight:600;display:flex}.header-progress{align-items:center;gap:var(--spacing-sm);flex:1;max-width:300px;display:flex}.header-progress .progress-bar{background-color:var(--bg-secondary);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.header-progress .progress-fill{background-color:var(--accent-color);height:100%;transition:width var(--transition-fast)}.header-progress .progress-text{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.editor-form-scroll{padding:var(--spacing-lg);flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.editor-form-scroll .form-row{width:100%;max-width:700px}.editor-thumbnail-section{align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-color);width:100%;max-width:700px;display:flex}.thumbnail-preview-large{border-radius:var(--radius-md);background-color:var(--bg-secondary);flex-shrink:0;width:200px;height:150px;overflow:hidden}.thumbnail-preview-large img{object-fit:cover;width:100%;height:100%}.thumbnail-placeholder{justify-content:center;align-items:center;gap:var(--spacing-xs);width:100%;height:100%;color:var(--text-tertiary);flex-direction:column;display:flex}.thumbnail-placeholder svg{width:32px;height:32px}.thumbnail-upload-btn{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:var(--spacing-xs);display:flex}.thumbnail-upload-btn:hover{background-color:var(--bg-tertiary);border-color:var(--text-secondary)}.editor-right-panel{width:220px;min-width:220px;padding:var(--spacing-lg);border-left:1px solid var(--border-color);background-color:var(--bg-secondary);flex-direction:column;justify-content:flex-end;display:flex}.editor-actions{gap:var(--spacing-sm);flex-direction:column;display:flex}.editor-actions .btn{justify-content:center;width:100%}@media (max-width:900px){.product-editor{flex-direction:column}.editor-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.header-progress{width:100%;max-width:none}.editor-main-panel{flex:1;min-height:0}.editor-right-panel{width:100%;min-width:unset;padding:var(--spacing-md);border-left:none;border-top:1px solid var(--border-color);flex-shrink:0}.editor-actions{flex-flow:wrap}.editor-actions .btn{flex:1;min-width:100px}.editor-thumbnail-section{flex-direction:column;align-items:center}.thumbnail-preview-large{width:100%;max-width:300px;height:200px}}@media (max-width:480px){.editor-header,.editor-form-scroll{padding:var(--spacing-md)}.editor-title{font-size:var(--font-size-lg)}.editor-actions .btn{padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-sm)}}
