.skip-nav{background:var(--cyan);color:#000;z-index:9999;border-radius:6px;padding:8px 14px;font-weight:700;text-decoration:none;position:absolute;top:-9999px;left:6px}.skip-nav:focus{top:6px}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}:root{--bg:#080f17;--panel:#101d2c;--panel-2:#14253a;--ink:#dbeafe;--muted:#8fb1cb;--cyan:#00d4ff;--gold:gold;--purple:#9d4edd;--green:#0f8;--red:#f36;--amber:#fa0;--line:#1f3650;color:var(--ink);background:radial-gradient(1300px 900px at 15% -5%, #19314a, transparent), radial-gradient(1200px 900px at 95% -15%, #281b42, transparent), var(--bg);font-family:Space Grotesk,Avenir Next,Futura,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:0 0;min-height:100vh;margin:0}#app{min-height:100vh}.shell{width:min(1240px,94vw);margin:0 auto;padding:24px 0 40px}.hero{border:1px solid var(--line);background:linear-gradient(145deg,#00d4ff14,#9d4edd24);border-radius:18px;margin-bottom:18px;padding:24px}.kicker{text-transform:uppercase;letter-spacing:.11em;color:var(--cyan);margin:0 0 8px;font-size:.74rem}h1{margin:0;font-size:clamp(1.9rem,2.2vw + 1rem,3.2rem)}.lead{color:var(--muted);margin:10px 0 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel-2));border-radius:16px;padding:16px}#exhibit-5{grid-column:span 2}h2{margin:0 0 8px;font-size:1.12rem}h3{margin:0 0 8px}.muted{color:var(--muted)}.controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.controls.stacked{flex-direction:column;align-items:stretch}.row{gap:8px;display:flex}label{color:var(--muted);flex-direction:column;gap:5px;font-size:.95rem;display:flex}input,textarea,button{font:inherit}input,textarea{color:var(--ink);background:#0b1725;border:1px solid #274868;border-radius:8px;padding:8px 10px}textarea{resize:vertical;width:100%;min-height:120px}button{color:var(--ink);cursor:pointer;background:linear-gradient(#173a58,#14253a);border:1px solid #2f5679;border-radius:10px;min-width:44px;min-height:44px;padding:8px 12px}button:hover:not(:disabled){border-color:var(--cyan)}button:disabled{opacity:.5;cursor:not-allowed}button.warn{border-color:var(--amber)}.danger-btn{border-color:var(--red)}.mono{font-family:IBM Plex Mono,Consolas,monospace;font-size:.9rem}.kv p{margin:7px 0}.note{background:#112337;border:1px solid #2f5679;border-radius:8px;margin-top:10px;padding:8px}.ok{color:var(--green)}.amber{color:var(--amber)}.critical{color:var(--red)}.leaf-grid{border:1px solid var(--line);background:#0a1320;border-radius:10px;grid-template-columns:repeat(32,minmax(0,1fr));gap:2px;max-height:300px;margin-top:10px;padding:4px;display:grid;overflow:auto}.leaf{border:1px solid #0000;border-radius:2px;min-height:18px;padding:0;font-size:.55rem}.leaf.fresh{color:#b8f6ff;background:#00d4ff40}.leaf.used{color:#8893a0;background:#8b8e9647;text-decoration:line-through}.leaf.current{border-color:var(--gold);background:#ffd70059;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #ffd70070}to{box-shadow:0 0 0 8px #ffd70000}}.meter{border:1px solid var(--line);background:#0a1320;border-radius:999px;height:10px;margin-top:8px;overflow:hidden}.meter .fill{background:linear-gradient(90deg, var(--cyan), var(--purple));height:100%}.sig{white-space:pre-wrap;word-break:break-all;background:#0a1320;border:1px dashed #2e5273;border-radius:8px;margin-top:10px;padding:8px}.steps{margin:10px 0 0;padding-left:18px}.steps li{margin-bottom:6px}.decision{white-space:pre-line;background:#0a1320;border:1px solid #2e5273;border-radius:10px;padding:10px}.bullets{margin:10px 0;padding-left:18px}.danger{border-top:1px solid #36587a;margin-top:10px;padding-top:10px}@media (width<=1024px){.grid{grid-template-columns:1fr}#exhibit-5{grid-column:auto}.leaf-grid{grid-template-columns:repeat(16,minmax(0,1fr));max-height:220px}}@media (width<=600px){.shell{width:100%;padding:12px 10px 32px}h1{font-size:1.6rem}.hero{padding:16px}.leaf-grid{grid-template-columns:repeat(8,minmax(0,1fr));max-height:180px}.leaf{min-height:22px}.row{flex-direction:column}.controls{gap:10px}textarea{min-height:80px}}
