.tool--poly{gap:14px}.poly-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ctempo{align-items:center;gap:2px;display:inline-flex}.ctempo__value{border-radius:var(--md-sys-shape-corner-medium);cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:baseline;gap:6px;min-width:120px;padding:6px 8px;font-weight:500;display:inline-flex}.ctempo__value:active{background:var(--md-sys-color-surface-container-high)}.dial{aspect-ratio:1;touch-action:manipulation;width:min(100%,420px);margin:0 auto;position:relative}.dial__canvas{width:100%;height:100%;display:block}.dial__center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dial__ratio{font:var(--md-sys-typescale-headline-medium);letter-spacing:-.01em;font-weight:500}.dial__cycle{color:var(--md-sys-color-on-surface-variant)}.poly-presets,.poly-cycle{flex-direction:column;gap:8px;display:flex}.poly-cycle__controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.poly-cycle__hint{margin:0}.ring--0,.ring-color--0{--ring:var(--md-sys-color-primary)}.ring--1,.ring-color--1{--ring:var(--md-sys-color-tertiary)}.ring--2,.ring-color--2{--ring:var(--md-sys-color-secondary)}.ring--3,.ring-color--3{--ring:var(--md-sys-color-on-surface-variant)}.ring-color--0,.ring-color--1,.ring-color--2,.ring-color--3{color:var(--ring)}.ring-bg--0{--ring:var(--md-sys-color-primary)}.ring-bg--1{--ring:var(--md-sys-color-tertiary)}.ring-bg--2{--ring:var(--md-sys-color-secondary)}.ring-bg--3{--ring:var(--md-sys-color-on-surface-variant)}.rings{flex-direction:column;gap:12px;display:flex}.ring{border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);border:2px solid #0000;gap:10px;padding:12px 16px 14px;display:grid}.ring.is-selected{border-color:var(--ring)}.ring__head{cursor:pointer;align-items:center;gap:10px;display:flex}.ring__swatch{background:var(--ring);border-radius:50%;flex:none;width:14px;height:14px}.ring__title{margin:0}.ring__meta{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.ring__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ring__row--wrap{flex-wrap:wrap}.ring__dots{flex-wrap:wrap;gap:6px;display:flex}.ring__dot{background:var(--ring);width:34px;height:34px;color:var(--md-sys-color-surface);border-radius:50%;place-items:center;display:grid;position:relative}.ring__dot.is-accent{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent);transform:scale(1.08)}.ring__dot.is-accent:after{content:"";background:var(--md-sys-color-surface);border-radius:50%;width:10px;height:10px;position:absolute}.ring__dot.is-accent .ring__dot-num{display:none}.ring__dot.is-mute{box-shadow:inset 0 0 0 2px var(--ring);color:var(--ring);opacity:.55;background:0 0}.ring__chips{margin-top:-4px}.poly-count{padding:12px 16px}.cgrid{--cells:12;--cell-min:16px;--cell-gap:3px;--cgrid-row:22px;gap:6px;display:grid}.cgrid__table{align-items:flex-start;min-width:0;display:flex}.cgrid__labels{grid-auto-rows:var(--cgrid-row);flex:none;row-gap:6px;padding-right:8px;display:grid}.cgrid__label{white-space:nowrap;line-height:var(--cgrid-row)}.cgrid__scroll{grid-auto-rows:var(--cgrid-row);overscroll-behavior-x:contain;scrollbar-width:thin;flex:1 1 0;row-gap:6px;min-width:0;padding-bottom:2px;display:grid;overflow-x:auto}.cgrid__cells{grid-template-columns:repeat(var(--cells), minmax(0, 1fr));gap:var(--cell-gap);min-width:calc(var(--cells) * (var(--cell-min) + var(--cell-gap)) - var(--cell-gap));display:grid}.cgrid__num{text-align:center;line-height:var(--cgrid-row);color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.cgrid__num.is-beat{color:var(--md-sys-color-on-surface);font-weight:700}.cgrid__cell{height:var(--cgrid-row);background:var(--md-sys-color-surface-container-highest);border-radius:6px}.cgrid__cell.is-beat{box-shadow:inset 2px 0 0 var(--md-sys-color-outline-variant)}.cgrid__cell.is-hit{background:var(--ring)}.cgrid__cell.is-together{outline:2px solid var(--md-sys-color-on-surface);outline-offset:-2px}.cgrid__note{margin:0}.cgrid--dense{--cell-min:13px}.cgrid--dense .cgrid__num{font-size:10px}@media (width>=600px){.rings{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.rings>.m3-btn{justify-self:start}}
