.hsto-wrap{border:1px solid #e5e7eb;border-radius:16px;padding:18px;background:#fff}
.hsto-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;align-items:end}
@media (max-width: 900px){.hsto-form{grid-template-columns:1fr}}
.hsto-row{display:flex;flex-direction:column;gap:8px}
.hsto-label{font-weight:600}
.hsto-btn{border:1px solid #e5e7eb;padding:10px 14px;border-radius:12px;cursor:pointer;background:#f9fafb;transition:.2s;justify-self:start;display:inline-flex;align-items:center}
.hsto-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.06)}
.hsto-btn.hsto-primary{background:#93C03E;color:#fff;border-color:#93C03E;position:relative}
.hsto-btn:disabled{opacity:.6;cursor:not-allowed}
.hsto-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;margin-left:8px;animation:hsto-spin .8s linear infinite;opacity:0}
.hsto-btn.loading .hsto-spinner{opacity:1}
@keyframes hsto-spin{to{transform:rotate(360deg);}}
.hsto-hint{grid-column:1/-1;font-size:12px;color:#6b7280;margin-top:-6px}
.hsto-error{grid-column:1/-1;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;padding:8px;border-radius:10px}
.hsto-results{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.hsto-thumb{position:relative;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;background:#f9fafb}
.hsto-thumb img{display:block;width:100%;height:220px;object-fit:cover}
.hsto-thumb .hsto-thumb-actions{position:absolute;right:8px;bottom:8px;display:flex;gap:6px}
.hsto-thumb .hsto-btn{padding:6px 8px;font-size:12px}
.hsto-modal::backdrop{background:rgba(0,0,0,.6)}
.hsto-modal{border:none;border-radius:14px;padding:0;max-width:95vw}
.hsto-modal-inner{padding:8px;background:#111;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hsto-modal-inner img{max-width:100%;max-height:80vh;height:auto;width:auto;object-fit:contain;display:block;margin:0 auto;border-radius:6px}
.hsto-modal-actions{display:flex;justify-content:center;gap:8px;margin-top:8px}