.hash{display: grid;gap: 14px;padding-bottom: 40px}.hash__panel{padding: 16px 18px 18px}.hash__title{margin: 0 0 10px;font-size: 15px;font-weight: 700;color: var(--c-text)}.hash__algos{display: grid;gap: 6px;margin: 0 0 10px;padding: 0;list-style: none}.hash__algo{display: flex;flex-wrap: wrap;gap: 4px 10px;align-items: baseline;font-size: 13px}.hash__algo-name{min-width: 74px;font-weight: 700;color: var(--c-accent);font-variant-numeric: tabular-nums}.hash__algo-hint{color: var(--c-muted)}.hash__note{margin: 8px 0 0;font-size: 12.5px;line-height: 1.75;color: var(--c-muted)}.hash__note.is-hit{color: var(--c-ok)}.hash__note.is-miss{color: var(--c-err)}.hash__drop{display: grid;justify-items: center;gap: 6px;padding: 26px 18px;border: 1.5px dashed var(--c-border);border-radius: 14px;background: var(--c-panel-alt);cursor: pointer;transition: border-color 0.18s ease,background 0.18s ease,transform 0.18s ease}.hash__drop:hover,.hash__drop:focus-visible{border-color: var(--c-accent);background: color-mix(in srgb,var(--c-accent) 6%,var(--c-panel-alt));outline: none}.hash__drop.is-over{border-color: var(--c-accent);background: color-mix(in srgb,var(--c-accent) 12%,var(--c-panel-alt));transform: scale(1.005)}.hash__drop-icon{font-size: 22px;line-height: 1;color: var(--c-accent)}.hash__drop-main{margin: 0;font-size: 14px;color: var(--c-text)}.hash__drop-link{color: var(--c-accent);text-decoration: underline;text-underline-offset: 2px}.hash__drop-sub{margin: 0;max-width: 46ch;text-align: center;font-size: 12px;line-height: 1.7;color: var(--c-muted)}.hash__actions{display: flex;justify-content: flex-end;gap: 8px;margin-top: 10px}.hash__actions .btn[hidden]{display: none}.hash__empty{margin-top: 12px;padding: 14px;border-radius: 10px;background: var(--c-panel-alt);font-size: 12.5px;color: var(--c-muted);text-align: center}.hash__empty[hidden]{display: none}.hash__list{display: grid;gap: 10px;margin-top: 12px}.hash__row{border: 1px solid var(--c-border);border-radius: 12px;padding: 10px 12px 12px;background: var(--c-panel)}.hash__row.is-hit{border-color: var(--c-ok);box-shadow: inset 0 0 0 1px var(--c-ok)}.hash__row.is-miss{border-color: var(--c-err);box-shadow: inset 0 0 0 1px var(--c-err)}.hash__row-head{display: flex;align-items: baseline;gap: 8px;margin-bottom: 8px}.hash__name{flex: 1 1 auto;min-width: 0;font-size: 13.5px;font-weight: 600;color: var(--c-text);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.hash__size{flex: none;font-size: 12px;color: var(--c-muted);font-variant-numeric: tabular-nums}.hash__badge{flex: none;font-size: 11.5px;padding: 2px 7px;border-radius: 999px;font-weight: 700}.hash__badge--hit{background: color-mix(in srgb,var(--c-ok) 16%,transparent);color: var(--c-ok)}.hash__badge--miss{background: color-mix(in srgb,var(--c-err) 14%,transparent);color: var(--c-err)}.hash__bar{height: 3px;border-radius: 999px;background: color-mix(in srgb,var(--c-accent) 14%,transparent);overflow: hidden}.hash__bar > i{display: block;height: 100%;width: 0;border-radius: 999px;background: var(--c-accent);transition: width 0.15s linear}.hash__progress{min-height: 1.4em;margin: 4px 0 2px;font-size: 11.5px;color: var(--c-muted);font-variant-numeric: tabular-nums}.hash__digest{display: grid;grid-template-columns: 64px minmax(0,1fr) auto;align-items: center;gap: 8px;padding: 3px 0}.hash__digest-name{font-size: 12px;font-weight: 700;color: var(--c-muted);font-variant-numeric: tabular-nums}.hash__digest-val{font-family: var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size: 12.5px;line-height: 1.6;color: var(--c-text);word-break: break-all;background: var(--c-panel-alt);border-radius: 6px;padding: 3px 7px}.hash__copy{flex: none;font-size: 12px;padding: 4px 9px;border: 1px solid var(--c-border);border-radius: 8px;background: var(--c-panel);color: var(--c-text);cursor: pointer;transition: border-color 0.15s ease,color 0.15s ease}.hash__copy:hover:not(:disabled){border-color: var(--c-accent);color: var(--c-accent)}.hash__copy:disabled{opacity: 0.45;cursor: default}.hash__copy.is-done{border-color: var(--c-ok);color: var(--c-ok)}.hash__expect,.hash__text-label{display: grid;gap: 6px}.hash__expect-label{font-size: 12.5px;color: var(--c-muted)}.hash__input,.hash__ta{width: 100%;padding: 9px 11px;border: 1px solid var(--c-border);border-radius: 10px;background: var(--c-panel);color: var(--c-text);font-family: var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size: 13px;line-height: 1.6;resize: vertical}.hash__input:focus,.hash__ta:focus{outline: none;border-color: var(--c-accent);box-shadow: 0 0 0 3px color-mix(in srgb,var(--c-accent) 18%,transparent)}.hash__text-out{margin-top: 10px;display: grid;gap: 2px}@media (max-width: 720px){.hash__panel{padding: 13px 12px 14px}.hash__drop{padding: 20px 12px}.hash__drop-sub{display: none}.hash__digest{grid-template-columns: 52px minmax(0,1fr);grid-template-areas: 'name val' '. act'}.hash__digest-name{grid-area: name}.hash__digest-val{grid-area: val;font-size: 12px}.hash__copy{grid-area: act;justify-self: start;min-height: 40px;padding: 8px 12px}.hash__row-head{flex-wrap: wrap}}