body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--white:#fff;--soft-white:#ffffffb8;--line:#ffffff57;--black:#111}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:#111;background:var(--black)}body{color:#fff;color:var(--white);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}a{color:inherit}.sr-only{clip:rect(0,0,0,0);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.site{min-height:100%}.gallery{background:#111;background:var(--black)}.site-header{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;left:50%;letter-spacing:.02em;padding:1.25rem clamp(1.25rem,3vw,3rem);position:fixed;right:auto;text-shadow:0 1px 10px #000c;top:50%;transform:translate(-50%,-50%);transition:left .45s ease,right .45s ease,top .45s ease,transform .45s ease,width .45s ease;width:min(92vw,620px);z-index:10}.site-header.is-scrolled{left:50%;right:auto;top:0;transform:translate(-50%);width:100%}.site-header a{text-decoration:none}.site-header>a{font-size:1rem;font-weight:600;transition:font-size .45s ease}.site-header.is-scrolled>a{font-size:.75rem}.site-header nav{display:flex;gap:clamp(1rem,3vw,2.5rem)}.menu-toggle{background:#0000;border:0;color:inherit;cursor:pointer;display:none;font:inherit;padding:0}.menu-icon{grid-gap:4px;display:grid;gap:4px;width:22px}.menu-icon span{background:currentColor;display:block;height:1px;transition:opacity .15s ease,transform .15s ease;width:100%}.menu-icon.is-open span:first-child{transform:translateY(5px) rotate(45deg)}.menu-icon.is-open span:nth-child(2){opacity:0}.menu-icon.is-open span:last-child{transform:translateY(-5px) rotate(-45deg)}.artwork{contain:paint;display:flex;isolation:isolate;min-height:100svh;overflow:hidden;position:relative}.artwork-media{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.artwork-background{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.artwork:before{background:#00000024;content:"";inset:0;position:absolute;z-index:1}#experience:before{background:#0000003d}#work{border-top:4px solid #110f0bfa}.hero{align-items:flex-end}.hero .artwork-background{object-position:center 44%}.hero-profile{bottom:1.25rem;left:clamp(1.25rem,3vw,3rem);position:absolute;text-shadow:0 1px 10px #000000e6;z-index:4}.hero-profile p{color:#ffffffa3;font-size:clamp(.9rem,1.4vw,1.1rem);font-weight:500;margin:0 0 .25rem}.hero-profile span{color:#ffffff80;font-size:.68rem;letter-spacing:.03em}.hero-copy,.slide-copy{padding:clamp(1.5rem,4vw,4rem) clamp(1.5rem,4vw,4rem) clamp(5.5rem,12vh,8rem);text-align:left;text-shadow:0 2px 18px #000000e6;width:100%}.hero-copy h1{font-size:clamp(3rem,8vw,7.5rem);font-weight:500;letter-spacing:-.065em;line-height:.9;margin:0;text-align:left}.hero-copy p{color:#ffffffb8;color:var(--soft-white);font-size:clamp(1rem,2vw,1.4rem);margin:1rem 0 0}.content-slide{align-items:flex-end}.slide-copy{max-width:980px;position:relative;z-index:2}.wide-copy{max-width:1120px}.section-name{color:#ffffffb8;color:var(--soft-white);font-size:.7rem;letter-spacing:.12em;margin:0 0 1rem;text-align:left;text-transform:uppercase}.slide-copy h2{font-size:clamp(2rem,5vw,4.8rem);font-weight:450;letter-spacing:-.05em;line-height:1;margin:0;max-width:900px;text-align:left}.supporting-line{color:#ffffffb8;color:var(--soft-white);font-size:clamp(.78rem,1.3vw,1rem);line-height:1.6;margin:1.5rem 0}.text-link{font-size:.78rem;text-underline-offset:.3em}.about-links{display:flex;flex-wrap:wrap;gap:1.25rem}.line-list{border-top:1px solid #ffffff57;border-top:1px solid var(--line)}#experience .line-list{--timeline-axis:-1.25rem;--timeline-dot-y:calc(1.3rem + 3px);border-top:0;padding-left:2rem;position:relative}.line-item{grid-gap:1rem;align-items:center;border-bottom:1px solid #ffffff57;border-bottom:1px solid var(--line);display:grid;font-size:clamp(.75rem,1.2vw,.95rem);gap:1rem;grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) auto;padding:1rem 0}.line-item strong{font-size:clamp(.95rem,1.6vw,1.25rem);font-weight:500;text-align:left}.experience-item{border-bottom:1px solid #ffffff57;border-bottom:1px solid var(--line)}#experience .current-role,#experience .experience-item{border-bottom:0;position:relative}#experience .current-role:before,#experience .experience-item:before{background:#77776f;border:2px solid #ffffffbf;border-radius:50%;content:"";height:10px;left:var(--timeline-axis);position:absolute;top:var(--timeline-dot-y);transform:translate(-50%,-50%);transition:background .16s ease,transform .16s ease;width:10px;z-index:1}#experience .current-role:not(:last-child):after,#experience .experience-item:not(:last-child):after{background:#ffffff57;background:var(--line);bottom:-1.3rem;content:"";left:var(--timeline-axis);position:absolute;top:var(--timeline-dot-y);transform:translateX(-50%);width:1px;z-index:0}#experience .current-role:before,#experience .experience-item.is-open:before{background:#fff;background:var(--white);transform:translate(-50%,-50%) scale(1.2)}.experience-item .line-item{border-bottom:0}.experience-summary{background:#0000;border:0;color:inherit;cursor:pointer;font-family:inherit;grid-template-columns:minmax(0,1fr) auto;text-align:inherit;width:100%}#experience .current-role,#experience .experience-summary{padding-bottom:1.25rem;padding-top:.8rem}.current-role{grid-template-columns:minmax(0,1fr) auto}.experience-title{grid-gap:.25rem;display:grid;gap:.25rem;text-align:left}#experience .experience-title strong{color:#fff;color:var(--white)}#experience .experience-summary time,#experience .experience-title>span{color:#ffffffd6}.experience-summary time:after{content:"  +"}.experience-item.is-open .experience-summary time:after{content:"  −"}.experience-detail-shell{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows .24s cubic-bezier(.22,1,.36,1),opacity .14s ease}.experience-item.is-open .experience-detail-shell{grid-template-rows:1fr;opacity:1}.experience-detail{color:#ffffffd6;font-size:.78rem;line-height:1.55;max-width:780px;min-height:0;overflow:hidden}.experience-detail-content{padding:0 0 1.75rem;transform:translateY(-.35rem);transition:transform .24s cubic-bezier(.22,1,.36,1)}.experience-item.is-open .experience-detail-content{transform:translateY(0)}.experience-detail-content>p{margin:0 0 .75rem}.experience-detail ul{margin:0;padding-left:1.1rem}.experience-detail li+li{margin-top:.35rem}.experience-detail .experience-stack{color:#fff;color:var(--white);font-size:.66rem;letter-spacing:.08em;margin:1rem 0 0;text-transform:uppercase}.line-item span,.line-item time{color:#ffffffb8;color:var(--soft-white)}@media (max-width:760px){.site-header{width:min(88vw,340px)}.site-header.is-scrolled{align-items:center;width:100%}.menu-toggle{display:block}.site-header nav{grid-gap:0;background:#111111f0;display:grid;gap:0;min-width:9rem;opacity:0;padding:.55rem;pointer-events:none;position:absolute;right:clamp(1.25rem,3vw,3rem);text-align:right;top:calc(100% + .35rem);transform:translateY(-.35rem);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;visibility:hidden}.site-header nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.site-header nav a{padding:.55rem .65rem}}@media (max-width:680px){.site-header nav{gap:0}.site-header.is-scrolled{align-items:center}.hero-copy,.slide-copy{padding-bottom:6.5rem}.hero-profile{bottom:4rem;left:1.5rem}.line-item{align-items:start;grid-template-columns:1fr auto}.current-role time,.experience-summary time{grid-column:2;grid-row:1}.experience-detail{padding-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.art-credit{bottom:1.25rem;position:absolute;right:clamp(1.25rem,3vw,3rem);z-index:4}.art-credit-trigger{background:#0000;border:0;color:#ffffff94;cursor:pointer;font:inherit;font-size:.58rem;letter-spacing:.03em;padding:0;text-align:left;text-shadow:0 1px 8px #000000e6;transition:color .15s ease}.art-credit-trigger:focus-visible,.art-credit-trigger:hover,.art-credit.is-open .art-credit-trigger{color:var(--white)}.art-credit-trigger:focus-visible{outline:1px solid #ffffffbf;outline-offset:.35rem}.luminism-card{background:#0e0e0ce0;bottom:calc(100% + .65rem);color:#ffffffbd;font-size:.72rem;line-height:1.55;opacity:0;padding:.8rem .9rem;pointer-events:none;position:absolute;right:0;text-align:left;text-shadow:none;transform:translateY(.4rem);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;visibility:hidden;width:min(20rem,calc(100vw - 3rem))}.art-credit.is-open .luminism-card,.art-credit:focus-within .luminism-card,.art-credit:hover .luminism-card{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}@media (max-width:680px){.art-credit{bottom:1rem;left:1.5rem;max-width:calc(100% - 3rem);right:auto}.art-credit-trigger{max-width:100%}.luminism-card{left:0;right:auto}}.contact-section{align-items:flex-end;background:var(--black);color:var(--white);display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;min-height:0;padding:2.25rem clamp(1.5rem,4vw,4rem) 1.5rem}.contact-section .section-name{margin-bottom:.5rem}.contact-note{color:var(--soft-white);font-size:.72rem;margin:0 0 .65rem}.contact-email{display:inline-block;font-size:1rem;overflow-wrap:anywhere;text-underline-offset:.25em}.contact-links{display:flex;font-size:.72rem;gap:1.5rem;margin-top:.75rem}.contact-links a{text-underline-offset:.25em}.contact-section>p{color:var(--soft-white);font-size:.62rem;margin:0 0 0 auto;white-space:nowrap}@media (max-width:680px){.contact-section{align-items:flex-start;flex-direction:column;justify-content:flex-end}}.project-item{grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) auto}.project-link{text-decoration:none;transition:padding .15s ease}.project-link:focus-visible,.project-link:hover{padding-left:.65rem}.project-status{white-space:nowrap}@media (max-width:680px){.project-item .project-type{grid-column:1/-1;grid-row:2}.project-item .project-status{grid-column:2;grid-row:1}}.project-page{background:#f1f0eb;color:#151515;display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:space-between;min-height:100svh;padding:clamp(1.5rem,4vw,4rem)}.project-page-back{color:inherit;font-size:.8rem;font-weight:600;text-decoration:none}.project-page-copy{max-width:820px;padding:4rem 0}.project-page-footer,.project-page-label{font-size:.68rem;letter-spacing:.08em}.project-page-label{text-transform:uppercase}.project-page-copy h1{font-size:clamp(3.5rem,9vw,8rem);font-weight:480;letter-spacing:-.04em;line-height:1.02;margin:1rem 0 2.5rem}.project-page-copy>p:not(.project-page-label){font-size:clamp(.95rem,1.5vw,1.2rem);line-height:1.55;margin:0 0 1rem;max-width:720px}.project-page-copy strong{font-weight:650}.project-page-copy a{color:inherit;display:inline-block;font-size:.78rem;text-underline-offset:.25em}.project-page-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.75rem}.project-page-footer{color:#1515159e;margin:0}.forage-page-shell{background:#171714;color:#20201d;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.forage-page{background:#f1f0eb;min-height:100svh;padding:clamp(1.25rem,3vw,3rem)}.forage-nav{align-items:center;display:flex;font-size:.72rem;justify-content:space-between;letter-spacing:.035em}.forage-nav a{font-size:.82rem;font-weight:650;text-decoration:none}.forage-nav span{color:#20201d94}.forage-intro{margin:clamp(6rem,13vw,11rem) 0 clamp(4rem,8vw,7rem);max-width:1080px}.forage-kicker{font-size:.68rem;letter-spacing:.11em;margin:0 0 1rem;text-transform:uppercase}.forage-intro h1{font-size:clamp(3.2rem,8vw,7.8rem);font-weight:470;letter-spacing:-.065em;line-height:.92;margin:0;max-width:1050px}.forage-intro>p:last-child{font-size:clamp(1rem,1.6vw,1.24rem);line-height:1.55;margin:2rem 0 0;max-width:680px}.forage-experiment{border-top:1px solid #20201d3d;padding:0 0 clamp(5rem,10vw,9rem)}.forage-mode-switch{display:grid;grid-template-columns:1fr 1fr;margin-bottom:clamp(2rem,5vw,4rem)}.forage-mode-switch button{align-items:baseline;background:#0000;border:0;border-bottom:1px solid #20201d33;color:#20201d6b;cursor:pointer;display:flex;font:inherit;font-size:clamp(1.1rem,2vw,1.55rem);gap:.75rem;padding:1.2rem 0;text-align:left}.forage-mode-switch button:last-child{padding-left:1rem}.forage-mode-switch button.is-active{border-bottom-color:#20201d;color:#20201d}.forage-mode-switch button span{font-feature-settings:"tnum";font-size:.62rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}.forage-lab{grid-gap:clamp(2rem,5vw,5rem);display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr)}.forage-stage{min-width:0}.forage-training-stage{background:#e8e4da;display:flex;flex-direction:column;min-height:min(720px,70vw)}.forage-training-copy{margin:auto 0;max-width:700px;padding:clamp(2rem,6vw,6rem)}.forage-training-copy h2{font-size:clamp(2.5rem,6vw,6rem);font-weight:470;letter-spacing:-.06em;line-height:.95;margin:0}.forage-training-copy>p:last-child{font-size:clamp(.92rem,1.4vw,1.08rem);line-height:1.6;margin:1.5rem 0 0;max-width:580px}.forage-training-stage .forage-metrics{margin:auto 0 1px}.forage-metrics{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(4,1fr);margin-bottom:1px}.forage-metrics>div{background:#e4e1d8;display:flex;flex-direction:column;min-height:78px;padding:.9rem 1rem}.forage-metrics span{color:#20201d8f;font-size:.64rem;letter-spacing:.04em;margin-bottom:auto;text-transform:uppercase}.forage-metrics strong{font-feature-settings:"tnum";font-size:clamp(1rem,2vw,1.35rem);font-variant-numeric:tabular-nums;font-weight:520}.forage-canvas{aspect-ratio:1;background:#e8e4da;display:block;height:auto;max-height:720px;width:100%}.forage-chart{background:#e4e1d8;margin-top:1px;padding:1rem}.forage-training-stage .forage-chart{margin-top:0}.forage-chart-label{display:flex;font-size:.68rem;justify-content:space-between;letter-spacing:.03em}.forage-chart-label span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.forage-chart svg{display:block;height:92px;margin-top:.7rem;overflow:visible;width:100%}.forage-chart line{stroke:#20201d33;stroke-width:1}.forage-chart .forage-chart-baseline{stroke:#bd6c3bad;stroke-dasharray:4 5}.forage-chart polyline{fill:none;stroke:#20201d;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vector-effect:non-scaling-stroke}.forage-chart-note,.forage-learning-note{color:#20201d8f;font-size:.66rem;line-height:1.45}.forage-chart-note{margin:.45rem 0 0}.forage-learning-note{background:#e4e1d8;border-top:1px solid #20201d1f;margin:0;padding:0 1rem 1rem}.forage-controls{align-self:start;position:-webkit-sticky;position:sticky;top:2rem}.forage-controls-heading{align-items:flex-start;border-bottom:1px solid #20201d3d;display:flex;justify-content:space-between;padding-bottom:1.25rem}.forage-controls-heading p{font-size:.72rem;font-weight:650;margin:0 0 .3rem;text-transform:uppercase}.forage-controls-heading span{color:#20201d8f;display:block;font-size:.7rem;line-height:1.4;max-width:190px}.forage-controls button{background:none;border:0;color:inherit;cursor:pointer;font:inherit;font-size:.72rem;padding:0;text-decoration:underline;text-underline-offset:.25em}.forage-brain-picker{grid-gap:.55rem;border:0;border-bottom:1px solid #20201d29;display:grid;gap:.55rem;margin:0;padding:1rem 0}.forage-brain-picker legend{font-size:.68rem;letter-spacing:.06em;margin-bottom:.35rem;padding:0;text-transform:uppercase}.forage-brain-picker button{grid-gap:.25rem;border:1px solid #20201d2e;display:grid;gap:.25rem;padding:.8rem;text-align:left;text-decoration:none}.forage-brain-picker button.is-active{background:#20201d;border-color:#20201d;color:#f1f0eb}.forage-brain-picker strong{font-size:.78rem;font-weight:600}.forage-brain-picker small,.forage-brain-picker span{color:#20201d94;font-size:.66rem;line-height:1.4}.forage-brain-picker button.is-active small,.forage-brain-picker button.is-active span{color:#f1f0eba3}.forage-control{border-bottom:1px solid #20201d29;display:block;padding:1rem 0}.forage-control>span{display:flex;font-size:.76rem;justify-content:space-between}.forage-control output{font-feature-settings:"tnum";color:#20201d94;font-variant-numeric:tabular-nums}.forage-control input[type=range]{accent-color:#20201d;cursor:pointer;margin:.9rem 0 0;width:100%}.forage-speed{margin-top:1rem}.forage-actions{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.forage-actions .forage-primary-action,.forage-actions button{border:1px solid #20201d8f;padding:.85rem .75rem;text-decoration:none}.forage-run-summary{border-bottom:1px solid #20201d29;padding:1rem 0}.forage-run-summary div{display:flex;font-size:.72rem;justify-content:space-between;padding:.35rem 0}.forage-run-summary span{color:#20201d8f}.forage-run-summary strong{font-weight:520}.forage-run-caption{background:#e4e1d8;color:#20201d9e;font-size:.72rem;line-height:1.5;margin:1px 0 0;padding:1rem}.forage-actions .forage-primary-action{background:#20201d;color:#f1f0eb}.forage-explanation{grid-gap:clamp(2rem,6vw,7rem);border-top:1px solid #20201d3d;display:grid;gap:clamp(2rem,6vw,7rem);grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);padding:clamp(4rem,8vw,8rem) 0}.forage-explanation h2{font-size:clamp(2.2rem,5vw,5rem);font-weight:470;letter-spacing:-.055em;line-height:.98;margin:0}.forage-explanation-copy{align-self:end;max-width:670px}.forage-explanation-copy p{font-size:clamp(.95rem,1.4vw,1.12rem);line-height:1.62;margin:0 0 1.15rem}.forage-footer{border-top:1px solid #20201d3d;color:#20201d9e;display:flex;font-size:.7rem;justify-content:space-between;padding:1.25rem 0 0}@media (max-width:860px){.forage-explanation,.forage-lab{grid-template-columns:1fr}.forage-controls{position:static}}@media (max-width:560px){.forage-nav span{display:none}.forage-intro{margin-top:5rem}.forage-intro h1{font-size:clamp(2.9rem,15vw,4.5rem)}.forage-metrics{grid-template-columns:repeat(2,1fr)}.forage-metrics>div{min-height:68px}.forage-mode-switch button{align-items:flex-start;flex-direction:column;font-size:1rem;gap:.35rem}.forage-training-stage{min-height:560px}.forage-footer{align-items:flex-start;flex-direction:column;gap:.35rem}}@media (prefers-reduced-motion:reduce){.forage-control input[type=range]{scroll-behavior:auto}}.sim-root{--sim-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sim-ink:var(--px-ink,#161b19);--sim-muted:var(--px-muted,#66706b);--sim-line:var(--px-line,#d9ddda);--sim-panel:var(--px-panel,#fbfcf9);--sim-scope:#131915;--sim-scope-line:#ffffff24;--sim-ok:var(--px-green,#2f6f53);--sim-ok-bright:var(--px-green-bright,#79dfaa);--sim-bad:#b44d42;--sim-warn:#b07d2b;--sim-msg:#2e6da4;--sim-timer:#b07d2b;--sim-cmd:#1f7a6d;--sim-accent:var(--px-green,#2f6f53);display:flex;flex-direction:column;gap:14px}.sim-root[data-lab=lab1]{--sim-accent:#2e6da4}.sim-root[data-lab=lab2]{--sim-accent:#1f7a6d}.sim-root[data-lab=lab3]{--sim-accent:var(--px-orange,#dc713f)}.sim-root[data-lab=lab4]{--sim-accent:var(--px-green,#2f6f53)}.sim-root[data-lab=pingpong]{--sim-accent:#8a938d}.sim-head{align-items:flex-end;border-bottom:2px solid var(--sim-ink);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-bottom:12px}.sim-eyebrow{align-items:center;color:var(--sim-muted);display:flex;font-family:var(--sim-mono);font-size:11px;gap:8px;letter-spacing:.12em;margin:0 0 6px;text-transform:uppercase}.sim-eyebrow:before{background:var(--sim-accent);content:"";height:8px;width:22px}.sim-head h2{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 4px}.sim-head p{color:var(--sim-muted);font-size:.86rem;margin:0;max-width:62ch}.sim-head-controls{align-items:flex-end;display:flex;flex-wrap:wrap;font-size:.82rem;gap:8px}.sim-case-controls{align-items:center;color:#5b635f;display:flex;flex-wrap:wrap;font-size:.78rem;gap:8px}.sim-case-controls button,.sim-inspector-actions button,.sim-node-pick button{background:#f8f9f6;border:1px solid #c8ceca;border-radius:6px;color:#46514b;cursor:pointer;font-family:var(--sim-mono);font-size:12px;padding:6px 10px;transition:background .15s ease,border-color .15s ease,color .15s ease}.sim-case-controls button:hover:not(:disabled),.sim-inspector-actions button:hover,.sim-node-pick button:hover{border-color:var(--sim-ink)}.sim-case-controls button:disabled{cursor:default;opacity:.4}.sim-case-controls input,.sim-case-controls select,.sim-control-field input,.sim-control-field select,.sim-trace-filter input,.sim-trace-filter select{background:#fff;border:1px solid #c8ceca;border-radius:6px;color:var(--sim-ink);font-family:var(--sim-mono);font-size:12px;max-width:100%;padding:5px 7px}.sim-hash{color:var(--sim-muted);font-family:var(--sim-mono);font-size:11px;white-space:nowrap}.sim-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}.sim-grid-2{grid-template-columns:1fr 1fr}@media (max-width:900px){.sim-grid,.sim-grid-2{grid-template-columns:1fr}}.sim-panel{background:var(--sim-panel);border:1px solid var(--sim-line);border-radius:8px;min-width:0;padding:12px 14px 14px}.sim-panel>h3{align-items:center;border-bottom:1px solid var(--sim-line);color:var(--sim-muted);display:flex;font-family:var(--sim-mono);font-size:11px;font-weight:500;gap:8px;letter-spacing:.12em;margin:0 0 10px;padding-bottom:8px;text-transform:uppercase}.sim-panel>h3:after{background:var(--sim-line);content:"";flex:1 1;height:1px}.sim-panel h4{color:var(--sim-muted);font-family:var(--sim-mono);font-size:11px;font-weight:500;letter-spacing:.08em;margin:12px 0 6px;text-transform:uppercase}.sim-hint{color:var(--sim-muted);font-size:12.5px;margin:8px 0 0}.sim-panel button,.sim-panel input,.sim-panel select,.sim-panel textarea{font:inherit}.sim-panel button{background:#fff;border:1px solid #c8ceca;border-radius:6px;color:#33403a;cursor:pointer;font-family:var(--sim-mono);font-size:12px;padding:6px 10px;transition:background .15s ease,border-color .15s ease,color .15s ease}.sim-panel button:hover:not(:disabled){border-color:var(--sim-ink)}.sim-panel button:disabled{cursor:default;opacity:.4}.sim-panel button.is-selected,.sim-panel button[aria-pressed=true]{background:#1b2a23;border-color:#1b2a23;color:#fff}.sim-case-controls button:focus-visible,.sim-inspector-actions button:focus-visible,.sim-mode-tabs button:focus-visible,.sim-node-pick button:focus-visible,.sim-panel button:focus-visible,.sim-root .scenario-tabs button:focus-visible,.sim-root .trace-event:focus-visible,.sim-topology [role=button]:focus-visible{outline:2px solid var(--sim-accent);outline-offset:2px}.sim-panel input,.sim-panel select,.sim-panel textarea{background:#fff;border:1px solid #c8ceca;border-radius:6px;font-size:.85rem;max-width:100%;padding:5px 8px}.sim-panel textarea{box-sizing:border-box;font-family:var(--sim-mono);font-size:12.5px;width:100%}.sim-buttons{align-items:center;display:flex;flex-wrap:wrap;font-size:.82rem;gap:7px;margin:8px 0}.sim-check{align-items:center;display:inline-flex;gap:6px}.sim-trace-filter{align-items:center;border-bottom:1px solid #d9ddda;border-bottom:1px solid var(--px-line,#d9ddda);display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px}.sim-trace-filter input[aria-label="Filter events"]{flex:1 1;min-width:90px}.sim-trace-filter .sim-check{color:var(--sim-muted);font-family:var(--sim-mono);font-size:11px}.sim-root .trace-event.is-blocked{opacity:.55}.sim-root .trace-index{align-items:center;display:inline-flex;gap:5px}.sim-root .trace-event.is-current .sim-kind{outline:1px solid #0003}.sim-history{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;max-height:300px;overflow:auto;padding:0}.sim-kind{background:#8a938d;border-radius:2px;flex:0 0 auto;height:9px;width:9px}.sim-kind-message{background:var(--sim-msg)}.sim-kind-timer{background:var(--sim-timer);border-radius:50%}.sim-kind-clientCommand{background:var(--sim-cmd)}.sim-kind-crash,.sim-kind-heal,.sim-kind-partition,.sim-kind-restart{background:var(--sim-bad)}.sim-topology{display:block;height:auto;padding:4px 8px 0;width:100%}.sim-topology .sim-flow-link{cursor:pointer}.sim-topology .sim-flow-link .sim-flow{stroke:var(--sim-accent);stroke-width:1.5;stroke-dasharray:5 4}.sim-topology .sim-flow-link:focus .sim-flow,.sim-topology .sim-flow-link:hover .sim-flow{stroke-width:3}.sim-topology .sim-flow-link.is-dropped .sim-flow{stroke:var(--sim-bad);stroke-dasharray:2 3}.sim-topology .sim-flow-count{fill:var(--sim-ink);font-family:var(--sim-mono);font-size:12px;font-weight:700}.sim-topology .sim-node{cursor:pointer}.sim-topology .sim-node circle{fill:#fff;stroke:var(--sim-ok);stroke-width:1.5}.sim-topology .sim-node.is-down circle{fill:#f6e3df;stroke:var(--sim-bad)}.sim-topology .sim-node.is-selected circle{stroke:var(--sim-ink);stroke-width:3}.sim-topology .sim-node-id{fill:var(--sim-ink);font-family:var(--sim-mono);font-size:12px;font-weight:700}.sim-topology .sim-node-status{fill:var(--sim-muted);font-family:var(--sim-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.sim-legend-hint{color:#8a938e;margin-left:auto}.sim-node-pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem}.sim-node-pick button.is-selected{background:#1b2a23;border-color:#1b2a23;color:#fff}.sim-root .node-state-grid dd{overflow-wrap:anywhere}.sim-inspector-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:1rem}.sim-inspector-actions .sim-check{color:var(--sim-muted);font-family:var(--sim-mono);font-size:11px}.sim-control-field{align-items:center;color:#46514b;display:inline-flex;font-family:var(--sim-mono);font-size:12px;gap:5px}.sim-control-notice{color:var(--sim-ok);font-family:var(--sim-mono);font-size:11px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:1180px){.sim-root .paxos-inspector{grid-template-columns:220px 1fr}.sim-root .sim-inspector-actions{grid-column:1/-1;margin-top:0}}.sim-history button{font-size:12px;overflow-wrap:anywhere;text-align:left;white-space:normal;width:100%}.sim-history .is-head>button{background:var(--sim-ink);border-color:var(--sim-ink);color:#fff;font-weight:700}.sim-history-branch{border-left:2px solid var(--sim-accent);display:flex;flex-direction:column;gap:5px;list-style:none;margin:4px 0 4px 10px;padding:0 0 0 6px}.sim-history-branch.is-flat{border-left:0;margin-left:0;padding-left:0}.sim-violations-list{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}.sim-violations-list>li{align-items:flex-start;border-left:3px solid var(--sim-bad);padding-left:12px}.sim-violations,.sim-violations-list>li{display:flex;flex-direction:column;gap:8px}.sim-violations{list-style:none;margin:0;padding:0}.sim-violations li{background:#fdf1ee;border-left:3px solid var(--sim-bad);border-radius:0 6px 6px 0;display:flex;flex-direction:column;font-size:.85rem;gap:2px;padding:8px 10px}.sim-ok{align-items:center;color:var(--sim-ok);display:flex;gap:8px}.sim-ok:before{background:var(--sim-ok);border-radius:50%;content:"";flex:0 0 auto;height:9px;width:9px}.sim-bad{color:var(--sim-bad);font-weight:600}.sim-mode-tabs{align-items:stretch;background:#17221d;border-top:1px solid #ffffff1f;display:flex;flex-wrap:wrap;justify-content:center;position:-webkit-sticky;position:sticky;top:0;z-index:50}.sim-mode-kicker{align-items:center;color:#79dfaa;color:var(--px-green-bright,#79dfaa);display:inline-flex;font-size:11px;letter-spacing:.14em;padding:10px 6px 10px 18px}.sim-mode-kicker,.sim-mode-tabs button{font-family:DM Mono,ui-monospace,monospace;text-transform:uppercase}.sim-mode-tabs button{background:#0000;border:0;border-left:1px solid #ffffff1f;box-shadow:inset 0 -3px 0 #0000;color:#fff9;cursor:pointer;font-size:12px;letter-spacing:.08em;padding:12px 20px;transition:color .15s ease,box-shadow .15s ease}.sim-mode-tabs button:first-of-type{border-left:0}.sim-mode-tabs button:hover{color:#fff}.sim-mode-tabs button.is-active{box-shadow:inset 0 -3px 0 #dc713f;box-shadow:inset 0 -3px 0 var(--px-orange,#dc713f);color:#fff;font-weight:700}.sim-error{align-items:flex-start;background:#fdf1ee;border:1px solid var(--sim-bad);border-left-width:4px;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px}.sim-error h3,.sim-error p{margin:0}.sim-error button{background:#fff;border:1px solid #c8ceca;border-radius:6px;cursor:pointer;padding:6px 10px}.sim-error button,.sim-loading{font-family:var(--sim-mono);font-size:12px}.sim-loading{color:var(--sim-muted);letter-spacing:.08em;padding:24px 0;text-align:center;text-transform:uppercase}@media (prefers-reduced-motion:reduce){.sim-panel button{transition:none}}.paxos-page{--px-ink:#161b19;--px-muted:#66706b;--px-line:#d9ddda;--px-paper:#f2f3ef;--px-panel:#fbfcf9;--px-green:#2f6f53;--px-green-bright:#79dfaa;--px-orange:#dc713f;background:var(--px-paper);color:var(--px-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.paxos-page *{box-sizing:border-box}.paxos-page a,.paxos-page button{font:inherit}.paxos-hero{background:linear-gradient(hsla(0,0%,100%,.045) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.045) 1px,#0000 0),#17221d;background-size:34px 34px;color:#f4f7f3;overflow:hidden;padding:0 clamp(1.25rem,4vw,4.5rem) 1.75rem;position:relative}.paxos-hero:after{border:1px solid #79dfaa29;border-radius:50%;content:"";height:280px;position:absolute;right:-60px;top:30px;width:280px}.paxos-nav{align-items:center;border-bottom:1px solid #ffffff1f;display:flex;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;justify-content:space-between;letter-spacing:.08em;padding:1.2rem 0;position:relative;text-transform:uppercase;z-index:1}.paxos-nav a{color:inherit;font-weight:500;text-decoration:none}.paxos-nav span{color:#ffffff7a}.paxos-hero-copy{max-width:850px;padding-top:1.75rem;position:relative;z-index:1}.paxos-kicker{align-items:center;color:var(--px-green);display:flex;font-family:DM Mono,monospace;font-size:.68rem;gap:.7rem;letter-spacing:.1em;margin:0 0 1.4rem;text-transform:uppercase}.paxos-kicker span{background:currentColor;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 14%,#0000);height:6px;width:6px}.paxos-hero .paxos-kicker{color:var(--px-green-bright)}.paxos-hero-copy h1{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:500;letter-spacing:-.04em;line-height:1.02;margin:0}.paxos-hero-copy>p:last-child{color:#ffffff9e;font-size:.85rem;line-height:1.6;margin:.75rem 0 0;max-width:590px}.paxos-hero-meta{bottom:1.5rem;display:flex;gap:clamp(2rem,6vw,6rem);position:absolute;right:clamp(1.25rem,4vw,4.5rem);z-index:2}.paxos-hero-meta div{grid-gap:.4rem;display:grid;gap:.4rem}.paxos-hero-meta span,.paxos-hero-meta strong{font-family:DM Mono,monospace;text-transform:uppercase}.paxos-hero-meta span{color:#fff6;font-size:.56rem;letter-spacing:.12em}.paxos-hero-meta strong{font-size:.82rem;font-weight:400}.paxos-main{padding:clamp(3rem,7vw,6.5rem) clamp(1rem,2.5vw,2.5rem)}.lab-selector{margin:0 auto clamp(3rem,6vw,6rem);max-width:1540px}.lab-selector-heading{grid-gap:1rem clamp(2rem,8vw,8rem);display:grid;gap:1rem clamp(2rem,8vw,8rem);grid-template-columns:minmax(300px,1fr) minmax(300px,.75fr);margin-bottom:1rem}.lab-selector-heading .paxos-kicker{grid-column:1/-1;margin-bottom:0}.lab-selector-heading h2{font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:0}.lab-selector-heading>p:last-child{color:#626b66;font-size:.9rem;line-height:1.7;margin:0}.lab-selector-tabs{border-left:1px solid #c8cdc9;border-top:1px solid #c8cdc9;display:grid;grid-template-columns:repeat(4,1fr)}.lab-selector-tabs button{border-bottom:1px solid #c8cdc9;border-right:1px solid #c8cdc9;color:var(--px-ink);cursor:pointer;display:flex;flex-direction:column;min-height:132px;padding:1rem 1.1rem;text-align:left;transition:background .18s ease,color .18s ease,transform .18s ease}.lab-selector-tabs button:hover{background:#e8ebe6}.lab-selector-tabs button.is-active{background:#1b2922;color:#fff}.lab-selector-tabs button>i,.lab-selector-tabs button>span{font-family:DM Mono,monospace;font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}.lab-selector-tabs button>span{color:var(--px-green)}.lab-selector-tabs button.is-active>span{color:var(--px-green-bright)}.lab-selector-tabs strong{font-size:1rem;font-weight:500;margin:1.1rem 0 .35rem}.lab-selector-tabs small{color:#717a74;font-size:.66rem;line-height:1.45}.lab-selector-tabs button.is-active small{color:#ffffff80}.lab-selector-tabs button>i{color:#7c857f;font-style:normal;margin-top:auto;padding-top:1rem}.lab-selector-tabs button.is-active>i{color:var(--px-green-bright)}.lab-analysis{margin:0 auto;max-width:1540px}.lab-analysis-header{grid-gap:clamp(1rem,4vw,2.5rem);background:#17221d;color:#fff;display:grid;gap:clamp(1rem,4vw,2.5rem);grid-template-columns:minmax(300px,1fr) minmax(300px,.8fr);padding:1rem 1.25rem}.lab-analysis-header h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;margin:0}.lab-question{border-top:1px solid #ffffff29;padding-top:1rem}.analysis-section-label,.lab-guarantee>span,.lab-question span{font-family:DM Mono,monospace;font-size:.56rem;letter-spacing:.09em;text-transform:uppercase}.lab-question span{color:var(--px-green-bright)}.lab-question p{color:#ffffffad;font-size:.84rem;line-height:1.65;margin:.6rem 0 1rem}.lab-source-link{border-bottom:1px solid #79dfaa73;color:var(--px-green-bright);display:inline-block;font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.04em;padding-bottom:.25rem;text-decoration:none;text-transform:uppercase}.lab-layer-map{border-left:1px solid #cbd1cd;border-top:1px solid #cbd1cd;display:grid}.lab-layer-map.has-3-layers{grid-template-columns:repeat(3,1fr)}.lab-layer-map.has-4-layers{grid-template-columns:repeat(4,1fr)}.lab-layer-map article{background:#f7f8f5;border-bottom:1px solid #cbd1cd;border-right:1px solid #cbd1cd;padding:.9rem 1rem}.lab-layer-map span{color:var(--px-green);font-family:DM Mono,monospace;font-size:.55rem;letter-spacing:.07em;text-transform:uppercase}.lab-layer-map p{color:#606963;font-size:.7rem;line-height:1.6;margin:.6rem 0 0}.lab-try-sandbox{background:var(--px-ink);border:0;border-radius:999px;color:#fff;cursor:pointer;font-size:.78rem;margin-top:.6rem;padding:.5rem 1rem}.analysis-section-label{align-items:center;border-bottom:1px solid #d6dbd7;color:#747d77;display:flex;justify-content:space-between;padding:.8rem 1rem}.lab-flow-diagram{color:#2f4c3e1c;display:block;max-height:560px;width:100%}.lab-flow-grid{opacity:.75}.lab-flow-base{stroke:#bdc7c0;stroke-dasharray:5 7;stroke-width:1.2}.lab-flow-active line,.lab-flow-loop{fill:none;stroke:var(--px-orange);stroke-dasharray:9 7;stroke-linecap:round;stroke-width:3}.lab-flow-active line{animation:lab-flow-dash .75s linear infinite}.lab-flow-arrow-head{fill:var(--px-orange)}.lab-flow-packet{fill:#f7b27f;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 6px rgba(220,113,63,.8))}.lab-flow-active.is-dropped line{stroke:#b95549}.lab-flow-active.is-dropped .lab-flow-packet{fill:#c25d4f}.lab-flow-drop-marker circle{fill:#fff4f1;stroke:#b95549;stroke-width:2}.lab-flow-drop-marker path{fill:none;stroke:#b95549;stroke-linecap:round;stroke-width:2}.lab-flow-node rect{fill:#fff;stroke:#aeb9b2;stroke-width:1.2;transition:fill .18s ease,stroke .18s ease}.lab-flow-node.is-sender rect{fill:#fff8f0;stroke:var(--px-orange);stroke-width:2.5;filter:drop-shadow(0 5px 11px rgba(156,84,42,.16))}.lab-flow-node.is-recipient rect{fill:#eff8f1;stroke:var(--px-green);stroke-width:2.5;filter:drop-shadow(0 5px 11px rgba(47,111,83,.15))}.lab-flow-node.is-dropped-target rect{fill:#fff4f1;stroke:#b95549;stroke-dasharray:5 4;stroke-width:2.5}.lab-flow-node text{pointer-events:none}.lab-flow-node-detail,.lab-flow-node-index{fill:#77817b;font-family:DM Mono,monospace}.lab-flow-node-index{fill:var(--px-green);font-size:9px;letter-spacing:.08em}.lab-flow-node-name{fill:var(--px-ink);font-size:14px;font-weight:600}.lab-flow-node-detail{font-size:9px}.lab1-server-boundary{fill:#e8ede8d1;stroke:#89988f;stroke-dasharray:7 7;stroke-width:1.4}.lab1-amo-label,.lab1-boundary-label,.lab1-boundary-meta,.lab1-guarantee text,.lab1-node-copy,.lab1-node-kicker,.lab1-route-label{font-family:DM Mono,monospace}.lab1-amo-label,.lab1-boundary-label{fill:#35674f;font-size:10px;font-weight:600;letter-spacing:.09em}.lab1-boundary-meta,.lab1-route-label{fill:#7d8982;font-size:8px}.lab1-route-label{stroke:#f8f9f6;stroke-width:5px;text-anchor:middle;paint-order:stroke}.lab1-amo-boundary{fill:#dfefe4c7;stroke:#7ba58e;stroke-width:1.2;transition:fill .16s ease,stroke .16s ease}.lab1-amo-boundary.is-active{fill:#e8f5eb;stroke:var(--px-green);stroke-width:2}.lab1-node rect{fill:#fff;stroke:#aeb9b2;stroke-width:1.2;filter:drop-shadow(0 5px 12px rgba(32,50,40,.09))}.lab1-node.is-sender rect{fill:#fff8f0;stroke:var(--px-orange);stroke-width:2.5}.lab1-node.is-recipient rect{fill:#f0f8f2;stroke:var(--px-green);stroke-width:2.5}.lab1-node.is-dropped-target rect{fill:#fff4f1;stroke:#b95549;stroke-dasharray:5 4;stroke-width:2.5}.lab1-node-kicker{fill:var(--px-green);font-size:8px;letter-spacing:.09em}.lab1-node-title{fill:var(--px-ink);font-size:16px;font-weight:650}.lab1-node-title.is-small{font-size:12px}.lab1-node-copy{fill:#6b756f;font-size:8px}.lab1-guarantee circle{fill:var(--px-green)}.lab1-guarantee text{fill:#69756e;font-size:9px}@keyframes lab-flow-dash{to{stroke-dashoffset:-32}}.lab-analysis-grid{display:grid;grid-template-columns:1fr 1fr}.lab-analysis-grid>section{border-bottom:1px solid #cbd1cd;border-left:1px solid #cbd1cd;min-width:0}.lab-analysis-grid>section:last-child{border-right:1px solid #cbd1cd}.lab-failure-list,.lab-state-list{margin:0;padding:1rem}.lab-failure-list div+div,.lab-state-list div+div{border-top:1px solid #d9ddda}.lab-failure-list dt,.lab-state-list dt{font-size:.72rem;font-weight:600}.lab-failure-list dd,.lab-state-list dd{color:#6b746e;font-size:.66rem;line-height:1.55;margin:.3rem 0 0}.lab-failure-list div,.lab-state-list div{padding:.9rem 0}.lab-failure-list dd,.lab-state-list dd{margin-left:0}.lab-guarantee{grid-gap:1rem;background:#e3e8e3;border:1px solid #c5cbc6;border-top:0;display:grid;gap:1rem;padding:clamp(1.5rem,4vw,3rem)}.lab-guarantee>span{color:var(--px-green)}.lab-guarantee>strong{font-size:1.1rem;font-weight:500;letter-spacing:-.035em;line-height:1.25;max-width:900px}.lab-guarantee>div{display:flex;flex-wrap:wrap;gap:.4rem}.lab-guarantee code{background:#ffffffb3;border:1px solid #c9cfca;border-radius:3px;color:#3a614d;font-size:.58rem;padding:.35rem .45rem}.lab-three-intro{grid-gap:1.25rem clamp(1.5rem,4vw,3rem);background:#17221d;color:#fff;display:grid;gap:1.25rem clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(330px,1.15fr) minmax(300px,.85fr);margin:0 auto 1rem;max-width:1540px;padding:1rem 1.25rem}.lab-three-intro h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;margin:0}.lab-three-question{border-top:1px solid #ffffff29;padding-top:1rem}.lab-three-guarantee span,.lab-three-question span{color:var(--px-green-bright)}.lab-three-question p{color:#ffffffa8;font-size:.82rem;line-height:1.65;margin:.6rem 0 1rem}.lab-three-guarantee{grid-gap:.7rem;border-top:1px solid #ffffff29;display:grid;gap:.7rem;grid-column:1/-1;padding-top:1.2rem}.lab-three-guarantee strong{font-size:1.05rem;font-weight:450;line-height:1.4;max-width:1050px}.debugger-shell{background:var(--px-panel);border:1px solid #cbd1cd;border-radius:12px;box-shadow:0 24px 80px #1a272021;margin:0 auto;max-width:1540px;overflow:hidden}.debugger-titlebar{align-items:center;background:#e5e8e4;border-bottom:1px solid #c7ccc8;color:#5e6762;display:grid;font-family:DM Mono,monospace;font-size:.63rem;grid-template-columns:1fr auto 1fr;letter-spacing:.04em;min-height:40px;padding:0 1rem;text-align:center}.window-dots{display:flex;gap:6px}.window-dots i{background:#b3bbb6;border-radius:50%;display:block;height:9px;width:9px}.window-dots i:first-child{background:#db7e5a}.window-dots i:nth-child(2){background:#d4ae5b}.window-dots i:last-child{background:#68a87d}.debugger-mode{color:#78817c;font-size:.55rem;justify-self:end;letter-spacing:.1em}.paxos-orientation{background:#1b2922;color:#ffffffb8;display:grid;grid-template-columns:repeat(3,1fr)}.paxos-orientation>div{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:28px 1fr;padding:.85rem 1rem}.paxos-orientation>div+div{border-left:1px solid #ffffff1f}.orientation-number{color:var(--px-green-bright);font-family:DM Mono,monospace;font-size:.58rem}.paxos-orientation p{font-size:.68rem;line-height:1.4;margin:0}.paxos-orientation strong{color:#fff;font-weight:500}.scenario-toolbar{align-items:flex-end;background:#f7f8f5;border-bottom:1px solid var(--px-line);display:flex;gap:2rem;justify-content:space-between;padding:1.1rem 1.25rem}.scenario-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.scenario-tabs button{background:#0000;border:1px solid var(--px-line);border-radius:6px;color:#5b635f;cursor:pointer;font-size:.72rem;min-width:122px;padding:.65rem .8rem;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease}.scenario-tabs button span{color:#929994;display:block;font-family:DM Mono,monospace;font-size:.48rem;letter-spacing:.08em;margin-bottom:.2rem;text-transform:uppercase}.scenario-tabs button.is-active,.scenario-tabs button:hover{background:#1b2a23;border-color:#1b2a23;color:#fff}.scenario-tabs button.is-active span{color:var(--px-green-bright)}.scenario-toolbar>p{color:var(--px-muted);font-size:.7rem;line-height:1.55;margin:0;max-width:400px}.debugger-grid{display:grid;grid-template-columns:245px minmax(520px,1fr) 315px;min-height:610px}.panel-label{align-items:center;border-bottom:1px solid var(--px-line);color:#707873;display:flex;font-family:DM Mono,monospace;font-size:.56rem;justify-content:space-between;letter-spacing:.08em;min-height:39px;padding:0 .9rem;text-transform:uppercase}.trace-rail{background:#f1f3ef;border-right:1px solid var(--px-line);min-width:0}.trace-list{max-height:570px;overflow-y:auto;padding:.55rem}.trace-event{grid-gap:.65rem;align-items:center;background:#0000;border:0;border-radius:5px;color:#9aa09c;cursor:pointer;display:grid;gap:.65rem;grid-template-columns:20px minmax(0,1fr) 12px;padding:.65rem .55rem;text-align:left;width:100%}.trace-event+.trace-event{border-top:1px solid rgba(0,0,0,.045)}.trace-event.is-past{color:#68716c}.trace-event.is-current{background:#fff;box-shadow:0 2px 12px #1f2c2514;color:var(--px-ink)}.trace-arrow,.trace-index{font-family:DM Mono,monospace;font-size:.55rem}.trace-event.is-current .trace-arrow,.trace-event.is-current .trace-index{color:var(--px-green)}.trace-copy{display:grid;min-width:0}.trace-copy strong{font-family:DM Mono,monospace;font-size:.62rem;font-weight:500}.trace-copy small,.trace-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-copy small{font-size:.56rem;margin-top:.2rem}.network-panel{background:#f8f9f6;min-width:0}.active-message-strip{align-items:center;background:#fffaf3;border-bottom:1px solid #eadbc9;color:#7c5a43;display:flex;font-family:DM Mono,monospace;font-size:.55rem;gap:.6rem;min-height:34px;overflow:hidden;padding:.45rem .9rem;white-space:nowrap}.active-message-strip strong{color:#392d25;font-weight:500}.active-message-strip>span:last-child{overflow:hidden;text-overflow:ellipsis}.active-message-dot{animation:message-dot-pulse 1.1s ease-in-out infinite;background:var(--px-orange);border-radius:50%;box-shadow:0 0 0 0 #dc713f59;flex:0 0 auto;height:6px;width:6px}.online-dot{background:#5ca477;border-radius:50%;display:inline-block;height:5px;margin-right:.35rem;width:5px}.paxos-network{color:#2f4c3e1c;display:block;height:auto;max-height:700px;width:100%}.network-grid{opacity:.7}.membership-ring{fill:rgba(47,111,83,.018);stroke:#2f6f534d;stroke-dasharray:5 7;stroke-width:1}.membership-label{fill:#89928c;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.network-link{stroke:#cbd1cd;stroke-width:1}.network-link.is-client-link{stroke-dasharray:4 7;stroke-width:.7}.client-node rect{fill:#edf0ec;stroke:#bdc5c0}.client-node circle{fill:var(--px-green)}.client-node text{fill:#303934;font-family:DM Mono,monospace;font-size:9px}.client-node .client-sequence{fill:#8b938e;font-size:7px}.paxos-node{cursor:pointer;outline:none}.paxos-node>rect{fill:#fff;stroke:#bcc5bf;stroke-width:1;transition:fill .15s ease,stroke .15s ease}.paxos-node.is-selected>rect,.paxos-node:hover>rect{stroke:var(--px-green);stroke-width:2}.paxos-node.is-sender>rect{stroke:var(--px-orange);stroke-width:2;filter:drop-shadow(0 0 7px rgba(220,113,63,.34))}.paxos-node.is-recipient>rect{stroke:var(--px-green);stroke-width:2;filter:drop-shadow(0 0 7px rgba(47,111,83,.28))}.paxos-node.is-dropped-recipient>rect{stroke:#b95c4d;stroke-dasharray:5 3;stroke-width:2;filter:drop-shadow(0 0 7px rgba(185,76,62,.28))}.paxos-node.has-change>rect{animation:node-state-change .9s ease-out}.paxos-node.is-leader>rect{fill:#edf8f0;stroke:#4d946b}.paxos-node.is-offline{opacity:.46}.paxos-node.is-not-member>rect{fill:#f5efea;stroke:#c88668;stroke-dasharray:5 4}.paxos-node.is-isolated>rect{fill:#fff8ea;stroke:#d6a552}.node-health{fill:#60a778}.paxos-node.is-offline .node-health{fill:#bf644a}.paxos-node.is-isolated .node-health,.paxos-node.is-joining .node-health{fill:#d89a3f}.paxos-node.is-rejected .node-health{fill:#b95c4d}.node-log-label,.node-meta,.node-name,.node-role{font-family:DM Mono,monospace}.node-name{fill:#24302a;font-size:10px;font-weight:500}.node-role{fill:#77817b;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.paxos-node.is-leader .node-role{fill:var(--px-green)}.node-meta{fill:#6b756f;font-size:7.5px}.node-log-label{fill:#858e89;font-size:6.5px}.mini-slot{fill:#e7eae7}.mini-slot.is-accepted{fill:#e6a16e}.mini-slot.is-chosen{fill:#54a373}.mini-slot.is-cleared{fill:#aeb5b0;opacity:.45}.mini-slot.has-change{animation:slot-state-change .9s ease-out}.paxos-message line{stroke:var(--px-orange);stroke-dasharray:4 5;stroke-width:1.7;animation:message-march .65s linear infinite}.message-arrow-head{fill:var(--px-orange)}.paxos-message circle{fill:var(--px-orange);filter:drop-shadow(0 0 4px rgba(220,113,63,.55))}.paxos-message.is-dropped line{stroke:#b44d42;stroke-dasharray:3 6}.paxos-message.is-dropped circle{fill:#b44d42}.drop-marker circle{fill:#fff4ef;stroke:#b44d42;stroke-width:1.5}.drop-marker path{fill:none;stroke:#b44d42;stroke-linecap:round;stroke-width:2}.timer-pulse{fill:none;stroke:var(--px-orange);stroke-width:2}@keyframes message-march{to{stroke-dashoffset:-18}}@keyframes message-dot-pulse{50%{box-shadow:0 0 0 6px #dc713f00}}@keyframes node-state-change{0%{filter:drop-shadow(0 0 0 rgba(121,223,170,0))}35%{filter:drop-shadow(0 0 14px rgba(70,176,116,.7))}to{filter:drop-shadow(0 0 0 rgba(121,223,170,0))}}@keyframes slot-state-change{0%,to{opacity:1}40%{opacity:.25}}.network-legend{align-items:center;border-top:1px solid var(--px-line);color:#747d77;display:flex;flex-wrap:wrap;font-family:DM Mono,monospace;font-size:.5rem;gap:1rem;min-height:34px;padding:.45rem 1rem;text-transform:uppercase}.network-legend span{align-items:center;display:flex;gap:.35rem}.legend-swatch{background:#e7eae7;border-radius:2px;display:inline-block;height:7px;width:14px}.legend-swatch.is-accepted{background:#e6a16e}.legend-swatch.is-chosen{background:#54a373}.legend-swatch.is-cleared{background:#aeb5b0;opacity:.55}.legend-line{border-top:2px dashed var(--px-orange);display:inline-block;width:18px}.event-readout{grid-gap:1rem;align-items:flex-start;border-top:1px solid var(--px-line);display:grid;gap:1rem;grid-template-columns:66px minmax(0,1fr) 100px;min-height:162px;padding:1rem 1.2rem}.event-type{background:#e8f1eb;border:1px solid #c2d8c8;border-radius:4px;color:var(--px-green);padding:.42rem;text-align:center}.event-readout span,.event-type{font-family:DM Mono,monospace;font-size:.55rem;letter-spacing:.08em}.event-readout span{color:#8a928d;text-transform:uppercase}.event-readout h2{font-size:1rem;font-weight:600;letter-spacing:-.02em;line-height:1.35;margin:.3rem 0 .4rem}.event-readout code{color:#392d25;display:block;font-family:DM Mono,monospace;font-size:.62rem;margin-bottom:.4rem}.event-readout p{color:var(--px-muted);font-size:.72rem;line-height:1.5;margin:0}.quorum-readout{grid-gap:.55rem;border-left:1px solid var(--px-line);display:grid;gap:.55rem;padding-left:.9rem}.quorum-readout span{line-height:1.45}.quorum-readout strong{align-self:start;color:var(--px-green);font-family:DM Mono,monospace;font-size:1.05rem;font-weight:500}.paxos-inspector{background:#f1f3ef;border-left:1px solid var(--px-line);padding:1rem}.inspector-heading{align-items:center;border-bottom:1px solid var(--px-line);display:flex;justify-content:space-between;padding:0 0 1rem}.inspector-heading span,.log-heading{color:#858d88;font-family:DM Mono,monospace;font-size:.55rem;letter-spacing:.07em;text-transform:uppercase}.inspector-heading h2{font-size:1.05rem;font-weight:500;margin:.25rem 0 0}.role-pill{border:1px solid #c8ceca;border-radius:100px;color:#66706a!important;padding:.35rem .55rem}.role-pill.is-leader{background:#deefe3;border-color:#b5d2bd;color:var(--px-green)!important}.role-pill.is-offline{background:#f1dfda;color:#984f3c!important}.node-state-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;margin:1rem 0 1.6rem}.node-state-grid div{border-bottom:1px solid var(--px-line);padding:.65rem 0}.node-state-grid div:nth-child(odd){border-right:1px solid var(--px-line);padding-right:.7rem}.node-state-grid div:nth-child(2n){padding-left:.7rem}.node-state-grid dt{color:#929994;font-size:.55rem;margin-bottom:.28rem}.node-state-grid dd{font-family:DM Mono,monospace;font-size:.65rem;margin:0}.log-heading{display:flex;justify-content:space-between;margin-bottom:.55rem}.log-table{background:#fafbf8;border:1px solid var(--px-line);border-radius:5px;overflow:hidden}.log-row{grid-gap:.45rem;align-items:center;border-top:1px solid #e4e7e4;display:grid;font-family:DM Mono,monospace;font-size:.57rem;gap:.45rem;grid-template-columns:32px 66px minmax(0,1fr);min-height:44px;padding:.45rem .55rem}.log-table-head{background:#ecefeb;border-top:0;color:#828a85;font-size:.49rem;letter-spacing:.06em;min-height:30px;text-transform:uppercase}.slot-number{color:#a1a7a3}.slot-status{border-radius:3px;color:#929995;display:inline-block;font-size:.48rem;padding:.26rem .3rem}.slot-status.is-accepted{background:#fae8da;color:#a95129}.slot-status.is-chosen{background:#ddefe2;color:#2f7650}.slot-status.is-cleared{background:#e4e7e4;color:#767e79;text-decoration:line-through}.slot-command{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debugger-controls{align-items:center;background:#e8ebe7;border-top:1px solid #cbd0cc;display:flex;gap:.45rem;min-height:58px;padding:.65rem .8rem}.step-details{background:#151d19;border-top:1px solid #2b3731;color:#fff;display:grid;grid-template-columns:.85fr 1.2fr 1.15fr}.step-detail-card{min-width:0;padding:1.35rem}.step-detail-card+.step-detail-card{border-left:1px solid #ffffff1c}.detail-kicker{color:var(--px-green-bright);display:block;font-family:DM Mono,monospace;font-size:.52rem;letter-spacing:.1em;margin-bottom:.9rem;text-transform:uppercase}.step-detail-card h3{font-size:.86rem;font-weight:500;line-height:1.45;margin:0 0 .8rem}.step-detail-card p{color:#ffffff94;font-size:.68rem;line-height:1.65;margin:0 0 1rem}.message-route{grid-gap:.45rem;align-items:center;color:var(--px-green-bright);display:grid;gap:.45rem;grid-template-columns:minmax(0,auto) 16px minmax(0,1fr);margin-bottom:.9rem}.message-route code{color:#fff;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-envelope dl{border-top:1px solid #ffffff1a;margin:0}.message-envelope dl div{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:92px 1fr;padding:.42rem 0}.message-envelope dd,.message-envelope dt{font-family:DM Mono,monospace;font-size:.56rem;margin:0}.message-envelope dt{color:#ffffff61}.message-envelope dd{color:#ffffffc7;overflow-wrap:anywhere}.step-detail-card ul{grid-gap:.5rem;display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.step-detail-card li{color:#ffffffb3;font-family:DM Mono,monospace;font-size:.58rem;line-height:1.45;padding-left:1rem;position:relative}.step-detail-card li:before{color:var(--px-green-bright);content:"+";left:0;position:absolute}.handler-name{background:#ffffff12;border:1px solid #ffffff1a;border-radius:4px;color:var(--px-green-bright);display:inline-block;font-size:.58rem;padding:.45rem .55rem}.debugger-controls button{background:#f8f9f6;border:1px solid #c8ceca;border-radius:5px;color:#46514b;cursor:pointer;font-family:DM Mono,monospace;font-size:.6rem;min-height:34px;padding:0 .75rem}.debugger-controls button:disabled{cursor:not-allowed;opacity:.35}.debugger-controls .play-button{background:#1e3027;border-color:#1e3027;min-width:112px}.play-button span{color:var(--px-green-bright);margin-left:.4rem}.step-progress{background:#d0d5d1;border-radius:10px;flex:1 1;height:3px;margin:0 .6rem;overflow:hidden}.step-progress span{background:var(--px-green);display:block;height:100%;transition:width .25s ease}.keyboard-hint{color:#848c87;font-family:DM Mono,monospace;font-size:.51rem}.paxos-glossary{margin:0 auto;max-width:1540px;padding:2.5rem clamp(1rem,4vw,4rem)}.paxos-glossary-heading{margin-bottom:1.1rem;max-width:760px}.paxos-glossary h2{font-size:1.4rem;font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0}.paxos-glossary dl{border-left:1px solid #cdd2ce;border-top:1px solid #cdd2ce;display:grid;grid-template-columns:repeat(4,1fr);margin:0}.paxos-glossary dl div{grid-gap:.5rem;align-content:start;background:#f7f8f5;border-bottom:1px solid #cdd2ce;border-right:1px solid #cdd2ce;display:grid;gap:.5rem;padding:.9rem 1rem}.paxos-glossary dt{color:var(--px-green);font-family:DM Mono,monospace;font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.paxos-glossary dd{color:#626b66;font-size:.74rem;line-height:1.6;margin:0}.principles-heading h2{font-size:1.4rem;font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0}.paxos-principles{background:#17221d;color:#fff;margin:0 auto;max-width:1540px;padding:clamp(1.5rem,3vw,2.5rem)}.implementation-map{margin:0 auto;max-width:1540px;padding:2.5rem clamp(1rem,4vw,4rem)}.implementation-map-heading{max-width:760px}.implementation-map-heading h2{font-size:1.4rem;font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0}.implementation-map-grid{border-left:1px solid #cdd2ce;border-top:1px solid #cdd2ce;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3rem,6vw,6rem)}.implementation-map-grid article{border-bottom:1px solid #cdd2ce;border-right:1px solid #cdd2ce;min-height:220px;padding:1.5rem}.implementation-map-grid code{background:#e3e8e3;border-radius:3px;color:#3a614d;display:inline-block;font-size:.58rem;margin:0 .3rem .3rem 0;padding:.32rem .42rem}.implementation-map-grid h3{font-size:1rem;font-weight:500;margin:2rem 0 .7rem}.implementation-map-grid p{color:#68716c;font-size:.76rem;line-height:1.65;margin:0}.principles-heading p{color:var(--px-green-bright);font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.09em;margin:0 0 1.5rem;text-transform:uppercase}.principle-list{border-top:1px solid #ffffff26;display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.5rem}.principle-list article{padding:1.5rem 2rem 0 0}.principle-list article+article{border-left:1px solid #ffffff26;padding-left:2rem}.principle-list span{color:var(--px-green-bright);font-family:DM Mono,monospace;font-size:.6rem}.principle-list h3{font-size:1rem;font-weight:500;margin:1rem 0 .6rem}.principle-list p{color:#ffffff8a;font-size:.76rem;line-height:1.65;margin:0;max-width:290px}.paxos-footer{align-items:center;background:var(--px-paper);color:#68716c;display:flex;font-family:DM Mono,monospace;font-size:.62rem;justify-content:space-between;padding:2rem clamp(1.25rem,4vw,4rem)}.paxos-footer a{color:var(--px-ink);text-underline-offset:.25em}.paxos-footer>div{display:flex;gap:1.2rem}@media (max-width:1180px){.paxos-hero-meta{bottom:2.5rem}.debugger-grid{grid-template-columns:210px minmax(480px,1fr)}.paxos-inspector{grid-gap:1rem;border-left:0;border-top:1px solid var(--px-line);display:grid;gap:1rem;grid-column:1/-1;grid-template-columns:220px 1fr 1.4fr}.inspector-heading{border-bottom:0}.node-state-grid{margin:0}.log-heading{display:none}.step-details{grid-template-columns:1fr 1fr}.step-detail-card:last-child{border-left:0;border-top:1px solid #ffffff1c;grid-column:1/-1}}@media (max-width:820px){.paxos-hero-meta{left:1.25rem;right:auto}.scenario-toolbar{align-items:stretch;flex-direction:column}.lab-analysis-grid,.lab-analysis-header,.lab-selector-heading,.lab-three-intro{grid-template-columns:1fr}.lab-layer-map.has-3-layers,.lab-layer-map.has-4-layers{grid-template-columns:1fr 1fr}.lab-three-guarantee{grid-column:auto}.lab-selector-tabs{grid-template-columns:1fr 1fr}.lab-analysis-grid>section{border-right:1px solid #cbd1cd}.paxos-orientation{grid-template-columns:1fr}.paxos-orientation>div+div{border-left:0;border-top:1px solid #ffffff1f}.scenario-tabs{overflow-x:auto}.scenario-tabs button{flex:0 0 135px}.debugger-grid{display:flex;flex-direction:column}.trace-rail{border-bottom:1px solid var(--px-line);border-right:0}.trace-list{display:flex;max-height:none;overflow-x:auto;padding:.45rem}.trace-event{flex:0 0 190px}.network-panel{overflow:hidden}.paxos-network{min-width:900px;transform:translateX(calc(50vw - 450px))}.paxos-inspector{display:block}.inspector-heading{border-bottom:1px solid var(--px-line)}.node-state-grid{margin:1rem 0 1.6rem}.log-heading{display:flex}.paxos-glossary dl{grid-template-columns:repeat(2,1fr)}.implementation-map-grid,.step-details{grid-template-columns:1fr}.step-detail-card+.step-detail-card{border-left:0;border-top:1px solid #ffffff1c}.step-detail-card:last-child{grid-column:auto}.implementation-map-grid article{min-height:0}.explanation-copy>p{margin-top:0}.principle-list{grid-template-columns:1fr}.principle-list article,.principle-list article+article{border-bottom:1px solid #ffffff26;border-left:0;padding:1.5rem 0}}@media (max-width:560px){.paxos-hero-copy h1{font-size:1.6rem}.paxos-hero-meta{gap:1.4rem}.paxos-main{padding-left:.5rem;padding-right:.5rem}.paxos-glossary dl{grid-template-columns:1fr}.debugger-titlebar{grid-template-columns:1fr auto}.debugger-titlebar>span:nth-child(2){display:none}.event-readout{grid-template-columns:1fr}.quorum-readout{border-left:0;border-top:1px solid var(--px-line);grid-template-columns:1fr auto;padding:.75rem 0 0}.event-type{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.debugger-controls button span,.keyboard-hint{display:none}.paxos-principles{padding:3rem 1.5rem}.paxos-footer{align-items:flex-start;flex-direction:column;gap:1rem}.lab-layer-map.has-3-layers,.lab-layer-map.has-4-layers,.lab-selector-tabs{grid-template-columns:1fr}.lab-layer-map article{min-height:0}.lab-flow-diagram{min-width:720px}.paxos-footer>div{align-items:flex-start;flex-direction:column;gap:.7rem}}@media (prefers-reduced-motion:reduce){.lab-flow-active animate,.paxos-message animate{display:none}.step-progress span{transition:none}.active-message-dot,.lab-flow-active line,.mini-slot.has-change,.paxos-message line,.paxos-node.has-change>rect{animation:none}}.paxos-page{--ds-bg:#f4f5f1;--ds-surface:#fff;--ds-surface-muted:#ecefea;--ds-ink:#222824;--ds-muted:#68706b;--ds-line:#d6dbd6;--ds-accent:#476555;--ds-accent-strong:#304b3d;--ds-accent-soft:#e4ece6;--ds-danger:#a65148;--ds-danger-soft:#f3e6e3;--px-ink:var(--ds-ink);--px-muted:var(--ds-muted);--px-line:var(--ds-line);--px-paper:var(--ds-bg);--px-panel:var(--ds-surface);--px-green:var(--ds-accent);--px-green-bright:#91b09e;--px-orange:var(--ds-accent);background:var(--ds-bg)}.paxos-hero{background:var(--ds-ink);min-height:500px}.paxos-hero:after{display:none}.active-message-dot,.paxos-kicker span{box-shadow:none}.lab-selector-tabs{background:var(--ds-line);border-color:var(--ds-line);gap:1px}.lab-selector-tabs button{background:var(--ds-surface);border:0;border-radius:0;min-height:170px}.lab-selector-tabs button:hover{background:var(--ds-surface-muted)}.lab-selector-tabs button.is-active{box-shadow:inset 0 3px 0 var(--ds-accent);color:var(--ds-ink)}.lab-selector-tabs button.is-active small,.lab-selector-tabs button.is-active>span{color:var(--ds-accent-strong)}.lab-selector-tabs button.is-active>i,.lab-selector-tabs button>i{background:#0000;border-color:var(--ds-line);color:var(--ds-muted)}.lab-analysis-header,.lab-three-intro{background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:0;border-top:3px solid var(--ds-accent);color:var(--ds-ink)}.lab-analysis-header .lab-question span,.lab-analysis-header .paxos-kicker,.lab-three-intro .paxos-kicker{color:var(--ds-accent)}.lab-analysis-header .lab-question p,.lab-three-intro .lab-source-link,.lab-three-intro>p{color:var(--ds-muted)}.lab-three-intro .lab-source-link{background:var(--ds-bg);border-color:var(--ds-line)}.lab-analysis-body,.lab-guarantee,.lab-layer-map{background:var(--ds-surface);border-color:var(--ds-line);border-radius:0;box-shadow:none}.lab-layer-map article,.lab-layer-map article:nth-child(n){background:var(--ds-surface);border-color:var(--ds-line)}.lab-layer-map article:before{background:var(--ds-accent)}.scenario-tabs button.is-active,.scenario-tabs button:hover{background:var(--ds-accent-soft)}.debugger-controls button{background:var(--ds-accent-strong);border-color:var(--ds-accent-strong);border-radius:2px}.debugger-controls button:hover{background:var(--ds-accent)}.event-type,.handler-name,.implementation-map-grid code,.lab-guarantee code,.lab-guarantee>span{background:var(--ds-accent-soft);color:var(--ds-accent-strong)}.debugger-shell{border-color:var(--ds-line);border-radius:3px;box-shadow:none}.debugger-titlebar{background:var(--ds-surface-muted);border-color:var(--ds-line);color:var(--ds-ink);grid-template-columns:1fr auto}.window-dots{display:none}.paxos-orientation{background:var(--ds-surface);color:var(--ds-ink)}.paxos-orientation,.paxos-orientation>div+div,.scenario-tabs,.scenario-tabs button+button{border-color:var(--ds-line)}.debugger-mode,.paxos-orientation p,.scenario-tabs button{color:var(--ds-muted)}.paxos-orientation span,.scenario-tabs button span{background:var(--ds-surface-muted);color:var(--ds-accent-strong)}.scenario-tabs{background:var(--ds-surface)}.active-message-strip{background:var(--ds-accent-soft);border-color:var(--ds-line);color:var(--ds-ink)}.active-message-dot{background:var(--ds-accent)}.debugger-controls,.event-explanation,.event-readout,.implementation-map,.paxos-network,.paxos-principles,.step-details,.trace-events{background:var(--ds-surface);border-color:var(--ds-line);color:var(--ds-ink)}.paxos-principles,.step-details{border-radius:0}.event-explanation li,.event-explanation p,.paxos-principles li,.paxos-principles p,.step-details li,.step-details p,.step-details span{color:var(--ds-muted)}.event-explanation h2,.event-explanation h3,.implementation-map h2,.implementation-map h3,.paxos-principles h2,.paxos-principles h3,.step-details strong{color:var(--ds-ink)}.trace-event.is-current,.trace-event:hover{background:var(--ds-accent-soft);box-shadow:inset 3px 0 0 var(--ds-accent)}.trace-event.is-current .event-type,.trace-event.is-current .handler-name{background:var(--ds-surface)}.lab-flow-active line,.lab-flow-loop,.lab1-message-line,.paxos-message line{stroke:var(--ds-accent)}.lab-flow-arrow-head,.lab-flow-packet,.lab1-arrow-head,.message-arrow-head,.paxos-message circle{fill:var(--ds-accent)}.lab-flow-node rect,.lab-flow-packet,.lab1-node rect,.lab1-packet,.paxos-message circle,.paxos-node>rect{filter:none}.lab-flow-active.is-dropped line,.paxos-message.is-dropped line{stroke:var(--ds-danger)}.lab-flow-active.is-dropped .lab-flow-packet,.lab-flow-drop-marker circle,.paxos-message.is-dropped circle{fill:var(--ds-danger)}.lab-flow-node.is-recipient rect,.lab-flow-node.is-sender rect,.lab1-amo-boundary.is-active,.lab1-node.is-recipient rect,.lab1-node.is-sender rect,.paxos-node.is-recipient>rect,.paxos-node.is-sender>rect{fill:var(--ds-accent-soft);stroke:var(--ds-accent)}.lab-flow-node.is-dropped-target rect,.lab1-node.is-dropped-target rect,.paxos-node.is-dropped-recipient>rect{fill:var(--ds-danger-soft);stroke:var(--ds-danger)}.lab1-amo-boundary,.lab1-server-boundary{fill:var(--ds-surface);stroke:var(--ds-line)}.lab1-guarantee circle{fill:var(--ds-accent-soft);stroke:var(--ds-accent)}.lab1-amo-label,.lab1-boundary-label,.lab1-guarantee text,.lab1-node-kicker{fill:var(--ds-accent-strong)}.implementation-map-grid article{background:var(--ds-surface);border-color:var(--ds-line);border-radius:0;box-shadow:none}.implementation-map-grid article:before{background:var(--ds-accent)}.active-message-dot,.paxos-node.has-change>rect{animation:none}.client-node rect,.log-table,.log-table-head,.paxos-inspector{fill:var(--ds-surface-muted);stroke:var(--ds-line);background:var(--ds-surface-muted);border-color:var(--ds-line)}.client-node circle,.node-health,.paxos-node.is-isolated .node-health,.paxos-node.is-joining .node-health{fill:var(--ds-accent)}.paxos-node.is-offline .node-health,.paxos-node.is-rejected .node-health{fill:var(--ds-danger)}.paxos-node.is-isolated>rect,.paxos-node.is-leader>rect,.paxos-node.is-not-member>rect{fill:var(--ds-accent-soft);stroke:var(--ds-accent)}.legend-swatch,.legend-swatch.is-cleared,.mini-slot,.mini-slot.is-cleared{fill:var(--ds-line);background:var(--ds-line)}.legend-swatch.is-accepted,.legend-swatch.is-chosen,.mini-slot.is-accepted,.mini-slot.is-chosen{fill:var(--ds-accent);background:var(--ds-accent)}.role-pill,.role-pill.is-leader,.slot-status,.slot-status.is-accepted,.slot-status.is-chosen{background:var(--ds-accent-soft);border-color:var(--ds-line);color:var(--ds-accent-strong)!important}.slot-status.is-cleared{background:var(--ds-surface-muted);color:var(--ds-muted)}.role-pill.is-offline,.slot-status.is-offline{background:var(--ds-danger-soft);border-color:var(--ds-danger);color:var(--ds-danger)!important}.timer-pulse{stroke:var(--ds-accent)}.message-envelope dl,.message-envelope dl div,.step-detail-card+.step-detail-card{border-color:var(--ds-line)}.detail-kicker,.message-route,.step-detail-card li:before{color:var(--ds-accent)}.message-envelope dd,.message-route code{color:var(--ds-ink)}.message-envelope dt{color:var(--ds-muted)}.explanation-copy dl,.explanation-copy dl div,.implementation-map-grid,.paxos-glossary,.paxos-glossary dl div{border-color:var(--ds-line)}.explanation-copy dt,.explanation-copy>p,.implementation-map-grid p,.paxos-glossary dd{color:var(--ds-muted)}.lab-selector-tabs{background:#0000;border:0;gap:clamp(1.25rem,3vw,3rem)}.lab-selector-tabs button{background:#0000;border-top:1px solid var(--ds-line);min-height:150px;padding:1rem 1rem 1.25rem}.lab-selector-tabs button.is-active,.lab-selector-tabs button:hover{background:#0000}.lab-selector-tabs button.is-active{background:var(--ds-accent-soft);border-top:3px solid var(--ds-accent);box-shadow:none;padding-top:calc(1rem - 2px)}.lab-selector-tabs strong{margin-top:1.5rem}.lab-selector-tabs button>i{color:var(--ds-muted);display:block}.lab-selector-tabs button.is-active>i{color:var(--ds-accent-strong);font-weight:700}.lab-analysis-header,.lab-three-intro{background:#0000;border:0;border-bottom:1px solid var(--ds-line);padding:clamp(2.5rem,6vw,5rem) 0}.lab-question,.lab-three-guarantee,.lab-three-question{border-color:var(--ds-line)}.lab-layer-map{background:#0000;border:0;gap:clamp(1.25rem,3vw,3rem)}.lab-layer-map article,.lab-layer-map article:nth-child(n){background:#0000;border:0;border-top:1px solid var(--ds-line);min-height:0;padding:1rem 0 2rem}.lab-layer-map p{margin-top:.8rem}.lab-analysis-grid{gap:clamp(2.5rem,5vw,5rem);margin-top:clamp(3rem,6vw,5rem)}.lab-analysis-grid>section,.lab-analysis-grid>section:last-child{border:0;border-top:1px solid var(--ds-line)}.analysis-section-label{border:0;padding:1rem 0 .75rem}.lab-failure-list{padding:0}.lab-guarantee{background:#0000;border:0;border-top:1px solid var(--ds-line);margin-top:clamp(3rem,6vw,5rem);padding:clamp(2rem,4vw,3rem) 0 0}.implementation-map-grid code,.lab-guarantee code{background:#0000;border:0;border-bottom:1px solid var(--ds-line);border-radius:0;padding-left:0;padding-right:0}.paxos-orientation{background:var(--ds-surface-muted);border-bottom:1px solid var(--ds-line);gap:clamp(1rem,3vw,2.5rem);padding:.85rem 1rem}.paxos-orientation>div{padding:0}.paxos-orientation>div+div{border:0}.scenario-toolbar{background:var(--ds-surface)}.scenario-tabs{border:0;gap:1.25rem}.scenario-tabs button{border:0;border-bottom:1px solid #0000;border-radius:0;min-width:0;padding:.5rem 0}.scenario-tabs button.is-active,.scenario-tabs button:hover{background:#0000;border-bottom-color:var(--ds-accent);color:var(--ds-ink)}.active-message-strip{background:#0000}.step-details{background:var(--ds-surface-muted)}.event-explanation{padding-top:clamp(4rem,7vw,7rem)}.event-explanation,.implementation-map,.paxos-glossary{padding-bottom:clamp(4rem,7vw,7rem)}.implementation-map{padding-top:clamp(4rem,7vw,7rem)}.implementation-map-grid{border:0;gap:0 clamp(2rem,5vw,4rem)}.implementation-map-grid article{border:0;border-top:1px solid var(--ds-line);min-height:190px;padding:1.25rem 0 2rem}.implementation-map-grid h3{margin-top:1.5rem}.paxos-principles{background:#0000;border:0;border-top:1px solid var(--ds-line);padding-left:clamp(1rem,4vw,4rem);padding-right:clamp(1rem,4vw,4rem)}.principle-list{border-color:var(--ds-line)}.principle-list article+article{border:0}@media (max-width:760px){.implementation-map-grid,.lab-analysis-grid,.lab-layer-map,.lab-selector-tabs{gap:1.5rem}.lab-selector-tabs button{min-height:0}.paxos-orientation{gap:.75rem;padding:.9rem}}.lab-selector-tabs button{color:var(--ds-ink)}.scenario-tabs button{color:var(--ds-muted)}.lab-selector-tabs button.is-active,.lab-selector-tabs button:hover,.scenario-tabs button.is-active,.scenario-tabs button:hover{color:var(--ds-ink)}.debugger-controls button{background:var(--ds-surface);border-color:var(--ds-line);color:var(--ds-ink)}.debugger-controls button:hover{background:var(--ds-accent-soft);border-color:var(--ds-accent);color:var(--ds-accent-strong)}.debugger-controls .play-button{background:var(--ds-accent-strong);border-color:var(--ds-accent-strong);color:#fff}.debugger-controls .play-button span{color:#fff}.debugger-controls .play-button:hover{background:var(--ds-accent);border-color:var(--ds-accent);color:#fff}.debugger-controls button:focus-visible,.lab-selector-tabs button:focus-visible,.scenario-tabs button:focus-visible{outline:3px solid #8db3a0;outline-offset:3px}.lab-three-guarantee strong,.lab-three-intro>p,.lab-three-question p,.message-envelope dd,.message-route code,.paxos-orientation strong,.principle-list h3,.step-detail-card h3{color:var(--ds-ink)}.detail-kicker,.lab-three-guarantee span,.lab-three-question span,.message-route,.principle-list span,.principles-heading p,.step-detail-card li:before{color:var(--ds-accent-strong)}.lab-three-intro .lab-source-link,.lab-three-question p,.message-envelope dt,.paxos-orientation p,.principle-list p,.step-detail-card li,.step-detail-card p{color:var(--ds-muted)}
/*# sourceMappingURL=main.3ef3aa5f.css.map*/