:root{--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;--radius: 6px;--gap: 1rem;--tap: 48px;--page-max: 140rem;--page-pad: clamp(1rem, 2.4vw, 3rem)}:root[data-theme=dark]{color-scheme:dark;--bg: #0e1014;--surface: #161a20;--surface-2: #1d222a;--border: #2a303a;--control-border: #66717f;--text: #e8eaee;--text-muted: #9aa3b0;--accent: #f0b04a;--accent-ink: #14100a;--focus: #f0b04a}:root[data-theme=light]{color-scheme:light;--bg: #f4f3ef;--surface: #ffffff;--surface-2: #ebe9e3;--border: #cfccc2;--control-border: #7a7f87;--text: #1a1d22;--text-muted: #555c66;--accent: #9a5b00;--accent-ink: #ffffff;--focus: #9a5b00}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:1rem/1.6 var(--font-ui)}h1,h2,h3{line-height:1.2;margin:0 0 .5em;text-wrap:balance}p,li,dd{text-wrap:pretty}h1{font-size:clamp(1.6rem,4vw,2.2rem)}h2{font-size:1.25rem;margin-top:2rem}h3,.ui-h{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.ui-h{margin-top:0}.ui-sub{font-size:1rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--text);margin:1.33em 0 .5em}p{margin:0 0 1em}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:.5rem 1rem;z-index:10}.skip:focus{left:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.5rem;padding:.5rem max(var(--page-pad),calc((100% - var(--page-max)) / 2 + var(--page-pad)));border-bottom:1px solid var(--border);background:var(--surface)}.brand{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--text)}.site-nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1rem;list-style:none;margin:0;padding:0}.site-nav a{color:var(--text-muted);text-decoration:none;padding:0 .25rem;display:inline-flex;align-items:center;min-height:var(--tap)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.site-controls{display:flex;align-items:center;gap:.75rem;margin-left:auto}.lang-switch{display:flex;gap:.25rem}.lang-switch a{min-width:var(--tap);min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);text-decoration:none;font-size:.85rem}.lang-switch a[aria-current=true]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.theme-toggle{min-height:var(--tap);min-width:7.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}@media(max-width:60rem){.site-nav{order:3;flex:1 0 100%;border-top:1px solid var(--border);margin-top:.25rem}.site-nav ul{gap:0 1rem}}@media(max-width:36rem){.site-nav ul{display:grid;grid-template-columns:repeat(3,1fr)}.site-nav a{justify-content:center;width:100%}.site-controls{flex:1 0 100%;justify-content:space-between;margin-left:0}.brand{flex:1 0 100%}.site-nav{order:2}.site-controls{order:3;border-top:1px solid var(--border);padding-top:.5rem;margin-top:.25rem}}main{width:100%;max-width:var(--page-max);margin:0 auto;padding:1rem var(--page-pad) 2.5rem;flex:1}.lead{color:var(--text-muted);font-size:1.1rem;max-width:60ch}.notice{padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.site-footer{padding:1rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem;text-align:center}.site-footer p{margin:.25rem 0}.prose ol{padding-left:1.25rem;max-width:62ch}.prose p{max-width:75ch}.prose li{margin-bottom:.5rem}.cards{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card a{display:block;height:100%;padding:1rem;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card a:hover{border-color:var(--accent)}.card-title{display:block;font-weight:600;margin-bottom:.25rem}.card-text{display:block;color:var(--text-muted);font-size:.9rem}.badge{display:inline-block;margin-left:.4rem;padding:0 .45rem;font-size:.72rem;font-weight:600;line-height:1.5;vertical-align:.1em;color:var(--accent);border:1px solid var(--border);border-radius:var(--radius)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin:1.5rem 0}.btn{min-height:var(--tap);min-width:var(--tap);padding:0 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-step{padding:0 .75rem;font-family:var(--font-mono)}input[type=range]{width:100%;accent-color:var(--accent);min-height:var(--tap)}select{min-height:var(--tap);padding:0 .5rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit}input[type=checkbox]{width:1.4rem;height:1.4rem;accent-color:var(--accent)}.bpm-display{text-align:center}.bpm-value{display:block;font:700 clamp(4rem,18vw,7rem)/1 var(--font-mono);color:var(--accent)}.bpm-label{color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.bpm-controls{display:flex;justify-content:center;gap:.5rem;margin:1rem 0 .5rem}.beat-dots{display:flex;justify-content:center;gap:.75rem;list-style:none;margin:1rem 0;padding:0}.dot{width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--border);background:transparent}.dot-first{border-color:var(--text-muted)}.dot.on{background:var(--accent);border-color:var(--accent)}.transport{display:flex;gap:.75rem;margin:1rem 0}.btn-start{flex:1;font-size:1.15rem}.options{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.85rem;color:var(--text-muted)}.field-check{flex-direction:row;align-items:center;gap:.6rem}.field-check label{color:var(--text);font-size:1rem}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.more-tools ul{list-style:none;padding:0;margin:0;columns:2 280px;column-gap:2rem}.more-tools li{margin-bottom:.4rem;break-inside:avoid}.account-slot:empty{display:none}.account-slot{display:flex;align-items:center}#app[data-tool]:empty{min-height:32rem}#app[data-size=s]:empty{min-height:18rem}#app[data-size=m]:empty{min-height:28rem}#app[data-size=l]:empty{min-height:38rem}#app[data-size=xl]:empty{min-height:50rem}main:focus{outline:none}.breadcrumb{margin:0 0 1rem;font-size:.9rem}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:0 .5rem;list-style:none;margin:0;padding:0}.breadcrumb li{display:flex;align-items:center;min-height:var(--tap)}.breadcrumb li+li:before{content:"/";color:var(--text-muted);margin-right:.5rem}.breadcrumb a{display:inline-flex;align-items:center;min-height:var(--tap)}.breadcrumb [aria-current=page]{color:var(--text-muted)}.cat-heading a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:var(--tap)}.cat-heading a:hover{color:var(--text);text-decoration:underline}.more-tools a,.prose a{display:inline-block;padding:.35rem 0}.meta{color:var(--text-muted);font-size:.9rem}.faq-item{margin-bottom:1.25rem;max-width:62ch}.faq-item h3{text-transform:none;letter-spacing:0;font-size:1.05rem;color:var(--text);margin-bottom:.25rem}.prose ul{padding-left:1.25rem;max-width:62ch}.release{margin:0 0 2rem;max-width:62ch}.release h2{margin-top:1.5rem}.feedback-cta{margin-top:2rem}.feedback-cta a,.btn-link{display:inline-flex;align-items:center;min-height:var(--tap)}.btn-link{background:none;border:0;padding:0 .25rem;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.btn-link-block{display:inline-flex;align-items:center;text-decoration:none}.footer-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0 1.25rem;list-style:none;margin:0 0 .5rem;padding:0}.footer-nav a,.site-footer p a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--text-muted)}.feedback-form{display:grid;gap:1rem;max-width:40rem}.feedback-form fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin:0}.feedback-form legend{padding:0 .4rem;color:var(--text-muted);font-size:.85rem}.feedback-form .choice{display:flex;align-items:center;gap:.6rem;min-height:var(--tap)}.feedback-form input[type=radio]{width:1.3rem;height:1.3rem;accent-color:var(--accent)}.feedback-form textarea{width:100%;min-height:9rem;padding:.6rem;resize:vertical;font:inherit;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius)}.feedback-form .counter{color:var(--text-muted);font-size:.85rem;text-align:right}.feedback-form .hint{color:var(--text-muted);font-size:.9rem;margin:0}.feedback-status{min-height:1.6em;margin:0}.feedback-status[data-state=error]{color:var(--text);font-weight:600}.feedback-actions{display:flex;flex-wrap:wrap;gap:.75rem}dialog.feedback-dialog{width:min(42rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}dialog.feedback-dialog::backdrop{background:#0009}.feedback-dialog h2{margin-top:0}.update-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:20;max-width:32rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;background:var(--surface-2);color:var(--text);border:1px solid var(--accent);border-radius:var(--radius)}.update-banner p{margin:0;flex:1 1 14rem}.update-banner .actions{display:flex;gap:.5rem}input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),select,textarea{border:1px solid var(--control-border);border-radius:var(--radius)}.field-check label,label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:.6rem;min-height:var(--tap);cursor:pointer}.page-head{margin:0 0 1rem}.page-head h1{margin:0 0 .5rem}.page-head .lead{margin:0}.page-sub{margin:0 0 .75rem}.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--tap)}.fold>summary::-webkit-details-marker{display:none}.fold>summary:after{content:"";flex:none;width:.55rem;height:.55rem;margin-right:.3rem;border:solid var(--text-muted);border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}.fold[open]>summary:after{transform:translateY(2px) rotate(-135deg)}.fold>summary h2{margin:0;font-size:1.15rem}.fold>summary h2 a{color:inherit}.page-columns>*{break-inside:avoid}.page-info .prose,.page-info .more-tools{margin:0}.page-more{margin-top:1.5rem}@media(min-width:68rem){.page-tool>.page-head{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 2.5rem;margin-bottom:.75rem}.page-tool>.page-head h1{flex:none}.page-tool>.page-head .lead{flex:1 1 32rem;max-width:none;font-size:1rem}.page-app{min-width:0}.page-app>#app.panel{margin:0}.page-info{min-width:0;font-size:.92rem;line-height:1.45;display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));column-gap:2rem;align-items:start;margin-top:1rem}.page-info>.feedback-cta{grid-column:1 / -1}.page-info .prose ol{padding-left:1.1rem;margin:0 0 .5rem}.page-info .prose li{margin-bottom:.3rem}.page-info h2{margin-top:0;margin-bottom:.4rem;font-size:1.1rem}.page-info .prose ol,.page-info .prose ul{max-width:none}.page-info>section{padding:0 0 .5rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.page-info .fold:not([open]){padding:0}.page-info .feedback-cta{margin:.25rem 0 0}.page-info .faq-item{max-width:none}.page-info .more-tools ul{columns:1}.page-info .prose p{max-width:none}.page-head .lead{max-width:90ch}.home-groups{display:grid;gap:1rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));align-items:start;margin-bottom:1rem}.home-groups .cards{grid-template-columns:1fr;margin:0;gap:.5rem}.home-groups .cat-heading{margin:0 0 .5rem}.home-groups .card a{padding:.5rem .8rem}.home-groups .card-text{font-size:.85rem;line-height:1.4}.home-groups .card-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.page-category .cards{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.page-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:0 2.5rem;align-items:start}.page-more>section{border-top:1px solid var(--border)}.page-static .page-columns{column-width:30rem;column-gap:3.5rem}.page-static.page-feedback .page-columns{column-width:auto}.page-static .release,.page-static .prose p,.page-static .prose ul,.page-static .prose ol{max-width:none}.feedback-form{max-width:64rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem}.feedback-form>*{grid-column:1 / -1}.feedback-form fieldset{grid-column:1;grid-row:span 2}.feedback-form .field:nth-of-type(1){grid-column:2}}@media(min-width:120rem){.home-groups{grid-template-columns:repeat(6,minmax(0,1fr))}}.page-app{container:app / inline-size}@media(min-width:68rem){main{padding-top:.25rem;padding-bottom:.75rem}.breadcrumb{margin:0;font-size:.85rem}.breadcrumb li,.breadcrumb a{min-height:var(--tap)}.page-head h1{font-size:clamp(1.5rem,1.6vw + .5rem,2rem)}.page-home .page-head .lead{max-width:130ch}.page-tool>.page-head{margin-bottom:.5rem}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 2rem;padding:.25rem var(--page-pad)}.site-footer p,.footer-nav ul{margin:0}.footer-nav a,.site-footer p a,.site-footer .btn-link{min-height:var(--tap)}}#app[data-split]{display:grid;grid-template-columns:var(--split-side, 24rem) minmax(0,1fr);gap:1rem 1.5rem;align-items:start}#app[data-split]>.split-side,#app[data-split]>.split-main{display:flex;flex-direction:column;gap:.6rem;min-width:0}#app[data-split]>.split-side>*,#app[data-split]>.split-main>*{margin-top:0;margin-bottom:0}#app[data-split] .rf-form,#app[data-split] .tool-controls,#app[data-split] .board-controls{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}#app[data-split] .fb-host canvas{max-height:17rem}#app[data-split]>.split-main>.rf-stage{order:-1}@media(min-width:100rem){.page-tool{display:grid;align-items:start;grid-template-columns:minmax(0,1fr) clamp(20rem,27vw,38rem);column-gap:clamp(1.5rem,2.5vw,3.5rem)}.page-app{grid-column:1}.page-info{grid-column:2;display:block;margin-top:0}.page-tool.page-wide{display:block}.page-wide .page-info{margin-top:1.5rem}}@media(min-width:68rem)and (max-height:960px){html{font-size:13.5px}.page-tool>.page-head{margin-bottom:.25rem}.page-tool>.page-head .lead{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden}.page-head h1{font-size:1.5rem}main{padding-top:0}.panel{padding:.6rem .75rem}.field{gap:.2rem}#app[data-split]{gap:.5rem 1rem}.home-groups{margin-bottom:0}.page-home .page-head{margin-bottom:.25rem}#app[data-split] .fb-host svg{max-width:800px}}.account-link{display:inline-flex;align-items:center;gap:.5rem;max-width:14rem;min-height:var(--tap);padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.85rem}.account-link:hover{border-color:var(--accent)}.account-link[data-guest=true]{background:var(--surface-2);font-weight:600}.account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-note{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.account-link[data-sync=error] .account-note:before,.account-link[data-sync=offline] .account-note:before,.account-link[data-sync=needs-link] .account-note:before{content:"! ";font-weight:700}@media(max-width:480px){.account-link{max-width:9rem;padding:0 .5rem}.account-note{display:none}.account-link[data-sync=error]:after,.account-link[data-sync=offline]:after,.account-link[data-sync=needs-link]:after{content:"!";font-weight:700}}
