@import url("./shared/pointerField.css");
:root {
  --paper:#f3efe7; --ink:#292421; --muted:#75685f; --line:#d7cec2;
  --red:#b72832; --red-dark:#76232c; --red-soft:#ead2c8; --amber:#9a681c;
  font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;
  color-scheme:light; background:var(--paper); color:var(--ink);
}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:5px}::selection{background:var(--red);color:var(--paper)}html{scroll-behavior:smooth;scroll-padding-top:24px}
.skip-link{position:absolute;top:12px;left:20px;z-index:10;transform:translateY(-180%);padding:12px;background:var(--ink);color:var(--paper)}.skip-link:focus{transform:none}
.site-header,.home-main,footer{max-width:1440px;margin-inline:auto;padding-inline:clamp(20px,5vw,80px)}
.site-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.cup-brand{display:flex;align-items:center;gap:22px}.cup-brand strong{font:bold 43px/.9 Georgia,serif;letter-spacing:-3px;color:var(--red)}.cup-brand small{font:10px/1.7 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:var(--muted)}.legacy-nav{display:flex;align-items:center;gap:28px;font-size:12px}.legacy-nav a{min-height:44px;display:flex;align-items:center;gap:16px;border-bottom:1px solid transparent}.legacy-nav a:hover{color:var(--red);border-bottom-color:var(--red)}.legacy-nav .reflex-entry{font-weight:650;color:var(--red)}
.interval-hero{display:grid;grid-template-columns:1.15fr .85fr;column-gap:56px;padding-top:32px}.hero-kicker,.measure-index,.instrument-caption,.section-index,.tool-index,.article-meta{font:10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.07em}.hero-kicker{display:flex;align-items:center;gap:12px;margin:0 0 24px}.hero-kicker>span:last-child{margin-left:auto;color:var(--red);font-size:10px}.brand-signal{display:flex;gap:3px;align-items:end;height:16px}.brand-signal i{display:block;width:4px;background:var(--red);height:10px}.brand-signal i:nth-child(2){height:16px}.brand-signal i:nth-child(3){height:13px}.hero-copy h1{font-size:clamp(54px,6.8vw,96px);font-weight:600;line-height:1.12;letter-spacing:-.055em;margin:0}.hero-copy h1 em{font-style:normal;color:var(--red);font-weight:450}.hero-action{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:26px}.hero-action p{font-size:12px;line-height:1.9;color:var(--muted);margin:0;flex-shrink:0}.feature-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:244px;min-height:64px;padding:16px 22px;background:var(--red);color:#fff7f0;font-size:17px;font-weight:600;transition:background-color 140ms,box-shadow 100ms}.feature-cta span{font-size:25px}.feature-cta:hover{background:var(--red-dark)}.feature-cta:active{box-shadow:inset 0 3px 0 #0003}.feature-cta:focus-visible{outline-offset:5px}
.hero-measure{position:relative;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:44px;min-width:0}.measure-index{margin:0;color:var(--muted)}.measure-index span{color:var(--red)}.measure-value{position:relative;display:flex;align-items:baseline;gap:16px;line-height:.94;margin:22px 0 8px;color:var(--red)}.measure-value strong{font:400 clamp(120px,16vw,218px)/.9 Georgia,serif;letter-spacing:-.08em;font-variant-numeric:lining-nums}.measure-unit{writing-mode:vertical-rl;font:9px ui-monospace,monospace;letter-spacing:.24em;position:absolute;right:0;top:12px}.measure-pair{font:32px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.06em;margin:18px 0 0}.measure-pair span{color:var(--red);margin-inline:12px}.measure-context{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 0}
.demo-instrument{grid-column:1/-1;margin-top:32px;padding-block:16px 0;border-top:1px solid var(--line)}.instrument-caption{display:flex;justify-content:space-between;gap:16px;color:var(--muted);margin-bottom:12px}.instrument-caption span:first-child{color:var(--ink)}.demo-ruler{height:40px;position:relative;margin-inline:10px;border-top:1px solid var(--line)}.ruler-tick{position:absolute;top:0;height:7px;border-left:1px solid #9c8c7d}.ruler-tick span{position:absolute;top:13px;left:0;transform:translateX(-50%);font:10px ui-monospace,monospace;color:var(--muted);white-space:nowrap}.ruler-reach{position:absolute;left:0;top:-2px;height:3px;width:var(--reach);background:var(--red);transition:width 180ms cubic-bezier(.2,.7,.2,1)}.ruler-origin,.ruler-destination{position:absolute;top:-5px;width:9px;height:9px;background:var(--red)}.ruler-origin{left:-4px;border-radius:50%}.ruler-destination{left:var(--reach);transform:translateX(-50%) rotate(45deg);transition:left 180ms cubic-bezier(.2,.7,.2,1)}
.demo-keyboard{display:flex;position:relative;background:#2d2926;border:1px solid #bcb1a3;isolation:isolate}.demo-octave{position:relative;width:50%;height:118px;display:flex}.demo-key{position:relative;display:flex;justify-content:end;align-items:center;flex-direction:column;border:0;border-radius:0;padding:8px 2px;touch-action:manipulation;transition:background-color 80ms}.demo-white{width:calc(100% / 7);height:100%;background:#fffaf0;box-shadow:inset -1px 0 #bcb1a3,inset 0 -4px #d7cdbf;color:#68574b;z-index:1}.demo-black{position:absolute;top:0;height:63%;width:9.7143%;background:#302b28;color:#f3efe7;box-shadow:inset 0 -4px #1b1917;z-index:2}.demo-key span{font:10px ui-monospace,monospace;pointer-events:none}.demo-key.is-origin::before{content:'1';position:absolute;bottom:38%;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--red);color:white;font:11px ui-monospace,monospace}.demo-key.is-selected::after{content:'2';position:absolute;bottom:38%;display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--amber);background:#f0d9b2;color:#5b3907;font:11px ui-monospace,monospace;transform:rotate(-8deg)}.demo-white.is-selected{background:#f1ddc3}.demo-white.is-origin{box-shadow:inset 0 -4px var(--red),inset -1px 0 #bcb1a3}.demo-black.is-selected{background:#674426}.demo-key:active{box-shadow:inset 0 4px 0 #0003,inset 0 -1px #0002}.demo-status{font-size:10px;line-height:1.7;color:var(--muted);margin:9px 0 0}
.tools-section{padding-block:54px 60px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.section-index{margin:0;color:var(--red)}.section-heading h2{margin:8px 0 0;font-size:24px;font-weight:550;letter-spacing:-.03em}.section-heading>p{font-size:12px;color:var(--muted)}.tools-grid{border-top:1px solid var(--line)}.tool-card{display:grid;grid-template-columns:140px 90px 1fr 1fr 32px;align-items:center;gap:24px;min-height:108px;border-bottom:1px solid var(--line);transition:color 140ms}.tool-index{color:var(--muted)}.tool-card svg{width:72px;height:32px;color:var(--red)}.tool-card h3{font-size:30px;font-weight:500;letter-spacing:-.04em;margin:0}.tool-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.tool-card>span:last-child{font-size:27px;color:var(--red);justify-self:end}.tool-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;color:var(--red)}
.hybrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding-block:54px;border-top:1px solid var(--line)}.hybrid-title h2{font-size:clamp(28px,3.5vw,45px);font-weight:500;letter-spacing:-.05em;line-height:1.4;margin:24px 0}.hybrid-title h2 span{color:var(--red)}.intro-copy{max-width:360px;font-size:13px;line-height:1.9;color:var(--muted)}.personal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.personal-actions button,.safe button{min-height:44px;border:0;border-bottom:1px solid var(--line);padding:10px 0;background:transparent;color:var(--ink);font-size:11px}.personal-actions button:hover,.safe button:hover{color:var(--red);border-color:var(--red)}.article-card{padding:24px 0;border-bottom:1px solid var(--line)}.article-card:first-child{padding-top:0}.article-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.article-card h3{font-size:19px;font-weight:550;line-height:1.5;margin:16px 0 8px}.article-card p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.safe{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.safe p{font-size:11px;line-height:1.9;color:var(--muted);max-width:740px}.safe button{flex-shrink:0}footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-block:28px;border-top:1px solid var(--line)}.footer-brand{display:flex;gap:12px;align-items:center}.footer-brand strong{font:bold 28px Georgia,serif;letter-spacing:-2px;color:var(--red)}.footer-brand span,footer>p{font-size:10px;color:var(--muted)}.filings{display:flex;gap:16px;flex-wrap:wrap}.filings a{display:flex;align-items:center;gap:5px;min-height:30px;font-size:10px;color:var(--muted)}
.dialog-close{position:absolute;right:16px;top:12px;min-width:44px;min-height:44px;border:0;background:none;font-size:24px}dialog{width:min(460px,calc(100% - 40px));padding:36px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#29242199}.dialog-icon{font-size:28px;color:var(--red)}.dialog-label{font:10px ui-monospace,monospace;color:var(--red);margin-top:28px}dialog h2{font-size:28px;line-height:1.4;font-weight:550}dialog p{font-size:12px;line-height:1.9;color:var(--muted)}.dialog-ok{min-height:48px;width:100%;border:0;border-radius:0;background:var(--red);color:white;margin-top:18px}
@media(max-width:1000px){.hero-action{align-items:start;flex-direction:column;gap:18px}.hero-measure{padding-left:32px}.measure-value strong{font-size:180px}.tool-card{grid-template-columns:100px 64px 1fr 1fr 25px;gap:18px}.tool-card svg{width:60px}.tool-card h3{font-size:26px}}
@media(max-width:650px){.site-header{min-height:76px;gap:12px}.cup-brand{gap:12px}.cup-brand strong{font-size:33px}.cup-brand small{font-size:8px}.legacy-nav>a:not(.reflex-entry){display:none}.legacy-nav .reflex-entry{font-size:11px;gap:8px}.interval-hero{grid-template-columns:1fr;padding-top:24px;gap:22px}.hero-kicker{margin-bottom:18px;font-size:9px}.hero-copy h1{font-size:clamp(46px,13vw,65px)}.hero-action{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;margin-top:20px}.hero-action p{font-size:11px}.feature-cta{width:100%;min-height:60px;min-width:0;font-size:16px}.hero-measure{display:grid;grid-template-columns:1fr auto;align-items:center;border-left:0;border-top:1px solid var(--line);padding:16px 0 0;gap:8px}.measure-index{font-size:9px}.measure-value{grid-column:2;grid-row:1/4;margin:0}.measure-value strong{font-size:76px;letter-spacing:-.06em}.measure-unit{display:none}.measure-pair{grid-row:2;margin:0;font-size:22px}.measure-pair span{margin-inline:5px}.measure-context{grid-row:3;font-size:10px;margin:0}.demo-instrument{margin-top:0;padding-top:14px}.instrument-caption{font-size:9px;line-height:1.7;margin-bottom:12px}.instrument-caption span:last-child{display:none}.demo-keyboard{display:block}.demo-octave{width:100%;height:106px}.demo-octave+ .demo-octave{border-top:8px solid var(--ink);height:114px}.demo-key span{font-size:9px}.demo-status{font-size:9px}.tools-section{padding-block:40px}.section-heading>p{display:none}.section-heading h2{font-size:22px}.tool-card{grid-template-columns:44px 1fr 22px;gap:12px;min-height:106px;padding-block:18px}.tool-card .tool-index{grid-column:1;grid-row:1/3;font-size:9px;writing-mode:vertical-rl}.tool-card svg{display:none}.tool-card h3{grid-column:2;grid-row:1;font-size:25px}.tool-card p{grid-column:2;grid-row:2;font-size:11px}.tool-card>span:last-child{grid-column:3;grid-row:1/3;font-size:23px}.hybrid{grid-template-columns:1fr;gap:36px;padding-block:36px}.hybrid-title h2{font-size:34px;margin-block:18px}.safe{flex-direction:column;align-items:start;gap:8px;padding-block:20px}.safe p{margin:0}.filings{flex-direction:column;gap:4px}footer{gap:16px;padding-block:24px}.footer-brand{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Coincident notes keep both endpoint markers readable. */
.demo-key.is-origin.is-selected::before{bottom:55%}


/* U03: Chinese reading scale and an instrument that responds to the hand. */
:root{font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;font-size:16px}
.site-header,.home-main,footer{position:relative;z-index:1}
.legacy-nav,.hero-action p,.measure-context,.section-heading>p,.tool-card p,.intro-copy,.article-card p,.safe p,dialog p{font-size:16px;line-height:1.85}
.hero-kicker,.measure-index,.instrument-caption,.section-index,.tool-index,.article-meta,.demo-status,.personal-actions button,.safe button,.footer-brand span,footer>p,.filings a{font-family:inherit;font-size:14px;letter-spacing:.03em}
.cup-brand small,.hero-kicker>span:last-child,.measure-unit{font-size:12px}
.demo-key span,.ruler-tick span{font-size:12px}
.demo-key{transition:background-color 100ms,box-shadow 100ms}
@media(hover:hover){.demo-white:hover{background:#f1d1c5;box-shadow:inset 0 -6px #b72832,inset -1px 0 #bcb1a3}.demo-black:hover{background:#93434a;box-shadow:inset 0 -5px #541e24}.tool-card:hover{background:#b7283208}.tool-card:hover svg{transform:scale(1.08)}.feature-cta:hover span{transform:translate(4px,-4px)}}
.tool-card svg,.feature-cta span{transition:transform 180ms cubic-bezier(.2,.8,.2,1)}
.hero-copy h1{letter-spacing:-.035em}.hero-action{gap:18px}.hero-action p{flex-shrink:1}.feature-cta{flex-shrink:0}
.demo-white.is-selected{animation:demo-strike 320ms ease-out}.demo-black.is-selected{animation:demo-strike 320ms ease-out}
@keyframes demo-strike{0%{box-shadow:inset 0 9px #b7283270}100%{box-shadow:inset 0 0 #b7283200}}
@media(max-width:650px){.hero-action p,.measure-context,.tool-card p,.safe p,.article-card p{font-size:15px}.hero-kicker,.hero-kicker>span:last-child,.measure-index,.instrument-caption,.demo-status,.tool-card .tool-index{font-size:12px}.legacy-nav .reflex-entry{font-size:14px}.hero-copy h1{letter-spacing:-.03em}.hero-action p br{display:none}.measure-pair{font-size:25px}.demo-key span{font-size:12px}.demo-octave{height:110px}.demo-octave+.demo-octave{height:118px}.article-meta{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.cup-brand small>span{display:block}
@media(max-width:650px){.cup-brand{gap:8px}.cup-brand small{font-family:inherit;font-size:10px;letter-spacing:0;white-space:nowrap}.cup-brand .brand-subtitle{display:none}.legacy-nav .reflex-entry{white-space:nowrap;gap:6px;font-size:14px}}

/* U04: the instrument and navigation share a short attack, with no input lock. */
.brand-signal i{transform-origin:bottom}
.demo-key.is-selected{animation:none}
.feature-cta{position:relative;overflow:hidden}.feature-cta::before{content:'';position:absolute;left:0;bottom:0;right:0;height:3px;background:#fff7f0;scale:0 1;transform-origin:left;transition:scale 160ms ease-out}.feature-cta:hover::before,.feature-cta:focus-visible::before{scale:1 1}
.legacy-nav a{position:relative}.legacy-nav a::after{content:'';position:absolute;left:0;bottom:0;right:0;height:1px;background:var(--red);scale:0 1;transform-origin:left;transition:scale 140ms ease-out}.legacy-nav a:hover::after,.legacy-nav a:focus-visible::after{scale:1 1}
.tool-card svg{transition:none}.tool-card:hover svg{transform:none}.tool-card:hover svg path,.tool-card:focus-visible svg path{animation:tool-signal 420ms ease-out}
.tool-card>span:last-child{transition:translate 160ms ease-out}.tool-card:hover>span:last-child,.tool-card:focus-visible>span:last-child{translate:4px -4px}
.article-card{transition:border-color 140ms}.article-card:hover{border-color:var(--red)}
dialog[open]{animation:dialog-arrive 180ms ease-out}dialog[open]::backdrop{animation:dialog-shade 180ms ease-out}
@keyframes tool-signal{0%{stroke-dasharray:170;stroke-dashoffset:170}100%{stroke-dasharray:170;stroke-dashoffset:0}}
@keyframes dialog-arrive{from{translate:0 6px}to{translate:0}}
@keyframes dialog-shade{from{background:#29242100}to{background:#29242199}}
.hero-entry-pair{display:grid;gap:12px;min-width:240px}.hero-entry-pair .feature-cta{width:100%}.hearing-entry{display:flex;align-items:center;gap:12px;min-height:58px;border-bottom:1px solid var(--line);color:var(--red);padding:8px 0}.hearing-entry>span:nth-child(2){font-size:15px;line-height:1.7}.hearing-entry small{display:block;font-size:12px;color:var(--muted)}.hearing-entry b{font-weight:400;margin-left:auto}.ear-glyph{font:46px/1 Georgia,serif;position:relative}.ear-glyph::after{content:'';position:absolute;inset:5px -5px;border-right:1px solid currentColor;border-radius:50%}.hearing-entry:hover .ear-glyph::after,.hearing-entry:focus-visible .ear-glyph::after{animation:ear-echo 450ms ease-out}.hearing-entry:hover b{translate:2px -2px}.hearing-entry b{transition:translate 100ms}
@keyframes ear-echo{from{transform:scale(.8);opacity:1}to{transform:scale(1.35);opacity:0}}
@media(max-width:760px){.hero-entry-pair{width:100%;min-width:0}.hero-entry-pair .hearing-entry{min-height:58px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
