:root{color-scheme:light;--font-stack: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-panel: 8px;--radius-control: 6px;--shadow-panel: 0 18px 44px rgba(32, 40, 51, .08);--shadow-control: 0 8px 18px rgba(32, 40, 51, .05);--shadow-accent: 0 14px 28px rgba(15, 122, 69, .2);--transition-fast: .18s ease;--container-content: 1180px;--container-wide: 1240px;--container-gutter: 48px;--page-gap: 18px;--color-bg: #f4f7f2;--color-ink: #17212b;--color-copy: #465363;--color-surface: #fff;--color-accent: #0f7a45;--color-accent-hover: #0b6538;--color-kicker: #6a3746;--border-subtle: rgba(23, 33, 43, .14);--border-strong: rgba(23, 33, 43, .18)}.dojo-home,.dojo-home-footer{--color-bg: #ece6d7;--color-ink: #211b14;--color-copy: #4d4539;--color-surface: #f7f2e7;--color-accent: #f4cc62;--color-kicker: #8f3a2f;--border-subtle: rgba(33, 27, 20, .14);--border-strong: rgba(33, 27, 20, .18)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;max-width:100%;overflow-x:hidden}body{background:var(--color-bg);width:100%}a{color:inherit;text-decoration:none}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;display:inline-flex;min-height:44px;align-items:center;border:2px solid var(--color-ink);border-radius:var(--radius-control);background:#f9fbf5;color:var(--color-ink);font-family:var(--font-stack);font-size:.9375rem;font-weight:900;padding:10px 14px;transform:translateY(-150%);transition:transform var(--transition-fast)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}:where(a,button,input,select,textarea,[role=button],[role=link],[tabindex]):focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;box-shadow:0 0 0 5px #f9fbf5f5}.skip-link:focus-visible,.dojo-home :where(a,button,input,select,textarea,[role=button],[role=link],[tabindex]):focus-visible{outline-color:#f4cc62;box-shadow:0 0 0 5px #18130dd1}.pattern-switcher button:focus-visible,.tempo-control input:focus-visible{outline-offset:-4px;box-shadow:inset 0 0 0 3px #f4cc62f2}.content-grid,.mode-reference-list,.score-stack,.dojo-stat-band,.dojo-flow,.dojo-mode-band{margin:0;padding:0;list-style:none}.card,.content-card,.mode-reference-list li,.custom-pattern-writer,.practice-toolbar,.dojo-mode-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-panel)}.card-interactive,.dojo-mode-card{transition:border-color var(--transition-fast),transform var(--transition-fast)}.card-interactive:hover,.dojo-mode-card:hover{transform:translateY(-2px)}.button,.primary-action,.secondary-action,.randomize-button,.playback-button,.notation-retry-button,.dojo-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:var(--radius-control);cursor:pointer;font:inherit;font-weight:900;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.button:hover,.primary-action:hover,.secondary-action:hover,.randomize-button:hover,.playback-button:hover,.notation-retry-button:hover,.dojo-button:hover{transform:translateY(-1px)}.button-primary,.primary-action,.randomize-button{background:var(--color-accent);color:#f9fbf5;box-shadow:var(--shadow-accent)}.button-primary:hover,.primary-action:hover,.randomize-button:hover{background:var(--color-accent-hover)}.button-secondary,.secondary-action{border:2px solid currentColor;background:var(--color-surface);color:var(--color-ink)}.button-dark,.playback-button,.notation-retry-button{border:1px solid var(--border-strong);background:var(--color-ink);color:#f9fbf5;font-size:.875rem;line-height:1.1}.button-dark:hover,.playback-button:hover,.notation-retry-button:hover{background:#263241}.pattern-switcher,.custom-pattern-segmented{overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:#f9fbf5}.pattern-switcher button,.custom-pattern-segmented button{border:0;background:transparent;color:#263241;cursor:pointer;font:inherit;font-weight:900}.pattern-switcher button:hover,.custom-pattern-segmented button:hover{background:#0f7a4514}.pattern-switcher button.active,.custom-pattern-segmented button.active{background:var(--color-ink);color:#f9fbf5}.page-kicker,.section-kicker,.practice-label,.setting-label,.mode-subsection>h3,.mode-reference-list h3,.custom-pattern-title-field span,.custom-pattern-controls legend,.custom-pattern-measure h2,.custom-pattern-preset-group>span,.modes-page .content-card h4 span,.dojo-kicker{color:var(--color-kicker);font-size:.8rem;font-weight:900;line-height:1.2;text-transform:uppercase}.page-heading{display:grid;gap:8px}.page-heading h1{font-size:2.15rem;line-height:1}.site-shell{position:relative;min-height:100vh;overflow-x:hidden;color:var(--color-ink);font-family:var(--font-stack);background:var(--color-bg)}.site-header,.site-main,.site-footer{position:relative;z-index:1;width:min(calc(100% - var(--container-gutter)),var(--container-content));margin:0 auto}.site-header{display:flex;align-items:center;gap:28px;justify-content:space-between;padding:28px 0 20px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.0625rem;font-weight:800}.brand-mark{display:inline-grid;width:34px;height:34px;place-items:center;border:2px solid var(--color-ink);border-radius:50%;background:#f9fbf5;color:var(--color-accent);font-weight:900}.site-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.site-nav a{border:1px solid var(--border-subtle);border-radius:999px;padding:8px 13px;background:var(--color-surface);color:#263241;font-size:.9375rem;font-weight:700}.site-nav a.active,.site-nav a[aria-current=page]{border-color:#0f7a456b;background:#e3f1e8;color:var(--color-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.site-main{display:grid;gap:48px;padding:54px 0 64px}.site-main.practice-route{width:min(calc(100% - var(--container-gutter)),var(--container-wide))}h1,h2,h3,p{letter-spacing:0}h1{margin:0;font-size:4.75rem;line-height:.96}h2{margin:0;font-size:2rem;line-height:1.05}h3{margin:0 0 10px;font-size:1.0625rem;line-height:1.25}p{margin:0;color:var(--color-copy);font-size:1.0625rem;line-height:1.65}.not-found-page{display:grid;max-width:720px;gap:18px;padding:42px 0 72px}.not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.primary-action,.secondary-action{padding:10px 18px}.secondary-action:hover{background:#f9fbf5}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.content-grid>*{min-width:0}.content-card{min-height:100%;padding:24px}.practice-page{display:grid;justify-self:stretch;width:100%;max-width:none;gap:var(--page-gap);padding:18px 0 34px}.custom-page{display:grid;justify-self:stretch;width:100%;gap:var(--page-gap);padding:18px 0 34px}.custom-heading{max-width:720px}.practice-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,300px);gap:18px;align-items:start}.practice-main{min-width:0}.practice-sidebar{--practice-heading-label-slot: 2.88rem ;display:grid;gap:14px;align-self:start;min-width:0}.practice-heading{display:grid;grid-template-rows:minmax(var(--practice-heading-label-slot),auto) auto;gap:8px}.practice-label{min-height:var(--practice-heading-label-slot)}.practice-heading h1{font-size:2.15rem;line-height:1}.practice-toolbar{--practice-setting-button-block-size: 40px;--practice-setting-helper-slot: calc(2 * .8125rem * 1.3);--practice-setting-label-slot: .792rem ;display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch;width:100%;max-width:100%;padding:14px}.setting-groups{display:grid;gap:12px}.setting-group{display:grid;grid-template-rows:minmax(var(--practice-setting-label-slot),auto) minmax(var(--practice-setting-helper-slot),auto) auto;min-width:0;min-inline-size:0;align-content:start;gap:8px;margin:0;border:0;border-top:2px solid rgba(106,55,70,.18);padding:12px 0 0}.setting-group:first-child{border-top:0;padding-top:0}.setting-group-hidden{visibility:hidden}.setting-group>legend{width:100%;padding:0}.setting-label{margin:0;font-size:.72rem;line-height:1.1}.setting-helper{max-width:16rem;min-height:var(--practice-setting-helper-slot);margin:0;color:#596575;font-size:.8125rem;font-weight:700;line-height:1.3}.setting-error{display:inline-flex;align-items:baseline;gap:6px;margin:0;color:#8c1f2d;font-size:.8125rem;font-weight:800;line-height:1.35}.setting-error:before{content:"!";display:inline-grid;width:1.25em;height:1.25em;flex:0 0 auto;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:.78em;line-height:1}.pattern-switcher{display:grid;grid-auto-rows:minmax(var(--practice-setting-button-block-size),auto);width:100%;box-shadow:var(--shadow-control)}.pattern-switcher button{display:inline-flex;min-height:var(--practice-setting-button-block-size);min-width:0;width:100%;align-items:center;justify-content:center;border-bottom:1px solid var(--border-subtle);font-size:.9375rem;font-weight:800;gap:8px;line-height:1.15;padding:10px 14px;text-align:center}.pattern-switcher button:before{content:"";display:block;width:7px;height:12px;flex:0 0 7px;border-right:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(45deg)}.pattern-switcher button:last-child{border-bottom:0}.pattern-switcher button.active:before{border-color:currentColor}.line-count-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.line-count-switcher button:nth-child(2n){border-left:1px solid var(--border-subtle)}.line-count-switcher button:nth-last-child(-n+2){border-bottom:0}.tempo-control{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:var(--practice-setting-button-block-size);align-items:center;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:#f9fbf5;box-shadow:var(--shadow-control)}.tempo-control:has(input[aria-invalid=true]){border-color:#8c1f2db8}.tempo-control input{width:100%;min-width:0;min-height:var(--practice-setting-button-block-size);border:0;background:transparent;color:#263241;font:inherit;font-size:1rem;font-weight:900;line-height:1.15;padding:10px 12px}.tempo-control span{display:inline-flex;min-height:var(--practice-setting-button-block-size);align-items:center;border-left:1px solid var(--border-subtle);color:#596575;font-size:.8125rem;font-weight:900;line-height:1;padding:0 12px}.toggle-control{display:inline-flex;min-height:40px;align-items:center;gap:10px;color:#263241;cursor:pointer;font-size:.9375rem;font-weight:800;white-space:nowrap}.toggle-control input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.toggle-track{display:inline-flex;width:46px;height:26px;align-items:center;border:1px solid var(--border-strong);border-radius:999px;background:#cfd8d0;padding:2px;transition:background var(--transition-fast),border-color var(--transition-fast)}.toggle-thumb{width:20px;height:20px;border-radius:50%;background:#f9fbf5;box-shadow:0 3px 9px #17212b38;transition:transform var(--transition-fast)}.toggle-control input:checked+.toggle-track{border-color:#0f7a4575;background:var(--color-accent)}.toggle-control input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.randomize-control{display:grid;grid-template-rows:minmax(var(--practice-setting-helper-slot),auto) auto;align-content:end;gap:8px;border-top:1px solid var(--border-subtle);padding-top:12px}.randomize-button{width:100%;border:1px solid var(--border-strong);font-size:.9375rem;padding:12px 22px}.custom-pattern-writer{display:grid;gap:14px;min-width:0;margin-bottom:14px;padding:16px}.custom-pattern-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.custom-pattern-title-field{display:grid;gap:7px;min-width:0}.custom-pattern-title-field input{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:#f9fbf5;color:var(--color-ink);font:inherit;font-size:1rem;font-weight:850;line-height:1.3;padding:10px 12px}.custom-pattern-segmented{display:inline-grid;grid-auto-flow:column}.custom-pattern-segmented button{min-height:40px;border-left:1px solid var(--border-subtle);font-size:.875rem;line-height:1.1;padding:9px 13px}.custom-pattern-segmented button:first-child{border-left:0}.custom-pattern-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.custom-pattern-controls fieldset{display:grid;gap:7px;min-width:0;margin:0;border:0;padding:0}.custom-pattern-controls legend{padding:0}.custom-pattern-preset-field{flex:1 1 100%}.custom-pattern-preset-groups{display:flex;flex-wrap:wrap;gap:12px;min-width:0}.custom-pattern-preset-group{display:grid;gap:7px;min-width:0}.custom-pattern-grid{display:grid;gap:12px;min-width:0}.custom-pattern-measure{display:grid;gap:8px;min-width:0}.custom-pattern-measure h2{margin:0}.custom-pattern-cell-grid{display:grid;gap:4px;min-width:0;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:#eef3ec;padding:6px}.custom-pattern-cell{display:grid;grid-template-rows:16px repeat(3,32px);gap:4px;min-width:64px}.custom-pattern-cell span{display:inline-grid;place-items:center;color:#596575;font-size:.68rem;font-weight:900;line-height:1}.custom-pattern-drum-control{display:grid;grid-template-columns:minmax(28px,1fr) 32px;gap:4px;min-width:0}.custom-pattern-cell button,.custom-pattern-cell select{width:100%;min-height:32px;border:1px solid var(--border-subtle);border-radius:5px;font:inherit;font-size:.75rem;font-weight:900;line-height:1}.custom-pattern-cell button{display:inline-grid;place-items:center;background:var(--color-surface);color:#263241;cursor:pointer;padding:0}.custom-pattern-cell select{min-width:0;background:#f9fbf5;color:#263241;padding:0 1px}.custom-pattern-cell select:disabled{opacity:.42}.custom-pattern-cell button:hover{border-color:#0f7a4561;background:#e3f1e8}.custom-pattern-cell button.active{border-color:var(--color-ink);background:var(--color-ink);color:#f9fbf5}.score-panel{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--color-surface)}.score-stack{display:grid;grid-template-columns:1fr;gap:14px;padding:18px}.score-stack>*{min-width:0}.score-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;min-width:0}.score-surface{min-width:0;min-height:118px;width:100%;background:linear-gradient(rgba(23,33,43,.08) 1px,transparent 1px) 0 32px / 100% 18px no-repeat,linear-gradient(rgba(23,33,43,.08) 1px,transparent 1px) 0 50px / 100% 18px no-repeat,linear-gradient(rgba(23,33,43,.08) 1px,transparent 1px) 0 68px / 100% 18px no-repeat,linear-gradient(rgba(23,33,43,.08) 1px,transparent 1px) 0 86px / 100% 18px no-repeat,var(--color-surface)}.score-surface svg{display:block;width:100%;max-width:100%;height:auto}.playback-controls{display:flex;justify-content:flex-end;min-width:0}.playback-button{min-height:40px;min-width:92px;gap:8px;padding:9px 12px}.playback-button.active{border-color:#6a37466b;background:#6a3746}.playback-button-icon{display:inline-grid;width:14px;height:14px;flex:0 0 14px;place-items:center}.playback-button-icon:before{content:"";display:block}.playback-button-icon.play:before{width:0;height:0;margin-left:2px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}.playback-button-icon.stop:before{width:10px;height:10px;background:currentColor}.score-error{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:0 18px 18px;color:#8c1f2d;font-size:.9375rem}.score-error p{color:inherit;font-size:inherit;line-height:1.45}.notation-status{padding:0 18px 18px;color:var(--color-copy);font-size:.9375rem;font-weight:800;line-height:1.45}.notation-retry-button{padding:9px 16px}.modes-page{display:grid;max-width:980px;gap:34px;padding:18px 0 34px}.mode-heading{max-width:780px}.mode-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.mode-section{display:grid;gap:22px;padding-top:26px;border-top:1px solid var(--border-subtle)}.mode-section-heading,.mode-subsection{display:grid;gap:12px}.mode-section-heading{max-width:760px}.mode-section-heading p,.practice-copy{font-size:1.0625rem}.modes-page .content-card h4{margin:0 0 10px;color:var(--color-ink);font-size:1.0625rem;line-height:1.25}.modes-page .content-card h4 span{display:inline-block}.mode-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-meter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-mode-card{padding:18px}.mode-reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mode-reference-list li{display:grid;gap:8px;min-width:0;padding:18px}.site-footer,.dojo-home-footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:26px 0 34px;border-top:1px solid var(--border-subtle);color:#5d6877;font-family:var(--font-stack);font-size:.9375rem}.dojo-home-footer{border-top-color:var(--border-subtle);background:var(--color-bg);color:var(--color-copy);padding:26px max(24px,calc((100vw - var(--container-content)) / 2)) 34px}@media(max-width:900px){.practice-workspace{grid-template-columns:1fr}.mode-meter-grid,.mode-reference-list{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-sidebar{--practice-heading-label-slot: 1.92rem ;order:-1}}@media(max-width:760px){.site-header,.site-main,.site-footer{width:min(calc(100% - 32px),var(--container-content))}.site-header{display:block}.site-nav{justify-content:flex-start;margin-top:14px}.site-main{gap:34px;padding-top:36px}.site-main.practice-route{width:min(calc(100% - 32px),var(--container-wide))}h1{font-size:3.2rem}h2{font-size:1.65rem}.content-grid,.mode-meter-grid,.mode-reference-list,.mode-two-column{grid-template-columns:1fr}.practice-page{gap:18px;padding-top:12px;width:100%}.practice-workspace{grid-template-columns:1fr}.practice-sidebar{order:-1}.practice-heading h1{font-size:2rem}.practice-toolbar{gap:12px;padding:12px}.setting-groups{display:grid;gap:12px}.setting-group{width:100%;padding-top:10px}.setting-group:first-child{border-top:0;padding-top:0}.pattern-switcher{display:grid;width:100%}.pattern-switcher button{padding:9px 8px}.randomize-control{padding-top:12px}.custom-pattern-writer{padding:12px}.custom-pattern-header{grid-template-columns:1fr}.custom-pattern-segmented{display:grid;grid-auto-flow:row;width:100%}.custom-pattern-segmented button{border-left:0;border-top:1px solid var(--border-subtle)}.custom-pattern-segmented button:first-child{border-top:0}.custom-pattern-preset-group{width:100%}.score-stack{gap:10px;padding:12px}.score-line{grid-template-columns:1fr}.playback-controls{justify-content:flex-start;order:-1}.score-surface{min-height:108px}}.dojo-home{min-height:100vh;overflow-x:hidden;background:#ece6d7;color:var(--color-ink);font-family:var(--font-stack)}.dojo-home h1,.dojo-home h2,.dojo-home p,.dojo-home figure{margin:0;letter-spacing:0}.dojo-home p{color:inherit}.dojo-hero{position:relative;display:grid;min-height:86vh;overflow:hidden;color:#fff6dc}.dojo-hero-picture,.dojo-hero-shade{position:absolute;inset:0}.dojo-hero-picture{display:block;overflow:hidden}.dojo-hero-image{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center;animation:dojo-image-drift 18s ease-in-out infinite alternate}.dojo-hero-shade{background:linear-gradient(90deg,#1e1812cc,#1e181285 40%,#1e18121f 70%),linear-gradient(0deg,rgba(30,24,18,.4),transparent 48%)}.dojo-home-nav,.dojo-hero-content,.dojo-rhythm-line{position:relative;z-index:1}.dojo-home-nav{display:flex;width:min(calc(100% - var(--container-gutter)),var(--container-content));align-items:center;justify-content:space-between;gap:20px;margin:0 auto;padding:26px 0}.dojo-home-brand{display:inline-flex;align-items:center;gap:10px;color:#fff6dc;font-size:1rem;font-weight:900}.dojo-home-mark{display:inline-grid;width:34px;height:34px;place-items:center;border:2px solid currentColor;border-radius:50%;background:#7a1f19c7}.dojo-home-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dojo-home-links a{min-height:36px;border:1px solid rgba(255,246,220,.38);border-radius:999px;background:#08070547;color:#fff6dc;font-size:.84rem;font-weight:900;padding:8px 12px;backdrop-filter:blur(10px)}.dojo-home-links a[aria-current=page]{border-color:#fad573c7;background:#fad5732e;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.dojo-hero-content{display:grid;width:min(calc(100% - var(--container-gutter)),var(--container-content));max-width:720px;align-content:center;gap:22px;margin:0 auto;padding:64px 0 108px;justify-self:start}.dojo-home .dojo-kicker{color:var(--color-kicker)}.dojo-hero .dojo-kicker{color:#d6ad4a}.dojo-hero h1{max-width:760px;color:#fff6dc;font-size:7.8rem;font-weight:900;line-height:.9;text-transform:uppercase}.dojo-hero-copy{max-width:640px;color:#f8e9c3;font-size:1.22rem;font-weight:650;line-height:1.55}.dojo-actions{display:flex;flex-wrap:wrap;gap:10px}.dojo-button{border:2px solid currentColor;font-size:.95rem;line-height:1.1;padding:11px 18px}.dojo-button-primary{background:var(--color-accent);color:#18130d}.dojo-button-secondary{background:#fff6dc14;color:#fff6dc}.dojo-rhythm-line{position:absolute;right:max(24px,calc((100vw - var(--container-content)) / 2));bottom:34px;display:flex;align-items:center;gap:12px;width:min(460px,calc(100% - 48px));opacity:.86}.dojo-rhythm-mark{display:block;height:10px;border-radius:999px;background:#fff6dc;box-shadow:0 0 24px #f4cc626b;animation:dojo-mark-pulse 2.8s ease-in-out infinite}.dojo-rhythm-mark.long{width:54px}.dojo-rhythm-mark.short{width:26px}.dojo-rhythm-mark.dot{width:10px}.dojo-rhythm-mark.rest{width:18px;height:18px;border:2px solid #fff6dc;background:transparent}.dojo-rhythm-mark:nth-child(2n){animation-delay:.18s}.dojo-rhythm-mark:nth-child(3n){animation-delay:.36s}.dojo-stat-band,.dojo-feature-band,.dojo-flow,.dojo-mode-band,.dojo-final-cta{width:min(calc(100% - var(--container-gutter)),var(--container-content));margin:0 auto}.dojo-stat-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:30px 0 58px}.dojo-stat-band li{display:grid;min-height:74px;align-items:center;border-top:2px solid var(--border-strong);color:var(--color-ink);font-size:1.08rem;font-weight:900;text-transform:uppercase}.dojo-feature-band{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr);gap:38px;align-items:center;padding:18px 0 76px}.dojo-feature-copy{display:grid;gap:18px}.dojo-feature-copy h2,.dojo-final-cta h2{max-width:720px;color:var(--color-ink);font-size:3.4rem;line-height:.98}.dojo-feature-copy p:last-child{max-width:520px;color:var(--color-copy);font-size:1.1rem;font-weight:600;line-height:1.62}.dojo-feature-image{overflow:hidden;border-radius:var(--radius-panel);background:#18130d;box-shadow:0 28px 80px #1d171038}.dojo-feature-image img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .7s ease}.dojo-feature-image:hover img{transform:scale(1.035)}.dojo-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-block:1px solid var(--border-strong);background:var(--border-strong)}.dojo-flow-step{display:grid;min-height:136px;align-content:space-between;gap:22px;background:#f6f0e3;padding:22px}.dojo-flow-step span{color:var(--color-kicker);font-size:.82rem;font-weight:900}.dojo-flow-step p{color:var(--color-ink);font-size:1.35rem;font-weight:900;line-height:1.1}.dojo-mode-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:70px 0}.dojo-mode-card{height:100%;min-height:220px;padding:24px}.dojo-mode-card:hover{border-color:#8f3a2f66}.dojo-mode-card h2{margin-bottom:18px;color:var(--color-ink);font-size:2.1rem;line-height:1}.dojo-mode-card p{color:var(--color-copy);font-size:1.0625rem;font-weight:600;line-height:1.55}.dojo-final-cta{display:grid;justify-items:start;gap:20px;padding:70px 0 92px;border-top:1px solid var(--border-strong)}.dojo-final-cta .dojo-button-secondary,.dojo-final-cta .dojo-button-primary{color:#18130d}@keyframes dojo-image-drift{0%{transform:scale(1.01)}to{transform:scale(1.055) translate3d(1.2%,-.6%,0)}}@keyframes dojo-mark-pulse{0%,to{opacity:.48;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.dojo-hero-image,.dojo-rhythm-mark{animation:none}.skip-link,.toggle-track,.toggle-thumb,.button,.primary-action,.secondary-action,.randomize-button,.playback-button,.notation-retry-button,.dojo-button,.card-interactive,.dojo-mode-card,.dojo-feature-image img{transition:none}.button:hover,.primary-action:hover,.secondary-action:hover,.randomize-button:hover,.playback-button:hover,.notation-retry-button:hover,.dojo-button:hover,.card-interactive:hover,.dojo-mode-card:hover,.dojo-feature-image:hover img{transform:none}}@media(forced-colors:active){:where(a,button,input,select,textarea,[role=button],[role=link],[tabindex]):focus-visible{outline:3px solid Highlight;box-shadow:none}.skip-link,.pattern-switcher,.tempo-control,.content-card,.mode-reference-list li,.score-panel{border-color:CanvasText}.pattern-switcher button.active,.randomize-button,.primary-action,.playback-button,.notation-retry-button,.dojo-button-primary{forced-color-adjust:none;border-color:SelectedItem;background:SelectedItem;color:SelectedItemText}.setting-error,.score-error{color:Highlight}}@media(max-width:900px){.dojo-hero{min-height:84vh}.dojo-home-nav,.dojo-hero-content,.dojo-stat-band,.dojo-feature-band,.dojo-flow,.dojo-mode-band,.dojo-final-cta{width:min(calc(100% - 32px),var(--container-content))}.dojo-home-nav{display:grid;justify-items:start;padding-top:18px}.dojo-home-links{justify-content:flex-start}.dojo-hero-content{gap:18px;padding:44px 0 104px}.dojo-hero h1{font-size:4.8rem}.dojo-hero-copy{font-size:1.08rem}.dojo-rhythm-line{right:16px;bottom:24px;width:min(390px,calc(100% - 32px))}.dojo-stat-band,.dojo-feature-band,.dojo-flow,.dojo-mode-band{grid-template-columns:1fr}.dojo-stat-band{gap:8px;padding-bottom:44px}.dojo-stat-band li{min-height:54px}.dojo-feature-band{gap:26px;padding-bottom:56px}.dojo-feature-copy h2,.dojo-final-cta h2{font-size:2.55rem}.dojo-flow-step{min-height:108px}.dojo-mode-band{padding:52px 0}.dojo-home-footer{padding:26px max(16px,calc((100vw - var(--container-content)) / 2)) 34px}}@media(max-width:560px){.dojo-hero{min-height:82vh}.dojo-home-brand{font-size:.95rem}.dojo-home-links a{min-height:34px;font-size:.78rem;padding:8px 10px}.dojo-hero h1{font-size:3.35rem;line-height:.94}.dojo-actions{display:grid;grid-template-columns:1fr;width:100%}.dojo-button{width:100%}.dojo-rhythm-line{gap:8px}.dojo-rhythm-mark.long{width:34px}.dojo-rhythm-mark.short{width:18px}.dojo-feature-copy h2,.dojo-final-cta h2{font-size:2rem}.dojo-feature-copy p:last-child,.dojo-mode-card p{font-size:.97rem}.dojo-mode-card{min-height:0;padding:20px}.dojo-final-cta{padding-bottom:64px}}
