:root{--ground:#efe6d6;--surface:#f8f2e8;--line:#d6c8b0;--line-strong:#b8a88c;--ink:#1e1b18;--muted:#6b5f52;--accent:#cc3318;--on-accent:#fff;--accent-soft:#e8401f1f;--accent-ink:#9c2a12;--chip-bg:#1e1b18;--chip-ink:#f8f2e8;--clave-soft:#e6d8c0;--clave-ink:#9c2a12;--current:#1e1b18;--current-soft:#1e1b1824;--link:var(--accent-ink);--focus:#cc3318;--error:#9c2a12;--notation-paper:#f8f2e8;--notation-ink:#1e1b18;--paper:var(--ground);--paper-2:var(--surface);--card:var(--surface);--rule:var(--line);--rule-strong:var(--line-strong);--clay:var(--accent);--clay-deep:var(--accent-ink);--clay-soft:var(--accent-soft);--clay-ink:var(--on-accent);--sage:var(--current);--sage-soft:var(--current-soft);--sage-ink:var(--ink);--surface-2:var(--ground);--ink-2:var(--muted);--line-2:var(--line-strong);--accent-hover:color-mix(in srgb, var(--accent) 84%, var(--ink));--fs-ui:15px;--fs-sm:13.5px;--fs-xs:12px;--r-2:var(--radius-sm);--correct:var(--accent);--shadow-2:0 4px 16px #1e1b181f;--shadow-3:0 16px 48px #1e1b1838;--font-display:"Archivo", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-sans:"Archivo", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--measure:48rem;--measure-wide:72rem;--radius:6px;--radius-sm:6px;--tap:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#1e1b18;--surface:#27231f;--line:#3b342e;--line-strong:#55493f;--ink:#ede4d3;--muted:#a2978a;--accent:#ff4a2d;--on-accent:#1e1b18;--accent-soft:#ff4a2d29;--accent-ink:#ffb7a8;--chip-bg:#3b342e;--chip-ink:#ede4d3;--clave-soft:#2f2924;--clave-ink:#ffb7a8;--current:#f2e6c9;--current-soft:#f2e6c929;--link:var(--accent);--focus:#ff4a2d;--error:#ffb7a8;--shadow-2:0 4px 16px #00000059;--shadow-3:0 16px 48px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#1e1b18;--surface:#27231f;--line:#3b342e;--line-strong:#55493f;--ink:#ede4d3;--muted:#a2978a;--accent:#ff4a2d;--on-accent:#1e1b18;--accent-soft:#ff4a2d29;--accent-ink:#ffb7a8;--chip-bg:#3b342e;--chip-ink:#ede4d3;--clave-soft:#2f2924;--clave-ink:#ffb7a8;--current:#f2e6c9;--current-soft:#f2e6c929;--link:var(--accent);--focus:#ff4a2d;--error:#ffb7a8;--shadow-2:0 4px 16px #00000059;--shadow-3:0 16px 48px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);flex-direction:column;min-height:100dvh;font-weight:400;line-height:1.5;display:flex;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;font-weight:900;line-height:1.05}h1{font-size:clamp(1.9rem,1.4rem + 2.4vw,2.75rem)}h2{margin-bottom:var(--s1);letter-spacing:-.02em;font-size:1.35rem}h3{letter-spacing:-.02em}p{margin-bottom:var(--s2)}a{color:var(--link);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--accent-ink)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.caption{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:700}.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.kb{flex-direction:column;gap:4px;width:100%;max-width:560px;margin:0 auto;display:flex}.kb-label{font-size:12px;line-height:var(--kb-label-line-height,15px);color:var(--ink-muted,#1a1a1a8c);font-weight:500}.kb-lane{height:var(--kb-lane-height,190px);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#1a1a1a;border-radius:6px;width:100%;margin:0;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0006,inset 0 -3px #00000040}.kb-key{appearance:none;font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:0;margin:0;padding:0;transition:background 80ms,transform 80ms,filter 80ms}.kb-display .kb-key{cursor:default}.kb-key.kb-pressed{filter:brightness(1.18);transform:translateY(2px)scale(.98)}.kb-white{background:linear-gradient(#fbf5e6 0%,#f1e6cd 100%);border-right:1px solid #c8b890;flex:1 1 0;position:relative;box-shadow:inset 0 -8px 8px -6px #0000002e}.kb-white:last-child{border-right:none}.kb-black{z-index:2;background:linear-gradient(#2a2a2a 0%,#050505 95%);border:1px solid #000;border-radius:0 0 3px 3px;height:62%;position:absolute;top:0;box-shadow:0 2px 4px #0009,inset 0 -3px #ffffff14}.kb-white:focus-visible{outline:3px solid var(--clay,#2f6f4f);outline-offset:-3px;z-index:3}.kb-black:focus-visible{outline:3px solid var(--bg-sunken,#f4efdf);outline-offset:-3px}.kb-white.kb-hint{background:#f2c15c}.kb-black.kb-hint{background:#d99b2b}.kb-white.kb-hi{background:var(--correct,#4a7f4e)}.kb-white.kb-err{background:var(--wrong,#b7472a)}.kb-black.kb-hi{background:var(--correct,#4a7f4e);filter:brightness(.78)}.kb-black.kb-err{background:var(--wrong,#b7472a);filter:brightness(.78)}.kb-white.kb-hi .kb-key-label,.kb-white.kb-err .kb-key-label{color:#fff}.kb-key-label{text-align:center;color:#1a1a1a;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;position:absolute;bottom:4px;left:0;right:0}@media (width<=600px){.kb-lane{height:var(--kb-lane-height,110px)}.kb-label{font-size:11px;line-height:var(--kb-label-line-height,13px)}}.kb-key-hint{pointer-events:none;letter-spacing:.02em;color:var(--ink-dim,#1a1a1a4d);font:600 10px/1 ui-monospace,SF Mono,Menlo,monospace;position:absolute;bottom:4px;right:4px}.kb-key-hint:after{content:attr(data-hint)}.kb-black .kb-key-hint{text-align:center;color:#ffffff8c;bottom:5px;left:0;right:0}.kb-key.kb-hi .kb-key-hint,.kb-key.kb-err .kb-key-hint,.kb-key.kb-hint .kb-key-hint{color:#00000073}@media (pointer:coarse),(hover:none),(width<=640px){.kb-key-hint{display:none!important}}.kb.kb-skin-keycap{gap:var(--kb-label-gap,11px);max-width:740px}.kb.kb-skin-keycap .kb-label{min-height:var(--kb-label-line-height,27px);color:#777168;line-height:1.3;font:600 11px/1.3 var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;display:flex}.kb.kb-skin-keycap .kb-map{width:min(250px,45%);height:var(--kb-label-line-height,27px);flex:none;display:block}.kb-label-action{cursor:pointer;color:var(--accent,#d97757);font:inherit;letter-spacing:inherit;text-transform:inherit;text-underline-offset:3px;touch-action:manipulation;background:0 0;border:0;margin:-8px -6px -8px .6em;padding:8px 6px;text-decoration:underline}.kb.kb-skin-keycap .kb-label-has-action .kb-label-action{margin-right:auto}.kb.kb-skin-keycap .kb-label-has-action .kb-map{width:min(250px,36%)}.kb-map-white{fill:#fff;stroke:#d8d2c6;stroke-width:.35px}.kb-map-black{fill:#2a2a2a}.kb-map-white.kb-map-on{fill:var(--accent,#d97757);fill-opacity:.55;stroke:var(--accent,#d97757)}.kb-map-black.kb-map-on{fill:var(--accent,#d97757)}.kb.kb-skin-keycap .kb-lane{box-shadow:none;margin-bottom:var(--kb-bed,9px);background:0 0;border-radius:8px 8px 0 0;overflow:visible}.kb.kb-skin-keycap .kb-white{background:#fff;border:1px solid #e7e6e2;border-radius:0 0 8px 8px;transition:box-shadow 90ms,background .12s;box-shadow:0 6px #e8e8e6,0 9px 7px #00000014}.kb.kb-skin-keycap .kb-white+.kb-white{margin-left:-1px}.kb.kb-skin-keycap .kb-white:first-child{border-top-left-radius:8px}.kb.kb-skin-keycap .kb-white:last-of-type{border-top-right-radius:8px}.kb.kb-skin-keycap:not(.kb-display) .kb-white:hover{background:#fafaf8}.kb.kb-skin-keycap .kb-black{background:linear-gradient(#292929,#1a1a1a);border:0;border-radius:0 0 6px 6px;height:64%;transition:box-shadow 90ms,background .12s;box-shadow:0 6px #111,0 9px 8px #00000030}.kb.kb-skin-keycap .kb-key.kb-pressed{filter:none;transform:none}.kb.kb-skin-keycap .kb-white.kb-pressed{box-shadow:inset 0 2px 4px #00000017,0 1px #e0e0df,0 2px 2px #0000000d}.kb.kb-skin-keycap .kb-black.kb-pressed{box-shadow:inset 0 2px 5px #0006,0 1px #101010,0 2px 2px #0000001a}.kb.kb-skin-keycap .kb-white.kb-hint{background:#fff}.kb.kb-skin-keycap .kb-black.kb-hint{background:linear-gradient(#292929,#1a1a1a)}.kb.kb-skin-keycap .kb-key.kb-hint:before{content:"";border-radius:inherit;pointer-events:none;background:#f2b03c80;animation:1.2s ease-in-out infinite kb-hint-pulse;position:absolute;inset:0}.kb.kb-skin-keycap .kb-black.kb-hint:before{background:#f2b03cd9}@keyframes kb-hint-pulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.kb.kb-skin-keycap .kb-key.kb-hint:before{animation-duration:2.2s}}.kb.kb-skin-keycap .kb-white.kb-hi,.kb.kb-skin-keycap .kb-black.kb-hi{background:var(--correct,#14b5a2);filter:none}.kb.kb-skin-keycap .kb-white.kb-err,.kb.kb-skin-keycap .kb-black.kb-err{background:var(--wrong,#c96b57);filter:none}.kb.kb-skin-keycap .kb-key-label{font:600 11px var(--font-mono,ui-monospace, monospace);color:#9a958c;bottom:12px}.kb.kb-skin-keycap .kb-black .kb-key-label{color:#fff9}.kb.kb-skin-keycap .kb-key-hint{box-sizing:border-box;color:#393630;width:25px;height:24px;font:700 12px/1 var(--font-mono,ui-monospace, monospace);text-transform:uppercase;background:#fdfcf8;border:1px solid #d4d0c8;border-bottom-color:#bcb7ae;border-radius:5px;place-items:center;display:grid;bottom:13px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 2px #d9d5cc,0 3px 4px #0000001a}.kb.kb-skin-keycap .kb-black .kb-key-hint{text-align:center;color:#393630;border-color:#eee9df;width:22px;height:22px;font-size:11px;bottom:9px;left:50%;right:auto;box-shadow:0 2px #c9c4bb,0 3px 5px #00000040}.kb.kb-skin-keycap .kb-key.kb-hi .kb-key-hint,.kb.kb-skin-keycap .kb-key.kb-err .kb-key-hint,.kb.kb-skin-keycap .kb-key.kb-hint .kb-key-hint{color:#393630}@media (hover:hover) and (pointer:fine) and (width>=641px){.kb.kb-skin-keycap .kb-key:has(.kb-key-hint) .kb-key-label{display:none}}.kb.kb-skin-keycap.kb-display .kb-white{border-radius:0 0 3px 3px;box-shadow:0 4px #e8e8e6}.kb.kb-skin-keycap.kb-display .kb-black{border-radius:0 0 3px 3px;box-shadow:0 3px #111}.kb.kb-skin-keycap.kb-display .kb-white:first-child,.kb.kb-skin-keycap.kb-display .kb-white:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.site-header.svelte-12qhfyh{justify-content:space-between;align-items:baseline;gap:var(--s2);padding:var(--s2) var(--s2);border-bottom:1px solid var(--rule);display:flex}.site-name.svelte-12qhfyh{font-family:var(--font-display);color:var(--ink);letter-spacing:-.035em;white-space:nowrap;font-size:1.2rem;font-weight:900;text-decoration:none}.site-nav.svelte-12qhfyh{align-items:center;gap:var(--s2);font-size:.8125rem;font-weight:700;display:flex}.site-nav.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--muted);align-items:center;min-height:32px;text-decoration:none;display:inline-flex}.site-nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:var(--clay-deep)}.theme.svelte-12qhfyh{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--card);padding:2px;display:inline-flex}.theme.svelte-12qhfyh button:where(.svelte-12qhfyh){min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;padding:0 7px;font-size:.75rem;font-weight:700;display:inline-flex}.theme.svelte-12qhfyh button:where(.svelte-12qhfyh):hover{color:var(--ink)}.theme.svelte-12qhfyh button[aria-pressed=true]:where(.svelte-12qhfyh){background:var(--chip-bg);color:var(--chip-ink)}.theme-word.svelte-12qhfyh{display:none}main.svelte-12qhfyh{width:100%;max-width:var(--measure-wide);padding:var(--s2) var(--s2) calc(var(--s5) + 72px);flex:1;margin:0 auto}@media (width>=640px){.theme-word.svelte-12qhfyh{display:inline}.theme.svelte-12qhfyh button:where(.svelte-12qhfyh){padding:0 8px}.site-header.svelte-12qhfyh{padding:var(--s2) var(--s3)}main.svelte-12qhfyh{padding:var(--s3) var(--s3) calc(var(--s5) + 72px)}}
