:root{--color-ink: #0a0a0a;--color-paper: #f5f3ef;--color-stone: #6b6b6b;--color-signal: #ff3b00;--color-success: #059669;--color-success-light: #ecfdf5;--color-success-border: #6ee7b7;--color-warning: #d97706;--color-warning-light: #fef3c7;--font-mono: "JetBrains Mono", monospace;--font-serif: "Instrument Serif", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-mono);background-color:var(--color-paper);color:var(--color-ink);line-height:1.6;font-size:14px;-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(10,10,10,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.03) 1px,transparent 1px);background-size:24px 24px;min-height:100vh}::selection{background:var(--color-ink);color:var(--color-paper)}h1,h2,h3{font-family:var(--font-serif);font-weight:400}a{color:inherit;text-decoration:none}.header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(10,10,10,.1)}.logo{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.back-link{font-size:.8rem;color:var(--color-stone)}.back-link:hover{color:var(--color-ink)}.container{max-width:720px;margin:0 auto;padding:3rem 1.5rem 4rem}.hero{text-align:center;margin-bottom:3rem}.hero h1{font-size:2.5rem;margin-bottom:.5rem}.hero p{font-size:.95rem;color:var(--color-stone)}.card{background:#fff;border:1px solid rgba(10,10,10,.1);padding:2rem;margin-bottom:1.5rem}.card h2{font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.card h2 .num{width:28px;height:28px;background:var(--color-ink);color:var(--color-paper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.75rem}.tab-toggle{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid rgba(10,10,10,.15)}.tab-btn{flex:1;padding:.75rem;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border:none;background:transparent;color:var(--color-stone);cursor:pointer;transition:all .2s}.tab-btn:first-child{border-right:1px solid rgba(10,10,10,.15)}.tab-btn:hover{color:var(--color-ink)}.tab-btn.active{background:var(--color-ink);color:var(--color-paper)}.upload-area{border:2px dashed rgba(10,10,10,.2);padding:3rem;text-align:center;cursor:pointer;transition:all .2s}.upload-area:hover{border-color:var(--color-signal);background:#ff3b0005}.upload-area.dragover{border-color:var(--color-signal);background:#ff3b000d}.upload-icon{font-size:2.5rem;margin-bottom:1rem}.upload-text{font-size:.95rem;margin-bottom:.25rem}.upload-hint{font-size:.8rem;color:var(--color-stone)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;color:var(--color-stone)}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid rgba(10,10,10,.15);background:#fff;font-family:var(--font-mono);font-size:.9rem;color:var(--color-ink)}.form-group input:focus{outline:none;border-color:var(--color-ink)}.btn{padding:.875rem 1.5rem;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--color-ink);background:transparent;color:var(--color-ink);cursor:pointer;transition:all .2s}.btn:hover:not(:disabled){background:var(--color-ink);color:var(--color-paper)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-ink);color:var(--color-paper)}.btn-primary:hover:not(:disabled){background:var(--color-signal);border-color:var(--color-signal)}.btn-full{width:100%}.btn-sm{padding:.5rem 1rem;font-size:.7rem}.result-card{display:none}.result-card.show{display:block}.verified-section{display:none}.verified-section.show{display:block}.verified-hero{background:var(--color-success-light);border:2px solid var(--color-success-border);padding:2rem;text-align:center;margin-bottom:1.5rem}.verified-badge{width:80px;height:80px;background:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:popIn .4s ease-out}@keyframes popIn{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.verified-badge svg{width:40px;height:40px;stroke:#fff;stroke-width:3;fill:none}.verified-title{font-size:1.75rem;color:#065f46;margin-bottom:.5rem}.verified-subtitle{font-size:.85rem;color:#047857}.image-preview-section{display:flex;gap:2rem;margin-bottom:1.5rem;align-items:flex-start}.image-preview{width:200px;height:200px;background:#f8f8f8;border:1px solid rgba(10,10,10,.1);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;padding:.5rem}.image-preview img{max-width:100%;max-height:100%;object-fit:contain}.image-preview-placeholder{color:var(--color-stone);font-size:.75rem;text-align:center}.main-details{flex:1}.main-detail-row{display:flex;padding:.5rem 0;border-bottom:1px solid rgba(10,10,10,.06)}.main-detail-row:last-child{border-bottom:none}.main-detail-label{width:110px;color:var(--color-stone);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;padding-top:.15rem}.main-detail-value{flex:1;font-size:.85rem;color:var(--color-ink)}.main-detail-value.author{font-family:var(--font-serif);font-size:1.15rem}.main-detail-value.phash{font-family:var(--font-mono);font-size:.85rem;background:#ff3b0014;padding:.2rem .5rem;border-radius:3px;display:inline-block}.main-detail-value a{color:var(--color-signal);text-decoration:underline}.license-badge{font-size:.75rem;background:#0596691a;color:#047857;padding:.2rem .5rem;border-radius:3px;display:inline-block}.software-badge{font-size:.75rem;background:#6b6b6b1a;color:var(--color-stone);padding:.2rem .5rem;border-radius:3px;display:inline-block}.tech-details{border:1px solid rgba(10,10,10,.1);margin-bottom:1.5rem}.tech-details-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#0a0a0a05;cursor:pointer;user-select:none}.tech-details-header:hover{background:#0a0a0a0a}.tech-details-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-stone)}.tech-details-toggle{font-size:.8rem;color:var(--color-stone);transition:transform .2s}.tech-details.open .tech-details-toggle{transform:rotate(180deg)}.tech-details-content{display:none;padding:1.25rem;border-top:1px solid rgba(10,10,10,.1)}.tech-details.open .tech-details-content{display:block}.tech-grid{display:grid;gap:1rem}.tech-item{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 1rem;background:#0a0a0a05;border-left:2px solid rgba(10,10,10,.1)}.tech-item:hover{border-left-color:var(--color-signal)}.tech-item-content{flex:1;min-width:0}.tech-item-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-stone);margin-bottom:.35rem}.tech-item-value{font-family:var(--font-mono);font-size:.75rem;color:var(--color-ink);word-break:break-all;line-height:1.5}.tech-item-value.highlight{color:var(--color-signal);font-weight:500}.tech-copy-btn{padding:.4rem .6rem;font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;background:transparent;border:1px solid rgba(10,10,10,.15);color:var(--color-stone);cursor:pointer;transition:all .15s;flex-shrink:0;align-self:flex-start;margin-top:.2rem}.tech-copy-btn:hover{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}.tech-copy-btn.copied{background:var(--color-success);border-color:var(--color-success);color:#fff}.action-buttons{display:flex;gap:.75rem;margin-bottom:1.5rem}.action-buttons .btn{flex:1}.not-found-banner{padding:2rem;background:var(--color-warning-light);border:1px solid #fcd34d;margin-bottom:1.5rem;text-align:center}.not-found-icon{font-size:3rem;margin-bottom:1rem}.not-found-title{font-size:1.25rem;color:#92400e;margin-bottom:.5rem}.not-found-text{font-size:.85rem;color:#92400e;margin-bottom:1rem}.not-found-text a{text-decoration:underline;font-weight:500}.not-found-hash{font-size:.7rem;color:#b45309;word-break:break-all;background:#b453091a;padding:.5rem;margin-top:1rem}.embed-section{border:1px solid rgba(10,10,10,.1)}.embed-header{padding:1rem 1.25rem;background:#0a0a0a05;border-bottom:1px solid rgba(10,10,10,.1)}.embed-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-stone)}.embed-tabs{display:flex;gap:0;border-bottom:1px solid rgba(10,10,10,.1)}.embed-tab{flex:1;padding:.6rem;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border:none;background:transparent;color:var(--color-stone);cursor:pointer;border-right:1px solid rgba(10,10,10,.1)}.embed-tab:last-child{border-right:none}.embed-tab:hover{color:var(--color-ink);background:#0a0a0a05}.embed-tab.active{background:var(--color-ink);color:var(--color-paper)}.embed-code-wrapper{padding:1rem}.embed-code{background:#0a0a0a08;padding:1rem;font-family:var(--font-mono);font-size:.7rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all;color:var(--color-stone);margin-bottom:.75rem}.loading{display:none;text-align:center;padding:3rem;color:var(--color-stone)}.loading.show{display:block}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:32px;height:32px;border:3px solid rgba(10,10,10,.1);border-top-color:var(--color-ink);border-radius:50%;animation:spin .8s linear infinite}.footer{margin-top:4rem;text-align:center;color:var(--color-stone);font-size:.75rem;padding-bottom:2rem}.footer a{color:var(--color-stone);text-decoration:underline}.footer a:hover{color:var(--color-ink)}.footer-links{display:flex;justify-content:center;gap:1.5rem}@media(max-width:600px){.image-preview-section{flex-direction:column}.image-preview{width:100%;height:200px}.action-buttons{flex-direction:column}}
