/* Typography follows the system sans-serif style of the maintainer's website. */
.header-right nav .nav-glossary{font:500 12px/1.4 var(--sans);color:var(--muted);padding:8px 10px;border-radius:5px;white-space:nowrap}.header-right nav .nav-glossary:hover{background:var(--soft-blue);color:var(--muted)}.atlas-glossary{width:min(920px,calc(100vw - 32px));max-height:88vh;padding:0;border:1px solid var(--line);border-radius:12px}.atlas-glossary .dialog-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-bottom:1px solid var(--line)}.atlas-glossary h2{font:600 25px/1.3 var(--sans);letter-spacing:-.5px}.atlas-glossary .dialog-header button{font-size:26px}.atlas-glossary-copy{padding:26px 30px 36px}.atlas-glossary-copy .glossary{margin-bottom:0}.atlas-glossary-copy dd{overflow-wrap:anywhere}@media(max-width:600px){.header-right nav .nav-glossary{font-size:11px;padding:5px 0}.atlas-glossary .dialog-header{padding:18px 20px}.atlas-glossary h2{font-size:21px}.atlas-glossary-copy{padding:20px}.atlas-glossary .glossary{display:block}.atlas-glossary .glossary dt{margin:22px 0 6px}}
:root{--paper:#f5f8fc;--panel:#ffffff;--ink:#181a2a;--muted:#53657f;--line:#d4dfed;--green:#355b87;--gold:#bd9557;--heading:#334b6b;--accent:#7b92b2;--accent-strong:#355b87;--accent-hover:#294b72;--hover:#e8f0fa;--soft-blue:#eef4fb;--line-strong:#b7c8dd;--line-soft:#e1e8f2;--sans:ui-sans-serif,system-ui,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';--serif:'Latin Modern Math',Georgia,'Times New Roman',serif}
body{background:var(--paper);color:var(--ink);font-family:var(--sans)}
header{background:var(--panel);border-color:var(--line)}.brand-mark{color:var(--muted)}.brand-title{font:700 20px/1.25 var(--sans);letter-spacing:-.5px;color:var(--heading)}.header-right nav a{color:var(--muted);font-weight:500}.header-right nav a:hover,.header-right nav a[aria-current=page]{background:var(--soft-blue);color:var(--muted)}.skip-link{background:var(--accent-strong)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-color:var(--accent)}
h1,.main-heading h1{font:700 clamp(28px,2.5vw,36px)/1.2 var(--sans);letter-spacing:-1px;color:var(--heading)}.landing-copy h1{font:700 clamp(38px,4vw,52px)/1.14 var(--sans);letter-spacing:-1.8px;color:var(--heading)}.landing-copy>p{font:400 18px/1.75 var(--sans);color:var(--muted)}.landing-hero{gap:65px}.landing-covers path{stroke:var(--accent);stroke-width:1.7}.landing-points circle{fill:var(--panel);stroke:var(--accent-strong)}.landing-points [data-node=top]{fill:var(--soft-blue);stroke:var(--accent-strong)}
.page-button,.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--panel)}.page-button:hover,.primary:hover:enabled{background:var(--accent-hover)}.quiet-link{color:var(--accent-strong)}.page-intro h1{font:700 clamp(30px,3.4vw,40px)/1.2 var(--sans);letter-spacing:-1px;color:var(--heading)}.page-intro>p{font-size:15px;line-height:1.8;color:var(--muted)}.page-kicker,.breadcrumb{color:var(--accent-strong)}.breadcrumb:hover{color:var(--heading)}
.topic-card{background:var(--panel);border-color:var(--line)}.topic-card:hover{border-color:var(--accent)}.topic-card h2{font:600 21px/1.4 var(--sans);letter-spacing:-.4px;color:var(--heading)}.topic-card p{font-size:13px;line-height:1.85;color:var(--muted)}.topic-card-heading>span,.topic-count{color:var(--muted)}.topic-motivation{border-color:var(--line)}.topic-motivation>strong{color:var(--muted)}.topic-motivation p{color:var(--muted)}.topic-bibliography>h2{font:700 27px/1.3 var(--sans);color:var(--heading)}.reading-page .references li{border-color:var(--line)}.reading-page .references li:before{color:var(--muted)}.reading-page .reference-authors{color:var(--muted)}.reading-page .reference-authors span{color:var(--muted)}.reading-page .reference-title{font:600 19px/1.55 var(--sans);letter-spacing:-.2px;color:var(--heading)}.reading-page .reference-publication{font-size:13px;color:var(--muted)}.reading-page .references a{color:var(--accent-strong)}.topic-reference-link{color:var(--accent-strong)!important}.forthcoming-note{color:var(--muted)}
.prose>p{font-size:15px;line-height:1.9;color:var(--ink)}.prose a,.prose .inline-link{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.prose .glossary dt{font:600 16px/1.7 var(--sans);color:var(--muted)}.prose .glossary dd{font-size:14px;color:var(--muted)}
.controls{background:var(--soft-blue);border-color:var(--line)}.controls>.eyebrow{color:var(--muted)}.controls>select,select{background:var(--panel);border-color:var(--line-strong);color:var(--muted)}.advance-control{border-color:var(--line)}.step-meta,.step-meta button,.secondary-controls button{color:var(--muted)}.stage-caption h2{font:600 24px/1.25 var(--sans);letter-spacing:-.6px;color:var(--heading)}.stage-caption p{color:var(--muted)}.stage-caption>.math{color:var(--muted)}.control-bottom .text-button{color:var(--muted)}.motivation-summary{color:var(--muted)}.motivation-summary p,.control-bottom p{color:var(--muted)}.parameter-group label,.parameter-hint{color:var(--muted)}.parameter-value{color:var(--muted)}.parameter-group input[type=range]{accent-color:var(--accent)}.parameter-group select{color:var(--muted)}.depth-window-actions button{color:var(--muted)}
.result-tag,.result-tag.complete{background:var(--soft-blue);color:var(--muted)}.canvas-card{background:var(--panel);border-color:var(--line)}.canvas-toolbar{border-color:var(--line)}.display-controls label{color:var(--muted)}.display-controls input{accent-color:var(--accent)}.window-button{border-color:var(--line);color:var(--muted)}.zoom-controls{border-color:var(--line)}.zoom-controls button{color:var(--muted)}.zoom-controls #zoom-reset{border-color:var(--line)}.mode-buttons button{color:var(--muted)}.mode-buttons button.active{background:var(--soft-blue);color:var(--muted)}.frame-pane{background:var(--panel)}.depth-window .frame-scroll{scrollbar-color:var(--line-strong) var(--soft-blue)}.expanded-window .canvas-toolbar{background:var(--panel)}.canvas-footer{background:var(--panel);border-color:var(--line);color:var(--muted)}.canvas-footer>button{color:var(--muted)}.stage-list,.step-timeline button{color:var(--muted)}.step-timeline .number{background:var(--paper);border-color:var(--line-strong)}.step-timeline button.current{color:var(--muted)}.step-timeline button.current .number{background:var(--accent-strong);border-color:var(--accent-strong)}.step-timeline button.past .number{background:var(--soft-blue)}.point-note{background:var(--paper);border-color:var(--line)}.point-note #point-description{color:var(--muted)}.point-note .math{color:var(--muted)}.point-note>button{color:var(--muted)}
.edge{stroke:var(--line-strong)}.edge.selected{stroke:var(--accent)}.point .ring{fill:var(--panel);stroke:var(--accent)}.point .core{fill:var(--muted)}.point.upset .ring{fill:var(--soft-blue);stroke:var(--accent)}.point.selected .ring{fill:var(--soft-blue);stroke:var(--accent-strong)}.point .halo{fill:var(--soft-blue);stroke:var(--line-strong)}.point .node-label{font-family:var(--serif);fill:var(--muted);stroke:var(--panel)}.component-box{stroke:var(--line)}.component-label{font-family:var(--sans);fill:var(--muted)}.component-name{fill:var(--line)}.hint{font-family:var(--sans);fill:var(--muted)}.svg-math{fill:var(--muted)}.ellipsis{fill:var(--accent)}.root-label{fill:var(--muted)}.point.shared-limit .node-label,.point.grid-point .node-label{fill:var(--muted)}.point.tail-cut .ring{fill:var(--soft-blue)}.point.terminal-limit .ring,.point.terminal-limit .core{stroke:var(--accent)}.point.isolated-root .core{fill:var(--muted)}
.graph-pane{background:var(--paper);border-color:var(--line)}.graph-heading h2{font:600 23px/1.3 var(--sans);color:var(--muted)}.graph-heading p,.graph-note{color:var(--muted)}.graph-equation{border-color:var(--line);color:var(--muted)}.graph-edge{stroke:var(--accent)}.graph-vertex circle{fill:var(--panel);stroke:var(--accent)}.graph-vertex text{fill:var(--muted)}
#localic-inspector{background:var(--panel);border-color:var(--line)}.upset-bar>strong,.transformation-bar>strong{color:var(--muted)}.upset-bar label{color:var(--muted)}.upset-bar select{background:var(--panel);border-color:var(--line-strong);color:var(--muted)}.transformation-bar,.cut-explanation{border-color:var(--line)}.cut-buttons button{border-color:var(--line-strong);background:var(--panel);color:var(--muted)}.cut-buttons button[aria-pressed=true]{border-color:var(--accent);background:var(--soft-blue);color:var(--muted)}.quiet-button,.bar-label,.bar-arrow,.cut-key{color:var(--muted)}.cut-explanation{color:var(--muted)}
dialog{background:var(--panel);border-color:var(--line);color:var(--muted)}dialog::backdrop{background:rgba(24,26,42,0.400)}.dialog-header{background:var(--panel)}.dialog-header>button{color:var(--muted)}#dialog-content h2{font:700 29px/1.25 var(--sans);color:var(--muted)}#dialog-content h3{font:600 22px/1.4 var(--sans);color:var(--muted)}#dialog-content p,#dialog-content li{color:var(--muted)}#dialog-content .math-block{color:var(--muted);border-color:var(--line)}#dialog-content .glossary dt{font:600 16px/1.7 var(--sans);color:var(--muted)}#dialog-content .glossary dd{color:var(--muted)}#dialog-content a,#dialog-content .inline-link{color:var(--accent-strong)}#dialog-content .reference-authors{color:var(--muted)}#dialog-content .reference-title{font:600 17px/1.6 var(--sans);color:var(--muted)}#dialog-content .reference-publication,#dialog-content small{color:var(--muted)}.motivation-intro{border-color:var(--line)}.motivation-intro>strong{color:var(--muted)}.girth-steps>div{background:var(--paper);border-color:var(--line)}.girth-steps strong{font:600 18px/1.4 var(--sans);color:var(--muted)}.girth-steps span{color:var(--muted)}.tail-design rect{fill:var(--paper);stroke:var(--line)}.tail-title{font:600 17px var(--sans);fill:var(--muted)}.tail-copy{fill:var(--muted)}
/* Parameter, generator, omission and transformation colours retain their meaning. */
.point.colour-parity0 .ring{stroke:#2674a0}.point.colour-parity0 .core{fill:#2674a0}.point.colour-parity1 .ring{stroke:#23816d}.point.colour-parity1 .core{fill:#23816d}.point.source-cut .ring{stroke:#8a67a3}.point.target-cut .ring{fill:#f6dfa5;stroke:#aa812e}.point.source-cut.target-cut .ring{stroke:#8a67a3}.point.shared-limit .core,.point.terminal-limit .core{fill:var(--panel)}.hide-colours .point.shared-limit .core,.hide-colours .point.terminal-limit .core{fill:var(--panel)!important}
@media(max-width:1000px){header{height:auto;min-height:75px;flex-wrap:wrap;gap:10px;padding-top:15px;padding-bottom:15px}.header-right nav{flex-wrap:wrap;gap:3px}.brand-title{font-size:19px}.header-right nav a{font-size:11px;padding:6px 8px}.landing-copy h1{font-size:43px}.landing-hero{gap:35px}}
@media(max-width:600px){.brand-title{font-size:19px}.header-right nav{gap:4px 16px}.header-right nav a{font-size:11px;padding:5px 0}.header-right nav a[aria-current=page]{background:none;color:var(--muted)}.landing-copy h1{font-size:39px;letter-spacing:-1.3px}.page-intro h1{font-size:32px}.topic-card h2{font-size:20px}.stage-caption h2{font-size:22px}.prose>p{font-size:14px}.reading-page .reference-title{font-size:18px}.controls{border-color:var(--line)}}

/* Diagram captions use the same readable slate ink as the surrounding text. */
.point .node-label,.point.shared-limit .node-label,.point.grid-point .node-label{fill:var(--muted)}.component-label,.hint,.root-label,.svg-math,.graph-vertex text,.tail-title,.tail-copy{fill:var(--muted)}.ellipsis{fill:var(--muted)}.step-timeline button.current .number{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--panel)}.source-content,.bound-note{color:var(--muted)}.wide-dialog .bound-note{color:var(--muted)!important}
.fine-part-label{font-family:var(--sans);font-size:14px;fill:var(--muted)}
.mathsf{font-family:var(--sans);font-style:normal;white-space:nowrap}.construction-details{max-width:850px;margin-bottom:34px}.construction-details>h2,.construction-details>h3,#dialog-content .construction-details>h3{font:600 20px/1.4 var(--sans);color:var(--heading);margin:24px 0 18px}.construction-details>p{font-size:14px;line-height:1.95;color:var(--ink);margin-bottom:18px}.construction-details .math-block{font:22px/1.8 var(--serif);color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:16px 0;overflow-x:auto}.construction-details .inline-link{display:inline!important;color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.coming-soon-panel{min-height:380px;padding:65px 24px;text-align:center;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,var(--panel),var(--paper));display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.coming-soon-mark{font:40px/1.2 var(--serif);letter-spacing:15px;color:var(--accent);margin-bottom:15px;padding-left:15px}.coming-soon-panel h2{font:600 32px/1.3 var(--sans);letter-spacing:-.7px;color:var(--muted)}.motivation-summary #motivation-copy p{margin-top:12px}.reading-page .topic-motivation p+p{margin-top:16px}.motivation-intro p+p{margin-top:16px}
@media(max-width:600px){.coming-soon-panel{min-height:300px}.coming-soon-panel h2{font-size:28px}.construction-details>p{font-size:13px}.construction-details .math-block{font-size:20px}.controls .control-bottom[hidden]{display:none!important}}

/* Young partition illustration shared by the reference page and details dialog. */
.young-partition-figure{margin:1.25rem auto 1.5rem;text-align:center;color:var(--ink,var(--ink))}
.young-partition-figure svg{display:block;width:min(100%,234px);height:auto;margin:0 auto}
.young-partition-figure figcaption{margin-top:.4rem;font-size:1rem;font-family:"Latin Modern Math",serif}
