.file-import{border:2px dashed var(--accent);border-radius:12px;justify-content:center;width:100%;padding:2rem;transition:border-color .15s,background .15s;display:flex}.file-import--dragging{border-color:var(--active);background:#00e6760d}.file-import__button{text-decoration-line:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:hsl(from var(--accent) h s calc(l + 20));text-decoration-color:hsl(from var(--accent) h s calc(l + 20));cursor:pointer;transition:background .15s;display:inline-block}.file-import__button:hover{background:hsl(from var(--accent) h s calc(l + 5))}.file-import__error{color:#ff5252;font-size:.85rem}.grid-cell{--cell-color:#00e676;aspect-ratio:1;background-color:rgba(from var(--cell-color) r g b / .15);border:1px solid rgba(from var(--text) r g b / .3);touch-action:none;border-radius:0;padding:0;transition:background-color 50ms ease-out,box-shadow 50ms ease-out}@media (hover:hover){.grid-cell:hover{background-color:color-mix(in srgb, rgba(from var(--cell-color) r g b / .15) 80%, white 20%)}}.grid-cell--active{border-color:rgba(from var(--cell-color) r g b / .4)}.grid-cell__label{opacity:.7;pointer-events:none;-webkit-user-select:none;user-select:none}.grid-cell--active .grid-cell__label{opacity:1;color:#fff}.grid{touch-action:none;gap:4px;width:100%;display:grid}.transport{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:560px;display:flex}.transport__buttons{gap:.5rem;display:flex}.transport__btn{padding:.5rem 1rem;font-family:inherit}.transport__seek{align-items:center;gap:.5rem;width:100%;display:flex}.transport__slider{accent-color:var(--active);flex:1}.transport__time{font-variant-numeric:tabular-nums;text-align:center;opacity:.7;min-width:3em;font-size:.8rem}.transport__info{opacity:.6;font-size:.8rem}.grid-config{flex-direction:column;gap:.75rem;width:100%;display:flex}.grid-config__header{justify-content:space-between;align-items:center;display:flex}.grid-config__actions{gap:.5rem;display:flex}.grid-config__size{justify-content:center;display:flex}.grid-config__input{text-align:center}.grid-config__grid{gap:3px;display:grid}.grid-config__grid .grid-config__input{width:100%}.grid-config__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grid-config__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grid-config__input{appearance:textfield}.color-config{flex-direction:column;gap:.75rem;width:100%;display:flex}.color-config__header{justify-content:space-between;align-items:center;display:flex}.color-config__table{border-spacing:1ch;align-self:center}.color-config__actions{gap:.5rem;display:flex}.color-config__octaves{gap:2px;display:flex}.color-config__octave{text-align:center;width:20px}.color-config__notes{flex-direction:column;gap:2px;display:flex}.color-config__note{height:20px}.color-config__spacer{width:1rem}.color-config__grid{grid-template-rows:repeat(12,20px);grid-template-columns:repeat(11,20px);grid-auto-flow:column;gap:2px;display:grid}.color-config__picker{border:none;width:20px;height:20px}.color-config__octgrid{grid-template-rows:repeat(12,20px);grid-auto-flow:column;justify-content:center;gap:2px;display:grid}.color-config__octpicker{border:none;width:60px;height:20px}.color-config__picker::-webkit-color-swatch{border:none}.color-config__picker::-moz-color-swatch{border:none}.color-config__octpicker::-webkit-color-swatch{border:none}.color-config__octpicker::-moz-color-swatch{border:none}.color-config__presetgrid{grid-template-columns:repeat(3,1fr);place-items:center;gap:.5rem;margin-block:.5rem;margin-inline:2rem;display:grid}.color-config__presetpicker{border:none;width:40px;height:30px}.config-tabs{flex-direction:column;align-items:center;display:flex}.config-tabs__bar{border-bottom:1px solid rgba(from var(--text) r g b / .15);margin-bottom:1.25rem;display:flex}.config-tabs__tab{color:rgba(from var(--text) r g b / .5);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.4rem 1.2rem;transition:color .1s}.config-tabs__tab:first-letter{text-transform:capitalize}.config-tabs__tab:hover{color:var(--text)}.config-tabs__tab--active{color:var(--text);border-bottom-color:var(--active)}@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#1a1a2e;--text:#f8f8f8;--accent:#0f3460;--active:#00e676}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:system-ui,-apple-system,sans-serif}hr{width:100%}footer{color:rgba(from var(--text) r g b / .5);font-size:.8rem}footer a{color:var(--text)}.app{flex-direction:column;align-items:center;gap:1.5rem;max-width:900px;margin:0 auto;padding:2rem 1rem;display:flex}.app h1{letter-spacing:.05em}.app button{color:var(--text);font-size:1rem}.app button:disabled{cursor:default}.app button:not(:disabled){cursor:pointer}}@layer component{.app button.app__btn{background-color:var(--accent);border-style:solid;border-width:1px;border-radius:6px;padding:.4rem .8rem;transition:background-color .1s}.app button.app__btn:disabled{background-color:hsl(from var(--accent) h calc(s/2) l);color:hsl(from var(--text) h s calc(l/2));border-color:#0000}.app button.app__btn:not(:disabled){background-color:var(--accent);color:var(--text);border-color:hsl(from var(--accent) h s calc(l + 10))}.app button.app__btn:not(:disabled):hover{background-color:hsl(from var(--accent) h s calc(l + 10))}.app input[type=number]{background-color:rgba(from var(--text) r g b / .05);color:var(--text);border:1px solid rgba(from var(--text) r g b / .15);border-radius:2px;padding:.3rem}.app input[type=number]:focus{outline:1px solid var(--active);border-color:var(--active)}.app input[type=number]::selection{background-color:var(--text);color:var(--bg)}}.midi-info{opacity:.7}
