:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--paper: #f3eadc;--paper-soft: #fbf5ea;--paper-strong: #fffaf2;--paper-warm: #ead8bf;--ink: #1d211f;--ink-soft: #343a36;--muted: #756957;--muted-strong: #5f5446;--line: #ddcfbb;--line-strong: #cbb89d;--teal: #0d5d59;--teal-deep: #073f3d;--teal-soft: #dcefeb;--terracotta: #a54825;--terracotta-deep: #7d311a;--terracotta-soft: #f5dfcf;--gold: #b98526;--gold-soft: #f1dfb5;--charcoal: #141816;--danger: #b42318;--danger-soft: #fff0ec;--focus: rgb(13 93 89 / .32);--shadow-sm: 0 .18rem .55rem rgb(47 34 18 / .08);--shadow-md: 0 1.1rem 2.6rem rgb(47 34 18 / .14);--shadow-lg: 0 1.8rem 4.5rem rgb(47 34 18 / .22);--radius-sm: 6px;--radius-md: 8px;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}html{min-width:320px;background:radial-gradient(circle at 6% 8%,rgb(185 133 38 / .16),transparent 22rem),radial-gradient(circle at 94% 12%,rgb(13 93 89 / .13),transparent 24rem),linear-gradient(135deg,#f8f0e4,#efe2cf 46%,#f7efe3)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(rgb(255 250 242 / .72) 1px,transparent 1px),linear-gradient(90deg,rgb(255 250 242 / .48) 1px,transparent 1px);background-size:42px 42px;color:var(--ink);text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}a{color:var(--teal)}.page-shell{width:min(100% - 2rem,1120px);margin:0 auto;padding:1.5rem 0 5rem}.page-header{margin-bottom:2rem}.page-header.compact{margin-bottom:1.15rem}.editorial-header{position:relative;min-height:13rem;padding:1.4rem;border:1px solid rgb(221 207 187 / .82);border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(90deg,rgb(255 250 242 / .96) 0%,rgb(255 250 242 / .88) 48%,transparent 100%),var(--paper-strong);box-shadow:var(--shadow-md)}.editorial-header:before{position:absolute;inset:0;background:linear-gradient(90deg,rgb(255 250 242 / .9) 0%,rgb(255 250 242 / .72) 42%,transparent 70%),url(/alfaia-editorial-hero.png) right center / cover no-repeat;content:""}.editorial-header:after{position:absolute;inset:auto 0 0;height:.45rem;background:linear-gradient(90deg,var(--teal),var(--terracotta),var(--gold));content:""}.editorial-header>*{position:relative;z-index:1;max-width:36rem}.home-hero{position:relative;display:grid;min-height:30rem;align-items:center;padding:clamp(1.25rem,5vw,4rem);border:1px solid rgb(221 207 187 / .84);border-radius:var(--radius-md);overflow:hidden;background:var(--paper-strong);box-shadow:var(--shadow-lg);isolation:isolate}.home-hero:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffaf2fa,#fffaf2e6 42%,#fffaf233 72%),radial-gradient(circle at 19% 71%,rgb(185 133 38 / .2),transparent 17rem);content:""}.home-hero:after{position:absolute;inset:auto 0 0;height:.5rem;background:linear-gradient(90deg,var(--teal),var(--terracotta),var(--gold));content:""}.home-hero-copy{position:relative;z-index:2;width:100%;min-width:0;max-width:31rem}.home-hero-copy p:not(.eyebrow){max-width:min(28rem,100%);margin:1rem 0 0;color:var(--muted-strong);font-size:1.08rem}.home-hero-media{position:absolute;inset:0;z-index:-2}.home-hero-image{width:100%;height:100%;object-fit:cover;object-position:center right;filter:saturate(.96) contrast(1.02)}.eyebrow{margin:0 0 .45rem;color:var(--teal);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,ui-serif,serif;font-size:2.65rem;font-weight:900;line-height:.96;letter-spacing:0}h2{margin:0 0 .8rem;color:var(--ink);font-size:1.18rem;font-weight:900;letter-spacing:0}p{line-height:1.65}.back-link{display:inline-flex;align-items:center;gap:.45rem;min-height:2.55rem;margin-bottom:1rem;padding:0 .95rem;border:1px solid rgb(13 93 89 / .34);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffaf2e6,#dcefebdb);color:var(--teal);box-shadow:var(--shadow-sm);font-weight:900;text-decoration:none;transition:border-color .17s ease,box-shadow .17s ease,color .17s ease,transform .17s ease}.back-link:hover{border-color:var(--teal);color:var(--teal-deep);box-shadow:var(--shadow-md);transform:translateY(-1px)}.back-link svg{flex:none}.home-section+.home-section{margin-top:2rem}.home-section h2{margin-bottom:.8rem}.rhythm-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.rhythm-link{position:relative;display:grid;min-height:8.2rem;align-content:space-between;gap:1.2rem;padding:1.05rem;border:1px solid rgb(221 207 187 / .92);border-radius:var(--radius-md);overflow:hidden;background:radial-gradient(circle at 15% 6%,rgb(13 93 89 / .12),transparent 28%),linear-gradient(135deg,#fffaf2fa,#f5dfcfad);box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.rhythm-link:before{position:absolute;inset:0;background:radial-gradient(circle at top right,rgb(185 133 38 / .25),transparent 35%),linear-gradient(135deg,rgb(13 93 89 / .16),transparent 58%);content:"";opacity:0;transition:opacity .18s ease}.rhythm-link:after{position:absolute;top:.85rem;right:.85rem;width:2.35rem;height:2.35rem;border:1px solid rgb(13 93 89 / .2);border-radius:999px;background:radial-gradient(circle,rgb(13 93 89 / .16) 0 28%,transparent 30%),repeating-radial-gradient(circle,transparent 0 .4rem,rgb(185 133 38 / .22) .42rem .45rem);content:""}.rhythm-link strong,.rhythm-link span{position:relative;z-index:1}.rhythm-link:hover{border-color:#0d5d5994;box-shadow:var(--shadow-md);transform:translateY(-3px)}.rhythm-link:hover:before{opacity:1}.rhythm-link strong{max-width:88%;color:var(--ink);font-size:1.08rem;line-height:1.18}.rhythm-link span{width:fit-content;max-width:100%;padding:.28rem .6rem;border:1px solid rgb(13 93 89 / .12);border-radius:999px;background:#0d5d591a;color:var(--muted-strong);font-size:.78rem;font-weight:900;text-transform:capitalize}.compose-link{max-width:31rem;min-height:7rem}.compose-link span{border:0;border-radius:0;padding:0;background:transparent;color:var(--muted);font-size:.95rem;font-weight:650;line-height:1.45;text-transform:none}.preference-disclosure{width:fit-content;margin-top:1.7rem;color:var(--muted);font-size:.92rem}.preference-disclosure summary{cursor:pointer;font-weight:900}.preference-disclosure summary:hover{color:var(--teal)}.hand-preference-toggle{display:inline-flex;align-items:flex-start;gap:.6rem;margin-top:.65rem;cursor:pointer}.hand-preference-toggle input{width:1rem;height:1rem;margin:.2rem 0 0;accent-color:var(--teal)}.hand-preference-toggle span{display:grid;gap:.12rem}.hand-preference-toggle strong{color:var(--ink);font-size:.92rem}.hand-preference-toggle small{color:var(--muted);font-size:.82rem;line-height:1.45}.home-disclaimer{margin-top:2rem;padding-top:1rem;border-top:1px solid rgb(221 207 187 / .8);color:var(--muted);font-size:.88rem;line-height:1.55}.home-disclaimer p{max-width:46rem;margin:0}.home-disclaimer p+p{margin-top:.85rem}.rhythm-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:2rem}.rhythm-nav a{display:grid;gap:.25rem;min-width:0;min-height:4.7rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,#fffaf2f0,#dcefeb85);color:inherit;box-shadow:var(--shadow-sm);text-decoration:none;transition:border-color .17s ease,box-shadow .17s ease,transform .17s ease}.rhythm-nav a:last-child{text-align:right}.rhythm-nav a:hover{border-color:#0d5d598c;box-shadow:var(--shadow-md);transform:translateY(-2px)}.rhythm-nav span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.rhythm-nav strong{overflow-wrap:anywhere}.player-panel,.composer-panel,.error-panel{margin:1.5rem 0;padding:1.05rem;border:1px solid rgb(221 207 187 / .96);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffaf2fa,#fbf5eaed);box-shadow:var(--shadow-md)}.composer-panel{padding:1.15rem}.composer-panel>.player-panel{margin:1.15rem 0;border-color:#0d5d592e;background:linear-gradient(180deg,#dcefeb80,#fffaf2e0);box-shadow:inset 0 1px #ffffffb8}.player-tip{display:grid;justify-items:start;gap:.55rem;margin:-.35rem 0 1rem}.player-tip-trigger{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:0 .65rem;border:1px solid rgb(13 93 89 / .24);border-radius:999px;background:#fffaf2c7;color:var(--muted-strong);box-shadow:0 1px #ffffffb8 inset;cursor:pointer;font-size:.82rem;font-weight:900;transition:background .17s ease,border-color .17s ease,box-shadow .17s ease,color .17s ease,transform .17s ease}.player-tip-trigger:hover,.player-tip-trigger[aria-expanded=true]{border-color:#0d5d5985;background:linear-gradient(180deg,var(--paper-strong),rgb(220 239 235 / .76));color:var(--teal-deep)}.player-tip-trigger:hover{box-shadow:0 1px #ffffffb8 inset,0 .5rem .9rem #2f221214;transform:translateY(-1px)}.player-tip-trigger svg{flex:none}.player-tip-popover{max-width:min(100%,28rem);padding:.65rem .75rem;border:1px solid rgb(13 93 89 / .18);border-radius:var(--radius-sm);background:#fffaf2f0;color:var(--ink-soft);box-shadow:var(--shadow-sm);font-size:.88rem;font-weight:700;line-height:1.45}.controls,.composer-actions,.hand-keys{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.controls{padding:.3rem;border:1px solid rgb(221 207 187 / .78);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffaf2e0,#ead8bf6b)}.controls button,.composer-actions button,.audio-help-actions a,.audio-help-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.55rem;padding:0 .95rem;border:1px solid rgb(29 33 31 / .2);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--paper-strong),#f1e2cc);color:var(--ink);box-shadow:0 1px #ffffffd1 inset;cursor:pointer;font-weight:900;text-decoration:none;transition:background .17s ease,border-color .17s ease,box-shadow .17s ease,color .17s ease,transform .17s ease}.controls button:first-child,.composer-actions .record-button,.audio-help-actions button{border-color:var(--charcoal);background:linear-gradient(180deg,#26302b,var(--charcoal));color:#fffaf2;box-shadow:0 1px #ffffff2e inset,0 .55rem 1rem #14181629}.controls button:hover:not(:disabled),.composer-actions button:hover:not(:disabled),.audio-help-actions a:hover,.audio-help-actions button:hover{border-color:#0d5d59b8;box-shadow:0 1px #ffffffb8 inset,0 .75rem 1.4rem #2f221221;transform:translateY(-1px)}.controls button:first-child:hover:not(:disabled),.composer-actions .record-button:hover:not(:disabled),.audio-help-actions button:hover{border-color:#26302b;box-shadow:0 1px #ffffff2e inset,0 .85rem 1.6rem #14181638}.controls button svg,.composer-actions button svg,.shortcut-help-trigger svg{flex:none}.controls button:disabled,.composer-actions button:disabled,button.step-cell:disabled{border-color:var(--line);background:#e8dccb;color:#998d7e;box-shadow:none;cursor:not-allowed;transform:none}.controls button.loop-toggle[aria-pressed=true],.composer-actions .metronome-toggle[aria-pressed=true]{border-color:var(--teal);background:linear-gradient(180deg,#12746f,var(--teal-deep));color:#fffaf2;box-shadow:inset 0 0 0 1px #fffaf22e,0 .75rem 1.35rem #0d5d5933}.controls button.loop-toggle[aria-pressed=false],.composer-actions .metronome-toggle{border-color:#0d5d5942;background:linear-gradient(180deg,var(--paper-strong),var(--teal-soft));color:var(--teal-deep)}.controls .reset-pattern-button{min-height:2.35rem;padding:0 .72rem}.player-secondary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem;margin-top:.7rem}.copy-transcription-button{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2rem;padding:0 .65rem;border:1px solid rgb(13 93 89 / .22);border-radius:var(--radius-sm);background:#fffaf2a8;color:var(--muted-strong);box-shadow:0 1px #fff9 inset;cursor:pointer;font-size:.82rem;font-weight:900;transition:background .17s ease,border-color .17s ease,box-shadow .17s ease,color .17s ease,transform .17s ease}.copy-transcription-button:hover{border-color:#0d5d5973;background:#dcefeb85;color:var(--teal-deep);box-shadow:0 1px #ffffffb8 inset,0 .45rem .8rem #2f221212;transform:translateY(-1px)}.copy-transcription-button svg{flex:none}.loop-toggle,.tempo-control{display:inline-flex;align-items:center;gap:.55rem;min-height:2.55rem}.tempo-control{flex:0 1 auto;max-width:100%;padding:0 .7rem;border:1px solid rgb(221 207 187 / .76);border-radius:var(--radius-sm);background:#fffaf2bd;color:var(--muted-strong);font-weight:850}.tempo-control input{width:clamp(8rem,14vw,10.5rem);accent-color:var(--teal)}.composer-slider-row input[type=range]{width:min(19rem,100%);accent-color:var(--teal)}.tempo-control output,.composer-slider-row output{min-width:4.75rem;color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:900;text-align:right}.player-status{min-height:1.25rem;color:var(--muted-strong);font-size:.84rem;font-weight:800}.player-status[data-tone=error]{color:var(--danger)}.player-status[data-tone=success]{color:var(--teal-deep)}.composer-meta{display:grid;grid-template-columns:minmax(16rem,20rem);gap:.75rem;margin-bottom:1rem}.composer-meta label,.markdown-output{display:grid;gap:.4rem;color:var(--muted-strong);font-size:.86rem;font-weight:900}.composer-meta input,.composer-meta select,.markdown-output textarea{width:100%;min-height:2.55rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper-strong);color:var(--ink)}.composer-meta input,.composer-meta select{padding:0 .75rem}.composer-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 5rem;align-items:center;gap:.75rem;padding:.55rem .65rem;border:1px solid rgb(221 207 187 / .78);border-radius:var(--radius-sm);background:#fffaf2bd}.composer-slider-row input[type=range]{min-height:auto;padding:0;border:0;background:transparent}.composer-actions{margin-bottom:1rem}.composer-actions span{min-width:5rem;color:var(--teal);font-weight:900}.composer-actions .record-button.recording{border-color:var(--danger);background:linear-gradient(180deg,#c23525,var(--danger));color:#fffaf2;box-shadow:0 .75rem 1.45rem #b4231833}@media (min-width: 761px){.composer-panel{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.75rem;align-items:center}.composer-panel>:not(.composer-meta):not(.composer-actions){grid-column:1 / -1}.composer-meta{grid-template-columns:auto}.composer-meta label{display:inline-flex;align-items:center;gap:.55rem}.composer-slider-row{width:20rem}.composer-actions{flex-wrap:nowrap}}.count-in{display:grid;min-height:5.5rem;margin-bottom:1rem;place-items:center;border:1px solid rgb(185 133 38 / .38);border-radius:var(--radius-md);background:radial-gradient(circle,rgb(185 133 38 / .24),transparent 58%),linear-gradient(135deg,var(--gold-soft),var(--paper-strong));color:var(--terracotta-deep);font-family:Georgia,Times New Roman,ui-serif,serif;font-size:3.4rem;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.hand-keys{justify-content:center;margin-bottom:1rem;padding:.85rem;border:1px solid rgb(221 207 187 / .82);border-radius:var(--radius-md);background:linear-gradient(135deg,#0d5d5914,#b985261a),#fffaf2c7}.hand-key{display:grid;min-width:7.5rem;min-height:4.55rem;padding:.55rem .85rem;place-items:center;border:1px solid currentColor;border-radius:var(--radius-md);background:linear-gradient(180deg,var(--paper-strong),rgb(255 250 242 / .74));box-shadow:var(--shadow-sm);cursor:pointer;font-weight:900;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.hand-key span{color:var(--muted);font-size:.78rem;text-transform:uppercase}.hand-key strong{font-size:1.35rem;line-height:1}.left-hand{color:var(--teal)}.right-hand{color:var(--terracotta)}.hand-key[data-pressed=true]{transform:translateY(1px) scale(.99)}.hand-key[data-pressed=true] span{color:currentColor}.left-hand[data-pressed=true]{background:linear-gradient(180deg,#e2f3ef,#b9ddd6);box-shadow:inset 0 0 0 2px #0d5d5933}.right-hand[data-pressed=true]{background:linear-gradient(180deg,#f8e3d5,#efc4a8);box-shadow:inset 0 0 0 2px #a5482533}.grid-scroll{overflow-x:auto;padding:.15rem 0 .55rem;scrollbar-color:var(--teal) rgb(221 207 187 / .6)}.rhythm-grid{min-width:720px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--paper-strong);box-shadow:inset 0 1px #ffffffb8,0 .5rem 1.25rem #2f221214}.composer-grid{margin-bottom:1rem}.grid-row{display:grid}.track-name,.step-cell{display:grid;min-height:2.85rem;place-items:center;border-right:1px solid rgb(221 207 187 / .88);border-bottom:1px solid rgb(221 207 187 / .88)}.grid-row:last-child .track-name,.grid-row:last-child .step-cell{border-bottom:0}.track-name{position:sticky;left:0;z-index:2;justify-content:start;padding:0 .75rem;background:linear-gradient(90deg,var(--paper-strong),#efe2cf);color:var(--ink-soft);font-weight:950}.track-name-action{display:inline-flex;max-width:100%;align-items:center;gap:.45rem;white-space:nowrap}.track-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.step-cell{position:relative;color:var(--muted);font-weight:900;font-variant-numeric:tabular-nums;transition:background .12s ease,box-shadow .12s ease,color .12s ease,transform .12s ease}.track-mute-button{display:inline-grid;flex:0 0 auto;width:1.9rem;height:1.9rem;place-items:center;border:1px solid rgb(29 33 31 / .18);border-radius:999px;background:var(--paper-strong);color:var(--ink-soft);box-shadow:0 1px #ffffffbf inset;cursor:pointer}.track-mute-button[aria-pressed=true]{border-color:#b4231859;background:var(--danger-soft);color:var(--danger)}button.step-cell{padding:0;border-top:0;border-left:0;cursor:pointer}button.step-cell:hover:not(:disabled){background:#faeadb;color:var(--terracotta-deep)}button.step-cell:active:not(:disabled){transform:scale(.98)}button.step-cell:focus-visible,.composer-actions button:focus-visible,.controls button:focus-visible,.copy-transcription-button:focus-visible,.hand-key:focus-visible,.player-tip-trigger:focus-visible,.track-mute-button:focus-visible,.back-link:focus-visible,.preference-disclosure summary:focus-visible,.hand-preference-toggle:focus-within,.audio-help-actions a:focus-visible,.audio-help-actions button:focus-visible,.ios-audio-help-link a:focus-visible,.shortcut-help-trigger:focus-visible,.shortcut-help-modal button:focus-visible,.markdown-output textarea:focus-visible,.rhythm-link:focus-visible,.rhythm-nav a:focus-visible,.composer-meta input:focus-visible,.composer-meta select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.count-row .step-cell,.count-row .track-name{min-height:2.35rem;background:linear-gradient(180deg,#e3f1ed,var(--teal-soft));color:var(--teal-deep);font-size:.84rem}.hit-cell{background:radial-gradient(circle at center,rgb(185 133 38 / .28) 0 .55rem,transparent .6rem),linear-gradient(180deg,#fff1e2,var(--terracotta-soft));color:var(--terracotta-deep);line-height:1}.rest-cell{background:linear-gradient(180deg,#fffaf2,#f5eadb);color:#a39787}.beat-start{box-shadow:inset 2px 0 #1d211f61}.step-cell.active,.count-row .step-cell.active{z-index:1;background:radial-gradient(circle at 50% 20%,rgb(255 250 242 / .28),transparent 42%),linear-gradient(180deg,#26302b,var(--charcoal));color:#fffaf2;box-shadow:inset 0 0 0 2px #b985266b,0 0 0 1px var(--charcoal),0 .5rem 1.1rem #1418162e}.muted-row .track-label,.muted-row .step-cell{opacity:.44}.markdown-output{margin-top:1.1rem}.markdown-output textarea{min-height:19rem;padding:1rem;border-color:#1418163d;background:linear-gradient(180deg,#171d1a,#101412);color:#fff8ec;box-shadow:inset 0 1px #ffffff14,0 .8rem 1.6rem #14181624;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;line-height:1.55;resize:vertical}.markdown-output textarea[aria-invalid=true]{border-color:#f04438;box-shadow:0 0 0 1px #f04438,0 .8rem 1.6rem #b4231824}.transcription-errors{margin-top:.6rem;padding:.8rem;border:1px solid #f3b6ad;border-radius:var(--radius-sm);background:var(--danger-soft);color:#912018;font-size:.88rem;font-weight:800}.transcription-errors ul{margin:0;padding-left:1.25rem}.audio-help-backdrop,.shortcut-help-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 35%,rgb(13 93 89 / .22),transparent 22rem),#141816ad;backdrop-filter:blur(8px)}.shortcut-help-backdrop{z-index:30}.audio-help-modal,.shortcut-help-modal{width:min(100%,30rem);padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--paper-strong),var(--paper-soft));box-shadow:var(--shadow-lg)}.audio-help-modal h2{margin-bottom:.5rem;font-size:1.35rem}.audio-help-modal p:not(.eyebrow){margin:0;color:var(--muted-strong)}.audio-help-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem}.audio-help-actions a{border-color:#0d5d595c;background:linear-gradient(180deg,var(--paper-strong),var(--teal-soft));color:var(--teal)}.ios-audio-help-link{margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--line);color:var(--muted-strong);font-size:.92rem}.ios-audio-help-link a{color:var(--teal);font-weight:900}.shortcut-help-trigger{position:fixed;right:1rem;bottom:1rem;z-index:10;display:none;align-items:center;gap:.35rem;min-height:2.2rem;padding:0 .75rem;border:1px solid rgb(13 93 89 / .28);border-radius:999px;background:linear-gradient(180deg,var(--paper-strong),var(--teal-soft));color:var(--teal-deep);box-shadow:var(--shadow-md);cursor:pointer;font-size:.82rem;font-weight:900}.shortcut-help-trigger:hover{border-color:var(--teal);color:var(--teal)}.shortcut-help-modal{width:min(100%,24rem)}.shortcut-help-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.shortcut-help-header h2{margin:0}.shortcut-help-header button{display:inline-grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper-strong);color:var(--ink);cursor:pointer}.shortcut-list{display:grid;gap:.65rem;margin:0}.shortcut-list div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.shortcut-list dt{display:inline-flex;flex-wrap:wrap;gap:.35rem}.shortcut-list dd{margin:0;color:var(--muted-strong);font-weight:800;text-align:right}kbd{min-width:2rem;padding:.18rem .45rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--paper-strong),#ead8bf);color:var(--ink);box-shadow:inset 0 -1px #1d211f29;font-family:inherit;font-size:.82rem;font-weight:950;text-align:center}.content{margin-top:2rem;color:var(--ink-soft)}.content p,.content li{max-width:70ch}.content code{padding:.08rem .24rem;border-radius:4px;background:#0d5d591a;color:var(--teal-deep);font-size:.95em}.content pre{overflow-x:auto;padding:1rem;border:1px solid rgb(20 24 22 / .24);border-radius:var(--radius-md);background:linear-gradient(180deg,#171d1a,#101412);color:#fff8ec;box-shadow:var(--shadow-sm)}.content pre code{padding:0;background:transparent;color:inherit}.error-panel{border-color:#f3b6ad;background:var(--danger-soft)}.error-panel ul{margin:0;padding-left:1.25rem}.help-steps ol{display:grid;gap:.85rem;margin:0;padding:0;counter-reset:help-step;list-style:none}.help-steps li{position:relative;min-height:5rem;padding:1rem 1rem 1rem 3.6rem;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--paper-strong),rgb(220 239 235 / .42));box-shadow:var(--shadow-sm);counter-increment:help-step}.help-steps li:before{position:absolute;top:1rem;left:1rem;display:grid;width:1.85rem;height:1.85rem;place-items:center;border-radius:999px;background:var(--teal);color:#fffaf2;content:counter(help-step);font-weight:950;line-height:1}.help-steps h2{margin-bottom:.35rem;font-size:1.05rem}.help-steps p{margin:0;color:var(--muted-strong)}@media (min-width: 720px){h1{font-size:4.2rem}.editorial-header{min-height:15rem;padding:2rem}.rhythm-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.page-shell{width:min(100% - 1rem,1120px);padding:.75rem 0 4rem}.home-hero{min-height:25rem;padding:1.25rem;align-items:end}.home-hero:before{background:linear-gradient(180deg,#fffaf285,#fffaf2fa 64%),radial-gradient(circle at 18% 77%,rgb(185 133 38 / .18),transparent 13rem)}.home-hero-image{object-position:64% center}.home-hero-copy{width:100%;max-width:18rem}.home-hero-copy p:not(.eyebrow){width:100%;max-width:100%}.editorial-header{min-height:12rem;padding:1rem}.editorial-header:before{background:linear-gradient(180deg,#fffaf2b8,#fffaf2fa 78%),url(/alfaia-editorial-hero.png) right center / cover no-repeat}.editorial-header>*{max-width:20rem}.composer-meta{grid-template-columns:1fr}.rhythm-nav{gap:.5rem}.rhythm-nav a{min-height:4rem;padding:.75rem}.player-panel,.composer-panel,.error-panel{padding:.75rem}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.5rem}.controls button{min-width:0;padding:0 .4rem;gap:.3rem;font-size:.9rem;white-space:nowrap}.tempo-control{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr auto;min-width:0}.tempo-control input{width:100%}.composer-actions,.hand-keys{display:grid;gap:.55rem}.composer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-actions span{grid-column:1 / -1}.hand-keys{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-actions button,.hand-key{min-width:0}.audio-help-actions{display:grid}.audio-help-actions a,.audio-help-actions button{justify-content:center}}@media (max-width: 520px){h1{font-size:2.35rem}.rhythm-list{grid-template-columns:1fr}.rhythm-link{min-height:6.8rem}.rhythm-nav{grid-template-columns:1fr}.rhythm-nav a:last-child{text-align:left}.shortcut-list div{align-items:flex-start;flex-direction:column;gap:.35rem}.shortcut-list dd{text-align:left}}@media (min-width: 768px) and (hover: hover) and (pointer: fine){.shortcut-help-trigger{display:inline-flex}}
