:root{--surface-0:#2d2d2d;--surface-1:#3a3a3a;--surface-2:#464646;--text-primary:#fff;--text-secondary:#b8b8b8;--text-tertiary:#8a8a8a;--brand-200:#ca6ffb;--brand-400:#b83dfa;--brand-600:#a60bf9;--brand-active:#9c09e3;--status-ok:#3fb950;--status-error:#f85149;--font-ui:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--fs-hero:48px;--fs-h2:32px;--fs-h3:24px;--fs-body:16px;--fs-mono:13px;--fs-small:12px;--measure:68ch;--radius:4px;--t:.12s ease-out}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-ui);font-size:var(--fs-body);color:var(--text-primary);background:var(--surface-0);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--brand-200);text-decoration:none}a:hover{color:var(--text-primary);text-decoration:underline}.mono{font-family:var(--font-mono);font-size:var(--fs-mono)}.container{max-width:1120px;margin:0 auto;padding:0 24px}section{border-top:1px solid var(--surface-2);padding:80px 0}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.skip{background:var(--brand-600);color:#fff;z-index:200;font-family:var(--font-mono);font-size:var(--fs-mono);padding:12px 20px;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.nav{z-index:100;backdrop-filter:blur(8px);border-bottom:1px solid var(--surface-2);background:#2d2d2deb;padding:16px 0;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1120px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{color:var(--text-primary);transition:color var(--t);flex-shrink:0;align-items:center;display:flex}.nav-logo:hover{color:var(--brand-200);text-decoration:none}.nav-logo svg{width:auto;height:22px;display:block}.nav-links{align-items:center;gap:28px;list-style:none;display:flex}.nav-links a{font-family:var(--font-mono);font-size:var(--fs-mono);text-transform:uppercase;color:var(--text-secondary);transition:color var(--t);border-bottom:2px solid #0000;padding-bottom:2px}.nav-links a:hover{color:var(--text-primary);text-decoration:none}.nav-links a.active{color:var(--brand-200);border-bottom-color:var(--brand-200)}.lang{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);border:1px solid var(--surface-2);border-radius:var(--radius);transition:all var(--t);padding:4px 10px;text-decoration:none}.lang:hover{color:var(--text-primary);border-color:var(--brand-600);text-decoration:none}.hero{border-top:none;grid-template-columns:60% 40%;align-items:center;gap:48px;padding:96px 0;display:grid}.prompt{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--brand-200);margin-bottom:24px}.hero h1{font-size:var(--fs-hero);letter-spacing:-.02em;margin-bottom:24px;font-weight:700;line-height:1.1}.hero p{color:var(--text-secondary);max-width:var(--measure);margin-bottom:48px}.cta-ctx{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);margin-bottom:12px}.btn{background:var(--brand-600);color:#fff;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius);cursor:pointer;transition:box-shadow var(--t),transform 80ms ease-out;border:none;padding:14px 28px;font-size:14px;font-weight:500;display:inline-block}.btn:hover{color:#fff;box-shadow:0 0 0 1px var(--brand-400),0 0 24px -8px var(--brand-600);text-decoration:none}.btn:active{background:var(--brand-active);transform:translateY(1px)}.btn:disabled{background:var(--surface-2);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}.cta-sub{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-tertiary);margin-top:12px}.diagram{border:1px solid var(--surface-2);border-radius:var(--radius);background:var(--surface-1);flex-direction:column;gap:16px;padding:24px;display:flex}.row{justify-content:center;align-items:center;gap:12px;display:flex}.node{background:var(--surface-1);border:1px solid var(--surface-2);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-secondary);white-space:nowrap;padding:10px 14px;transition:all .15s ease-out}.node:hover{border-color:var(--brand-600);color:var(--text-primary);box-shadow:0 0 16px -4px var(--brand-600)}.node.core{border-color:var(--brand-600);color:var(--text-primary);font-weight:500;transform:scale(1.15)}.edge{background:var(--surface-2);flex:1;min-width:20px;height:1px}.edge.active{background:var(--brand-600);height:1.5px}.edge-label{font-family:var(--font-mono);color:var(--brand-200);text-align:center;opacity:0;font-size:10px;transition:opacity .1s}.diagram:hover .edge-label,.pattern:hover .edge-label{opacity:1}.sec-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.sec-head h2{font-size:var(--fs-h2);letter-spacing:-.01em;font-weight:700}.sec-num{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-tertiary)}.sec-lead{color:var(--text-secondary);max-width:var(--measure);margin:16px 0 48px}.cards{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.card{background:var(--surface-1);border:1px solid var(--surface-2);border-radius:var(--radius);transition:all var(--t);padding:28px}.card:hover{border-color:var(--brand-600);box-shadow:0 0 24px -12px var(--brand-600)}.card:hover .card-num{color:var(--brand-200)}.card-num{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-tertiary);transition:color var(--t)}.card h3{font-size:var(--fs-h3);margin:8px 0 16px;font-weight:700}.card .tools{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--brand-200);margin-bottom:16px}.card p{color:var(--text-secondary);font-size:15px}.pattern{border:1px solid var(--surface-2);border-radius:var(--radius);background:var(--surface-1);margin-bottom:16px;padding:24px}.pattern-title{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px}.cert-group{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:32px 0 12px}.cert-list{border:1px solid var(--surface-2);border-radius:var(--radius);overflow:hidden}.cert{border-bottom:1px solid var(--surface-2);transition:background var(--t);grid-template-columns:24px 110px 1fr auto;align-items:center;gap:16px;padding:14px 20px;display:grid}.cert:last-child{border-bottom:none}.cert:hover{background:var(--surface-1)}.cert:hover .cert-name{color:var(--brand-200)}.cert .tick{color:var(--status-ok);font-family:var(--font-mono)}.cert .tick.lapsed{color:var(--text-tertiary)}.cert .issuer{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary)}.cert-name{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-primary);transition:color var(--t)}.cert .dates{font-family:var(--font-mono);font-size:var(--fs-small);color:var(--text-secondary);text-align:right;white-space:nowrap}.cert.lapsed .cert-name{color:var(--text-secondary)}.form{max-width:560px;margin-top:32px}.field{margin-bottom:20px}.field label{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block}.field input,.field select,.field textarea{background:var(--surface-1);border:1px solid var(--surface-2);border-radius:var(--radius);width:100%;color:var(--text-primary);font-family:var(--font-ui);transition:border-color var(--t);padding:12px 14px;font-size:15px}.field input::placeholder,.field textarea::placeholder{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-tertiary)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-600);box-shadow:0 0 0 1px var(--brand-600);outline:none}.field.error input,.field.error select{border-color:var(--status-error);box-shadow:0 0 0 1px var(--status-error)}.err-msg{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--status-error);margin-top:6px;display:none}.field.error .err-msg{display:block}.field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23b8b8b8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px}.hp{position:absolute;left:-9999px}.success,.failure{border:1px solid var(--surface-2);border-radius:var(--radius);background:var(--surface-1);font-family:var(--font-mono);font-size:var(--fs-mono);padding:24px;display:none}.success .ok{color:var(--status-ok)}.failure .bad{color:var(--status-error)}.success .id{color:var(--brand-200);margin-top:12px}footer{border-top:1px solid var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-secondary);padding:48px 0}.foot-grid{grid-template-columns:1fr 1fr 1fr;gap:32px;display:grid}.foot-grid strong{color:var(--text-primary);margin-bottom:8px;font-weight:500;display:block}.foot-logo{color:var(--text-primary);margin-bottom:12px;display:block}.foot-logo svg{width:auto;height:20px;display:block}noscript em{color:var(--text-tertiary);font-style:normal}.foot-bottom{border-top:1px solid var(--surface-2);color:var(--text-tertiary);font-size:var(--fs-small);margin-top:32px;padding-top:24px}@media (width<=1024px){.hero{grid-template-columns:1fr;gap:32px;padding:56px 0}.cards{grid-template-columns:1fr}.nav-links{display:none}.foot-grid{grid-template-columns:1fr}:root{--fs-hero:34px;--fs-h2:26px}.cert{grid-template-columns:20px 1fr;gap:8px}.cert .issuer{display:none}.cert .dates{text-align:left;grid-column:2}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
