@font-face{font-family:Space;src:url('fonts/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{
  --paper:#f3f2e9;--ink:#173b31;--soft:#4f675b;--line:#c7cfc0;
  --acid:#d9ef7a;--white:#fffef7;--rust:#a44322;--panel:#e8ecdd;
  --code:#e8ecdf;--display:Space,Arial,sans-serif;--body:Arial,Helvetica,sans-serif;
  --radius:14px;--gutter:clamp(24px,5.5vw,80px);
  color-scheme:light;scroll-behavior:auto;
}
*{box-sizing:border-box}
html{scroll-padding-top:32px;scrollbar-color:#9aa98c var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--acid);color:var(--ink)}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--rust)}
button,input,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--rust);outline-offset:5px}
button:disabled{opacity:.55;cursor:wait}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(3.25rem,6.8vw,6rem);margin-bottom:28px}
h2{font-size:clamp(2rem,3.4vw,3.2rem);margin-bottom:22px}
h3{font-size:1.45rem;margin-bottom:9px;letter-spacing:-.025em;line-height:1.2}
p{max-width:70ch;margin-bottom:24px}
code,.mono,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.84em;letter-spacing:0;font-variant-numeric:tabular-nums}
pre{overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:26px;background:var(--code);border-radius:10px;line-height:1.85}
code{overflow-wrap:anywhere}
main{max-width:1440px;margin:auto;padding:0 var(--gutter)}
main:focus{outline:0}
section[id]{scroll-margin-top:32px}
table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.9rem}
th,td{text-align:left;padding:18px 14px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
th:first-child{width:48%}
th{font-size:12px;font-weight:600;color:var(--soft)}
td code{font-size:.9em}
.sr{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.skip{position:absolute;top:-100px;left:24px;padding:12px 18px;background:var(--acid);z-index:10;border-radius:6px}
.skip:focus{top:16px}
.mast{min-height:104px;max-width:1440px;padding:18px var(--gutter);margin:auto;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line)}
.brand{min-height:44px;display:inline-flex;gap:13px;align-items:center;text-decoration:none;font-family:var(--display);font-size:24px;font-weight:600;letter-spacing:-.04em;line-height:1.1;flex-shrink:0}
.brand:hover{color:var(--ink)}
.brand-mark{display:block;width:44px;height:44px;flex-shrink:0}
.brand-still,.brand-motion{width:100%;height:100%;object-fit:contain}
.brand-motion{display:none;overflow:visible}
.brand-trace{fill:none;stroke:var(--rust);stroke-width:112;stroke-linecap:round;stroke-dasharray:.16 2;stroke-dashoffset:.16}
.brand-return{fill:var(--rust);opacity:0}
.brand-dot{color:var(--rust)}
.brand-context{display:block;font-family:var(--body);font-size:11px;font-weight:400;letter-spacing:.02em;line-height:1.4;margin-top:4px;color:var(--soft)}
.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px}
.main-nav a{text-decoration:none;min-height:44px;display:flex;align-items:center;position:relative;white-space:nowrap}
.main-nav a[aria-current]{color:var(--ink);font-weight:600}
.main-nav a[aria-current]:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--rust)}
.main-nav a:not([aria-current]):after{content:'';position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:left}
.main-nav a:not([aria-current]):is(:hover,:focus-visible):after{transform:scaleX(1)}
.header-cta{display:inline-flex;gap:20px;align-items:center;min-height:44px;font-size:13px;text-decoration:none;border:1px solid var(--ink);padding:10px 16px;border-radius:6px;white-space:nowrap}
.header-cta:hover{background:var(--ink);color:var(--white)}
.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:7%;padding:72px 0 64px;align-items:center}
.hero h1{max-width:12ch}
.hero-copy>p{font-size:17px;max-width:43ch;color:var(--soft);margin-bottom:30px}
.soft{color:#647454}
.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 21px;min-height:52px;font-size:13px;font-weight:600;text-decoration:none;border-radius:6px;border:0;line-height:1.4}
.primary{background:var(--ink);color:var(--white)}
.primary:hover{background:#2b5141;color:var(--white)}
.primary:active,.header-cta:active{background:#102c24}
.secondary{background:transparent;box-shadow:inset 0 0 0 1px #9aaa93}
.secondary:hover{background:var(--panel);color:var(--ink)}
.button.light{background:var(--acid);color:var(--ink)}
.button.light:hover{background:#e6f6ac}
.text-link{font-size:14px;font-weight:600;line-height:1.6}
.text-link .arrow-icon{margin-left:5px}
.hero-foot{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:12px;color:var(--soft)}
.signal{width:7px;height:7px;border-radius:50%;background:var(--ink);display:inline-block;flex-shrink:0}
.instrument{background:var(--panel);border-radius:var(--radius);overflow:hidden;border:1px solid #b9c5ad;align-self:center}
.instrument-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #bac5ae;padding:19px 24px;font-size:11px;letter-spacing:.065em;font-weight:600;line-height:1.5}
.tag{display:inline-block;padding:5px 9px;border:1px solid #82947b;border-radius:4px;line-height:1.4;font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:0;white-space:nowrap}
.channel-line{display:flex;justify-content:space-between;align-items:center;padding:24px 26px 0;font-size:12px}
.channel{display:flex;gap:8px;align-items:center;letter-spacing:.08em;font-size:11px}
.channel i{width:6px;height:6px;background:var(--rust);border-radius:50%}
.trace-visual{padding:14px 26px 22px}
.trace-rule{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--soft)}
.trace-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:8px;margin:0 18px;padding:16px 8px;font-size:11px;align-items:center;border-top:1px solid #bac5ae}
.trace-row code{font-size:11px}
.trace-index{font-weight:600}
.trace-row.active{background:var(--acid);margin:0;padding:18px 26px}
.trace-caption{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.6;padding:18px 26px;color:var(--soft)}
.tiny-square{width:5px;height:5px;background:var(--ink);flex-shrink:0}
.instrument-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 26px;background:var(--ink);color:var(--white);font-size:13px;text-decoration:none}
.instrument-bottom:hover{color:var(--acid)}
.feature-strip{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;font-size:12px;color:var(--soft);gap:20px}
.feature-strip>div{display:flex;gap:28px}
.tools-section{padding:88px 0 96px;display:grid;grid-template-columns:.9fr 1.2fr;gap:9%}
.section-intro p{color:var(--soft);font-size:16px;max-width:36ch}
.resource-row{display:grid;grid-template-columns:80px minmax(0,1fr) 22px;gap:20px;padding:29px 0;border-bottom:1px solid var(--line);text-decoration:none}
.resource-row:first-child{border-top:1px solid var(--line)}
.resource-row:is(:hover,:focus-visible) h3{text-decoration:underline;text-underline-offset:5px}
.resource-row p{font-size:14px;line-height:1.65;color:var(--soft);margin:0}
.resource-type{font-size:11px;letter-spacing:.025em;padding-top:4px;font-weight:600;color:var(--soft)}
.arrow{padding-top:3px}
.install-band{background:var(--ink);color:var(--white);padding:52px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1.3fr;gap:8%}
.install-band h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.install-band>div>p{color:#c2d0bd;font-size:15px;margin-bottom:25px}
.terminal{min-width:0;align-self:center}
.terminal-top{display:flex;justify-content:space-between;gap:16px;letter-spacing:.04em;font-size:11px;color:#c2d0bd;border-bottom:1px solid #567259;padding-bottom:16px}
.terminal pre{padding:24px 0 14px;background:transparent;margin:0;font-size:12px;line-height:1.95;color:var(--acid)}
.terminal .muted{color:#c2d0bd}
.terminal>p{font-size:12px;color:#c2d0bd;margin:0}
.ethos{max-width:800px;padding:96px 0 100px}
.ethos h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.ethos p{font-size:16px;color:var(--soft);margin-bottom:26px}
.footer{max-width:1440px;padding:38px var(--gutter);margin:auto;border-top:1px solid var(--line);display:flex;gap:36px;justify-content:space-between;align-items:flex-start}
.footer-name{display:inline-flex;gap:9px;align-items:center;font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.03em;text-decoration:none;line-height:1.2;min-height:32px}
.footer-name .brand-dot{margin-left:-9px}
.footer-name img{object-fit:contain}
.footer p{color:var(--soft);font-size:12px;margin:12px 0 0}
.footer-links{display:grid;grid-template-columns:auto auto;gap:6px 24px;font-size:12px}
.footer-links a{min-height:44px;display:flex;align-items:center}
.footer .footer-note{font-size:11px;line-height:1.85;margin:4px 0 0}
.breadcrumbs{padding-top:20px;font-size:12px;color:var(--soft)}
.breadcrumbs ol{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:center;gap:12px;min-height:44px}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.breadcrumbs+.page-title{padding-top:24px}
.page-title{padding:64px 0 48px;max-width:1000px}
.page-title h1{font-size:clamp(3rem,5.8vw,5.3rem);margin-bottom:26px}
.page-title>p{color:var(--soft);font-size:18px;max-width:57ch;margin-bottom:0}
.page-title .actions{margin-top:28px}
.demo-layout,.validator-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:8px 0 88px}
.demo-control h2{font-size:32px;max-width:16ch}
.demo-control p{font-size:16px;color:var(--soft)}
.demo-control form{margin-top:16px}
.demo-control .small{margin:28px 0}
.small{font-size:13px!important;line-height:1.75;color:var(--soft)}
.ledger{background:var(--panel);border-radius:var(--radius);overflow:hidden;align-self:start}
.ledger dl{margin:0;padding:0 24px}
.ledger dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #c1ccb4;padding:17px 0;font-size:13px}
.ledger dt{color:var(--soft)}
.ledger dd{margin:0;text-align:right;font-family:ui-monospace,monospace;font-size:12px;font-variant-numeric:tabular-nums;max-width:58%;overflow-wrap:anywhere}
.ledger-note{font-size:13px;padding:22px 24px;margin:0;color:var(--soft)}
.ledger[data-state=complete] .tag{background:var(--acid);border-color:#93a865}
.ledger[data-state=issued] .tag{background:var(--white)}
.experiment-flow{padding:16px 24px 8px;border-bottom:1px solid #c1ccb4}
.flow-map{display:block;width:100%;height:auto;overflow:visible}
.flow-track{fill:none;stroke:var(--soft);stroke-width:1}
.flow-progress{fill:none;stroke:var(--ink);stroke-width:1.5}
.flow-node{fill:var(--panel);stroke:var(--soft);stroke-width:1.5}
.flow-node.is-recorded{fill:var(--acid);stroke:var(--ink)}
.flow-packet{fill:var(--rust)}
.flow-motion,.flow-replay,.flow-logo{display:none}
.flow-labels{display:grid;grid-template-columns:repeat(3,1fr);font-size:11px;text-align:center;color:var(--soft)}
.flow-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 18px;margin-top:8px}
.flow-logo{min-height:44px;align-items:center;font-size:11px;color:var(--soft)}
.flow-replay{min-height:44px;padding:8px 0 8px 12px;background:none;border:0;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.flow-replay:hover{color:var(--rust)}
.guide-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:7%;padding-bottom:80px}
.guide-nav{display:flex;flex-direction:column;gap:4px;align-self:start;position:sticky;top:30px;font-size:14px;border-top:1px solid var(--line);padding-top:18px}
.guide-nav>span{font-size:12px;color:var(--soft);margin-bottom:12px}
.guide-nav a{min-height:44px;display:flex;align-items:center;padding:8px 0;text-decoration:none;line-height:1.6}
.guide-nav a:hover{text-decoration:underline}
.guide-layout h2{font-size:32px}
.guide-layout>div>section{margin-bottom:60px}
.guide-layout>div>section:last-child{margin-bottom:0}
.guide-layout .resource-row{grid-template-columns:78px minmax(0,1fr) 22px}
.prose{font-size:16px;color:var(--soft)}
.prose h2{color:var(--ink);margin-top:56px;font-size:32px}
.prose p{margin-bottom:24px}
.prose pre{font-size:13px;color:var(--ink)}
.prose table{margin:28px 0}
.prose :not(pre)>code{color:var(--ink);background:var(--code);padding:2px 5px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.prose section:first-child h2,.prose>h2:first-child{margin-top:0}
.narrow{max-width:820px;padding-bottom:76px}
.validator-controls{min-width:0}
.field-hint{font-size:13px;line-height:1.5;color:var(--soft);margin-bottom:12px}
.text-button{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;background:transparent;font-size:13px;text-align:left;text-decoration:underline;text-underline-offset:4px}
.text-button:hover{color:var(--rust)}
.validator textarea[aria-invalid=true]{border-color:var(--rust)}
.validator label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.validator textarea{display:block;width:100%;resize:vertical;background:var(--white);border:1px solid var(--soft);padding:17px;border-radius:8px;line-height:1.7;caret-color:var(--rust);font-family:ui-monospace,monospace;font-size:14px}
.validator textarea::placeholder{color:#667760;opacity:1}
.validator textarea:hover{border-color:var(--ink)}
.validator button{margin:22px 0 14px}
.validation-result{padding:30px;background:var(--panel);border-radius:var(--radius);align-self:start}
.validation-result:focus{outline:3px solid var(--rust);outline-offset:5px}
.validation-result h2{font-size:32px;margin:25px 0 18px}
.validation-result p{font-size:15px;color:var(--soft);margin-bottom:0}
.validation-result dl{font-size:13px;margin-top:24px;margin-bottom:0}
.validation-result dt{color:var(--soft)}
.validation-result dd{margin:5px 0 18px;font-family:ui-monospace,monospace;font-size:12px}
.validation-result dd:last-child{margin-bottom:0}
.validation-result[data-state=valid] .tag{background:var(--acid);border-color:#93a865}
.validation-result[data-state=invalid] .tag{color:var(--rust);border-color:var(--rust)}
.validation-result[data-state=valid] .tag{display:inline-flex;align-items:center;gap:7px}
.status-mark{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.status-mark path{stroke-dasharray:1;stroke-dashoffset:0}
.break{overflow-wrap:anywhere}
.specimen{background:var(--panel);border-radius:var(--radius);overflow:hidden;max-width:880px;margin-bottom:60px}
.specimen>h2,.specimen>p,.specimen>dl,.specimen>.text-link{margin:28px 30px}
.specimen>h2{font-size:30px}
.specimen dl{display:flex;gap:40px;flex-wrap:wrap}
.specimen dt{font-size:12px;color:var(--soft)}
.specimen dd{margin:5px 0 0;font-family:ui-monospace,monospace;font-size:16px}
.specimen>.text-link{display:inline-block}
.definitions dt{font-family:var(--display);font-size:23px;color:var(--ink);margin-top:28px;line-height:1.3}
.definitions dd{margin:10px 0 26px;max-width:68ch}
.arrow-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;flex-shrink:0}
.resource-row .arrow-icon{width:21px;height:21px}
@media(prefers-reduced-motion:no-preference){
  .brand-still{display:none}.brand-motion{display:block}
  a,button,textarea{transition:background-color .18s,color .18s,border-color .18s,transform .12s ease-out}
  .main-nav a:not([aria-current]):after{transition:transform .2s cubic-bezier(.16,1,.3,1)}
  .button:active,.header-cta:active{transform:translateY(1px)}
  .flow-motion{display:inline}.flow-replay,.flow-logo{display:inline-flex;align-items:center}
  .validation-result[data-state=valid] .status-mark path{animation:checksum-confirm .36s cubic-bezier(.16,1,.3,1) both}
}
@keyframes checksum-confirm{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:1100px){
  .mast{gap:24px}.header-cta{display:none}.main-nav{gap:26px}
  .hero{gap:5%;padding-top:56px}.hero-copy>p{font-size:16px}.hero .actions{gap:20px}
  .tools-section{gap:6%;grid-template-columns:.9fr 1.2fr}
  .resource-row{grid-template-columns:72px minmax(0,1fr) 20px;gap:14px}
  .install-band{padding:36px;gap:7%;grid-template-columns:1fr 1.1fr}
  .guide-layout{grid-template-columns:170px minmax(0,1fr);gap:5%}
  .trace-row{grid-template-columns:58px minmax(0,1fr) auto;gap:6px}
  .trace-row code{font-size:10px}
  .footer{flex-wrap:wrap}.footer-note{width:100%}
}
@media(max-width:760px){
  .mast{min-height:0;padding-top:22px;padding-bottom:12px;flex-wrap:wrap;gap:16px}
  .brand{font-size:23px}.brand-mark{width:39px;height:39px}.brand-context{font-size:11px}
  .main-nav{width:100%;justify-content:space-between;margin:0;gap:18px;font-size:13px}
  .main-nav a{min-height:44px}.main-nav a[aria-current]:after{bottom:5px}
  .hero{grid-template-columns:1fr;padding:42px 0 38px;gap:38px}
  .hero h1{font-size:clamp(3.25rem,9.5vw,4rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:25px}
  .hero-copy>p{font-size:16px;max-width:44ch}.hero .actions{gap:22px}.hero-foot{font-size:12px;margin-top:25px}
  .instrument{max-width:560px;width:100%}.trace-visual{padding-top:8px}
  .trace-row{grid-template-columns:58px minmax(0,1fr) auto}.trace-row code{font-size:10px}
  .trace-row.active{padding-left:24px;padding-right:24px}
  .feature-strip{display:block;padding:20px 0;font-size:12px}.feature-strip>div{gap:20px;margin-top:12px;font-size:11px;flex-wrap:wrap}
  .tools-section{grid-template-columns:1fr;gap:25px;padding:52px 0}
  .section-intro h2{font-size:34px}.section-intro p{max-width:42ch}
  .resource-row,.guide-layout .resource-row{grid-template-columns:70px minmax(0,1fr) 18px;padding:25px 0;gap:12px}
  .resource-row h3{font-size:21px}.resource-type{font-size:10px;padding-top:5px}.resource-row p{font-size:14px}
  .install-band{grid-template-columns:1fr;padding:28px;gap:34px}.install-band h2{font-size:34px}.terminal pre{font-size:11px}
  .ethos{padding:58px 0}.ethos h2{font-size:33px}.ethos p{font-size:16px}
  .footer{padding-top:30px;padding-bottom:30px;gap:26px}.footer-links{gap:6px 24px}.footer .footer-note{width:100%;margin:0}
  .breadcrumbs{padding-top:12px}.breadcrumbs+.page-title{padding-top:20px}
  .page-title{padding:42px 0 36px}.page-title h1{font-size:clamp(2.75rem,8.8vw,3.6rem);margin-bottom:23px}.page-title>p{font-size:17px}
  .demo-layout,.validator-layout{grid-template-columns:1fr;gap:32px;padding-bottom:56px}.demo-control h2{font-size:30px;max-width:none}
  .guide-layout{grid-template-columns:1fr;gap:34px;padding-bottom:50px}
  .guide-nav{position:static;display:grid;grid-template-columns:1fr 1fr;font-size:13px;border-bottom:1px solid var(--line);padding:16px 0}
  .guide-nav>span{grid-column:1/-1;margin:0 0 4px}.guide-nav a{padding:8px 0}
  .guide-layout h2,.prose h2{font-size:28px}.guide-layout>div>section{margin-bottom:48px}
  .prose{font-size:16px}.prose pre{padding:20px;font-size:12px}th,td{padding:15px 10px}
  .specimen>h2{font-size:25px}.specimen>h2,.specimen>p,.specimen>dl,.specimen>.text-link{margin:24px}.specimen dl{gap:24px}
  .ledger dl>div{font-size:13px}.ledger dd{font-size:11px}.instrument-head{font-size:10px;padding:18px 22px}.tag{font-size:10px}
  .narrow{padding-bottom:50px}
}
@media(max-width:360px){
  :root{--gutter:20px}.brand{font-size:22px}.brand-mark{width:36px;height:36px}
  .resource-row,.guide-layout .resource-row{grid-template-columns:minmax(0,1fr) 18px}.resource-type{grid-column:1/-1;padding:0}.resource-row .arrow{grid-column:2;grid-row:2}
  .trace-row,.trace-row.active{padding-left:14px;padding-right:14px;margin:0;grid-template-columns:49px minmax(0,1fr) auto}.trace-row code{font-size:9px}
  .trace-caption,.instrument-bottom{padding-left:20px;padding-right:20px}.trace-rule{font-size:10px}.instrument-head{padding:16px 18px;gap:10px}
  .ledger dl{padding:0 20px}.ledger dl>div{gap:12px;font-size:12px}.ledger dd{font-size:10px}.install-band{padding:24px}
}

/* One finite Fourier construction, with the completed mark as the default fallback. */
.fourier-drawing{display:block;width:100%;height:224px;color:var(--ink);overflow:visible}
.fourier-guides{stroke:#acb99c;stroke-width:.7;opacity:.65}
.fourier-sequence{display:none}
.fourier-wheel{stroke:#8a9b78;stroke-width:.7;vector-effect:non-scaling-stroke}
.fourier-vector{fill:none;stroke:#6f8562;stroke-width:.85;vector-effect:non-scaling-stroke}
.fourier-tip{fill:var(--rust)}
.fourier-trail{stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.trace-rule{align-items:center;min-height:40px;gap:16px}
.motion-jump{display:none;align-items:center;min-height:44px;margin-top:8px;font-size:12px;color:var(--soft)}
.motion-replay{display:none;min-height:44px;padding:8px 0 8px 12px;font-size:11px;line-height:1.4;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
.motion-replay:hover{color:var(--rust)}
.resource-row{border-radius:0}
.resource-row:is(:hover,:focus-visible) .arrow-icon{color:var(--rust)}
@media(prefers-reduced-motion:no-preference){
  .fourier-still{display:none}.fourier-sequence{display:inline}.motion-replay,.motion-jump{display:inline-flex;align-items:center}
  .arrow-icon{transition:transform .18s cubic-bezier(.16,1,.3,1)}
  :is(.button,.resource-row,.header-cta):is(:hover,:focus-visible) .arrow-icon{transform:translate(2px,-2px)}
}
@media(max-width:760px){
  .fourier-drawing{height:210px}.trace-visual{padding-left:22px;padding-right:22px}
}
