:root,[data-theme=dark]{--bg: #0d1024;--bg-soft: #161a36;--panel: #1b1f3a;--panel-strong: #232850;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--ink-strong: #f5f5ff;--ink: #d8dbf0;--ink-soft: #9ea3c6;--ink-faint: #6f7499;--accent: #b58cff;--accent-2: #7ad1ff;--accent-3: #ffd479;--accent-4: #6ff0b6;--warning-bg: rgba(255, 174, 95, .12);--warning-ink: #ffb56b;--metric-bg: rgba(122, 209, 255, .1);--pass-bg: rgba(111, 240, 182, .13);--pass-ink: #6ff0b6;--fail-bg: rgba(255, 110, 134, .15);--fail-ink: #ff8d9f;--pending-bg: rgba(255, 212, 121, .13);--pending-ink: #ffd479;--mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-1: 0 12px 30px rgba(0, 0, 0, .45);--shadow-2: 0 4px 14px rgba(0, 0, 0, .3);--radius-sm: 6px;--radius: 12px;--radius-lg: 18px}[data-theme=light]{--bg: #f6f6fb;--bg-soft: #ecedf6;--panel: #ffffff;--panel-strong: #f1f1fa;--line: rgba(20, 23, 60, .08);--line-strong: rgba(20, 23, 60, .16);--ink-strong: #14143c;--ink: #2a2c5b;--ink-soft: #4a4f78;--ink-faint: #7c80a6;--accent: #5b39c0;--accent-2: #0a5c87;--accent-3: #8a4f08;--accent-4: #146b40;--warning-bg: rgba(138, 79, 8, .14);--warning-ink: #6e3e06;--metric-bg: rgba(10, 92, 135, .12);--pass-bg: rgba(20, 107, 64, .15);--pass-ink: #0b5b34;--fail-bg: rgba(140, 26, 53, .13);--fail-ink: #8c1a35;--pending-bg: rgba(138, 79, 8, .15);--pending-ink: #6e3e06;--shadow-1: 0 10px 24px rgba(20, 23, 60, .12);--shadow-2: 0 4px 12px rgba(20, 23, 60, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{max-width:1080px;margin:0 auto;padding:32px 24px 64px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:12px;z-index:100;padding:10px 16px;background:var(--accent);color:#fff;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;transition:top .15s ease}.skip-link:focus{top:12px;outline:2px solid var(--accent-2);outline-offset:2px}.hero-panel{position:relative;padding:32px 32px 28px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--panel) 0%,var(--panel-strong) 100%);border:1px solid var(--line);box-shadow:var(--shadow-1);margin-bottom:32px}.hero-panel .hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);margin:0 0 10px}.hero-panel h1{font-size:clamp(28px,4vw,40px);margin:0 0 14px;color:var(--ink-strong);letter-spacing:-.01em}.hero-panel p.hero-lede{font-size:17px;color:var(--ink);max-width:70ch;margin:0 0 18px}.hero-panel details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.hero-panel summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:14px}.hero-panel details[open] summary{margin-bottom:8px}.hero-metric{display:inline-flex;margin-top:10px;padding:8px 14px;background:var(--metric-bg);border:1px solid var(--line);color:var(--accent-2);font-family:var(--mono);font-size:12.5px;border-radius:999px}.theme-toggle{position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-strong);color:var(--ink-strong);display:inline-flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:transform .15s ease,background .2s ease}.theme-toggle:hover{transform:rotate(15deg);background:var(--panel)}.theme-toggle:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}@media (prefers-reduced-motion: reduce){.theme-toggle,.theme-toggle:hover{transition:none;transform:none}*{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.lab-section{margin-bottom:32px;padding:24px 24px 22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2)}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}.section-heading-row h2{font-size:22px;margin:0;color:var(--ink-strong);letter-spacing:-.01em}.section-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.lab-section>p{margin:6px 0 14px;color:var(--ink);max-width:75ch}.panel-card{padding:16px 18px;background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius)}button{font-family:var(--sans);font-size:14px;font-weight:700;min-height:44px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--accent);color:var(--bg);cursor:pointer;transition:filter .15s ease,transform .05s ease}[data-theme=light] button{color:#fff}button:hover{filter:brightness(1.08)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}button.secondary{background:var(--panel-strong);color:var(--ink-strong);border-color:var(--line-strong)}[data-theme=light] button.secondary{color:var(--ink-strong)}.playground-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.reuse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm)}.table-wrap:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.math-table{width:100%;min-width:320px;border-collapse:collapse;font-size:14px}.math-table th,.math-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.math-table th{color:var(--accent);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.scenario-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line)}.scenario-status--valid{background:var(--pass-bg);color:var(--pass-ink)}.scenario-status--invalid{background:var(--fail-bg);color:var(--fail-ink)}.scenario-status--pending{background:var(--pending-bg);color:var(--pending-ink)}code,.mono{font-family:var(--mono);font-size:13px}pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;overflow-x:auto;color:var(--ink-strong)}.scripture-footer{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);font-style:italic;font-size:14px}.scripture-footer cite{font-style:normal;color:var(--ink)}@media (max-width: 600px){#app{padding:22px 16px 48px}.hero-panel{padding:26px 22px 22px}.theme-toggle{top:14px;right:14px}}.key-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px}.key-warning{margin:0;padding:8px 12px;background:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12.5px;flex:1 1 320px}.pipeline-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.pipeline-step{padding:14px 16px 12px;background:var(--panel-strong);border:1px solid var(--line);border-left:3px solid var(--accent-3);border-radius:var(--radius)}.pipeline-step-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.pipeline-step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bg-soft);color:var(--accent-3);border:1px solid var(--line-strong);font-family:var(--mono);font-size:12px;font-weight:700}.pipeline-step-label{font-weight:700;color:var(--ink-strong);font-size:15px}.pipeline-step-detail{margin:6px 0 8px;font-size:13.5px;color:var(--ink)}.pipeline-step-value-wrap{position:relative;display:flex;align-items:flex-start;gap:8px}.pipeline-step-value{margin:0;font-size:12.5px;color:var(--ink-strong);word-break:break-all;white-space:pre-wrap;flex:1 1 auto}.copy-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:600;background:var(--panel-strong);color:var(--ink-strong);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.copy-btn:hover{background:var(--bg-soft);filter:none}.copy-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.copy-btn svg{flex:0 0 auto}.copy-btn--ok{background:var(--pass-bg);color:var(--pass-ink);border-color:var(--pass-ink)}.copy-row{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:8px 12px;align-items:start;margin:6px 0 0}.copy-row dt{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-top:6px}.copy-row dd{margin:0;display:flex;align-items:flex-start;gap:8px}.copy-row-value{flex:1 1 auto;font-family:var(--mono);font-size:12.5px;color:var(--ink);word-break:break-all;padding-top:4px}.qr-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}.qr-card{padding:16px;background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:10px}.qr-card-title{margin:0;font-size:13px;color:var(--accent-2);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.qr-svg{background:var(--bg);padding:10px;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-strong);line-height:0}[data-theme=light] .qr-svg{background:#fff;color:#000}.qr-card-value{font-size:11.5px;color:var(--ink);word-break:break-all;text-align:center}.seed-controls{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.mnemonic-card{margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.mnemonic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.mnemonic-word{display:flex;align-items:baseline;gap:8px;padding:6px 10px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm)}.mnemonic-word-num{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.mnemonic-word-text{font-family:var(--mono);font-size:14px;color:var(--ink-strong);font-weight:600}.mnemonic-phrase-row,.mnemonic-line-row{display:flex;align-items:flex-start;gap:8px}.mnemonic-phrase,.mnemonic-seed,.mnemonic-master{padding:10px 12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink);white-space:pre-wrap;word-break:break-all;flex:1 1 auto}.validate-card{margin-bottom:16px;display:flex;flex-direction:column;gap:10px}.validate-help{margin:0;font-size:13.5px;color:var(--ink)}.mnemonic-input{width:100%;padding:10px 12px;background:var(--bg-soft);color:var(--ink-strong);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-family:var(--mono);font-size:13px;resize:vertical}.mnemonic-input:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.validate-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-title{margin:0 0 6px;font-size:15px;color:var(--accent);letter-spacing:0}.derive-card{margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.derive-help{margin:0;font-size:13.5px;color:var(--ink)}.derive-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.derive-label{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.path-input,.index-input{padding:9px 12px;background:var(--bg-soft);color:var(--ink-strong);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-family:var(--mono);font-size:13px}.path-input{flex:1 1 240px}.index-input{width:110px}.path-input:focus-visible,.index-input:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.derive-keyboard-hint{margin:0;padding:6px 10px;font-size:12px;color:var(--ink-soft);background:var(--metric-bg);border-radius:var(--radius-sm);font-style:italic}.derived-out{margin-top:8px;padding:12px 14px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm)}.derived-summary{font-size:12.5px;color:var(--ink-soft);margin-bottom:6px}.derived-bundle{margin:0}.derived-bundle dt{margin-top:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.derived-bundle dd{margin:3px 0 0;font-family:var(--mono);font-size:12.5px;color:var(--ink);word-break:break-all}.concept-card,.safety-card{display:flex;flex-direction:column;gap:6px}.concept-card p,.safety-card p{margin:0;font-size:13.5px;color:var(--ink)}.safety-card{border-left:3px solid var(--warning-ink)}.checksum-card{margin-top:16px}.checksum-card p{font-size:13.5px;color:var(--ink)}.hero-metric-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tree-card{margin:0 0 16px}.tree-help{margin:0 0 12px;font-size:13.5px;color:var(--ink)}.derivation-tree{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.tree-node{flex:1 1 130px;min-width:130px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--accent-2);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px}.tree-node--hardened{border-left-color:var(--accent-3)}.tree-node-segment{font-size:18px;color:var(--ink-strong);font-weight:700}.tree-node-name{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.tree-node-detail{font-size:12px;color:var(--ink)}.tree-arrow{align-self:center;color:var(--ink-soft);font-size:18px;font-family:var(--mono)}@media (max-width: 760px){.derivation-tree{flex-direction:column}.tree-arrow{align-self:flex-start;transform:rotate(90deg);margin-left:12px}}.memorize-card{margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.memorize-help{margin:0;font-size:13.5px;color:var(--ink)}.memorize-controls{display:flex;gap:8px;flex-wrap:wrap}.memorize-status{margin:0;padding:6px 10px;background:var(--metric-bg);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;color:var(--ink);min-height:32px}.memorize-slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.memorize-slot{display:flex;align-items:baseline;gap:8px;padding:8px 10px;background:var(--bg-soft);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);min-height:36px}.memorize-slot--ok{border-style:solid;border-color:var(--pass-ink);background:var(--pass-bg)}.memorize-slot--err{border-color:var(--fail-ink);background:var(--fail-bg)}.memorize-slot-num{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.memorize-slot-word{font-family:var(--mono);font-size:14px;color:var(--ink-strong)}.memorize-bank{display:flex;flex-wrap:wrap;gap:6px}.memorize-chip{padding:8px 12px;min-height:36px;background:var(--panel-strong);color:var(--ink-strong);border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:13px;cursor:pointer}.memorize-chip:hover{background:var(--bg-soft);filter:none}.memorize-chip:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.memorize-chip--used{opacity:.35;text-decoration:line-through;cursor:not-allowed}.address-list-card{margin-top:16px}.address-list-help{margin:0 0 12px;font-size:13.5px;color:var(--ink)}.address-list-table{font-size:12.5px}.address-list-table .mono{word-break:break-all}.address-list-empty{text-align:center;color:var(--ink-soft);font-style:italic;padding:18px 12px}.address-list-actions{display:flex;flex-direction:column;gap:4px;white-space:nowrap}.address-list-actions .copy-btn{min-height:28px;padding:4px 8px;font-size:11.5px}@media (max-width: 600px){.pipeline-step{padding:12px 12px 10px}.pipeline-step-value-wrap{flex-direction:column;align-items:stretch}.pipeline-step-value-wrap .copy-btn{align-self:flex-end}.mnemonic-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.copy-row{grid-template-columns:1fr}.copy-row .copy-btn{justify-self:end}}@media print{:root,[data-theme=dark],[data-theme=light]{--bg: #ffffff;--bg-soft: #ffffff;--panel: #ffffff;--panel-strong: #ffffff;--line: rgba(0, 0, 0, .25);--line-strong: rgba(0, 0, 0, .5);--ink-strong: #000000;--ink: #000000;--ink-soft: #333333;--accent: #000000;--accent-2: #000000;--accent-3: #000000;--accent-4: #000000;--warning-bg: transparent;--warning-ink: #000000;--metric-bg: transparent;--pass-bg: transparent;--pass-ink: #000000;--fail-bg: transparent;--fail-ink: #000000;--pending-bg: transparent;--pending-ink: #000000;--shadow-1: none;--shadow-2: none}body{background:#fff!important;color:#000!important}.theme-toggle,.copy-btn,.key-controls button,.seed-controls button,.memorize-controls,.derive-row button,#validate-input,.validate-row button,.skip-link{display:none!important}.lab-section,.hero-panel,.panel-card,.pipeline-step,.qr-card,.tree-node{box-shadow:none!important;page-break-inside:avoid;break-inside:avoid;border:1px solid #000000!important}.qr-svg{color:#000!important;background:#fff!important}pre,.mono{white-space:pre-wrap!important;word-break:break-all}a{color:#000!important;text-decoration:underline}.hero-panel:after{content:"Live: https://systemslibrarian.github.io/crypto-lab-bitcoin-wallet/";display:block;margin-top:12px;font-family:var(--mono);font-size:11px}}
