:root{--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Consolas", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--state-valid: #16a34a;--state-valid-bg: rgba(22, 163, 74, .12);--state-invalid: #dc2626;--state-invalid-bg: rgba(220, 38, 38, .1);--state-mining: #d97706;--state-mining-bg: rgba(217, 119, 6, .12);--hash-highlight: #2563eb;--accent: #2563eb;--accent-hover: #1d4ed8;--peer-a: #6366f1;--peer-b: #0891b2;--peer-c: #db2777}@media (prefers-color-scheme: light){:root{--bg: #f4f6f9;--bg-elevated: #ffffff;--bg-nav: #1e293b;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--input-bg: #ffffff;--nav-text: #f1f5f9;--nav-muted: #94a3b8;--connector: #94a3b8}}@media (prefers-color-scheme: dark){:root{--bg: #0b1120;--bg-elevated: #151d2e;--bg-nav: #070b14;--text: #e2e8f0;--text-muted: #94a3b8;--border: #1e293b;--input-bg: #0f172a;--nav-text: #e2e8f0;--nav-muted: #64748b;--connector: #475569;--hash-highlight: #60a5fa;--accent: #3b82f6;--accent-hover: #60a5fa}}*,*:before,*:after{box-sizing:border-box}html{min-height:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}code,.mono{font-family:var(--font-mono)}.site-nav{position:sticky;top:0;z-index:100;background:var(--bg-nav);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.site-nav__inner{max-width:1400px;margin:0 auto;padding:0 var(--space-md);display:flex;align-items:center;gap:var(--space-md);min-height:56px}.site-nav__brand{font-weight:700;color:var(--nav-text);white-space:nowrap}.site-nav__brand:hover{color:#fff;text-decoration:none}.site-nav__locale{margin-left:auto}.locale-select{background:#ffffff14;color:var(--nav-text);border:1px solid var(--nav-muted);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:.85rem;max-width:9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-nav__toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--nav-muted);color:var(--nav-text);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);cursor:pointer}.site-nav__links{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-left:auto;list-style:none;padding:0}.site-nav__links a{display:block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--nav-muted);font-size:.9rem}.site-nav__links a:hover,.site-nav__links a.is-active{color:var(--nav-text);background:#ffffff14;text-decoration:none}.page-shell{max-width:1400px;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-xl)}.page-header{margin-bottom:var(--space-lg)}.page-header h1{margin:0 0 var(--space-sm);font-size:1.75rem;font-weight:700}.page-hint{margin:0;color:var(--text-muted);max-width:60ch}.step-nav{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg);padding:var(--space-sm);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.step-nav__item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-muted)}.step-nav__item a{color:inherit}.step-nav__item.is-active{background:var(--accent);color:#fff;font-weight:600}.step-nav__item.is-active a{color:#fff}.step-nav__arrow{color:var(--text-muted);opacity:.5}.github-link{position:fixed;top:0;left:0;z-index:200;opacity:.85}.github-link img{height:80px;border:0}@media (max-width: 768px){.site-nav__locale{order:3;margin-left:0;width:100%}.locale-select{width:100%;max-width:none}.site-nav__toggle{display:block}.site-nav__links{display:none;width:100%;flex-direction:column;margin-left:0;padding-bottom:var(--space-sm)}.site-nav__links.is-open{display:flex}.site-nav__inner{flex-wrap:wrap}}.field{margin-bottom:var(--space-md)}.field label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-xs)}.field input,.field textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font-family:var(--font-mono);font-size:.85rem}.field input:disabled{opacity:.85;cursor:not-allowed}.field textarea{min-height:120px;resize:vertical}.block-card{background:var(--bg-elevated);border:2px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);min-width:280px;max-width:340px;flex-shrink:0;transition:border-color .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.block-card.is-valid{border-color:var(--state-valid);box-shadow:0 0 0 1px var(--state-valid),var(--shadow-md)}.block-card.is-invalid{border-color:var(--state-invalid);box-shadow:0 0 0 1px var(--state-invalid)}.block-card.is-mining{border-color:var(--state-mining);animation:pulse-mining 1.2s ease-in-out infinite}.block-card.is-stale{opacity:.75}.block-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.block-card__number{font-size:1.1rem;font-weight:700}.status-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.status-badge.is-valid{background:var(--state-valid-bg);color:var(--state-valid)}.status-badge.is-invalid{background:var(--state-invalid-bg);color:var(--state-invalid)}.status-badge.is-mining{background:var(--state-mining-bg);color:var(--state-mining)}.hash-field{font-family:var(--font-mono);font-size:.78rem;word-break:break-all;line-height:1.6;padding:var(--space-sm);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.hash-field__prefix{color:var(--hash-highlight);font-weight:700}.hash-field__rest{color:var(--text-muted)}.hash-field--large{font-size:.95rem;padding:var(--space-md)}.mine-btn{width:100%;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:background .15s}.mine-btn:hover:not(:disabled){background:var(--accent-hover)}.mine-btn:disabled{opacity:.65;cursor:wait}.mine-progress{height:4px;background:var(--border);border-radius:2px;margin-top:var(--space-sm);overflow:hidden}.mine-progress__bar{height:100%;background:var(--state-mining);width:0%;transition:width .1s linear}.chain-row{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:var(--space-md) 0;scroll-snap-type:x mandatory}.chain-row__item{display:flex;align-items:center;scroll-snap-align:start}.chain-connector{flex-shrink:0;width:40px;display:flex;align-items:center;justify-content:center;color:var(--connector)}.chain-connector.is-broken{color:var(--state-invalid);animation:pulse-invalid .6s ease-in-out 2}.chain-connector svg{width:32px;height:24px}.peer-lane{margin-bottom:var(--space-xl);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated)}.peer-lane.is-sync-flash{animation:sync-flash .6s ease-out}@keyframes sync-flash{0%{background:var(--state-mining-bg)}to{background:var(--bg-elevated)}}.peer-lane--a{border-left:4px solid var(--peer-a)}.peer-lane--b{border-left:4px solid var(--peer-b)}.peer-lane--c{border-left:4px solid var(--peer-c)}.peer-lane__title{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md)}.peer-badge{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;font-weight:700;color:#fff;font-size:.9rem}.peer-badge--a{background:var(--peer-a)}.peer-badge--b{background:var(--peer-b)}.peer-badge--c{background:var(--peer-c)}.tx-list{display:flex;flex-direction:column;gap:var(--space-sm)}.tx-chip{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;padding:var(--space-sm);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem}.tx-chip input{flex:1 1 80px;min-width:60px;padding:var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-size:.8rem}.tx-chip__value{font-weight:700;color:var(--state-valid)}.tx-chip__arrow{text-align:center;color:var(--text-muted)}.coinbase-reward{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);margin-bottom:var(--space-sm);background:var(--state-mining-bg);border:1px dashed var(--state-mining);border-radius:var(--radius-sm)}.coinbase-reward input{flex:1;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-size:.85rem}.coinbase-reward__badge{font-weight:700;color:var(--state-mining)}.hash-demo{display:grid;gap:var(--space-lg);max-width:720px}.hash-flow{display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap;color:var(--text-muted);font-size:.9rem}.hash-flow__arrow{font-size:1.5rem}.hero{text-align:center;margin-bottom:var(--space-xl)}.hero h1{font-size:2.25rem;margin:0 0 var(--space-sm)}.hero p{color:var(--text-muted);max-width:50ch;margin:0 auto var(--space-lg)}.demo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.demo-card{display:block;padding:var(--space-lg);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:transform .15s,box-shadow .15s;color:inherit;text-decoration:none}.demo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.demo-card__icon{font-size:2rem;margin-bottom:var(--space-sm)}.demo-card__title{font-weight:700;margin-bottom:var(--space-xs)}.demo-card__hint{font-size:.85rem;color:var(--text-muted)}.block-page-center{display:flex;justify-content:center}.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}@keyframes pulse-mining{0%,to{box-shadow:0 0 #d977064d}50%{box-shadow:0 0 0 6px #d9770600}}@keyframes pulse-invalid{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 768px){.peer-lane .chain-row{flex-direction:column;align-items:stretch}.chain-connector{transform:rotate(90deg);width:auto;height:32px}.block-card{max-width:none}}
