:root{color-scheme:light;--ink:#173746;--muted:#506979;--paper:#f5f8fb;--line:#cbd9e1;--teal:#087e8b;--rust:#b7463a;--gold:#9b6d25;--panel:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}
.span-card{margin:18px 0;padding-top:4px}.span-card h4{margin:8px 0}.span-scroll{overflow:auto;background:white;border:1px solid var(--line);border-radius:6px}.span-image,.pattern-card details img.span-image{display:block;width:100%;min-width:1000px;max-width:none;max-height:none;height:auto}.report-switcher{font-size:.9rem;margin:.8rem 0}.report-switcher [aria-current=page]{font-weight:750;text-decoration:none}.table-scroll{overflow:auto}.motif-image{max-height:170px;object-fit:contain}.species-small{max-height:200px;object-fit:contain}.network-links{max-height:330px;overflow:auto}.legend-items{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem}.legend-items span{border-left:4px solid var(--teal);padding-left:8px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}header,main,footer,.tabs,.context-line{max-width:1440px;margin:auto;padding-left:28px;padding-right:28px}header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:28px;padding-bottom:8px}h1{font-size:2.1rem;letter-spacing:-.04em;line-height:1.15;margin:.2rem 0 .55rem}h2{font-size:1.55rem;letter-spacing:-.025em;margin:1.8rem 0 .8rem}h3{font-size:1.1rem;line-height:1.35;margin:.5rem 0 .7rem}p{margin:.65rem 0 1rem}a{color:var(--teal);text-underline-offset:3px}a:hover{color:#09525c}button,select,input{font:inherit}button,select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:.55rem .85rem;min-height:44px}button{cursor:pointer}button:hover{border-color:var(--teal)}button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #bc6e1b;outline-offset:3px}.eyebrow{font-size:.875rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0}.subtitle{color:var(--muted);margin:0;font-size:1rem}.variant-control{display:flex;gap:6px;flex-shrink:0}.context-line{font-size:.9rem;color:var(--muted);padding-top:8px;padding-bottom:18px}.tabs{display:flex;gap:3px;position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);overflow:auto;padding-top:5px}.tabs a{display:block;white-space:nowrap;text-decoration:none;font-size:.9rem;font-weight:650;padding:13px 14px;border-bottom:3px solid transparent;color:var(--muted)}.tabs a[aria-selected=true]{color:var(--teal);border-color:var(--teal);background:#eaf3f5}.tabs a:hover{background:#eaf3f5}.tab-panel{padding-top:8px;padding-bottom:30px}.section-title{font-size:1.75rem;margin-top:1.2rem}.rule-card{background:var(--panel);border:1px solid var(--line);padding:20px 24px;margin:20px 0;border-radius:10px}.equation{font-family:ui-serif,Georgia,serif;font-size:1.35rem;line-height:1.5;padding:12px 16px;background:#edf5f7;border-left:3px solid var(--teal);overflow:auto}.molecular-reaction,.rule{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:16px}.molecular-reaction figure{max-width:500px;width:100%;margin:auto}.arrow{font-size:2rem;text-align:center;color:var(--teal)}figure{margin:10px 0}figure img{display:block;width:100%;max-width:100%;height:auto;background:white}figcaption{font-size:.875rem;color:var(--muted);margin:8px 0;line-height:1.5}.rule img{max-height:700px;object-fit:contain}.reagent-strip{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.reagent-strip figure{width:130px;text-align:center}.reagent-strip figcaption{font-size:1rem;font-weight:600}.notice{background:#eaf3f5;border-left:4px solid var(--teal);padding:16px 20px;margin:20px 0}.small{font-size:.875rem;color:var(--muted)}details{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 16px;margin:16px 0}summary{cursor:pointer;font-weight:650;min-height:26px}details[open]>summary{margin-bottom:18px}details details{background:var(--paper)}.controls{display:flex;align-items:center;flex-wrap:wrap;gap:24px;background:#eaf0f5;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:18px 0}.controls label{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.9rem}.controls input[type=range]{width:160px;accent-color:var(--teal);cursor:pointer}.controls input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}output{font-variant-numeric:tabular-nums;min-width:3ch}.status{color:var(--muted);font-size:.9rem}.molecule-grid,.pattern-grid,.key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.molecule-card,.pattern-card,.key-grid article{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--panel);min-width:0}.molecule-card h3{font-size:1rem}.molecule-card img{min-height:130px}.molecule-card p{font-size:.9rem}.molecule-card:target{outline:3px solid var(--teal);scroll-margin-top:90px}.pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-card h3{font-size:1.15rem}.pattern-card>p{min-height:3em}.pattern-card>figure img{max-height:250px;object-fit:contain}.pattern-card details img{max-height:700px;object-fit:contain}.pattern-card summary{font-size:.9rem}.trace{font-size:1.8rem;font-weight:700;letter-spacing:.015em;color:var(--teal);margin-top:20px}.success{background:#e8f3ed;padding:15px 20px;border-left:4px solid #328255}.secondary-run{margin-top:30px;border-top:3px solid #768d9c}.composition-row{display:grid;grid-template-columns:1fr 40px 1fr;gap:20px;align-items:center}.composition-row article{border:1px solid var(--line);padding:16px;background:#fff;border-radius:8px}.badge{font-size:.875rem;color:var(--muted)}.compact-pattern{max-width:620px;margin:20px auto}.compact-pattern img{max-height:640px;object-fit:contain}table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.95rem;background:white}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}thead{background:#e6eef3}th{font-weight:650}tbody tr:nth-child(even){background:#f5f8fa}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem}code{overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow:auto;background:#163543;color:#f4f9fb;padding:18px;border-radius:7px}.ode-system{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);padding:18px 24px;border-radius:8px;overflow:auto}.ode-line{font-size:1.2rem;padding:8px 0;white-space:nowrap}math{font-size:1.1em}.network{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white;margin-bottom:20px}.network svg{display:block;max-width:none}.plot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.plot-grid figure{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:8px}.plot-grid h3{font-size:.95rem;padding:0 8px}.plot-grid svg{width:100%;height:auto;display:block}.legend{display:flex;gap:24px;font-size:.9rem;margin:12px 0}.legend span:before{content:"";display:inline-block;width:28px;height:0;border-top:3px solid var(--teal);margin-right:8px;vertical-align:middle}.legend .ablated-line:before{border-color:var(--rust);border-top-style:dashed}.key-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fallback-label{border-bottom:2px solid var(--line);padding:12px 0}.enhanced-only{display:none}.js-ready .enhanced-only{display:flex}.js-ready .molecule-grid.enhanced-only,.js-ready .plot-grid.enhanced-only{display:grid}.js-ready .network.enhanced-only,.js-ready p.enhanced-only{display:block}.js-ready .fallback-label{display:none}[hidden]{display:none!important}footer{border-top:1px solid var(--line);padding-top:20px;padding-bottom:30px;color:var(--muted);font-size:.875rem}
@media(max-width:1000px){header{align-items:flex-start;flex-direction:column;gap:16px}.plot-grid,.molecule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.controls{gap:16px}.pattern-grid{grid-template-columns:1fr}}
@media(max-width:640px){header,main,footer,.tabs,.context-line{padding-left:16px;padding-right:16px}h1{font-size:1.8rem}.molecule-grid,.plot-grid,.key-grid{grid-template-columns:1fr}.molecular-reaction,.rule{grid-template-columns:1fr;gap:0}.arrow{transform:rotate(90deg)}.composition-row{grid-template-columns:1fr}.rule-card{padding:14px}.variant-control{flex-wrap:wrap}.controls{align-items:flex-start;flex-direction:column}.controls label{flex-wrap:wrap}.controls input[type=range]{width:135px}table{font-size:.875rem;display:block;overflow:auto}th,td{padding:10px}.ode-system{padding:12px}.ode-line{font-size:1rem}.equation{font-size:1.1rem}.tabs a{padding:12px 10px}.pattern-card{padding:14px}}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0}.metric-grid article{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--panel);min-width:0}.metric-grid b,.metric-grid span{display:block;color:var(--muted);font-size:.82rem}.metric-grid strong{display:block;font-size:1.35rem;margin:.25rem 0}@media(max-width:640px){.metric-grid{grid-template-columns:1fr}}
@media print{body{background:white}.tabs,.controls,.variant-control,.enhanced-only{display:none!important}.tab-panel[hidden],[data-variant][hidden]{display:block!important}.fallback-label{display:block!important}header,main,footer{max-width:none;padding:0}details{break-inside:avoid}details>*{display:block!important}.pattern-card,.molecule-card{break-inside:avoid}.tabs{position:static}a{color:#173746}figure{break-inside:avoid}}
