:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--fg:#1a1a1a;--muted:#666;--border:#ccc;--ok:#1a7f37;--error:#b32020;--warn:#9a6700;--code-bg:#f5f5f5;--hl-bodypart:#2a78d6;--hl-bodypartMark:#6f93c2;--hl-multiplexBracket:#1baf7a;--hl-syncBracket:#eda100;--hl-modifier:#008300;--hl-insideOutside:#4a3aa7;--hl-irregular:#e34948;--rc-cell-height:.4rem;--rc-text-opacity:1}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#1e1e1e;--fg:#e6e6e6;--muted:#999;--border:#444;--ok:#4caf6f;--error:#ff6b6b;--warn:#d9a441;--code-bg:#161616;--hl-bodypart:#3987e5;--hl-bodypartMark:#9fb9de;--hl-multiplexBracket:#199e70;--hl-syncBracket:#c98500;--hl-modifier:#008300;--hl-insideOutside:#9085e9;--hl-irregular:#e66767}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1e1e;--fg:#e6e6e6;--muted:#999;--border:#444;--ok:#4caf6f;--error:#ff6b6b;--warn:#d9a441;--code-bg:#161616;--hl-bodypart:#3987e5;--hl-bodypartMark:#9fb9de;--hl-multiplexBracket:#199e70;--hl-syncBracket:#c98500;--hl-modifier:#008300;--hl-insideOutside:#9085e9;--hl-irregular:#e66767}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#theme-toggle{border:1px solid var(--border);background:var(--code-bg);color:var(--fg);cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.85rem;position:fixed;top:1rem;right:1.5rem}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,sans-serif}main{grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:start;column-gap:2.5rem;max-width:1600px;margin:0 auto;padding:2rem 1.5rem 4rem;display:grid}@media (width<=900px){main{grid-template-columns:1fr}}.tool-column{grid-template-columns:min(900px,100%) 1fr;column-gap:1.5rem;min-width:0;display:grid}.content-width{grid-column:1}.sidebar{font-size:.9rem}.sidebar p{margin:0 0 .6rem}.section-heading{margin:1.5rem 0 .5rem;font-size:1rem;font-weight:600}.content-width .section-heading:first-of-type,.sidebar .section-heading:first-of-type{margin-top:0}.cheat-sheet-note{margin:0 0 .6rem;font-size:.8rem}.cheat-sheet{grid-template-columns:auto 1fr;gap:.35rem .6rem;margin:0;font-size:.78rem;line-height:1.35;display:grid}.cheat-sheet dt{white-space:nowrap;color:var(--fg);font-family:SFMono-Regular,Consolas,Menlo,monospace}.cheat-sheet dd{color:var(--muted);margin:0}.cheat-sheet-rules{color:var(--muted);margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.45}.cheat-sheet-rules li{margin:.5rem 0}.cheat-sheet-rules code{color:var(--fg);font-family:SFMono-Regular,Consolas,Menlo,monospace}.table-sim-heading{grid-column:1}.table-sim-hint{grid-column:1;margin-bottom:.5rem}h1{margin-bottom:.25rem;font-size:1.4rem}.hint{color:var(--muted);margin-top:0;font-size:.9rem}.examples{margin:1rem 0}.example-group-title{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-top:.9rem;font-size:.75rem}.example-group-title:first-child{margin-top:0}.example-row{flex-wrap:wrap;gap:.4rem;margin:.35rem 0;display:flex}.examples button,#siteswap-candidates button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .6rem;font-size:.8rem}.examples button:hover,#siteswap-candidates button:hover{background:var(--code-bg)}.examples button.has-gif:after{content:" 🎥"}.input-row{align-items:stretch;gap:.5rem;display:flex}#input{border:2px solid var(--border);background:var(--code-bg);min-width:0;color:var(--fg);border-radius:8px;flex:auto;padding:.6rem .8rem;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:1.2rem}#input:focus{border-color:var(--ok);outline:none}#undo-btn,#redo-btn{font:inherit;border:2px solid var(--border);background:var(--code-bg);color:var(--fg);cursor:pointer;border-radius:8px;flex:none;padding:0 .9rem;font-size:.95rem}#undo-btn:hover:not(:disabled),#redo-btn:hover:not(:disabled){border-color:var(--accent,#2a78d6)}#undo-btn:disabled,#redo-btn:disabled{opacity:.4;cursor:default}.preview-row{grid-template-columns:2fr 1fr auto;align-items:start;gap:0 1rem;margin-top:.4rem;display:grid}@media (width<=700px){.preview-row{grid-template-columns:1fr}}#highlighted-preview{white-space:normal;background:var(--code-bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .8rem;margin:0;padding:.5rem .8rem;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:1.05rem;display:grid}#highlighted-preview:empty{display:none}.beat-num{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;font-size:.8em}.beat-content{white-space:pre-wrap;word-break:break-word}.hl-multiplexBracket,.hl-syncBracket{margin:0 .05em}.hl-bodypart{color:var(--hl-bodypart)}.hl-bodypartMark{color:var(--hl-bodypartMark)}.hl-multiplexBracket{color:var(--hl-multiplexBracket);font-weight:700}.hl-syncBracket{color:var(--hl-syncBracket);font-weight:700}.hl-modifier{color:var(--hl-modifier)}.hl-insideOutside{color:var(--hl-insideOutside)}.hl-irregular{color:var(--hl-irregular)}#legend{color:var(--muted);flex-direction:column;gap:.35rem;margin-top:0;padding-top:.1rem;font-size:.78rem;display:flex}.legend-chip{align-items:center;gap:.3rem;display:inline-flex}.legend-swatch{background:currentColor;border-radius:3px;width:.7rem;height:.7rem;display:inline-block}#status{min-height:1.2rem;margin-top:.6rem;font-size:.9rem}#status.ok{color:var(--ok)}#status.error{color:var(--error);white-space:pre-wrap}#warnings{color:var(--warn);margin:.3rem 0 0;padding-left:1.2rem;font-size:.85rem}#warnings:empty{display:none}#unknown-parts{margin-top:.5rem}.unknown-part{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.2rem .8rem;margin-top:.3rem;padding:.35rem .6rem;font-size:.82rem;display:flex}.unknown-part-name{font-family:SFMono-Regular,Consolas,Menlo,monospace}.unknown-part label{cursor:pointer;white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}#output{background:var(--code-bg);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin-top:.5rem;padding:1rem;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.85rem;overflow-x:auto}#details{margin-top:1.5rem}#details summary{cursor:pointer;color:var(--muted);font-size:.9rem}#gif-container{max-width:260px;margin-top:0}#double-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.85rem;display:flex}table.rc-table tr.repeat-boundary th,table.rc-table tr.repeat-boundary td{border-top:2px solid var(--muted)}#display-settings-panel{margin-top:.75rem}#display-settings-panel summary{cursor:pointer;color:var(--muted);font-size:.9rem}#display-settings{grid-template-columns:minmax(10rem,auto) minmax(8rem,16rem) 3.5rem;align-items:center;gap:.4rem .75rem;max-width:32rem;margin:.75rem 0 .25rem;display:grid}.display-setting{display:contents}.display-setting label{color:var(--fg);font-size:.85rem}.display-setting-value{color:var(--muted);text-align:right;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.8rem}.display-settings-reset{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;grid-column:1/-1;justify-self:start;margin-top:.4rem;padding:.25rem .6rem;font-size:.8rem}.display-settings-reset:hover{color:var(--fg);border-color:var(--muted)}#siteswap-panel{margin-top:.75rem}#siteswap-panel summary{cursor:pointer;color:var(--muted);font-size:.9rem}#siteswap-panel .hint{margin:.5rem 0}.siteswap-row{align-items:stretch;gap:.5rem;max-width:24rem;display:flex}#siteswap-input{border:2px solid var(--border);background:var(--code-bg);min-width:0;color:var(--fg);border-radius:8px;flex:auto;padding:.4rem .6rem;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:1rem}#siteswap-input:focus{border-color:var(--ok);outline:none}#siteswap-convert-btn{font:inherit;border:2px solid var(--border);background:var(--code-bg);color:var(--fg);cursor:pointer;border-radius:8px;flex:none;padding:0 .9rem;font-size:.9rem}#siteswap-convert-btn:hover{border-color:var(--accent,#2a78d6)}#siteswap-status{min-height:1.1rem;margin-top:.5rem;font-size:.85rem}#siteswap-status.ok{color:var(--ok)}#siteswap-status.error{color:var(--error)}#siteswap-candidates{margin-top:.4rem}#siteswap-candidates .example-row{margin-top:0}#siteswap-candidates button{font-family:SFMono-Regular,Consolas,Menlo,monospace}.trick-gif{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:320px;display:block}.gif-credit{color:var(--muted);margin:.3rem 0 0;font-size:.75rem}.gif-credit a{color:inherit}.table-sim-row{flex-wrap:nowrap;grid-column:1/-1;justify-self:start;align-items:flex-start;gap:1.5rem;max-width:100%;margin-top:1rem;display:flex}#table-container{flex:0 auto;min-width:0;position:relative;overflow-x:auto}.ladder-overlay{pointer-events:none;position:absolute;top:0;left:0}.scrub-bar{cursor:grab;touch-action:none;z-index:2;height:14px;position:absolute;left:0}.scrub-bar:active{cursor:grabbing}.scrub-bar:before{content:"";background:var(--fg);opacity:.55;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.scrub-bar:after{content:"";background:var(--fg);opacity:.85;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:-1px;transform:translate(-50%,-50%)}#simulator-panel{flex:0 560px;min-width:0;max-width:100%}#simulator-panel.hidden .sim-body{display:none}.sim-body{align-items:flex-start;gap:1.25rem;display:flex}#sim-controls{flex:160px;min-width:110px;padding-top:.25rem;font-size:.82rem}#sim-play-row{margin-bottom:.7rem}.sim-slider-row{margin-top:.6rem}.sim-slider-row label{color:var(--muted);margin-bottom:.15rem;display:block}.sim-slider-row .sim-slider-track{align-items:center;gap:.5rem;display:flex}.sim-slider-row input[type=range]{flex:auto;min-width:0}.sim-slider-row span{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:2.2rem}#sim-play{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .7rem;font-size:.85rem}#sim-play:hover{background:var(--code-bg)}#simulator-container{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;flex:300px;min-width:140px;max-width:100%;height:420px;position:relative;overflow:hidden}.sim-out-of-view-note{background:var(--code-bg);border:1px solid var(--border);color:var(--muted);white-space:nowrap;pointer-events:none;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;position:absolute;bottom:.7rem;left:50%;transform:translate(-50%)}#simulator-container canvas{display:block}#sim-status{margin-top:.4rem;font-size:.8rem}#validity{margin-top:.5rem;font-size:.85rem}#validity.ok{color:var(--ok)}#validity.error{color:var(--error)}#validity ul{margin:.2rem 0 0;padding-left:1.2rem}table.rc-table{border-collapse:collapse;table-layout:fixed;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.95rem}table.rc-table th,table.rc-table td{border:1px solid var(--border);padding:var(--rc-cell-height) .4rem;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table.rc-table td .cell-content{opacity:var(--rc-text-opacity)}table.rc-table th:first-child,table.rc-table td:first-child{width:2.75rem}table.rc-table th:not(:first-child),table.rc-table td:not(:first-child){width:4.75rem}table.rc-table thead th:not(:first-child){white-space:normal;overflow-wrap:break-word;font-size:.85rem;line-height:1.2}table.rc-table td[title]{cursor:help}table.rc-table thead th{background:var(--code-bg);font-weight:600}table.rc-table tbody th{background:var(--code-bg);color:var(--muted);font-weight:400}table.rc-table td.empty-cell{color:var(--muted)}table.rc-table td.editable-cell{cursor:text}table.rc-table td .cell-edit-input{box-sizing:border-box;width:100%;font:inherit;text-align:center;border:1px solid var(--accent,#2a78d6);background:var(--bg);color:inherit;border-radius:3px;padding:0 .2rem}table.rc-table td .cell-edit-input.cell-edit-error{border-color:#e34948;outline:1px solid #e34948}#table-container.has-error table.rc-table{outline-offset:2px;outline:2px solid #e34948}table.rc-table tbody th{position:relative}.beat-num-label{margin-right:.3rem}.beat-controls{opacity:0;gap:2px;display:inline-flex}table.rc-table tbody tr:hover .beat-controls,.beat-controls:focus-within{opacity:1}.beat-btn{width:1.1rem;height:1.1rem;line-height:1;font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;border-radius:3px;padding:0;font-size:.8rem}.beat-btn:hover{background:var(--accent,#2a78d6);color:#fff;border-color:var(--accent,#2a78d6)}
