/* Design tokens, September 2026. Every colour, typeface, radius and shadow of the website is one of these, so a design change edits this block
   and touches no rule. Text colours meet WCAG AA on the grounds they are used on, and the field edge meets 3 to 1 against white and the ground. */
:root{color-scheme:light;--bg:#F5F6F8;--ground:#F5F6F8;--paper:#FFFFFF;--band:#FFFFFF;--panel-head:#FAFBFC;--ink:#0A1020;--muted:#3A4456;--subtle:#556070;--border:#E2E6EC;--rule:#E2E6EC;--line-strong:#CBD2DC;--field-edge:#848E9F;--accent:#2E5BFF;--accent-hover:#1C44D6;--button:#2E5BFF;--button-hover:#1C44D6;--button-ink:#FFFFFF;--soft:#EEF2FF;--ok:#0E7A52;--ok-soft:#E6F4EE;--info:#1C44D6;--info-soft:#EEF2FF;--planned:#556070;--planned-soft:#EEF1F5;--error:#B42318;--night:#0A1020;--night-card:#121A2E;--night-rule:#26304A;--night-ink:#E8ECF4;--night-muted:#A3AEC2;--night-accent:#8FA9FF;--night-live:#7FD3A6;--night-live-soft:#143426;--night-building:#A9C0FF;--night-building-soft:#1E2945;--night-planned:#A3AEC2;--night-planned-soft:#1A2338;--code-bg:#060A14;--code-ink:#C9D2E3;--code-rule:#26304A;--dot:#D5DAE2;--shadow:0 1px 2px rgba(10,16,32,.04);--card-shadow:0 16px 40px rgba(10,16,32,.08);--panel-shadow:0 24px 60px rgba(10,16,32,.10),0 2px 6px rgba(10,16,32,.05);--font-ui:Geist,"Helvetica Neue",Helvetica,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-hero:clamp(2.5rem,4.45vw,4rem);--text-h2:clamp(1.875rem,3.05vw,2.75rem);--text-h2-small:clamp(1.75rem,2.8vw,2.5rem);--text-lead:clamp(1.0625rem,1.35vw,1.25rem);--content-max:1312px;--band-gutter:clamp(1rem,4.45vw,4rem);--band-pad:clamp(2.5rem,4.45vw,4rem);--radius-field:10px;--radius-button:12px;--radius-card:16px;--radius-panel:18px;font-family:var(--font-ui);font-size:16px;line-height:1.55}
.setup-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:1.5rem;align-items:start}.setup-steps{display:grid;gap:1.25rem;min-width:0}.setup-summary dd,.setup-steps p a{overflow-wrap:anywhere}.setup-summary dl{display:block}.setup-summary dt{margin-top:1rem}.setup-summary dd{margin:.3rem 0 0}.setup-steps pre{white-space:pre-wrap;overflow-wrap:anywhere}.setup-steps h3{margin-top:1.5rem}.setup-steps details{margin:1.2rem 0}.setup-steps summary{cursor:pointer;min-height:44px;padding:.5rem 0}.protocol-tools{padding-left:1.3rem;overflow-wrap:anywhere}.setup-next{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1.3rem 0}.setup-next p{color:var(--muted)}.setup-next .button{flex-shrink:0}[data-view=setup],[data-view=examples],[data-view=security]{overflow-wrap:anywhere}[data-view=setup] .page-heading>*{min-width:0;max-width:100%}.setup-steps button{max-width:100%;white-space:normal}@media(max-width:900px){.setup-grid{grid-template-columns:minmax(0,1fr)}.setup-next{flex-wrap:wrap}}@media(max-width:500px){.setup-steps .panel{padding:1rem}.setup-next .button{white-space:normal;flex-shrink:1}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0A1020;--ground:#0A1020;--paper:#121A2E;--band:#0E1627;--panel-head:#0E1627;--ink:#E8ECF4;--muted:#A3AEC2;--subtle:#8B97AD;--border:#26304A;--rule:#26304A;--line-strong:#34405C;--field-edge:#6B7890;--accent:#8FA9FF;--accent-hover:#B4C6FF;--soft:#1E2945;--ok:#7FD3A6;--ok-soft:#143426;--info:#A9C0FF;--info-soft:#1E2945;--planned:#A3AEC2;--planned-soft:#1A2338;--error:#FFABB5;--night:#060A14;--night-card:#121A2E;--code-bg:#060A14;--dot:#1C2538;--shadow:none;--card-shadow:none;--panel-shadow:none}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#0A1020;--ground:#0A1020;--paper:#121A2E;--band:#0E1627;--panel-head:#0E1627;--ink:#E8ECF4;--muted:#A3AEC2;--subtle:#8B97AD;--border:#26304A;--rule:#26304A;--line-strong:#34405C;--field-edge:#6B7890;--accent:#8FA9FF;--accent-hover:#B4C6FF;--soft:#1E2945;--ok:#7FD3A6;--ok-soft:#143426;--info:#A9C0FF;--info-soft:#1E2945;--planned:#A3AEC2;--planned-soft:#1A2338;--error:#FFABB5;--night:#060A14;--night-card:#121A2E;--code-bg:#060A14;--dot:#1C2538;--shadow:none;--card-shadow:none;--panel-shadow:none}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;min-height:44px;border-radius:8px;padding:.6rem .9rem;border:1px solid var(--border);font-weight:600;background:var(--paper);color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):hover{border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);color:var(--paper);border-color:var(--accent)}.quiet{background:transparent;color:var(--accent)}.skip{position:absolute;left:1rem;top:-5rem;background:var(--paper);z-index:5;padding:.8rem}.skip:focus{top:1rem}.header{display:flex;align-items:center;gap:2rem;padding:1.1rem 4vw;background:var(--paper);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.65rem;font-size:1.1rem;font-weight:750;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:32px;height:32px;border-radius:7px}nav{display:flex;gap:1.5rem;flex:1}nav a{font-size:.9rem;text-decoration:none;color:var(--muted);padding:.5rem 0}nav a[aria-current=page]{color:var(--accent);box-shadow:0 2px var(--accent)}#theme{font-size:.875rem}main{max-width:1400px;margin:auto;padding:3rem 4vw 4rem}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem}h1{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.1;letter-spacing:-.035em;margin:.45rem 0 0;font-weight:650}h2{font-size:1.18rem;margin:0;font-weight:650;letter-spacing:-.015em}h3{font-size:1rem;margin:0 0 .65rem}p{margin:.8rem 0}.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 .65rem}.intro{max-width:365px;color:var(--muted);margin:0}.workspace-grid{display:grid;grid-template-columns:minmax(285px,.8fr) minmax(0,1.7fr);gap:1.25rem;align-items:start}.panel{background:var(--paper);border:1px solid var(--border);border-radius:13px;padding:1.6rem;box-shadow:var(--shadow);min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.badge{font-size:.78rem;color:var(--muted);padding:.28rem .6rem;border-radius:5px;background:var(--bg);border:1px solid var(--border)}.secondary{color:var(--muted);font-size:.95rem}.caption{font-size:.82rem;color:var(--muted)}label{display:block;font-size:.88rem;font-weight:600;margin:.9rem 0 .4rem}input,select{width:100%;min-width:0;border:1px solid var(--border);background:var(--paper);color:var(--ink);border-radius:7px;padding:.65rem .8rem;min-height:44px}input:disabled,select:disabled{background:var(--bg)}#connect-button{width:100%;margin-top:.6rem}.search-row{display:flex;gap:.6rem}.search-row input{flex:1}#search-mode{width:auto;max-width:100%;font-size:.9rem}.divider{height:1px;background:var(--border);margin:1.6rem 0}#copy-endpoint{margin-top:.6rem}.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty h3{color:var(--ink)}.empty p{max-width:410px;margin:0 auto}.empty-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;margin:0 auto 1rem;background:var(--soft);color:var(--accent);font-size:1.5rem}.results{margin-top:1.5rem}.result{border-top:1px solid var(--border);padding:1.2rem 0}.result h3{overflow-wrap:anywhere}.result p{margin:.4rem 0;color:var(--muted)}.result details{font-size:.9rem;margin:.8rem 0}.result summary{cursor:pointer;color:var(--accent)}dl{font-size:.9rem}dt{color:var(--muted);margin-top:.6rem}dd{margin:.15rem 0;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:.85rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem;max-height:320px;overflow:auto}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.25rem}.error{color:var(--error)}.reading{max-width:840px;margin:0 auto}.lede{font-size:1.17rem;color:var(--muted);margin:1.8rem 0 2.5rem}.journey{list-style:none;padding:0;margin:0}.journey li{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.8rem 0;border-top:1px solid var(--border)}.journey li>span{font-family:ui-monospace,monospace;color:var(--accent);font-size:1rem}.journey p{color:var(--muted);margin-bottom:0}.notice{padding:1.6rem;background:var(--soft);border-radius:10px;margin:2rem 0}.notice p{margin-bottom:0}.guide-section{margin:2.2rem 0}.guide-section p{color:var(--muted)}footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 4vw;font-size:.82rem;color:var(--muted)}#billing button{margin:.5rem .5rem .5rem 0}#billing a{display:inline-block;margin:.75rem 0}
@media(max-width:900px){.header{flex-wrap:wrap;gap:.75rem 1.2rem}nav{order:3;flex-basis:100%}#theme{margin-left:auto}.page-heading{align-items:start;flex-direction:column;gap:1rem}.intro{max-width:600px}.workspace-grid{grid-template-columns:1fr 1.3fr}.panel{padding:1.2rem}}
@media(max-width:680px){main{padding:2rem 1rem}.header{padding:1rem}nav{gap:1.2rem}.workspace-grid,.bottom-grid{grid-template-columns:1fr}.page-heading{margin-bottom:1.4rem}h1{font-size:2.25rem}.connection{order:0}.catalogue{order:1}footer{flex-direction:column;padding:1.5rem 1rem}.search-row{flex-wrap:wrap}.search-row input{flex-basis:100%}.search-row button{width:100%}.journey li{grid-template-columns:35px 1fr}#theme{font-size:.78rem;padding:.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;padding:.7rem 1rem;border:1px solid var(--border);border-radius:8px;text-decoration:none;font-weight:600}.button.primary{border-color:var(--accent)}.button:hover{filter:brightness(.94)}.header-access{font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4rem;align-items:center;padding:3rem 0 5rem}.hero h1{font-size:clamp(2.4rem,4.6vw,4.5rem);line-height:1.07;letter-spacing:-.045em;max-width:750px}.hero-description{font-size:1.17rem;line-height:1.7;max-width:530px;color:var(--muted);margin:1.6rem 0}.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin:1.7rem 0}.text-link{font-weight:600;text-decoration:none}.hero-copy>.caption{max-width:440px}.status-dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:7px}.handoff{border:1px solid var(--border);background:var(--paper);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow)}.handoff-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.handoff-top .eyebrow{margin:0}.handoff-step{display:flex;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.step-number{font: .875rem ui-monospace,monospace;color:var(--accent);padding-top:.15rem}.handoff-step h2{font-size:1rem}.handoff-step p{font-size:.9rem;color:var(--muted);margin:.35rem 0 0}.handoff-step.local{border-bottom:0}.file-label{margin:.9rem 0 0;border:1px solid var(--border);padding:.65rem .8rem;background:var(--bg);border-radius:6px;font: .85rem ui-monospace,monospace;overflow-wrap:anywhere}.file-label span{display:block;font: .8rem system-ui,sans-serif;color:var(--muted);margin-top:.25rem}.principle-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0;color:var(--muted);font-size:.9rem}.product-section{padding:4.5rem 0}.section-title{max-width:640px}.section-title h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2}.section-title>p:last-child{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem}.feature-grid article{border-top:2px solid var(--border);padding-top:1.2rem}.feature-index{font: .85rem ui-monospace,monospace;color:var(--accent)}.feature-grid h3{margin:1rem 0 .6rem;font-size:1.1rem}.feature-grid p{color:var(--muted)}.access-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:1000px;margin:3rem auto}.access-intro>p:not(.eyebrow){color:var(--muted)}.access-intro .lede{margin:1.5rem 0}.access-layout .panel{padding:2rem}.header{max-width:none}main:focus{outline:none}.caption,.badge{font-size:.875rem}.eyebrow{font-size:.8125rem}#account-facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:.5rem 1rem}#account-facts dt,#account-facts dd{margin:0}
@media(max-width:1050px){.hero{gap:2rem}.header{gap:1rem}.header nav{gap:1rem}.access-layout{gap:2rem}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:1rem 0 2.5rem;gap:2rem}.hero h1{font-size:clamp(2.4rem,7vw,3.6rem)}.hero-description{font-size:1.05rem}.principle-strip{flex-direction:column;gap:0}.principle-strip p{margin:.35rem 0}.feature-grid{grid-template-columns:1fr;gap:1.5rem}.product-section{padding:3rem 0}.access-layout{grid-template-columns:1fr;margin:1rem auto;gap:2rem}.access-layout .panel{padding:1.25rem}.header nav{overflow-x:auto}.header nav a{white-space:nowrap}.header-access{margin-left:auto}#theme{margin-left:0}#account-facts{grid-template-columns:1fr}#account-facts dt{margin-top:.5rem}.actions{gap:1rem}.handoff{padding:1.25rem}}
fieldset{border:1px solid var(--border);border-radius:8px;margin:1.2rem 0;padding:.7rem}legend{font-size:.9rem;font-weight:600}.scope-choice{display:flex;align-items:center;gap:.65rem;font: .875rem ui-monospace,monospace;overflow-wrap:anywhere}.scope-choice input{width:18px;min-height:18px;flex-shrink:0}#issue-access-button{margin-top:1rem;width:100%}#access-list .result p{overflow-wrap:anywhere}#admin-nav{font-size:.875rem}#issued-access{padding:1rem}
.runtime-disclosure{padding:1.1rem 0;border-bottom:1px solid var(--border);color:var(--muted);font-size:.95rem}.runtime-disclosure summary,.assignment-contract summary{cursor:pointer;color:var(--accent);font-weight:600;padding:.25rem 0}.runtime-disclosure pre{max-height:none}.layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:2.5rem}.layer-card{padding:1.7rem;background:var(--paper);border:1px solid var(--border);border-radius:11px}.layer-card h3{font-size:1.3rem;line-height:1.3;margin:.9rem 0}.layer-card>p{color:var(--muted);max-width:540px}.layer-example{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.layer-example>span{font-size:.875rem;font-weight:600;color:var(--accent)}.layer-example>p{margin:.5rem 0 0}.layer-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;color:var(--muted)}.layer-notes strong{color:var(--ink)}.scoping-callout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;padding:2rem;background:var(--paper);border:1px solid var(--border);border-radius:12px}.scoping-callout h2{font-size:1.7rem;line-height:1.25}.scoping-callout p{color:var(--muted)}.scoping-callout .button{margin-top:1rem}.briefing-preview>div{padding:.8rem 0;border-bottom:1px solid var(--border)}.briefing-preview>div:first-child{padding-top:0}.briefing-preview>div:last-child{border:0}.briefing-preview span{font-size:.875rem;font-weight:700;color:var(--accent)}.briefing-preview p{margin:.4rem 0}.architecture-page>.reading{margin-left:0}.architecture-page .lede{margin-bottom:1.2rem}.task-explorer{margin:3rem 0}.explorer-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem}.explorer-heading h2{font-size:1.75rem;line-height:1.3;max-width:720px}.explorer-heading .badge{flex-shrink:0}.assignment-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:1.5rem;border:1px solid var(--border);border-radius:10px 10px 0 0;overflow:hidden;background:var(--paper)}.assignment-tabs button{border:0;border-right:1px solid var(--border);border-bottom:3px solid transparent;border-radius:0;background:transparent;min-height:72px;text-align:left;padding:1rem;font-size:1rem}.assignment-tabs button:last-child{border-right:0}.assignment-tabs button span{font: .875rem ui-monospace,monospace;display:block;margin-bottom:.2rem;color:var(--muted)}.assignment-tabs button[aria-selected=true]{border-bottom-color:var(--accent);background:var(--soft);color:var(--accent)}.assignment-tabs button:focus-visible{outline-offset:-4px}.assignment-panel{border:1px solid var(--border);border-top:0;border-radius:0 0 12px 12px;background:var(--paper);padding:2rem}.assignment-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:2.5rem;padding-bottom:1.6rem;border-bottom:1px solid var(--border)}.assignment-overview h3{font-size:1.6rem;line-height:1.3}.assignment-overview p:not(.eyebrow){color:var(--muted)}.execution-choice{padding:1.1rem;background:var(--bg);border-radius:8px}.execution-choice strong{display:block;font-size:1.07rem;margin:.5rem 0}.execution-choice p{margin-bottom:0}.assignment-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;margin-top:1.6rem}.assignment-columns h4{font-size:1rem;margin:0}.material-list{list-style:none;padding:0;margin:0}.material-list li{padding:1rem 0;border-top:1px solid var(--border)}.material-list li:first-child{border:0;padding-top:0}.material-source{display:block;color:var(--accent);font-size:.875rem;margin-bottom:.3rem}.material-list strong{font:600 .95rem ui-monospace,monospace;overflow-wrap:anywhere}.material-list p{color:var(--muted);font-size:.95rem;margin:.4rem 0 0}.assignment-boundary{padding-left:2rem;border-left:1px solid var(--border)}.assignment-boundary p,.assignment-boundary li{color:var(--muted);font-size:.95rem}.assignment-boundary h4:not(:first-child){margin-top:1.5rem}.assignment-boundary ul{padding-left:1.2rem}.assignment-boundary li+li{margin-top:.5rem}.assignment-contract{border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}.assignment-contract dl{display:grid;grid-template-columns:180px minmax(0,1fr);gap:.6rem 1.3rem}.assignment-contract dt,.assignment-contract dd{margin:0}.context-lifecycle{margin:4rem 0}.lifecycle-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;padding:1.5rem 0 0;list-style:none;counter-reset:phase}.lifecycle-steps li{padding-top:1rem;border-top:2px solid var(--border);counter-increment:phase}.lifecycle-steps strong{display:block;margin-bottom:.5rem}.lifecycle-steps strong:before{content:counter(phase,decimal-leading-zero) " / ";color:var(--accent);font: .875rem ui-monospace,monospace}.lifecycle-steps span{color:var(--muted);font-size:.95rem}.context-lifecycle>p{color:var(--muted);max-width:950px}.execution-section{padding:1rem 0 3rem}.execution-section .feature-grid{margin-top:1.8rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){.assignment-overview{gap:1.5rem}.assignment-columns{gap:1.5rem}.assignment-boundary{padding-left:1.5rem}.explorer-heading{flex-direction:column;gap:.8rem}.assignment-tabs button{font-size:.95rem}.scoping-callout{gap:2rem}.lifecycle-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.layer-grid,.layer-notes,.scoping-callout,.assignment-overview,.assignment-columns{grid-template-columns:1fr}.layer-card,.scoping-callout,.assignment-panel{padding:1.25rem}.layer-notes{gap:0}.assignment-tabs{grid-template-columns:1fr 1fr}.assignment-tabs button{padding:.8rem;border-bottom:3px solid var(--border)}.assignment-tabs button:nth-child(2){border-right:0}.assignment-boundary{padding-left:0;padding-top:1.4rem;border-left:0;border-top:1px solid var(--border)}.assignment-contract dl{grid-template-columns:1fr}.assignment-contract dt{margin-top:.6rem}.lifecycle-steps{grid-template-columns:1fr 1fr;gap:1rem}.scoping-callout{gap:1.5rem}.task-explorer{margin:2rem 0}.explorer-heading h2{font-size:1.45rem}.assignment-overview h3{font-size:1.35rem}.execution-choice{padding:.9rem}.layer-card h3{font-size:1.2rem}}
/* The closing band keeps the box that the retired class name used to style, so no served class name reads as a trial. */
.closing-band{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;background:var(--soft);color:var(--ink);padding:2rem;border:1px solid var(--border);border-radius:12px}.closing-band .eyebrow{color:var(--accent)}.closing-band p:last-child{max-width:730px;color:var(--muted);margin-bottom:0}.closing-band .button{flex-shrink:0}
/* The benefit list. Every detail sits in the page source, so all six read when the script has not run. Once it runs, one is open at a time and nothing moves or fades. */
.benefit-list{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--border)}.benefit-list>li{border-bottom:1px solid var(--border)}.benefit-list h3{margin:0;font-size:1rem}.benefit-title{display:flex;align-items:center;gap:1.25rem;width:100%;min-width:0;text-align:left;background:transparent;border:0;border-radius:0;padding:1.35rem .25rem;font-size:1.15rem;font-weight:650;letter-spacing:-.015em;line-height:1.35;color:var(--ink);min-height:64px}.benefit-title:focus-visible{outline-offset:-3px}.benefit-index{font:.875rem ui-monospace,monospace;color:var(--accent);flex-shrink:0}.benefit-name{flex:1;min-width:0}.benefit-mark{flex-shrink:0;width:11px;height:11px;border:1px solid var(--border);border-radius:50%}.benefit-list>li[data-open=true] .benefit-title,.benefit-title:hover{color:var(--accent)}.benefit-list>li[data-open=true] .benefit-mark{background:var(--accent);border-color:var(--accent)}.benefit-detail{padding:0 .25rem 1.7rem 2.6rem}.benefit-detail p{color:var(--muted);max-width:760px;margin:0 0 .9rem}.benefit-status{font-size:.92rem;border-left:3px solid var(--border);padding-left:.95rem;margin-bottom:0}.offer-limit{max-width:760px;margin-top:2rem}.hero-access-action{margin-top:.4rem}
@media(max-width:1050px){.closing-band{align-items:start;flex-direction:column}}
@media(max-width:680px){.closing-band{padding:1.4rem}.benefit-title{font-size:1.02rem;gap:.85rem;padding:1.1rem .1rem}.benefit-detail{padding:0 .1rem 1.4rem .1rem}.benefit-list{margin-top:1.8rem}}
/* The headline is a sentence, so it is set smaller than a three word headline and its lines are balanced rather than left with one orphan word. */
.hero.product-hero h1{font-size:clamp(2.1rem,3.6vw,3.4rem);max-width:none;text-wrap:balance}.hero-price{display:block;margin-top:.15rem}
/* Under the headline: the sentence that names the unit of work, the plain reading of the category line above the headline, and the free and paid split. */
.hero-subhead{font-size:1.3rem;line-height:1.4;font-weight:600;color:var(--ink);max-width:620px;margin:1.3rem 0 0;text-wrap:balance;overflow-wrap:anywhere}
.hero-positioning{color:var(--muted);font-size:1rem;line-height:1.65;max-width:620px;margin:1.1rem 0 0;padding-left:1rem;border-left:3px solid var(--border);overflow-wrap:anywhere}
.hero-split{font-weight:600;color:var(--ink);max-width:620px;margin:1.3rem 0 0;overflow-wrap:anywhere}
@media(max-width:680px){.hero-subhead{font-size:1.12rem}.hero-positioning{font-size:.95rem;padding-left:.8rem}}
@media(max-width:680px){.benefit-title{padding:1.1rem .25rem}.benefit-detail{padding:0 .25rem 1.4rem .25rem}}
.browse{margin-top:1.25rem}.browse-controls{display:flex;flex-wrap:wrap;gap:0 1rem;align-items:end}.browse-field{flex:1 1 200px;min-width:min(220px,100%)}.browse-field select{width:100%;max-width:100%}#refresh-browse{margin-top:.9rem;flex:1 1 auto;min-width:0}.browse-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem}.browse-groups{min-width:0}.browse-group{border-top:1px solid var(--border);padding:1rem 0;min-width:0}.browse-group-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.browse-group h3{margin:0;overflow-wrap:anywhere}.browse-group .caption{margin:.3rem 0 0}.browse-empty{margin:.7rem 0 0;color:var(--muted);font-size:.9rem}.browse-list{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.5rem}.browse-item{display:grid;gap:.25rem;width:100%;text-align:left;padding:.7rem .8rem}.browse-item[aria-current=true]{border-color:var(--accent);background:var(--soft)}.browse-item-name{font-weight:600;overflow-wrap:anywhere}.browse-item-facts{font-size:.82rem;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.browse-detail{border:1px solid var(--border);border-radius:10px;padding:1rem;min-width:0}.browse-detail h3{margin:0 0 .2rem;overflow-wrap:anywhere}.browse-detail p{margin:.4rem 0 0}.browse-detail button{width:100%;margin-top:.9rem}
@media(max-width:900px){.browse-layout{grid-template-columns:1fr}}
@media(max-width:680px){#refresh-browse{width:100%}.browse-controls{gap:0}}
/* The privacy notice. Its one table says what is stored, why and where. On a narrow screen each row becomes a block
   that names its own columns, so the page never moves sideways and every cell keeps its heading. */
[data-view=privacy]{overflow-wrap:anywhere}.privacy-kind{margin:1.2rem 0 1.6rem}.privacy-table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem}.privacy-table th,.privacy-table td{text-align:left;vertical-align:top;padding:.75rem 1rem .75rem 0;border-top:1px solid var(--border)}.privacy-table th{font-size:.875rem;color:var(--muted);font-weight:600}.privacy-table td{color:var(--muted)}.privacy-table td:first-child{color:var(--ink);font-weight:600}.privacy-table code{font-size:.9em}.privacy-list{padding-left:1.2rem;color:var(--muted)}.privacy-list li+li{margin-top:.5rem}
@media(max-width:680px){.privacy-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.privacy-table,.privacy-table tbody,.privacy-table tr,.privacy-table td{display:block;width:100%}.privacy-table tr{border-top:1px solid var(--border);padding:.8rem 0}.privacy-table td{border:0;padding:.2rem 0}.privacy-table td::before{content:attr(data-label);display:block;font-size:.8125rem;font-weight:600;color:var(--muted)}}
/* The terms of service. The nine sections are one numbered list whose numbers are written in the text, so the served
   words are the approved words and a reader who copies or prints the terms keeps each number beside its section. */
[data-view=terms]{overflow-wrap:anywhere}.terms-date{margin:.4rem 0 1.6rem}.terms-list{list-style:none;margin:1.2rem 0 1.8rem;padding:0;display:grid;gap:1rem;color:var(--muted)}.terms-list li{display:grid;grid-template-columns:2.2rem minmax(0,1fr)}.terms-number{font-weight:600;color:var(--ink)}.terms-list strong{color:var(--ink)}
/* The sentence above the account creation button names both notices a new account agrees to, and links each one. */
.signup-consent{margin:.2rem 0 1rem;font-size:.95rem;color:var(--muted)}
/* The workspace holds long single words, such as an address, a method name or an exact reference. At
   enlarged text on a narrow screen they pushed the page sideways, so they break instead. */
.caption{overflow-wrap:anywhere}input{max-width:100%}
/* The Get started funnel and the page a message link opens. One light band, 64 pixels of padding on a wide screen and 40 on a
   phone, no dark band. On a wide screen the five steps stand on the left and the card for the current step on the right, so
   the heading, the price, the steps and the first step's field and button share the first screen. On a phone the card comes
   first, so its field and button stay in the first screen and the steps follow. */
main:has(> [data-view="start"]:not([hidden])),main:has(> [data-view="confirm"]:not([hidden])){max-width:none;padding:0}
.funnel-band{padding:64px max(var(--band-gutter),calc((100% - var(--content-max)) / 2));background:var(--ground)}
.funnel-head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.funnel-head>*{margin:0}
.funnel-head h1{font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.08;letter-spacing:-.035em}
.funnel-price{color:var(--muted);font-size:var(--text-lead)}
.funnel-layout{display:grid;grid-template-columns:minmax(0,20rem) minmax(0,36rem);grid-template-areas:"steps card";gap:3rem;align-items:start}
.funnel-steps{grid-area:steps;display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}
.funnel-steps li{display:flex;align-items:flex-start;gap:.875rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:12px}
.funnel-steps li.is-current{background:var(--paper);border-color:var(--line-strong)}
.funnel-step-number{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1.5px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:.8125rem;font-weight:700}
.funnel-steps li.is-current .funnel-step-number{background:var(--button);border-color:var(--button);color:var(--button-ink)}
.funnel-steps li.is-done .funnel-step-number{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
.funnel-step-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.funnel-step-text strong{font-size:1rem;font-weight:600}
.funnel-step-text>span{color:var(--subtle);font-size:.875rem}.funnel-step-text a{text-decoration:none}
.funnel-card{grid-area:card;min-width:0;padding:2rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-panel);overflow-wrap:anywhere}
.funnel-card-step{margin:0;color:var(--subtle);font-family:var(--font-mono);font-size:.8125rem}
.funnel-card h2,.funnel-card h1{margin:.25rem 0 .5rem;font-size:1.5rem;line-height:1.2;letter-spacing:-.02em}
.funnel-panel>p:not(.funnel-card-step),.funnel-card>div>p:not(.funnel-card-step){margin:.5rem 0;color:var(--muted)}
.funnel-card form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
.funnel-card label{margin:.25rem 0 0;font-size:.9375rem;font-weight:600}.funnel-card input{min-height:48px;padding:.65rem .875rem}
.funnel-card .signup-consent{margin:.25rem 0;color:var(--muted);font-size:.9rem}
.funnel-card form button,.funnel-panel>.button,.funnel-card>div>.button,.funnel-actions>*{align-self:flex-start;min-height:52px;padding:0 1.6rem;border-radius:var(--radius-button);font-size:1.0625rem}
.funnel-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.funnel-panel>.button,.funnel-card>div>.button{margin-top:.75rem}
.funnel-card [role=status]:not(:empty){margin:1rem 0 0}.funnel-signin{margin:1.25rem 0 0;font-size:.9375rem;color:var(--muted)}
.confirm-card{max-width:36rem;margin:0 auto}.confirm-card h1{font-size:clamp(1.75rem,2.6vw,2.25rem)}
@media(max-width:860px){.funnel-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"card" "steps";gap:2rem}}
@media(max-width:600px){.funnel-band{padding:40px 1rem}.funnel-head{margin-bottom:1.25rem}.funnel-head h1{font-size:1.875rem}.funnel-price{font-size:1rem}.funnel-card{padding:1.25rem}.funnel-card h2,.funnel-card h1{font-size:1.375rem}.funnel-card form button,.funnel-panel>.button,.funnel-card>div>.button,.funnel-actions>*{width:100%;justify-content:center}}
