/* Canonical control-room primitives: real controls and state, original visual language. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:2rem}body{margin:0;background:var(--cp-bg);color:var(--cp-ink);font-family:var(--cp-font);line-height:1.65}
a{color:var(--cp-link);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{color:var(--cp-link-hover)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cp-focus);outline-offset:4px}
::selection{background:var(--cp-accent);color:var(--cp-accent-ink)}
button,input,select,textarea{font:inherit;color:var(--cp-ink);background:var(--cp-surface);border:1px solid var(--cp-line);border-radius:var(--cp-radius);padding:.65rem .8rem}
input,select,textarea{max-width:100%;box-shadow:inset 0 2px 0 color-mix(in srgb,var(--cp-ink) 9%,transparent)}
input[type=checkbox],input[type=radio]{accent-color:var(--cp-link);box-shadow:none}
button,summary{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}
button,.cp-button{transition:background-color var(--cp-duration),box-shadow var(--cp-duration);min-height:44px}
.cp-brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--cp-ink);text-decoration:none;white-space:nowrap;font:700 .9375rem/1.3 var(--cp-heading-font);letter-spacing:.1em;text-transform:uppercase}
.cp-brand img{filter:var(--cp-mark-filter)}.cp-brand img,.cp-brand svg{display:block;width:36px;height:36px;flex:none}
.cp-masthead{border-block:4px solid var(--cp-ink);border-bottom-width:1px;background:var(--cp-surface)}
.cp-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font:600 .875rem/1.4 var(--cp-mono)}
.cp-nav a{color:var(--cp-ink);text-decoration:none;padding:.55rem .7rem;border:1px solid transparent;border-radius:var(--cp-radius)}.cp-nav a:hover{background:var(--cp-raised);color:var(--cp-link)}.cp-nav a[aria-current=page]{background:var(--cp-raised);border-color:var(--cp-line);box-shadow:inset 0 -3px 0 var(--cp-signal);color:var(--cp-ink)}
.cp-footer{border-top:1px solid var(--cp-line);color:var(--cp-muted);font-size:var(--cp-text-sm)}
.cp-kicker{font:700 .875rem/1.5 var(--cp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cp-muted)}
.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;border:1px solid var(--cp-ink);border-radius:var(--cp-radius);font:700 .875rem/1.4 var(--cp-mono);letter-spacing:.035em;text-transform:uppercase;background:var(--cp-accent);color:var(--cp-accent-ink);text-decoration:none;box-shadow:0 3px 0 var(--cp-ink),inset 0 1px 0 #ffffff66}.cp-button:hover{background:var(--cp-accent);color:var(--cp-accent-ink);box-shadow:0 1px 0 var(--cp-ink),inset 0 1px 0 #ffffff66}.cp-button:active{box-shadow:none}
.cp-button--secondary{background:var(--cp-surface);border-color:var(--cp-line);color:var(--cp-link);box-shadow:0 3px 0 var(--cp-line)}.cp-button--secondary:hover{background:var(--cp-raised);color:var(--cp-link)}
.cp-panel,.cp-instrument{background:var(--cp-surface);border:1px solid var(--cp-line);border-radius:var(--cp-panel-radius);padding:var(--cp-space-5);box-shadow:var(--cp-shadow)}
.cp-instrument{border-top:4px solid var(--cp-ink)}
.cp-panel-title{font:700 1rem/1.4 var(--cp-heading-font);letter-spacing:.06em;text-transform:uppercase;color:var(--cp-ink);padding-bottom:.75rem;border-bottom:1px solid var(--cp-line);margin:0 0 1rem}
.cp-readout{background:var(--cp-display-bg);color:var(--cp-display-ink);font-family:var(--cp-mono);padding:var(--cp-space-4);border:1px solid var(--cp-line);border-radius:var(--cp-radius);box-shadow:inset 0 3px 0 #00000033}
.cp-readout a{color:var(--cp-display-ink)}.cp-readout :is(p,li,h2,h3){color:inherit}
.cp-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;padding-block:.75rem;border-block:1px solid var(--cp-line);font:var(--cp-text-sm)/1.5 var(--cp-mono);color:var(--cp-muted)}
.cp-badge{display:inline-flex;gap:.5rem;align-items:center;font:500 var(--cp-text-sm)/1.5 var(--cp-mono);color:var(--cp-muted)}.cp-badge::before{content:'';width:.55rem;height:.55rem;background:var(--cp-signal);border-radius:1px}
.cp-skip{position:absolute;left:1rem;top:-100px;padding:.6rem 1rem;background:var(--cp-surface);color:var(--cp-ink);z-index:100}.cp-skip:focus{top:1rem}
pre{background:var(--cp-code-bg);color:var(--cp-code-ink);font-family:var(--cp-mono);overflow:auto;border:1px solid var(--cp-line);border-radius:var(--cp-radius)}code{font-family:var(--cp-mono)}
[hidden]{display:none!important}
@media(max-width:560px){.cp-brand{font-size:.875rem;letter-spacing:.055em}.cp-nav{gap:.4rem}.cp-nav a{padding:.5rem}.cp-panel,.cp-instrument{padding:var(--cp-space-4)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0ms!important;animation-duration:0ms!important}}

.cp-nav a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}

/* Shared site chrome. Rendered by the private chrome.py component, on every surface. */
.cp-global-header.cp-masthead{display:block;width:100%;margin:0;padding:0;border-top:4px solid var(--cp-ink);border-bottom:1px solid var(--cp-line);background:var(--cp-surface);color:var(--cp-ink);font-family:var(--cp-font);font-size:16px;line-height:1.65}
.cp-global-inner{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px)}
.cp-global-header .cp-global-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 32px;min-height:92px;padding-block:16px}
.cp-global-header .cp-brand{display:inline-flex;align-items:center;gap:12px;margin:0;padding:0;min-height:44px;font:700 16px/1.4 var(--cp-heading-font);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--cp-ink);white-space:nowrap}
.cp-global-header .cp-brand svg{display:block;flex:none;width:36px;height:36px;color:inherit}
nav.cp-global-nav.cp-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;font:400 14px/1.5 var(--cp-mono)}
nav.cp-global-nav.cp-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--cp-line);border-radius:var(--cp-radius);background:var(--cp-surface);color:var(--cp-muted);font:inherit;text-decoration:none;letter-spacing:0;text-transform:none;box-shadow:none}
nav.cp-global-nav.cp-nav a:hover{color:var(--cp-link-hover);background:var(--cp-raised)}
nav.cp-global-nav.cp-nav a[aria-current="page"]{color:var(--cp-link);box-shadow:inset 0 -3px 0 var(--cp-signal);text-decoration:none}
.cp-global-header a:focus-visible,.cp-global-footer a:focus-visible,.cp-app-nav a:focus-visible{outline:3px solid var(--cp-focus);outline-offset:4px}
.cp-app-nav{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 16px;min-height:44px;padding-block:8px;font:14px/1.5 var(--cp-mono);color:var(--cp-muted)}
.cp-app-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--cp-link)}
.cp-context-note{display:block;margin:0;padding-block:20px;border-top:1px solid var(--cp-line);color:var(--cp-muted);font:14px/1.65 var(--cp-font)}
.cp-global-footer.cp-footer{display:block;width:100%;margin:0;padding:32px 0 40px;border-top:1px solid var(--cp-line);background:var(--cp-bg);color:var(--cp-muted);font:13px/1.65 var(--cp-font);box-shadow:none}
.cp-global-footer .cp-global-inner{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px 32px}
.cp-global-footer p{margin:0;padding:0;max-width:none;font:inherit;color:inherit}
.cp-global-footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin:0;padding:0;font:inherit}
.cp-global-footer nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--cp-link);font:inherit;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
@media(max-width:700px){.cp-global-header .cp-global-inner{gap:16px;min-height:0}.cp-global-header nav.cp-global-nav{width:100%}nav.cp-global-nav.cp-nav a{padding:10px 9px}.cp-app-nav{justify-content:flex-start}}
