:root {
  --ink: #0b0b0c;
  --ink-2: #151517;
  --panel: #1e1e21;
  --line: #303034;
  --muted: #98999b;
  --paper: #f9f9f9;
  --lime: #e3f600;
  --danger: #ff6b5f;
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
code { font-family: var(--mono); }
[hidden] { display: none !important; }

.site-header {
  position: sticky; top: 0; z-index: 50; height: 78px; padding: 0 clamp(24px, 5vw, 76px);
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(11,11,12,.88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08);
}
.wordmark { font-size: 29px; font-weight: 600; letter-spacing: -2px; }
.wordmark span { color: var(--lime); }
nav { display: flex; gap: 36px; font: 11px var(--mono); text-transform: uppercase; letter-spacing: .12em; color: #bfc0c3; }
nav a:hover { color: var(--lime); }
.header-cta { padding: 11px 15px; border: 1px solid #46464a; font: 11px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.header-cta:hover { background: var(--lime); color: var(--ink); border-color: var(--lime); }

.hero { min-height: calc(100vh - 78px); padding: clamp(36px, 6vw, 84px) clamp(24px, 5vw, 76px) 34px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; }
.hero-grid { position: absolute; inset: 0; opacity: .14; pointer-events: none; background-image: linear-gradient(#777 1px,transparent 1px),linear-gradient(90deg,#777 1px,transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(90deg, transparent, #000 50%, transparent); transform: perspective(700px) rotateX(56deg) scale(1.6) translateY(34%); }
.hero:after { content:""; position:absolute; width:min(55vw,760px); aspect-ratio:1; right:-15vw; top:9%; border:1px solid #38383b; border-radius:50%; box-shadow: 0 0 0 8vw rgba(227,246,0,.015), 0 0 0 16vw rgba(227,246,0,.012); }
.eyebrow,.section-label { position:relative; z-index:2; font: 500 12px var(--mono); letter-spacing:.28em; color: var(--lime); }
.hero-copy { position:relative; z-index:2; display:grid; grid-template-columns:minmax(500px,1.25fr) minmax(260px,.6fr); gap:8vw; align-items:end; margin:90px 0; }
.hero h1 { margin:0; font-size:clamp(74px,12.2vw,188px); line-height:.76; letter-spacing:-.075em; font-weight:600; }
.hero h1 span { color:var(--lime); }
.hero-copy p { margin:0 0 8px; max-width:560px; font-size:clamp(18px,1.6vw,25px); line-height:1.52; color:#c3c4c7; }
.hero-bottom { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; font:11px var(--mono); letter-spacing:.12em; color:#929398; text-transform:uppercase; }
.signal-dot { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--lime); box-shadow:0 0 14px var(--lime); }

.statement { background:var(--lime); color:var(--ink); padding:clamp(70px,10vw,150px) clamp(24px,5vw,76px); }
.statement .section-label { color:var(--ink); }
.statement-body { margin-top:64px; display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.statement h2,.section-heading h2,.roadmap-section>h2 { margin:0; font-size:clamp(48px,7vw,108px); line-height:.94; letter-spacing:-.055em; }
.statement-body p { margin:10px 0 0; font-size:clamp(19px,1.65vw,26px); line-height:1.5; }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:90px; }
.proof-grid article { min-height:210px; padding:30px; background:var(--ink); color:var(--paper); display:flex; flex-direction:column; justify-content:space-between; }
.proof-grid strong { color:var(--lime); font:500 clamp(45px,5vw,74px) var(--mono); }
.proof-grid span { color:#b9babc; font-size:15px; line-height:1.45; }

.workspace-section { padding:clamp(80px,10vw,150px) clamp(24px,5vw,76px); }
.section-heading { display:grid; grid-template-columns:1.2fr .65fr; gap:8vw; align-items:end; margin-bottom:64px; }
.section-heading h2 { font-size:clamp(50px,7vw,104px); margin-top:22px; }
.section-heading>p { color:#a8a9ac; font-size:18px; line-height:1.55; max-width:540px; margin:0 0 8px; }
.section-heading code { color:var(--lime); }
.lime { color:var(--lime); }
.processor { border:1px solid var(--line); background:var(--ink-2); box-shadow:0 28px 80px rgba(0,0,0,.3); }
.processor-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.tab { height:72px; border:0; border-right:1px solid var(--line); background:transparent; color:#7f8084; text-transform:uppercase; letter-spacing:.14em; font:500 12px var(--mono); cursor:pointer; }
.tab:last-child { border-right:0; }
.tab span { color:#606166; margin-right:12px; }
.tab.active { background:var(--lime); color:var(--ink); }
.tab.active span { color:var(--ink); }
.processor-grid { display:grid; grid-template-columns:1fr 1fr; min-height:570px; }
.upload-panel,.process-state { padding:clamp(26px,4vw,58px); }
.upload-panel { border-right:1px solid var(--line); display:flex; flex-direction:column; }
.dropzone { min-height:335px; border:1px dashed #525258; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; cursor:pointer; position:relative; transition:.2s; }
.dropzone:hover,.dropzone.dragging { border-color:var(--lime); background:rgba(227,246,0,.025); }
.drop-icon { width:62px; height:62px; border:1px solid #4b4b50; border-radius:50%; display:grid; place-items:center; font-size:30px; font-weight:300; color:var(--lime); margin-bottom:25px; }
.drop-copy strong { display:block; font-size:22px; margin-bottom:10px; }
.drop-copy span { color:#85868a; font:12px var(--mono); }
.file-pill { position:absolute; inset:0; padding:30px; background:var(--ink-2); display:flex; align-items:center; justify-content:center; gap:18px; }
.file-ext { width:68px; height:76px; background:var(--lime); color:var(--ink); display:grid; place-items:center; font:700 11px var(--mono); }
.file-pill>span:nth-child(2) { text-align:left; max-width:55%; overflow:hidden; }
.file-pill strong,.file-pill small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-pill strong { font-size:17px; }
.file-pill small { margin-top:7px; color:#929398; font:11px var(--mono); }
.file-pill button { background:none; border:1px solid #4a4a4f; color:#aaa; width:34px; height:34px; cursor:pointer; }
.primary-button,.download-button,.inverse-button { min-height:58px; margin-top:18px; border:0; padding:0 22px; background:var(--lime); color:var(--ink); display:flex; align-items:center; justify-content:space-between; font:600 12px var(--mono); text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.primary-button:disabled,.inverse-button:disabled { opacity:.28; cursor:not-allowed; }
.privacy-note { margin:18px 0 0; color:#77787d; text-align:center; font:10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.privacy-note span { color:var(--lime); }
.process-state { position:relative; }
.state-kicker { font:10px var(--mono); letter-spacing:.2em; color:#6e6f74; }
.idle-state { height:calc(100% - 20px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#727378; }
.idle-state p { max-width:260px; line-height:1.55; font-size:14px; }
.orbit { width:132px; height:132px; border:1px solid #313136; border-radius:50%; position:relative; margin-bottom:27px; animation:rotate 18s linear infinite; }
.orbit:after,.orbit:before { content:""; position:absolute; border:1px solid #28282c; border-radius:50%; inset:18px; }
.orbit:before { inset:38px; background:var(--lime); box-shadow:0 0 32px rgba(227,246,0,.3); }
.orbit i { position:absolute; width:7px; height:7px; border-radius:50%; background:#65666a; }
.orbit i:nth-child(1){left:12px;top:33px}.orbit i:nth-child(2){right:-3px;top:60px}.orbit i:nth-child(3){left:40px;bottom:-2px}
@keyframes rotate { to { transform:rotate(360deg); } }
.progress-state { padding-top:78px; }
.progress-top { display:flex; justify-content:space-between; align-items:end; }
.progress-top strong { font-size:22px; }
.progress-top span { color:var(--lime); font:38px var(--mono); }
.progress-track { height:6px; background:#2d2d31; margin:22px 0 54px; overflow:hidden; }
.progress-track i { display:block; height:100%; width:0; background:var(--lime); transition:width .3s ease; }
.phase-list div { display:grid; grid-template-columns:44px 1fr auto; padding:18px 0; border-top:1px solid #333338; color:#77787c; font-size:13px; }
.phase-list div:last-child { border-bottom:1px solid #333338; }
.phase-list span,.phase-list b { font:10px var(--mono); }
.phase-list b { color:#66676b; }
.phase-list div.active { color:#fff; }
.phase-list div.active b { color:var(--lime); }
.phase-list div.done b { color:#fff; }
.result-state { padding-top:38px; }
.result-mark { width:46px; height:46px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; font-size:24px; float:right; }
.result-label { color:var(--lime); font:10px var(--mono); letter-spacing:.16em; }
.result-state h3 { margin:8px 0 27px; font-size:30px; }
.result-stats { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #37373c; }
.result-stats div { padding:18px; border-right:1px solid #37373c; }
.result-stats div:last-child { border-right:0; }
.result-stats span,.result-stats strong { display:block; }
.result-stats span { color:#74757a; font:9px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.result-stats strong { margin-top:7px; font:500 17px var(--mono); }
.digest-row { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:16px 0; border-bottom:1px solid #303035; }
.digest-row>span { color:#77787d; font:10px var(--mono); }
.digest-row code { overflow:hidden; text-overflow:ellipsis; font-size:10px; color:#bfc0c3; }
.copy-button,.text-button { color:#a9aaad; background:none; border:0; text-decoration:underline; cursor:pointer; font:10px var(--mono); text-transform:uppercase; }
.download-button { margin-top:18px; }
.text-button { display:block; margin:15px auto 0; }
.error-state { padding-top:80px; text-align:center; }
.error-mark { width:52px; height:52px; border:1px solid var(--danger); color:var(--danger); border-radius:50%; display:grid; place-items:center; margin:0 auto 22px; font-size:25px; }
.error-state h3 { font-size:26px; }
.error-state p { color:#999; line-height:1.5; }

.checksum-section { background:var(--lime); color:var(--ink); padding:clamp(80px,10vw,150px) clamp(24px,5vw,76px); }
.dark-heading .section-label { color:var(--ink); }
.dark-heading>p { color:#222; }
.checksum-tool { display:grid; grid-template-columns:.72fr 1.28fr; background:var(--ink); color:var(--paper); min-height:530px; }
.checksum-inputs { padding:clamp(26px,4vw,54px); border-right:1px solid #343438; display:flex; flex-direction:column; }
.compact-drop { min-height:170px; border:1px dashed #55565b; display:flex; flex-direction:column; justify-content:center; align-items:center; cursor:pointer; text-align:center; }
.compact-drop.dragging { border-color:var(--lime); }
.compact-drop>span { color:var(--lime); font-size:29px; margin-bottom:14px; }
.compact-drop strong { max-width:85%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compact-drop small { color:#75767b; margin-top:8px; font:10px var(--mono); }
.expected-field { margin-top:25px; }
.expected-field>span { display:block; margin-bottom:10px; color:#88898d; font:9px var(--mono); letter-spacing:.12em; }
.expected-field em { color:#5e5f63; font-style:normal; float:right; }
.expected-field input { width:100%; height:52px; padding:0 14px; color:#fff; background:#171719; border:1px solid #3c3c41; outline:0; font:11px var(--mono); }
.expected-field input:focus { border-color:var(--lime); }
.inverse-button { background:var(--paper); }
.hash-progress { margin-top:18px; height:3px; background:#333; position:relative; }
.hash-progress i { display:block; height:100%; width:0; background:var(--lime); }
.hash-progress span { display:block; margin-top:8px; color:#777; font:9px var(--mono); }
.hash-results { padding:clamp(26px,4vw,54px); overflow:hidden; }
.hash-placeholder { height:100%; display:flex; align-items:center; justify-content:center; flex-direction:column; color:#55565a; }
.hash-placeholder span { font:clamp(54px,8vw,110px) var(--mono); letter-spacing:-.12em; opacity:.18; }
.hash-placeholder p { font:11px var(--mono); text-transform:uppercase; letter-spacing:.12em; }
.hash-result-head { display:flex; justify-content:space-between; align-items:start; padding-bottom:20px; border-bottom:1px solid #35353a; }
.hash-result-head h3 { margin:0 0 5px; max-width:420px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:18px; }
.hash-result-head span { color:#77787c; font:10px var(--mono); }
.verify-badge { padding:9px 12px; border:1px solid #57575c; font:9px var(--mono)!important; text-transform:uppercase; letter-spacing:.1em; }
.verify-badge.match { color:var(--lime); border-color:var(--lime); }
.verify-badge.mismatch { color:var(--danger); border-color:var(--danger); }
.hash-list { margin-top:9px; }
.container-insight { margin-top:16px; padding:15px; border:1px solid #4b4b50; background:#171719; }
.container-insight span,.container-insight strong,.container-insight small { display:block; }
.container-insight span { color:var(--lime); font:9px var(--mono); letter-spacing:.12em; }
.container-insight strong { margin-top:8px; font-size:14px; }
.container-insight small { margin-top:5px; color:#85868a; font:9px var(--mono); text-transform:uppercase; }
.restored-hash { background:rgba(227,246,0,.035); }
.hash-row { display:grid; grid-template-columns:72px 1fr 40px; gap:12px; align-items:center; padding:15px 0; border-bottom:1px solid #2e2e32; }
.hash-row span { color:var(--lime); font:10px var(--mono); }
.hash-row code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#bcbdbf; font-size:10px; }
.hash-row button { background:none; color:#777; border:0; cursor:pointer; font:9px var(--mono); text-transform:uppercase; }

.roadmap-section { padding:clamp(85px,11vw,170px) clamp(24px,5vw,76px); }
.roadmap-section>h2 { margin-top:38px; max-width:1100px; }
.roadmap { margin-top:90px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #3c3c40; }
.roadmap article { padding:28px 28px 30px 0; border-right:1px solid #3c3c40; min-height:280px; }
.roadmap article:not(:first-child) { padding-left:28px; }
.roadmap article:last-child { border-right:0; }
.roadmap span { color:var(--lime); font:10px var(--mono); letter-spacing:.12em; }
.roadmap h3 { font-size:32px; margin:56px 0 18px; }
.roadmap p { color:#8f9094; line-height:1.55; font-size:14px; }
footer { border-top:1px solid #303035; padding:54px clamp(24px,5vw,76px) 34px; }
.footer-mark { font-size:48px; }
footer>p { margin:34px 0 78px; color:#b0b1b4; font-size:20px; }
footer>div { display:flex; justify-content:space-between; color:#65666a; font:10px var(--mono); text-transform:uppercase; letter-spacing:.1em; }

@media (max-width: 900px) {
  nav { display:none; }
  .hero-copy,.statement-body,.section-heading { grid-template-columns:1fr; }
  .hero-copy { gap:50px; }
  .hero h1 { font-size:clamp(72px,21vw,150px); }
  .proof-grid { grid-template-columns:1fr; }
  .proof-grid article { min-height:150px; }
  .processor-grid,.checksum-tool { grid-template-columns:1fr; }
  .upload-panel { border-right:0; border-bottom:1px solid var(--line); }
  .process-state { min-height:520px; }
  .checksum-inputs { border-right:0; border-bottom:1px solid #343438; }
  .roadmap { grid-template-columns:1fr 1fr; }
  .roadmap article:nth-child(2) { border-right:0; }
  .roadmap article:nth-child(3),.roadmap article:nth-child(4) { border-top:1px solid #3c3c40; }
}

@media (max-width: 560px) {
  .site-header { height:66px; }
  .header-cta { display:none; }
  .hero { min-height:calc(100svh - 66px); }
  .hero-copy { margin:70px 0; }
  .hero h1 { font-size:21vw; }
  .hero-copy p { font-size:17px; }
  .statement-body { margin-top:42px; }
  .proof-grid { margin-top:56px; }
  .processor-tabs { grid-template-columns:1fr 1fr; }
  .upload-panel,.process-state { padding:22px; }
  .dropzone { min-height:280px; }
  .result-stats { grid-template-columns:1fr; }
  .result-stats div { border-right:0; border-bottom:1px solid #37373c; }
  .result-stats div:last-child { border-bottom:0; }
  .digest-row { grid-template-columns:auto 1fr; }
  .digest-row button { grid-column:2; justify-self:start; }
  .roadmap { grid-template-columns:1fr; }
  .roadmap article,.roadmap article:not(:first-child) { padding:28px 0; border-right:0; border-top:1px solid #3c3c40; min-height:220px; }
  .roadmap h3 { margin-top:34px; }
  footer>div { flex-direction:column; gap:12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
