@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff")}@font-face{font-family:Michroma;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/michroma-latin-400-normal-4gS0VCia.woff2)format("woff2"),url(/assets/michroma-latin-400-normal-C7Pn7qca.woff)format("woff")}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/comfortaa-latin-700-normal-DOtxUU44.woff2)format("woff2"),url(/assets/comfortaa-latin-700-normal-K_GTRK4c.woff)format("woff")}@font-face{font-family:Helvetica Neue;font-weight:100 349;src:local(HelveticaNeue-Light),local(Helvetica Neue Light)}@font-face{font-family:Helvetica Neue;font-weight:350 459;src:local(HelveticaNeue),local(Helvetica Neue)}@font-face{font-family:Helvetica Neue;font-weight:460 639;src:local(HelveticaNeue-Medium),local(Helvetica Neue Medium)}@font-face{font-family:Helvetica Neue;font-weight:640 1000;src:local(HelveticaNeue-Bold),local(Helvetica Neue Bold)}@font-face{font-family:Helvetica Neue;font-style:italic;font-weight:100 349;src:local(HelveticaNeue-LightItalic),local(Helvetica Neue Light Italic)}@font-face{font-family:Helvetica Neue;font-style:italic;font-weight:350 459;src:local(HelveticaNeue-Italic),local(Helvetica Neue Italic)}@font-face{font-family:Helvetica Neue;font-style:italic;font-weight:460 639;src:local(HelveticaNeue-MediumItalic),local(Helvetica Neue Medium Italic)}@font-face{font-family:Helvetica Neue;font-style:italic;font-weight:640 1000;src:local(HelveticaNeue-BoldItalic),local(Helvetica Neue Bold Italic)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0f11;--surface:#15171a;--surface-2:#1c1f23;--surface-3:#24282d;--line:#ffffff13;--line-2:#ffffff21;--text:#ececef;--text-2:#b9bcc3;--muted:#868a93;--accent:#ff6b6f;--green:#79d97c;--focus:#8fb8ff;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--radius:10px;--header:52px;--aside:440px;--p-chassis:#6c0f19;--p-chassis-hi:#941e2a;--p-chassis-dark:#4a0910;--p-plate:#333d49;--p-band:#bac4d1;--p-mid:#b3bdca;--p-black:#101114;--p-ring:#7e8b97;--p-frame:#861c26;--p-outline:#d6dce4c7;--p-ink-light:#f3f4f6;--p-ink-dark:#1d2128;--p-boxed-red:#8a2b35;--p-boxed-blue:#6f87a2;--p-ink-muted:#b3bcc7;--p-ink-dim:#5b6471;--p-led-off:#707070;--led-red:#ff3b3b;--led-green:#c6f24e;--led-yellow:#ffe24f;--led-off:#5e5959;--oled:#9fc4ff}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font-text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}a{color:inherit}button,select,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.skip{z-index:100;color:#111;background:#fff;border-radius:8px;padding:8px 12px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip:focus{top:10px}.content-pane:focus{outline:none}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-rows:var(--header) 1fr;height:100%;display:grid}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);background:#0e0f11d1;align-items:center;gap:18px;padding:0 16px 0 18px;display:flex;position:relative}.brand{white-space:nowrap;letter-spacing:-.01em;flex:none;align-items:center;gap:10px;font-weight:650;text-decoration:none;display:flex}.brand-mark{width:22px;height:22px;display:block}.topnav{gap:4px;margin-left:6px;display:flex}.topnav a{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:14px;text-decoration:none;transition:color .15s,background-color .15s}.topnav a:hover,.topnav a[aria-current=page]{color:var(--text);background:var(--surface-2)}.search-btn{border:1px solid var(--line-2);background:var(--surface);min-width:200px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:8px;margin-left:auto;padding:0 8px 0 11px;transition:border-color .15s,color .15s;display:flex}.search-btn:hover{color:var(--text-2);border-color:#fff3}.search-btn .cap{margin-left:auto}.icon-btn{width:34px;height:34px;color:var(--muted);cursor:pointer;transition:color .15s ease, background-color .15s ease, transform .12s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;display:grid}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.icon-btn:active{transform:scale(.94)}.tips-btn .tips-slash{opacity:0;transition:opacity .15s}.tips-btn.is-off{color:var(--text-2);background:var(--surface-2);border-color:var(--line-2)}.tips-btn.is-off .tips-slash{opacity:1}.tips-btn.is-off .tips-lines{opacity:0}html[data-tips=off] .kbd-hint,html[data-tips=off] .guide-keys{display:none}.layout{grid-template-columns:minmax(0, 1fr) var(--aside);min-height:0;display:grid}.app.is-wide .layout{grid-template-columns:minmax(0,1fr) min(760px,58vw)}.stage-pane{background:radial-gradient(120% 80% at 50% 45%,#1a1c20 0%,#0e0f11 70%);min-height:0;position:relative;overflow:hidden}.content-pane{overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--surface);scrollbar-width:thin;scrollbar-color:#ffffff24 transparent;min-height:0;overflow-y:auto}.stage{--inset-top:54px;--inset-bottom:54px;touch-action:none;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.stage:focus-visible{outline:none}.stage:focus-visible:after{content:"";z-index:5;box-shadow:inset 0 0 0 2px var(--focus);pointer-events:none;border-radius:6px;position:absolute;inset:3px}.stage.dragging{cursor:grabbing}.stage-svg{transform-origin:0 0;will-change:transform;display:block;position:absolute}.stage-svg text{font-family:Barlow Semi Condensed,Arial Narrow,sans-serif}.pk-text{dominant-baseline:central;letter-spacing:.02em}.pk-title{text-anchor:middle;dominant-baseline:central;letter-spacing:.08em;font-size:3.4px;font-weight:700}.pk-scale{fill:var(--p-ink-light);text-anchor:middle;dominant-baseline:central;font-size:3.5px;font-weight:600}.stage-svg .pk-title,.stage-svg .pk-titlefont{letter-spacing:.02em;font-family:Michroma,Eurostile,Arial,sans-serif;font-weight:400}.stage-svg .pk-title{letter-spacing:.1em}.stage-svg .pk-legend{font-family:-apple-system,Helvetica Neue,Arial,sans-serif}.pk-num{fill:var(--p-ink-dark);text-anchor:middle;dominant-baseline:central;font-size:4.6px;font-weight:700}.pk-brand{fill:#f6f1f1;letter-spacing:-.07em;dominant-baseline:central;font-weight:700;font-family:Comfortaa,-apple-system,Helvetica Neue,Arial,sans-serif!important}.oled{fill:var(--oled);dominant-baseline:alphabetic;white-space:pre;font-family:ui-monospace,SF Mono,Menlo,monospace!important}.oled-xs{font-size:4px}.oled-sm{font-size:4.3px}.oled-md{font-size:5px}.oled-lg{font-size:6.6px;font-weight:700}.oled-xl{font-size:7.6px;font-weight:700}.oled-inv{fill:#0b0d12}.spot-dim{fill:#06070994;pointer-events:none;animation:fade-in .22s var(--ease-out)}.ring{fill:none;pointer-events:none;vector-effect:non-scaling-stroke}.ring-selected{stroke:#fff;stroke-width:2px;filter:drop-shadow(0 0 3px #ffffff8c)}.ring-highlight{stroke:#fff;stroke-width:2px;filter:drop-shadow(0 0 3px #ffffff8c);animation:1.8s ease-in-out infinite pulse}.ring-hover{stroke:#ffffffe6;stroke-width:2px;filter:drop-shadow(0 0 2px #000c)}.section-peek{fill:#ffffff0f;stroke:#ffffffb3;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none;animation:fade-in .16s var(--ease-out)}.led-preview{pointer-events:none;animation:.12s ease-out fade-in}@keyframes fade-in{0%{opacity:0}}@keyframes pulse{50%{opacity:.55}}.stage-ui{z-index:5;position:absolute}.stage-sections{scrollbar-width:none;-webkit-backdrop-filter:blur(12px)saturate(150%);backdrop-filter:blur(12px)saturate(150%);border:1px solid var(--line);background:#141619b8;border-radius:11px;gap:2px;width:max-content;max-width:calc(100% - 24px);padding:3px;display:flex;top:12px;left:12px;right:12px;overflow-x:auto}.stage-sections::-webkit-scrollbar{display:none}.stage-sections a,.stage-sections button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:7px 10px;font-size:14px;line-height:1;text-decoration:none;transition:color .15s,background-color .15s}.stage-sections a:hover,.stage-sections button:hover{color:var(--text)}.stage-sections .is-on{color:var(--text);background:#ffffff1a}.stage-tools{-webkit-backdrop-filter:blur(12px)saturate(150%);backdrop-filter:blur(12px)saturate(150%);border:1px solid var(--line);background:#141619b8;border-radius:11px;gap:2px;padding:3px;display:flex;bottom:12px;right:12px}.stage-tools button,.model-pick select{min-width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;font-size:16px;transition:background-color .15s,transform .12s;display:grid}.stage-tools button:hover,.model-pick select:hover{background:#ffffff17}.stage-tools button:active{transform:scale(.94)}.model-pick select{appearance:none;padding:0 8px;font-size:12px}.model-pick option{background:var(--surface-2)}.tip{z-index:6;pointer-events:none;border:1px solid var(--line-2);width:max-content;max-width:280px;animation:tip-in .14s var(--ease-out);background:#181a1ef0;border-radius:9px;gap:2px;padding:8px 11px;font-size:12px;line-height:1.4;display:grid;position:absolute;transform:translate(18px,calc(-100% - 10px));box-shadow:0 8px 28px #00000073}.model-label{color:var(--muted);padding-left:8px;font-size:12px}.model-pick{align-items:center;display:flex}.tip-shift{margin-top:3px;font-size:12px;color:var(--text)!important}.tip strong{font-size:14px}.tip span{color:var(--text-2)}@keyframes tip-in{0%{opacity:0;transform:translate(18px,calc(-100% - 6px))scale(.97)}}.entry{max-width:720px;padding:26px 28px 40px}.entry h1{letter-spacing:-.02em;margin:4px 0 6px;font-size:24px;font-weight:680;line-height:1.2}.lead{color:var(--text-2);margin:0 0 14px;font-size:16px;line-height:1.5}.demo-head .lead{max-width:var(--measure)}.crumbs{color:var(--muted);font-size:12px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--text)}.crumb-sep{opacity:.5;margin:0 6px}.gestures{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 20px;display:grid;overflow:hidden}.gesture{background:var(--surface-2);grid-template-columns:164px 1fr;gap:12px;padding:11px 14px;display:grid}.gesture+.gesture{border-top:1px solid var(--line)}.gesture-how{color:var(--text-2);flex-wrap:wrap;align-items:flex-start;gap:3px;font-size:14px;line-height:1.9;display:flex}.gesture-what{gap:1px;font-size:14px;line-height:1.5;display:grid}.gesture-what strong{letter-spacing:.05em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:650}.gesture-what span{color:var(--text-2)}kbd.cap{letter-spacing:.04em;text-transform:uppercase;text-align:center;color:#e9eaed;vertical-align:1px;white-space:nowrap;background:linear-gradient(#33363c,#24262a);border:1px solid #0009;border-radius:5px;min-width:20px;padding:4px 6px 3px;font:600 11.5px/1 Barlow Semi Condensed,-apple-system,sans-serif;display:inline-block;box-shadow:inset 0 1px #ffffff17,0 1px #0006}.prose{color:var(--text-2);font-size:16px}.prose p{margin:0 0 12px}.prose strong{color:var(--text);font-weight:620}.prose em{color:var(--oled);background:#9fc4ff14;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em;font-style:normal}.block-h{color:var(--text);letter-spacing:-.01em;margin:28px 0 8px;font-size:16px;font-weight:650}.list,.steps{margin:0 0 14px;padding-left:20px}.list li,.steps li{margin:4px 0}.steps li::marker{color:var(--muted);font-variant-numeric:tabular-nums}.xref{color:var(--text);text-underline-offset:3px;-webkit-text-decoration:underline #ffffff47;text-decoration:underline #ffffff47;transition:text-decoration-color .15s}.xref:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.note{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);margin:14px 0;padding:11px 14px;font-size:14px;line-height:1.55}.note-warn{background:#ffc93a0d;border-color:#ffc93a47}.options{border:1px solid var(--line);border-radius:var(--radius);margin:8px 0 16px;overflow:hidden}.option{grid-template-columns:120px 1fr;gap:12px;padding:10px 14px;transition:background-color .12s;display:grid}.option+.option{border-top:1px solid var(--line)}.option:hover{background:var(--surface-2)}.option dt{color:var(--text);font-size:14px;font-weight:620}.option dd{margin:0;font-size:14px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);margin:8px 0 16px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}th{color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:650;position:sticky;top:0}tr:last-child td{border-bottom:0}td{color:var(--text-2);font-variant-numeric:tabular-nums}.tips,.related{margin-top:22px}.tips h2,.related h2{color:var(--text-2);margin:0 0 8px;font-size:14px;font-weight:650}.tips ul{color:var(--text-2);margin:0;padding-left:18px}.tips li{margin:5px 0}.related-list,.on-panel{flex-wrap:wrap;gap:6px;display:flex}.related-list .xref,.on-panel .xref{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:14px;text-decoration:none;transition:background-color .15s,border-color .15s}.related-list .xref:hover,.on-panel .xref:hover{background:var(--surface-3);border-color:var(--line-2)}.on-panel{align-items:center;margin:0 0 18px}.on-panel-label{color:var(--muted);margin-right:4px;font-size:12px}.entry-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:28px;padding-top:14px;font-size:12px;display:flex}.pages{font-variant-numeric:tabular-nums}.pager{gap:14px;display:flex}.pager a{color:var(--muted);text-decoration:none}.pager a:hover{color:var(--text)}.settings{gap:10px;margin-top:18px;display:grid}.setting{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);padding:13px 15px;scroll-margin-top:16px}.setting:target{border-color:color-mix(in oklch, var(--accent) 60%, transparent)}.setting-head{align-items:baseline;gap:10px;display:flex}.setting-n{color:var(--muted);font-variant-numeric:tabular-nums;min-width:18px;font-size:12px}.setting h2{margin:0;font-size:16px;font-weight:640}.setting p{color:var(--text-2);margin:6px 0 8px 28px;font-size:14px}.setting-meta{flex-wrap:wrap;gap:4px 18px;margin:0 0 0 28px;font-size:12px;display:flex}.setting-meta div{gap:6px;display:flex}.setting-meta dt{color:var(--muted)}.setting-meta dd{color:var(--text-2);margin:0}.guide-steps{gap:4px;margin:8px 0 16px;padding:0;list-style:none;display:grid}.guide-step{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;color:var(--text-2);background:0 0;border:1px solid #0000;grid-template-columns:26px 1fr;gap:10px;padding:10px 12px;font-size:14px;line-height:1.55;transition:background-color .15s,border-color .15s,color .15s;display:grid}.guide-step:hover{background:var(--surface-2)}.guide-step.is-active{background:var(--surface-2);border-color:color-mix(in oklch, var(--accent) 45%, transparent);color:var(--text)}.guide-step.is-done{color:var(--muted)}.guide-n{cursor:pointer;background:var(--surface-3);width:22px;height:22px;color:var(--text-2);border:0;border-radius:50%;place-items:center;margin-top:1px;padding:0;font-size:12px;font-weight:650;display:grid}.is-active .guide-n{background:var(--accent);color:#1a0506}.guide-nav{justify-content:space-between;align-items:center;gap:10px;margin:6px 0 18px;display:flex}.guide-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.btn{border:1px solid var(--line-2);background:var(--surface-2);height:36px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 14px;font-size:14px;transition:background-color .15s,transform .12s,opacity .15s}.btn:hover:not(:disabled,[aria-disabled=true]){background:var(--surface-3)}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.4;cursor:default}.btn-primary{color:#121316;background:#f1f1f3;border-color:#0000;font-weight:600}.btn-primary:hover:not(:disabled,[aria-disabled=true]){background:#fff}.control-list section+section{margin-top:14px}.group-title{color:var(--text-2);margin:0 0 6px;font-size:14px;font-weight:650}.control-list ul,.card-list{margin:0;padding:0;list-style:none}.control-row{border-radius:9px;gap:1px;min-height:44px;padding:10px 12px;text-decoration:none;transition:background-color .12s;display:grid}.control-row:hover{background:var(--surface-2)}.control-row-name{font-size:14px;font-weight:600}.control-row-sum{color:var(--muted);font-size:14px;line-height:1.45}.card-list{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px;display:grid}.card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:4px;height:100%;padding:14px 16px;text-decoration:none;transition:border-color .15s,background-color .15s;display:grid}.card:hover{border-color:var(--line-2);background:var(--surface-3)}.card-title{font-weight:620}.card-sum{color:var(--text-2);font-size:14px;line-height:1.45}.card-meta{color:var(--muted);margin-top:4px;font-size:12px}.entry.wide{max-width:none}.ref-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px 24px;margin-bottom:28px;display:grid}.ref-group h2{color:var(--text-2);margin:0 0 6px;font-size:14px;font-weight:650}.ref-group h2 a{text-decoration:none}.ref-group ul{margin:0;padding:0;list-style:none}.ref-group li a{color:var(--text-2);padding:3px 0;font-size:14px;text-decoration:none;display:block}.ref-group li a:hover{color:var(--text)}.ref-sub{margin:8px 0 14px;font-size:16px}.home-title{font-size:24px!important}.search-cta{border:1px solid var(--line-2);background:var(--surface-2);width:100%;height:44px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin:6px 0 22px;padding:0 10px 0 14px;font-size:14px;transition:border-color .15s;display:flex}.search-cta:hover{color:var(--text-2);border-color:#ffffff38}.home-h{color:var(--text-2);margin:0 0 8px;font-size:14px;font-weight:650}.home-foot{color:var(--muted);font-size:12px}.palette-scrim{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0506088c;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.palette{border:1px solid var(--line-2);background:#1a1c20fa;border-radius:14px;flex-direction:column;width:min(640px,100%);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #0009}.palette-input{border-bottom:1px solid var(--line);height:54px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;display:flex}.palette-input input{height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:16px}.palette-empty{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;padding:16px;font-size:14px;display:flex}.suggest{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;color:var(--text-2);border-radius:7px;padding:4px 9px;font-size:14px}.suggest:hover{background:var(--surface-3)}.palette-results{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.palette-results [data-active=true] button{background:#ffffff14}.res-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:650}.res-control,.res-guide,.res-demo,.res-show{color:var(--text-2)}.res-main{min-width:0;display:grid}.res-title{font-size:14px;font-weight:600}.res-sum{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.res-ctx{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:12px;overflow:hidden}@media (width<=1100px){:root{--aside:380px}}@media (width<=900px){.app{height:auto;display:block}.topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;height:var(--header);gap:10px;padding:0 10px 0 14px;position:sticky;top:0}.layout,.app.is-wide .layout{display:block}.stage-pane{top:var(--header);z-index:10;border-bottom:1px solid var(--line-2);height:38svh;min-height:250px;position:sticky}.content-pane{border-left:0;min-height:60svh;overflow:visible}.entry{padding:20px 16px 48px}.search-btn{min-width:0;height:36px;padding:0 10px}.search-btn-label,.search-btn .cap{display:none}.topnav a{padding:8px 9px}.stage-sections{top:8px;left:8px;right:8px;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.model-label{display:none}.stage-sections a,.stage-sections button{place-items:center;min-height:44px;padding:0 11px;font-size:14px;display:grid}.stage-tools{bottom:8px;right:8px}.stage-tools button,.model-pick select{min-width:44px;height:44px}.gesture{grid-template-columns:1fr;gap:4px}.option{grid-template-columns:1fr;gap:2px}.tip{display:none}}@media (width<=640px){.brand-name{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.topbar{gap:6px}.topnav{margin-left:0}.topnav a{padding:8px 7px;font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.sheet-table td:first-child{white-space:nowrap}.sheet-sec{color:var(--muted);margin-top:2px;font-size:12px;display:block}.sheet-how{white-space:nowrap}.sheet-name{letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin-right:4px;font-size:12px;font-weight:650}.sheet-table .xref{font-weight:600;text-decoration:none}.rear{margin:4px 0 18px}.rear-scroll{scrollbar-width:thin;border-radius:8px;overflow-x:auto}.rear svg{width:100%;min-width:340px;height:auto;display:block}.rear figcaption{color:var(--muted);margin-top:6px;font-size:12px}.rear-jack{cursor:pointer;outline:none}.rear-hit{fill:#0000;transition:fill .15s}.rear-jack:hover .rear-hit,.rear-jack:focus-visible .rear-hit{fill:#ffffff12}.rear-jack.is-on .rear-hit{fill:#ffffff1f;stroke:#fff;stroke-width:1.2px}.rear-label{fill:#f1e9ea;text-anchor:middle;letter-spacing:.04em;font:700 9.5px Barlow Semi Condensed,sans-serif}.guide-group+.guide-group{margin-top:26px}.pages-row{align-items:center;gap:12px;display:inline-flex}.copy-link{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12px;-webkit-text-decoration:underline #fff3;text-decoration:underline #fff3}.copy-link:hover{color:var(--text)}.more-chip{border:1px dashed var(--line-2);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:5px 10px;font-size:14px}.more-chip:hover{color:var(--text)}.legend{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:0 0 22px;display:grid}.legend div{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.legend dt{font-size:14px;font-weight:620}.legend dd{color:var(--text-2);margin:2px 0 0;font-size:14px}.guide-nav{background:var(--pane-bg,var(--surface));border-top:1px solid var(--line);padding:10px 0;position:sticky;bottom:0}.guide-steps li{scroll-margin:12px 0 72px}@media (width<=640px){.sheet-table thead{display:none}.sheet-table,.sheet-table tbody,.sheet-table tr,.sheet-table td{width:100%;display:block}.sheet-table tr{border-bottom:1px solid var(--line);padding:10px 12px}.sheet-table td{border:0;padding:2px 0;white-space:normal!important}}.palette-cancel{color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:8px 2px;font-size:16px;display:none}@media (hover:none){kbd.palette-esc{display:none}.palette-cancel{display:block}}@media (width<=640px){.palette-scrim{padding:8px}.palette{max-height:calc(100svh - 16px)}.palette-results button{grid-template-columns:1fr;gap:2px}.res-ctx{display:none}.res-sum{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.or-hold{width:100%;color:var(--muted);font-size:12px;line-height:1.4;display:block}.nf-list{color:var(--text-2);padding-left:18px}.nf-list li{margin:6px 0}.nf-sum{color:var(--muted);font-size:14px}.guide-keys{color:var(--muted)}.card{align-content:start}.entry h1:focus{outline:none}@media (width<=1100px){.sheet-table thead{display:none}.sheet-table,.sheet-table tbody,.sheet-table tr,.sheet-table td{width:100%;display:block}.sheet-table tr{border-bottom:1px solid var(--line);padding:10px 12px}.sheet-table td{border:0;padding:2px 0;white-space:normal!important}}@media (width<=900px){.stage-pane{flex-direction:column;height:auto;min-height:0;display:flex}.stage{--inset-top:6px;--inset-bottom:6px;flex:none;height:34svh;min-height:220px;position:relative;inset:auto}.stage-ui{position:static}.stage-sections{border-radius:11px;order:-1;width:auto;max-width:none;margin:6px 8px 0}.stage-tools{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;align-self:flex-end;margin:0 8px 6px}.stage-optional .stage-pane{position:relative;top:auto}.guide-keys{display:none}}:root{--held:#cfa46a;--held-hi:#e3c698;--held-lo:#8c6b40}.credits-table{border-collapse:collapse;width:100%;font-size:14px}.credits-table th,.credits-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 8px 7px 0}.credits-table th{color:var(--muted);font-size:12.5px;font-weight:500}.demo-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:26px 0 8px;font-size:12px;font-weight:600}.demo-list{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.demo-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:2px;padding:13px 15px;text-decoration:none;transition:border-color .15s,background-color .15s;display:grid}.demo-card:hover{background:var(--surface-3);border-color:var(--line-2)}.demo-card-title{font-weight:620}.demo-card-sum{color:var(--text-2);font-size:14px;line-height:1.45}.quiet{color:var(--muted);margin:12px 0;font-size:12px}.start-audio{color:#121316;cursor:pointer;width:100%;height:46px;transition:transform .14s var(--ease-out), background-color .15s ease;background:#f1f1f3;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin:4px 0 18px;font-size:16px;font-weight:620;display:flex}.start-audio:hover:not([aria-disabled=true]){background:#fff}.start-audio:active:not([aria-disabled=true]){transform:scale(.98)}.start-icon{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:11px solid;width:0;height:0}.demo-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 18px;display:flex}.midi-status{color:var(--muted);font-size:12px}.btn-sm{height:32px;padding:0 11px;font-size:14px}.params{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px 18px;margin:0 0 20px;display:grid}.param{align-content:start;gap:6px;display:grid}.param-drawbars{grid-column:1/-1}.param-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);justify-content:space-between;font-size:12px;font-weight:620;display:flex}.param-val{color:var(--text-2);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}.param-range input[type=range]{accent-color:#e9e9ec;cursor:pointer;width:100%;height:28px}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;gap:2px;padding:2px;display:flex}.seg button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1 0 auto;padding:0 9px;font-size:14px;transition:background-color .12s,color .12s}.seg button:hover{color:var(--text)}.seg button.is-on{color:var(--text);background:#ffffff1f}.param-toggle{align-content:end}.toggle{border:1px solid var(--line-2);background:var(--surface-2);height:38px;color:var(--text-2);cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:0 13px;font-size:14px;transition:background-color .12s,transform .12s;display:flex}.toggle:active{transform:scale(.97)}.toggle.is-on{color:var(--text)}.drawbars{background:var(--p-plate);border-radius:12px;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:10px;display:grid}.dbar{justify-items:center;gap:4px;display:grid}.dbar input[type=range]{writing-mode:vertical-lr;cursor:ns-resize;width:28px;max-width:100%;height:112px}.dbar-feet{overflow-wrap:anywhere;text-align:center;max-width:100%}.dbar-white input{accent-color:#f2f2f0}.dbar-black input{accent-color:#555a61}.dbar-val{color:var(--p-ink-light);font-variant-numeric:tabular-nums;font:600 13px/1 Barlow Semi Condensed,sans-serif}.dbar-feet{color:var(--p-band);font:600 11px/1 Barlow Semi Condensed,sans-serif}.kbd-wrap{-webkit-user-select:none;user-select:none;margin:8px 0 14px}.kbd-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.kbd-pedals{gap:6px;margin-left:auto;display:flex}.kbd-oct{text-align:center;min-width:34px;color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.sustain{margin-left:auto}.sustain.is-on{color:#121316;background:#f1f1f3}.kbd{touch-action:none;background:#120305;border-radius:8px;height:132px;padding:0 1px;display:flex;position:relative;overflow:hidden}.kw{cursor:pointer;background:linear-gradient(#e2e2e0 0%,#f8f8f6 8%,#efefed 100%);border-radius:0 0 6px 6px;flex:1;margin:0 .5px;position:relative}.kw.is-down{background:linear-gradient(0deg, var(--held-hi), var(--held) calc(var(--v,.8) * 100% - 6%), #ebe5d6 calc(var(--v,.8) * 100% + 6%));box-shadow:inset 0 8px 8px -6px #3a1f0073}.k-label{text-align:center;color:#8a8a88;pointer-events:none;font-size:12px;position:absolute;bottom:6px;left:0;right:0}.kb{cursor:pointer;z-index:1;background:linear-gradient(#050505,#232326);border-radius:0 0 4px 4px;width:6.2%;height:60%;position:absolute;top:0}.kb.is-down{background:linear-gradient(0deg, var(--held), var(--held-lo) calc(var(--v,.8) * 100% - 8%), #2a2117 calc(var(--v,.8) * 100% + 8%));box-shadow:inset 0 0 0 2px #111113,inset 0 8px 8px -6px #0000008c}:root{--stage-h:clamp(240px, 24vw, 44vh);--toolbar-h:48px}@media (width>=901px){.layout,.app.is-wide .layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.stage-pane{border-bottom:1px solid var(--line);background:radial-gradient(90% 120% at 50% 60%,#1a1c20 0%,#0e0f11 75%);flex-wrap:wrap;align-items:center;display:flex}.stage-pane>.stage-sections,.stage-pane>.stage-tools{height:var(--toolbar-h);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;align-items:center;margin:0;padding:0;position:static}.stage-pane>.stage-sections{flex:auto;order:-2;width:auto;max-width:none;padding-left:12px}.stage-pane>.stage-tools{order:-1;margin-left:auto;padding-right:12px}.stage{--inset-top:6px;--inset-bottom:10px;height:var(--stage-h);flex:0 0 100%;position:relative;inset:auto}.content-pane{--pane-bg:var(--bg);background:var(--bg);border-left:0}.entry{max-width:760px;margin:0 auto;padding:32px 32px 64px}.app.is-wide .entry,.entry.home{max-width:1120px}}.stage-sections a,.stage-sections button{position:relative}@media (width>=901px){.stage-sections a,.stage-sections button{border-radius:7px;padding:8px 10px}.stage-sections .is-on{color:var(--text);background:0 0}.stage-sections .is-on:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}}.topnav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);background:0 0;border-radius:0}.home-head{max-width:620px;margin-bottom:28px}.home-title{text-wrap:balance;letter-spacing:-.025em!important;margin-bottom:10px!important;font-size:32px!important;line-height:1.12!important}.home-cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 40px;margin-bottom:32px;display:grid}.home-h{margin-bottom:6px}.row-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.row-list a{border-bottom:1px solid var(--line);min-height:40px;color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;font-size:14px;text-decoration:none;transition:color .15s;display:flex}.row-list a:after{content:"›";color:var(--muted);transition:transform .15s var(--ease-out), color .15s ease;font-size:16px;line-height:1}.row-list a:hover{color:var(--text)}.row-list a:hover:after{color:var(--accent);transform:translate(2px)}.row-more{font-weight:600;color:var(--text)!important}@media (width>=901px){.home .search-cta{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise,6px))}}.content-pane>article>*{--rise:var(--rise-content,6px);animation:rise var(--dur-content,.22s) var(--ease-content,ease-out) var(--t-pageBody,40ms) both}.content-pane>article>:is(.crumbs,h1,.lead,header){animation-delay:var(--t-pageTitle,0s)}.row-list li{--rise:var(--rise-rows,4px);animation:rise var(--dur-rows,.22s) var(--ease-rows,ease-out) calc(var(--t-pageBody,40ms) + var(--i,0) * var(--t-rowStagger,30ms)) both}.param-group{--rise:var(--rise-cards,10px);animation:rise var(--dur-cards,.26s) var(--ease-cards,ease-out) calc(var(--t-pageBody,40ms) + var(--i,0) * var(--t-cardStagger,50ms)) both}.demo-actions.is-in{--rise:var(--rise-notice,8px);animation:rise var(--dur-notice,.2s) var(--ease-notice,ease-out) var(--t-soundActions,0s) both}.kbd-sweep .kw:after,.kbd-sweep .kb:after{content:"";border-radius:inherit;background:var(--held);opacity:0;pointer-events:none;animation:key-sweep var(--t-keyGlow,90ms) ease-out calc(var(--k,0) * var(--t-keyStep,20ms)) both;position:absolute;inset:0}@keyframes key-sweep{40%{opacity:var(--keys-glow,.55)}to{opacity:0}}@media (width>=901px){.stage-pane>.stage-sections{flex:0 auto;order:-3}}@media (width<=900px){.stage-pane{flex-flow:wrap;align-items:center}.stage-pane>.stage-sections{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;flex:1 1 0;order:-2;min-width:0;margin:0;padding:0 0 0 4px}.stage-pane>.stage-tools{order:-1;align-self:auto;margin:0;padding:0 4px 0 0}.stage-pane>.stage{flex:0 0 100%;height:clamp(210px,62vw,36svh);min-height:0}.stage-tools .zoom-btn{display:none}.stage-sections a,.stage-sections button{padding:0 10px;font-size:14px;position:relative}.stage-sections .is-on{background:0 0}.stage-sections .is-on:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:6px;left:10px;right:10px}.stage-pane>.stage-sections{--fade-start:20px;--fade-end:24px;-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--fade-end)), transparent);mask-image:linear-gradient(to right, #000 calc(100% - var(--fade-end)), transparent);-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--fade-end)), transparent)}.stage-pane>.stage-tools{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding-left:2px}}@media (width<=359px){.stage-pane>.stage-sections{--fade-start:14px;--fade-end:16px}}.param-groups{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px;margin:0 0 20px;display:grid}.param-groups>.params{grid-column:1/-1;margin:0}.param-group{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px 14px;transition:opacity .2s}.param-group.is-off .param-group-head h2{color:var(--text-2)}.param-group .params{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px 14px;margin:0}.param-group-head{justify-content:space-between;align-items:center;min-height:28px;margin-bottom:8px;display:flex}.param-group-head h2{letter-spacing:.01em;color:var(--text);margin:0;font-size:14px;font-weight:650}.switch{background:var(--surface-3);cursor:pointer;border:0;border-radius:12px;width:40px;height:24px;padding:0;transition:background-color .18s;position:relative}.switch:before{content:"";position:absolute;inset:-10px -4px}.switch.is-on{background:var(--accent)}.switch-knob{width:18px;height:18px;transition:transform var(--dur-switch,.2s) var(--ease-switch,ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000059}.switch.is-on .switch-knob{transform:translate(16px)}@media (prefers-reduced-motion:reduce){.switch-knob{transition:none}}.param-group .param:has(.seg){grid-column:1/-1}.seg{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));display:grid}.seg button{min-width:0;padding:0 6px}@media (hover:none){.kbd-hint{display:none}}@media (width<=640px){.param-group .params{grid-template-columns:1fr 1fr}.param-group .param-range{grid-column:1/-1}.kbd{height:150px}}.demo-notice{-webkit-backdrop-filter:blur(12px)saturate(150%);backdrop-filter:blur(12px)saturate(150%);border:1px solid var(--line-2);max-width:calc(100% - 24px);color:var(--text-2);--rise:var(--rise-notice,8px);animation:rise var(--dur-notice,.2s) var(--ease-notice,ease-out) both;background:#141619e6;border-radius:11px;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:14px;display:flex;bottom:12px;left:12px}.demo-notice strong{color:var(--text);font-weight:600}.demo-notice a{color:var(--text);white-space:nowrap}.demo-notice button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:16px}.demo-notice button:hover{color:var(--text);background:#ffffff14}.tip-live{color:var(--text-2)}.tip-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600;display:block}.sound-on{border:1px solid var(--line-2);background:var(--surface-2);height:36px;font:inherit;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:8px;margin-right:4px;padding:0 13px 0 11px;font-size:14px;transition:background-color .15s,transform .12s;display:inline-flex}.sound-on:hover{background:var(--surface-3)}.sound-on:active{transform:scale(.97)}@media (pointer:coarse){.sound-on{height:44px}}.sound-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #79d97c99}.kbd-range-label{color:var(--muted);margin-right:2px;font-size:12px}.tip.tip-below{transform:translate(18px,18px)}@media (width<=900px){.tip.tip-pinned{max-width:calc(100% - 24px);display:block;transform:translate(-50%)}.stage-pane>.stage-tools .model-pick{margin-left:6px;position:relative}.stage-pane>.stage-tools .model-pick select{border:0;border-radius:9px;width:auto;min-width:0;max-width:84px;height:34px;padding:0 22px 0 8px;font-size:14px}.stage-pane>.stage-tools .model-pick:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:5px;height:5px;position:absolute;top:50%;right:9px;transform:translateY(-70%)rotate(45deg)}}@media (width<=640px){kbd.palette-esc{display:none}}.param-group.is-off input[type=range]{opacity:.45}.param-group:has(.params>.param:only-child .seg){grid-column:1/-1}.meta-line{color:var(--muted);margin:0 0 16px;font-size:14px}.hear-row{flex-wrap:wrap;gap:8px;margin:-4px 0 20px;display:flex}.btn.hear{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.btn.hear svg{color:var(--accent)}.guide-step.is-done{padding-top:5px;padding-bottom:5px}.guide-step.is-done .guide-text{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.guide-step.is-done .guide-n{color:var(--muted);background:0 0;font-size:0}.guide-step.is-done .guide-n:before{content:"";border-bottom:2px solid;border-left:2px solid;width:10px;height:5px;transform:translateY(-1px)rotate(-45deg)}@media (width>=1200px){.entry.demo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:40px;max-width:1120px;display:grid}.entry.demo>.demo-head{grid-column:1/-1}.entry.demo>.demo-play{position:sticky;top:16px}.entry.demo .param-groups{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.app.is-compact .stage-pane>.stage{height:calc(min(100vw,900px)/2.5)}}@media (prefers-reduced-motion:reduce){.ring-highlight{stroke-dasharray:4 2}}.demo-notice.at-point{bottom:auto}@media (width>=901px){.entry,.app.is-wide .entry{max-width:1120px}.app:not(.is-wide) .entry:not(.home):not(.demo)>*{max-width:720px}}.card-list,.demo-list,.control-list ul{border-top:1px solid var(--line);gap:0 40px}.card-list{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.card,.demo-card,.control-row{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;height:auto;padding:12px 32px 12px 2px;position:relative}.card:hover,.demo-card:hover,.control-row:hover{border-color:var(--line);background:0 0}.card:after,.demo-card:after,.control-row:after{content:"›";color:var(--muted);transition:transform .15s var(--ease-out), color .15s ease;font-size:18px;position:absolute;top:50%;right:6px;transform:translateY(-55%)}.card:hover:after,.demo-card:hover:after,.control-row:hover:after,.row-list a:hover:after{color:var(--text);transform:translateY(-55%)translate(2px)}.row-list a:hover:after{transform:translate(2px)}.ref-group li a{border-bottom:1px solid var(--line);padding:6px 0}.demo-actions .btn-primary{order:-1}.param-group .param-toggle{grid-column:1/-1}.param-hint{color:var(--muted);margin-top:-2px;font-size:12px}.toggle{height:auto;min-height:38px}.switch-row{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.switch-label{color:var(--text-2);gap:2px;font-size:14px;display:grid}.param-group .param-drawbars .param-label{display:none}.tutorial-steps .guide-text{gap:6px;display:grid}.t-title{color:var(--text);font-weight:600}.guide-step.is-done .t-title,.guide-step:not(.is-active) .t-title{color:var(--text-2);font-weight:500}.t-do,.t-why,.t-meta{margin:0}.t-why{color:var(--text-2)}.t-why-label{color:var(--text-2);margin-right:4px;font-size:12px;font-weight:650}.t-meta,.t-note{color:var(--muted);font-size:12px}.t-chords{font-variant-numeric:tabular-nums;color:var(--text-2)}.t-chords-label{color:var(--muted)}.exercise{border-bottom:1px solid var(--line);padding:12px 0}.exercise p{color:var(--text-2);margin:4px 0 0;font-size:14px}.exercise-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-meta{color:var(--muted);font-size:12px}.learn-level+.learn-level{margin-top:24px}.kbd-vel{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.kbd-vel+.sustain{margin-left:8px}@media (hover:none){.kbd-vel{display:none}}.app.is-learn .stage-svg .pk-oled text{opacity:.35}.t-meta{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.t-notes{color:var(--muted);font:12px/1.5 ui-monospace,SF Mono,Menlo,monospace}.exercise-btns{gap:6px;display:flex}.t-next{color:var(--muted);margin:20px 0 0;font-size:14px}.t-next a{color:var(--text)}.entry-foot a,.entry-foot button{white-space:nowrap}@media (width<=640px){.practice{margin-top:16px}}@media (width<=900px){.stage-pane>.stage-tools .model-pick select{background:var(--surface)}}.home-h-sub{color:var(--muted);margin-left:4px;font-weight:450}@media (pointer:coarse){.btn-sm,.icon-btn,.search-btn{height:44px}.icon-btn{width:40px}}@media (hover:none){.search-btn kbd,.search-cta kbd,.guide-keys,.kbd-hint{display:none}}@media (width<=900px){.stage-pane>.stage-sections.at-end{-webkit-mask-image:none;mask-image:none}.stage-pane>.stage-tools{border-right:1px solid var(--line);order:-3;height:30px;padding:0 6px 0 2px}.stage-pane>.stage-tools .model-pick{margin-left:6px}.stage-pane>.stage-tools>button:not(.zoom-btn){display:none}.stage-pane>.stage-sections{padding-left:2px}.stage-pane>.stage-sections.scrolled{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent)}.stage-pane>.stage-sections.scrolled.at-end{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start));mask-image:linear-gradient(to right, transparent, #000 var(--fade-start));-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start))}}.learn-paths{color:var(--muted);gap:8px;margin:0;padding:0;font-size:14px;line-height:1.6;list-style:none;display:grid}.learn-paths a{color:var(--text-2)}.exercise-btns .btn{white-space:nowrap}@media (width<=560px){.exercise-head{flex-direction:column;align-items:flex-start;gap:8px}}.param-group-head .group-listen{margin-left:auto;margin-right:10px}.param-group-head .group-listen:last-child{margin-right:0}.k-letter{text-align:center;color:#00000052;pointer-events:none;font-size:11px;font-weight:600;position:absolute;bottom:22px;left:0;right:0}.kb .k-letter{color:#fff6;bottom:6px}@media (hover:none),(pointer:coarse){.k-letter{display:none}}.kbd-pedals .sustain+.sustain{margin-left:0}@media (width<=900px){.app.is-learn .stage-pane>.stage,.app.is-demo .stage-pane>.stage{height:clamp(190px,52vw,30svh)}}.t-next-card{margin-top:24px}.learn-paths li{flex-wrap:wrap;align-items:center;gap:6px 4px;display:flex}.learn-paths a{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:4px 10px;text-decoration:none;transition:color .15s,border-color .15s;display:inline-block}.learn-paths a:hover{color:var(--text);border-color:var(--muted)}.demo-card-feature{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, var(--surface-2)), var(--surface-2));margin:4px 0 14px}.demo-card-feature:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line-2))}.screens{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.screen{gap:6px;min-width:0;display:grid}.screen-name{color:var(--muted);font-size:12px}.screen-lines{min-height:104px;color:var(--oled);background:#1d1e20;border-radius:10px;align-content:start;gap:2px;padding:10px 12px;font:500 13px/1.35 ui-monospace,SF Mono,Menlo,monospace;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.screen-row{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.screen-row.is-head{color:#e6efff;font-weight:650}@media (width<=520px){.screens{grid-template-columns:1fr}}.panel-log{gap:4px;min-height:62px;margin:0 0 14px;display:grid}.log-line{color:var(--muted);gap:8px;margin:0;font-size:14px;line-height:1.4;display:flex}.log-line.is-new{color:var(--text);animation:log-in .22s var(--ease-out)}.log-ctl{color:inherit;border-bottom:1px solid var(--line-2);flex:none;font-weight:620;text-decoration:none}.log-ctl:hover{border-bottom-color:currentColor}@keyframes log-in{0%{opacity:0;transform:translateY(3px)}}.program-chips{flex-wrap:wrap;gap:6px;padding:2px 14px 14px;display:flex}.chip{border:1px solid var(--line-2);height:30px;color:var(--text-2);cursor:pointer;transition:background-color .15s ease, color .15s ease, transform .12s var(--ease-out);background:0 0;border-radius:15px;padding:0 11px;font-size:13px}.chip:hover{background:var(--surface-3);color:var(--text)}.chip:active{transform:scale(.97)}.chip.is-on{color:#121316;background:#f1f1f3;border-color:#f1f1f3}.pedal-buttons{gap:8px;display:flex}.reset-panel{margin-left:auto}.instrument .entry-foot{align-items:center;gap:12px;display:flex}.pk-glow{fill:none;stroke:var(--led-yellow);stroke-width:1.1px;opacity:.9;animation:1.1s ease-in-out infinite alternate pk-glow}@keyframes pk-glow{0%{opacity:.35}}@media (pointer:coarse){.chip{height:40px}}@media (prefers-reduced-motion:reduce){.pk-glow,.log-line.is-new{animation:none}}.transport{align-items:center;gap:14px;margin:4px 0 12px;display:flex}.transport-play,.transport-float-btn{justify-content:center;align-items:center;gap:8px;min-width:112px;display:inline-flex}.icon-play,.icon-pause{background:currentColor;width:10px;height:12px}.icon-play{clip-path:polygon(0 0,100% 50%,0 100%)}.icon-pause{clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%,65% 0)}.transport-time{font-variant-numeric:tabular-nums;font-weight:600}.transport-float{z-index:15;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));white-space:nowrap;border:1px solid var(--line-2);background:var(--surface-2);width:max-content;animation:transport-float-in .22s var(--ease-out);border-radius:999px;align-items:center;gap:12px;padding:5px 16px 5px 5px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 28px #00000080,0 2px 6px #0000004d}.transport-float-btn{border-radius:999px}@keyframes transport-float-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (width>=901px){.transport-float{animation-name:fade-in;left:24px;transform:none}}.transport-float.is-waiting{left:auto;right:calc(16px + env(safe-area-inset-right));padding:5px;animation-name:fade-in;transform:none}.transport-float.is-waiting .transport-time{display:none}.entry.show.has-float{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.quiet-inline{color:var(--muted);font-weight:450}.transport-pos{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.show-bar{gap:6px;margin-bottom:14px;display:grid}.show-progress{background:var(--surface-3);border-radius:2px;height:3px;overflow:hidden}.show-progress span{background:var(--accent);transform-origin:0;height:100%;transition:transform .12s linear;display:block}.show-sections{gap:4px;display:flex}.show-section{border:1px solid var(--line);background:var(--surface-2);min-width:fit-content;height:30px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:7px;flex-basis:0;padding:0 6px;font-size:12.5px;transition:background-color .15s,color .15s,border-color .15s;overflow:hidden}.show-section:hover{color:var(--text);border-color:var(--line-2)}.show-section.is-on{color:#121316;background:#f1f1f3;border-color:#f1f1f3;font-weight:600}.moment{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:10px;margin:0 0 16px;padding:14px 16px;display:grid}.moment-body{animation:log-in .24s var(--ease-out);gap:6px;display:grid}.moment-next{border:0;border-top:1px solid var(--line);text-align:left;width:100%;color:var(--muted);font:inherit;cursor:pointer;background:0 0;justify-self:start;padding:6px 0 0;font-size:13px}.moment-next:hover{color:var(--text-2)}.moment-title{margin:0;font-size:16px;font-weight:650}.moment-nord,.moment-why{color:var(--text-2);margin:0;font-size:14px;line-height:1.5}.moment-pages{color:var(--muted);white-space:nowrap;font-size:12px}.moment-ctls{flex-wrap:wrap;gap:6px;margin:2px 0 0;display:flex}.chip-link{align-items:center;height:26px;font-size:12.5px;text-decoration:none;display:inline-flex}.moments{gap:2px;margin:0 0 18px;padding:0;list-style:none;display:grid}.moment-row button{width:100%;color:var(--text-2);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:12px;padding:8px 10px;font-size:14px;display:flex}.moment-row button:hover{background:var(--surface-2);color:var(--text)}.moment-row.is-now button{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px #ff6b6f6b}.moment-row.is-now .moment-time{color:var(--accent)}.moment-row.is-past button{color:var(--muted)}.moment-time{font-variant-numeric:tabular-nums;width:34px;color:var(--muted);flex:none;font-size:12.5px}@media (pointer:coarse){.show-section{height:44px}}@media (width<=560px){.show-sections{flex-wrap:wrap}.show-section{flex:30%!important}}@media (width<=480px){.topbar{gap:4px;padding:0 6px 0 12px}.topnav{gap:0}.topnav a{padding:8px 5px;font-size:13px}.search-btn,.topbar .icon-btn{flex:none;justify-content:center;width:40px;height:44px;padding:0}}@media (width<=379px){.topnav a{padding:8px 3px;font-size:12.5px}.search-btn,.topbar .icon-btn{width:36px}}@media (width<=349px){.topbar{gap:2px;padding-left:8px}.topnav{margin-left:2px}.topnav a{padding:8px 2px;font-size:12px}.search-btn,.topbar .icon-btn{width:34px}}@media (prefers-reduced-motion:reduce){.moment-body{animation:none}}.page-link{color:inherit;text-underline-offset:3px;font-variant-numeric:tabular-nums;border-radius:3px;-webkit-text-decoration:underline #ffffff47;text-decoration:underline #ffffff47;transition:text-decoration-color .15s,color .15s}.page-link:hover{color:var(--text);-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.cite{white-space:nowrap}.res-manual{color:var(--text-2)}:root{--drawer-w:min(640px, 46vw)}.mdrawer{z-index:30;top:var(--header);width:var(--drawer-w);background:var(--surface);border-left:1px solid var(--line-2);animation:mdrawer-in .24s var(--ease-out);flex-direction:column;display:flex;position:fixed;bottom:0;right:0;box-shadow:-18px 0 44px #00000061}.mdrawer:focus{outline:none}@keyframes mdrawer-in{0%{opacity:0;transform:translate(28px)}}@media (width>=901px){.app.has-manual .layout{margin-right:var(--drawer-w)}.app.has-manual .stage-pane>.stage-sections{flex:1 1 0;min-width:0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.app.has-manual .stage-pane>.stage-sections.at-end{-webkit-mask-image:none;mask-image:none}}.mdrawer.is-sheet{z-index:45;width:auto;box-shadow:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-left:0;animation-name:msheet-in;top:0;left:0}@media (width<=900px){.mdrawer.is-loading{z-index:45;width:auto;top:0;left:0}}@keyframes msheet-in{0%{opacity:0;transform:translateY(36px)}}@media (prefers-reduced-motion:reduce){.mdrawer{animation:none}}.app.is-manual .stage-pane{display:none}.app.is-manual .layout{grid-template-rows:minmax(0,1fr)}.app.is-manual .content-pane{display:flex;overflow:hidden}.entry.manual,.app .entry.manual{flex-direction:column;flex:1;min-width:0;max-width:none;min-height:0;margin:0;padding:0;display:flex}.app:not(.is-wide) .entry.manual:not(.home):not(.demo)>*,.content-pane>article.manual>*{max-width:none;margin-left:0;margin-right:0}.manual-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:14px 20px 12px;display:flex}.manual-head h1{margin:0;font-size:24px}.manual-tools{align-self:center;margin-left:auto}.entry.manual:fullscreen{background:var(--bg)}.manual-sub{color:var(--muted);margin:0;font-size:14px}.manual-sub a{color:var(--text-2);text-underline-offset:3px}@media (width<=900px){.app.is-manual .content-pane{height:calc(100svh - var(--header));min-height:0}.manual-head{padding:10px 16px 8px}.manual-head h1{font-size:16px}.manual-sub{display:none}}.stage-mode{border:1px solid var(--line);background:#ffffff0b;border-radius:9px;grid-template-columns:1fr 1fr;padding:2px;display:grid;position:relative}.mode-thumb{pointer-events:none;background:#ffffff1c;border-radius:7px;width:calc(50% - 2px);transition:transform .26s cubic-bezier(.32,.72,0,1);position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 1px 2px #00000059,inset 0 1px #ffffff0a}.stage-mode.is-play .mode-thumb{transform:translate(100%)}.stage-mode button{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;font-size:13px;font-weight:500;transition:color .16s;display:grid;position:relative}.stage-mode .mode-pill{border-radius:7px;justify-content:center;align-items:center;gap:6px;height:28px;padding:0 12px;display:inline-flex}.stage-mode button:hover,.stage-mode button.is-on{color:var(--text)}.stage-mode button:active .mode-pill{transform:scale(.97)}.stage-mode .mode-play .mode-pill:before{content:"";box-sizing:border-box;border:1.5px solid var(--muted);opacity:.7;border-radius:50%;width:7px;height:7px;transition:background-color .2s,border-color .2s,box-shadow .2s,opacity .2s}.stage-mode.is-play .mode-play .mode-pill:before{border-color:var(--green);opacity:1}.stage-mode.is-play.is-sounding .mode-play .mode-pill:before{background:var(--green);box-shadow:0 0 6px #79d97c99}.stage-mode button:focus-visible{outline:none}.stage-mode button:focus-visible .mode-pill{outline:2px solid var(--focus);outline-offset:1px}@media (prefers-reduced-motion:reduce){.mode-thumb{transition:none}}@media (width>=901px){.stage-pane>.stage-mode{order:-1;margin-left:auto;position:relative}.stage-pane>.stage-mode+.stage-tools{margin-left:10px}}@media (width<=900px){.stage-pane>.stage-mode{background:0 0;border:0;flex:none;order:-1;margin:0 6px 0 10px;padding:0;position:relative}.stage-pane>.stage-mode:before{content:"";background:var(--line);pointer-events:none;width:1px;position:absolute;top:7px;bottom:7px;left:-6px}.stage-pane>.stage-mode button{height:44px}.stage-pane>.stage-mode .mode-pill{height:32px;padding:0 10px}.stage-pane>.stage-mode .mode-thumb{width:50%;top:6px;bottom:6px;left:0}}@media (width<=359px){.stage-pane>.stage-mode .mode-pill{padding:0 7px}.stage-mode .mode-play .mode-pill:before{display:none}}.tip .tip-now{color:var(--text);font-variant-numeric:tabular-nums}.tip .tip-act{color:var(--muted);margin-top:3px;font-size:12px}.demo-notice.is-explore{align-items:flex-end;max-width:min(360px,100% - 24px)}.demo-notice .notice-text{gap:2px;display:grid}.notice-sum{color:var(--text-2);font-size:13px;line-height:1.4}.notice-acts{flex:none;align-items:center;gap:10px;display:flex}.demo-notice.is-explore{flex-wrap:wrap}.demo-notice .notice-play{border:1px solid var(--line-2);background:var(--surface-2);width:auto;height:28px;color:var(--text);white-space:nowrap;padding:0 10px;font-size:13px}.took-over{color:var(--text-2);animation:fade-in .2s var(--ease-out);align-items:center;gap:8px;margin:10px 0 0;font-size:13px;display:flex}.took-over-dot{background:var(--held);border-radius:50%;flex:none;width:6px;height:6px}.show-end{color:var(--muted);animation:fade-in .2s var(--ease-out);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 12px;font-size:13px;display:flex}.show-end-again,.show-end a{color:var(--text-2);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #fff3;text-decoration:underline #fff3}.show-end-again:hover,.show-end a:hover{color:var(--text)}@media (pointer:coarse){.show-end-again,.show-end a{align-items:center;min-height:44px;display:inline-flex}}.t-moves{gap:4px;margin:2px 0 0;display:grid}.t-moves ol{gap:1px;margin:0;padding:0;list-style:none;display:grid}.t-move{border-radius:6px;grid-template-columns:8px max-content minmax(0,1fr);align-items:baseline;column-gap:10px;margin:0 -8px;padding:3px 8px;font-size:13px;line-height:1.5;transition:background-color .2s;display:grid}.t-move-mark{background:var(--line-2);border-radius:50%;align-self:center;width:7px;height:7px;transition:background-color .2s,box-shadow .2s}.t-move-set{white-space:nowrap}.t-move-sec{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;margin:6px 0 1px;font-size:11px;font-weight:600}.t-move:first-child .t-move-sec{margin-top:0}.t-nomoves{color:var(--text-2);margin:2px 0 0}.t-move-to{color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:600}.t-move-why{color:var(--muted)}.t-move.is-now{background:color-mix(in oklch, var(--accent) 13%, transparent)}.t-move.is-now .t-move-mark{background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 28%, transparent)}.t-move.is-done .t-move-mark{background:var(--green)}.t-show.is-on{border-color:color-mix(in oklch, var(--accent) 60%, transparent)}@media (width<=520px){.t-move{grid-template-columns:8px minmax(0,1fr)}.t-move-why{grid-column:2}}.app.is-walking .ring-highlight{opacity:.32;animation:none}.app.is-walking .ring-selected{stroke-width:3px;filter:drop-shadow(0 0 5px #ffffffd9)}.walk-caption{z-index:6;border-radius:var(--radius);background:color-mix(in oklch, var(--bg) 90%, transparent);border:1px solid var(--line-2);max-width:calc(100% - 24px);color:var(--text);animation:fade-in .2s var(--ease-out);align-items:center;gap:10px;padding:5px 5px 5px 12px;font-size:13px;line-height:1.3;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 6px 20px #00000073}.walk-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.walk-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.walk-caption .btn{flex:none}.t-check{color:var(--muted);align-items:center;gap:8px;margin:10px 0 0;font-size:13px;display:flex}.t-check-mark{border:1.5px dashed var(--line-2);border-radius:50%;flex:none;width:14px;height:14px}.t-check.is-done{color:var(--text)}.t-check.is-done .t-check-mark{background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2 4-4.4' fill='none' stroke='%230e0f11' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;animation:check-in .26s var(--ease-out);border:0}@keyframes check-in{0%{opacity:0;transform:scale(.6)}}.tip{transform-origin:50% 100%;animation:tip-in-up .14s var(--ease-out);transform:translate(-50%,calc(-100% - 10px))}.tip.tip-below{transform-origin:50% 0;animation-name:tip-in-down;transform:translate(-50%,10px)}@keyframes tip-in-up{0%{opacity:0;transform:translate(-50%,calc(-100% - 5px))scale(.97)}}@keyframes tip-in-down{0%{opacity:0;transform:translate(-50%,5px)scale(.97)}}.wheel-hint{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-2);color:var(--text);white-space:nowrap;pointer-events:none;animation:fade-in .16s var(--ease-out);background:#0e0f11d6;border-radius:10px;margin:0;padding:9px 14px;font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage{touch-action:pan-y}.stage.is-zoomed{touch-action:none}@media (width<=900px),(height<=520px){.stage.is-zoomed.is-explore{touch-action:pan-y}}.key-sweep rect{fill:var(--held-hi);opacity:0;animation:.42s ease-out both panel-key-sweep}@keyframes panel-key-sweep{30%{opacity:.55}to{opacity:0}}.app.mode-play .stage:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#79d97c80 20% 80%,#0000);height:1px;animation:.3s ease-out fade-in;position:absolute;top:0;left:0;right:0}.stage-pane>.demo-notice{z-index:7;position:absolute}.demo-notice.at-point{--rise:6px;bottom:auto;transform:translate(-50%)}.demo-notice.at-point.is-above{transform:translate(-50%,-100%)}.demo-notice.is-explore{width:min(360px,100% - 24px)}@media (width<=900px){.stage-pane>.demo-notice{width:auto;max-width:none;inset:auto 8px 8px;transform:none}}.demo-notice.at-point{animation-name:notice-in}.demo-notice.at-point.is-above{animation-name:notice-in-above}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-4px)}}@keyframes notice-in-above{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))}}@media (width<=900px) and (height<=520px){.stage-pane{position:relative;top:auto}.stage-pane>.stage,.app.is-compact .stage-pane>.stage,.app.is-learn .stage-pane>.stage,.app.is-demo .stage-pane>.stage{height:clamp(96px, calc(100svh - var(--header) - 52px - 148px), 62vw)}.app.is-show .stage-pane>.stage{height:clamp(80px, calc(100svh - var(--header) - 52px - 176px), 62vw)}.entry{padding-top:12px}}@media (width>=901px) and (height<=600px){.app:not(.is-manual){height:auto;display:block}.app:not(.is-manual) .topbar{height:var(--header);position:sticky;top:0}.app:not(.is-manual) .layout{display:block}.app:not(.is-manual) .content-pane{overflow:visible}.app:not(.is-manual) .stage{height:min(var(--stage-h), calc(100svh - var(--header) - var(--toolbar-h)))}.app:not(.is-manual) .entry.demo>.demo-play{top:calc(var(--header) + 16px)}}@media (width>=901px) and (height<=520px){.app:not(.is-manual) .stage{height:clamp(96px, calc(100svh - var(--header) - var(--toolbar-h) - 148px), var(--stage-h))}.app.is-show:not(.is-manual) .stage{height:clamp(80px, calc(100svh - var(--header) - var(--toolbar-h) - 176px), var(--stage-h))}.app:not(.is-manual) .entry{padding-top:12px}}@media (pointer:coarse){.topnav a{align-items:center;min-height:44px;display:inline-flex}.stage-pane>.stage-tools .model-pick select,.btn{height:44px}.row-list a{min-height:44px}.related-list .xref,.on-panel .xref,.learn-paths a{align-items:center;min-height:44px;display:inline-flex}.guide-n{position:relative}.guide-n:after{content:"";position:absolute;inset:-11px}.crumbs a{margin:-15px 0;padding:15px 0;display:inline-block}.page-link{position:relative}.page-link:after{content:"";position:absolute;inset:-14px -9px}.copy-link,.pager a{align-items:center;min-height:44px;display:inline-flex}}.row-list a>.home-h-sub{white-space:nowrap;text-align:right;margin-left:auto}.home-title,.entry h1{text-wrap:balance}.entry[aria-busy=true]:empty:before{content:"Loading…";color:var(--muted);font-size:14px;animation:.2s ease-out .4s both loading-in;display:block}@keyframes loading-in{0%{opacity:0}}@media (width<=900px){.topnav{scrollbar-width:none;flex:0 auto;min-width:0;overflow-x:auto}.topnav::-webkit-scrollbar{display:none}.topnav a{flex:none}.topnav a:focus-visible{outline-offset:-2px}}@media (width<=480px){.topnav a{font-size:12.5px}.search-btn,.topbar .icon-btn{width:38px}}@media (width<=400px){.topbar{gap:2px;padding-right:4px}}@media (width<=379px){.topnav a{font-size:12px}.search-btn,.topbar .icon-btn{width:34px}}@media (width<=349px){.topbar{padding-left:6px}.topnav a{font-size:11.5px}.search-btn,.topbar .icon-btn{width:32px}}@media (width<=339px){.topnav a{font-size:11px}}.search-cta>span{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}:root{--font-label:"Barlow Semi Condensed", "Arial Narrow", sans-serif;--font-text:"Helvetica Neue", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;--measure:34rem}.entry h1,.home-title{font-family:var(--font-label);letter-spacing:-.005em;font-weight:600}.entry h1{margin:6px 0 8px;font-size:30px;line-height:1.1}.home-title{letter-spacing:-.01em!important;font-size:40px!important;line-height:1.04!important}@media (height<=520px){.home-title{font-size:30px!important}}.block-h,.setting h2,.moment-title,.ref-sub,.prose h2{font-family:var(--font-label);letter-spacing:0;font-size:19px;font-weight:600;line-height:1.25}.gesture-what strong{font-family:var(--font-label);letter-spacing:.07em;font-size:13.5px;font-weight:600}.tips h2,.related h2,.group-title,.ref-group h2,.home-h,.demo-group-title,.param-group-head h2{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:13px;font-weight:600;line-height:1.3}th,.credits-table th,.on-panel-label{font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-weight:600}.setting-meta dt{font-family:var(--font-label);letter-spacing:.02em;font-weight:500}.card-title,.demo-card-title,.option dt,.legend dt{font-family:var(--font-label);letter-spacing:.01em;font-weight:600}.card-title,.demo-card-title{font-size:17px;line-height:1.25}.option dt,.legend dt{font-size:15px}.home-h-sub{font:450 14px var(--font-text);letter-spacing:0;text-transform:none}.running-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 20px;display:flex}.crumbs,.running-head .pages,.meta-line{font-family:var(--font-label);letter-spacing:.015em;font-size:14.5px;font-weight:500}.running-head .pages{color:var(--muted)}.running-head .page-link{color:var(--text-2)}.running-head .page-link:hover{color:var(--text)}.content-pane>article>.running-head{animation-delay:var(--t-pageTitle,0s)}.entry-foot{font-size:14px}.entry-foot .pages{color:var(--text-2)}.copy-link{font-size:14px}.brand,.topnav a,.stage-sections a,.stage-sections button,.stage-mode,.model-pick{font-family:var(--font-label)}.brand{letter-spacing:.005em;font-size:18px;font-weight:700}.topnav a,.stage-sections a,.stage-sections button{letter-spacing:.01em;font-weight:500}.stage-mode{letter-spacing:.02em;font-weight:600}@media (width>=901px){.topnav a,.stage-sections a,.stage-sections button{font-size:15.5px}}.app:not(.is-wide) .entry:not(.home):not(.demo)>:is(.lead,.guide-body),.prose>p,.prose>ul,.prose>ol,.tips ul,.setting p,.moment-nord,.moment-why,.t-do,.t-why{max-width:var(--measure)}.entry.home .lead{max-width:36rem}.app.is-wide .entry>.lead{max-width:40rem}.prose p,.prose li,.lead,.tips li,.guide-text,.moment-nord,.moment-why,.demo-card-sum,.home-foot,.quiet{text-wrap:pretty}.entry h2,.home-h{text-wrap:balance}.k-label{color:#686866}.k-letter{color:#00000094}.kb .k-letter{color:#ffffff85}::selection{background:#8fb8ff52}input,textarea{caret-color:var(--accent)}.print-only{display:none}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--surface-2:#fff;--surface-3:#f1f1f2;--line:#00000029;--line-2:#0000004d;--text:#111;--text-2:#2b2b2e;--muted:#55575c;--accent:#b1141d}@page{margin:14mm 16mm}body,.app,.content-pane{color:var(--text);background:#fff}.app,.layout{height:auto;display:block}.content-pane{border:0;overflow:visible}.skip,.topbar,.stage-pane,.mdrawer,.palette-scrim,.transport-float,.guide-nav,.entry-foot,.copy-link,.demo-play,.btn{display:none!important}.entry,.app:not(.is-wide) .entry:not(.home):not(.demo)>:is(.lead,.guide-body){max-width:none;padding:0;animation:none}.print-only{display:inline}.guide-done{display:none}.guide-step,.guide-step.is-active{box-shadow:none;color:var(--text);background:0 0;border-color:#0000}.is-active .guide-n,.guide-step.is-done .guide-n{background:var(--surface-3);color:var(--text-2);font-size:12px}.guide-step.is-done .guide-n:before{display:none}.guide-step.is-done .guide-text{font-size:inherit;white-space:normal;overflow:visible}.table-wrap{border:0;border-radius:0;overflow:visible}.sheet-table{width:100%;font-size:12.5px;line-height:1.45;display:table}.sheet-table thead{display:table-header-group}.sheet-table tbody{display:table-row-group}.sheet-table tr{border:0;padding:0;display:table-row}.sheet-table th,.sheet-table td{border-bottom:1px solid var(--line);vertical-align:top;width:auto;padding:5px 10px 5px 0;display:table-cell}.sheet-table td:first-child,.sheet-table .sheet-how{white-space:nowrap!important}kbd.cap{color:#111;box-shadow:none;background:#fff;border-color:#8a8c91}.gestures,.gesture{background:#fff}.gesture,.guide-step,.setting,.sheet-table tr,.note,li{break-inside:avoid}h1,h2,h3{break-after:avoid}}@media (pointer:coarse){.stage-sections a,.stage-sections button{min-height:44px}.stage-mode button{height:44px}.stage-tools .zoom-btn{min-width:44px;min-height:44px}.ref-group li a{align-items:center;min-height:44px;display:flex}.moment-row button,.moment-next,.more-chip{min-height:44px}}@media (width<=1199px) and (pointer:coarse){.entry.tutorial{flex-direction:column;display:flex}.entry.tutorial>.demo-shape{order:1}.entry.tutorial>.demo-play{order:2}}.show-now{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line-2);animation:fade-in .2s var(--ease-out);align-items:flex-start;gap:10px;margin:0 0 12px;padding:7px 6px 7px 12px;font-size:13px;line-height:1.35;display:flex}.show-now strong{flex:none;max-width:32%;font-weight:600}.show-now span{min-width:0;color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.show-now .btn{flex:none}@media (pointer:coarse){.seg button{min-height:44px}.param-range input[type=range]{height:44px}.stage-pane>.stage-tools>button:not(.zoom-btn){display:none}.stage-sections a,.stage-sections button{min-width:44px}.chip,.chip-link{height:auto;min-height:44px}.kbd-bar .btn-sm{min-width:44px}.crumbs a{margin:-15px -6px;padding:15px 6px}.home-foot a{text-align:center;min-width:44px;margin:-15px 0;padding:15px 0;display:inline-block}.entry-foot .pages .page-link,.moment-pages .page-link{vertical-align:middle;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.entry-foot .pages .page-link:after,.moment-pages .page-link:after{content:none}.entry h2>a:only-child{align-items:center;min-width:44px;min-height:44px;margin-block:-10px;display:inline-flex}.brand{min-height:44px;margin-left:-11px;padding:0 11px}}@media (pointer:coarse) and (width>=390px){.topnav a{justify-content:center;min-width:44px}.search-btn,.topbar .icon-btn{width:44px}}.t-dots{vertical-align:middle;flex-wrap:wrap;gap:4px;margin-left:10px;display:inline-flex}.t-dots i{border:1.5px solid var(--line-2);border-radius:50%;width:7px;height:7px}.t-dots i.is-seen{border-color:var(--muted)}.t-dots i.is-made{border-color:var(--green);background:var(--green)}.t-continue{margin:4px 0 18px}.t-continue .card-meta .t-dots{margin-left:0}.learn-paths a.is-started{border-color:var(--muted);color:var(--text)}.learn-paths a.is-finished{border-color:color-mix(in srgb, var(--green) 55%, var(--line-2));color:var(--text)}.learn-paths a.is-finished:before{content:"";border-left:2px solid var(--green);border-bottom:2px solid var(--green);width:8px;height:4px;margin:0 7px 3px 0;display:inline-block;transform:rotate(-45deg)}.t-made{vertical-align:-2px;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2 4-4.4' fill='none' stroke='%230e0f11' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:50%;width:14px;height:14px;margin-left:8px;display:inline-block}.guide-step.is-done .t-made{vertical-align:-1px}.t-resume{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:14px 0 0;padding:10px 12px 10px 14px;font-size:14px;display:flex}.t-resume .btn{margin-left:auto}@media (pointer:coarse){.t-resume .btn{min-height:44px}}.link-btn{font:inherit;color:var(--text-2);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{color:var(--text)}@media (pointer:coarse){.link-btn{min-height:44px}}.row-continue-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-right:6px;font-size:11px;font-weight:650}.row-continue a{color:var(--text)}
