:root{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.875rem;--font-display:"Outfit",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",monospace;--color-bg-primary:#fff;--color-bg-secondary:#fafafa;--color-bg-elevated:#fff;--color-text-primary:#000;--color-text-secondary:#666;--color-text-tertiary:#888;--color-border-subtle:#eaeaea;--color-border-default:#e5e5e5;--color-border-strong:#d4d4d4;--color-accent-primary:#000;--color-accent-hover:#333;--color-accent-light:#f5f5f5;--color-accent-subtle:#fafafa;--color-success:#0070f3;--color-warning:#f5a623;--color-error:#e00;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--transition-fast:.12s cubic-bezier(.4,0,.2,1);--transition-base:.18s cubic-bezier(.4,0,.2,1);--app-header-height:65px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.header{border-bottom:1px solid var(--color-border-default);padding:var(--space-4)var(--space-8);position:sticky;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fffc;top:0}.header h1{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:600}.header h1 a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.header h1 a:hover{color:var(--color-text-secondary)}.header nav{display:flex;gap:var(--space-6)}.header nav a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);padding:var(--space-2);display:inline-flex;transition:color var(--transition-fast);align-items: center;min-height:44px;font-weight:500}.header nav a:hover{color:var(--color-text-primary)}.main{padding:var(--space-12)var(--space-6);flex:1;width:100%;max-width:1200px;margin:0 auto}.footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border-default);padding:var(--space-8);text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.footer a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast);font-weight:500}.footer a:hover{color:var(--color-text-secondary)}.index-page,.search-page,.about-page{max-width:48rem;margin:0 auto}.index-page h2,.search-page h2,.about-page h2{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-primary);margin-bottom:var(--space-4);letter-spacing:-.03em;font-weight:600}.index-page p,.search-page p,.about-page p{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-6);line-height:1.6}.about-page h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-primary);margin-top:var(--space-8);margin-bottom:var(--space-3);font-weight:600}.about-page ul{margin-left:var(--space-6);margin-bottom:var(--space-6)}.about-page li{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.about-page code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-secondary);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-default)}.search-form{display:flex;gap:var(--space-2);margin:var(--space-8)0;max-width:100%}.search-input{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg-primary);transition:border-color var(--transition-fast);flex:1;min-width:0}.search-input:hover{border-color:var(--color-border-strong)}.search-input:focus{outline:none;border-color:var(--color-accent-primary)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-button{padding:var(--space-3)var(--space-6);background:var(--color-accent-primary);color:#fff;border:1px solid var(--color-accent-primary);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);min-height:44px;font-weight:500}.search-button:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.search-button:active{transform:scale(.98)}.manufacturer-list{margin-top:var(--space-8);width:100%;min-width:0}.result-count{margin-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500}.no-results{padding:var(--space-12);text-align:center;color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-default);font-size:var(--text-base)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border-default);border-radius:var(--radius-lg);display:block;width:100%;min-height:100px}.manufacturer-table{background:var(--color-bg-primary);border-collapse:collapse;width:100%}.manufacturer-table th{background:var(--color-bg-secondary);padding:var(--space-3)var(--space-4);text-align:left;font-family:var(--font-body);font-weight:600;font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-default)}.manufacturer-table td{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.manufacturer-table td>*{display:inline-flex;align-items: center}.manufacturer-table tbody tr{transition:background-color var(--transition-fast)}.manufacturer-table tbody tr:hover{background:var(--color-bg-secondary)}.manufacturer-table .code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-secondary);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-default);white-space:nowrap;display:inline-block;font-weight:500}.manufacturer-table .name{font-size:var(--text-sm);color:var(--color-primary);text-decoration:none;transition:color .2s,text-decoration .2s;font-weight:400}.manufacturer-table .name:hover{color:var(--color-primary-dark);text-decoration:underline}.manufacturer-table .name:visited{color:var(--color-primary)}.manufacturer-table .name:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.manufacturer-table .name-en{color:var(--color-text-secondary);font-size:var(--text-sm);margin-left:var(--space-2);font-weight:400}.visually-hidden{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1024px){.main{padding:var(--space-8)var(--space-6)}}@media (max-width:768px){:root{--app-header-height:57px}.header{padding:var(--space-4)}.header h1{font-size:var(--text-lg)}.header nav{gap:var(--space-4)}.main{padding:var(--space-6)var(--space-4)}.index-page,.search-page,.about-page{padding:0}.search-form{gap:var(--space-2);flex-direction:column}.search-input,.search-type-select,.search-button{width:100%;min-height:48px}.manufacturer-table{font-size:var(--text-sm)}.manufacturer-table th,.manufacturer-table td{padding:var(--space-3)}.manufacturer-table .code{font-size:var(--text-xs)}.manufacturer-table .name{font-size:var(--text-sm)}.manufacturer-table .name-en{display:block;margin-left:0;margin-top:var(--space-1)}.footer{padding:var(--space-6)var(--space-4);font-size:var(--text-xs)}}@media (max-width:480px){.header h1{font-size:var(--text-base)}.header nav{gap:var(--space-3);flex-wrap:wrap}.manufacturer-table th,.manufacturer-table td{padding:var(--space-2)var(--space-3)}}
