:root{--paper:#f7f6f2;--white:#fff;--ink:#202c32;--muted:#52666b;--teal:#155959;--deep:#103e43;--light:#e7efeb;--line:#d9dfdb;--gold:#dcc48a;--error:#a42d38;--errorbg:#fcf0ee;--xs:.75rem;--sm:.875rem;--base:1rem;--lg:1.25rem;--xl:clamp(1.5rem,1.2rem + 1vw,2rem);--display:clamp(1.8rem,1.25rem + 1.6vw,2.5rem);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--radius:14px;--font-body:"Segoe UI",Arial,sans-serif;--font-display:"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{margin:0;background:var(--paper);font:var(--base)/1.75 var(--font-body);color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.3;text-wrap:balance;margin:0 0 var(--s4)}h1{font-size:var(--display);letter-spacing:-.025em}h2{font-size:var(--xl)}h3,h4{font-size:var(--lg)}p{margin:0 0 var(--s4)}a{color:var(--teal);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,.file-button{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:var(--s2) var(--s3);min-height:44px;font-size:var(--sm);font-weight:600;line-height:1.5}button:hover,.file-button:hover{background:var(--light);border-color:#8cb1a7}button:disabled{opacity:.58;cursor:not-allowed}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:var(--deep);color:#fff}input,textarea,select{width:100%;min-width:0;border:1px solid #aebfba;border-radius:7px;background:var(--white);padding:var(--s2) var(--s3);min-height:44px;font-size:var(--sm)}textarea{resize:vertical;font:var(--xs)/1.75 Consolas,"Courier New",monospace;tab-size:2}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--teal);flex-shrink:0}input[type=range]{padding:0;accent-color:var(--teal)}:focus-visible{outline:3px solid #418779;outline-offset:3px}img{max-width:100%;height:auto;display:block}pre{font:var(--xs)/1.7 Consolas,"Courier New",monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;tab-size:2}code{font:var(--sm)/1.6 Consolas,"Courier New",monospace;overflow-wrap:anywhere}[hidden]{display:none!important}summary{cursor:pointer;min-height:48px;line-height:1.6;padding:var(--s4);font-weight:600}summary:hover{background:#f0f5f2}details{overflow:hidden}label{cursor:pointer}.small{font-size:var(--xs);line-height:1.7;color:var(--muted)}.eyebrow{font-size:var(--xs);letter-spacing:.1em;font-weight:700;color:var(--teal)}.button-row{display:flex;gap:var(--s2);flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:var(--s2);font-size:var(--sm);font-weight:600;margin-bottom:var(--s4);min-width:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.check{display:flex;gap:var(--s3);align-items:center;margin:var(--s3) 0;font-size:var(--sm);min-height:36px}.pill{display:inline-block;background:#f0f3f1;border:1px solid var(--line);border-radius:6px;padding:var(--s1) var(--s2);font:600 var(--xs)/1.5 var(--font-body);color:var(--muted)}.pill.active{background:#e2f0e9;color:#245d44;border-color:#b1d0c1}.pill.bad{color:var(--error);background:var(--errorbg);border-color:#ebc0c1}.error{color:var(--error)}.feedback{font-size:var(--sm);color:var(--muted);padding:var(--s3) 0;margin:0;min-height:48px;overflow-wrap:anywhere}.feedback.error{color:var(--error)}
/* The blog shell follows the established aen-notebook publication design. */
.site-header{border-bottom:1px solid var(--line)}.header-inner{max-width:1248px;margin:auto;padding:var(--s6) var(--s6);display:flex;align-items:center;justify-content:space-between;gap:var(--s6)}.brand{text-decoration:none;color:var(--ink);font-size:var(--base);font-weight:700}.brand small{display:block;font-size:var(--xs);font-weight:400;color:var(--muted)}.header-links{display:flex;gap:var(--s6);font-size:var(--sm)}.header-links a{text-decoration:none;font-weight:600}.site-container{max-width:1248px;margin:auto;padding:var(--s6)}.breadcrumbs{font-size:var(--xs);color:var(--muted);margin:var(--s2) 0 var(--s8)}.article-header{max-width:930px;margin-bottom:var(--s8)}.article-header h1{margin-top:var(--s3)}.lead{font-size:var(--lg);color:var(--muted);line-height:1.75}.article-meta{display:flex;gap:var(--s5);flex-wrap:wrap;font-size:var(--xs);margin-top:var(--s6)}.cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);margin-bottom:var(--s10)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--s10)}.article-column{min-width:0}.article-content h2{margin:var(--s12) 0 var(--s5);scroll-margin-top:28px}.article-content h3{margin:var(--s8) 0 var(--s4)}.article-content ul,.article-content ol{padding-left:var(--s6);margin:var(--s4) 0 var(--s6)}.article-content li{margin-bottom:var(--s2)}.article-content .note{background:var(--light);border-left:3px solid var(--teal);padding:var(--s5);border-radius:0 10px 10px 0;margin:var(--s6) 0}.article-content .note p:last-child{margin:0}.article-content .columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}.article-content table{border-collapse:collapse;width:100%;font-size:var(--sm);margin:var(--s6) 0}.article-content th,.article-content td{text-align:left;border-bottom:1px solid var(--line);padding:var(--s3);vertical-align:top}.article-content th{background:var(--light)}.article-content .code-block{background:var(--deep);color:#e7efeb;border-radius:10px;padding:var(--s5);margin:var(--s6) 0}.aside{position:sticky;top:var(--s6);align-self:start;border:1px solid #cbdcd6;border-radius:var(--radius);background:var(--white);overflow:hidden;font-size:var(--sm)}.aside strong{display:block;padding:var(--s4);border-bottom:1px solid var(--line)}.toc{padding:var(--s2)}.toc a{display:block;text-decoration:none;padding:var(--s3);border-radius:7px;line-height:1.5;font-size:var(--sm)}.toc a:hover,.toc a[aria-current=true]{background:var(--light)}.aside>a{display:block;text-align:center;padding:var(--s4);background:var(--light);font-size:var(--xs)}.mobile-sections{display:none}.sections-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:620px;max-height:80dvh;margin:0 auto;padding:var(--s5);border:1px solid var(--line);border-radius:16px 16px 0 0;background:var(--paper)}.sections-dialog::backdrop{background:#142b3266}.sections-dialog header{display:flex;justify-content:space-between;align-items:center;gap:var(--s4)}.sections-dialog h2{margin:0;font-size:var(--lg)}.site-footer{max-width:1200px;margin:var(--s12) auto 0;border-top:1px solid var(--line);padding:var(--s8) var(--s6) var(--s12);font-size:var(--sm);color:var(--muted)}.skip-link{position:absolute;left:var(--s4);top:-200px;background:var(--white);padding:var(--s3);z-index:10}.skip-link:focus{top:var(--s2)}
/* Isolated lab surface. No external fonts, cookies or analytics. */
.embed-body{background:transparent;min-height:0;margin:0}.lab-root{padding:var(--s1) 0;display:flow-root;min-width:0;max-width:100%}.lab-mast{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);border-bottom:1px solid var(--line);padding:0 0 var(--s5);margin-bottom:var(--s5)}.lab-mast h3{margin:var(--s2) 0 0}.transport{color:#355d54;background:#e7efeb;border:1px solid #cbdcd6;border-radius:6px;max-width:210px;flex-shrink:0;padding:var(--s2) var(--s3);font-size:var(--xs);line-height:1.5}.scenario-heading{display:flex;gap:var(--s4);align-items:baseline;justify-content:space-between;margin-bottom:var(--s3)}.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.presets button{text-align:left;padding:var(--s3);font-size:var(--sm);font-weight:500;line-height:1.4}.presets button span{display:block;font:600 var(--xs)/1.4 Consolas,monospace;color:var(--teal);margin-bottom:var(--s1)}.presets button[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:#fff}.presets button[aria-pressed=true] span{color:#cfe3d9}.scenario-note{background:#edf2ee;padding:var(--s4);border-radius:8px;font-size:var(--sm);line-height:1.7;margin:var(--s4) 0 var(--s5);min-height:75px}.request-bar{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:var(--s2);align-items:end}.request-bar label{min-width:0}.request-bar #cancel{grid-column:3}.request-bar input{font-family:Consolas,monospace}.result-head{display:flex;gap:var(--s4);align-items:center;justify-content:space-between;margin:var(--s3) 0}.result-head h4{font-size:var(--base);margin:var(--s1) 0}.response-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s1)}.preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);min-height:240px;overflow:hidden}.catalog-label{display:flex;justify-content:space-between;padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);font-size:var(--xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.products{padding:var(--s2) var(--s5)}.product{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:var(--s4);align-items:center;padding:var(--s4) 0;border-bottom:1px solid #e8ede9}.product:last-child{border-bottom:0}.product-symbol{display:grid;place-items:center;background:#edf0e7;color:var(--teal);width:44px;height:48px;border-radius:8px;font-size:var(--lg)}.product h4{font-size:var(--sm);margin:0 0 var(--s1);overflow-wrap:anywhere}.product p{font-size:var(--xs);color:var(--muted);margin:0}.product>strong{font-size:var(--sm);white-space:nowrap}.preview>.small{padding:0 var(--s5) var(--s4);margin:0}.empty{min-height:260px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--s6);gap:var(--s2);color:var(--ink)}.empty h4{font-size:var(--lg);margin:0}.empty p{font-size:var(--sm);line-height:1.7;margin:0;color:var(--muted);max-width:55ch}.empty button{margin-top:var(--s3)}.empty.error{background:var(--errorbg);border-left:3px solid var(--error)}.empty.error .state-number,.empty.error h4{color:var(--error)}.state-number{font:bold var(--xl)/1.3 Consolas,monospace;color:var(--teal);margin-bottom:var(--s2)}.account{padding:var(--s6)}.account h4{margin:var(--s3) 0}.account p{font-size:var(--sm)}.avatar{display:grid;place-items:center;background:var(--light);color:var(--teal);height:48px;width:48px;border-radius:50%;font-size:var(--sm);font-weight:700}.feature-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) 0;margin:var(--s3) 0;border-block:1px solid var(--line);font-size:var(--sm)}.echo{padding:var(--s5)}.echo pre{margin-top:var(--s4);max-height:340px;overflow:auto}.rule-editor{margin:var(--s5) 0;border:1px solid var(--line);border-radius:10px;background:var(--white)}.rule-editor summary{display:list-item;list-style-position:inside}.rule-editor summary .pill{float:right;margin-left:var(--s2)}.rule-content{padding:var(--s1) var(--s5) var(--s5)}.rule-content>.small{margin:var(--s3) 0 var(--s4)}.rule-content label.field textarea{font-weight:400}.file-button{position:relative;display:inline-flex;align-items:center;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-button:focus-within{outline:3px solid #418779;outline-offset:3px}.inspector{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.inspector-head{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;padding:var(--s3) var(--s4);font-size:var(--sm)}.inspector-head button{font-size:var(--xs)}.tabs{display:flex;gap:0;border-block:1px solid var(--line);overflow-x:auto}.tabs button{border:0;border-radius:0;border-bottom:2px solid transparent;padding:var(--s3) var(--s4);font-size:var(--xs);white-space:nowrap}.tabs button[aria-selected=true]{border-bottom-color:var(--teal);color:var(--teal);background:#edf2ee}.inspector [role=tabpanel]{background:#15363b;color:#e3f0e9}.inspector pre{padding:var(--s5);max-height:350px;min-height:160px;overflow:auto;font-size:var(--xs)}.pipeline{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);padding:var(--s5) 0;font-size:var(--xs);color:var(--muted)}.pipeline span{display:flex;align-items:center;gap:var(--s2)}.pipeline b{border:1px solid #b6ccc2;color:var(--teal);border-radius:50%;width:24px;height:24px;text-align:center;line-height:22px;font-size:var(--xs)}.journal{border-top:1px solid var(--line);padding:0 0 var(--s4)}.journal summary{padding-left:0}.journal summary>.small{float:right}.journal pre{background:var(--white);padding:var(--s4);max-height:400px;overflow:auto;border:1px solid var(--line);border-radius:8px}.history-row{display:grid;grid-template-columns:75px 40px minmax(0,1fr) 65px;gap:var(--s2);width:100%;text-align:left;border-radius:0;border-width:0 0 1px;font-size:var(--xs);font-weight:400}.history-row code{font-size:var(--xs)}.safety{font-size:var(--xs);color:var(--muted);padding-top:var(--s3);border-top:1px solid var(--line);margin:0;line-height:1.8}.form-lab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5)}.form-lab h4{margin:var(--s2) 0}.form-lab p{font-size:var(--sm)}.form-lab form{margin-top:var(--s4)}.form-lab .primary{width:100%}.form-lab .preview{align-self:stretch}.form-lab .empty{height:100%}.race-controls{display:flex;align-items:center;gap:var(--s4);justify-content:space-between;margin:var(--s4) 0 var(--s5)}.race-controls .check{flex:1;margin:0}.race-controls button{flex-shrink:0}.race-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--s5)}.race-grid h4{margin-top:var(--s3)}.race-events{list-style:none;padding:0;margin:var(--s4) 0}.race-events li{font-size:var(--xs);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.race-grid .product{grid-template-columns:minmax(0,1fr) auto;gap:var(--s2)}.race-grid .product-symbol{display:none}.spinner{width:28px;height:28px;border:3px solid var(--light);border-top-color:var(--teal);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--s3)}@keyframes spin{to{transform:rotate(360deg)}}
.aen-requestly-embed{margin:var(--s6) 0 var(--s8)}.aen-requestly-frame{width:100%;display:block;border:0;background:transparent;height:1280px}.aen-requestly-fallback{font-size:var(--xs);margin-top:var(--s2)}
@media(min-width:1000px){.presets{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.article-layout{grid-template-columns:1fr}.aside{display:none}.mobile-sections{display:block;position:fixed;right:var(--s4);bottom:var(--s4);z-index:20;background:var(--teal);color:#fff;border:1px solid #75a89e;box-shadow:0 4px 16px #123f4333;border-radius:40px;padding:var(--s3) var(--s5)}.site-footer{padding-bottom:96px}}
@media(max-width:600px){.header-inner,.site-container{padding:var(--s5) var(--s4)}.header-links{display:none}.lead{font-size:var(--base)}.breadcrumbs{margin-bottom:var(--s6)}.cover{border-radius:10px}.article-content .columns,.fields,.form-lab,.race-grid{grid-template-columns:1fr}.article-content th,.article-content td{padding:var(--s2);font-size:var(--xs)}.lab-mast{flex-direction:column;gap:var(--s3)}.lab-mast h3{font-size:var(--lg)}.transport{max-width:none}.scenario-heading{flex-direction:column;gap:var(--s1)}.presets{grid-template-columns:repeat(2,minmax(0,1fr))}.presets button{min-height:73px}.request-bar{grid-template-columns:80px minmax(0,1fr)}.request-bar #send{grid-column:1/-1}.request-bar #cancel{grid-column:1/-1}.request-bar input{font-size:var(--xs)}.result-head{align-items:flex-start;flex-wrap:wrap}.response-meta{align-items:flex-start;flex-direction:row;align-items:center;gap:var(--s3)}.product{grid-template-columns:36px minmax(0,1fr);gap:var(--s3)}.product-symbol{width:36px;height:44px}.product>strong{grid-column:2}.products{padding:var(--s2) var(--s4)}.empty{padding:var(--s5);min-height:240px}.rule-editor summary{font-size:var(--sm)}.rule-editor summary .pill{float:none;display:block;margin:var(--s2) 0 0 var(--s4);width:max-content;max-width:100%}.rule-content{padding:var(--s1) var(--s4) var(--s4)}.inspector-head{flex-wrap:wrap}.tabs button{padding:var(--s3)}.inspector pre{padding:var(--s4)}.journal summary>.small{float:none;display:block;font-weight:400}.history-row{grid-template-columns:65px 34px minmax(0,1fr)}.history-row>span:last-child{grid-column:3}.race-controls{align-items:stretch;flex-direction:column}.race-grid .product{grid-template-columns:minmax(0,1fr) auto}.race-grid .product>strong{grid-column:auto}.button-row>*{flex:1 1 auto;text-align:center;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
