body{background-color:#f5f5f5;margin:0;font-family:sans-serif}#root{justify-content:center;align-items:flex-start;min-height:100vh;padding:40px;display:flex}main{background:#fff;border-radius:10px;width:800px;padding:30px;box-shadow:0 2px 10px #0000001a}input{box-sizing:border-box;width:100%;padding:12px;font-size:16px}button{cursor:pointer;box-sizing:border-box;padding:12px 16px;font-size:16px}.search-input{box-sizing:border-box;border:1px solid #c4c4c4;border-radius:10px;outline:none;flex:240px;width:100%;min-width:0;max-width:100%;padding:14px 16px;font-size:16px;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#3a8ee6;box-shadow:0 0 0 4px #3a8ee62e}.search-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#06c;border:none;border-radius:10px;flex:none;min-width:120px;padding:14px 18px;font-size:16px;font-weight:700}.search-button:hover:not(:disabled){background-color:#005bb5}.search-button:disabled{color:#888;cursor:not-allowed;background-color:#d6d6d6}.clear-search-button{color:#1f2937;background:#fff;border:1px solid #c4c4c4;border-radius:10px;min-width:130px;padding:14px 18px;font-weight:700}.product-search-section+hr{margin-top:24px}.app-container{color:#1f2937;width:100%;max-width:1024px;margin:0 auto;padding:24px 16px 40px}.page-header{margin-bottom:24px}.page-header h1{letter-spacing:-.03em;margin:0;font-size:2rem}.product-search-section{width:100%;max-width:100%;margin-bottom:24px}.data-update-section{width:100%;margin-bottom:20px}.data-update-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-input-label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.file-input-label input[type=file]{display:none}.file-input-button{color:#fff;background-color:#06c;border-radius:8px;padding:10px 14px;font-weight:700}.file-status{color:#1f2937;font-size:.95rem}.file-error{color:#b91c1c;font-weight:700}.search-form{grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:12px;display:grid}.fanza-button,.search-button,.barcode-button,.clear-search-button{min-width:130px}.barcode-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#16a34a;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:16px;font-weight:700;display:inline-flex}.barcode-button:hover:not(:disabled){background-color:#15803d}.barcode-button:disabled{color:#888;cursor:not-allowed;background-color:#d6d6d6}.fanza-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#06c;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:16px;font-weight:700;display:inline-flex}.product-detail-section{width:100%}.product-summary{margin:16px 0 24px;font-size:1.05rem;line-height:1.8}.actress-name-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.actress-name-text{margin:0}.google-pronunciation-button{color:#92400e;white-space:nowrap;background:#fef3c7;border:1px solid #d1d5db;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;display:inline-flex}.google-pronunciation-button:hover:not(:disabled){background:#fde68a}.detail-section{gap:16px;margin-bottom:24px;display:grid}.detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px 20px;box-shadow:0 10px 24px #0f172a0f}.detail-card h3{margin-top:0;margin-bottom:14px}.product-category-label{color:#92400e;background-color:#fde68a;border-radius:999px;margin-left:12px;padding:2px 10px;font-size:.92rem;font-weight:700;display:inline-block}.order-judgment-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:24px;padding:18px 20px;box-shadow:0 10px 24px #0f172a0f}.order-judgment-card h3{margin-top:0;margin-bottom:14px;font-size:18px}.judgment-stars{color:#ffb400;text-align:center;margin-bottom:12px;font-size:36px;font-weight:900}.judgment-reasons{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.judgment-reasons li{color:#1f2937;background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;padding:8px 12px;font-weight:700}.judgment-reasons li:first-child{background:#eef6ff;border-color:#dbeafe}@media (width<=900px){.search-form{grid-template-columns:1fr}.search-button,.fanza-button,.barcode-button,.clear-search-button{width:100%}}@media (width<=768px){.app-container{padding:20px 14px 32px}.product-search-section,.data-update-section,.product-detail-section{width:100%}.data-update-controls{flex-direction:column;align-items:stretch}.file-input-button,.file-status{width:100%}.search-form{gap:10px}.search-input,.search-button,.fanza-button,.clear-search-button{white-space:normal;min-width:0;font-size:16px}.detail-card{padding:18px}.actress-name-row{flex-direction:column;align-items:flex-start}.google-pronunciation-button{width:100%}.detail-card p,.product-summary,.file-status,.judgment-reasons li{font-size:15px}.product-summary{margin:14px 0 20px;line-height:1.8}.judgment-reasons{gap:10px}}@media (width<=640px){.app-container{padding:18px 12px 32px}.detail-card{padding:16px}}.fanza-button:hover:not(:disabled){background-color:#005bb5}.fanza-button:disabled{color:#888;cursor:not-allowed;background-color:#d6d6d6}.product-image-separator{background-color:#e4e4e4;width:100%;max-width:240px;height:1px}.actress-ranking-section{margin-bottom:24px}.scanner-overlay{z-index:1000;background:#0f172acc;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.scanner-modal{background:#fff;border-radius:16px;width:min(100%,480px);padding:16px;box-shadow:0 20px 40px #0f172a38}.scanner-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.scanner-header h3{margin:0;font-size:1.05rem}.scanner-close-button{color:#111827;cursor:pointer;background:#e5e7eb;border:none;border-radius:999px;padding:8px 12px;font-weight:700}.scanner-video-frame{background:#111827;border-radius:12px;justify-content:center;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}.scanner-video{object-fit:cover;background:#000;width:100%;height:100%;max-height:60vh}.scanner-hint{text-align:center;color:#fff;background:#111827b8;border-radius:999px;padding:8px 12px;font-size:.95rem;position:absolute;bottom:12px;left:12px;right:12px}.scanner-status{color:#111827;text-align:center;padding:24px 16px;line-height:1.7}.app-container{overflow-x:hidden}
