.site-logo::before,body{background-repeat:no-repeat}.speed-note,h1{text-align:center}.hash-section+.hash-section,h1{margin-top:var(--spacing-lg)}.label-sub,.sr-only{white-space:nowrap}:root{--content-width:1024px;--font-mono:ui-monospace,'SF Mono','Cascadia Mono','Roboto Mono',Consolas,'Liberation Mono','Courier New',monospace;--text-primary:#fff;--text-secondary:#000;--text-muted:#b3b3b3;--text-body:#d6d6d6;--color-primary:#00ff88;--color-primary-dark:#00cc6f;--color-primary-light:#00ffaa;--color-text:#e0e0e0;--color-error:#ff3366;--color-warning:#ffa500;--color-success:#00ff00;--color-info:#4a90e2;--color-heading:#ffffff;--color-legacy:#f59e0b;--bg-body:#0a0a0a;--bg-card:#00ff8808;--bg-result:#0a0a0af2;--bg-input:#00000066;--bg-overlay:#0000004d;--bg-success-subtle:#00ff8808;--bg-success-light:#00ff881a;--bg-success-medium:#00ff8833;--bg-error-subtle:#f59e0b0f;--bg-error-light:#ff33661a;--bg-warning-light:#ffa5001a;--bg-dark-primary:#101012;--bg-dark-secondary:#1a1a1d;--bg-transparent:transparent;--bg-success-solid:#00ff00e6;--bg-error-solid:#ff3366e6;--bg-warning-solid:#ffa500e6;--bg-info-solid:#4a90e2e6;--bg-surface-subtle:rgba(255, 255, 255, 0.03);--bg-hover-neutral:rgba(255, 255, 255, 0.05);--bg-surface-plain:#121214;--bg-surface-plain-raised:#18181b;--bg-surface-raised:#00ff880d;--color-accent-orange:#FF9500;--border-success:#00ff8826;--border-success-strong:#00ff8866;--border-error-muted:#f59e0b38;--border-success-bright:#00ff88;--border-subtle-color:rgba(255, 255, 255, 0.1);--border-card-color:rgba(0, 255, 136, 0.15);--border-card-hover-color:rgba(0, 255, 136, 0.35);--border-input-color:rgba(255, 255, 255, 0.24);--border-control-color:#808080;--spacing-xxs:3px;--spacing-xs:5px;--spacing-sm:8px;--spacing-md:10px;--spacing-md2:12px;--spacing-lg:15px;--spacing-xl:20px;--spacing-2xl:25px;--spacing-3xl:30px;--spacing-4xl:40px;--spacing-5xl:48px;--radius-sm:5px;--radius-md:8px;--radius-lg:10px;--radius-xl:15px;--radius-circle:50%;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-bg:background 0.3s ease;--transition-border:border-color 0.3s ease;--transition-shadow:box-shadow 0.3s ease;--transition-transform:transform 0.2s ease;--transition-width:width 0.3s ease;--shadow-card:none;--shadow-focus:0 0 0 3px rgba(0, 255, 136, 0.3);--shadow-dark:0 8px 32px #0000004d;--border-primary:1px solid var(--border-card-color);--border-input:1px solid var(--border-input-color);--border-dashed:2px dashed rgba(0, 255, 136, 0.55);--font-weight-normal:500;--font-weight-semibold:600;--font-weight-bold:700;--letter-spacing-tight:0.5px;--letter-spacing-normal:1px}*{margin:0;padding:0;box-sizing:border-box}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.faq-item,.footer,.hash-options,.info-banner,.offline-mode-panel,.output-card,.privacy-info,.upload-area,.use-case-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.custom-alert,.export-menu{box-shadow:var(--shadow-dark)}body{background-color:var(--bg-body);background-image:radial-gradient(ellipse 70% 360px at 50% 0,rgba(0,255,136,.06),transparent);color:var(--color-text);font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:var(--spacing-xl)}.container{max-width:var(--content-width);margin:0 auto}.site-logo{font-size:2rem;font-weight:700;color:var(--color-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.logo-version,.speed-note{font-weight:var(--font-weight-normal)}.site-logo::before{content:'';display:block;width:var(--spacing-4xl);height:var(--spacing-4xl);background-image:url('/assets/icons/logo.webp');background-size:contain;background-position:center;flex-shrink:0}.logo-version{font-size:.7rem;color:var(--text-muted);margin-left:var(--spacing-xs);align-self:flex-end;margin-bottom:4px}h1{font-size:2.5rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md2);color:#fff;letter-spacing:var(--letter-spacing-normal);line-height:1.15}.speed-note{color:#ffffffa8;font-size:.95rem;margin:0 0 var(--spacing-xl) 0;letter-spacing:.3px}.info-banner-icon,.offline-mode-panel.is-ready .offline-mode-icon-wrap,.sort-dropdown-list li.active{color:var(--color-primary)}.info-banner{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-xl);background-color:var(--bg-surface-plain);border:1px solid var(--border-subtle-color);border-radius:var(--radius-lg)}.info-banner-icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background-color:var(--bg-success-light)}.info-banner-content{flex:1}.info-banner-title,.privacy-info-title{font-size:1rem;font-weight:var(--font-weight-bold);color:var(--color-heading);margin-bottom:var(--spacing-xs)}.info-banner-text{font-size:.9rem;color:var(--text-body);line-height:1.6}.offline-mode-panel{background-color:var(--bg-card);border:var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-md2) var(--spacing-xl);margin-bottom:var(--spacing-xl);transition:var(--transition-border)}.offline-mode-panel.is-ready{border-color:var(--border-success-strong)}.offline-mode-header,.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.offline-mode-info{display:flex;align-items:center;gap:var(--spacing-md2)}.offline-mode-icon-wrap{width:36px;height:36px;border-radius:var(--radius-md);background-color:var(--bg-surface-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted)}.offline-mode-title{font-size:.95rem;font-weight:var(--font-weight-bold);color:var(--color-heading)}.offline-mode-desc{font-size:.8rem;color:var(--text-muted);margin-top:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.offline-switch{position:relative;display:inline-block;width:var(--spacing-5xl);height:26px;flex-shrink:0}.offline-switch input{opacity:0;width:0;height:0}.offline-switch-track{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-dark-secondary);border-radius:26px;transition:var(--transition-normal)}.offline-switch-track::before{content:'';position:absolute;left:var(--spacing-xxs);top:var(--spacing-xxs);width:var(--spacing-xl);height:var(--spacing-xl);background-color:var(--text-muted);border-radius:var(--radius-circle);transition:var(--transition-normal)}.offline-switch input:checked+.offline-switch-track{background-color:var(--color-primary)}.offline-switch input:checked+.offline-switch-track::before{left:var(--spacing-2xl);background-color:var(--bg-body)}.offline-switch input:disabled+.offline-switch-track{opacity:.5;cursor:not-allowed}.offline-switch input:focus-visible+.offline-switch-track{outline:2px solid var(--color-primary);outline-offset:2px}.offline-mode-progress{height:6px;background-color:var(--bg-dark-primary);border-radius:var(--radius-sm);overflow:hidden;margin-top:var(--spacing-md2)}.offline-mode-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--color-primary-dark),var(--color-primary));border-radius:var(--radius-sm);transition:var(--transition-width)}.hidden{display:none!important}.btn-calc,.btn-cancel,.btn-reset,.file-input-wrapper,.footer-btn,.selected-header{display:inline-block}.hash-choice.algorithm-disabled{opacity:.4;cursor:not-allowed!important;filter:grayscale(.7);transition:opacity var(--transition-normal),filter var(--transition-normal);user-select:none}.hash-choice.algorithm-disabled::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;cursor:not-allowed;z-index:2}.hash-choice.algorithm-disabled .hash-label,.hash-choice.algorithm-disabled .hash-option{cursor:not-allowed!important;color:var(--text-muted)!important;text-decoration:line-through}.hash-choice.algorithm-disabled .hash-option{border-color:var(--text-muted)}.hash-choice.algorithm-disabled::after{content:"⚠️ Unavailable";display:block;width:fit-content;margin:var(--spacing-xxs) 0 0 30px;font-size:.7rem;color:var(--color-legacy);font-weight:var(--font-weight-semibold);padding:1px var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-error-muted);pointer-events:none;letter-spacing:var(--letter-spacing-tight);text-transform:uppercase}.hash-section{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:var(--spacing-md);row-gap:2px;align-content:start;margin:0;padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl);background-color:var(--bg-surface-raised);border-radius:var(--radius-md);border:var(--border-primary);min-width:0}.hash-section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-heading);width:fit-content;max-width:100%;padding:0 var(--spacing-sm);border:none}.hash-section-btn,.hash-section-heading{font:inherit;color:inherit;letter-spacing:inherit;margin:0}.hash-section-title>svg{width:20px;height:20px;flex-shrink:0;stroke:var(--text-muted)}.hash-section-heading{text-align:left}.hash-section-btn{text-align:inherit;background:0 0;border:0;padding:0;cursor:inherit}.hash-hint.warning-text,.upload-label{font-weight:var(--font-weight-semibold)}.field-value,.hash-compare-input{font-family:var(--font-mono);word-break:break-all}.hash-section.legacy-section,.info-message.warning-message{background-color:var(--bg-error-subtle);border-color:var(--border-error-muted)}.hash-section.legacy-section .hash-section-title{color:var(--color-legacy)}.hash-section.legacy-section .hash-section-title>svg{stroke:var(--color-legacy)}.hash-hint.warning-text{justify-self:start;width:fit-content;padding:1px var(--spacing-md);margin-bottom:var(--spacing-sm);border:1px solid var(--border-error-muted);border-radius:999px;background-color:#f59e0b1f;color:var(--color-legacy);font-size:.8rem;font-style:normal}.hash-options,.upload-area{background-color:var(--bg-card);border:var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.upload-label{font-size:.95rem;color:var(--color-heading);margin-bottom:var(--spacing-md2);display:block}.file-input-wrapper{position:relative;overflow:hidden;width:100%}.file-input-wrapper input[type=file]{position:absolute;left:-9999px}.file-input-label{display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-xl);background-color:var(--bg-dark-primary);border:var(--border-dashed);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-bg),var(--transition-border);font-size:1rem;color:var(--color-text);gap:var(--spacing-md)}.file-input-label svg{flex-shrink:0;stroke:var(--text-muted);transition:stroke var(--transition-fast)}.file-input-label:hover svg,.info-message-icon svg{stroke:var(--color-primary)}.file-input-wrapper:has(input:focus-visible) .file-input-label{outline:2px solid var(--color-primary);outline-offset:-4px}.file-input-label:hover{background-color:rgba(0,255,136,.08);border-color:var(--color-primary)}.file-input-label.drag-over{background-color:var(--bg-success-medium);border-color:var(--border-success-bright);transform:scale(1.02)}.hash-option-title,.section-title,.why-hashing-title{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:var(--letter-spacing-tight);color:#fff;text-align:center}.btn,.hash-option-title{text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.hash-option-title{margin-bottom:var(--spacing-xl)}.hash-label{font-size:.95rem;font-weight:var(--font-weight-normal);color:var(--color-text);cursor:pointer}.hash-choice{position:relative;padding:6px var(--spacing-md);border-left:3px solid transparent;border-radius:var(--radius-sm);transition:background-color .2s}.hash-choice:hover:not(.algorithm-disabled){background-color:var(--bg-hover-neutral)}.hash-option{width:18px;height:18px;margin-right:var(--spacing-md);border:2px solid var(--border-control-color);background-color:var(--bg-transparent);appearance:none;-webkit-appearance:none;border-radius:var(--radius-circle);cursor:pointer;vertical-align:middle}.hash-option:hover{border-color:var(--color-text)}.hash-option:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.hash-option:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.hash-choice:has(.hash-option:checked){background-color:var(--bg-success-light);border-left-color:var(--color-primary)}.hash-section.legacy-section .hash-choice:has(.hash-option:checked){background-color:#f59e0b1a;border-left-color:var(--color-legacy)}.hash-section.legacy-section .hash-option:checked{background-color:var(--color-legacy);border-color:var(--color-legacy)}.hash-hint{grid-column:1/-1;font-size:.85rem;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.btn-calc,.btn-calc:hover{color:var(--color-primary)}.hash-divider{grid-column:1/-1;border:none;border-top:1px solid rgba(255,255,255,.07);margin:var(--spacing-xs) 0}.button-group{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.btn{flex:1;padding:14px var(--spacing-3xl);font-size:1rem;font-weight:var(--font-weight-semibold);border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-transform),var(--transition-bg),var(--transition-border)}.btn:disabled,.btn:disabled:hover{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-calc{background-color:rgba(0,255,136,.06);border:2px solid var(--color-primary)}.btn-cancel,.btn-reset{background-color:var(--bg-transparent)}.btn-calc:hover{background-color:rgba(0,255,136,.15);box-shadow:0 0 18px rgba(0,255,136,.3)}.btn-export:hover,.btn-reset:hover,.export-menu button:hover,.footer-copyright a:hover,.sort-dropdown-list li:hover{color:var(--text-primary)}.btn-reset{color:var(--color-text);border-color:var(--border-input-color)}.btn-reset:hover{background-color:var(--bg-hover-neutral);border-color:rgba(255,255,255,.45)}.btn-cancel{color:var(--color-accent-orange);border-color:#ff950080}.btn-cancel:hover{background-color:#ff95001a}.btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-export{background-color:var(--bg-hover-neutral);color:var(--color-text);border-color:var(--border-input-color);width:100%;flex:1}.btn-export:hover{background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}.export-dropdown{position:relative;flex:1;display:flex;flex-direction:column}.export-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-dark-secondary);border:var(--border-input);border-radius:var(--radius-md);width:100%;z-index:100;overflow:hidden}.export-menu.hidden{display:none}.export-menu button{display:block;width:100%;padding:var(--spacing-md) 16px;background:0 0;border:none;color:#e0e0e0;cursor:pointer;font-size:14px;text-align:center}.export-menu button:hover{background:var(--bg-hover-neutral)}.progress-label{margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:.9rem;text-align:center;font-weight:var(--font-weight-normal)}.info-message,.progress-wrapper,.section-title{margin-bottom:var(--spacing-xl)}.alert-error,.alert-info,.alert-success,.alert-warning,.progress-bar{color:var(--text-secondary)}.custom-alert,.progress-bar{font-weight:var(--font-weight-semibold)}.custom-alert{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-2xl);border-radius:var(--radius-lg);font-size:.95rem;z-index:10000;opacity:0;transform:translateX(400px);transition:.3s;max-width:400px;word-wrap:break-word;display:flex;align-items:center;gap:var(--spacing-md)}.contact-list li,.sort-dropdown{position:relative}.custom-alert.show,.custom-notification:not(.hidden){opacity:1;transform:translateX(0)}.alert-success{background-color:var(--bg-success-solid);border:2px solid var(--color-success)}.custom-alert .alert-error{right:var(--spacing-3xl)}.alert-error{background-color:var(--bg-error-solid);border:2px solid var(--color-error)}.alert-warning{background-color:var(--bg-warning-solid);border:2px solid var(--color-warning)}.alert-info{background-color:var(--bg-info-solid);border:2px solid var(--color-info)}.alert-icon,.info-message-icon{flex-shrink:0;display:flex;align-items:center}.alert-message{flex:1;text-align:center;white-space:pre-line}.info-message,.progress-bar{align-items:center;display:flex}.progress{display:flex;height:24px;background-color:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;border:var(--border-primary)}.info-message,.modal-content{border-radius:var(--radius-lg)}.progress-bar{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-dark) 100%);transition:var(--transition-width);justify-content:center;width:0%}.info-message,.progress-stats{font-weight:var(--font-weight-normal);color:var(--color-text);font-size:.9rem}.info-message{padding:var(--spacing-md2) var(--spacing-xl);background-color:var(--bg-surface-plain);border:1px solid var(--border-subtle-color);animation:.4s ease-out slideDown;justify-content:center}.card-header,.output-card,.result-section{margin-bottom:var(--spacing-lg)}.info-message-icon svg{color:var(--color-primary)}.info-message.warning-message .info-message-icon svg{color:var(--color-legacy);stroke:var(--color-legacy)}.info-message-content{display:flex;align-items:center;gap:var(--spacing-md)}.info-message-text{text-align:left}@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.progress-stats{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-align:center;background-color:var(--bg-input);border-radius:var(--radius-md);border:var(--border-primary);display:none;letter-spacing:var(--letter-spacing-tight);animation:.3s ease-in fadeIn}.hash-section.is-collapsed>.hash-collapsed-note,.progress-stats:not(:empty){display:block}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.output-card{background-color:var(--bg-result);border:var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md2);border-bottom:1px solid var(--border-subtle-color)}.card-title{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.btn-icon,.field-label{font-size:.85rem;letter-spacing:var(--letter-spacing-normal);text-transform:uppercase}.btn-icon{padding:var(--spacing-xs) var(--spacing-lg);background-color:var(--bg-success-subtle);border:1px solid var(--border-success-strong);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;transition:var(--transition-bg),var(--transition-border)}.btn-icon:hover{background-color:var(--bg-success-medium);border-color:var(--color-primary)}.result-section{margin-top:var(--spacing-lg)}.field-label{color:var(--text-muted);margin-bottom:var(--spacing-sm)}.field-value{font-size:1rem;line-height:1.5;color:var(--color-text);overflow-wrap:anywhere;padding:var(--spacing-md);background-color:var(--bg-input);border-radius:var(--radius-md);border-left:3px solid var(--border-subtle-color)}.hash-box{display:flex;align-items:center;gap:var(--spacing-md);background-color:rgba(0,255,136,.05);border:1px solid rgba(0,255,136,.2);border-radius:var(--radius-md)}.hash-box .field-value{flex:1;min-width:0;padding:var(--spacing-md2) var(--spacing-md);background:0 0;border:none;border-radius:0;color:var(--color-primary);font-size:.95rem;letter-spacing:.02em}.hash-box .btn-icon{flex-shrink:0;margin-right:var(--spacing-md);white-space:nowrap}.details-wrapper{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:var(--spacing-lg) var(--spacing-xl)}.meta-item{min-width:0}.selected-files{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--bg-overlay);border-radius:var(--radius-md);max-height:150px;overflow-y:auto}.file-item,.sort-dropdown-list li:hover{background-color:var(--bg-hover-neutral)}.selected-header{margin-bottom:var(--spacing-md);color:var(--color-heading);font-weight:var(--font-weight-semibold)}.file-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-text)}.file-item-label{flex:1;overflow-wrap:anywhere}.file-item-remove{flex-shrink:0;color:var(--color-text);font-size:1rem;line-height:1;cursor:pointer;padding:0 var(--spacing-xs);transition:color var(--transition-fast)}.results-sort-label,.sort-dropdown-btn,.sort-dropdown-list li{font-size:.9rem;color:var(--color-text)}.file-item-remove:focus,.file-item-remove:hover{color:var(--color-error)}.results-sort-bar{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.sort-dropdown-btn{display:flex;align-items:center;gap:8px;background-color:var(--bg-input);border:var(--border-input);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:var(--transition-border)}.sort-dropdown-btn:hover{border-color:rgba(255,255,255,.45)}.sort-dropdown-btn:disabled{opacity:.4;cursor:not-allowed}.sort-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;background-color:var(--bg-dark-secondary);border:var(--border-input);border-radius:var(--radius-sm);list-style:none;margin:0;padding:0;z-index:100;min-width:100%;box-shadow:0 4px 12px rgba(0,0,0,.4)}.sort-dropdown-list li{padding:6px 16px;cursor:pointer;white-space:nowrap}.sort-dropdown-divider{height:1px;background-color:var(--border-subtle-color);margin:0;padding:0!important;pointer-events:none;border:none}.hash-compare-input{display:block;width:100%;min-height:calc(2 * 1.5em + 2 * var(--spacing-md2) + 2px);padding:var(--spacing-md2) var(--spacing-md);background-color:var(--bg-input);border:var(--border-input);border-radius:var(--radius-md);color:var(--color-text);font-size:.95rem;line-height:1.5;letter-spacing:.02em;overflow-wrap:anywhere;resize:vertical;field-sizing:content;transition:var(--transition-border),var(--transition-shadow)}.faq-item,.use-case-card{transition:border-color var(--transition-normal),background-color var(--transition-normal)}.hash-compare-input:focus{outline:0;border-color:var(--color-primary-light);box-shadow:var(--shadow-focus)}.comparison-result{padding:var(--spacing-md);border-radius:var(--radius-md);font-weight:600;letter-spacing:.01em;line-height:1.4;text-align:center;margin-top:var(--spacing-md)}.warn{background-color:var(--bg-warning-light);color:var(--color-warning);border:1px solid #ffa50080}.match{background-color:var(--bg-success-light);color:var(--color-primary);border:1px solid var(--border-success-strong)}.no-match{background-color:var(--bg-error-light);color:var(--color-error);border:1px solid #ff336680}.faq-section,.privacy-section,.use-cases-section,.why-section{max-width:var(--content-width);margin:var(--spacing-5xl) auto 0}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-lg)}.use-case-card{background-color:var(--bg-surface-plain);border:1px solid var(--border-subtle-color);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.use-case-card:hover{background-color:var(--bg-surface-raised);border-color:var(--border-card-hover-color)}.faq-item:hover,.faq-item[open]{background-color:var(--bg-surface-plain-raised)}.use-case-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto var(--spacing-md2);border-radius:var(--radius-md);background-color:var(--bg-success-light);color:var(--color-primary)}.footer-btn,.privacy-info{border:1px solid var(--border-subtle-color)}.info-banner-icon svg,.use-case-icon svg{width:24px;height:24px}.use-case-title{font-size:1rem;font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-heading);margin-bottom:var(--spacing-xs)}.faq-question,.footer-copyright{font-weight:var(--font-weight-semibold)}.use-case-desc{font-size:.85rem;color:var(--text-muted);line-height:1.55}.faq-answer,.privacy-info-text{line-height:1.65;max-width:90ch}.privacy-info{display:flex;align-items:flex-start;gap:var(--spacing-lg);background-color:var(--bg-surface-plain);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.custom-notification.success .notification-icon,.privacy-info-icon{color:var(--color-primary);background-color:var(--bg-success-light)}.privacy-info-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.faq-item,.footer{background-color:var(--bg-surface-plain)}.privacy-info-icon svg{width:22px;height:22px}.privacy-info-text{font-size:.9rem;color:var(--text-body)}.faq-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.faq-item{border:1px solid transparent;border-radius:var(--radius-lg);overflow:hidden}.faq-item[open]{border-color:var(--border-subtle-color)}.faq-question{padding:14px var(--spacing-xl);font-size:.95rem;color:var(--color-heading);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}.faq-algo-list li,.faq-answer{color:var(--text-body)}.faq-question::-webkit-details-marker{display:none}.faq-question::after{content:'+';font-size:1.2rem;color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.faq-item[open] .faq-question::after{transform:rotate(45deg);color:var(--color-primary)}.faq-answer{padding:0 var(--spacing-xl) var(--spacing-lg);font-size:.9rem}.faq-algo-list{margin:var(--spacing-sm) 0 0 var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.close:focus,.close:hover,.faq-algo-list strong{color:var(--color-heading)}.footer{max-width:var(--content-width);margin:var(--spacing-5xl) auto 0;padding:var(--spacing-xl) var(--spacing-3xl);border:none;border-radius:var(--radius-lg)}.footer-content{margin:0 auto}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3xl);margin-bottom:var(--spacing-xl)}.footer-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-md);text-align:left}.footer-copyright{font-size:.9rem;color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}.footer-copyright a{text-decoration:none;color:var(--color-text)}.footer-copyright a:hover{text-decoration:underline}.footer-privacy{font-size:.85rem;color:var(--text-muted);line-height:1.6;text-align:center}.close,.notification-close{cursor:pointer;line-height:1}.footer-right{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-md)}.footer-btn-legal{min-width:160px;text-align:center}.contact-button,.footer-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--bg-transparent);font-weight:var(--font-weight-normal);font-size:.85rem;transition:var(--transition-bg),var(--transition-border),color var(--transition-fast);min-width:150px;color:var(--text-muted);text-align:center;text-decoration:none;letter-spacing:var(--letter-spacing-tight)}.footer-btn{border-radius:var(--radius-md)}.contact-button:hover,.footer-btn:hover{background-color:var(--bg-hover-neutral);border-color:var(--border-input-color);color:var(--color-heading)}.contact-button{border:1px solid var(--border-subtle-color);border-radius:var(--radius-md);font-family:inherit;cursor:pointer}.modal{position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center}.custom-notification,.modal-content{background-color:var(--bg-dark-primary)}.hash-section.is-collapsed>:not(legend):not(.hash-collapsed-note),.modal.hidden{display:none}.modal-content{margin:2% auto;padding:0;border:var(--border-input);width:90%;max-width:500px;max-height:95vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.5);animation:.3s ease-out modalSlideIn}.custom-notification,.settings-menu,.top-btn{box-shadow:var(--shadow-dark)}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:var(--border-primary)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--color-heading)}.modal-open{overflow:hidden}.close{color:var(--text-muted);font-size:2rem;font-weight:700;transition:color var(--transition-fast)}.contact-copy-btn,.contact-email-label,.contact-lead,.notification-message{font-weight:var(--font-weight-semibold)}.custom-notification{display:flex;position:fixed;padding:var(--spacing-lg);z-index:10001;min-width:300px;max-width:400px;opacity:0;border-radius:var(--radius-lg);border-left:4px solid;align-items:center;transform:translateX(120%);transition:transform var(--transition-normal),opacity var(--transition-normal);right:var(--spacing-xl)}.custom-notification.hidden{opacity:0;transform:translateX(120%)}.custom-notification.success{top:var(--spacing-xl);gap:var(--spacing-md);border-left-color:var(--color-primary)}.custom-notification.error{top:var(--spacing-xl);gap:var(--spacing-md);border-left-color:var(--color-error)}.notification-icon{flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center}.custom-notification.error .notification-icon{color:var(--color-error);background-color:var(--bg-error-light)}.notification-message{flex:1;font-size:.9rem;color:var(--color-text);text-align:center}.notification-close{background:0 0;border:none;font-size:1.5rem;color:var(--text-muted);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast)}.notification-close:hover{color:var(--color-text);background-color:var(--bg-overlay)}@media (max-width:768px){.hash-option-title,.section-title,.site-logo,.why-hashing-title{font-size:1.5rem}.site-logo::before{width:2rem;height:2rem}h1{font-size:1.6rem;margin:var(--spacing-lg) 0}.button-group{flex-direction:column;flex-wrap:wrap}.export-dropdown{flex:none;width:100%}.btn-cancel,.btn-export{width:100%}.card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.details-wrapper{grid-template-columns:minmax(0,1fr)}.hash-box{flex-direction:column;align-items:stretch;gap:0}.hash-box .btn-icon{margin:0 var(--spacing-md) var(--spacing-md)}.custom-alert{right:var(--spacing-md);left:var(--spacing-md);max-width:none}.btn{min-width:120px}.info-message{font-size:.85rem;padding:var(--spacing-md2) var(--spacing-lg)}.progress-stats{font-size:.85rem;padding:var(--spacing-sm) var(--spacing-md)}.info-banner{flex-direction:column;text-align:center;padding:var(--spacing-lg)}.hash-section-title,.info-banner-title{font-size:1rem}.info-banner-text{font-size:.85rem}#fileInputLabel svg{width:60px;height:60px}.hash-options{padding:var(--spacing-md)}.hash-section{padding:var(--spacing-md2) var(--spacing-md2) var(--spacing-lg)}.hash-section-title svg{flex-shrink:0}.hash-section .hash-hint{font-size:.8rem}.hash-choice{padding:6px var(--spacing-sm)}.modal-content{margin:3% auto;width:95%;max-height:90vh}.footer-main{flex-direction:column;align-items:center;gap:var(--spacing-xl);text-align:center}.footer-left{align-items:center;text-align:center}.footer-right{flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md)}}.info-banner-icon{display:flex;align-items:center;justify-content:center}.why-hashing{text-align:center}.why-hashing-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.why-hashing-text{font-size:.95rem;color:var(--text-body);line-height:1.7;max-width:720px;margin:0 auto}.contact-copy-btn,.contact-email-field{border:var(--border-input);font-size:1rem}.contact-body{padding:var(--spacing-xl)}.contact-lead{margin:0 0 var(--spacing-sm);color:var(--color-text)}.contact-list{list-style:none;padding:0;margin:0 0 var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-list li{padding-left:var(--spacing-xl);font-size:.92rem;line-height:1.6;color:var(--color-text)}.contact-list li::before{content:'→';position:absolute;left:0;color:var(--text-muted);font-weight:var(--font-weight-bold)}.contact-email-label{margin-bottom:var(--spacing-xs);color:var(--color-text)}.contact-email-row{display:flex;gap:var(--spacing-sm);align-items:stretch;margin-bottom:var(--spacing-lg)}.contact-email-field{flex:1;min-width:0;display:flex;align-items:center;padding:var(--spacing-md);border-radius:var(--radius-sm);background-color:var(--bg-input);color:var(--text-primary);overflow-x:auto;cursor:not-allowed;user-select:none;-webkit-user-select:none}.contact-email-text{direction:rtl;unicode-bidi:bidi-override;white-space:nowrap;cursor:not-allowed;user-select:none;-webkit-user-select:none}.contact-copy-btn{padding:var(--spacing-md) var(--spacing-lg);background:0 0;color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-bg),var(--transition-border),color var(--transition-fast)}.settings-btn,.top-btn{padding:0;cursor:pointer}.contact-copy-btn:hover{background:var(--bg-success-subtle);border-color:var(--color-primary);color:var(--color-primary)}.contact-note{font-size:.82rem;line-height:1.6;color:var(--text-muted);margin:0 0 var(--spacing-md)}.contact-version{font-size:.8rem;color:var(--text-muted);text-align:right}@media (max-width:480px){.custom-alert{top:var(--spacing-md);font-size:.85rem;padding:var(--spacing-md2)}.footer{margin-top:var(--spacing-4xl);padding:var(--spacing-xl) var(--spacing-lg)}.footer-right{flex-direction:column;align-items:center}.info-message{font-size:.8rem;padding:var(--spacing-md) var(--spacing-md2)}.progress-stats{font-size:.8rem;flex-direction:column;gap:var(--spacing-xs)}.info-banner{padding:var(--spacing-md2)}.info-banner-title{font-size:.9rem}.info-banner-text{font-size:.8rem}.label-sub{display:block;text-align:left;padding-left:2.125rem}.contact-email-row{flex-direction:column}}.site-logo-link{text-decoration:none;color:inherit;display:inline-block}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:9999;pointer-events:none}.scroll-progress-bar{width:100%;height:100%;background-color:var(--color-primary);transform:scaleX(0);transform-origin:left center;will-change:transform}.top-btn{position:fixed;right:var(--spacing-xl);bottom:var(--spacing-xl);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-dark-primary);color:var(--color-text);border:var(--border-input);border-radius:50%;z-index:9998;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s,background-color var(--transition-fast),color var(--transition-fast)}.top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}.top-btn:focus-visible,.top-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}body.modal-open .top-btn{opacity:0;visibility:hidden}@media (prefers-reduced-motion:reduce){.top-btn{transition:none}}.logo-section{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);max-width:var(--content-width);margin:0 auto}.settings-wrap{position:relative;flex-shrink:0}.settings-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;color:var(--text-muted);border:1px solid transparent;border-radius:50%;transition:color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-normal)}.settings-btn:focus-visible,.settings-btn:hover,.settings-btn[aria-expanded=true]{color:var(--color-heading);border-color:var(--border-input-color)}.settings-btn[aria-expanded=true] svg{transform:rotate(60deg)}.settings-btn svg{transition:transform var(--transition-normal)}.settings-menu{position:absolute;top:calc(100% + var(--spacing-sm));right:0;padding:var(--spacing-lg);background-color:var(--bg-dark-primary);border:var(--border-input);border-radius:var(--radius-lg);z-index:9997;min-width:290px}.settings-title{font-size:.8rem;font-weight:var(--font-weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-md)}.settings-label{font-size:.9rem;color:var(--color-text)}.hash-collapsed-note,.input-clean-note{margin-top:var(--spacing-sm);color:var(--text-muted)}.hash-section-toggle{display:none;align-items:center;transition:transform var(--transition-fast)}.hash-section.is-collapsible .hash-section-title{cursor:pointer;user-select:none}.hash-section.is-collapsible .hash-section-toggle{display:inline-flex}.hash-section.is-collapsible:not(.is-collapsed) .hash-section-toggle{transform:rotate(180deg)}.hash-collapsed-note{display:none;grid-column:1/-1;font-size:.85rem}.settings-row+.settings-row{margin-top:var(--spacing-md)}.alert-icon,.btn,.btn-icon,.close,.contact-button,.contact-copy-btn,.export-menu button,.file-input-label,.file-item-remove,.footer-btn,.hash-choice,.hash-hint,.hash-option,.info-banner-icon,.info-message,.notification-close,.notification-icon,.offline-mode-icon-wrap,.offline-switch,.offline-switch-track,.privacy-info-icon,.progress-wrapper,.settings-btn,.settings-row,.sort-dropdown-btn,.sort-dropdown-list li,.top-btn,.use-case-icon,button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-clean-note{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.8rem;line-height:1.4;animation:.3s ease-in fadeIn}.input-clean-note svg{flex-shrink:0}